Guide

How to make a Neo Geo game

Homebrew for the Neo Geo is no longer a reverse-engineering project. There is an open toolchain, an open replacement BIOS, flashcarts that take your ROM, and emulators accurate enough to develop against. What follows is the shape of the work: what the hardware asks of you, the two routes people take, and what comes out at the end.

What the hardware asks of you

The Neo Geo is a 1990 arcade board: a 68000 at 12 MHz for the game, a Z80 at 4 MHz that does nothing but sound, and a 320×224 screen in NTSC (320×256 in PAL). Three of its habits shape every project.

Two routes, and how to pick

Write C against ngdevkit. Damien Ciabrini’s ngdevkit is a complete open-source SDK: a gcc cross-compiler for the 68000, hardware headers, a sound driver, graphics tools and a debugger. You install it, build the examples, and go from there. It gives you everything and asks that you know C and the hardware. A large share of recent Neo Geo homebrew is built this way.

Use an editor. Paint scenes, place actors, wire the rules visually, and let the tool emit the code. You trade some control for a much shorter path from an idea to something you can play. This is the route Sprixe Neo Studio takes — and what it emits is ngdevkit C, so the two are not opposed so much as stacked.

The honest deciding question is not which is better but what you want to spend your attention on. If the hardware is the project — if you want to know why a raster effect costs what it costs — write the C. If the game is the project, an editor gets you to a playable stage in an afternoon.

The parts you will end up making

Everything but the palettes lands in the five ROM regions that make up a cartridge. That is the moment the project stops being files on a disk and becomes a game.

Getting it running

Develop against an emulator — MAME is the reference, and it is a good one — then move to hardware when the thing is worth the trip. A NeoSD flashcart takes a .neo file straight from the card, so the last mile is a file copy rather than a burn.

Two things reliably surprise newcomers: an emulator will refuse to boot without a system BIOS, which is separate from your cartridge, and a homebrew ROM can ship with the open nullbios instead of anything owned by SNK. Neither is a bug in your build.

What to expect

It matters more that this gets read accurately than that it gets read encouragingly.

Start today

If you want the shortest first step: open a template in Neo Studio, press build, and play your own ROM in the same tab a few seconds later. Nothing to install, no sign-up. Then decide how deep you want to go.

Enter the beta Is there a GB Studio for the Neo Geo? →