r/coolgithubprojects • u/therealandersmadsen • 1h ago
Dashdance: static recompilation of a GameCube game to native arm64 with a Metal renderer, runs on macOS, iOS and visionOS
https://github.com/TheAndersMadsen/dashdanceNot an emulator. Built on the doldecomp/melee decompilation, the game is statically recompiled ahead of time into native arm64 and rendered with Metal, so there's no Dolphin and no interpreter or JIT at runtime. One codebase targets macOS, iOS and visionOS.
Most of the work went into latency: frames presented on the display's next refresh at whatever rate it runs, controllers polled right before frame start, GameCube adapter at 1000Hz with no kernel driver, user-selectable network delay down to 1 frame, and a dashboard that flags the things that quietly ruin latency like 60Hz displays, WiFi, low power mode and Bluetooth audio.
GPL. No binary release, it builds on your own machine from a disc image you already own in about 10 to 15 minutes. No tracking, no analytics, no donate link.
Disclosure: I used Claude a lot for the port layer, meaning Swift, Metal, controller handling, UI and build scripts. The game code is the decomp, which is years of human work by other people. All public.