Neo Drift Out: Enhanced
Neo Drift Out: Enhanced is a Godot 4 port of the Neo Geo game Neo Drift Out: New Technology for Windows and Linux.
- Type: PC port
- Game: Neo Drift Out: New Technology
- Runs on Windows and Linux
- By Pigmassacre
- Latest release v1.0.0, 2026-10-14
- Source: https://github.com/Pigmassacre/neodriftenhanced
README
Neo Drift Out — Godot port
A port of the Neo Geo game to Godot 4.7, verified against MAME.
Nothing from the game is stored in this repository. Everything the port needs
is derived locally from your own ROM files into data/ (ignored by git).
Requirements
neodrift/— the game ROM set (213-*.{p1,s1,c1,c2,m1,v1,v2})neogeo/— the Neo Geo BIOS files, unpacked- Godot 4.7.2 (
Godot/here is a link to the editor binary's folder) - Python 3 and MAME (used for setup and for verification)
Setup and run
Tools/setup.sh
Godot/Godot_v4.7.2-stable_linux.x86_64 --path Project
Keys: arrows, Z X C V = buttons A B C D, 1 = start, 5 = insert coin.
How it works
Tools/recomp/translates the game's 68000 program into GDScript (data/game/code/), one function per basic block.Project/machine/neogeo_machine.gdis the machine that code runs on: registers, memory map, video registers, raster timer, interrupts.Project/video/draws the machine's video RAM (sprites with the hardware's shrink tables, text layer, palettes) with shaders.Project/sound/runs the game's own Z80 sound driver and plays its sampled sounds. The chip's square-wave, FM and ADPCM-B parts make no sound yet.- The game starts from a machine snapshot taken in MAME just after boot
(
Tools/make_start_snapshot.py), so the BIOS power-on tests are not modelled.
If the game reaches code the translator has not seen, it stops, logs the
address to data/game/seeds.txt, and Tools/recomp/build_code.py will
include it on the next run.
Verifying against MAME
cd Tools
python3 verify_session.py practice_steer --shots
This plays a scripted session in MAME, replays the same inputs in Godot from
the same starting state, and compares work RAM after every frame and
screenshots pixel for pixel. Sessions are defined at the top of
verify_session.py.
See HANDOFF.md for the current state, remaining work and known traps.
Project/main.tscn is a separate standalone viewer for the practice course
(background shader only).