How To Play the Ocarina of Time PC Port
Compile a native Linux port known as Ship of Harkinian
In the year of our Lord Gaben 2021, The Legend of Zelda: Ocarina of Time was reverse engineered by Zelda Reverse Engineering Team. Not all heroes wear capes. (If you’re a Zelda fan you should check them out. Other than Ocarina of Time, they’re working on some other Zelda games.) This is good news for us, as this means that we can now play one of the greatest games of all time, natively, instead of by emulation, which isn’t always ideal.
There are two separate PC ports to choose from: Open Ocarina, or Ship of Harkinian (SoH). You can go with either one, but for our purposes we’ll go with SoH, because it feels more polished overall, and is easier to set up (expand the next section for a brief comparison.)
Open Ocarina VS Ship of Harkinian
Open Ocarina
Ship of Harkinian
To get started, as always, head over to desktop mode.
In summary you’ll need to download Ship of Harkinian and also the Ocarina of Time PAL GameCube Debug ROM, then run the soh appimage. You can find instructions on the SoH github, or expand the following sections:
You’ll need to head over to Discord to download the necessary files. Just choose the latest release version. You can go with the Windows version and run it with Proton, but that just means extra steps. Plus, we love Linux here, so that’s what we’ll do.
Extract the files to whatever directory you want.
Head over here to the Internet Archive to download the PAL Gamecube Debug ROM. Scroll down the massive list to find Legend of Zelda, The - Ocarina of Time (Europe) (Debug) (GameCube).7z
.
SoH does support the Master Quest ROM on Windows, but for some reason the Linux port won’t accept the ROM. So for now if you want the Master Quest you’ll have to run the Windows version with Proton.
Extract the ROM file to the same directory that you extracted SoH to, so that your debug ROM and the soh.appimage are in the same folder.
Head to the folder where you extracted everything into, and double click the file name soh.appimage
. If a dialog box pops up asking what you wish to do with the file, click Execute.
Once it’s finished, if everything went according to plan, you will now have a file named oot.otr
. Now when you execute soh.appimage
, you’ll be playing the Ocarina of Time PC port.
All that’s left to do in Desktop mode is add the game to Steam, and set custom artwork for the game so it looks like it actually belongs in your game library. When you’re done with that, let’s head back to Game mode.
At this point you can play the game if you want, but as it is, you might as well dust off your HDMI-modded N64 and play on real hardware. No, we’re here for the PC Port enhancements. Let’s git’r’done. First, we need the F1 key to access the settings menu of Ship of Harkinian. We need to set F1 to one of the buttons on the Deck.
Now run the game so we can adjust the settings.
Press the button you set as the F1 key to bring up the menu. If you need to, you can hold down the Steam button and use the right trackpad as a mouse, and the right trigger as left click. (Alternatively, go to Settings > Controller
, and enable Use Controller Navigation
.)
You can explore all the settings and enhancements on your own. I hightly recommend setting the frame rate to 60 FPS, customizing the controls, and setting up Free Camera, but there are tons of quality of life enhancements, fixes, and cheats to make the game more enjoyable. Here’s some highlights:
- Time Savers (Text speed, climbing speed, FIX THAT DAMN OWL, etc.)
- Disable Draw Distance
- Restore red Ganon blood
- Fireproof Deku Shield
- Infinite Epona boost
- Assignable tunics and boots
- Equip items to D-pad
With those last two options, you can assign the Iron Boots to the D-pad so you don’t have to constantly pause the game to equip and unequip them, making the aggravating Water Temple slightly less aggravating.
By Default the right stick is set to the C buttons. After enabling Free Camera
, you need to map Right Stick
to the Deck’s right analog stick.
The B
button (swings the sword) is mapped by default to the Deck’s B button, and R
button (holds up your shield) is mapped to the Deck’s R trigger. I like to map B
to the Deck’s X button to swing the sword, and I change R
to use the right shoulder button instead of the trigger.
Now we need to map the C
buttons. I like to use Y, B, and the right trigger for C-left
, C-right
, and C-down
. It doesn’t matter which face button corresponds to which C
button. In game, I like to assign the bombs to Y, the Boomerang/Hookshot to B, and the Slingshot/Bow and Arrow to R trigger.
The rest of the buttons should be mapped correctly.
After changing the right stick to control the Free Camera instead of the C
buttons, we need to make sure playing the Ocarina doesn’t become a frustrating experience. Go to Enhancements > Controls > Customize Game Controls
. (Here you can adjust the Free Camera sensitivity, which I recommend.) Now, to make sure you can easily play the Ocarina, under Ocarina Controls
, enable either Play with D-pad
and/or Play with camera stick
(I recommend both.)
That’s all there is to it. Have fun playing one of the greatest games of all time on one of the greatest gaming devices of all time. The PC port of Ocarina of Time is constantly being updated with cool new features. Some time after I wrote up this tutorial, the ability to use high res textures and models was introduced. I haven’t tested out that functionality myself, but I definitely will for my next playthrough.