[Coco] coco2 MC6883/6847 memory map
didier derny
didier at aida.org
Mon Nov 10 14:47:04 EST 2014
Thanks for your answers,
I was speaking of the memory map type 0 with 2 pages of ram $0000-$7FFF and
rom/io $8000-$FFFF
In that case the screen is necessarily mapped into $0000-$7FFF (in that case
2 pages 0 and 1)
I dont see any reason to map a screen into a rom ? except perhaps for a
splash screen :)
I was speaking of a change of the page bit with a screen mapped between
$0000-$7FFF
--
Didier
-----Message d'origine-----
De : Coco [mailto:coco-bounces at maltedmedia.com] De la part de Robert Gault
Envoyé : lundi 10 novembre 2014 16:05
À : CoCoList for Color Computer Enthusiasts
Objet : Re: [Coco] coco2 MC6883/6847 memory map
Brett Gordon wrote:
> Hey Didier,
>
> The coco2's video processor is logically separate from the memory
> mapping. When basic starts up it is in Page 0 mode... where the
> bottom (lowest address) 32k is routed to ram, and the top 32k is
> routed to the ROM (BASIC). If you switch to page 1 the lower half of
> RAM remains the same, but the upper 32k of address space is routed to
> additional RAM (if it exists). Video takes it's memory from anywhere
> in the logical map, but BASIC setups this up at address 0x400, in
> lower address space. I found the use of the word "PAGE" for the
> memory in the docs to be a misnomer. And switch from Page 0 to Page
> 1 doesn't do anything to Video... it still takes its memory from the
> LOGICAL address space. Just the Top 32k of the logical map is
> switched out.
>
> -B
>
><snip>
Brett,
That's not quite what the SN74LS783/MC6883 specs indicate. You have
described
page1 as equivalent to the map type1 All Ram mode.
The normal state of a Coco2 is Map Type 0 + Page 0. That puts RAM from
0-$7FFF and ROM from $8000-$FFFF. Map Type 0 + Page 1 keeps ROM from
$8000-$FFFF but swaps the lower RAM (if you have 64K RAM) from the lower
half to the upper half.
So, there are two switchable banks of 32K RAM.
Map Type 1 ( all RAM mode) deactivates paging and the latch at $FFD4/$FFD5
is inactive.
Now given that video with a Coco2 can be set anywhere within the 64K range
by the bytes $FFC6-$FFDF and is independent of the memory actually in the
64K range, flipping from page0 to page1 will alter the screen if the display
offset is pointed to the first 16K of memory.
Didier,
You need to be more precise with your questions. There is a difference
between video changing because the content changed or because the location
of video in memory changed. Both of the aforementioned will change the
screen content.
Robert
--
Coco mailing list
Coco at maltedmedia.com
https://pairlist5.pair.net/mailman/listinfo/coco
More information about the Coco
mailing list