[Coco] Booting original OS-9 Level 1 v1.0 or 1.1 on CoCo3

Robert "Exile In Paradise" Murphey exile at weylan-yutani.com
Sat Oct 8 17:24:01 EDT 2022


OS-9 Level I v1.0 and v1.1 will crash/hang if you boot a CoCo 3 with
them.

The OS9 BOOT screen appears, and then you're stuck until power down or
reset.

This happens when the RELocate code overwrites the CoCo 3's extra IRQ
vectors stored by Super Extended BASIC in $FE00 - $FEFF

Since OS-9 is Position Independent Code (PIC), all we need to do is
patch the RELocate code to move the loaded kernel modules down one page
from $F000 to $EF00 to avoid overwriting the CoCo 3 vectors.

This is how OS-9 Level I v2.0 avoids locking up on boot on a CoCo3.

HOW-TO
Open the OS9L1V1M.DSK with a hex editor
Go to offset 0x26400 which is the first sector of the track 34 boot
track.

Patch 1: Patch the REL relocation destination address from $F000 to
$EF00
Look for F0 00 around offset 0x26441
Change the F0 to EF

Patch 2: Patch REL's jump into the relocated OS9 kernel after it's
moved to $EF00.
Look for F0 56 around offset 0x26455
Change the F0 to EF

Patch 3: Patch the COLD10 routine's CMPX $F000 to $EF00
Look for F0 00 around offset 0x2651A
Change the F0 to EF

Save and boot!

Alternatively you could put Robert Gault's O9L1PAT.BAS on a floppy and
use a dual floppy system to let it run and make the changes above to
the OS9L1V1M.DSK system master disk loaded as a second floppy.

http://aaronwolfe.com/robert.gault/Coco/Downloads/O9L1PAT.BAS

-- 
Robert "Exile In Paradise" Murphey <exile at weylan-yutani.com>
Weylan-Yutani Corporation



More information about the Coco mailing list