Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Diddy Kong Racing: Recompiled

An experimental native port of the Nintendo 64 version of Diddy Kong Racing, built with N64: Recompiled and RT64.

Important

This project is an early alpha. It is not affiliated with Nintendo, Rare, or Microsoft, and it is not an emulator. A legally obtained, unmodified game ROM is required. No ROM, extracted game asset, or other proprietary game data belongs in this repository or its releases.

Current status

The port boots, reaches the frontend and Adventure mode, and can complete normal races. The most thoroughly exercised targets are:

Platform Status Renderer
macOS on Apple silicon Playable alpha Metal
Steam Deck / Linux x86-64 Playable alpha Vulkan
Windows x86-64 Inherited build support; not yet validated for DKR Direct3D 12

Only Diddy Kong Racing USA (En,Fr) Rev 1, decomp version us.v80, is accepted. The normalized big-endian ROM has SHA-1 6d96743d46f8c0cd0edb0ec5600b003c89b93755.

Validated functionality includes:

  • boot, attract mode, frontend menus, Tracks mode, and Adventure startup;
  • the custom ABI3 audio microcode;
  • the F3DDKR XBUS, FIFO, and DRAM graphics microcodes;
  • eight-racer gameplay and post-race results;
  • EEPROM save data;
  • basic Xbox-compatible controller input and rumble;
  • widescreen gameplay with automatic 4:3 presentation for authored menu and results pages;
  • macOS application bundles and Steam Deck AppImage packaging.

Full Adventure progression, multiplayer, bosses, every vehicle, and every course have not yet been exhaustively tested. See Known issues and milestones before treating a build as release-ready.

Playing a development build

  1. Start the application.
  2. Choose Select ROM in the launcher.
  3. Select an unmodified USA Rev 1 ROM matching the SHA-1 above.
  4. Configure controls if desired, then choose Start Game.

The runtime validates the selected file and stores a normalized private copy in the platform user-data directory shown below. That copy remains local and outside the application bundle; it must never be included when sharing logs, saves, or configuration archives.

Default Xbox-style controls

N64 input Default modern input
Control Stick Left stick
A A / south face button
B B or X / east or west face button
Start Menu / Start
Z Left trigger
R Right trigger
L Left shoulder
C buttons Right stick, with selected D-pad alternatives
Recomp menu View / Back

All mappings can be changed in the launcher. Steam Input should use a normal gamepad layout rather than a keyboard-emulating Desktop layout.

User data and logs

Platform Default directory
macOS ~/Library/Application Support/DiddyKongRacingRecompiled
Linux / Steam Deck ~/.config/DiddyKongRacingRecompiled
Windows %LOCALAPPDATA%\DiddyKongRacingRecompiled

The Steam Deck AppImage writes runtime.log, runtime.previous.log, and last-exit.log to that directory. Native crash handling may also create crash.log there. Save and configuration data should be backed up before testing experimental builds.

The directory also contains the locally stored verified ROM used for later launches. Treat the entire directory as private unless its contents have been inspected carefully.

Documentation

Relationship to the decompilation

DavidSM64/Diddy-Kong-Racing is the matching decompilation and the source of symbols, structure information, and essential reverse-engineering knowledge. This native recomp is a separate application: most retail CPU instructions are translated automatically from the user's ROM, while selected hardware-facing behavior is implemented by the native runtime.

Corrections that improve the matching decompilation should be submitted there as focused changes. Runtime, renderer, and packaging work belongs in this project or its respective upstream dependency.

The complete native port is intentionally maintained as a separate project. See the upstream contribution map for the pieces that can be proposed to the decompilation, RT64, N64Recomp, N64ModernRuntime, and Plume without asking any maintainer to review a monolithic conversion.

Development provenance

This codebase began as a GPLv3-derived adaptation of Dinosaur Planet: Recompiled, which itself builds on Zelda64Recomp, N64Recomp, N64ModernRuntime, and RT64. The DKR conversion has been developed with substantial assistance from OpenAI Codex under human direction and gameplay testing. See AI-assisted development for the disclosure and review policy.

Credits

License

The native project code is distributed under the GNU General Public License v3.0; see COPYING. Submodules and bundled third-party components retain their own licenses. The license does not grant rights to Diddy Kong Racing, its ROM, or its assets.

About

Experimental native recompilation of Diddy Kong Racing using N64: Recompiled and RT64. Requires a user-supplied US Rev 1 ROM.

Topics

Resources

Contributing

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages