ARMSX3 1.0
The biggest ARMSX3 update yet. Your library can now use real PS3 themes, played live the way a PS3 plays them, right down to Sony's animated 3D scenes. SIXAXIS motion controls work for controllers with motion capabilities, the touch controls from ARMSX2 2.7 arrive, accuracy and performance improvements, and a number of games have been fixed.
PS3 Themes
-
PS3 themes as your library background, played live. Pictures, slideshows, animated themes and full 3D scenes, with their scripts, animated characters and lighting. Of 92 dynamic themes tested, 92 play live. Use any .p3t file from your Playstation 3! Stills, slideshows, and dynamic themes all work. (Your GPU must support the required shaders, same as the default XMB background, otherwise it will default to a fallback background).
-
Any PS3 theme (.p3t) can be your library background: in the library's ⋮ menu, pick Change background…, then Add.
-
A static theme shows its HD picture.
-
A dynamic theme plays live, the way a PS3 plays it:
- slideshows keep their own timing, crossfades and zoom
- animated themes (fire, rain, a character moving) play every frame, at full size and their real speed
- 3D themes come alive: the characters play their animations, the scene is lit, and scripted themes move the camera and run their own logic. Ape Escape, Afrika, Bloodborne and White Knight Chronicles among them.
-
Themes draw at 30 frames a second and pause when you leave the app, so they stay easy on the battery.
-
Every background you add is kept, pictures and themes alike, until you remove it. Change background… shows them all as pictures: pick one to switch, long-press one to remove it. It works with a controller too.
-
View background shows your background on its own, full screen, with the library UI hidden: to look at a theme, or screen record it for a wallpaper. A tap, Back or B closes it.
-
Library Screensaver: when the library sits idle for 10 minutes (you can set it between 1 to 60, in App Settings), its background fills the screen. Any touch, button or stick brings the library back, and that press does nothing else, so waking it with A won't start a game. It never starts during a game.
-
The library no longer darkens its background, so pictures and themes keep their colors. Background Dimming (in App Settings) brings the dimming back, as much as you like.
Games fixed on ARMSX3 1.0:
- Helldivers, Don't Starve: Giant Edition and Race the Sun now work on the PPU recompiler. It got the overflow flag wrong in a whole family of math instructions, on upstream RPCS3 too, so RPCS3's database had forced Helldivers and Don't Starve onto the much slower interpreter. On the Odin 3, Helldivers now runs at 60 fps instead of 36, Race the Sun at 60, and Don't Starve at its 30 fps cap.
- NBA 08 goes in-game. SPU interrupts now work on the recompiler, and bundled patches fix the intro movie crash and the endless quickplay loading screen.
- Burnout Paradise no longer crashes in the intro's junkyard section and reaches the open world (bundled patch, on by default).
- Killzone 3 gets much further. The freeze at the weapons range, the black screen at the cutscene after it and the flickering HUD are fixed. Its MLAA patch is on by default, Write Color Buffers is off (the patch makes it unnecessary), and Preferred SPU Threads is locked to Auto, since 3 froze it in the prologue (#151). Some smaller issues may remain.
- The Guided Fate Paradox finishes compiling instead of hanging forever (#149).
- Multi-game discs such as the Disgaea Triple Play Collection show every game as its own tile, from ISOs and folder dumps.
- SIXAXIS motion tested on both the Odin 3 and DualSense, (your controller must support motion).
- Touch controls from ARMSX2 2.7, with glide modes, pressure per macro and an Always on touch control setting.
- A bigger library: every game on a multi-game disc, Swap Disc and .m3u playlists, being able to boot straight into a save state (press and hold on a game with an existing save state), and an option to export to frontends like ES-DE in App settings.
Emulation
- PPU floating point now matches a real PS3 in the ps3autotests suites: NaN conversions, the sign of zeros and NaNs in fused multiply-add, and single-precision stores (324 mismatches down to 0).
- Every PPU instruction that sets the overflow flag is now compiled instead of dropping to the interpreter.
- SPU accuracy fixes: MFC tag status, event channel counts, SPURS task context saves, and a shift bug in the SPU interpreter.
- Two memory barriers were missing on ARM64 (x86 never needs them), so an SPU could read stale data after a reservation. Both are in place now.
- An SPU transfer to or from unmapped memory no longer kills the SPU thread.
- Compiling a large game no longer runs the device out of memory. How many modules compile at once now follows free memory, not installed RAM.
- Fixed running out of address space in games that recreate their SPU threads often.
- Render targets discarded during surface splitting are reused, by @Yahfz and @kd-11.
- The RSX profiler's sampler wakes 10 times a second while the profiler is off, instead of 200.
Library
- Swap Disc now changes discs for games that ask for another one (SingStar, the Dynasty Warriors Xtreme Legends games), with Change Disc beside it. .m3u playlists load, and the library writes them itself for "(Disc 1)", "(Disc 2)" sets and multi-part PSN games. Swap Disc will only show for games that support it, while Change Disc works for any game.
- Launch Game in the left side menu of the game library boots a disc image, playlist, EBOOT or folder without adding it to the library.
- Long-press a game to boot straight into one of its save states. The Save Manager shows thumbnails and dates.
- Frontend export (#157): a .ps3 file for each installed PKG game, for ES-DE, Daijisho and other frontends, in as many folders as you like, each with its own file format.
- Show only disc games or only PSN games from the 3 dot overflow menu in the top right corner of the game library.
- Package tiles show a key when their licence is installed, and the PKG/Data Manager (formerly Install Package tab) now has a DLC tab, so you can uninstall DLC.
- Library music keeps playing while another app, such as ARMSX2, holds a paused game's sound open in the background. It still waits for music, videos and podcasts playing in other apps.
- A data folder's own files no longer show up as games.
- Use your own custom boot intro video (in App Settings).
- Setup is skipped when the data folder already has firmware and games (#114).
- A failed firmware install says why (#146).
Controls
- SIXAXIS: DualShock 4 and DualSense motion sensors now drive SIXAXIS games, a handheld held upright reads as a level pad, and the device's own sensors follow the screen's rotation. It needs no setting, and the Gyro section now says so.
- A DualSense's motion also reaches the game on handhelds that register external controllers as their own, such as the Odin 3.
- Touch controls from ARMSX2 2.7:
- an Always visibility setting and three glide modes
- each macro has its own pressure (5 to 100%), so two macros on one button can press it at two strengths;
- select the P button in the touch editor to set its pressure there, and its setting has moved to On-Screen Controls;
- Half-Screen Sticks can keep the on-screen left stick
- multi-touch buttons keep working with Half-Screen Sticks and gestures
- the volume keys no longer hide the controls
- a control removed mid-press lets go of its input
- Auto mode ignores controller noise
- the touch editor's options wrap instead of running off screen on 1080p handhelds.
- Saving the touch layout resumes the game.
- Instruments: a port can be a guitar, drums, DJ deck or dance mat (Device Class), set per game in controller settings (in the quick menu as well).
- The D-pad reaches every row in All Core Settings and the Save Manager.
Display
- Render Position works. In portrait it moves the picture to the top of the screen and can leave room for the camera cutout, and it is in the in-game menu next to screen fit and aspect, where you can judge it against the touch controls. The landscape version is gone: a 16:9 game already fills a 16:9 screen, so it could never move anything.
- Display Resolution (the hardware scaler) and OSD Size work. Both used to do nothing.
- Screen orientation is in the quick menu.
- The second screen's Pause button also resumes.
Sound
- Trophy sounds now work like on desktop RPCS3, ARMSX3 ships none of them (the real ones are Sony's), so they play once you add them.
- Trophy Sound (App Settings): pick an audio file (wav, ogg or mp3), test it or remove it, with its own volume. Import Sound Pack takes trophy, dialog_ok and dialog_error clips too.
- New in-game pause menu music.
Settings
- "Settings" is now "App Settings", and the Network tab is now "RPCN".
- Settings search finds every setting. 43 were missing from it.
- Performance, Renderer and Advanced mark any setting that isn't the default with a red "Not default".
- Library Bar Opacity (App Settings) makes the top bar see-through, anywhere from solid to clear, in any bar colour.
- Reset all settings also clears All Core Settings edits and every game's PPU/SPU decoder choice.
- The RPCS3 config database card heads the in-game Fixes tab and shows what it sets, and a game's own settings win over it. Its switches now mean what they say: turning an entry on replaces your own value for that setting, and a row that is off because of your own value says so. Changes apply at the next launch.
- RPCS3 and Artemis patch downloads each keep their own file instead of overwriting each other.
- Save import now says saves must be decrypted with Apollo first.
- An Underclocking page in the drawer points to ClusterTune.
Notes
- Each game recompiles its PPU/SPU cache once after this update, due to the substantial core changes.
- Game updates that update in batches now download three packages at a time, so a total of 10GB update chain will be faster.
- The app now notifies you if a very large game will take a few moments to uninstall in the PKG/Data Manager.
- Logs now record the framerate and include fault and thread dumps, which makes bug reports much more useful.
-
- PowerVR GPUs: fixed a crash right after the caches finished compiling.
- Cherrypicked some small upstream fixes.
Thanks
-@Whatcookie, despite the negative implications other PS3 mobile projects in the past have had, whether it be violating the source code, or charging for free and open source projects, Whatcookie was willing to work with me to make ARMSX3 the best it can be, as well as take my ARM fixes and contribute them upstream.
- Everyone who tested 1.0 builds and sent logs.
- The RPCS3 team, whose emulator ARMSX3 is built on.
I hope you enjoy! I put a lot of love into this update, if you'd like to support my work, you can do so here:
An iOS version of ARMSX3 is in active development, more news will be shared in the near future.
The Google PlayStore release of ARMSX3 is set to launch on September 28th! PlayStore testers have had the test build updated as well. I will ping testers on the 28th to notify about the PlayStore version going live, ( it'll be entirely free, just like ARMSX2).
You can join our discord server here: Discord
MINIMUM REQUIREMENTS
• Android 11 or newer
• 64-bit ARMv8.1 processor
• Snapdragon 865/870/Mali G57 or equivalent
• Adreno 650 or equivalent with Vulkan 1.1
• 8 GB RAM
• Intended primarily for lighter games
RECOMMENDED REQUIREMENTS
• Android 13 or newer
• Snapdragon 8 Gen 2 or newer
• Adreno 740 or newer
• 12 GB RAM
• Good device cooling, good number of games playable, heavier SPU/CPU demanding games are not.
OPTIMAL REQUIREMENTS
• Android 14 or newer
• Snapdragon 8 Elite or newer, the best performance you can get for PS3 on Android, capable of running the heavy hitters.
• Adreno 830 or newer
• 12 GB RAM or more
• Active cooling recommended for sustained performance
