If I could go back in time and show 12 year-old me that I’d be able to play what is arguably the Nintendo 64’s best title (and perhaps one of the best video games of all time), The Legend of Zelda: Ocarina of Time, on my smartphone, I guarantee I wouldn’t believe it.

It sounds like something out of a sci-fi movie.

But in 2015, this is actually possible. I spent hours last weekend playing games like Perfect Dark, Goldeneye 007, Mario Kart and Super Mario 64 on my Nexus 5. To my surprise, most Nintendo 64 games ran relatively smoothly on my smartphone, with very few graphical glitches and only the occasional bout of frame rate issues.

Of the most popular releases for the Nintendo 64, the only title that wouldn’t run at all on the two N64 emulators I tried, Mupen 64 Plus AE and MegaN64, the top N64 emulators on the Google Play Store, was Rare’s classic offbeat comedy game, Conker’s Bad Fur Day.

There’s a slew of other similar Nintendo 64 emulators available for Android devices, but each one is based on the same source code as Mupen 64 Plus AE, and often introduce additional compatibility issues when it comes to what games actually run solidly on the emulator. Sometimes having extra features in an emulator really isn’t a good thing.

Mupen 64 Plus AE is also available for free, but there’s a $0.99 donation version that helps the app’s developers continue to update it.

Just like other emulators, PPSSPP, a PSP Android emulator and SNES9x EX+, the top Super Nintendo emulator on the Android platform, controlling any Nintendo 64 game with a touchscreen is far from ideal, especially given the strange layout of the console’s wacky-looking controller.

You can shift the emulator’s buttons around to your liking, but no layout feels comfortable, especially given how frequently N64 games use the “Z” trigger button on the controller. I constantly found myself contorting my hand to strange angles in order to reach the Z button, especially when playing Goldeneye 007 and Super Mario 64.

Using an Android controller, or rooting your smartphone and using a PlayStation 3 Dualshock 3 or PlayStation 4 Dualshock 4 gamepad, is a much better option for playing N64 games on your Android device, maybe more so than any other retro console emulator available for Android.

Conker’s Bad Fur Day was the one title I encountered that didn’t run properly at all, resulting in a mess of polygons, weird colours and pixelated graphics. Perfect Dark and Goldeneye 007 ran great with a few slow down issues, and in general the dozen games I tried on the emulator, mostly the console’s most popular titles like Mario Kart 64 and a few oddities such as Harvest Moon 64, worked great.

However, every title suffered from some sort of sound glitch, either distorting sound effects in a minor way or causing random popping noises intermittently showing up during gameplay. To avoid this issue I simply played most games with the sound turned down, or completely off. Messing around with Mupen64 Plus AE’s settings fixed many of the audio issues, but they never completely disappeared.

Similar to PPSSPP, in order to play games at a solid frame rate with Mupen64 Plus AE, you need a relatively modern Android smartphone, preferably one with a fast processor and a significant amount of RAM. On the plus side, every title is also upscaled to higher resolutions, so the trademark blurriness many Nintendo 64 games experienced isn’t an issue with Mupen 64 Plus AE.

It’s important to keep in mind that emulators generally fall into a legal gray area, and are often considered illegal and ethically wrong. But there’s also a positive side to the emulator argument.

Emulators give extremely rare, expensive and difficult to find games a new audience, and allow people to relive games they enjoyed as a children.

Whenever possible purchase old school games on services like Nintendo’s eShop, Sony’s PlayStation Network or on Microsoft’s Xbox Live.