

Source code is just text with special grammar rules, that’s easy for a human to read and think about. But it’s not possible for a computer to execute source code directly.
So it’s run through a “compiler”, which takes the text and compiles it into binary machine code (x86 Assembly). This is what gets written to the CD and shipped
“decompilation” is the process of starting from the raw machine code, and trying to figure out what source code text could have generated that machine code.
Typically you use a tool that can do an initial decomp pass, but since it’s missing a lot of context, the resulting text is generally incomprehensible (and may not even fully compile). Variable x123ieh48hdc could be Link’s velocity, the currently loaded map, or it could be a temporary scratch variable
The real challenge to decomp is figuring out which incomprehensible variable and function names actually correspond to in-game
(Note, usually “100% decomp” means they’ve fully translated machine code to source code. But there may still be large parts of the source code that remain incomprehensible. Ocarina of Time decomp still has sections like this)
The reason this is exciting, is because the source code is much easier to modify. So having 100% of the game in source code means you can do fancy things like PC source ports (even if some of the code remains incomprehensible, though i imagine that makes it more difficult)









LoZ: Twilight Majora’s Ocarina