[Coco] coco2 MC6883/6847 memory map

Robert Gault robert.gault at att.net
Mon Nov 10 10:04:36 EST 2014


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



More information about the Coco mailing list