jiangzhengwenjz/katam · Game Boy Advance · AGB-BKME · source on GitHub

Kirby & the Amazing Mirror — decompilation progress

The retail ROM holds 1,424,856 bytes of machine code. Decompiling it means rewriting every one of those bytes as C that the original 2004 compiler turns back into the identical instructions. This tracks how much of that code now lives in C.

Checking GitHub…

Code bytes still in assembly

above the axis — code still in asm/ below the axis — the same code once rewritten in C

What's left

Assembly file Functions Bytes

Sorted by code size rather than function count — the two disagree, and size is what the percentage is built from. Four files stay as assembly permanently and count toward neither: m4a_asm.s (the sound driver), libagbsyscall.s, crt0.s and multi_sio_asm.s.