Blog ·
Decompilation, Recompilation And Native PC Port: What Is The Difference?
People use these words loosely, and the projects overlap. Here is what each one means, with a real example of each.
Decompilation
A game ships as a compiled program: machine code a console can run and a person cannot read. A decompilation is a community effort to rebuild readable source code from it, often one function at a time, until the rebuilt code compiles into something that behaves like the original. The result is code people can study, fix and extend. Ship of Harkinian, a PC version of The Legend of Zelda: Ocarina of Time, is built on that kind of work.
Static Recompilation
Instead of rebuilding the source, a recompilation tool translates the game's original machine code into code for a modern computer, automatically and ahead of time. The game's logic is the original; what changes is the processor it targets. Zelda 64: Recompiled, a PC version of The Legend of Zelda: Majora's Mask, is an example.
Native PC Port
A port is the finished product: a version of the game that runs directly on your Windows, Mac or Linux computer, usually built from a decompilation or a recompilation. It is the thing you download and play. When someone says "the PC port," this is usually what they mean.
How This Differs From Emulation
An emulator is a program that imitates the console's hardware so the original game file runs unchanged. Ports and recompilations run the game as a normal program instead, which is why they often come with options such as native widescreen, high frame rates, remappable controls and mods.
Why You Still Need Your Own Game Files
These projects contain code that people wrote, not the game's art, audio or data. You supply those from your own copy, and the port reads them when it starts. Decomp Buddy automates that step: it checks your file is the right one for the project, puts it in the right folder, and never downloads a game.
Ready to try one? Read how to play PC ports and decompilations on Mac and Windows.