Homebrew developers built a Game Boy emulator for the Neo Geo
An experimental homebrew project is attempting the impossible: running 8-bit Nintendo games directly on SNK's 16-bit arcade hardware.
Homebrew developers have announced an experimental Game Boy emulator designed to run directly on physical SNK Neo Geo hardware. The project surfaced today on Reddit's emulation community, showing Nintendo's 8-bit handheld software booting on 16-bit arcade boards.
The emulator targets both the AES home console and the MVS arcade hardware. It is currently in early development and runs at just a few frames per second. The developers plan to release the software for free once they optimize the performance, though the code is not open-source yet.
A very expensive way to play Tetris
Making SNK's luxury arcade hardware pretend to be a spinach-green Nintendo handheld is a special kind of madness. The Neo Geo launched in 1990 with a Motorola 68000 main processor clocked at 12 MHz alongside a Zilog Z80 audio coprocessor. SNK built the system to push massive 2D sprites using custom chipsets. It was never meant for general-purpose compute tasks.
The contrast between the two platforms makes the project inherently funny. The Game Boy was a low-cost, low-power device that dominated the market through affordability and battery life. Gunpei Yokoi and Nintendo R&D1 designed it around a Sharp LR35902 CPU, which is essentially an 8-bit hybrid of the Z80 and 8080 processors. It was cheap to produce and easy to develop for.
The Neo Geo AES was the exact opposite. It was a premium home console that cost $649 at launch, with individual game cartridges famously retailing for $200 or more. The MVS arcade equivalent was designed so operators could swap out multiple games in a single cabinet. Now, 36 years later, someone is using that premium arcade hardware to run Pokémon Red.
Faking a tile-based LCD
Getting a 1990 arcade board to mimic the Game Boy requires serious technical work. The developers have to navigate severe memory mapping constraints and coordinate the Neo Geo's graphical sprite engines to fake a tile-based LCD display controller. They also lack the overhead needed for dynamic recompilation. Everything has to be heavily optimized just to reach a playable state.
Cross-console emulation projects on vintage hardware have a long history among technical enthusiasts. We have seen NES emulation on the Sega Genesis and Game Boy software running on the Commodore 64. This Neo Geo project follows that same tradition of pushing classic hardware architectures well beyond their intended design boundaries.
High-accuracy Game Boy projects like SameBoy run on modern hardware with gigahertz of headroom. Forcing a 12 MHz processor to do the same job is just showing off. The developers still have a long way to go before the emulator hits full speed, but the fact that it boots at all is an impressive technical flex.
Comments ()