Skip to content

Releases: swunderly/ComboShip

Combo Ship for Android 0.4.14

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.

Combo Ship for Android 0.4.13

Choose a tag to compare

@swunderly swunderly released this 22 Oct 12:52

Combo Ship for Android 0.4.13 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.13:

  • Master Quest dungeons from your normal OoT ROM, as in OoTMM.
  • Wallmaster Shuffle now works with Master Quest dungeons, cross-game warp songs and a starting OoT warp song.
  • OoTMM's OoT warp-song places.
  • Fixes for seed setup, saves when crossing games, and co-op seed sharing.

Download and install

  1. On your phone, under Assets below, tap ComboShip-Android-0.4.13-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

  • Master Quest dungeons, as in OoTMM. With an OoT USA 1.0 ROM, any of the 12 OoT dungeons can be its Master Quest version, played from your normal ROM with OoTMM's bundled Master Quest data.
    • Search "MQ Dungeon Setting" in the Randomizer tab. The settings are None, Set Number, Random or Selection Only.
    • Allsanity makes each dungeon Master Quest on a coin flip, as OoTMM's does.
  • Wallmaster Shuffle in more seeds:
    • With Master Quest dungeons. One combination can't be made, in OoTMM either: Master Quest Spirit Temple and Bottom of the Well with a normal Shadow Temple and Ganon's Castle. When your settings always give that combination, the row says what to change. When a random roll gives it, generation stops and asks you to try another seed.
    • With "Play warp songs across games" and Song of Soaring at any age (OoT), as OoTMM allows.
    • With a starting OoT warp song, for example Prelude of Light. The Beginner preset still needs Song of Soaring removed from MM's starting items.
  • OoT warp songs and the ocarina now work where OoTMM allows them, in new seeds:
    • Warp songs, Soaring and Farore's Wind work in the Gerudo Training Ground and inside Ganon's Castle.
    • OoT's warp songs are refused in the Windmill and Dampé's grave.
    • The ocarina works at Granny's Potion Shop and the Shooting Gallery.
    • Files you already started keep the old behaviour.

Fixes

  • A seed with a Random starting age now always starts at the same age. Before, the age was chosen again when a seed was set up after an app restart, loaded with the Plandomizer, or loaded on a co-op partner's device. Link could then start at the other age than the seed was made for, which can leave it unbeatable. The Allsanity and Beginner presets use a Random starting age.
    • This has been the case since at least 0.4.5.
    • New seeds record their choices. The seed view shows the starting age and required trials, and warns for older seeds.
    • Files you already started are unaffected.
  • Crossing games no longer loses the room you left from. Warping to the other game with a warp song, Soaring or Farore's Wind used to forget what you had just done in that room. A chest you opened could close again and give its item twice, and a door you unlocked could lock again while the key stayed used. This affected both games.
  • Saving a seed made in the app onto another file with Randomizer > Plandomizer works again for Wallmaster seeds. In 0.4.12 this was refused, which broke the co-op step for the second player. A failed save now says plainly that the file was left unchanged.
  • With "Skip story cutscenes", returning the Deku Princess no longer loops through dozens of black screens.
  • Starting with Song of Soaring in MM now greys out Wallmaster Shuffle in the menu, instead of failing only when generating.

