Repository navigation
Combo Ship for Android 0.4.12
Combo Ship for Android 0.4.12, the Ocarina of Time + Majora's Mask combo randomizer for Android phones. It is an unofficial Android port of ComboShip, a cross-game randomizer inspired by OoTMM and built on Ship of Harkinian and 2 Ship 2 Harkinian. Both games run natively in one app, with no emulator and no PC needed.
No ROMs are included. You need your own legally obtained OoT and MM ROMs. This is an unofficial fan project, not affiliated with Nintendo, Harbour Masters, the 2 Ship 2 Harkinian team, the OoTMM team or upstream ComboShip.
The README explains everything the app includes and how it differs from upstream ComboShip.
New in 0.4.12: Wallmaster Shuffle, the first of OoTMM's entrance shuffles, with its Own Game choice. Also a fix for seeds loaded with the Plandomizer.
Download and install
- On your phone, under Assets below, tap
ComboShip-Android-0.4.12-arm64.apk(about 45 MB), not "Source code". If your browser warns about the file, choose Download anyway. - Open it. If Android asks, allow your browser or file manager to install unknown apps. The app is not from Google Play and is signed with a development key, so Google Play Protect may warn you. You can still install it, usually with More details, then Install anyway.
- First install:
- Copy your two ROM files to the phone first (unzip them if they are in a
.zip). - Open Combo Ship and tap Allow file access. On Android 11 and newer, turn on the switch Android shows, then go back.
- Choose your OoT ROM, then your MM ROM. The game starts by itself; choose Extract on the ROM Setup panel.
- At the file select, tap Menu, then Apply preset on Home, then Randomizer → Generate → Generate combined seed.
- Tap Return to game, pick an empty file (File 1 unless you changed it), wait for Seed ready for OoT + MM, and choose Start Randomizer.
- Full steps: README.
- Copy your two ROM files to the phone first (unzip them if they are in a
- Updating an earlier Combo Ship build: install over it. Do not uninstall first or clear app data. Your ROMs, saves and settings are kept, and saves keep their seeds. Make a backup first with App options → Back up saves and settings.
An APK built by someone else, including one you built yourself, has a different signature. This APK cannot install over it.
Requirements
- Android 9 or newer, 64-bit ARM (arm64-v8a), OpenGL ES 3.0.
- Your own ROMs, as raw
.z64,.v64or.n64files (not ZIP):- Ocarina of Time: a normal (not Master Quest) ROM that Ship of Harkinian accepts. Tested: N64 USA 1.0.
- Majora's Mask: N64 USA 1.0 or GameCube USA. Tested: N64 USA 1.0.
What's new
- Wallmaster Shuffle (Randomizer > Logic & access > Entrances), with OoTMM v32.3's name and description. Choose Own Game, and a Wallmaster that grabs Link takes him to the start of a dungeon in the same game, chosen when the seed is made.
- Where:
- OoT: the Forest, Shadow and Spirit Temples, the Bottom of the Well, the Gerudo Training Ground, and two of Ganon's Castle's trials.
- MM: Beneath the Graveyard on night 3, and Beneath the Well.
- Logic knows these routes, as in OoTMM. In OoT, Wallmasters also come back in rooms you have already cleared.
- Spoiler file: each seed gets a file ending in
.entrances.txtnext to its spoiler, listing where each Wallmaster leads. - OoTMM's entrance-shuffle rules also apply to these seeds:
- In MM, the Song of Time returns Link to where he last entered MM.
- In MM, hot spring water never cools.
- In OoT, adult Link saved in Link's House starts at the Temple of Time.
- Limits for now: combined randomizer only, and vanilla dungeons only. It can't be combined with Enemy Randomizer, Ship's OoT entrance shuffles, cross-game warp songs, Warp Songs and Soaring Spots Shuffle, or starting warp songs. The row says what to change. OoTMM's "Full" choice (Wallmasters sending Link between the games) is not offered yet. Lifting these limits is planned, starting with cross-game warp songs.
- Where:
- Co-op works with Wallmaster Shuffle. Load the same seed file on both devices (Randomizer > Plandomizer).
- Fix: saving a seed loaded with Randomizer > Plandomizer now keeps it exactly as generated. Before, ice traps from the other game lost their trap, and every item from the other game was marked as progression. 0.4.11 and earlier had the same problem.
- Old saves and seeds made without Wallmaster Shuffle play exactly as before.
How this build was tested
-
Shipping build with no entrance developer code. APK checks passed, with the same signing key as before.
-
174 automated tests pass (2 skipped on Windows).
-
116 test seeds made by this build's generator on the emulator:
- all 116 generated, and each came out byte for byte the same when made again;
- the 110 with logic were confirmed beatable by the generator's playthrough check.
-
Co-op check on two emulators with a local server:
- items were shared both ways;
- a Wallmaster grab moved only the player it caught, to where the seed says;
- leaving and reloading worked;
- a player on a different seed was refused.
Not covered: play over the Internet, and a partner still on 0.4.11.
-
On the owner's phone (release candidate 1, the same Wallmaster code):
- a Wallmaster seed generated in about four minutes;
- Wallmaster captures in OoT and MM behaved as intended.
Known issues
- Some Wallmasters only drop when Link stands still on the ground near their spot for a few seconds, as in the original game. The Bottom of the Well's main room one waits near the centre of the room.
- One phone report says adult Link couldn't use Song of Soaring to go from OoT to MM with "Play warp songs across games" and Song of Soaring at any age on. On the emulator it works, with both options on. If it happens to you, please report where you played it and what appeared.
- With "Skip story cutscenes" on, returning the Deku Princess can loop through black screens many times before it stops. Turning the skip off stops it.
- A new glitch in the original games, using a bottle at the end of an attack, can break Powder Keg boulders in MM. It works here too. Logic never requires it.
Known limits
- Early build. Most testing is on an emulator, plus some checks on the owner's own phone.
- Not yet checked on a real device: audio delay and quality, keyboards, SD card storage, mods, MM cycle resets, multiplayer over the Internet.
- Seeds and patches from the OoTMM website do not work. Use the built-in generator.
- Master Quest dungeons, MM entrance shuffle and cross-game entrance shuffle are not available yet.
- No Windows, Linux or macOS builds here. On a PC, use upstream ComboShip.
- Based on upstream ComboShip as of September 17, 2026. Later upstream changes are not included.
- Not on Google Play, and the app does not check for updates.
Help wanted
Try a seed with Wallmaster Shuffle on, and report any Wallmaster that takes Link somewhere other than its line in the .entrances.txt file.
Report problems in Issues, not to upstream projects. Include:
- the app version, your phone model and your Android version;
- for a Wallmaster problem, the seed name and that Wallmaster's line.
App options → Back up saves and settings makes a ZIP with logs. It has no ROMs, but it does include spoiler logs.
Checksums
- APK SHA-256:
36524713b0a46abcaa5eb93e5a49efc86e8a6b1507e8097f20fcd233a45133be - Signing certificate SHA-256 (Android Debug, same key as earlier Combo Ship builds):
162c4deb267e71cee159fffe81be7a0dc582f2aad126b599d3a43bd7d6246676 - Source:
- Release tag:
v0.4.12-android, commit33c972f1. - The APK itself was built from commit
bac6edf1(tagv0.4.12-rc2). The commits after it change only tests, test data and documentation.
- Release tag:
Licenses
License notices: see THIRD-PARTY-NOTICES.txt under Assets below, and the README. That file adds the Fast3D, ZAPDTR, OTRExporter and OoT-Randomizer license texts, which the 0.4.12 APK does not include yet.
Full changelog: ComboAndroid/docs/CHANGELOG.md
Unofficial fan project, not affiliated with Nintendo, Harbour Masters, the 2 Ship 2 Harkinian team, the OoTMM team or upstream ComboShip. Built largely with AI coding agents. No ROMs or ROM-extracted game archives are included.