Wednesday 12 May 2021

Finding my way around ngdevkit

I spent some time this morning trying to build Scramble with my old makefile to no avail. I'm yet to understand how pkg-config actually works but I wasn't able to resolve all references and there were also differences in the startup code and vector table for the cart. Ideally I want a common makefile for all targets but the investment in time and effort isn't warranted at this point.

The built-in eye-catcher

As a result I finally cut my losses and started instead with one of the examples included with ngdevkit. I don't understand at this point how to configure certain cart header items like game name and eye-catcher settings, but at least I have a project building now with the Scramble core code and NMI handler running off the ngdevkit VBLANK interrupt call-back.

In theory scramble is running but with no osd layer there's nothing to see. For now all I'm doing is defining the dipswitch for lives, initialising the palette and printing some text on the FIX layer. Not sure where the blue background comes from; it's not in the Scramble palette and it doesn't appear to be on the FIX layer, so...

It's a start...

I've converted the actual palette from the arcade and next up is to create the data for the tiles and sprites in the C1,C2 ROMs. That should be relatively straightforward as I hope to simply adapt conversion code from earlier projects.

UPDATE: Well I can confirm the game is running, including the NMI. Here is a snapshot from MAME with only the tilemap (sans scrolling) implemented, albeit with a funny palette. Note that the Neo Geo display is rotated using the -rol option. I must admit I didn't expect to get this far so easily.

Scramble running on the Neo Geo in MAME


No comments:

Post a Comment