Wednesday, 10 February 2016

I can C colours!

Quick Knight Lore update - I have added (ZX Spectrum) colour support to all the C platforms (allegro, amigaos & neogeo). Granted it's garish, but a little more interesting to look at than monochrome.

After adding colour support to Neo Geo initially, the code was a bit of a dog's breakfast. Today whilst working on allegro and amigaos ports, I managed to tidy up the colour support quite a bit, simplifying it in the process.

The other change I made was to re-organise the font data, so that the C code could simply print ASCII strings directly, rather than having to map each character to the original Z80 font codes. The up-side of this was the removal of two OS-dependent print routines, further simplifying the platform-specific modules. There's remarkably very little code for each port now!

So what I have left to complete on the C ports are:
  • Long-standing game play bug(s) when stepping onto collapsing block
  • Initialisation of missing data structures (neogeo)
  • Z-order sprite sorting (neogeo)
  • Game over to return properly to main menu
  • (Possibly) display loading screen (amigaos)
  • (Possibly) add directional control game play option
  • (Possibly) add sound to some ports
In the mean-time, George Phillips has emailed me his enhancements to the TRS-80 port of Knight Lore, and I'm embarrassed to say that I've yet to look at them. I was hoping to get the C port updates out of the way before being diverted back to Z80 code. As soon as possible I'll port his enhancements across to both Alien 8 and Pentagram as well as re-release the suite of games for the TRS-80.

I'm hoping to have the C ports complete sometime in the next week or so. I'll then release the C project in its entirety and then get started on what was the original goal - a TRS-80 Color Computer 3 (Coco3) port. Not a C port (though I'm curious to know if it would run on a 25MHz Coco3FPGA), but rather re-coding the entire game in 6809 assembler for eventual release on cartridge.

No comments:

Post a Comment