Zelda 64: Recompiled (Majora's Mask) adds modding support, texture pack support, optimizations and more
Zelda 64: Recompiled (Majora's Mask) adds modding support, texture pack support, optimizations and more

Zelda 64: Recompiled (Majora's Mask) adds modding support, texture pack support, optimizations and more

Is this similar to the Ship of Harkinian recompiles, just as a different project?
Not really. The Ship of Harkinian ports are based on decompilations, which is where you reverse engineer some equivalent source code using the final binary as a reference point. Then, you can port that source code to anything else you can build for, like a PC, phone, Wii U or Dreamcast.
Recompilation, which is what this project is, is closer to (and some have gone as far as to say that it is) emulation. It's taking the final binary and then, without actually working backward to get source code, translating the raw instructions directly into code that compiles for a different platform.
It's kind of difficult to get across the difference without being familiar with what both are doing behind the scenes, because the result is obviously similar. Both require human intervention, but decompilation is the more labor-intensive approach, while recompilation is somewhat more automated.
The advantage of former is that you end up with a relatively human-readable codebase to work with, while the latter doesn't bring you any closer to understanding how the game works internally. Both ultimately allow for porting the game to new platforms. Decompilation will almost certainly result in a more optimized final game, because it avoids the overhead of "emulating" the original architecture. However, for the same reason, recompilation can be generalized to other games that originally ran on the same hardware.
Thank you for the detailed explanation! I had thought Ship was decompiling and recompiling it into its own package, but what you describe makes more sense.
So similar to how WINE works then? This is taking the MM binary and building a wrapper around it that translates it's system calls into something generic?