Repository navigation
PSSwanStation build 25
Added
- GameShark codes typed in. "Add a GameShark code" in a game's Cheats asks for a name, then the code on a keypad; it is switched on at once and kept in the game's own
cheats/<serial>.cht. - Cloud saves (Settings, Games and saving): memory cards, and save states if wanted, kept in Google Drive or Dropbox too, both ways. Signing in takes a phone and a code.
- Sound delay (Settings, Sound): the game's sound kept 60, 32 or 16 ms ahead of the speakers.
- MMPX, a scaling filter for pixel art.
- The PlayStation Mouse: the touch pad (or the right stick) moves it; the touch pad pressed, Cross or R1 is its left button, Circle or L1 its right.
- "Differs from the original" (Settings, Picture; "Look" in the menu over a game): every setting in force that is not as the PlayStation had it, put back one by one or all at once.
- Console tuning (Settings, System): sound and the USB controllers ahead of the emulator and background jobs after it, the graphics driver on its own thread, and how long the driver checks and sleeps while it waits for the GPU. All off, or the driver's own, unless chosen.
- The boot log measures the game: with "Measure the game in the boot log", a line every five seconds of play (speed, worst frame, what each part of a frame took, draws, render passes and barriers per frame); always, a line when a game has run under 95 % for two seconds, and its average speed when it closes.
Changed
- A new install looks and runs as the PlayStation did: the software renderer at the console's resolution, its interlacing, the cracks between polygons, the edges a television hid cropped, no texture pack, the CPU's instruction cache. An install from before keeps its settings.
- Picture presets: Original, Original on a TV (composite signal, curved picture tube), Fast (2x), Normal (4x), Enhanced (6x), Beautiful (8x) and Speedrun.
- The CPU's instruction cache as the PlayStation has it: a line takes 4 to 7 cycles to fill from RAM (it took 1 cycle a word), and the same code reached through either of its addresses is cached once.
- The graphics driver is Mesa 27's RADV with Crux2's fixes for this console: the GPU's GFX10.1 hardware workarounds (against wrong shader results and GPU hangs), memory kept until the GPU is done with it (against a whole-console hang), a shader cache that stays on, cheaper draw calls.
- While a game falls behind the screen a third frame may wait to be shown, so a late frame no longer holds the next one back.
- Newer parts: SwanStation's newest (libretro/swanstation 631f0fb), libsmb2 (727feaa) and libnfs (371333f).
Fixed
- Closing a game no longer brings every file up to date with the network share: only its memory card and save states. The rest is brought up to date when PSSwanStation starts.
- A save state with an impossible timing event, MDEC command or video timing is refused instead of running on broken.
Source
This ZIP was built from PSSwanStation commit 3e258156af8b0e351d365f68cb0e41d2c1bb988d, this release's tag. The title is distributed under the GNU General Public License, version 3, as a whole; the source of every part is public at the revision it was built from:
- PSSwanStation: SwanStation (the emulator, with the libraries in its tree: libchdr with LZMA and zstd, xxHash, Xbyak, stb, libretro-common, OpenBIOS) and the PS5 frontend in ps5/ (with miniz, stb_vorbis, stb_truetype, pugixml and nanosvg (ES-DE themes), dr_mp3, AMD's FSR 1 and CAS headers, NVIDIA Image Scaling, AMD FidelityFX SDK's FSR3 optical flow through swordpdf's ps5-framegen and Mihawk's MihawkGen frame generation with its network, and PS5SX2's USB pad decoder, an HTTPS client of its own on mbedTLS, Crux2's clock and pacing wait, the disc drive after DuckStation's (GPL) and 5S2CD's disc readers, Project Nayuki's QR Code generator, the sandbox elevation client and Font Awesome Free's icons):
[3e258156af8b](https://github.com/Press5elect/PSSwanStation/tree/3e258156af8b0e351d365f68cb0e41d2c1bb988d) - PS5_Vulkan: the RADV link recipe, the packaging tool and sce_module/libc.prx:
[f410e67a0241](https://github.com/mihawk-99/PS5_Vulkan/tree/f410e67a0241b3e8edcdbcd2a9b285dfc4a412ed)with the patches in[ps5/patches/PS5_Vulkan](https://github.com/Press5elect/PSSwanStation/tree/3e258156af8b0e351d365f68cb0e41d2c1bb988d/ps5/patches/PS5_Vulkan), which make8a45c72f0093 - the PS5 platform layer (libps5platform.a) and the SDK headers, from the payload SDK fork, with musl's regex and dlmalloc:
[b5efad528e0a](https://github.com/mihawk-99/PS5_PayloadSDK/tree/b5efad528e0ac1b8289f39d72a0e890ff68ff0a6) - RADV, Mesa's Vulkan driver (with ACO, NIR and Mesa's Vulkan runtime), from the PS5_Mesa fork:
[1ba9874f4786](https://github.com/mihawk-99/PS5_Mesa/tree/1ba9874f478657ccf6da72ce55f0260164cc0bd0)with the patches in[ps5/patches/PS5_Mesa](https://github.com/Press5elect/PSSwanStation/tree/3e258156af8b0e351d365f68cb0e41d2c1bb988d/ps5/patches/PS5_Mesa), which make8bbcea366d65 - LLVM libc++, libc++abi, libunwind and compiler-rt builtins (linked into eboot.bin): ps5-payload-dev SDK release archives, https://github.com/ps5-payload-dev/sdk/releases
- the interface kit: BlackBearReloaded's ps5-homebrew-ui through mihawk-99's PS5_VKHomebrewUI (its Vulkan backend): shapes, text, themes, components, springs and the mixer, in eboot.bin; its fonts re-baked by ps5/tools/bake-fonts.sh (Inter, Montserrat, Press Start 2P and Patrick Hand under the SIL OFL 1.1, DejaVu Sans Mono under the Bitstream Vera licence), and its recorded sounds and songs in assets/hui:
[2188642afbcc](https://github.com/mihawk-99/PS5_VKHomebrewUI/tree/2188642afbcc8d84d36149124f3d9e39dc1b1a05)with the patches in[ps5/patches/PS5_VKHomebrewUI](https://github.com/Press5elect/PSSwanStation/tree/3e258156af8b0e351d365f68cb0e41d2c1bb988d/ps5/patches/PS5_VKHomebrewUI), which makeea00f4febd38 - libsmb2 (network shares):
[727feaaa6d0f](https://github.com/sahlberg/libsmb2/tree/727feaaa6d0f4fed1bae57745fbc2c5db9a30e64) - libnfs (NFS shares):
[371333f62d18](https://github.com/sahlberg/libnfs/tree/371333f62d18818a6845b7e2f1ef5e683b7311e9) - rcheevos (RetroAchievements):
[1433173220a7](https://github.com/RetroAchievements/rcheevos/tree/1433173220a7eaede6a9ed7a18e94117be1821e0) - mbedTLS 3.6 (HTTPS once the sandbox elevator has run: RetroAchievements, covers, the updater):
[068ff080b369](https://github.com/Mbed-TLS/mbedtls/tree/068ff080b369adfac81509f9b57b2afabaf82dc5) - FFmpeg 9.0.2 (ES-DE themes' videos): libavformat with the MP4 demuxer, libavcodec with the H.264, AAC and MP3 decoders and their parsers, and libavutil, configured by ps5/tools/build-ffmpeg.sh:
[946fcce07b6d](https://github.com/FFmpeg/FFmpeg/tree/946fcce07b6dcd0331c8cc609192aeff5e1924f8) - glslang (shader presets brought in from a USB drive are compiled with it):
[e1b562a8bed2](https://github.com/KhronosGroup/glslang/tree/e1b562a8bed273a02f30b59b66a5d499793cede5) - the Lapy helper (lapy.elf): PS5-Lapy-JB-Daemon's one-shot helper for this title, built unchanged:
c3bdfe3a3993, no longer on GitHub: [its archive](https://github.com/Press5elect/PSSwanStation/releases/download/build24/lapy-c3bdfe3a3993.tar.gz) - the game database (assets/gamedb.zip): the libretro database's PlayStation lists, rearranged by ps5/tools/make-gamedb.py:
[bf825e3ec48d](https://github.com/libretro/libretro-database/tree/bf825e3ec48d43557ad024da6a7b93e512043525)(metadat/developer/Sony - PlayStation.dat,metadat/redump/Sony - PlayStation.dat,LICENSE) - the libretro cheats (assets/libretro-cheats.zip): the libretro database's PlayStation cheat files, matched to serials by ps5/tools/make-libretro-cheats.py:
[bf825e3ec48d](https://github.com/libretro/libretro-database/tree/bf825e3ec48d43557ad024da6a7b93e512043525)(cht/Sony - PlayStation,metadat/redump/Sony - PlayStation.dat,LICENSE) - crt-guest-advanced by guest(r), from the libretro slang shaders (assets/shaders/crt-guest-advanced): its passes compiled to SPIR-V by ps5/tools/make-chains.py, its lookup pictures unchanged:
[e1d75632a205](https://github.com/libretro/slang-shaders/tree/e1d75632a205c70f14a4cc947c46d5abb7b3f7f1)(crt/crt-guest-advanced.slangp,crt/shaders/guest/advanced) - Mozilla's root certificates (assets/cacert.pem), as certifi 2026.07.22 carries them, unchanged: read beside the console's list by the title's own TLS: 2026.07.22, https://pypi.org/project/certifi/2026.7.22/
licenses/ in the title's folder holds each part's licence, and licenses/components.json the same revisions.
SHA-256 of PSSwanStation-PS5-PPSA99248-build25.zip: 9d48802af24b29b956f919ebc2e9b684e2f1890ded11aa6ed32926442a59a99d
No games, BIOS files, console firmware or keys are included, now or ever: use games you own, from your own discs.