Skip to content

Combo Ship for Android 0.4.14

Latest

Choose a tag to compare

@swunderly swunderly released this 23 Oct 20:25

Combo Ship for Android 0.4.14 is 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.14:

  • Wallmaster Shuffle offers OoTMM's Full choice, with routes between the two games.
  • Save Editor changes made from the other game now apply and are kept when you switch games.
  • Opening a Save Editor without editing no longer changes the save.

Download and install

  1. On your phone, under Assets below, tap ComboShip-Android-0.4.14-arm64.apk (about 45 MB), not "Source code". If your browser warns about the file, choose Download anyway.

  2. 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.

  3. First install:

    1. Copy your two ROM files to the phone first. Unzip them if they are in a .zip.
    2. Open Combo Ship and tap Allow file access. On Android 11 and newer, turn on the switch Android shows, then go back.
    3. Choose your OoT ROM, then your MM ROM. The game starts by itself; choose Extract on the ROM Setup panel.
    4. At the file select, tap Menu, then Apply preset on Home, then Randomizer → Generate → Generate combined seed.
    5. 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.

  4. 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, .v64 or .n64 files (not ZIP):
    • Ocarina of Time: a normal (not Master Quest) ROM that Ship of Harkinian accepts. Tested: N64 USA 1.0. The Master Quest dungeons need the USA 1.0 ROM.
    • Majora's Mask: N64 USA 1.0 or GameCube USA. Tested: N64 USA 1.0.

What's new

  • Full Wallmaster Shuffle, as in OoTMM. Randomizer > Logic & access > Entrances > Wallmaster Shuffle offers None, Own Game and Full. With Full, a capture can take Link to a dungeon in either game. The routes are fixed when the seed is made and listed in its .entrances.txt and spoiler log.
  • A cross-game capture saves the game you leave, including the room's chest, door and key progress. Link keeps his age as through the Happy Mask Shop door; Cross-Games Age also applies. A reset during the capture's fade cancels the trip.
  • Full works with Master Quest dungeons, cross-game warp songs and a starting OoT warp song. It also supports the Master Quest Spirit Temple + Bottom of the Well combination that Own Game must refuse.
  • A Full seed needs 0.4.14 or newer. Older builds refuse it. None and Own Game seeds keep their earlier format.

Fixes

  • The Save Editor of the game you are not playing now changes that game's save. From OoT, MM songs, randomizer item gifts, items and owl statues apply at once and are saved to MM's file. OoT's editor works the same way from MM. The editor explains which changes need that game running.
  • Looking at the Save Editor no longer changes the save. Opening tabs, expanding sections or focusing the player name leaves the save alone until you edit something.
  • MM's Inventory lists the extra boots and tunics in their slots, including the Goron Tunic.
  • OoT keeps its saved magic when a file resumes in MM and an OoT item or editor change is saved from there.
  • Scrolling the MM randomizer check list out of view no longer fills the log with table errors.

How this build was tested

  • Shipping build with no developer code. The APK checks passed, with the same signing key as before.
  • 219 automated tests pass (2 skipped on Windows).
  • On the emulator, with release candidates of this version:
    • Full seeds generated in the app: an adult OoT start in 18 minutes, and an MM start with Master Quest Spirit Temple and Bottom of the Well (16 Wallmasters) in 21 minutes.
    • Wallmaster captures between the games, in both directions, as child and as adult, with Cross-Games Age on and off, landed where the seed said.
    • After a capture, the Song of Time, void-outs, death, saving and reloading, transformation masks and Epona behaved as intended. The room Link was taken from kept its opened chest, unlocked door and key.
    • A reset during a capture's fade cancelled the trip in both directions.
    • Installing over 0.4.12 and 0.4.13 kept an existing file, and 0.4.13 refused a Full seed.
    • The Save Editor checks passed, including edits staying in the file they were made for.
    • Co-op with two emulators on a local server: a capture moved only the grabbed player. Items found by either player reached the other once, before and after the split, and after a save and reload.
  • 54 seed tasks with this version's generator.
    • 25 new Full seeds and 4 earlier seeds generated and reproduced byte for byte, and those with logic were confirmed beatable.
    • 12 seeds from 0.4.13 came out identical, and 12 more were replayed as beatable.
    • A refused Master Quest combination stopped with its sentence.
  • Not tested on a phone, or through a complete seed playthrough.

Known issues

  • Some Wallmasters drop only after Link stands still on the ground near their spot for a few seconds, as in the original games.
  • The check tracker does not yet follow Wallmaster routes into the other game, so it can show a reachable check as out of reach.
  • In the MM Save Editor's Randomizer tab, the check list search and the Give randomizer item search share one field, so typing in one fills both, and with both on screen a small red "conflicting ID" box can appear. This is cosmetic.
  • A bottle used at the end of an attack can break Powder Keg boulders in MM. This original-game glitch is unchanged, and logic never requires it.

Known limits

  • Most testing is on an emulator. This version has not been tested on a phone or through a complete seed playthrough.
  • Audio delay and quality, keyboards, SD card storage, mods, MM cycle resets and multiplayer over the Internet have not had a complete device check.
  • Seeds and patches from the OoTMM website do not work. Use the built-in generator.
  • Wallmaster Shuffle cannot yet be combined with Ship's OoT entrance shuffles, Enemy Randomizer, a starting Song of Soaring, or Warp Songs and Soaring Spots Shuffle.
  • With a few unusual settings, Full stops with a plain sentence because this port cannot yet prove the other age can reach the Temple of Time. Choose Own Game or start as child Link. OoTMM can search more layouts in these cases.
  • OoTMM's other entrance shuffles 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

  • Report a Wallmaster that takes Link somewhere other than its line in the .entrances.txt file.
  • Report any Save Editor change that disappears after switching games or restarting the app.

Report problems in Issues, with the app version, phone model and Android version. App options > Back up saves and settings makes a ZIP with logs. It has no ROMs, but includes spoiler logs.

Checksums

  • APK SHA-256: 992b1c945069a416e4ca7368953f81a9c1d7043bec9f999533a8d36a29be9a5e
  • Signing certificate SHA-256: 162c4deb267e71cee159fffe81be7a0dc582f2aad126b599d3a43bd7d6246676
  • Source: tag v0.4.14-android, commit dcebba85. The APK itself was built from commit dbedf989 (tag v0.4.14-rc2); the commits after it change only host tools, tests, test seeds and documentation.

Licenses

License notices: see THIRD-PARTY-NOTICES.txt under Assets below, and the README.

  • The Master Quest dungeon data is OoTMM's, under its MIT license, which the APK includes.
  • The notices file adds the Fast3D, ZAPDTR, OTRExporter and OoT-Randomizer license texts, which the 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.