[Coco] Color basic 1.0, 1.2 differences.

Arthur Flexser flexser at fiu.edu
Sun Jan 21 01:29:36 EST 2007


On Sat, 20 Jan 2007, Robert Gault wrote:
> 
> All you need to do manually if more than 16K RAM is present would be to 
> STA $FFDD, STA $FFDA after the initial boot is complete. That will 
> indicate 64K dynamic RAM. This could easily be put in a modified disk 
> ROM or entered from the keyboard.
> 

I'm pretty sure it wouldn't be that simple if the instructions execute in RAM,
since the RAM will get remapped in the process, including the addresses
containing those instructions.  For example, a 64K machine can be forced into 4K
mode by pressing shift-break-reset (Color Basic 1.1 ROM only).  But the 4K isn't
a contiguous portion of the 64K;  it consists of 64-byte strips gathered from
all over the place, so a slice of RAM starting at $1000 in 4K mode might wind up
at $B160 or something when you do the 64K switch, while $1020 might wind up at
$B300.  The program counter, once the map switches, will be pointing somewhere
other than the address of the next instruction, so good luck getting subsequent
instructions to execute unless you know exactly where they'll wind up after the
map switch.

I would imagine that there'd be some sort of workaround to force 64K mode
through hardware even if you have the Color Basic 1.0 ROM, probably done as part
of the earliest sort of 64K homebrew upgrades.

Art





More information about the Coco mailing list