github XavyProd-Git/pkg-mutant-shop v3.97.1
PKG MUTANT SHOP 3.97.1

latest releases: v3.99.5, v3.99.4, v3.99.3...
one month ago

Added

  • Both consoles open archives on their own now — no PC anywhere. Seven of the ten PS5
    homebrews ship as a .zip, and with every PC switched off the app could not download, install
    or update any of them: the Updates drawer counted the update and then offered a link to the
    project's GitHub release page instead of a button. The console now carries its own
    decompressor, reads the archive, puts the app folder on the drive under its own title id, puts
    the emulator's own data folder where its project documents, and deletes the archive — all in
    the same job as the download, so you watch one progress bar and end up with an installed
    emulator.
  • The console makes its own cover art, from the games' own files. The library's covers were
    each title's full-size icon0.png: 81 of them weigh 25.2 MB on the PS5 and 23 weigh 7.1 MB on
    the PS4, and the only thing that had ever made small copies was the PC. The console now reads
    the PNG out of the game's own folder and writes a card-sized cover itself — the same library,
    2.2 MB instead of 25. Nothing is asked of anything: no PC, no network, no cache to fill first.
    It happens once per title, in the background, and a title installed five minutes ago gets its
    cover the moment you look at it.
  • The PS4 can check for updates again. Its running build predated the route that reads a
    project's releases, so every request fell into the "unknown address" stub, came back as an empty
    reply, and the drawer read that as "Everything matches the newest release" — about a check that
    had not happened. It lists exactly what the PS5 does now, and reads GitHub itself: two projects
    it had never been asked about, fresh, in nine seconds, with every PC switched off.
  • And a console that still cannot check now says so. The page reads the releases itself when
    the console's answer is an empty one — it runs in the console's own browser, which has its own
    network — so "could not check" can no longer be mistaken for "nothing to report". That is the
    one answer an update check must never give.
  • A PS4 payload the console downloaded itself can be started. It arrived, was tidied up
    correctly, and then had no Run button, because the console's own payload list only ever
    reported the copies built into the app.

Fixed

  • "Send again" overwrites, which is what it is for. Pressing it on something the console
    already has was refused with "… is already mounted on …" — and painted green, as a success.
    The panel was not passing the flag that means "yes, over the top": the games grid has sent it
    since it was written.
  • The emulators' helper files are no longer in the Payloads list. Four ELFs that live inside
    an emulator's folder — PS5SX2's installer and helper, XPSemu's helper, PS5X360's log collector —
    were appearing as Payloads of their own, named after somebody else's project and doing nothing
    on their own. They are on their emulator's tile now, where what they are for is obvious, and the
    two that have to be running before their emulator starts can still be started from there.
  • "Keep on the console" is gone. It copied a package into the console's own folder so it could
    be installed again with no PC — the only road to a self-sufficient console back when the console
    could not reach the internet. It can now, so pressing Download on the console does the same job;
    and four words on a button were the only explanation of it anywhere in the app.
  • A first download is one press again. A tile whose only possible action was Download still
    opened the "what do you want to do" row first. Anything that can replace something still asks.
  • "That did not work" says what did not work. One blanket catch sat over the whole
    download-and-install chain and turned every refusal, from any cause, into those five words. A
    refusal now carries the reason the server gave it.
  • Taking one update no longer re-reads every project. It fired a forced check of all ten,
    one after another, on the console's single worker — half a minute of "Working…" in the drawer
    you were looking at — to learn something it already knew.
  • "Update all" takes the rows the drawer actually shows. It was filtering its own list
    differently, so on a console whose updates were all emulators the button did nothing at all.
  • The library does not rebuild itself three times for one page open. Asking for the drives
    built the entire library document and threw the games away — twice when the page opens, and
    again every minute. One document is built and shared, and it is rebuilt when the console's
    content actually changes rather than on a timer.
  • The grid refreshes itself with no PC on the network. Its only refresh signal came from the
    PC companion, so a game installed on the console stayed invisible until the page was reloaded by
    hand. Both consoles already publish a content signature; the page reads it now.
  • Cover art can be revalidated. Every reload re-downloaded up to 540 KB of PNG per card
    because the request's own cache headers were being discarded.
  • A patch on a USB stick is a patch. It was becoming a full-game card on the PS4, under the
    game's name and size, so one game showed twice and pressing the wrong one installed a patch as
    if it were the game.
  • Nothing in the app opens GoldHEN's payload port any more. The release gate and the network
    sweep both connected to it and closed again — 254 times, in the sweep's case — which is exactly
    what stops that loader listening, and it is the only lane by which a new PS4 build is loaded. A
    jailbroken PS4 with no payload running is found by GoldHEN's FTP greeting instead, which is the
    signal that was measured to be reliable in the first place.
  • PS5CEMU-HAR can be downloaded. It was marked as source-only, which was true until the
    project published its first build.
  • RetroArch's entry said its cores are published separately. They are not, and never were:
    the release is one archive and the cores are inside it.
  • Three emulators keep your games and saves outside their app folder — XPSemu, ProsperoEden
    and Porpoise — and nothing in the app said so. Each one's entry now does.
  • Installing an archive checks for room to unpack it, not just to download it. RetroArch's is
    752 MB compressed and these archives expand two to three times.

Notes

  • An emulator update merges into the folder that is already there: every file the new release
    carries is replaced and everything else is left alone. Several of these emulators keep your own
    files inside their app folder — PS5X360 reads games from assets/roms/ and RetroArch keeps its
    whole configuration in there — and an update that replaced the folder would take them with it.
  • A folder inside an archive that the app has no recorded place for is named and left alone
    rather than put somewhere chosen for it.
  • The decompressor and the cover-art maker are both this project's own, because neither console's
    SDK has either. They are tested against Python's zlib and zipfile and against Pillow: 434
    generated streams, six corrupt ones that must be refused rather than crash, every real release
    archive extracted and compared file by file, and all 104 covers on both consoles decoded to the
    exact same pixels.

Download

PKG-MUTANT-SHOP.exe Windows companion
PKG-MUTANT-SHOP.elf PS5 — firmware up to 13.60, load from Payload Manager
PKG-MUTANT-SHOP-PS4.elf PS4 — FW 13.52, load through GoldHEN
PKG-MUTANT-SHOP-3.97.1.zip all three, with checksums

Load the new .elf on your consoles as well — everything above happens on the console side,
so the PC alone will not give you any of it.

Setup · Full changelog

Don't miss a new pkg-mutant-shop release

NewReleases is sending notifications on new releases.