Tools – Neo-Geo Programming Guide
In order to program for the Neo-Geo, you're going to require a few tools. Since I'm extremely lazy, not everything mentioned here is linked, meaning you'll have to actually search the Internet for it. In addition, there's also the chance that the program won't run on your OS, which means you have to work even harder. OOPS!
Unless you have a way of running code on real hardware (e.g. a flashcart, burning a CD, etc.), a lot of your testing is going to be done on emulators.
- MAME – The Multiple Arcade Machine Emulator (Neo-Geo MVS/Arcade)
- MESS – Multi Emulator Super System (Neo-Geo AES/Home, CD/CDZ)
- UME – MAME and MESS in the same binary.
- Final Burn Alpha – Neo-Geo (MVS, AES, CD/CDZ) emulator with multi-slot support for MVS systems.
- NeoCD/SDL – Neo-Geo CD emulator.
- Kawaks – Neo-Geo emulator with tools like Sprite Factory and Tile Viewer. Emulation is inaccurate.
Also, tell me to stop being lazy and assemble a NeoShock release.
Assemblers do the dirty work of converting your source code to a binary.
- ASM68k (Windows-only) – ASM68k is the 68000 assembler I have had the most luck with when it comes to compiling a working P ROM.
- vasm (cross-platform) – A cross-platform assembler that can be compiled to target multiple architectures and syntaxes, including 68000 and Z80.
- asmx (cross-platform) – A cross-platform assembler that supports multiple architectures, including 68000 and Z80.
By no means are these your only options. These are just merely the ones I have tested. The developers who modified MVSTracker changed its driver to compile with WLA-DX, so that might be worth checking out for your Z80 needs.
My overall recommendations (as far as P ROMS are concerned) are ASM68k, then vasm, in that order. I'm leaning towards using vasm for my projects, however, due to cross-platform availability.
Neo-Geo graphics are stored in "odd" formats, whether they're sprites or fix layer tiles. In order to work with Neo-Geo graphics, you're going to need to find ways to convert the files to workable formats.
- YY-CHR.NET – Graphics editor that works with native retro game console formats.
- NeoFixFormat – A plugin for YY-CHR.NET that allows it to read the Neo-Geo Fix format tiles.
- Neo-Geo Graphic Tool Suite (nggts) – A set of tools for decoding and encoding both Fix (
*code8) and Sprite (
recode8swaps some of the palette entries around.
Personally, I do not know much about getting sound out of the Neo-Geo, so you might want to ask around the Neo-Geo development community...
- Modified MVSTracker (Windows-only) – A modified version of MVSTracker with a new driver (supporting PSG and DAC).
- AYFxEdit and AFMix – (see above link) Tools for creating PSG sound effects and converting up to 3 PSG effects in 1 for the new driver.
- A future version of DefleMask will support Neo-Geo. For now, try playing along in the Genesis/Mega Drive section.
It's known that the MVSTracker player (M1 ROM) does not work on hardware. It seems like the fix is simple, but I have not looked into it yet.
There are a number of other tools you'll want to have lying around when making Neo-Geo software.