[Coco] CoCo 3 POKEs to go to "CoCo 1/2" mode?

William Astle lost at l-w.ca
Sun Jan 29 22:05:16 EST 2023


On 2023-01-29 19:20, RETRO Innovations via Coco wrote:
> On 1/29/2023 8:07 PM, Arthur Flexser via Coco wrote:
>> Perhaps they obtained permission from Microsoft to make specific and 
>> very very minor changes to the original ROM code.
> Patching a BASIC command to go to RESET/etc. would not require a call to 
> MS.

The "patch in RAM after startup" stuff turns out to be necessary to 
maintain compatibility with ROM paks since those would overlay the upper 
16K of the internal ROM. So you couldn't use the regular RAM hooks or 
burned in ROM patches without having problems.

The burned in ROM changes are mostly related to hardware initialization. 
The bits of DLOAD that get overwritten handle the initial RESET button 
by forcing internal 32K ROM mode (and forcing ROM mapping), then jumping 
to $C000 in the internal ROM.

It also includes a couple of bits related to FIRQ and non-autostarting 
ROMs, and some stuff related to CLS and character output presumably for 
compatibility with some ROMs.

The actual hardware initialization at A027 changes some, notably to 
remove the RAM size check.

There's also a change to unconditionally jump to ECB and a patch to the 
cursor blinking routine.

It also patches out the "check if any key is down at all" check in POLCAT.

The rest is related to the copyright message.

By the look of it, they needed a bit more code space for stuff that had 
to be below the 16K line (for compatibility with external ROMs, for 
instance) than they could get by massaging the initialization sequence 
at A02A.

-- 
William Astle



More information about the Coco mailing list