CoCo 3 Boot Patch
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.
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!
O9L1PAT.BAS
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.
See http://aaronwolfe.com/robert.gault/Coco/Downloads/O9L1PAT.BAS