Wednesday, 12 May 2021

ngdevkit to the rescue!

I've done about as much as I can do on the PC platform, and added the map generator, so I started to look at the Neo Geo port.

I've been using the old NEODEV toolkit which is based on the rather ancient gcc 2.95.2 for my past projects (Lode Runner, Knight Lore). It has its quirks but generally works pretty well. However it doesn't support the newer C standards whose features have inevitably crept into my Scramble code as I haven't developed for it for years, and an initial compile threw up literally hundreds of errors.

I started to fix the errors but then wondered whether there was a more modern option for building Neo Geo software in C. I came across Damien Ciabrini's ngdevkit which is (currently) based on gcc 5.5.0 and looks the business, shipped with several examples that build out of the box and run under MAME. Admittedly it took me a while to build the windows (MSYS2) toolchain correctly, but when I actually followed all of the instructions, it built and installed without a hitch.

The example project makefiles bear absolutely no resemblance to my old Knight Lore makefile - so learning a new way to do things will be interesting - but with some quick hacking of my old makefile, compiling the scramble core module actually results in zero errors, so I may yet get away with my anonymous unions and structures...

Of course I can't generate a ROM file just yet, as the operating system dependent wrapper hasn't been modified for the Scramble core, so that's a task for next session. But it's very promising that I've gotten this far with so little effort.


No comments:

Post a Comment