github chasem-dev/sms-launcher android-pr-107-v16
Android ARM64 tester v16: relocated texture and palette addresses

pre-releaseone hour ago

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:

  1. Install over the previous preview to keep disc/save data.
  2. Confirm footer 0.1.57-android-preview.16, launcher 9f937074, game 0eb315f7; Android version code 15716.
  3. Start with the same disc/save/settings. Confirm an image appears after playing or skipping the intro, then load the save and reach gameplay.
  4. 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

Don't miss a new sms-launcher release

NewReleases is sending notifications on new releases.