The Legend of Zelda: Ocarina of Time [1] – Emulation on Android

I decided to finally continue my Legend of Zelda Challenge. Since I now have an Archos Gamepad, I can play it on the go (for the most part). Of course, this meant I had to set up N64 emulation on the Gamepad and, more importantly, set it up to make Ocarina of Time work with minimal issues. Nintendo 64 emulation leaves something to be desired even on PC, so I had some work before me. Thankfully, I managed to find the proper emulator and tweak the settings to the point where the game runs pretty well, works with few issues and looks pretty good.

 The best Android Nintendo 64 Emulator?

Beats me!

What I can say, though is that, out of all the emulators I tried out, Ocarina of Time runs the best on Mupen 64 Plus AE. I didn’t try out too many, but it beats the Retroarch N64 core and the N64oid out of the water. There are two versions of the emulator on the Play Store. One costs 99 cents, while the other is completely free and both are exactly the same. The paid one exists purely if people want to show support to the developer.

Ocarina of Time -Gohma

Pictured: An early screenshot. After I fixed the issues, but before I upped the graphics a bit.

On default settings, the game did not run well, though, so I had to do some testing and tweaking.

Referential hardware

As I said, and will repeat several times through this article, I’m emulating Ocarina of Time on an Archos Gamepad. It’s a 7″ tablet with physical buttons, intended to be a gaming device. It’s low-budget and not very powerful, but it’s able to emulate PlayStation and Nintendo 64 games adequately. Just for reference, I’ll list its hardware specifications.

  • Screen: 7″, 1024 by 600 resolution, 170 points per inch.
  • CPU: ARM Cortex A9, Dual Core, 1600 MHz
  • GPU: Mali-400, Quad Core
  • RAM: 1 GB
  • Storage: 8 GB, with Micro SD slot.
  • Physical Buttons: Dual Analog, PSP style, D-Pad, 4 main face buttons. Two triggers, two extra buttons on each side, above the analog sticks. Start and Select buttons below the analog sticks.
Archos Gamepad

Pictured: The Archos Gamepad, to make the button arrangement clearer.

Optimal Mupen64 Plus AE settings for Ocarina of Time

Let’s do this screen by screen.

Since we have to choose the correct plugins first, let’s go to the Plugins sub-menu.

Settings > Plugins

  • Video -> gles2rice
  • Input -> inputandroid
  • Audio -> mupen64plus-audio-sdl, v2.0
  • Reality signal processor (RSP) -> mupen64plus-rsp-hle, v.20
  • Emulation core -> mupen64plus-core, v2.0
  • R4300 emulator -> dynamic recompiler (dynarec)

The video plugin is the most important here and with the other two (gles2n64, gles2glide64), I couldn’t get rid of texture flickering during gameplay. This one also had flickering on default settings, but I was able to tweak them to the point of getting rid of them.

Ocarina of Time -Meeting Zelda

Pictured: The memorable moment when Link meets Zelda.

Now that plugins have been selected, it’s time to set up each of them individually.

Settings > Video

  • Screen orientation -> landscape. This is purely by preference, but I’ll mention it anyway
  • Vertical screen position -> middle. This is also preference.
  • Rendered resolution -> 800×600. This will affect game speed. My Archos Gamepad handles this resolution fine and could even go a bit higher. Go lower if there’s stuttering or other types of low performance.
  • Screen scaling -> stretch. Without his, too much screen real estate seems wasted on my device. Purists will probably go with Zoom here, since it fills up as much screen as possible while not distorting anything.
  • Action bar opacity -> 30%. Again, pure preference. Doesn’t really affect much.
  • Display framerate -> Never. Enable it to test out speed, but no need to show it during actual gameplay.
  • Flicker reduction -> Auto-detect from phone/tablet model. The plugin seems to detect it fine on my device and flicker is completely gone. If it doesn’t work on your device, try out all the settings in order. If none work, you’ll need to try a different video plugin.
  • RGBA_8888 mode -> off. I haven’t noticed any difference on my device.
  • Auto frameskip -> off. The game runs on full speed, but when I enable this, it starts to lag.
  • Fast texture loading -> on. Works, and I haven’t seen any downside to it.
  • Texture filtering -> on. Works and game still runs on full screen on my device.
  • Screen update method -> First CI change. When switching to a wrong setting, I get a black screen here, so if you get the same, this might be the culprit.
  • Texture upscaling/enhancement -> None. I find that this works better with 2D games, usually.
  • High resolution textures -> off. This is outside the scope of the setup. I haven’t been using it, but it enables you to load a custom texture set, making the game potentially look way different. There are different packs made by different groups of fans, so give it a try if you’re into experimentation.
  • Fog -> on. Works for me and makes the game look slightly better. Turn it off if it causes slow down or glitches.

Settings > Audio

This is another set of important settings. If configured incorrectly, sound will badly stutter during gameplay. The actual settings are simple, though.

  • Audio buffer size -> Ultra low latency (experimental). Any other option here causes stuttering on my device.
  • Swap audio channels -> off. I guess turn it on if you notice the directionality of the sounds you hear is the opposite of what it should be.
  • Resampling algorithm -> sinc (fastest). Any other setting here causes stuttering on my device.

Settings > Input

You’ll have to go by preference here and if you’re on a regular tablet or phone, you’ll have to stick to an on-screen touch gamepad. If you have physical buttons, though, a few tips specific to Ocarina of Time will now follow.

  • The Z-button is far more important than the L button, so consider putting the Z-button as the left shoulder button and delegating the L button to some other, less prominent place. If you have two pairs of shoulder buttons, then there’s no issue really.
  • The C buttons are also quite important. The Archos Gamepad has dual analog sticks, so I’ve mapped the C-buttons to the right stick. It works fine, since you don’t need a huge amount of precision with them, only the ability to quickly press them.
  • A and B are by far the most used, so set them up as face buttons, the way they should be.

