From 0bf3e003c8caafb17331dee2705cfe1a9dca639b Mon Sep 17 00:00:00 2001 From: Mihawk <163614687+mihawk-99@users.noreply.github.com> Date: Fri, 18 Sep 2026 15:41:47 -0400 Subject: [PATCH] Automate the console loop, fix the null joypad crash, bundle the RGUI fonts tools/run-title.sh owns the whole sequence: build, publish, verify what the console stored, listen to the kernel log, launch, watch, close the title itself, and print the title's own trace. The hand-driven loop had produced two bad readings - runs overlapped so one launch's trace was read as another's, and a probe build left in place was mistaken for a finding - and neither can happen now. Verification changed to match this console. It converts a signed fake self into a raw ELF as it stores it, so the served file is a different container from the one sent (8,117,072 bytes against 8,029,263; 12.8% of bytes equal). A digest check was answering the wrong question and rejecting successful uploads, so eboot.bin is now verified by the strings only this build carries. sce_module/libc.prx is the one path this console will not replace, so it is reported and kept rather than fatal: the title runs against the console's copy, and failing on it blocked eboot.bin. The crash is fixed. Every joypad driver upstream ships needs a library this SDK does not carry, so primary_joypad is NULL, and input_joypad_analog_axis reads drv->axis without checking drv - inside an if (menu_is_alive) block, which is why pass one survived and pass two died with SIGSEGV at fault address 0x18. patches/series 0004 returns 0 when there is no driver. The title now runs indefinitely: 1500+ frames in 25 s. RGUI's bitmap fonts are downloaded assets, not built-ins: without /rgui/font/bitmap10x10_eng.bin rgui_fonts_init fails and rgui_init jumps to its error label. They are now bundled under assets/rgui/font/ and shipped. The menu still does not draw, and the reason is measured: RGUI is alive with a 320x240 framebuffer but GFX_DISP_FLAG_FB_DIRTY is never set, so rgui_set_texture returns every frame. That flag is set at the end of rgui_render, reached only through menu->driver_ctx->render under MENU_STATE_BLIT. docs/FINDINGS.md records the path there. Evidence: bash tools/run-title.sh -> 1500+ frames, no-menu-source, closed by the script; /app0/trace.txt; tools/verify.sh PASS (format unit build integration evidence); port changes vs upstream retroarch.c 10 lines, gfx/video_driver.{c,h} 5, input/input_driver.c 6, runloop.c 0, menu/drivers/rgui.c 0, every probe removed. --- assets/rgui/font/bitmap10x10_chn.bin | Bin 0 -> 226226 bytes assets/rgui/font/bitmap10x10_eng.bin | Bin 0 -> 1160 bytes assets/rgui/font/bitmap10x10_jpn.bin | Bin 0 -> 1906 bytes assets/rgui/font/bitmap10x10_kor.bin | Bin 0 -> 14570 bytes assets/rgui/font/bitmap10x10_rus.bin | Bin 0 -> 622 bytes assets/rgui/font/bitmap6x10_eng.bin | Bin 0 -> 991 bytes assets/rgui/font/bitmap6x10_lse.bin | Bin 0 -> 1477 bytes docs/ACTIVE.md | 42 ++---- docs/FINDINGS.md | 41 ++++++ docs/PHASE_LOG.md | 56 ++++++++ patches/series | 13 ++ sce_sys/icon0.png | Bin 6543 -> 9590 bytes src/main.cpp | 24 +++- src/trace.cpp | 52 ++++++++ src/trace.hpp | 43 +++++++ src/video_ps5.cpp | 106 ++++++++++++++-- tests/test_frontend.py | 8 +- tools/apply-port-patches.py | 78 ++++++++++++ tools/build-retroarch.sh | 48 ++++++- tools/deploy-title.py | 80 +++++++++++- tools/run-title.sh | 183 +++++++++++++++++++++++++++ 21 files changed, 725 insertions(+), 49 deletions(-) create mode 100644 assets/rgui/font/bitmap10x10_chn.bin create mode 100644 assets/rgui/font/bitmap10x10_eng.bin create mode 100644 assets/rgui/font/bitmap10x10_jpn.bin create mode 100644 assets/rgui/font/bitmap10x10_kor.bin create mode 100644 assets/rgui/font/bitmap10x10_rus.bin create mode 100644 assets/rgui/font/bitmap6x10_eng.bin create mode 100644 assets/rgui/font/bitmap6x10_lse.bin create mode 100644 src/trace.cpp create mode 100644 src/trace.hpp create mode 100755 tools/run-title.sh diff --git a/assets/rgui/font/bitmap10x10_chn.bin b/assets/rgui/font/bitmap10x10_chn.bin new file mode 100644 index 0000000000000000000000000000000000000000..08097fe9145ac95229573c7ceda97aeda936c4b0 GIT binary patch literal 226226 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 ad=)T!nwh^nMl&nUdYYPsN&W&v9DhYEATD13 literal 0 HcmV?d00001 diff --git a/assets/rgui/font/bitmap10x10_jpn.bin b/assets/rgui/font/bitmap10x10_jpn.bin new file mode 100644 index 0000000000000000000000000000000000000000..8463a9308c31816374a33a7dd087f34a20f543ea GIT binary patch literal 1906 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 literal 0 HcmV?d00001 diff --git a/assets/rgui/font/bitmap6x10_eng.bin b/assets/rgui/font/bitmap6x10_eng.bin new file mode 100644 index 0000000000000000000000000000000000000000..13faaf79cd229c4a65ebc821bf37fb5f274f5f19 GIT binary patch literal 991 zcmV<510eh(Qd&t+b^#**00IC22mk;80002T0{{Scob6Q4Ya3S(o?UJ1hcL=>q*O{; zqE#b<1UaPOfCLHMC+#LqC~?(zOG9Z&0`4u4qht(Oi5S{14Nc=K+#I`TX&x0G={tq9nS$6yUD;qAOj1VCiy12Z1cANo>*s6nArBJgI%J zBpgVxQJkxz?z;3;4dZ9kJ-Ny_!}_hti_d+4ao#)3@=0%za6DZSN|0T2nPkKhx?q9_ zHc21|-$|t$!qxFKs|ycjf#VC}o8*7KS^SguS9)12e4LFIbLZ&%kdl;V5Vl5dasEZB zi_zortGN!+%tfE(&@XA4`e7OyiT=ST*Bpe@22YV+kh}SDO!4RA`2I52+hQJ=&%}#b zqmIoVar_LQU!VY-hwTx24U(7Q`x_OKtNKX9`V84&Uo_=g$LsJ#29z(nHD5xeONtD@ zlW^aqzYDN7`CsejJ2VDoTf`rrtz;Y9<#k%b6VHFkqx{%Ei;-AHeLuzabm2~c>jd{S z=K0m>`U|}$3jkBf)DLhfj$=Y=PyTf)pQA}>V?64_{1y5|c`Zfv;McnTEs{f9M>yEv zcwxL*VN4rJA=iWVEK0~yT!nyx_mg6B73AH=%sp?1gKkc-iO>_Tz9pKz1Uze{AU+#rYJEp#apJ(quGz|6{ zJhYJ8+%=g=88mZ@Xp0`168`$-dy}90hBqfP_vz)u2mg{kEu%qG?yo@d3V`HRZ>t2z zzs++5a%H%4hvuvP{DP!+&vw+G){cA*iRF*)X!*?*Jm0F!7)}3!w+H;^gs1khB>8Wb zkFD&HfNfg@?F-B|)xe>}Z|a86*Cd>Y=fbf3v;oQOPu{?naEMyA8}zhrw36(nHzuUY zN2+rG?~lsmAHH-5=c_Lq82nV3BboS?yg|x!#RP@(!5#JuEE5j>(qEJ2#eY^m`w2G7e7|&l3uw>pLRdt5#*xLuB1nAqL}PsE z(cBsG3$0&h{X%PR^|R)_@jVT9go}AEu9xc$<>PlREMh*!k;TNKZW;vm=)13Yo@hT1 zf3p{aMf7J(EV_0t2#eY^m`w0aaLw>Dd*Q$MUvduc51<&p0sbA!zhn7#EdO17KNU!` NZ;Za5`WyMD8<(V|0bu|D literal 0 HcmV?d00001 diff --git a/assets/rgui/font/bitmap6x10_lse.bin b/assets/rgui/font/bitmap6x10_lse.bin new file mode 100644 index 0000000000000000000000000000000000000000..dac5bfd5b16805ad438e2aac972e8db1160c7710 GIT binary patch literal 1477 zcmV;$1v>g8Qd&t+b^#**00IDj3IG5A000231pokeoL!b(XdG1($M4MC>|TbjOuK`d zhow&J)=a9!1S{Qz24<3-v|DuAZM*0`*ivkzL6lMuc65bl9IU$!AroUORohy%ND=kf z7q>w%MZpva_yN*~Qhe}9`;dn|c+RKm*=eOs6oO|v$=T2-`bNPU=*eK5zBF0k1 zsbc24-FzT2j3JAR(8_hI!kExnzSUwZ(IqFkWTxy)*-gdfeJ<7(i;TJ5a&4gu`)=)g z?SkFPMRhwuKib#xZSv=4p@n`(P8BmvGVDX#EAahRoBRV78B^I!WkmV8(~c4*6eoK1W+A}&{5r(Jp$vz&#=Ce5d)_zJ^}F_7!$M3vgR$?Q)x9} zv(Db`Cwmi^hl=+B)7z*Pt>dAz6PEGuAE9{%rTy{XzCAz&yG?#MLrcyY@>qf_v}YUd zpFrJR$Mg1fHh^(I|G9{Tb!gE*E`6V-k zjQNZ#GKqe;@wtosSNodc{t1nrH%u!a7Ft^jx7U?zP;-L{%nPRS_zm#)`GsQbG}aT` z8^qzLB{kmFy@>WDM~%xv!hpZu6b5{%^TCMfx?jifp|n&Rhjp^Do*(6rIv3vWa<-TC zxA3=!R|*xnk7-;deo9<)gvQvkmGi|UuHVFYo;_;%E@!?~oVhT~824rV=6o23bw>37 z@o;1vWbk*e>n~Z|%~-Du_}c;FX0Bb^{*%_vOCIN;j&a}gPHkZb{rMn5jaOlO6Eo?B z7f~@TxZWhi!)MS0_NP?`;}FvM+3xu~_Ms7r;yU@M19d6}`}q@}M}}crk^A|@4e!D> zweM$5)ZSH>^1$01$o#pwozBVF@tKA4yILeAct&at7_@P3Zh?dL4x?b6AGQq6*Mef7$pFT?NOe);N$SDg$KAI)3< zH8uIJKwqYJ#Z-OIRDBcQ3A^&3R@W8A=Pom1(g^e1_3VmLT2Hd6SXZnohVxRs!TjXk zfOHQ1$a#uA$;I9if4p}ahG$z}TxwB%HW%Mi`5WCcO!Z!npV10%^#eo(I-zJ~Oed9WL*s!{xn%ibKU6F5gqI(|Z~!4i&@i zbdMb_?=e&yDh4~W#+v2bABE{xg;5kayujs`|NnKUNHSzYl<4tXNw(?s9o9WSKV* z>_&s?85K(Q2Y2r2Kx6ZTZNc~i_PeMy-qzSdriver_ctx->render` under `if (BIT64_GET(menu->state, MENU_STATE_BLIT))`. +The menu's renderer never runs; finding which condition above that call is false +is the next step, and `docs/FINDINGS.md` records the path there. ## Next diff --git a/docs/FINDINGS.md b/docs/FINDINGS.md index 574e767..ae3a005 100644 --- a/docs/FINDINGS.md +++ b/docs/FINDINGS.md @@ -1059,3 +1059,44 @@ running. **Boundary.** The console's VideoOut ABI as this project's SDK declares it. Anything that changes one of these five values is a console-side change, not a build option. + +## A null joypad driver is this console's normal state, and upstream dereferences it + +**Measured.** With every joypad driver upstream ships unavailable - udev, linuxraw, +SDL, XInput, dinput all need a library or a header this SDK does not carry - +`input_st->primary_joypad` is NULL. `input_driver_collect_system_input` passes it +straight to `input_joypad_analog_axis`, which reads `drv->axis` without checking +`drv`: the function guards every axis member against `AXIS_NONE` and never guards +the struct. + +**What it looked like.** Nothing like a null pointer. The title started, the +display opened, the first frame was presented, and then it died on the *second* +pass through the runloop with SIGSEGV and fault address 0x18. The reason it +survived the first pass is that the call is inside `if (menu_is_alive)`, and +`MENU_ST_FLAG_ALIVE` is set after the first frame. Finding it took a probe in the +caller, then one at the function entry, then reading the loop: the fault address +0x18 is `joypad_info.joy_idx` (0x10) plus the `auto_binds` member (0x18). + +**Fix.** `patches/series` 0004 returns 0 when `drv` is NULL, which is what the +function already answers when there is no axis to read. + +## The menu is alive but its framebuffer is never marked dirty + +**Measured.** `/app0/trace.txt` from a 25-second run: `rgui_fonts_init` completes, +RGUI holds a 320x240 framebuffer, and `rgui_set_texture` is called every frame - +but `GFX_DISP_FLAG_FB_DIRTY` is 0 on every one of those calls, so it returns +before handing anything to the driver. The driver therefore reports +`no-menu-source 4x4` for every frame: nothing is ever drawn, which is what "the +screen stayed black" is. + +**Where the flag should come from.** `GFX_DISP_FLAG_FB_DIRTY` is set at the end of +`rgui_render`, and `rgui_render` is only reached through +`menu->driver_ctx->render` inside `if (BIT64_GET(menu->state, MENU_STATE_BLIT))`. +So the menu's renderer is never running. That is the next thing to measure: which +of the conditions above the call is false. + +**Also measured, and separately true.** RGUI's bitmap fonts are downloaded assets, +not built-ins: `bitmapfont_10x10_load` returns NULL when +`/rgui/font/bitmap10x10_eng.bin` is missing, `rgui_fonts_init` then fails, +and `rgui_init` jumps to its error label with the menu dead. They are now bundled +under `assets/rgui/font/` and shipped in the title folder. diff --git a/docs/PHASE_LOG.md b/docs/PHASE_LOG.md index f22ca63..cc729af 100644 --- a/docs/PHASE_LOG.md +++ b/docs/PHASE_LOG.md @@ -655,3 +655,59 @@ old bytes. The console's FTP accepts the transfer and serves something else, so the console's owner uploads by hand. **Commit.** `eebba81` — Link the title and register the PS5 video driver. + +## 2026-09-18: The loop is automated, the crash is fixed, and the menu's silence is explained + +**The console loop is one command now.** `tools/run-title.sh` builds, publishes +over FTP, verifies what the console stored, starts the kernel-log listener before +launching, launches, watches, closes the title itself, and prints the title's own +trace. It exists because the hand-driven loop had produced two bad readings: runs +overlapped, so a trace from one launch was read as another's result, and a probe +build was left in place and mistaken for a finding. No round after this one +needs a person to upload anything. + +**Verification had to change to match this console.** It converts a signed fake +self into a raw ELF as it stores it, so the file it serves is a different +container from the file sent - the stored image is 8,117,072 bytes against a +signed 8,029,263 and only 12.8% of the bytes agree. A digest comparison therefore +answers the wrong question and was rejecting successful uploads. eboot.bin is now +verified by the strings that only this build carries, which is the same evidence +the debugging used. `sce_module/libc.prx` is the one path this console will not +replace - four uploads, a fresh filename and a full listing all returned the +console's own 1,335,962-byte file - so it is reported and kept, not fatal: the +title runs against the console's copy, and failing on it blocked eboot.bin from +being published at all. + +**The crash is fixed, and it was a null joypad driver.** Every joypad driver +upstream ships needs a library or header this SDK does not carry, so +`primary_joypad` is NULL, and `input_joypad_analog_axis` reads `drv->axis` without +checking `drv`. It only runs when the menu is alive, which is why the first pass +through the runloop survived and the second died: SIGSEGV, fault address 0x18, +which is `joypad_info.joy_idx` plus the `auto_binds` member. `patches/series` 0004 +returns 0 when there is no driver - the answer the function already gives when +there is no axis to read. The title now runs indefinitely: 1500+ frames in 25 +seconds, closed by the script. + +**The menu's silence is explained, and it is not the driver.** RGUI initialises, +loads its fonts from the assets now bundled under `assets/rgui/font/`, holds a +320x240 framebuffer, and `rgui_set_texture` is called every frame - but +`GFX_DISP_FLAG_FB_DIRTY` is 0 on every one of those calls, so it returns before +handing anything over and the driver reports `no-menu-source` for every frame. +That flag is set at the end of `rgui_render`, which is only reached through +`menu->driver_ctx->render` under `if (BIT64_GET(menu->state, MENU_STATE_BLIT))`. +The menu's renderer is never running; finding which condition above it is false is +the next step. + +**The evidence.** `bash tools/run-title.sh` → built, published with eboot.bin +verified by its own markers, ran 25 s, closed by the script; `/app0/trace.txt` +shows `ps5_frame 1500: no-menu-source 4x4 present=1`, i.e. a healthy loop +presenting frames and no menu pixels. `tools/verify.sh` → PASS (format unit build +integration evidence). Port changes against upstream: `retroarch.c` 10 lines, +`gfx/video_driver.{c,h}` 5, `input/input_driver.c` 6, `runloop.c` and +`menu/drivers/rgui.c` 0 - every probe removed, verified by diff. + +**One thing to check later.** `sce_sys/icon0.png` shows as modified and I cannot +account for it: the worktree file and `title/assets/retroarch.png` are both +512x512 but differently encoded, and nothing in this round touches it. It is +committed as it stands rather than reverted, and flagged here so it is not a +silent change. diff --git a/patches/series b/patches/series index 57726ab..289a238 100644 --- a/patches/series +++ b/patches/series @@ -15,3 +15,16 @@ # without declaring, so that --disable-xkbcommon is accepted # qb/config.params.sh 0002-declare-have-xkbcommon +# +# 0003 rename upstream's `main` so the SDK's _start has one definition to reach +# and rarch_main keeps the frontend's main loop (see the note in +# tools/apply-port-patches.py: defining HAVE_MAIN instead compiles the loop +# out, which is a title that initialises everything and exits) +# retroarch.c +0003-rename-upstream-main +# +# 0004 guard input_joypad_analog_axis against a null joypad driver, which is this +# console's normal state: without it the menu's analog read faults on the +# second pass through the runloop (see tools/apply-port-patches.py) +# input/input_driver.c +0004-guard-the-joypad-analog-read diff --git a/sce_sys/icon0.png b/sce_sys/icon0.png index b5ee066d15e86e0f7c3c562e6933e38eacf7be5a..5a5f8f4686d88d90ee6de9a470dd8acdba13d272 100644 GIT binary patch literal 9590 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 b6Knk4L7_JT6J6jRsgRN0QQa5XjDY_GXY7-Q literal 6543 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 diff --git a/src/main.cpp b/src/main.cpp index cfb0056..82780e5 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -17,10 +17,20 @@ * -f fullscreen, which on a console is the only mode * -c the config to read and write, inside the title's own folder * --verbose so the run is readable in the console's log + * + * Why this file writes a trace. The first run of this title on the console ended + * with the kernel reporting `eboot.bin calls exit() exit_value=0` and nothing + * else: no output, no crash, no message. A program that exits zero and says + * nothing is indistinguishable from one that never reached `main`, and the + * console's log cannot be asked which it was. So the entry point and the video + * driver append a line per step to /app0/trace.txt, and after a run that file + * says how far it got. See src/trace.hpp. */ #include +#include "trace.hpp" + /* RetroArch's entry, in C. */ extern "C" int rarch_main(int argc, char *argv[], void *data); @@ -33,6 +43,10 @@ constexpr const char *config_path = "/app0/retroarch.cfg"; int main() { + /* First thing: prove that control reached this function at all, before + * anything that could fail. */ + ps5::debug::mark("main() entered; static constructors have already run"); + /* argv must be writable and NULL-terminated: RetroArch's option parsing * walks it the way the C runtime would have. */ char arg0[] = "retroarch"; @@ -45,5 +59,13 @@ int main() }; (void)config_path; - return rarch_main(static_cast(sizeof(argv) / sizeof(argv[0])) - 1, argv, nullptr); + ps5::debug::mark("argv built: retroarch -f -c /app0/retroarch.cfg --verbose"); + + const int status = + rarch_main(static_cast(sizeof(argv) / sizeof(argv[0])) - 1, argv, nullptr); + + /* If this line is on the console, the frontend ran and returned by itself. */ + ps5::debug::mark_value("rarch_main returned", status); + + return status; } diff --git a/src/trace.cpp b/src/trace.cpp new file mode 100644 index 0000000..b16d071 --- /dev/null +++ b/src/trace.cpp @@ -0,0 +1,52 @@ +/* + * PS5 RetroArch - the startup trace. See src/trace.hpp for why it exists. + * + * Copyright (C) 2026 Mihawk + * SPDX-License-Identifier: GPL-3.0-or-later + */ + +#include "trace.hpp" + +#include + +namespace ps5::debug +{ +namespace +{ +/* Inside the title's own folder, which the console mounts at /app0 and which the + * trace files written by an earlier build proved is writable. */ +constexpr const char *trace_path = "/app0/trace.txt"; + +void write(const char *line) noexcept +{ + std::FILE *file = std::fopen(trace_path, "a"); + if (file == nullptr) + return; + std::fputs(line, file); + std::fputc('\n', file); + std::fflush(file); + std::fclose(file); +} +} // namespace + +void mark(const char *step) noexcept +{ + write(step); +} + +void mark_value(const char *step, long long value) noexcept +{ + char line[192]; + std::snprintf(line, sizeof(line), "%s = %lld", step, value); + write(line); +} + +void mark_init(const char *step, bool have_video, int width, int height) noexcept +{ + char line[192]; + std::snprintf(line, sizeof(line), "%s (video=%s width=%d height=%d)", step, + have_video ? "present" : "NULL", width, height); + write(line); +} +} // namespace ps5::debug + diff --git a/src/trace.hpp b/src/trace.hpp new file mode 100644 index 0000000..5301252 --- /dev/null +++ b/src/trace.hpp @@ -0,0 +1,43 @@ +/* + * PS5 RetroArch - a startup trace, to be read from the console's title folder. + * + * Copyright (C) 2026 Mihawk + * SPDX-License-Identifier: GPL-3.0-or-later + * + * Why this exists. The title's first runs on the console ended with the kernel + * reporting `eboot.bin calls exit() exit_value=0` and nothing else - no output, no + * crash, no message. `main` had already been shown to run, so the question was + * how far the frontend got before returning. There is no debugger here, no + * console output that reaches the kernel log, and the title's own stdout has no + * reader: files in the title's folder are the only channel. + * + * So each step appends one line to /app0/trace.txt. Appending rather than + * overwriting matters - the sequence is the information, and a file per step + * cannot show order if the program dies between two writes. The file is opened, + * written and closed on every call so a line is on the console even if the + * process is killed immediately afterwards. + * + * This is a development aid. It is small, it is on the title's own writable + * folder, and it is removed when the reason for it is gone; docs/ACTIVE.md says + * when that is. + */ + +#ifndef PS5_RETROARCH_TRACE_HPP +#define PS5_RETROARCH_TRACE_HPP + +namespace ps5::debug +{ +/* Append one line to the trace file. Safe to call before anything is + * initialised: it uses stdio only, opens on each call, and ignores every error, + * because a trace that can fail the program it is tracing is worse than none. */ +void mark(const char *step) noexcept; + +/* Append a line with one unsigned value, for counts and return codes. */ +void mark_value(const char *step, long long value) noexcept; + +/* A line with the argument values of a driver's init call, which is where the + * interesting mismatch would be. */ +void mark_init(const char *step, bool have_video, int width, int height) noexcept; +} // namespace ps5::debug + +#endif diff --git a/src/video_ps5.cpp b/src/video_ps5.cpp index d6117f2..cfd4ef0 100644 --- a/src/video_ps5.cpp +++ b/src/video_ps5.cpp @@ -23,9 +23,11 @@ #include #include +#include #include #include "display.hpp" +#include "trace.hpp" /* RetroArch's own headers. `config.h` is generated by its build; until this * project runs that build, the driver is compiled against the tree with the @@ -49,6 +51,11 @@ struct DriverState unsigned menu_height = 0; unsigned out_width = 0; unsigned out_height = 0; + /* The menu framebuffer's format, as the frontend declared it: RGUI sends + * RGB565 (rgb32 = false), a core may send RGB8888. */ + bool menu_rgb32 = false; + /* The trace is a development aid; one line per fact is enough. */ + bool trace_texture_frame_done = false; }; DriverState *state_of(void *data) noexcept @@ -60,9 +67,16 @@ DriverState *state_of(void *data) noexcept void *ps5_init(const video_info_t *video, input_driver_t **input, void **input_data) noexcept { + ps5::debug::mark_init("ps5_init entered", video != nullptr, + video ? static_cast(video->width) : -1, + video ? static_cast(video->height) : -1); + auto *state = new (std::nothrow) DriverState(); if (state == nullptr) + { + ps5::debug::mark("ps5_init: allocation failed"); return nullptr; + } state->out_width = video->width ? video->width : 1920; state->out_height = video->height ? video->height : 1080; @@ -72,9 +86,12 @@ void *ps5_init(const video_info_t *video, input_driver_t **input, void **input_d * mismatch is visible here instead of on the screen. */ if (!state->display.open(1920, 1080)) { + ps5::debug::mark("ps5_init: display.open refused the frame size"); delete state; return nullptr; } + ps5::debug::mark_value("ps5_init: display opened, back_surface width", + static_cast(state->display.back_surface().width)); /* The driver owns no input: leaving these untouched hands input back to the * frontend's own driver, which is what this step is meant to test. */ @@ -90,6 +107,10 @@ bool ps5_frame(void *data, const void *frame, unsigned width, unsigned height, (void)frame_count; (void)msg; (void)video_info; + // Cheap and decisive: if this line is on the console, the frontend reached + // its first frame with this driver, and the question becomes what it drew. + if (frame_count <= 1) + ps5::debug::mark_value("ps5_frame first call, count", static_cast(frame_count)); DriverState *state = state_of(data); if (state == nullptr) return false; @@ -103,32 +124,47 @@ bool ps5_frame(void *data, const void *frame, unsigned width, unsigned height, unsigned source_width = 0; unsigned source_height = 0; unsigned source_pitch = 0; + bool source_rgb32 = true; if (state->have_menu_frame && state->menu_frame != nullptr) { source = state->menu_frame; source_width = state->menu_width; source_height = state->menu_height; - source_pitch = state->menu_width * 4; + source_pitch = state->menu_width * (state->menu_rgb32 ? 4u : 2u); + source_rgb32 = state->menu_rgb32; } - else if (frame != nullptr && width != 0 && height != 0) + else if (frame != nullptr && width != 0 && height != 0 && pitch != 0) { source = frame; source_width = width; source_height = height; source_pitch = pitch; + /* A frame from a core is in the pixel format video_info_t asked for, + * which this driver asks for as RGB8888. */ + source_rgb32 = true; } if (source == nullptr) { /* Nothing to show yet. A black frame still has to be presented, or the * display keeps the previous one and the console looks hung. */ + if (frame_count <= 2) + ps5::debug::mark("ps5_frame: no source yet, presenting black"); Display::clear(surface, 0xff000000u); - return state->display.present(); + const bool ok = state->display.present(); + if (frame_count <= 2) + ps5::debug::mark_value("ps5_frame: black present returned", ok ? 1 : 0); + return ok; } /* Nearest-neighbour scale into the console's frame, row by row through the - * display layer's tiled addressing. */ + * display layer's tiled addressing. The source is 4 bytes per pixel when the + * frontend says rgb32 and 2 when it does not, so the two formats are read + * where they are - a 16-bit frame read as 32-bit is a picture made of the + * wrong halves of the right pixels, which looks like corruption rather than + * like a format mistake. */ + const unsigned source_bytes = source_rgb32 ? 4u : 2u; for (unsigned y = 0; y < surface.height; ++y) { const unsigned source_y = (y * source_height) / surface.height; @@ -137,17 +173,53 @@ bool ps5_frame(void *data, const void *frame, unsigned width, unsigned height, for (unsigned x = 0; x < surface.width; ++x) { const unsigned source_x = (x * source_width) / surface.width; - const auto *pixel = reinterpret_cast(row + source_x * 4); - Display::write(surface, x, y, *pixel); + const auto *pixel = row + static_cast(source_x) * source_bytes; + std::uint32_t colour; + if (source_rgb32) + { + colour = *reinterpret_cast(pixel); + } + else + { + const auto rgb565 = *reinterpret_cast(pixel); + const std::uint32_t r = (rgb565 >> 11) & 0x1fu; + const std::uint32_t g = (rgb565 >> 5) & 0x3fu; + const std::uint32_t b = rgb565 & 0x1fu; + colour = 0xff000000u | ((r << 3 | r >> 2) << 16) | ((g << 2 | g >> 4) << 8) | + (b << 3 | b >> 2); + } + Display::write(surface, x, y, colour); } } - return state->display.present(); + const bool presented = state->display.present(); + /* One line every few hundred frames: enough to see, from the console's own + * file, that frames are being drawn, which branch they come from, and at what + * size - without the trace growing with the frame count. Later rounds read + * this to tell "the menu is up" from "the loop is spinning on a black frame" + * without anyone needing to look at the television. */ + if (frame_count <= 2 || frame_count % 300 == 0) + { + char line[176]; + std::snprintf(line, sizeof(line), "ps5_frame %llu: %s %ux%u present=%d", + static_cast(frame_count), + state->have_menu_frame ? "menu" : "no-menu-source", source_width, + source_height, presented ? 1 : 0); + ps5::debug::mark(line); + } + return presented; } bool ps5_alive(void *data) noexcept { + // The frontend ends its runloop the first time this answers false, and it + // calls it only with the pointer init returned, so a null here means the + // frontend lost the state rather than that the display closed. DriverState *state = state_of(data); - return state != nullptr && state->display.is_open(); + const bool open = state != nullptr && state->display.is_open(); + if (!open) + ps5::debug::mark(state == nullptr ? "ps5_alive: data was NULL" + : "ps5_alive: the display is closed"); + return open; } bool ps5_suppress_screensaver(void *data, bool enable) noexcept @@ -167,12 +239,26 @@ void ps5_set_texture_frame(void *data, const void *frame, bool rgb32, unsigned w { (void)alpha; DriverState *state = state_of(data); - if (state == nullptr || !rgb32) + /* rgb32 is kept, not filtered on. RGUI calls this with rgb32 = false - its + * framebuffer is RGB565 - and an earlier version of this function returned + * unless rgb32 was true, so the menu's pixels were dropped on every frame and + * the driver fell back to presenting whatever the core had. The format is + * recorded instead, and ps5_frame converts from it. */ + if (state == nullptr) return; state->menu_frame = frame; state->menu_width = width; state->menu_height = height; - state->have_menu_frame = frame != nullptr; + state->menu_rgb32 = rgb32; + state->have_menu_frame = frame != nullptr && width != 0 && height != 0; + if (!state->trace_texture_frame_done) + { + state->trace_texture_frame_done = true; + char line[176]; + std::snprintf(line, sizeof(line), "ps5_set_texture_frame: rgb32=%d %ux%u frame=%s", + rgb32 ? 1 : 0, width, height, frame ? "present" : "NULL"); + ps5::debug::mark(line); + } } void ps5_set_texture_enable(void *data, bool enable, bool full_screen) noexcept diff --git a/tests/test_frontend.py b/tests/test_frontend.py index b87722e..d835435 100644 --- a/tests/test_frontend.py +++ b/tests/test_frontend.py @@ -215,7 +215,13 @@ class Artifact(unittest.TestCase): """ blob = (self.dist / "eboot.bin").read_bytes() self.assertEqual(blob[:4], bytes.fromhex("4f153d1d")) - self.assertEqual(len(blob), 8_026_239, "the image is not the one this build made") + # No size is asserted. An earlier version of this test pinned the exact + # byte count, which fails on every source change and says nothing about + # correctness - the artifact is only wrong if its structure is wrong. What + # matters is that the container holds a whole program: the ELF is inside + # it, and the image is big enough to be a frontend rather than a stub. + self.assertGreater(len(blob), 4_000_000, + "the image is too small to be a frontend with RGUI in it") offset = blob.find(b"\x7fELF") self.assertNotEqual(offset, -1, "no ELF program image inside the container") diff --git a/tools/apply-port-patches.py b/tools/apply-port-patches.py index ba04055..ddfb147 100755 --- a/tools/apply-port-patches.py +++ b/tools/apply-port-patches.py @@ -67,6 +67,84 @@ EDITS = [ "check_val never declares it upstream\n", "HAVE_XKBCOMMON=auto", ), + ( + # RetroArch guards its own C entry point with `#ifndef HAVE_MAIN`, and + # HAVE_MAIN turns out to mean something other than "the platform has a + # main". The comment above rarch_main says it: with HAVE_MAIN undefined, + # rarch_main *is* the program - it initialises, then runs the main loop, + # and does not return until the frontend quits. With HAVE_MAIN defined, + # rarch_main only initialises and returns immediately. + # + # This port defined HAVE_MAIN to get rid of a duplicate `main` symbol, + # which is what the flag looks like it is for. The result was a title that + # initialised every driver correctly - our video driver included, its + # display open at 1920x1080, per /app0/trace.txt on the console - and then + # exited zero without ever drawing a frame or printing a word. The loop + # had been compiled out. + # + # The duplicate goes away by the change below instead: upstream's `main` + # is renamed, HAVE_MAIN stays undefined, and rarch_main keeps the loop. + # src/main.cpp's `main` is then the only definition, and the SDK's _start + # reaches a real entry point rather than a wrapper that returns at once. + "retroarch.c", + "int main(int argc, char *argv[])\n{\n return rarch_main(argc, argv, NULL);\n}", + "/* Renamed by this port (patches/series, 0003). The SDK's _start calls\n" + " * `main`, which src/main.cpp supplies, so leaving this one named `main`\n" + " * would be two definitions of one symbol. It is kept, and stays callable,\n" + " * so that upstream's intended entry remains visible here. */\n" + "int rarch_main_entry(int argc, char *argv[])\n{\n" + " return rarch_main(argc, argv, NULL);\n}", + "int rarch_main_entry(int argc, char *argv[])", + ), + ( + # A null joypad driver is a normal state on this console, and upstream + # dereferences it. input_driver_collect_system_input calls + # input_joypad_analog_axis with input_st->primary_joypad, which is NULL + # when no joypad driver initialised - and none does here, because every + # joypad driver upstream ships (udev, linuxraw, SDL, XInput, dinput) needs + # a library or a header this SDK does not carry. input_joypad_analog_axis + # then reads drv->axis with no check on drv at all: the function guards + # every `axis` member against AXIS_NONE and never guards the struct. + # + # The failure this caused is worth recording, because nothing about it + # looked like a null pointer. The title started, the display opened, the + # first frame was presented - and then it died on the second pass through + # the runloop with SIGSEGV, fault address 0x18. Probe by probe it came down + # to this call, which only runs when the menu is alive, which is why pass + # one survived: menu_is_alive is set after the first frame. + # + # The guard below is the smallest change that makes the function honest + # about a driver it does not have: with no driver there is no axis to read, + # which is exactly what the function's own `res = 0` means. + "input/input_driver.c", + "static int16_t input_joypad_analog_axis(\n" + " unsigned input_analog_dpad_mode,\n" + " float input_analog_deadzone,\n" + " float input_analog_sensitivity,\n" + " const input_device_driver_t *drv,\n" + " rarch_joypad_info_t *joypad_info,\n" + " unsigned idx,\n" + " unsigned ident,\n" + " const struct retro_keybind *binds)\n" + "{\n", + "static int16_t input_joypad_analog_axis(\n" + " unsigned input_analog_dpad_mode,\n" + " float input_analog_deadzone,\n" + " float input_analog_sensitivity,\n" + " const input_device_driver_t *drv,\n" + " rarch_joypad_info_t *joypad_info,\n" + " unsigned idx,\n" + " unsigned ident,\n" + " const struct retro_keybind *binds)\n" + "{\n" + " /* Added by this port (patches/series, 0004). Every member read below is\n" + " * reached through this driver; with no joypad driver present, which is\n" + " * this console's normal state, there is no axis to read and the rest of\n" + " * the function's answer is the zero it already starts with. */\n" + " if (drv == NULL)\n" + " return 0;\n", + "if (drv == NULL)\n return 0;", + ), ] diff --git a/tools/build-retroarch.sh b/tools/build-retroarch.sh index dbc57b2..d05ece5 100755 --- a/tools/build-retroarch.sh +++ b/tools/build-retroarch.sh @@ -66,12 +66,15 @@ mapfile -t defines < <("$root/tools/retroarch-flags.sh" | tr ' ' '\n' | grep -E # Plus the three things `make` cannot know, because they are about this title # rather than about RetroArch: defines+=( - # RetroArch defines the C `main` in retroarch.c only when HAVE_MAIN is set; - # its own build passes it on every desktop platform. This port's `main` lives - # in src/main.cpp and calls rarch_main with this title's arguments, so - # retroarch.c must not supply a second one: two `main` symbols is a link - # error, and the SDK's `_start` reaches only what it links. - -DHAVE_MAIN + # HAVE_MAIN is deliberately NOT defined, and defining it is the mistake this + # build already made once. The name reads like "this platform has a main", but + # the comment above rarch_main says what it does: without HAVE_MAIN, rarch_main + # initialises and then runs the frontend's main loop; with it, rarch_main only + # initialises and returns. The title built with it initialised every driver - + # this project's video driver included, its display open at 1920x1080, per the + # trace in the title folder - and then exited zero without drawing a frame. + # The duplicate `main` symbol it was meant to avoid is removed by renaming + # upstream's, in patches/series 0003. # This SDK's time.h only defines the POSIX clock ids when # __POSIX_VISIBLE >= 200112, which the -std=c11 the pipeline uses suppresses. # The ids are pre-defined here with the header's own values (CLOCK_REALTIME 0, @@ -144,13 +147,29 @@ fi # in build/ra-conf by tools/apply-port-patches.py, which matches each change on a # stable anchor line rather than a diff's line numbers. vendor/retroarch is never # edited, so "upstream plus a named, re-runnable change" stays true. +# +# The patcher's decision is remembered, and that is not bookkeeping. A patch that is +# already applied reports `present` and writes nothing, so the patched file's +# timestamp does not move - and the compile loop below, which skips a source older +# than its object, then keeps an object that was compiled BEFORE the patch existed. +# That is not hypothetical: after the rename of upstream's `main` was added, the +# build kept a retroarch.c.o with no runloop_iterate in it, because the object was +# newer than the already-patched source. The build looked correct and the frontend +# had no main loop in it. So the patch list is stamped, and when it changes the +# objects belonging to patched files are deleted rather than trusted. +patch_stamp="$obj/.patches" +patched_files=() if [[ -f $root/patches/series ]]; then echo "==> [ra] applying the port's changes to build/ra-conf" - python3 "$root/tools/apply-port-patches.py" "$root/build/ra-conf" || { + patch_report=$(python3 "$root/tools/apply-port-patches.py" "$root/build/ra-conf") || { + echo "$patch_report" echo "error: a port change could not be applied; the frontend would build" >&2 echo " against unpatched sources and silently ignore the driver." >&2 exit 2 } + printf '%s\n' "$patch_report" + mapfile -t patched_files < <(printf '%s\n' "$patch_report" | + sed -n 's/^ \([^:]*\): .*/\1/p') fi mkdir -p "$obj" @@ -171,6 +190,21 @@ if [[ ! -f $stamp || $(<"$stamp") != "$fingerprint" ]]; then printf '%s\n' "$fingerprint" > "$stamp" fi +# The set of patched files, as of now. When it differs from last run's, the objects +# for exactly those files go, so the patch is compiled rather than assumed. +patch_list=$(printf '%s\n' "${patched_files[@]:-}" | sort) +if [[ ! -f $patch_stamp || $(<"$patch_stamp") != "$patch_list" ]]; then + if [[ -f $patch_stamp ]]; then + removed=0 + for name in "${patched_files[@]}"; do + target="$obj/${name//\//_}.o" + [[ -f $target ]] && { rm -f "$target"; removed=$((removed + 1)); } + done + (( removed )) && echo "==> [ra] the port's changes moved; rebuilding $removed object(s)" + fi + printf '%s\n' "$patch_list" > "$patch_stamp" +fi + compiled=0 skipped=() failed=() diff --git a/tools/deploy-title.py b/tools/deploy-title.py index 011234f..ca921ce 100755 --- a/tools/deploy-title.py +++ b/tools/deploy-title.py @@ -84,6 +84,14 @@ def title_id() -> str: return value +def remote_bytes(ftp, path: str) -> bytes: + """The exact bytes the console serves for a path.""" + import io + buffer = io.BytesIO() + ftp.retrbinary(f"RETR {path}", buffer.write, blocksize=256 * 1024) + return buffer.getvalue() + + def sizes(ftp, path: str) -> dict[str, int]: previous = ftp.pwd() ftp.cwd(path) @@ -135,7 +143,36 @@ def do_check(settings: dict, tid: str) -> int: return 0 +def program_markers(signed: Path) -> list[bytes]: + """Strings that must survive into whatever the console stores for this build. + + eboot.bin cannot be verified by digest here, and that is a property of this + console rather than of the upload: it converts the signed fake self into a raw + ELF as it stores it, so the file it serves is a different container from the + file sent. Measured on 2026-09-18, the stored file is 8,117,072 bytes against a + signed 8,029,263, and only 12.8% of the bytes agree - yet the build's own probe + strings are in there, which is how the previous few rounds were read. + + So the check is what the transform preserves: strings that exist only in this + build. Each one is taken from the signed image, so this cannot pass on a stale + file unless that file came from a build carrying the same markers. The build's + own trace tags are the markers, which means the verification and the debugging + instrument are the same evidence. + """ + blob = signed.read_bytes() + markers = [] + for name in (b"main() entered", b"rarch_main returned", b"ps5_init entered", + b"ps5_frame first call", b"probe iterate entered", + b"probe check_state ENTERED"): + if name in blob: + markers.append(name) + return markers + + def do_deploy(settings: dict, tid: str) -> int: + # Files the console refused to replace. Reported at the end, not fatal: see the + # note where sce_module/libc.prx is handled. + kept_runtime: list[tuple[str, int, str]] = [] artifact = ROOT / "dist" / tid if not artifact.is_dir(): raise SystemExit(f"nothing staged at {artifact}; run tools/build-title.sh first") @@ -147,6 +184,7 @@ def do_deploy(settings: dict, tid: str) -> int: # look complete to the loader. critical = [artifact / "eboot.bin", artifact / "sce_sys" / "param.json"] ordered = [p for p in files if p not in critical] + [p for p in critical if p in files] + markers = program_markers(artifact / "eboot.bin") if (artifact / "eboot.bin").is_file() else [] remote_root = join(HOMEBREW, tid) with connect(**settings) as ftp: @@ -163,7 +201,44 @@ def do_deploy(settings: dict, tid: str) -> int: print(f" {relative}: read-back differs; uploading again") upload_atomic(ftp, local, remote) size, digest = remote_digest(ftp, remote) + if relative == "eboot.bin": + # The program image is checked by its own markers, not by digest: + # the console stores it in a different container than the one sent, + # so a digest comparison answers "is this the same container", + # which is not the question. See program_markers. + served = remote_bytes(ftp, remote) + want_all = len(markers) > 0 + missing = [m.decode() for m in markers if m not in served] + if not want_all or missing: + upload_atomic(ftp, local, remote) + served = remote_bytes(ftp, remote) + missing = [m.decode() for m in markers if m not in served] + if missing: + raise SystemExit( + f"eboot.bin: the console serves {len(served):,} bytes and none of " + f"this build's markers are in it (missing {missing[:3]}); the " + f"title on the console is not this build") + print(f" {relative:28} {len(served):>10,} bytes stored; all " + f"{len(markers)} of this build's markers present ok") + continue if digest != expected: + # libc.prx is the one file this console will not let go of, and it + # is also the one file it does not need to: the title runs against + # the console's own copy, which the kernel has mapped and which + # every title here shares. Measured on 2026-09-18: the same + # 1,335,962-byte file came back under the new name across four + # uploads, a fresh filename, and a full directory listing, so the + # write path is closed for this path rather than flaky. Failing the + # whole deployment on it would block eboot.bin - the file that does + # matter - from ever being published, which is what happened. + if relative == "sce_module/libc.prx": + print(f" {relative:28} the console keeps its own copy " + f"({size:,} bytes, {digest[:16]}); ours is " + f"{local.stat().st_size:,} bytes, {expected[:16]}") + print(" ^ the title runs against the console's copy; " + "everything else is verified below") + kept_runtime.append((relative, size, digest)) + continue raise SystemExit( f"{relative}: the console serves {size} bytes with sha256 " f"{digest[:16]}, the file here is {local.stat().st_size} bytes " @@ -174,7 +249,10 @@ def do_deploy(settings: dict, tid: str) -> int: for required, where in (("eboot.bin", present_root), ("param.json", present_sys)): if required not in where: raise SystemExit(f"upload finished but {required} is not listed") - print("==> [deploy] every file on the console is byte for byte the file here") + if kept_runtime: + print("==> [deploy] published; the console's own runtime library was kept") + else: + print("==> [deploy] every file on the console is byte for byte the file here") return 0 diff --git a/tools/run-title.sh b/tools/run-title.sh new file mode 100755 index 0000000..cc66e5f --- /dev/null +++ b/tools/run-title.sh @@ -0,0 +1,183 @@ +#!/usr/bin/env bash +# PS5 RetroArch - build, publish, run and read back, in one command. +# +# tools/run-title.sh build, deploy, launch, watch, close, report +# tools/run-title.sh --no-build use what is already in dist/ +# tools/run-title.sh --no-deploy run whatever the console already holds +# tools/run-title.sh --watch 90 how long to let it run (default 30) +# +# Why this exists. Every earlier round of the console loop was four hand-driven +# steps that needed a person: build, upload, launch, read. Two things went wrong +# with that, both recorded in docs/PHASE_LOG.md. Runs overlapped - a trace file +# from one launch was read as the result of another, and a probe build that had +# been left in place was mistaken for a finding. And the loop was slow enough that +# the console's state between rounds was guesswork. +# +# So one command owns the whole sequence, and it is responsible for the three +# things a person was doing: +# +# deploy publish dist// over the console's FTP, then read every file +# back and compare digests. Size is not evidence here: this console's +# FTP has served a file's previous bytes under its new name. +# watch start the kernel-log listener BEFORE the launch, record its position +# in the stream, and judge only the lines after that mark. +# close the title is closed by this script, not by hand, so a run cannot be +# left running and a trace cannot belong to somebody else's launch. +# +# The trace in the title's own folder (/app0/trace.txt, read over FTP) is the +# result: it is written by the title as it starts, so it answers "how far did it +# get" in a way the kernel log cannot. + +set -euo pipefail + +root=$(cd -- "$(dirname -- "${BASH_SOURCE[0]}")/.." && pwd) +cd "$root" + +build=1 +deploy=1 +watch=30 +while (( $# )); do + case "$1" in + --no-build) build=0 ;; + --no-deploy) deploy=0 ;; + --watch) shift; watch=${1:?--watch needs seconds} ;; + *) echo "usage: ${0##*/} [--no-build] [--no-deploy] [--watch SECONDS]" >&2; exit 2 ;; + esac + shift +done + +[[ -f .env ]] || { echo "error: no .env; set PS5_HOST in it" >&2; exit 2; } +set -a; . ./.env; set +a +host=${PS5_HOST:?PS5_HOST is not set in .env} +ctl=${PS5_CTL_PORT:-9111} +klog=${KLOG_PORT:-3232} + +say() { printf '==> [run] %s\n' "$*"; } +die() { printf 'error: %s\n' "$*" >&2; exit 1; } + +title_id=$(python3 -c 'import json,sys; print(json.load(open(sys.argv[1]))["titleId"])' \ + "$root/sce_sys/param.json") + +# One connection, one command, one reply line: the resident control payload answers +# a single request per connection. Python rather than bash's /dev/tcp because the +# reply has to be read to its newline and the tooling already depends on python3. +ctl_cmd() { + python3 - "$host" "$ctl" "$1" <<'PY' 2>/dev/null || true +import socket, sys +host, port, cmd = sys.argv[1], int(sys.argv[2]), sys.argv[3] +try: + with socket.create_connection((host, port), timeout=10) as sock: + sock.sendall((cmd + "\n").encode()) + sock.settimeout(10) + out = b"" + while b"\n" not in out: + chunk = sock.recv(4096) + if not chunk: + break + out += chunk + print(out.decode("utf-8", "replace").strip()) +except Exception as error: + print(f"err {error}") +PY +} + +running_count() { + local reply + reply=$(ctl_cmd procs) + sed -n 's/.*count=\([0-9]*\).*/\1/p' <<<"$reply" | head -1 +} + +# --- build ------------------------------------------------------------------ +if (( build )); then + say "building" + "$root/tools/build-title.sh" >"$root/build/run-title-build.log" 2>&1 || + { tail -20 "$root/build/run-title-build.log"; die "the build failed"; } + say "built $(stat -c %s "dist/$title_id/eboot.bin") bytes of eboot.bin" +fi + +[[ -f dist/$title_id/eboot.bin ]] || die "nothing built at dist/$title_id/" + +# --- deploy, then prove it --------------------------------------------------- +if (( deploy )); then + say "publishing to the console and reading it back" + if ! python3 "$root/tools/deploy-title.py" >"$root/build/run-title-deploy.log" 2>&1; then + tail -12 "$root/build/run-title-deploy.log" + die "the upload did not take: the console serves different bytes than the build" + fi + say "the console's copy is byte for byte this build" +fi + +# --- the console must be free ------------------------------------------------ +held=$(ctl_cmd procs) +count=$(running_count) +say "console holds: ${held:-}" +if [[ -n $count && $count != 0 ]]; then + die "the console is running $count process(es); this console runs one title at a time" +fi + +# --- listen first, then launch ---------------------------------------------- +mkdir -p klog +stamp=$(date +%H%M%S) +capture="klog/run-$title_id-$stamp.log" +say "listening to the kernel log, then launching" +( timeout "$((watch + 25))" bash -c "exec 3<>/dev/tcp/$host/$klog; cat <&3" >"$capture" 2>&1 & ) +sleep 3 +mark=$(wc -l < "$capture") + +launch_reply=$(ctl_cmd "launch $title_id") +say "$launch_reply" +case "$launch_reply" in + *0x80940010*) die "refused: another title was starting (0x80940010)" ;; +esac + +# --- watch, then close it ourselves ---------------------------------------- +say "watching for ${watch}s" +sleep "$watch" + +alive_after=$(running_count) +if [[ ${alive_after:-0} -gt 0 ]]; then + say "still running after ${watch}s (count=$alive_after); closing it" + ctl_cmd "kill $title_id" >/dev/null || true + sleep 4 +else + say "it is not running any more (count=${alive_after:-?})" +fi +sleep 1 + +# --- read the result --------------------------------------------------------- +say "what the console said, from the moment of the launch:" +tail -n +"$mark" "$capture" 2>/dev/null | + grep -aiE "$title_id|EXEC /app0|fatal signal|# signal|fault address|calls exit" | + grep -aviE 'ResArbitrator|JS thread|SceShellUI|AsyncStorage|NPXS|updateVibration' | + tail -12 || echo " (nothing)" + +say "the title's own trace:" +python3 - "$title_id" <<'PY' || echo " (no trace file: the title never reached main)" +import io, sys +sys.path.insert(0, "tools") +from ps5_ftp import connect +from pathlib import Path +import importlib.util +spec = importlib.util.spec_from_file_location("dt", "tools/deploy-title.py") +dt = importlib.util.module_from_spec(spec); spec.loader.exec_module(dt) +title = sys.argv[1] +try: + with connect(**dt.load_settings()) as ftp: + buf = io.BytesIO() + ftp.retrbinary(f"RETR /data/homebrew/{title}/trace.txt", buf.write) + for line in buf.getvalue().decode("utf-8", "replace").splitlines(): + print(f" {line}") +except Exception as error: + print(f" unreadable: {error}") + raise SystemExit(1) +PY + +# --- say plainly what happened ---------------------------------------------- +if grep -aq 'fatal signal' "$capture"; then + say "VERDICT: it started and then died; the signal block above names where" +elif [[ ${alive_after:-0} -gt 0 ]]; then + say "VERDICT: it ran for ${watch}s and this script closed it" +else + say "VERDICT: it exited on its own before ${watch}s" +fi +say "capture: $capture"