Concepts
The core ideas behind recomp ports, explained before the docs get console-specific.
This section explains the ideas behind recomp ports.
Start here when a guide uses a word you do not know yet, or when you want to understand what a port is doing under the hood. These pages are still high level. They are meant to make the technical docs easier, not replace them.
- What are the recompiler and runtime?. The two main parts most projects are built around.
- How does a project tell code from data?. Why finding the real program inside a game file is hard.
- What are HLE and LLE?. Two ways to handle console behavior around the game.
- What about code you cannot see ahead of time?. What happens when a game creates or loads code while it is running.
- How do we compare a port to the original?. How projects check whether the translated code still behaves correctly.
- What does correct enough mean?. How faithfulness becomes a list of concrete problems to fix.
- When should timing be changed?. Why timing changes are advanced work and need measurement.
- Why does determinism matter?. Why save states and rewind need repeatable behavior.
- What is the game file contract?. What the project expects you to provide, and why the site does not provide it.
- Recompile the original game, then let mods do the rest. Why patches belong in the mod layer instead of the recompiler's input.
- What do these terms mean?. Short definitions for common recomp words.