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 — assembly & C

Range
View
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.