Kirby: Nightmare in Dream Land

Boots, lightly tested

Game Boy Advance · 2002 · Platformer · Decompilation

Inhale enemies, steal their powers and float through Dream Land.

▶ Play with your filesAbout 1 MB. 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.
Controls
Arrow keysD-pad (Up enters a door on the world map)
XA (jump, inhale)
ZB
A / SL / R
EnterStart
ShiftSelect
Gamepadany 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

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.

Play next