Repository navigation
Releases: DevZer0D4Y/MegaMan64Recompiled-Mobile
Release list
Quest VR Preview 2 — orientation fix
Fixes the upside-down image reported in the Quest virtual-screen preview. The OpenXR screen layer now flips image sampling vertically using XR_FB_composition_layer_image_layout, which is checked and enabled at startup.
Install MegaMan64-Quest-VR-preview-2.apk over Preview 1. The package ID (com.devz.megaman64.quest) and signing certificate are unchanged, and the higher Android version code allows an update without clearing ROM/config/save storage. Do not uninstall the previous build first if you want to retain its private data.
This remains the experimental virtual-screen Quest preview. The separate full immersive conversion is still in development.
Validation: Android ARM64 build; APK signature and update certificate; Quest launch metadata, JNI exports, runtime dependencies and 16 KB page alignment; ROM/private-path scan; identical game, SDL, C++ and OpenXR-loader libraries to Preview 1. Physical-headset verification of this orientation correction remains pending.
No ROM is included. Use your own supported USA ROM.
Quest VR preview 1 — virtual screen and Touch controls
Experimental standalone Quest build of Mega Man 64: Recompiled.
This preview presents the game on a world-anchored virtual screen. It does not render the game world in stereoscopic 3D, and head movement does not control the in-game camera. It has not been tested on a physical Quest.
- OpenXR virtual screen (3.2 × 1.8 metres, three metres ahead), with headset tracking supplied by the compositor.
- Quest Touch controller input: left stick movement/menu navigation, A/B confirm/back, Y/one stick click Start, triggers/grips for N64 shoulder buttons, and right stick for C buttons.
- Click the left stick to recenter the screen. The left controller Menu button opens app options.
- Separate package ID:
com.devz.megaman64.quest. The normal Android app remains installed separately, with independent data. - Android Surface presentation is gated by XR visibility. Acquired frames are drained before ending the XR session; SDL uses XR visibility for immersive window focus.
Install the APK using ADB or a sideloading tool, then launch Mega Man 64 Quest from Unknown Sources. A compatible Quest runtime with Horizon OS v62+ is required; the manifest targets Quest 2, Quest Pro, Quest 3 and Quest 3S. Compatibility and performance still need device verification.
Supply your own supported USA Mega Man 64 ROM through the launcher. No ROM or save data is bundled. If there is no system file picker, launch the app once, close it, and copy the ROM using:
adb shell mkdir -p /sdcard/Android/data/com.devz.megaman64.quest/files
adb push /path/to/your/MegaMan64.us.rev1.z64 /sdcard/Android/data/com.devz.megaman64.quest/files/Restart the app afterward. Different app IDs have independent storage; existing normal-app saves are not automatically migrated. The Quest guide documents controls, source builds and limitations.
Validation: game/bridge ARM64 compilation; Java and release Dex generation; APK signing and ZIP/ELF 16 KB alignment; launch activity and OpenXR runtime-discovery manifest entries; native dependencies and JNI exports; no ROM/private-path scan; clean-source CI; and 100 host-side in-flight-frame suspension/drain/resume handshakes using the actual gate code. The APK was packaged with Android SDK CLI tools. The Gradle offline manifest check could not run because Android Gradle Plugin 8.7.3 was not cached.
Needs headset testing: first launch, game display through the OpenXR Android Surface, controller navigation, recentering, file picker return, sleep/resume, saves, and frame rate. Startup errors appear in a dialog and in adb logcat -s MegaManQuest.
Mega Man 64 Mobile 0.9.1 — Android and iOS
Android and iOS mobile builds of Mega Man 64: Recompiled.
- Editable gameplay and menu touch pads: movement stick, N64 buttons, position/size/opacity/color controls, and GAME PAD / MENU PAD switching.
- SDL USB/Bluetooth controller support and configurable bindings.
- Mobile renderer fixes, Android Vulkan surface/descriptor handling, and iOS screenshot/notification size restoration.
- Persistent USA FlashRAM saves, atomic replacement, backup writes, and background save flushing.
- The supplied Mega Man 64 artwork is now the app icon on both platforms.
- Both application IDs are
com.devz.megaman64, matching the other ports' naming convention.
Downloads: install the ARM64 APK on Android 8.0+ with a compatible Vulkan GPU. Sign the ARM64 IPA for your own iOS 16+ device using eSign or another signing tool. The IPA contains no personal certificate or provisioning profile. SHA256SUMS.txt covers both downloads.
ROM: supply your own Mega Man 64 USA ROM through the launcher. .z64, .v64, and .n64 byte orders are accepted. Japanese Rockman DASH gameplay is not supported by this USA recompilation; the loader reports that limitation. No ROM or save data is bundled.
Existing saves: the new IDs create separate app storage. Back up the old app's config/saves folder before changing builds, preserve filenames, and keep the old app installed until the backup is safe. Storage locations and restoration limits are described in MOBILE.md. Saves are not automatically migrated between different IDs.
The repository starts with a clean source history and pinned dependencies. It excludes ROM-derived generated sources, ROMs, saves, logs, SDKs, local build folders, personal paths, and signing keys. Required build scripts, application assets, licenses, and upstream attribution remain available.
Validation: source privacy and whitespace checks; dependency patches applied against pinned revisions; APK signature and 16 KB alignment; ARM64 package structure; ROM/private-path scans; icon pixel checks, application IDs, Android Java class and all renamed JNI entry points. Rendering/gameplay had been confirmed on iOS and Adreno 710 Android before these icon/ID/publication changes. Installation of this newly packaged release still needs verification on devices.
Upstream: https://github.com/MegaMan64Recomp/MegaMan64Recompiled