Klonoa: Empire of Dreams

Decompilation Research & Documentation

This site documents ongoing research into the decompilation of Klonoa: Empire of Dreams (GBA, 2001, Namco). The goal is to produce a fully matching C decompilation of the original ROM, enabling analysis, modding, and preservation of this classic platformer.

Current Progress

27.4%

143 of 522 functions matched • 470+ named • 61 IWRAM + 59 ROM globals defined

522
Total Functions
143
Matched
470+
Named Functions
100%
Identified

Documentation

Program Flow

Complete execution flowchart from AgbMain through the main game loop, scene dispatch, VBlank interrupt system, and transition state machine. Shows the callback-driven architecture that drives the entire game.

Sound Engine

Comprehensive documentation of the Nintendo MusicPlayer2000 ("Sappy" / "m4a") sound engine used by the game. Includes ROM layout, song table, bytecode reference, voice/instrument definitions, and tool compatibility.

Graphics Engine

Background layer system and VRAM management. Documents the BG tile/tilemap pipeline, compression format, charblock assignments, IWRAM structures, and the graphics stream command system.

Game Engine

Entity system, player logic, boss AI, world map, scene transitions, level loading, and EEPROM save system. Complete architecture map of all 522 functions across 10 modules.

Matching Techniques & Blockers

Detailed documentation of the techniques used to produce byte-exact C matches with agbcc (GCC 2.95), the systematic blockers preventing further progress, and the current state of all 522 functions.

Project Links

Toolchain

The project uses agbcc (the original GCC-based ARM compiler used for GBA development) to produce byte-identical output matching the original ROM. Disassembly is assisted by luvdis, and the build system is a standard Makefile-based setup typical of GBA decomp projects.