Golden Balloon NX # Golden Balloon NX **A native Nintendo Switch homebrew port of Golden Balloon.**
Golden Balloon NX brings [Golden Balloon](https://github.com/akratch/goldenballoon), a native source port of the 1997 Nintendo 64 kart racer, to the Nintendo Switch. This is **not an emulator**. The game code is compiled natively for the Switch's ARM64 CPU and uses the original game data from a legally dumped ROM supplied by the user. No ROM, game assets, music, textures, models, or other copyrighted game data are included in this repository or in release packages. ## Features - Native ARM64 Nintendo Switch build using **devkitA64 / libnx**. - SDL2-based input and audio. - Mesa/OpenGL rendering on Nintendo Switch. - Native game logic compiled from the Golden Balloon / DKR decompilation codebase. - Save data and configuration stored directly on the SD card. - Golden Balloon content-pack / `mods` directory support. - Switch-specific audio buffering to provide stable playback without crackling or underruns. - Homebrew Menu icon and NACP metadata included in release builds. - No emulator or dynamic recompilation layer required. ## How to Install You need a legally dumped copy of the original Nintendo 64 game. The current Nintendo Switch release is tested with: - **Diddy Kong Racing — US 1.1 (`us.v80`)** Create the following folder on your SD card: ```text sdmc:/switch/goldenballoon/ ``` Copy `goldenballoon.nro` from the latest release into that folder. Then place your legally dumped ROM beside the NRO and name it exactly: ```text baserom.us.v80.z64 ``` Your final layout should look like this: ```text sdmc:/switch/goldenballoon/ ├── goldenballoon.nro ├── baserom.us.v80.z64 ├── mdkr64.ini # created/used by the port ├── save/ └── mods/ ``` Launch **Golden Balloon NX** from the Homebrew Menu. > The ROM is not included. You must dump the game from a copy that you legally own. ## Controls Controller input is handled through SDL2 and Golden Balloon's gamepad input system. The game uses the Nintendo Switch controls for steering, acceleration, braking, items, jumping/power-sliding, menus, and pause. Golden Balloon's controller configuration remains part of the port where applicable. ## Save Data and Configuration Golden Balloon NX stores its user files under: ```text sdmc:/switch/goldenballoon/ ``` Relevant paths include: ```text mdkr64.ini save/ mods/ boot_stdout.log boot_stderr.log ``` This keeps the entire installation self-contained inside the application's Homebrew Menu folder. ## Audio The Nintendo Switch version includes Switch-specific audio handling for stable playback through the SDL2/libnx audio backend. Golden Balloon synthesizes the game's audio natively. The Switch port uses a deeper host-side audio period and waits for real PCM data to be buffered before starting the audio device, avoiding the underrun/crackling behavior that can occur with very small desktop-oriented callback periods on Switch. The game's authored audio rate, music timing, and pitch are left unchanged. ## How to Build You need a working [devkitPro](https://devkitpro.org/) installation with **devkitA64** and the Nintendo Switch development libraries. The build uses CMake and the devkitPro Nintendo Switch toolchain. Relevant packages include: ```text switch-dev switch-sdl2 switch-mesa switch-glad switch-pkg-config ``` ### Windows From the project root, run: ```bat BUILD_SWITCH.bat ``` ### MSYS2 / manual build Run: ```bash ./switch-bootstrap/build-switch.sh ``` The resulting release NRO is staged at: ```text dist-switch/switch/goldenballoon/goldenballoon.nro ``` The build scripts generate Homebrew Menu metadata and embed `switch/icon.jpg` into the final NRO. ## Source Layout Unlike some wrapper projects, Golden Balloon NX does not use a single `source/` directory. The repository itself is the source tree: ```text game/ Decompiled game code used by Golden Balloon platform/ Native platform, graphics, audio, input and Switch adaptations lib/ Vendored third-party libraries cmake/ CMake support files tools/ Build and project tooling switch/ Nintendo Switch-specific files and metadata switch-bootstrap/ Nintendo Switch build/bootstrap helpers docs/ Golden Balloon documentation tests/ Upstream regression tests CMakeLists.txt Main build configuration ``` ## Credits - [Bora Eskicioğlu](https://github.com/boraeskicioglu) / **BESK Entertainment** — Nintendo Switch port, platform adaptation, build integration and Switch-specific fixes. - [akratch](https://github.com/akratch) and the [Golden Balloon contributors](https://github.com/akratch/goldenballoon) — Golden Balloon native/browser source port and modern platform layer. - [DavidSM64](https://github.com/DavidSM64) and contributors to the [Diddy Kong Racing decompilation](https://github.com/DavidSM64/Diddy-Kong-Racing) — community decompilation used by Golden Balloon. - [chrissotraidis](https://github.com/chrissotraidis) and [BarrelPad](https://github.com/chrissotraidis/barrelpad) — useful ARM64 platform reference around Golden Balloon. - [devkitPro](https://devkitpro.org/), [libnx](https://github.com/switchbrew/libnx), SDL2, Mesa and their contributors for the Nintendo Switch homebrew toolchain and platform libraries. - The original developers at **Rare** for the original game. ## Legal This is an unofficial fan-made source port and is not affiliated with or endorsed by Nintendo, Rare, Microsoft, or any other rights holder. The repository and release packages contain **no game ROM and no bulk copyrighted game assets**. Users must provide a legally obtained dump of the original game. Golden Balloon's first-party platform/port code is distributed under the terms described in its [LICENSE](LICENSE). Decompiled game code under `game/` originates from the community Diddy Kong Racing decompilation and is **not covered by Golden Balloon's MIT license**; its upstream terms and provenance apply. The original game's names, characters, artwork, audio, assets, and trademarks belong to their respective rights holders. See: - [LICENSE](LICENSE) - [NOTICE.md](NOTICE.md) - [THIRD_PARTY.md](THIRD_PARTY.md) - [DISCLAIMER.md](DISCLAIMER.md) for the full licensing and provenance information. ## Disclaimer This project is intended for preservation, research, and homebrew use. **Piracy is not supported or condoned.**