Skip to content

v1.0.0-beta.9 — visible failures, verified patches, versioned archives

Pre-release
Pre-release

Choose a tag to compare

@springah springah released this 26 Jul 02:15
· 4 commits to main since this release

First release of the 1.0 preparation work. Nothing here changes how the game plays — it
changes what happens when something goes wrong, and what you get in the box.

You can now see what went wrong

The port ships no game data by design, so the missing-files screen is the first thing most
people ever see — and it was printing to a place the frontend swallows, which meant a blank
screen for fifteen seconds and no explanation. It now draws a real on-screen dialog telling
you exactly which files are missing and where to put them.

If the game crashes, you get a dialog pointing at log.txt instead of being dropped back to
the menu in silence. And log.txt now opens with the build it came from, so a bug report
can be tied to a specific binary.

The archive says what it is

Release archives now carry their version in the filename (ct-1.0.0-beta.9.zip), so a
downloaded file can be identified without opening it.

The archive also finally contains the screenshot and gameinfo.xml that its own metadata
had been referencing all along — previously both were silently omitted, so the port showed
up in the Ports list with no art. Packaging now fails loudly rather than quietly shipping
without them. The screenshot is a real gameplay frame.

Safety: the runtime patches verify themselves

The port applies a small number of instruction-level patches to the game engine, all gated
on a fingerprint check that confirms it is the supported v2.1.5 library. Two gaps closed:

Ten of those patches were writing without checking what they were overwriting. They were
marked as targeting zero-filled padding, and that region is not padding — it is dead code.
They now verify the exact instruction they expect, and skip themselves if it isn't there.

Separately, the warnings this checking produces did not exist in release builds at all — the
logging call they used compiles to nothing outside debug builds. A skipped patch now says so
in log.txt.

Documentation

The README now explains how to install the port, and how to quit it. Start + Select
quits the game; there is no in-game exit, and the alternative — powering the device off
mid-game — is the thing most likely to cost you a save. That was previously documented
nowhere.

The supported-system list has been narrowed to what has actually been tested. All testing to
date is on Knulli, on a TrimUI Smart Pro and two Anbernic devices. Other PortMaster systems
are expected to work but are untested; that is now stated rather than implied.


This archive contains no game data. You supply libchrono.so, libc++_shared.so and
assets/ from your own legally-owned Chrono Trigger Android APK (v2.1.5) — an APK is a ZIP,
so you can rename and open it. See the README for the walkthrough.