While SNK never officially released any BIOS source for the Neo Geo platformthis project aims to provide a cleanopen-source re-implementation of the Neo Geo BIOS to preserve legacy functionality and enable ongoing development. Although earlier community ports and patches delivered tremendous valuemany stalled or never reached full maturity. Hopefullythis project can revamp interest and continue the journey.
Project goals:
- Open source release: Make the full BIOS code freely available under a permissive license.
- High-level implementation: Rewrite in C (instead of raw assembly) for readabilitymaintainabilityand ease of contribution.
- Improved functionality: featuring new menuscheat codesand more.
Core technologies:
- Language: C
- Build system: CMake
- Compiler: GCC
By choosing these tools and languagesthe project can ensure the BIOS codebase remains accessible to as many developers as possible.
Contributions and feedback are very welcome!
While development and testing are primarily conducted on Ubuntu with Visual Studio Code and MAMEthe codebase is designed for maximum cross-platform compatibility
apt-get install cmake gcc-m68k-linux-gnu- Clone the repo
git clone https://github.com/neogeo-projects/neogeo-bios.git
- Build the ROM-file
mkdir build cd build cmake -S . -B build -DSYSTEM=MVS -DREGION=EUROPE cmake --build build --parallel
- Burn the ROM to a MC27C1024
- Clone the repo
git clone https://github.com/neogeo-projects/neogeo-bios.git
- Copy following files into the
assetsfolder (you need to provide these yourself)000-lo.lo sfix.sfix sm1.sm1
- Build the ROM-file
mkdir build cd build cmake -S . -B build -DSYSTEM=MVS -DREGION=EUROPE -DCMAKE_BUILD_TYPE=Debug cmake --build build --parallel
- Test the rom with MAME
mame neogeo -rompath build/ -skip_gameinfo -verbose -debug -r 800x600 -cart1 [gamename] -cart2 [gamename]
build/
└── neogeo/
├── sp-s2.sp1
├── 000-lo.lo
├── sfix.sfix
├── sm1.sm1
├── mslug/
└── nam1975/| Region | Code (0xC00401) | Original BIOS | Crosshatch color | Coin 1 | Coin 2 | Start Button 1 | Start Button 2 | Comment |
|---|---|---|---|---|---|---|---|---|
| Japan | 0x00 | SP-J2 | Red | Both P1/P2 | Both P1/p2 | P1 Only | P1 and P2 | |
| USA | 0x01 | SP-U2 | Sky blue / Cyan | P1 Only | P2 Only | P1 Only | P2 Only | |
| Europe (Asia) | 0x02 | SP-S2 | Blue | Both P1/P2 | Both P1/P2 | P1 Only | P1 and P2 |
Development has mainly focused on games that differ from one another in their features and BIOS usage. Hopefullythis list will grow more and more quickly as development progresses.
| Game | Console | Status |
|---|---|---|
| Metal slug | MV1FZS | BootRuns stage 1 |
| NAM 1975 | MV1FZS | BootRuns stage 1 |
Distributed under the GNU General Public License v3.0. See LICENSE.txt for more information.
This project is not officially licensedapproved or endorsed by SNK Corporation.
Many before have done amazing contributions for the Neo Geo community and made it possible to create this project:
(Appologies in advance if someone feels cheated by this list)
This project is a completely community-powered effort — not the work of a company. Feel free to send bug reportsfeature requestsand questionsbut please keep feedback constructive. If you’d like to see something improvedcontributions (codedocumentationtestsor even just thoughtful suggestions) are always more impactful than complaints.
Let’s build something great together!