I’ve just discovered a fantastic retro games development tool…
Up until now I’ve been using the Z80ASM assembler by Peter Hanratty and ZX Spectrum Emulator by Vaggelis Kapartzianis; both excellent applications in their own right, but still lacking somewhat.
The assembler did not appear to support operand arithmetic, so I could not do this:
LD (SOMELABEL+1),HL ... SOMELABEL: LD HL,0
Which is a beggar, as I often use self modifying code and being able to access memory a byte or so after a label is very helpful when doing voodoo like that. It also did not appear to understand the instruction IN A,(C) which is an odd omission.
Anyway, that notwithstanding, the biggest problem was debugging. With those tools I’m not actually much better off than I was back in the day. Which puzzled me, as the hardware is emulated, surely it would be easy to stick some debugging tools into the emulator.
After doing some homework I discovered someone has. I’m now using the ZX Spin emulator (version 0.666) which is not only an excellent emulator in it’s own right, but it has a full Z80 assembler and debugger built in with all the features you’d expect, including breakpoints, register output and memory dumps!
Now I can test and run with ease. You kids have it so easy; most programmers I know would have given you the keys for their Vauxhall Nova GTI for an app like this back in the day. I will be using this application to write and debug the game.