github quer3q/ampr-emu-ng v0.4.0

pre-release27 minutes ago

The big one - FPKG (pkg) games support

ampr-emu-ng now runs games installed as debug FPKG .pkg files. The
runtime reads the game's data straight from the .pkg, so you don't have
to unpack it or keep a second copy on the drive. zstd packs, LZ4 packs and
plain folders work as before.

FPKG support is experimental, and a pkg game can run worse than the same
game in zstd packs. If a game stutters as a pkg, try it in zstd packs and
tell us in an issue.

What's new

  • FPKG (pkg) games, see above.
  • Faster pack reads: every chunk is read with one disk read of its exact
    size, and the decoded cache is 64 MiB. On two zstd titles the game
    waited 11% and 14% less per read than with v0.3.5.
  • LZ4 packs split a large read into parallel jobs, as zstd packs already
    did.
  • A pack index too big for memory is now read on demand. v0.3.5 refused
    it, switched the packs off, and the game quit (#53).
  • The zstd decoders no longer take memory from the game's heap.
  • A game installed on a writable /app0 can create files next to its
    packed files. Packed files stay read-only.

Fixes

  • Freeze while loading with zstd packs (#37): the runtime's read threads
    ran at a lower priority than the game's threads. They now run at the
    same priority as the pack workers.
  • Endless loading screen on the internal SSD and extended M.2 (#45): a
    folder listing that failed on these drives went to the game, and the
    game asked again and again. The runtime now lists the folder from the
    pack index instead.

Thanks

A huge thank you to our two strongest contributors:

  • @strongt1me found and fixed the loading freeze (#51, for #37) and the
    internal SSD hang (#57, for #45), and read the logs of nearly every new
    report (#48, #49, #50, #52, #53, #54, #55, #56), often with a test build
    the same day.
  • @jamesst20 made the core dump and the inline-read test that showed what
    froze #37, tried to reproduce #48 on their own console, tested #54 and
    #35, and opened the design discussion on virtual fd numbers (#58).

Thanks to everyone who tested builds and sent logs:

Welcome to everyone who reported a game for the first time:
@olizo53 (#48), @Theone5000 (#49), @DanielH646 (#50), @PrivatePasta (#52),
@zhangsaiyi123-png (#53), @MajdDark (#54), @yA0hA (#55) and @aruto16 (#56).

Reporting a game

Issues have a game report form. Please share how your games run, both the
ones that fail and the ones that work, and name the format: pkg, zstd, LZ4
or folder.

Launch FPKG (pkg) game

FPKG games are launched with
kraken-mount:

  1. Make a plaintext debug FPKG .pkg with any pkg tool you like.
  2. Mount your games with kraken-mount instead of ShadowMountPlus.
  3. When the game starts, the notice reads
    ampr-emu-ng: v0.4.0 (pkg) running.

How to use

FPKG games: see Launch FPKG (pkg) game.

zstd, LZ4 and folder games: copy libSceAmpr.sprx into the game's
fakelib/ and mount the game with ShadowMountPlus (disable fakelib update
in its settings), or with kraken-mount.

zstd and LZ4 packs can be made with
ps5-dump-forge.

Don't miss a new ampr-emu-ng release

NewReleases is sending notifications on new releases.