[Coco] Creating and loading big machine code files into RSDOS
Mark McDougall
msmcdoug at iinet.net.au
Tue Feb 14 17:58:50 EST 2017
On 15/02/2017 2:26 AM, Salvador Garcia via Coco wrote:
> What development tools do you use in Windows? Thanks! Salvador
For assembling, I use AS6809 (part of the ASXXX suite). Why? Because I
develop for several different 8- and 16-bit CPUs and I prefer to use the
same syntax for all of them. Also they're supported on most CPUs by the
IDAPro disassembler, which means I can directly re-assemble stuff I've
reverse-engineered using IDAPro. It also has decent macro support and a
separate linker. And they run on several OSes, including Windows and
Linux and don't require 'installation'.
A case in point is Knight Lore; written in Z80 for the ZX Spectrum.
Here's the output from IDAPro in ASZ80 format...
<http://members.iinet.net.au/~msmcdoug/zx/knightlore_v100rc7.lst>
There's a *ton* of data in there, and by using AS6809 I could simply
copy and paste it into the Coco3 source file - comments an all!
My build environment is a Windows command shell or similar (eg
MINGW/MSYS), with a standard makefile. Aside from being the most
future-proof environment, it is also portable across windows, linux etc.
I also roll my own little utilities as required during the development
process. These may include graphics conversion utilities, file format
(bin,hex,etc) utilities, RSDOS BIN file formatters etc. These are all
written in generic C (using MINGW) and can be invoked from the makefile
where appropriate.
It takes less than 1 second to assemble a 32KB cartridge image, (also)
convert it to an RSDOS BIN file, and inject it into a virtual floppy
disk image (using either FILE2DSK or IMGTOOL). I then launch MAME/MESS
from the same command line (most often using
<UP-ARROW><UP-ARROW><ENTER>) and if I'm testing my cartridge image, it's
running immediately, or if I'm testing my floppy disk image, I typically
unthrottle MAME/MESS and execute the loader.
I get this is not everyone's cup of tea, but my focus is on efficiency
of the development process. For me, that means a keyboard I'm intimately
familiar with, a modern text editor on a large screen, and sub 1-second
build times.
Regards,
--
Mark McDougall
<http://retroports.blogspot.com.au>
More information about the Coco
mailing list