Glossary
Jump to navigation
Jump to search
Glossary of terms used on the wiki.
Decompilation
The term "decompilation" is used to mean the reverse engineering of a binary into high level language that compiles back into a byte-perfect match of the binary.
This is different to non-matching decompilation projects, such as the now defunct re3 project which aimed for functional equivalence but not byte-perfection.
The general process for a matching decomp project is:
- Disassemble the binary into a bunch of assembly code
- Write a Makefile (or equivalent) and rebuild the assembly into a matching binary
- Start replacing assembly on a function-by-function basis with C code that is a byte-perfect match for the original assembly of the function
- Rinse and repeat until you hit 100%
Overlay
Overlays are chunks of code that are loaded at runtime and occupy the same memory address (they are "overlayed"). This approach is commonly used in N64 and PSX games where memory is limited.
Some games, such as OOT, make heavy use of overlays.