[Coco] new CCASM feature!
Roger Taylor
operator at coco3.com
Sun Feb 15 06:56:52 EST 2009
For any CCASM users reading, I've added yet another excellent feature
to the cross assembler.
Suppose you've assembled a LOADM'able file that's intended live-patch
the Disk BASIC ROM in a CoCo 3... for example, RAM disk patches,
DSKCON replacers, etc.
Once your patcher .bin has been assembled, then what? You have to
actually boot into BASIC, type LOADM "DOSPATCH" or whatever you
called the file, then hope it doesn't crash the system since DOS is
actually in use while the patch is being loaded. There's a lot of
DOS patches out there that really and truly would be better off just
being in the actual ROM on power-up.
SOLVED - Well, sort of. For those with EPROM burners, this is pure magic.
CCASM can now use the -dospatch switch to import an existing 8K ROM
file (such as DECB11.ROM), then reload your just-assembled
DOSPATCH.BIN file, and merge the two files together just as if you
had LOADM'ed the patch into a real CoCo. The new patched ROM will be
written out as a new .ROM file.
And there you go. Burn it to an EPROM, stick it in a disk
controller, and you're ready. Sure, you can do this from a CoCo, but
to have the Rainbow IDE do all this work for you is pretty
nice. Plus, this feature HAD to be done to help speed up the
development of the CoCoNet system.
Btw, it also works with GAME PAK IMAGES. If you know what areas need
to be patched, just build your .asm file with all the ORG
##### statements followed by the instructions or raw opcodes to
patch starting at those addresses. The ORG order doesn't matter.
I haven't posted the latest updates of CCASM because I've had no time
to update the PDF documentation, but if you want a copy of the
latest, just e-mail me and I'll send it back to you. This version
also has the LOADMMU trick in it for loading huge programs directly
into the MMU blocks of your choice, plus the regular "CPU space".
Cheers
--
Roger Taylor
http://www.wordofthedayonline.com
More information about the Coco
mailing list