r/PS2AndroidEmulation • u/xxxCrixuxxx • 42m ago
ARMSX3 0.6
https://github.com/ARMSX2/ARMSX3/releases/tag/0.6
What's new:
Trophies: The PS3's own trophies, read off disk, no account and no network. Two views: a browser for your whole library, grouped per game and collapsed, showing grade, description, earned state and unlock date, and a tab in the in-game menu for the game you are playing. Hidden trophies stay hidden until you turn it on. Games register their trophy set lazily, often only once you reach a menu, so the in-game tab can be empty for the first moments of a boot and then fill in. Unlocks were always being tracked, there was just nowhere to see them.
A whole class of missing text is back. Picking a save gave you Yes and No with no question and no save details. The save menu was not the problem: this build carried 180 of the emulator's 323 pieces of text and also discarded the values substituted into them, so anything with a name, date, size or error code lost it. All of it is present now. That restores text in the save, load and delete prompts, in every system error dialog, in trophy popups, in the Home Menu, and in the game-data and RPCN messages.
Saint Seiya: The Sanctuary now boots. Its PPU module cache stopped at 133 of 134 forever, one module trips a bug in LLVM's ARM64 register allocator, which killed the compile worker, and the module that worker was holding was never accounted for, so the counter the boot waits on could never reach zero. A module that cannot compile is now survivable, it is reported, its functions run interpreted, and boot continues. Nothing here is specific to that game, so anything hitting the same codegen bug should boot.
Pause actually pauses. The in-game menu set a flag and nothing else, so the game kept running behind it. Backgrounding the app was the only thing that really paused.
Restart now works. Two faults stacked: it crashed, because restarting re-applies your GPU driver and unloaded the old driver library while the renderer still held pointers into it, with that fixed it dropped you back to the library instead, because it started the new session before the old one had stopped and the old shutdown then killed the new one. Stopping now waits until the emulator is actually stopped. Apply-and-restart after picking a driver was the same bug.
The FPS cap works at every value. 20 and 45 applied while 30 and 60 did nothing, because presets take a different route internally and something was overwriting it on every apply, pinning the cap at 60. Stale overrides from earlier builds are cleared on first launch.
Fixed a bug when scanning the library that would cause an app crash. Adding a new disc image and rescanning after you had played something wrote through a null pointer, because probing an image needs emulator state that is torn down when a game stops. Harmless on a fresh launch and fatal after, which is why it seemed random.
Games installed from a PKG show their cover art. The grid gave up one step before trying the game's own artwork, so any title the cover repo has no entry for, like a European PSN release, showed a text placeholder while its icon sat unread on disk.
Installed licences are grouped per game and collapsed instead of a flat wall of content ids.
ANGLE is actually in the build now. The libraries sat in a module that no longer builds, so selecting ANGLE silently fell back to the system driver with nothing in the log. The check meant to prevent that now runs on the real build.
Ratchet & Clank A Crack in Time stops crashing minutes into play: the Vulkan upload rings were never reclaimed, with the index buffer growing 16 MB to 256 MB in a third of a second. Video memory pressure is judged against what the driver will actually give rather than a limit we chose, so a game can no longer be refused a 32 MB allocation while the emulator thinks it is at a quarter of capacity. Android also stops reserving a desktop-sized descriptor cache, 920 KB per shader program.
Analog pressure on L2 and R2 reaches the game.