Ocarina of Time Android Port: An Unhinged Tutorial

Because I had enough page visits and one affiliate link purchase (I made this up and have no idea how the system works), Stubbsidaisy released me from his underground dungeon, sup gamers. I'm commenting from the comfort of my old workplace as I browse Facebook and see how many people are unaware that the independent organization Ship of Harkinan decompiled and ported The Legend of Zelda: Ocarina (pronounced Ahk-are-ee-nah, not Ohk-are-ee-nah). Aren't the 2020s fantastic? Eh. In any case, I wanted to demonstrate how to get this working on your preferred Android system because I enjoy being of service. For this dive, take a break from advertising your Steam Decks on the marketplace and grab your preferred Android portable.

Feel free to scroll down to the bold paragraph where the fun starts, since this one will get rambling. Remember that the faster you move through life, the faster it will pass you. You might as well pause and read a shitposter's piece. Now, let's discuss the Ship of Harkinan.

Given the limitless potential of emulation, you may be asking why anyone in their right mind would want to take the extra work to configure one of the greatest games ever to run natively on the finest handheld operating system. I won't go into detail about that final aspect, but if your battery life permits it, feel free to rant about why it's superior in the comments section using your preferred handheld operating system. Believe me, I'll read it. Returning to the subject, this technique employs decompilation and recompilation rather than emulation. It provides an N64-bubkis-free native port of THE GAME (you lost) without any intermediary software. This is great because it eliminates the need to deal with that dreadful 20 frames per second or adjust settings every 4 seconds whenever a frame stutter is caused by an emulation mistake. If you use good frame buffer emulation, you might even be like me and notice the nearly 250 milliseconds of lag imposed on top of the console input lag. I may have gaslighted one of the Mupen developers in my arguments with others on Reddit over this. It exists and is awful.

I don't like N64 emulation. It's terrible, and I ended my relationship with my sister on prom night. No matter how much Nintendo tries to sell it to you, it's so awful that they can't even get it right (sometimes in the same system generation). With no additional input lag, we have a version of Ocarina of Time that runs natively on any dumb Android device you may be using, in any dumb aspect ratio your handheld device may have, at any frame rate your console may permit, and at any resolution you choose. Do you want it at 120Hz and GLORIOUS 4K? Excellent. Make Nintendo long for the R&D skills of GitHub nerds, who have a greater affinity for their IPS than they do. A randomizer, arbitrary difficulty settings, auto-save, a free camera, Dpad navigation, quicker text, restoration from patched copies, and more have been meticulously constructed. The individuals behind this project act against them, so don't thank God. We are grateful for open-source programming and the many hours of work that have gone into making your lives easier and better. However, this port does wet my wallabies a lot.

If you skipped this section, you are at the beginning of the tutorial. Congratulations, but your life is a little worse since you didn't read the preceding lines.

We appreciate SOH Dev Waterdish for reducing the roughly four apps to a single master file compatible with almost all relevant Android versions. Donations are not being accepted at this time, but the primary website link is as follows: The website https://www.shipofharkinian.com/

What You need: This tutorial, a completely legal ROM called Zelootd.z64, and any Android smartphone with built-in or attached controllers that is Android 9+

Step one: Remove EVERY trace of the app from the Android -> Data directory, except the ROM file, if you've tried this before and failed. This will be called com.dishii.soh or a comparable term.

This is significant because:

Actually Step One:

  • The "Soh.apk" file (Only) can be downloaded at https://github.com/Waterdish/Shipwright-Android/releases. Please don't ask me to define an. APK file.
  • You can use the same procedure to download and open the most recent APK to update the app. There you have it.
  • Perhaps hold off on installing until you have everything you need, such as

Step Two: Hold on, have you configured your ZELOOTD.z64 rom? No? Alright... Sorry, but that's the real GAME, so you'll need that. SOH recognizes this particular syntax-sensitive version of the ROM. You most likely got this Oot rom from your grandmother's favourite illegal video game website, but is it just any Oot rom? (Thanks for the tip, Andy!) To determine if your ROM is compatible, visit this website: { https://ship.equipment/ }. However, the suggested version is essentially a master quest version of "Ocarina of Time Debug PAL GC" or something like that.

  • In other words, save your PAL version of the GameCube port as a.z64 file with the name "ZELOOTD.z64." I'll wait.

