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-sizeicon0.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 fromassets/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'szlibandzipfileand 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