Saturday, 26 September 2015

Let the porting begin

I've begun my experiment - porting the mystery game to C on the PC. It's rendering text on the main menu and the call tree has been coded for the sprite rendering. Next task is to import all the sprite data/tables and implement the low-level rendering.

I'm keeping as close as possible to the structure of the original Z80 code; memory variables are defined as globals and register contents generally passed as parameters to functions. Variables and functions exist in the source in the same address order as the Z80 code, which I've always done in the past when porting regardless of target language.

I'm thinking of actually using the resultant C code as the reference for the 6809 port, rather than the Z80 code. The register set and, in some cases, the instructions are so different that I may ultimately produce cleaner code in doing so. Hence the reason I'm adhering to the original structure - it will still produce a faithful port if done right. It'll be interesting to see how this approach pans out.

I was going to release more clues as to the game's identity as I progressed but I can't really think of any cool way to do so that aligns nicely with my progress. So for now I will reveal, as someone has correctly speculated, that the game is indeed from the library of the Sinclair ZX Spectrum.

Meanwhile, I've been listening to quite a few episodes from a couple of Atari-centric podcasts, namely ANTIC and Player/Missile. I'm currently listening to episode #14 of the latter, in which a panel of 5 each choose 5 of their favourite 8-bit Atari games.

It occurred to me today that I should try to choose a seminal game from each platform to port to the Coco3. So far I've done Apple II (with a couple more in mind), I'm doing ZX Spectrum now, so perhaps I should attempt an Atari title next. Now I really, really do want to like the Atari but I'm having a hard time being impressed with any of the games. For example the praise for Jumpman was unanimously glowing on the above-mentioned podcast, but from what I've seen on YouTube, I'm thoroughly unimpressed - for example the animation of the player is absolutely horrid!

Hopefully I'll find one eventually... Cavelord looks interesting...


2 comments:

  1. I played a lot of Jumpman on the Commodore 64. It's a fun game, but certainly nothing special graphically.

    My Atari 800 experience is pretty limited. Star Raiders was praised a lot back in its time. Ballblazer was a big hit on my residence floor in university. Googling "best atari 800 games" came up with a bunch of reasonable-looking suggestions.

    ReplyDelete
  2. Star Raiders certainly gets a lot of lip service from Atari fans but have to admit I'm not that enamoured with it. I'm sure it's a great game but I simply wouldn't enjoy porting it.

    I haven't done a lot of research yet as I've only just thought about doing an Atari game, plus I'm really in the early stages of the ZX Spectrum game atm. I'm probably jumping the gun a bit here wrt choosing the next project! ;)

    ReplyDelete