Or

  • Seek guidance on Reddit.
  • Alternatively, utilize your current ROM and call it ZELOOTD.z64.

No, neither your grandmother nor I will mail you Zelda ROMS.

  • On your Android smartphone, place the ROM file in a stylish and accessible directory. Do not use ZIP archives.

Step Three, Return of the APK 

  • Install and launch your soh.apk file, then select "Yes" for each of the following: Finding your ROM, creating an OTR, and granting storage rights, which are all yes.
  • Locate your ROM. You will sit before a black screen while the extraction procedure takes a minute or two. This is typical. You are typical.
  • When asked to request another ROM, you should choose NO. THE GAME (all right, last time) will then begin to play.
  • Due to your indiscretion, please read the complete article by clicking this link: https://retrohandhelds.gg/ocarina-of-time-android-port-an-unhinged-tutorial/
  • Additionally, there is a lesson on the original GitHub that is probably better but less entertaining: "Waterdish/Shipwright-Android" https://github.com

I know you're crying as you look at this prohibited but charming wonder, so stop and enjoy its splendour while I prepare a snack.

.... … We're out of cereal, and I spilled milk everywhere.

Since we haven't finished yet, I'll give you a straightforward setup tutorial to get you started.

Step One, Basic Navigation

  • By default, the menu should appear when you press your Select or (-) equivalent. That concludes the step.

Step Two, UI Scaling Headache

  • UI scaling settings are available in Settings for more recent program versions.
  • This is the first thing you should mess with. Use your touch screen to choose the best UI size for you. I used X-LARGE on my Retroid Pocket 3+.
  • To change the scroll size on the right, go to Settings -> Graphics -> ImGuii Menu Scale. This option is annoying, but it's being worked on. This will be difficult, so for updates, see Waterdish's GitHub: "Waterdish/Shipwright-Android" https://github.com

Step Three, There are many configuration choices available here, so I'll highlight the ones you'll need to use to fully appreciate it, as well as a couple I'd suggest.

  • Under Settings
  • Audio, default is the default.
  • Controller
  • Examine the default controller mapping and try your hardest to make it work. Ought should be self-evident.
  • The other possibilities are tremendous. Alt ocarina controls, your free camera on the right stick, mappable Dpad buttons, and even movement speeds are some of the adjustments available here to make the game more playable. Be mindful to prevent some settings from interfering with your other settings.
  • Graphics
  • Feel free to experiment with the internal resolution modifier, framerate, and UI scaling. Enjoy your lovely 60 frames per second (I have mine set to 30 for battery longevity). I would keep other settings as their default.
  • Under Enhancements
  • A plethora of setting choices are available to change your game. Although "Enhanced" could be the best option, I set the preset to "Vanilla Plus." You can fiddle with the colour of your tunic, recover cut content, add several time savers, and more here. If you dig, it's very self-explanatory, but you don't have to pick it up and play. Apart from:
  • IMPORTANT. To help yourself, select "No Vanish" under "Fix Vanishing Paths" under Enhancements -> Graphics. It's just wild, and I have no idea why this isn't turned on by default.
  • Under Cheats
  • It isn't very ethical. You are familiar with the procedure.
  • Under Randomiser
  • Although I don't use it myself, the settings are available here. I hope you had fun.

Step Four,

  • Try not to obsess over the finer points of the tuning. Or do it. It's enjoyable but not necessary. You should be OK after adjusting your frame rate and resolving vanishing paths.

Whoa, that was enjoyable. In any case, have you ever tried blasting bass-heavy, rave music into your mouth through your phone's speaker? Make a sound hole out of your mouth? The entire hole? Have a rave in your mouth? Raise it to your lips and make a "wah-wah" sound with your tongue. Then, make a mouthful motion to your spouse while saying your name and something eerie. I don't know, do it. It's enjoyable. Post something like an unsolicited video.