Android tester v16 corrects texture-image and colour-palette command addresses when Android relocates the game's memory arena.
The Adreno 740 v15 log confirms the allocation fix is working: MEM1 and SDK/audio addresses agree at 0x40800000. The tester still reports no image after skipping the intro. Two J3D command writers retained a retail-address shortcut that works at 0x80000000 but produces incorrect GPU texture/palette addresses after relocation. For example, a texture at 0x40900000 was encoded to resolve as 0x41900000. v16 writes the offset from the allocated arena for both commands, preserving texture register IDs and the palette load/flush sequence. The Android-only correction preserves desktop writers. v15 release and APK remain unchanged.
Retest on the affected phone:
- Install over the previous preview to keep disc/save data.
- Confirm footer
0.1.57-android-preview.16, launcher9f937074, game0eb315f7; Android version code 15716. - Start with the same disc/save/settings. Confirm an image appears after playing or skipping the intro, then load the save and reach gameplay.
- Return to the launcher and export the game log before another Play. If the image remains black, include whether sound/controls respond and the full log.
No performance-toggle change is required. Existing input test, memory relocation, widescreen optimization and pacing fixes remain included; this build changes texture address encoding rather than clock policy.
Validation: Android debug and optimized release compilation, launcher tests 228/228 and all 10/10 existing host graphics/texture/window/bounds groups passed. A new host fixture compiles the actual JRenderer command writers and Android SDK adaptation: the old writers fail the relocated-address test; the correction passes 68,640 byte-level checks across five arena bases, eight texture slots and varied aligned offsets, including 0x40800000. It checks exact command bytes, physical offsets/pointer round trips, bounds and palette sequencing. The unchanged desktop path passes 13,728 checks. Static APK audits verify version/source metadata, the unchanged signing certificate, ARM64-only payload, 16 KiB ELF/APK alignment and absence of disc/save/self-test payloads.
Physical-device image recovery is pending. No Android emulator/container was installed, launched or tested for this build, as requested. No device FPS gain is claimed.
Same development signing key as preceding previews. Android 10+, ARM64, GLES 3.1+; no game data bundled. Separate prerelease, no merge or desktop Stable/Beta changes.
Both Android branches are pushed: launcher 9f93707445d5f08be5ff3d47dc8ba79a3206c1db, game 0eb315f77a06699b20b5936de80edfa1bd933808. Companion PRs #107 and chasem-dev/sms-pc-port#98.
SHA256: 19a815e0531dc71531c9318639ab18b97bb2abdd8dc76c4a0b8a4d5c0cdeb41e