mirror of
https://github.com/mihawk-99/PS5_RetroArch.git
synced 2026-10-18 23:09:29 -05:00
Evidence: Game Forwarder on the console; README: make a tile in the WebUI
evidence/game-forwarder-webui (tools/evidence.py distil of klog/game-forwarder-webui/ record.txt, game names masked): on the owner's base PS5 (13.40, ShadowMountPlus 1.7-beta5fix1), builds 9adce7a0 (8a31a1f) and 57fc257a (2512f39): - the routes from the PC: a tile made (PPSA99171, its files and param.json, in manual.lst), installed by ShadowMountPlus once RetroArch closed, opened (five arguments, "forwarder: /app0/content/snes/<game> with snes9x, closing after it"), renamed and re-pictured and the spike's tile deleted while RetroArch ran, both finished by the daemon once it closed ("removed", "installed again with its new name or icon"; /user/appmeta shows the new name and icon); - the page in a browser: 33 systems in the picker, each with its icon; a tile made from a SNES game's 3D box and one from a Genesis game's logo with the system's icon in the corner ("Saving..." while ShadowMountPlus answered); an installed tile deleted ("leaves the home screen once RetroArch closes"), uninstalled and its folder gone once RetroArch closed; the home screen's icons are byte for byte the PNGs the page drew (512x512); the Genesis tile opened its game with genesis_plus_gx and closed after it. Not checked (human_check): a tile opened on the home screen while RetroArch is open should bring up the console's prompt to close it; the control payload cannot press the home screen. README: "Start a game from a home screen forwarder" opens with "Make a tile in the WebUI" (the page, ShadowMountPlus 1.7 or later, why changes wait for RetroArch to close, where games may be); the arguments follow as "Make a forwarder by hand", unchanged. No line removed. Gates: format, unit (210 tests), build, integration (210 tests), evidence (138 captures, 0 failed) - PASS.
This commit is contained in:
1 parent
2512f39519
commit
001bbcf9d1
3 files changed
+89
No files matched your search
@@ -254,6 +254,26 @@ and **EXTERNAL** (`/mnt`) may be empty.
|
||||
|
||||
## <img src="webui/assets/fluent/game-chat.svg" width="26" height="26" alt=""> Start a game from a home screen forwarder
|
||||
|
||||
### Make a tile in the WebUI
|
||||
|
||||
The WebUI's **Game Forwarder** page makes home screen tiles that each open one game in
|
||||
RetroArch. Choose a system, then one of its games from your library, the name the home screen
|
||||
shows, the core (the game's own is chosen for you) and a picture: its box art, 3D box, logo,
|
||||
cartridge or disc, screenshot, title screen or fan art, filling the square or fitted in it, with
|
||||
the system's icon in the bottom right corner if you like. A picture the game has no file for
|
||||
yet is greyed out; **Download Media** can find it. Choose **Create tile**, then close
|
||||
RetroArch: the tile appears on the home screen. A new name or picture, and a tile you delete,
|
||||
reach the home screen the same way, once RetroArch closes.
|
||||
|
||||
A tile is a small title of its own, `PPSA99170` to `PPSA99269` in `/data/homebrew`, which
|
||||
[ShadowMountPlus](https://github.com/drakmor/ShadowMountPlus) 1.7 or later installs. The page
|
||||
needs it loaded with its API on (the default), and says so when it does not answer.
|
||||
ShadowMountPlus installs and removes nothing while a game runs, and RetroArch counts as one:
|
||||
that is why changes wait for RetroArch to close. Delete tiles from the page, which also removes
|
||||
their folder. A tile opens a game in the content folder or on a USB or extended storage drive.
|
||||
|
||||
### Make a forwarder by hand
|
||||
|
||||
A forwarder is a small app with its own home screen tile that launches `PPSA99169` with
|
||||
launch arguments. The title then starts that game in RetroArch with the core given, instead of
|
||||
opening the picker or a frontend.
|
||||
|
||||
@@ -0,0 +1,47 @@
|
||||
{
|
||||
"step": "game-forwarder-webui",
|
||||
"recorded": "2026-10-18T11:44:54Z",
|
||||
"console_run": "",
|
||||
"revision": "8a31a1f (routes, build 9adce7a0) and 2512f39 (page, build 57fc257a)",
|
||||
"command": "the WebUI at http://<console>:6769: its /api/forwarders routes from the PC, then the Game Forwarder page in a browser; RetroArch and the tiles started and closed through the control payload",
|
||||
"raw_capture": "klog/game-forwarder-webui/record.txt",
|
||||
"raw_lines": 35,
|
||||
"raw_bytes": 3143,
|
||||
"lines": [
|
||||
"==> the WebUI at http://<console>:6769: its /api/forwarders routes from the PC (step 2), then the Game Forwarder page in a browser (step 4); RetroArch and the tiles started and closed through the control payload",
|
||||
"Console: the owner's base PS5, firmware 13.40, ShadowMountPlus 1.7-beta5fix1, 2026-10-18. Builds 9adce7a0 (8a31a1f, the routes) and 57fc257a (2512f39, the page). Game names are masked.",
|
||||
"-- the routes (8a31a1f)",
|
||||
"GET /api/forwarders: shadowmount answers, version 1.7-beta5fix1; PPSA99170 installed (the spike's tile)",
|
||||
"POST /api/forwarders (a SNES game, core snes9x): 201 {'id': 'PPSA99171'}",
|
||||
"PPSA99171: eboot.bin, forward.txt, launch.elf 110832 bytes, sce_module/libc.prx, sce_sys/icon0.png, sce_sys/param.json",
|
||||
"param.json: PPSA99171 99171 UP9000-PPSA99171_00-FORWARDER0099171",
|
||||
"manual.lst: /data/homebrew/PPSA99170, /data/homebrew/PPSA99171",
|
||||
"RetroArch closed -> ShadowMountPlus: NOTIFY: installed game PPSA99171",
|
||||
"tile PPSA99171: launch payload 110832 bytes, 110832 sent to 127.0.0.1:9021 (errno 0)",
|
||||
"launch PPSA99171: 5 argument(s) from forward.txt",
|
||||
"forwarder: /app0/content/snes/<game> with /app0/cores/snes9x_libretro.so, closing after it",
|
||||
"PPSA99171 renamed and given a new icon: state updating; PPSA99170 deleted: {\"state\":\"pending\"}, manual list empty",
|
||||
"RetroArch closed -> daemon: forwarder PPSA99170: removed",
|
||||
"RetroArch closed -> daemon: forwarder PPSA99171: installed again with its new name or icon",
|
||||
"/user/appmeta/PPSA99171 titleName: Forwarder renamed; icon0.png the new one (first pixel 20 60 d0)",
|
||||
"/user/appmeta/PPSA99170 and /data/homebrew/PPSA99170: 550 No such file or directory",
|
||||
"-- the page (2512f39)",
|
||||
"page: 33 systems in the picker, each with its icon",
|
||||
"page: a SNES game, picture 3D box (fitted): Tile created. It appears on the home screen once RetroArch closes. (PPSA99170)",
|
||||
"page: a second waiting tile, made by a repeated test click (PPSA99172): Tile removed.",
|
||||
"page: Sega - Mega Drive - Genesis, a game, picture logo (fitted), system icon in the corner, core genesis_plus_gx prefilled: Saving... then Tile created (PPSA99172 again)",
|
||||
"page: PPSA99171 (installed) deleted: The tile leaves the home screen once RetroArch closes.",
|
||||
"API: PPSA99170 waiting, PPSA99171 removing, PPSA99172 waiting; manual.lst /data/homebrew/PPSA99170, /data/homebrew/PPSA99172",
|
||||
"RetroArch closed -> ShadowMountPlus: NOTIFY: installed game PPSA99170; NOTIFY: installed game PPSA99172",
|
||||
"RetroArch closed -> daemon: forwarder PPSA99170: launch.elf brought up to this build",
|
||||
"RetroArch closed -> daemon: forwarder PPSA99171: removed",
|
||||
"ShadowMountPlus: [API] uninstall requested: title=PPSA99171",
|
||||
"/user/appmeta/PPSA99171, /user/app/PPSA99171 and /data/homebrew/PPSA99171: 550 No such file or directory",
|
||||
"/user/appmeta/PPSA99170 icon0.png: 408809 bytes, 512x512, the tile's own: True",
|
||||
"/user/appmeta/PPSA99172 icon0.png: 71761 bytes, 512x512, the tile's own: True",
|
||||
"tile PPSA99172: launch payload 110832 bytes, 110832 sent to 127.0.0.1:9021 (errno 0)",
|
||||
"launch PPSA99172: 5 argument(s) from forward.txt",
|
||||
"forwarder: /app0/content/genesis/<game> with /app0/cores/genesis_plus_gx_libretro.so, closing after it",
|
||||
"Left on the console: PPSA99170 and PPSA99172 on the home screen, made by the page."
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,22 @@
|
||||
{
|
||||
"step": "game-forwarder-webui",
|
||||
"note": "Game Forwarder on the console: tiles made, renamed, given a picture and deleted through the WebUI; ShadowMountPlus installs and uninstalls them once RetroArch closes, the WebUI's daemon finishes what waited; a tile opens its game in RetroArch with its core and closes after it; the home screen shows the picture the page drew, the system's icon in its corner.",
|
||||
"must_contain": [
|
||||
"shadowmount answers, version 1.7-beta5fix1",
|
||||
"NOTIFY: installed game PPSA99171",
|
||||
"launch PPSA99171: 5 argument(s) from forward.txt",
|
||||
"forwarder: /app0/content/snes/<game> with /app0/cores/snes9x_libretro.so, closing after it",
|
||||
"daemon: forwarder PPSA99170: removed",
|
||||
"forwarder PPSA99171: installed again with its new name or icon",
|
||||
"titleName: Forwarder renamed",
|
||||
"33 systems in the picker, each with its icon",
|
||||
"Tile created. It appears on the home screen once RetroArch closes.",
|
||||
"The tile leaves the home screen once RetroArch closes.",
|
||||
"daemon: forwarder PPSA99171: removed",
|
||||
"[API] uninstall requested: title=PPSA99171",
|
||||
"icon0.png: 71761 bytes, 512x512, the tile's own: True",
|
||||
"forwarder: /app0/content/genesis/<game> with /app0/cores/genesis_plus_gx_libretro.so, closing after it"
|
||||
],
|
||||
"must_not_contain": [],
|
||||
"human_check": "The owner opens a tile on the home screen while RetroArch is open: the console asks to close RetroArch first, then the game starts. Not checked here: the control payload cannot press the home screen."
|
||||
}
|
||||
Reference in new issue
Block a user