The best case scenario for Ocarina of Time is a physical gamepad with two pairs of shoulder buttons, a proper analogue stick and a set of six face buttons. I have yet to see something like that, though.

General thoughts on the playability of Ocarina of Time on Android

In my opinion, physical buttons are a must here. The game is complex and you’ll be frequently pushing a lot of keys simultaneously. Precision is also required in most cases so a touch screen gamepad will just be annoying.

Ocarina of Time -Fairy Fountain

Pictured: A typical fairy fountain.

With the settings above, the game runs smoothly on my Archos Gamepad, but there are still cases when it will simply lock-up. In that case, leaving the emulator will cause it to auto-save and you won’t be able to reload from that save state any longer, or any other state you save into at that point. Basically, the only way to continue after the game locks up is by loading an actual, proper, in-game save, so do make sure you save often, or face losing a lot of progress.

Ocarina of Time -Death Mountain

Pictured: The path to Death Mountain. Sadly, I’m unable to get rid of the black bottom bar on Android 4.1.

Luckily, you can save your progress at any time. Your location doesn’t stay memorized, so you start back at home and need to run back to where the game crashed, but the progress itself will be saved. Simply go to the start menu and press the B button to save at any point in the game. Do it often.

My progress in Ocarina of Time

I had a lot of issues when I initially tried to play the game on my Archos, to the point where I wanted to immediately give up on it and play it on PC at some later point.

After managing to set it up and getting past the Deku Tree dungeon, I had my first lock up happen to me, making me waste about fifteen minutes of progression. That was my second consideration of giving up.

Ocarina of Time -Dodongo

Pictured: The Dodongo Boss Battle

Now, I’m three dungeons in and I’ve explored a big part of the world out of order, so I’m basically too deep into it to give up. Hopefully, I won’t have something game-breaking happen to me and if it does happen, I’m sure I’ll be able to somehow transfer the ROM and the save to the PC and continue there.

I’m enjoying myself. As different as this first 3D Zelda is to classic Zelda games, I find it at least as charming as I did A Link to the Past.

I’m also taking it easy, trying not to resort to guides or walkthroughs. Even when I’m not sure where to go next exactly, I’m still able to explore and progress in some way, thanks to all the secrets and side-quests the game contains.

The fighting is fun to and the controls work fine on my device after a period of getting used to them.

One thing is for sure, though. It does play differently to A Link to the Past. Way differently. The underlying formula is the same, but how you go through it is totally different.

Like? Share!Flattr the authorShare on Google+0Pin on Pinterest0Share on Facebook0Share on Reddit0Share on Tumblr0Tweet about this on TwitterShare on StumbleUpon0Share on LinkedIn0
  • I tried N64 emulation on my PC awhile ago. I remember Goldeneye having almost no textures and the enemies, seemed to always think I was about twenty feet to the left of where I actually was. Very strange!

    I wound up buying a genuine Nintendo 64 console just due to the frustration of working with the emulation. You can’t beat the real hardware, though emulation for the 16-bit and 8-bit consoles come pretty damn close. Anything over that is a bit iffy, though I’ve had good luck with emulating the Playstation 1. The second Playstation, not so much and anything past that I won’t waste my time trying.

    • From what I hear, the N64 was a relatively complex machine, which is why emulation of it on any platform leaves a lot to be desired, even to this day. I agree, in the case of this console, you probably still can’t beat the real hardware.

      As for the PS1, you can do quite well with that one, to the point where it looks and runs better than the real thing (YMMV, of course).

      • The Playstation2 emulation is hit or miss. Some games act REALLY strange with it! One of my favorite PS2 games, Ace Combat 5, is not compatible with any emulation currently available. Some obscure software or hardware trick is used with the game, with the effect being that when emulated, none of the enemies register any damage at all, effectively giving them God Mode.

        Just one of those strange little quirks of computing in general.

        I also like to comment now and then to let you know you have at least one reader 🙂

        • Lucky for me, I’m mainly interested in the PS2 JRPGs and those are the games that generally run the best on the platform.

  • leGUIGUI

    Why did you not consider playing the 3DS version, if you wanted to play it on the go?

    • I would love to play it, but I do not own a 3DS.

  • Jordan

    This article is 100% effective. It saved me a whole lot of time that I would have spent trying different configurations on my own. Ocarina is running full speed and looking great on my LG optimus fuel. This config is also running great with other games. For DK64 it worked, but I had to change to cached interpreter mode so the games physics stay intact.

    • I’m glad to hear that. Thanks for the feedback.

  • gaialily

    Thanks for this article. I’v tried mupen64 and OOT with gles2rice but when I go start menu and quit it freeze. Not you ?

    • No freezing on my side, I’m afraid. Maybe your ROM got corrupted? Did you dump it (get it from a cartridge) on your own, or did you “find” one online? Maybe try a different version?

      Freezes are common with bad ROMs, even on the PC.

      • gaialily

        I find the rom. I try the plugin glesglide or something like this and it works very great for me.

  • Aldo

    now i can enjoy the game 🙂 .. haha, nice article (y)

  • Decky

    Mega n64 seems to work fine except when in the market I have to switch from 1 plugin that works great to another that flickers a lot, after I’m done in the market I just switch back. Even the on-screen controls are good once you get used to them, you can lock certain button so there’s no need to hold 2 at once.

  • lloyd

    I can’t seem to equip any items that I have,I’m using retroarch,can anyone help my problem