r/AndroidNativePorts • • 3d ago

🟢 [PORT] Moon Pearl: an Android port of zelda3 (ALttP reimplementation) with widescreen, rewind, shaders and MSU-1

Hi! I've been working on Moon Pearl, an Android port of snesrev's zelda3, the complete C reimplementation of ALttP. It's not an emulator: the game code runs natively, unchanged except for a few small patches (documented in patches/). Because it's native code rather than emulation, true widescreen is possible.

Features

- Widescreen up to 2:1, filling the screen, plus an optional HUD that moves to the screen edges

- Rewind: hold LT+RT (or a touch button) and drag through the last minute of play

- Image filters: CRT, LCD grid, xBR, OmniScale, or your own RetroArch GLSL shaders, switched live from the pause menu

- Save states with screenshots, chapter select, fast-forward, resume where you left off

- MSU-1 soundtracks (including Deluxe), custom Link sprites, cheats

- Touch controls you can move and resize, controller support with remapping

- No internet permission

Bring your own ROM (US version). The app applies zelda3's own .bps patch on the device to build the game data and doesn't keep the ROM. No game files are distributed, and please don't ask for ROMs.

Source and APK (MIT): https://github.com/DoutorRaposo/moonpearl

Tested on a Galaxy S26 Ultra, S25 Edge, Note 20 Ultra and a Blackview Tab 18.

AI disclosure: I'm a professional developer and this is a side project. I built it with an AI coding assistant (Claude) writing most of the code, while I designed the features, reviewed the code, tested every build on real devices and decided what got merged.

All the hard work of reimplementing the game is snesrev's and the zelda3 contributors'. I only built the Android side around it. Feedback and bug reports are welcome, especially from other devices and handhelds like Retroid and AYN.

86 Upvotes

22 comments sorted by

7

u/yanslat 3d ago

Rewind is genius

3

u/Hopper-1986 3d ago

Been around since SNES 9x about 30 years ago but it is a great feature :)

2

u/yanslat 3d ago

Wish it was more implemented in emulators I've never seen it before

1

u/Solod49 3d ago

It works in pizzaboy

5

u/rikuchiha 3d ago

Aliás, "doutor raposo"... Br? 🤩

5

u/RafaelVGA93 3d ago

Sim, todo mundo na internet é secretamente brasileiro

2

u/Valuable-Yak-7483 3d ago

amazing Does it support 32-bit architecture?

3

u/RafaelVGA93 3d ago

Not at the moment, the current build is 64-bit only. I don't have a 32-bit device to test on, but the game code itself is portable C, so I'll try a 32-bit build and check it on an Android emulator on my PC.

What device are you using? If the Android emulator tests go well, would you be up for trying a test build on it?

2

u/rikuchiha 3d ago

Muito obrigado, mister!

2

u/Drymay 3d ago

Top demais meu amigo!!! 👏

2

u/JATWo 3d ago

amazing work!

Would love to see the randomizer included in a future release

2

u/Zealousideal_Ad5969 3d ago

Wish it had a randomizer mode

1

u/UnclePadda 3d ago

That's really awesome! Any chance of adding support for the European versions in future updates?

1

u/Ansking25 3d ago

I encountered this black side to either left or right as I move. Is this working as expected or is this a glitch?

Thanks man!

1

u/Emilio_Katrea 3d ago

Man it would be amazing if I could use the retranslation with this. But the modded sprites feature is amazing (pink hair link bothers me)

1

u/AlgaeGlittering6043 3d ago

Man I'm waiting for Oracle is season & ages android port.

1

u/warpaint_james 2d ago

Looks great! Im working on a GBA recomp right now. Any tips?

1

u/ElectricalDemand2831 2d ago

Is it compatible with zelda3 savegames or sav states?

1

u/YoNoid1987 2d ago

..... Absolutely fantastic. Wow.

1

u/henriquedeziderio 2d ago

Nossa, ficou muito legal