Skip to content

Releases: JohnnyCollado/ChaosRing---Revival

ChaosRing Revival v0.2.3-chaosring.1 (Android): Mana crash fix, hardware skinning

Choose a tag to compare

@JohnnyCollado JohnnyCollado released this 07 Oct 09:16

Android builds of the ChaosRing touchHLE fork for Chaos Rings (iPhone, 2.2.0) and Chaos Rings HD (iPad, 2.3.0).

Downloads

File Game Package Put your .ipa in
ChaosRing-Android-arm64.apk Chaos Rings 2.2.0 (iPhone) org.touchhle.android /sdcard/ChaosRing/touchHLE_apps/
ChaosRing-HD-Android-arm64.apk Chaos Rings HD 2.3.0 (iPad) org.touchhle.android.hd /sdcard/ChaosRingsHD/touchHLE_apps/

Both apps can be installed side by side. They need an arm64 Android device. You must supply your own copy of the game; no game files are included. The APKs are signed with a debug key, so uninstall any differently signed build first.

Fixes

  • Crash when talking to Mana at the start of Ayuta's story (#1). The game maps its voice archives with a page of slack past the end of the clip. For the last clip in an archive, that mapping runs past the end of the file, and touchHLE's mmap panicked (assertion left == right failed, left: 107360, right: 110188). It now zero-fills the remainder, as iOS does. The same pattern affected the last entry of the battle-voice, sound-effect and effect archives, which are fixed by the same change.
  • Hardware skinning (GL_OES_matrix_palette). touchHLE advertised the extension but didn't implement glCurrentPaletteMatrixOES, glMatrixIndexPointerOES or glWeightPointerOES, so the first skinned model the game drew would have crashed. On Android these calls are now passed to the GPU driver. On desktop builds, skinning is emulated on the CPU.

Other changes

  • Clippy, rustfmt and comment-length cleanup. No behavior change.

Testing

  • Reproduced #1 on a Galaxy Tab S9 with the reporter's save, then confirmed the conversation plays through after the fix.
  • Every mapping the game can make into its four data archives (4,472 entries) was checked against the fix.
  • The skinned-model draw path has not yet been reached in play testing. Its CPU math is covered by unit tests.
  • Only Android builds are attached. The desktop build was not built for this release.

Chaos Ring (2.2.0/2.3.0) Revival

Choose a tag to compare

@JohnnyCollado JohnnyCollado released this 27 May 01:54

Chaos Ring(s) on touchHLE

Hopefully you ARCHIVED your legal backup so you can load the game data. We can't ship it. We won't ship it. But somewhere out there, in a certain very large library on the internet, a perfectly lawful personal backup may have wandered onto a shelf where curious people sometimes look. 🤷

This release ships just the wrapper — touchHLE with the Chaos Rings-specific fixes (controller support, JIT-friendly memory flag, etc.) baked in. The IPA is BYO.

What's in the box

DownloadPlatformPackage ID
ChaosRing-Windows-x64.zipWindows 10/11 (x64)—
ChaosRing-Android-AArch64.zipAndroid 5+ ARM64 — iPhone buildorg.touchhle.android
ChaosRing-HD-Android-AArch64.zipAndroid 5+ ARM64 — iPad/HD buildorg.touchhle.android.hd

The two Android packages install side-by-side and keep separate saves.

Setup

Windows

  1. Unzip anywhere.
  2. Drop your ahem-acquired CHAOS_RINGS_2.2.0_ios_3.0.ipa (and/or the iPad one) into touchHLE_apps/.
  3. Double-click Run Chaos Ring.cmd or Run Chaos Ring HD.cmd.

Android — iPhone build

  1. adb install ChaosRing.apk (or sideload it through your file manager).
  2. Open the app once. It'll detect missing "All files access" and forward you straight to the system settings page — toggle it on for Chaos Ring, hit back.
  3. Drop the IPA in /sdcard/ChaosRing/touchHLE_apps/. From a PC:
    adb push CHAOS_RINGS_2.2.0_ios_3.0.ipa /sdcard/ChaosRing/touchHLE_apps/
  4. Tap Chaos Ring again — it now boots straight into the game.

Android — iPad / HD build

Same dance as above with these substitutions:

  • ChaosRingHD.apk
  • Toggle "All files access" for Chaos Ring HD
  • Data folder is /sdcard/ChaosRingsHD/
  • IPA: CHAOS_RINGS_for_iPad_2.3.0_ios_4.3.ipa

Where your saves live

BuildPath
WindowstouchHLE_sandbox\com.square-enix.ChaosRings\Documents\data.dat
Android iPhone/sdcard/ChaosRing/touchHLE_sandbox/com.square-enix.ChaosRings/Documents/data.dat
Android HD/sdcard/ChaosRingsHD/touchHLE_sandbox/com.square-enix.ChaosRingsHD/Documents/data.dat

Flat files, no DRM, no cloud. Copy somewhere safe after every milestone — corruption is rare but real.

Known weirdness

  • Animated characters render in bind pose (hardware skinning is tolerated, not implemented).
  • The iPad/HD build wants more RAM. Flagship Android phones handle it fine; older devices may prefer the iPhone build.
  • The wrapper passes --disable-direct-memory-access automatically — Chaos Rings tickles dynarmic's JIT in unfriendly ways without it.

About this project

This is purely a technical exercise — an attempt to see whether older iOS software (specifically a 2010-era ARMv6/iOS-3 title that is no longer sold or supported on any current Apple platform) can be made to run on modern Windows and Android hardware via touchHLE. Everything published here is the wrapper code and build glue around that emulator; no game assets, code, or data ship with this release.

Chaos Rings, Chaos Rings Ω, Chaos Rings II, Chaos Rings III, and all associated characters, artwork, music, story, trademarks, and source code are the intellectual property of Square Enix Holdings Co., Ltd. This project is not affiliated with, endorsed by, or supported by Square Enix in any way. No infringement is intended; all rights remain with their respective owners.

If you enjoyed Chaos Rings, please support Square Enix by buying their currently-available titles.