Sunday, 18 December 2016

Oh the joy!

I've had a few requests to add joystick support to the Coco3 port of Lode Runner. Since I've now had experience writing a joystick input routine for Knight Lore, and the fact that the Sega Gamepad Adapter brings digital joysticks to the Coco - and perhaps more importantly, 2 buttons - I thought I'd go ahead and do it.

In the spirit of the original port, rather than forge ahead and blindly add joystick code to the Coco3 version, I first need to analyse the Apple II code so that I may implement the reads in the same code paths/locations as the original. Easier said than done, considering I never commented the joystick input routines - mainly because I have no idea how the Apple II reads the joystick. Time for more research on the matter...

UPDATE: I've now commented the joystick input routines. It should be fairly trivial now to add the routines from Knight Lore... although it may affect the timing of the game slightly; if it needs tweaking it's a single direct-mode operand in a delay loop. For authenticity I will also add the controls for enabling/disabling the keyboard & joystick (^K and ^J respectively).

I also have a funny feeling that at least one of the Coco3 buttons is already (ghost) mapped to a keyboard control. That will be a PITA if it is.

And whilst I'm dealing with Lode Runner; there are several reports of it crashing on certain (Coco3) hardware configurations. Basically, it either runs, or it doesn't. And now the possibility of GIME revision and/or DRAM speed being a factor have been thrown into the ring. Fun...

Friday, 2 December 2016

NeoSD, What a Lode of...

With the release of the NeoSD flash cart I've decided to try and finish off Lode Runner; at least it's possible that a few people might now be not only interested, but actually able to, try it out on real hardware.

It's been a long time, and I'm a little surprised to find that it's not quite as finished as I thought it was. Don't get me wrong, it's 100% playable, but a few bells and whistles are either missing, or not working properly - for example, the circular wipe and the high score entry.

Anyway, just coming up to speed with it again and making sure I can still build it. It'll take me a session or two to fill my brain with where I was up to when I left off, which was testing it on my NGCD. Aside from the aforementioned, I do know that the guard AI is a little off, albeit very close. Likely just a bug in a line or two of C code.

If that's a success I might return to Donkey Kong whilst I await the AES version of the NeoSD.