How this build was tested

  • Shipping build with no developer code. The APK checks passed, with the same signing key as before.
  • 213 automated tests pass (2 skipped on Windows).
  • On the emulator, with release candidates of this version:
    • All 220 Master Quest rooms of the 12 dungeons were checked against OoTMM's data, as child and as adult.
    • All 16 Master Quest Wallmasters sent Link where their seed said.
    • Cross-game warp songs, Soaring and the Song of Time return worked.
    • Captures after crossing games, a starting Prelude of Light seed and the new warp-song places worked.
    • The Deku Princess skip worked, and installing over 0.4.12 kept the existing save.
    • A Random starting age stayed the same after app restarts.
    • Plandomizer saves of seeds made in the app worked.
    • A room's progress was kept after crossing games.
  • 46 test seeds made by this version's generator generated, reproduced byte for byte, and those with logic were confirmed beatable. They covered Wallmaster seeds with Master Quest dungeons, cross-game songs and a starting warp song, Master Quest seeds without Wallmasters, and 0.4.12 seeds made again.
  • Not tested on a phone. Not tried: adult Link jumping a fence on Epona in MM, and co-op over the Internet.

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.
  • In MM's Save Editor, edits made while OoT is the game in front don't stick, and the same goes the other way around. Switch to the game you want to edit. A fix is planned for 0.4.14.
  • 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, and multiplayer over the Internet.
  • Seeds and patches from the OoTMM website do not work. Use the built-in generator.
  • Wallmaster Shuffle:
    • It offers Own Game, not yet OoTMM's Full.
    • It still can't be combined with Ship's OoT entrance shuffles, Enemy Randomizer, a starting Song of Soaring, or Warp Songs and Soaring Spots Shuffle.
    • 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

  • Play a seed with Master Quest dungeons.
  • Report any room that looks wrong, or 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 Android version. 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: 7277b4aa2925912eadce455b4a56294e18f5779a05a0f391630431220a3dcfd0
  • Signing certificate SHA-256 (Android Debug, same key as earlier Combo Ship builds): 162c4deb267e71cee159fffe81be7a0dc582f2aad126b599d3a43bd7d6246676
  • Source: tag v0.4.13-android, commit a5a0bdab. The APK itself was built from commit d74a3aa1 (tag v0.4.13-rc3), and the release commit changes only 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](https://github.com/swunderly/ComboShip/blob/v0.4.13-android/ComboAn...

Read more

Combo Ship for Android 0.4.12

Choose a tag to compare

@swunderly swunderly released this 21 Oct 08:41

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

  1. 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.
  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:
    • 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.
  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.
    • 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.txt next 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.
  • 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, commit 33c972f1.
    • The APK itself was built from commit bac6edf1 (tag v0.4.12-rc2). The commits after it change only tests, test data and documentation.

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.

Combo Ship for Android 0.4.11

Choose a tag to compare

@swunderly swunderly released this 19 Oct 03:52

Combo Ship for Android 0.4.11, 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.11: Song of Soaring at any age (OoT) is an option again, matching OoTMM's Ageless Song of Soaring. Files you already started keep Soaring at any age. It also includes 0.4.10's Home game modes.

Download and install

  1. On your phone, under Assets below, tap ComboShip-Android-0.4.11-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: 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.
  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. The first launch after an update may take a few extra seconds. Installing 0.4.11 over earlier builds has not been tried on a phone yet, so 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.
    • Majora's Mask: N64 USA 1.0 or GameCube USA. Tested: N64 USA 1.0.

What's new

  • Song of Soaring at any age (OoT) is an option again, as OoTMM's Ageless Song of Soaring, on the Warps & travel page of both the Randomizer and Enhancements tabs. With it off, as in OoTMM, only child Link can play Soaring in OoT, and logic only uses child Soaring. The Beginner preset turns it on, as OoTMM's does. Files you already started keep Soaring at any age automatically.
  • Cross-game warp songs now get an answer where OoTMM refuses them: an OoT warp song played in MM where Song of Soaring can't be used shows MM's "nothing happened" message, and Song of Soaring played in OoT where OoTMM blocks it (Temple of Time, the Market, houses and shops) shows "You can't warp here!".
  • Also in this build, from 0.4.10: Home > Game mode (combined randomizer, OoT or MM randomizer only, vanilla OoT or vanilla MM). See the 0.4.10 release.

How this build was tested

  • Native ARM64 build, APK packaging, lint and APK checks passed (shipping build, no entrance developer code).
  • 169 automated tests pass (2 skipped on Windows), including checks that old runs keep Soaring at any age and new ones follow the option.
  • Released for phone testing without an emulator run. Not tested on a phone.

Known issues

  • Adult Link playing an ocarina in MM uses MM's normal ocarina camera, as in OoTMM. This is intended.

Known limits

  • Early build. Most testing is on an emulator, plus some checks on the owner's own phone.
  • Touch controls and game controllers both work on the owner's 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.
  • MM 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

On a new seed, check that adult Link can't play Song of Soaring in OoT with the option off and can with it on, and that a file started on an earlier build still lets adult Link soar.

Report problems in Issues, not to upstream projects. Include the app version, your phone model and Android version. 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: ec13698d408736b6b31edfe5b549e2de18dff1e23dcc3be68568f99595605001
  • Signing certificate SHA-256 (Android Debug, same key as earlier Combo Ship builds): 162c4deb267e71cee159fffe81be7a0dc582f2aad126b599d3a43bd7d6246676
  • Source: tag v0.4.11-android, commit 0dbfc56b.

Licenses

License notices: see THIRD-PARTY-NOTICES.txt under Assets below, and the README. It adds the Fast3D, ZAPDTR, OTRExporter and OoT-Randomizer license texts that the 0.4.11 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.

Combo Ship for Android 0.4.10

Choose a tag to compare

@swunderly swunderly released this 18 Oct 22:22

Choose your game from Home > Game mode: Combined randomizer, OoT randomizer, MM randomizer, Vanilla Ocarina of Time, or Vanilla Majora's Mask.

Choose a file's Next seed, select its mode, then generate or prepare it and start from an empty file. Each saved file keeps its own mode. Changing next-run settings does not convert an existing save.

Single-game randomizers use only that game's checks and items and finish at its own final boss. Shared items and cross-game travel are disabled for those runs. Vanilla games have ordinary saves and no shuffled items; vanilla MM keeps the original opening and starting inventory. Enhancement settings still apply. Android setup still requires both supported ROMs.

This build also applies the missing-enemy-soul guard to MM's temporary room clear. The separate OoT neighbour-room soul reset issue remains open. Unified Wallmaster shuffle remains development-only and is not enabled in this release.

Validation

167 host tests passed, 0 failed, and 3 known Windows/dependency skips. Independent read-only code review accepted the saved-mode, gear-admission and hash-icon fixes. The final ARM64 SHIPPING target linked, the APK passed the unchanged production shipping verifier and native provenance checks, Android lint passed, and the existing signing certificate was verified.

The host suite covers solo fill/progression and failure cases, effective settings isolation, saved-file refusal before mutation, the production MM constructor and vanilla MM arrival. A final regression covers MM gear admission before carrier-file creation and imported/restarted seed hash icons. These use engine stubs and extracted production functions where a full engine is unavailable. They are not gameplay or a full seed playthrough. Historical combined/Wallmaster runtime evidence remains tied to its original source and fixtures.

No new-mode phone or emulator gameplay was performed for this release. Quick checks are assigned to Sam's phone under the standing release preference.

Phone checks

  • Use empty files to try the five modes; check solo pools/own final boss and disabled cross-game travel, then save/restart and confirm each file retains its mode. Keep existing progress.
  • With opening-skip enhancements off, check vanilla MM's forest opening, first cycle, subsequent load, and reset/owl-save quit back to file select. Check an existing combined file still loads normally.
  • Check adult Epona's fence jump, an adult chest, and the Goron Tunic on a hot floor.
  • Check OoT's D-pad ocarina switch and pickup counts for silver rupees, keys, and MM tokens/hearts.

Already passed on Sam's phone in earlier releases: 0.4.6 silver rupee reset and 0.4.7 MM soul room reset. This is historical evidence, not a new-build phone test.

Install over the existing app. Do not uninstall or clear app data. No ROMs are supplied. THIRD-PARTY-NOTICES.txt accompanies the APK; most dependency notices are also inside it.

Source: 2152bd2
APK SHA-256: 5a2b42fd9cfb8872d6c81d625c07cdc3fb652c10da821fa6a4a3df2f55fcddb6

Combo Ship for Android 0.4.9

Choose a tag to compare

@swunderly swunderly released this 14 Oct 22:35

Combo Ship for Android 0.4.9, 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.9: more pickups say "This is your Nth." as in OoTMM: small keys in both games, MM Skulltula tokens, MM Pieces of Heart and MM Triforce Pieces.

Download and install

  1. On your phone, under Assets below, tap ComboShip-Android-0.4.9-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: 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.
  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. The first launch after an update may take a few extra seconds. Installing 0.4.9 over earlier builds has not been tried on a phone yet, so 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.
    • Majora's Mask: N64 USA 1.0 or GameCube USA. Tested: N64 USA 1.0.

What's new

  • More pickups now say "This is your Nth.", as in OoTMM: small keys in both games (counting that dungeon's keys found), MM Swamp and Ocean Skulltula tokens, MM Pieces of Heart (pieces toward the next heart) and MM Triforce Pieces. OoT small keys get the count in every key setting. OoT Gold Skulltula tokens and OoT Triforce Pieces already showed their totals.
  • Also in this build: the silver rupee count (0.4.8), silver rupees keeping their own checks (0.4.6) and MM soul rooms opening (0.4.7).

How this build was tested

  • Native ARM64 build, APK packaging, lint and APK checks passed.
  • Released for phone testing without host tests or an emulator run. Not tested on a phone.

Known issues

  • Adult Link playing an ocarina in MM uses MM's normal ocarina camera, as in OoTMM. This is intended.

Known limits

  • Early build. Most testing is on an emulator, plus some checks on the owner's own phone.
  • Touch controls and game controllers both work on the owner's 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.
  • MM 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

Please check that small key, Skulltula token and Piece of Heart pickups count correctly.

Report problems in Issues, not to upstream projects. Include the app version, your phone model and Android version. 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: 82c64008e40a1fcff6c65645549878b1079f22a9c7263fad08f587aedd1c2146
  • Signing certificate SHA-256 (Android Debug, same key as earlier Combo Ship builds): 162c4deb267e71cee159fffe81be7a0dc582f2aad126b599d3a43bd7d6246676
  • Source: tag v0.4.9-android, commit 34f11854.

Licenses

License notices: see THIRD-PARTY-NOTICES.txt under Assets below, and the README. It adds the Fast3D, ZAPDTR, OTRExporter and OoT-Randomizer license texts that the 0.4.9 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.

Combo Ship for Android 0.4.8

Choose a tag to compare

@swunderly swunderly released this 14 Oct 21:28

Combo Ship for Android 0.4.8, 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.8: picking up a shuffled silver rupee also says how many you have for that room, as OoTMM does.

Download and install

  1. On your phone, under Assets below, tap ComboShip-Android-0.4.8-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: 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.
  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. The first launch after an update may take a few extra seconds. Installing 0.4.8 over earlier builds has not been tried on a phone yet, so 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.
    • Majora's Mask: N64 USA 1.0 or GameCube USA. Tested: N64 USA 1.0.

What's new

  • Picking up a shuffled silver rupee now also says how many you have for that room, as OoTMM does: "You found a Silver Rupee (Spirit Child)! This is your 3rd." A Silver Pouch shows no count.
  • Also in this build: shuffled silver rupees keep their own checks (0.4.6), and MM rooms shut by a missing enemy soul open once you have the soul (0.4.7). Both were confirmed on a phone.

How this build was tested

  • Native ARM64 build, APK packaging, lint and APK checks passed.
  • The silver rupee and item message tests pass.
  • Released for phone testing without an emulator run. Not tested on a phone.

Known issues

  • Adult Link playing an ocarina in MM uses MM's normal ocarina camera, as in OoTMM. This is intended.

Known limits

  • Early build. Most testing is on an emulator, plus some checks on the owner's own phone.
  • Touch controls and game controllers both work on the owner's 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.
  • MM 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

If you play with shuffled silver rupees, please check that the pickup message counts correctly.

Report problems in Issues, not to upstream projects. Include the app version, your phone model and Android version. 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: b1c0dfa57b34efc5ad1c5e84b101bda79ab6138ac088547282e3f4fc66702b60
  • Signing certificate SHA-256 (Android Debug, same key as earlier Combo Ship builds): 162c4deb267e71cee159fffe81be7a0dc582f2aad126b599d3a43bd7d6246676
  • Source: tag v0.4.8-android, commit 1026a20a.

Licenses

License notices: see THIRD-PARTY-NOTICES.txt under Assets below, and the README. It adds the Fast3D, ZAPDTR, OTRExporter and OoT-Randomizer license texts that the 0.4.8 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.

Combo Ship for Android 0.4.7

Choose a tag to compare

@swunderly swunderly released this 14 Oct 21:04

Combo Ship for Android 0.4.7, 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.7: an MM room kept shut by a missing enemy soul opens normally once you have the soul. It builds on 0.4.6's silver rupee fix.

Download and install

  1. On your phone, under Assets below, tap ComboShip-Android-0.4.7-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: 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.
  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. The first launch after an update may take a few extra seconds. Installing 0.4.7 over earlier builds has not been tried on a phone yet, so 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.
    • Majora's Mask: N64 USA 1.0 or GameCube USA. Tested: N64 USA 1.0.

What's new

  • An MM room kept shut by a missing enemy soul opens normally once you have the soul and come back. Before, it could stay shut until you went through another room with a soul-less enemy. This is the MM side of 0.4.6's room fix.
  • Also in this build, from 0.4.6: shuffled silver rupees keep their own checks instead of refilling a room with other items.

How this build was tested

  • Native ARM64 build, APK packaging, lint and APK checks passed.
  • The MM Wallmaster and soul guard test passes, including a new check that rooms restart the guard.
  • Released for phone testing without an emulator run. Not tested on a phone.

Known issues

  • Adult Link playing an ocarina in MM uses MM's normal ocarina camera, as in OoTMM. This is intended.

Known limits

  • Early build. Most testing is on an emulator, plus some checks on the owner's own phone.
  • Touch controls and game controllers both work on the owner's 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.
  • MM 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

If you play with shuffled silver rupees or enemy souls, please check that a silver rupee room keeps the same items when you leave and come back, and that an MM room shut by a missing soul opens once you have the soul.

Report problems in Issues, not to upstream projects. Include the app version, your phone model and Android version. 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: 1d7b91ddb40fde96841501814838d9ae1ee8070734a0a1a92824b7409ed17ac9
  • Signing certificate SHA-256 (Android Debug, same key as earlier Combo Ship builds): 162c4deb267e71cee159fffe81be7a0dc582f2aad126b599d3a43bd7d6246676
  • Source: tag v0.4.7-android, commit 5f17bd2c.

Licenses

License notices: see THIRD-PARTY-NOTICES.txt under Assets below, and the README. It adds the Fast3D, ZAPDTR, OTRExporter and OoT-Randomizer license texts that the 0.4.7 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.

Combo Ship for Android 0.4.6

Choose a tag to compare

@swunderly swunderly released this 14 Oct 20:54

Combo Ship for Android 0.4.6, 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.6: shuffled silver rupees keep their own checks instead of refilling a room with other items.

Download and install

  1. On your phone, under Assets below, tap ComboShip-Android-0.4.6-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: 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.
  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. The first launch after an update may take a few extra seconds. Installing 0.4.6 over earlier builds has not been tried on a phone yet, so 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.
    • Majora's Mask: N64 USA 1.0 or GameCube USA. Tested: N64 USA 1.0.

What's new

  • Shuffled silver rupees no longer refill a room with new items. Each silver rupee works out which check it is from a counter that should restart whenever a room loads. The restart never ran, so on later visits a room's rupees took other checks' numbers and showed their items. Each rupee now always shows its own check, and a collected one stays gone, as in OoTMM. Items already picked up this way are kept, and those checks count as collected.
  • An OoT room kept shut by a missing enemy soul now opens normally once you have the soul and come back.

How this build was tested

  • Native ARM64 build, APK packaging, lint and APK checks passed.
  • 128 automated tests pass (3 skipped on Windows), including a new check that the room restart stays connected.
  • An independent code review traced the restart through room loads, doorway transitions, scene loads, voids and save loads.
  • This fix was released for phone testing without an emulator run. Not tested on a phone.

Known issues

  • MM's missing-enemy-soul room lock has the same missing restart: an MM room kept shut by a missing soul can stay shut after you get the soul. A fix is planned for the next build.
  • Adult Link playing an ocarina in MM uses MM's normal ocarina camera, as in OoTMM. This is intended.

Known limits

  • Early build. Most testing is on an emulator, plus some checks on the owner's own phone.
  • Touch controls and game controllers both work on the owner's 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.
  • MM 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

If you play with shuffled silver rupees, please check that a silver rupee room keeps the same items when you leave and come back, and that collected ones stay gone.

Report problems in Issues, not to upstream projects. Include the app version, your phone model and Android version. 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: 3546611eb7eb4ec6370c977774fbdcfe4dee1c3b6e5d5b6263b72b3b816afc2b
  • Signing certificate SHA-256 (Android Debug, same key as earlier Combo Ship builds): 162c4deb267e71cee159fffe81be7a0dc582f2aad126b599d3a43bd7d6246676
  • Source: tag v0.4.6-android, commit 5518055d.

Licenses

License notices: see THIRD-PARTY-NOTICES.txt under Assets below, and the README. It adds the Fast3D, ZAPDTR, OTRExporter and OoT-Randomizer license texts that the 0.4.6 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.

Combo Ship for Android 0.4.5

Choose a tag to compare

@swunderly swunderly released this 14 Oct 16:44

Combo Ship for Android 0.4.5, 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.5: the OoT view now has the same D-pad and right-stick ocarina switches as MM, Home presets follow OoTMM 32.3's Default, Beginner and Allsanity presets, and MM's save prompt has an English SAVE title.

Download and install

  1. On your phone, under Assets below, tap ComboShip-Android-0.4.5-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: 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.
  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. The first launch after an update may take a few extra seconds. Installing 0.4.5 over earlier builds has not been tried on a phone yet, so 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.
    • Majora's Mask: N64 USA 1.0 or GameCube USA. Tested: N64 USA 1.0.

What's new

  • D-pad and right-stick ocarina in OoT. Settings > Controls > Ocarina input now shows "D-pad ocarina" and "Right stick ocarina" in both the OoT and MM views. Each view's switches set that game only, so turn them on in each view you want. Before, OoT's switches were hidden inside Controller mapping. If you had already turned OoT's on there, it stays on.
  • Home > Apply preset follows OoTMM 32.3's Default, Beginner and Allsanity presets for every option Combo Ship has. For example, Allsanity now turns on the MM spells, boots and tunics with their shared versions, and Beginner shares only what OoTMM's Beginner shares. A file only changes when you apply a preset to it. The remaining small differences are listed in the changelog.
  • MM's pause "Would you like to save?" page has an English SAVE title, the one OoT's save page uses. 0.4.4 showed no title.

How this build was tested

  • Native ARM64 build, APK packaging, lint and APK checks passed.
  • 129 automated tests, run on the developer's Windows PC, pass. 2 tests that cannot run on Windows were skipped.
  • On an Android 15 emulator (ARM64 code through translation, software GPU, audio off), on the 0.4.5 candidate:
    • With OoT's D-pad ocarina on, Zelda's Lullaby played on the D-pad was recognised; with it off, the D-pad did nothing. The OoT and MM switches are independent.
    • MM's save prompt shows the SAVE title.
    • Seeds from the Allsanity and Default presets generated and passed the generator's automatic playthrough check, which confirms in logic that a seed can be finished. The Allsanity seed has the MM spells, boots and tunics on. Beginner was not generated on the emulator.
    • Every menu tab opened in both views. No crashes.
  • Also checked on 0.4.4 since its release: the OoT tracker marks the Tektite grotto's underwater item and the cow grotto's Gold Skulltula token as Seen; adult Link in MM entered by three routes, made round trips, climbed, fought, transformed and rode Epona; the Zora Tunic and Hover Boots work in MM.
  • Not tested on a phone. No Combo Ship build has had a complete seed playthrough so far.

Known issues

  • Song of Soaring in OoT works at any age. In OoTMM it works only as child unless Ageless Soaring is on.
  • Adult Link playing an ocarina in MM uses MM's normal ocarina camera, as in OoTMM, so his hands can hide part of his face. This is intended.

Known limits

  • Early build. Most testing is on an emulator, plus some checks on the owner's own phone.
  • Touch controls and game controllers both work on the owner's 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.
  • MM 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

  1. Back up first, then install over your earlier build. Your saves should load as before in both games.
  2. In the OoT view, turn on D-pad ocarina and play a song with the D-pad.
  3. As adult Link in MM (Cross-Games Age), jump a fence on Epona, open a chest, and try a hot floor with and without the Goron Tunic. These were not reachable on the emulator.

Report problems in Issues, not to upstream projects. Include the app version, your phone model and Android version. 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: ea49f0c33c531a452aafe47ff9c2731abc5090c5bd62de5c0cb090d2b9a11ccf
  • Signing certificate SHA-256 (Android Debug, same key as earlier Combo Ship builds): 162c4deb267e71cee159fffe81be7a0dc582f2aad126b599d3a43bd7d6246676
  • Source: tag v0.4.5-android, commit a2fb18a7.

Licenses

License notices: see THIRD-PARTY-NOTICES.txt under Assets below, and the README. It adds the Fast3D, ZAPDTR, OTRExporter and OoT-Randomizer license texts that the 0.4.5 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.