alphanu1 / daytona-arcade-recomp
git clone https://github.com/alphanu1/daytona-arcade-recomp.git
—
—
stars, 24h
—
stars, 7 days
+216
stars, 30 days · #1,192
216
★ total
25
forks · 20 open issues
Star history starts 2026-10-20; the chart appears after the second daily snapshot.
LanguageC++
LicenseBSD-3-Clause
Created2026-09-24 (26d ago)
Last push3d ago
Watchers11
OwnerUser
Links
README excerpt
# Daytona USA static recompilation Daytona USA (Sega Model 2) rebuilt as native code: the game's i960 program and the TGP program it uploads are statically recompiled to portable C++, and the fixed-function hardware (geometrizer, rasterizer, tilemaps) is native C++. No interpreter, no emulation core. MAME is used only as a test oracle. See `docs/daytona-usa-recomp-design.md` and `HANDOFF.md`. No game data is in this repository. You need your own ROM set (a MAME-format `.zip` or `.7z`): `daytona93` (Daytona USA Deluxe '93) or `daytona` (Revision A, 1994), or both. ## Platforms | Platform | Status | Details | | --- | --- | --- | | Windows, macOS, Linux | The main build; setup below | docs/getting-started.md | | Android | Works (arm64), with on-screen touch controls or a Bluetooth or USB controller; tested on a device | platform/mobile | | iOS | Works on iPhone, installed through Xcode or AltStore, with touch controls or a controller; tested on a device | platform/mobile | | PS Vita | Works: a native Vita app (SDL2); with vitaGL about 57.3 frames/s (the arcade runs 57.52) at CPU 444 / GPU 166 MHz, no overclocking plugin; tested on a Vita | platform/vita, release build: HOW_TO_COMPILE_RELEASE.md | | Dreamcast | Runs in the Flycast emulator with sound and the controller, about 32 frames/s (the arcade runs 57.52); not yet on a console; in progress | platform/dreamcast | Every port starts from the desktop setup: the game code is generated on a desktop computer from your ROM set, then built for the other platform. ## Setup **New here? Follow docs/getting-started.md**: step by step for Windows, macOS and Linux, with fixes for the usual problems. In short: 1. Copy your ROM set into `roms/` in the project folder, named exactly after the set: `roms/daytona93.zip` (Daytona USA Deluxe '93) and/or `roms/daytona.zip` (Revision A, 1994), or `.7z`. Each is built as its own game; other Daytona sets are rejected. 2. Run setup. Linux or macOS: ./setup.sh Windows (PowerShell): powershell -ExecutionPolicy Bypass -File setup.ps1 On Windows the game is built with Clang from the Visual Studio Build Tools. Setup installs them, or adds the Clang tools to the Visual Studio you have; Windows asks for permission for that. `setup.ps1 --msvc` uses Microsoft's compiler instead. 3. Run the command setup prints at the end (`build/daytona`, or `build\Release\daytona.exe` on Windows). **Updating:** `git pull`, then run setup again (it recompiles the game from your ROM set, since updates can change the generated code). **Clean rebuild** (after a failed build, or to start over): delete the `build` folder and run setup again. Your ROM set in `roms/` and the downloaded libraries in `extern/` are kept. If setup fails, it says whether your ROM set was rejected (the line above names the file) or the build failed (the errors are just above). The guide's troubleshooting covers the usual ones. Every change is built and tested by GitHub Actions on Windows (Clang and MSVC), macOS and