Kirby: Nightmare in Dream Land
Boots, lightly testedGame Boy Advance · 2002 · Platformer · Decompilation
Inhale enemies, steal their powers and float through Dream Land.
Controls
| Arrow keys | D-pad (Up enters a door on the world map) |
| X | A (jump, inhale) |
| Z | B |
| A / S | L / R |
| Enter | Start |
| Shift | Select |
| Gamepad | any standard controller (untested) |
About this build
Kirby: Nightmare in Dream Land built from the overjt/knidl decompilation, pinned at ae560313. The build is byte-identical to a retail USA cartridge dump, sha1 37a476567d133c146fee6b5e2eb0b07a215da6b0. All of the game's code is compiled from C in the repository; the game's data is read out of your own ROM at build time rather than committed, so the project distributes no assets — measured by a poisoned-baserom differential, 87.22% of the built image comes verbatim from your dump and 12.78% from committed source. The page runs the result on a direct WebAssembly build of mGBA's core, 663 KB, with no emulator frontend in between. You supply your own ROM: it is read in your browser with the File API straight into the emulator's memory, and the page's Content-Security-Policy blocks connections to every origin but its own.
- Built from
- the overjt/knidl decompilation, built to a matching ROM and run on an emscripten build of mGBA
- Type
- Decompilation
- Game files
- Your own Kirby: Nightmare in Dream Land ROM, USA (game code A7KE), 8,388,608 bytes, sha1 37a476567d133c146fee6b5e2eb0b07a215da6b0. It is read in your browser and never uploaded.
- Code licence
- overjt/knidl is all-rights-reserved (the pret-style convention); mGBA core MPL-2.0
- Assets
- None distributed — the player supplies their own ROM
- Source
- andrewnakas/knidl-web ↗
What has been tested
Muted headless run: boot, title, world map, and entering stage 1-1, with Kirby's movement verified against the game's own gGameState and player-task position cells rather than against a screenshot. Cartridge-SRAM persistence across a real page reload, with a corruption control. No play-testing beyond the first level's opening.
Known limitations
- You must supply your own ROM; none is distributed.
- USA release (A7KE) only.
- Verified only as far as moving Kirby around stage 1-1. The stage is not cleared, and bosses, sub-games, ability copying and the ending have not been play-tested.
- The decompilation covers the game's code, not its data: 87% of the built ROM is copied verbatim from your own dump at build time, so a matching build proves the build pipeline more than it proves the data is understood.
- Saving from the in-game menu was never reached. Save persistence is verified at the cartridge-SRAM layer: the game writes its own battery save, a restored image is recognised and kept, a corrupted one is rejected, and the stored record survives a page reload.
- Sound is implemented but has never been listened to — all testing was muted.
- Keyboard and gamepad only; no on-screen touch controls, and the gamepad path is untested.
- Tested in headless Chrome only.
- Link-cable features are not available in the browser.
Saves
The cartridge's battery-backed SRAM (32 KB) is mirrored into this browser's storage and restored automatically on reload, so in-game saves persist. There are also save-state buttons. Clearing site data removes everything, including the cached ROM.