Guide

Ship of Harkinian on a Handheld: The Full Setup Guide

Ship of Harkinian on a Handheld: The Full Setup Guide — Setup guide for retro handhelds | Held Games

Affiliate disclosure: This guide contains affiliate links. As an Amazon Associate, we earn from qualifying purchases at no extra cost to you. Learn more.

2026-09-18 · Setup guide

Affiliate disclosure: This guide contains affiliate links. As an Amazon Associate, we earn from qualifying purchases at no extra cost to you. Learn more.

Ship of Harkinian is the best argument in retro handheld gaming for why decompilation matters.

Ocarina of Time emulated on a cheap ARM handheld is fine. Ocarina of Time running as a native ARM program, with ultrawide support, a properly stable frame rate and mod support, on the same hardware, is a different game. There is no N64 being simulated, so there is no emulation cost to pay.

It is in PortMaster, it is listed for forty devices including the cheapest Anbernics, and getting it running takes about twenty minutes. Most of that time is one step that the guides tend to gloss over.

What You Need First

  • A handheld running a PortMaster compatible firmware, or a Steam Deck
  • PortMaster installed
  • A copy of Ocarina of Time you dumped yourself
  • About twenty minutes

That third item is not negotiable and not a formality. The port contains rebuilt code and no game content whatsoever. Without your own ROM there is nothing to render. We do not link ROM sources.

The Short Version

  • What it is: a source port of Ocarina of Time and Master Quest, built from the decompilation
  • Current version: 9.2.3, released 14 April 2026
  • In PortMaster: yes, as soh, listed for 40 devices
  • Architectures: aarch64 and x86_64, which is unusual in PortMaster
  • What you supply: your own Ocarina of Time ROM, converted to an .o2r file
  • Sequel: 2Ship2Harkinian covers Majora's Mask, in PortMaster as soh2

Step 1: Install PortMaster

If PortMaster is already on your device, skip ahead.

If not, our complete PortMaster guide covers installation for every supported firmware. Most modern custom firmware images ship with it already, so check your tools menu before installing anything.

On Android handhelds PortMaster is not directly available, and you go through Starboard instead.

Step 2: Install the Port

Open PortMaster, search for Ship of Harkinian, install.

PortMaster pulls the correct build for your specific device automatically. This part takes a minute and needs no decisions from you.

The port will install and then refuse to launch. That is expected. It has no game data yet.

Step 3: The o2r Conversion, Where Everyone Gets Stuck

This is the step worth slowing down for.

Ship of Harkinian does not read a raw N64 ROM. It reads a packed asset archive with an .o2r extension, which you generate yourself from your ROM. The conversion extracts the game's assets into a format the port can use.

You do this on a computer, not on the handheld. The official setup guide at shipofharkinian.com walks through the process for each desktop platform, and it is the authoritative source for the current tooling.

You end up with one of two files:

  • oot.o2r from a standard Ocarina of Time ROM
  • oot-mq.o2r from a Master Quest ROM

You can generate both and have both available in game.

Step 4: Put the Files Where the Port Expects

Copy your generated .o2r file onto the handheld, into:

ports/soh/baseroms

That path is what PortMaster's own install notes specify. Both oot.o2r and oot-mq.o2r go in the same folder if you made both.

Launch the port again. It should boot straight into the game.

Step 5: Worth Changing Immediately

A few settings are worth adjusting before you start playing properly.

Set the aspect ratio to your screen. Native widescreen is one of the headline features and it is not always on by default. On a 16:9 handheld this is the single biggest visual improvement available to you.

Check the frame rate cap. The port can run well above the N64's original target. On battery powered hardware, higher is not automatically better. Matching your display's refresh rate and stopping there is usually the right call for battery life and heat.

Turn on the enhancements you want, deliberately. There is a large menu of quality of life options. Some are faithful conveniences, some meaningfully change the game. Going through them once at the start beats discovering mid playthrough that text speed was adjustable.

Majora's Mask Too

The same team's sequel project covers Majora's Mask, and it is in PortMaster as Ship of Harkinian 2.

Setup follows the same shape. Install from PortMaster, generate an mm.o2r file from your own Majora's Mask ROM following the project readme, drop it where the port expects it.

It is listed for the same forty devices and ships both aarch64 and x86_64 builds, exactly like the original.

Which Handhelds Actually Handle It

PortMaster lists Ship of Harkinian for forty devices, from the RG28XX up to the Steam Deck. Listed does not mean identical experience.

Cheapest tier. RG28XX and similar. It is listed and it runs. Do not expect to also crank the resolution and frame rate.

Mid tier. The

class is the comfortable floor, with enough headroom for widescreen without fighting the device.

Upper ARM tier. A

handles it with room spare, and gives you the rest of the PortMaster catalogue comfortably too.

Steam Deck. The

is overkill in the best way, and you can install directly from the project rather than through PortMaster if you prefer.

Why Bother, When Emulation Works

Fair question, because N64 emulation on handhelds is genuinely decent now.

Three reasons this is still better where it is available.

No emulation overhead. Your handheld runs the game directly rather than simulating an N64 to run it inside. That frees headroom that goes into resolution and stability instead.

Features the original could not have. Native ultrawide, uncapped frame rate, proper modern controller handling, and mod support far beyond what you get patching ROMs.

It is more stable. Emulator compatibility quirks around this specific game stop being your problem, because there is no emulator.

The trade is coverage. This works for exactly the handful of games that have been decompiled and ported. Our full list of decomp ports on ARM handhelds is ten games long. An emulator plays the whole library. You want both.

Questions People Ask

Do I need the original cartridge?

You need a ROM you dumped from a copy you own. The port ships no game content at all, and the .o2r conversion has nothing to work from without your ROM.

Why will it not accept my ROM directly?

Ship of Harkinian reads a packed .o2r asset archive rather than a raw ROM. You generate that file yourself on a computer using the project's tooling, then copy it to the handheld.

Where exactly do the files go?

Into ports/soh/baseroms on your handheld. Both oot.o2r and oot-mq.o2r live in that same folder.

Does this run on Android handhelds?

Not through PortMaster directly, since PortMaster targets Linux handhelds. Starboard brings part of the catalogue to Android, and the project also publishes builds for other platforms.

Can I play Master Quest?

Yes. Generate an oot-mq.o2r from a Master Quest ROM and place it alongside the standard file. The port handles both.

Is Majora's Mask supported?

Through the separate 2Ship2Harkinian project, which is in PortMaster as Ship of Harkinian 2. Same setup shape, using an mm.o2r file.

Is it still being updated?

Yes. Version 9.2.3 shipped in April 2026, and the project has a long history of regular releases.

Version data from the project's GitHub releases, and PortMaster availability, architecture and install-path details from PortMaster's public port database, both retrieved 18 September 2026. The asset conversion procedure changes between releases, so the project's own setup guide is deliberately referenced rather than reproduced here.

Related reading