Diddy Kong Racing (Golden Balloon) - Switch Port

  • Thread starter Thread starter besk
  • Start date Start date
  • Views Views 45
  • Replies Replies 1
  • Likes Likes 6

besk

Member
Newcomer
Joined
Jun 25, 2026
Messages
6
Reaction score
33
Trophies
0
Age
26
XP
84
Country
Turkey
Hi everyone!

I'm back with another Nintendo Switch homebrew port. :)

This time it's Golden Balloon NX, a native Nintendo Switch port of Golden Balloon, which is a source port of Diddy Kong Racing based on the community decompilation.

Unlike an emulator, the game code is compiled natively for the Switch's ARM64 CPU. The Switch version uses libnx/devkitA64, SDL2 for input/audio and Mesa/OpenGL for rendering.

The game is currently running very well on real Switch hardware. Gameplay, controller input, audio, saving and Golden Balloon's content pack/mod support are all working.

GitHub:
https://github.com/boraeskicioglu/goldenballoon_nx

Latest Release:
https://github.com/boraeskicioglu/goldenballoon_nx/releases/latest


Installation

You will need a legally dumped Diddy Kong Racing US 1.1 ROM.

1. Download goldenballoon.nro from the GitHub release.
2. Create this folder on your SD card:

Code:
sdmc:/switch/goldenballoon/

3. Put the NRO inside that folder.
4. Put your legally dumped Diddy Kong Racing US 1.1 ROM in the same folder and rename it to:

Code:
baserom.us.v80.z64

The final folder should look like:

Code:
sdmc:/switch/goldenballoon/
├── goldenballoon.nro
├── baserom.us.v80.z64
├── mdkr64.ini
├── save/
└── mods/

Then just launch Golden Balloon NX from the Homebrew Menu.


Features

• Native ARM64 Nintendo Switch build
• No emulation or dynamic recompilation
• SDL2 controller support
• Mesa/OpenGL rendering
• Working audio
• Switch-specific audio buffering fixes
• Save support
• Golden Balloon content packs / mods support
• Proper Homebrew Menu icon and metadata
• Full source code available on GitHub


About the audio

During the initial port the game was already fully playable, but the audio had some noticeable crackling on Switch.

Golden Balloon normally uses a relatively small desktop-oriented SDL audio period, which didn't behave particularly well with the Switch audio backend.

For the Switch version I added a deeper host-side audio buffer and changed the audio startup so playback only begins after real PCM data has been buffered.

The game's original audio rate, music timing and pitch are unchanged, and audio playback is now stable.


Building

The full source code and Switch build scripts are included in the repository.

You need devkitPro/devkitA64 along with the required Switch SDL2/Mesa packages.

On Windows you can simply run:

Code:
BUILD_SWITCH.bat

The resulting NRO will be generated under:

Code:
dist-switch/switch/goldenballoon/goldenballoon.nro


Credits

Huge thanks to:

• akratch and all Golden Balloon contributors for creating the native Golden Balloon source port.
• DavidSM64 and everyone involved with the Diddy Kong Racing decompilation project.
• chrissotraidis / BarrelPad, which was a very useful ARM64 Golden Balloon reference while working on this port.
• devkitPro, libnx, SDL2 and Mesa contributors for the Switch homebrew toolchain.
• Rare and the original Diddy Kong Racing development team.

Nintendo Switch port / platform adaptation:
Bora Eskicioğlu / BESK Entertainment


Legal

No ROM or copyrighted game assets are included in the repository or release.

You must provide your own legally dumped copy of Diddy Kong Racing.

This is an unofficial fan-made project and is not affiliated with or endorsed by Nintendo, Rare or Microsoft.

Piracy is not supported or condoned.


GitHub:
https://github.com/boraeskicioglu/goldenballoon_nx

Download:
https://github.com/boraeskicioglu/goldenballoon_nx/releases/latest

Hope you enjoy it! :)
 
Awesome, appreciate the effort!
I noticed a few issues on my end though. The game does not seem to save, even after multiple balloons.
Also ingame graphics settings are locked and have to be edited via the mdkr64.ini. I set FOV to 80 and a bunch of other things.
When I set the frame limiter to 60 and the motion smoothing to =interpolate it does display the game at 60fps but creates a lot of visual artifacts. Not sure if this an issue of this port or a general issue.
 

Site & Scene News

Popular threads in this forum