Saturn Bomberman Recompiled: Sega's Legendary 10-Player Party Brawler Now Runs Natively on PC

A new project recompiles Saturn Bomberman (USA) to run natively on PC through saturn-recomp: bring your own disc, play with up to ten players over multitaps, and it matches Mednafen's frames to the pixel.

Saturn Bomberman Recompiled: Sega's Legendary 10-Player Party Brawler Now Runs Natively on PC

Saturn Bomberman, the 1996 Sega Saturn party game many fans consider the high-water mark of the entire Bomberman series, now runs natively on PC. A project called pc-saturnbomberman, built on the saturn-recomp toolchain, recompiles the game's USA release into native code and runs it with your own disc, with up to ten players at once, and with frame-accuracy checked against Mednafen down to the pixel.

If you know the Saturn, you know why that is a strange and wonderful sentence to read. The Saturn is a cruel machine to preserve: two SH-2 CPUs, a VDP1 that draws sprites as warped quads, a VDP2 that paints backgrounds in layers, and enough custom silicon to make emulator authors age in dog years. Emulating it well took decades. Recompiling a retail game from it into native PC code is a different and harder kind of nerve entirely.


What It Actually Is

A recompilation, not an emulator. Instead of recreating the Saturn in software and running the game inside that recreation, saturn-recomp translates the game's original SH-2 machine code into native code that compiles and runs on your machine. The game is still the game, running on the silicon you already own.

The repository carries the game's configuration, routes and tools, and nothing else. Bring your own disc: no game data goes into the repo, and everything derived from your disc lands in a build/ folder that git ignores. The repo itself is MIT-licensed.

One important caveat up front: Linux is the only supported platform for now. Windows and macOS are listed as phase 5 of the project's PLAN.md, so if you are on Windows and feeling brave, you are very much on your own until that lands.

Ten Players, For Real

Saturn Bomberman is famous for its battle mode, and specifically for supporting up to ten players at once with a pair of multitaps. That is the mode people still drag CRTs out of closets for, and it is the thing this project refuses to compromise on.

Two players need nothing special: player two is simply the Saturn's second controller port. Beyond that, the multitaps come in as they did on real hardware. Launching with --multitap 1 puts players 1 through 6 on port one and player 7 on port two. Launching with --multitap 2 spans both ports for players 1 through 12, which is exactly what the ten-player battle uses.

Controllers behave the way you would hope. The keyboard is always player one (arrows to move, Enter for Start, Z X C for A B C, A S D for X Y Z, and Q W for L R). Each gamepad that connects becomes the next player in line, the log names who is who, and unplugging a pad frees its slot without shuffling everyone else around. Plug it back in and it reclaims the same player.

Frame-Accurate, or It Doesn't Count

This is where the project stops being a curiosity and starts being serious, because the author clearly does not trust a port that merely looks right.

The repo ships a set of scripted runs, called routes, that drive the game through pad presses and button holds: the title screen, a single battle, the ten-player battle, every item, each world's first stage, dinos hatching and evolving, kicked and thrown bombs, the Master Game's twenty floors, every boss, and more. The test suite rebuilds, replays every route in parallel, and fails if a single frame differs from the recorded reference or if any run hits a fatal error. A typical full pass takes about five minutes.

Then there is the comparison work. The project can play a route on its own build and then on Beetle Saturn (Mednafen's Saturn core), and report exactly how many dots of each frame differ, saving pictures of both and of the differing pixels. There is also an instruction-level trace mode that logs every instruction the original game executes and checks it against the translation. To top it off, a built-in bot can actually play the game, clearing Normal Game stages and all twenty floors of the Master Game, with its presses saved and replayed as ordinary routes.

That is the difference between a demo and a preservation project. It is not satisfied with running your game. It wants to prove it runs the same game.

What You Need

A Linux box, a legitimate copy of Saturn Bomberman (USA) in Redump .cue and .bin form, and a working toolchain: uv, CMake, Ninja, clang and SDL3. On Fedora, Debian, Ubuntu or Arch the dependencies are a single package install. From a fresh clone the process is three commands.

uv sync                    # set up the Python environment
uv run bomberman prepare   # check and extract your disc into build/
uv run bomberman play      # recompile on first run, then play in a window

There is a helper that checks every step for you and tells you exactly what is missing. Add --launcher to the play command and you get an in-window menu for player count, multitaps, key and gamepad bindings, fullscreen, window size and volume, each change saved as you make it. Saves live outside the build folder, so clearing a build never touches your progress.

Why This Matters

We have spent the last couple of years watching static recompilation drag one console after another back from the dead: Nintendo 64, PlayStation, GameCube, the original Xbox, and now the Saturn, a machine that for a long time looked like it might only ever live inside an emulator. Saturn Bomberman is the perfect proof of concept because it is not a simple game. It leans on multitaps, odd video modes and hardware quirks, and it has to stay playable with up to ten humans screaming at one screen.

A port that nails all of that, and then audits itself against a reference emulator frame by frame, is the kind of work that keeps a game alive past the death of its original hardware. Bring your own disc, gather your friends, and the Saturn's best party game is waiting on the PC you already own.

  • Project repository: github.com/callumjenkins/pc-saturnbomberman
  • Recompiler and runtime: github.com/callumjenkins/saturn-recomp
  • Requirements: Linux, plus uv, CMake, Ninja, clang and SDL3 (ffmpeg optional, for video capture)
  • Your own disc: Saturn Bomberman (USA), Redump set, disc ID MK-81070 V1.003
  • Players: up to 10 in battle mode, using two multitaps (--multitap 2)
  • Licence: the repository is MIT; full builds that use the GPL VDP1 renderer are a GPL work, and playtest releases are built without it so they stay MIT