You can now play Sonic R on a Dreamcast with cross-play
Developer jnmartin84 released a complete decompilation of the 1997 racer, bringing native code and online multiplayer to Sega's final console.
Developer jnmartin84 has released a native Sega Dreamcast port of Sonic R, bringing the 1997 racing game to Sega's final console with full cross-platform online multiplayer. The project decompiles the 1998 PC executable into portable C, allowing the game engine to run natively on the Dreamcast alongside modern Windows, macOS, and Linux systems.
SONIC R OUT NOW. Credit: jnmartin84
The release is available on GitHub. It is a non-commercial engine reimplementation, meaning you have to supply your own game assets from a legal PC copy to actually play it.
A Saturn showcase moves forward
Sonic R originally launched on the Sega Saturn in late 1997. Developed as a collaboration between Sonic Team and British studio Traveller's Tales, it served as a technical showcase for the hardware. Founder Jon Burton and his team built a custom 3D engine that handled transparent water, dynamic lighting, and weather effects on a console notoriously hostile to 3D rendering. The game shipped with only five tracks and a notoriously slippery handling model, but Richard Jacques' Eurodance vocal soundtrack helped it build a massive cult following.
Despite the Dreamcast launching just a year later, Sonic R never received an official port to Sega's final machine. It skipped the generation entirely, reappearing years later in compilations for the GameCube and PlayStation 2.
Developer jnmartin84 has a track record of pulling off impossible ports, having previously brought Ocarina of Time and Star Fox 64 to the console. For Sonic R, the developer spent months reverse-engineering the x86 PC executable using Ghidra and Claude Code to translate the logic into C. The resulting engine runs natively on KallistiOS for the Dreamcast, and the gameplay behavior is virtually identical to the 1998 original.
Cross-play on a broadband adapter

The port supports up to four players in local split-screen, but the network stack is the main draw. If you have a Dreamcast Broadband Adapter or a modern W5500 adapter, you can play online. The game uses UDP matchmaking and supports full cross-play. A Dreamcast player can host a lobby for PC and Mac users, and the entire network menu is mapped to the standard controller.
The build process is surprisingly painless. Instead of setting up a local KallistiOS toolchain, the documentation links to a Google Colab notebook. You upload your PC game data and CD audio tracks, and the cloud script encodes the music to the ADP format and spits out a ready-to-burn .cdi file. ADP streams directly to the Dreamcast's Yamaha sound chip without taxing the main CPU, which keeps the framerate stable during heavy scenes.
A bitter end for a massive project
The main GitHub repository opens with a stark warning. The developer announced this will be their final public repository project, citing deep frustration with incompatible forks, sloppy Android ports, and people attempting to sell the free software.
"I personally report every for-sale listing of my ports that are brought to my attention," jnmartin84 wrote. "I will get your 15 year old 100% feedback eBay account terminated."
A full technical breakdown of the release and its features is available in the launch video.
Comments ()