This commit is contained in:
@@ -0,0 +1,81 @@
|
||||
# Phase 1.0B bounded RetroArch smoke candidate
|
||||
|
||||
Status: `BUILT_WITH_DECLARED_RISKS`; offline evidence only. Transfer,
|
||||
installation and execution are not authorized.
|
||||
|
||||
## Scope
|
||||
|
||||
The candidate is the real RetroArch v1.22.2 frontend and runloop from the
|
||||
separate `chimera-retroarch` fork. It statically binds `chimera_smokecore`,
|
||||
uses the pinned PS5 SDL2 software framebuffer, and initializes VideoOut, one
|
||||
Pad device and stereo AudioOut. It requires neither content nor a
|
||||
configuration file. It is not a mini-frontend and contains no dynamic core.
|
||||
The permitted existing smokecore software image is selected, so RGUI/menu
|
||||
and their content browser are compiled out of this bounded variant.
|
||||
|
||||
The logical profile is `ps5-software-rgui-smoke-bounded`; the make selector is
|
||||
`PS5_PROFILE=software-smoke`, and the output label is
|
||||
`retroarch_ps5_software_smoke.elf`.
|
||||
|
||||
## Compile-time closure
|
||||
|
||||
Enabled:
|
||||
|
||||
- real RetroArch frontend and runloop;
|
||||
- static Chimera smokecore, 320 x 240 XRGB8888 at 60 fps;
|
||||
- SDL2 software video with double-buffered PS5 VideoOut;
|
||||
- one SDL2 PS5 Pad and 15% deadzone;
|
||||
- SDL2 PS5 48 kHz stereo AudioOut;
|
||||
- on-screen bounded status record;
|
||||
- 60,000 ms and 3,600-frame shutdown gates;
|
||||
- post-teardown process `_Exit`;
|
||||
- VFS and link-time libc write firewalls.
|
||||
|
||||
Disabled or garbage-collected from the final ELF:
|
||||
|
||||
- dynamic cores, content browser data, playlists/history, databases;
|
||||
- networking, updater, achievements and command interfaces;
|
||||
- screenshots, recording, shaders, filters and compressed content;
|
||||
- SRAM, savestates, remap/autoconfig/config persistence;
|
||||
- keyboard, IME, mouse, sensor, haptic, rumble and lightbar paths;
|
||||
- GNM, OpenGL, Vulkan, RetroArch dynamic-core/module loading, installation,
|
||||
autoload and retry.
|
||||
|
||||
SDL's dynamic API and runtime assertions are disabled in its smoke-specific
|
||||
static build. The pinned SDK CRT remains a necessary startup component: it
|
||||
resolves its own runtime loader primitives and may conditionally load
|
||||
`libSceSysmodule`. This source-bound startup behavior is declared separately
|
||||
and is not confused with a RetroArch dynamic-core path.
|
||||
|
||||
`HAVE_CONFIGFILE=0`, `HAVE_MENU=0` and `HAVE_RGUI=0` remove their read,
|
||||
browser and save paths. Independently, the PS5 frontend sets
|
||||
`RARCH_CTL_SET_BLOCK_CONFIG_READ`, provides no config path, and the smoke
|
||||
firewall rejects every attempted write.
|
||||
|
||||
## Visible record
|
||||
|
||||
The static core draws `CHIMERA RETROARCH PS5 SMOKE TEST`, a build/manifest
|
||||
label, phase, monotonic elapsed time, frame count, VideoOut and framebuffer
|
||||
details, raw button/stick state, AudioOut counters, core state, shutdown
|
||||
reason, first sticky error, write-firewall state and both hard limits.
|
||||
|
||||
Phases are stable `S00` through `S15`; errors are stable `E000` and
|
||||
`E101` through `E123`. `S07 RUNNING` and a final rendered
|
||||
`S08 SHUTDOWN_REQUESTED` are expected on screen. `S09` through `S15` occur
|
||||
during teardown after the final present and therefore remain in the
|
||||
in-memory record rather than being promised as visible frames.
|
||||
|
||||
## Bounded control
|
||||
|
||||
The first condition wins:
|
||||
|
||||
1. Options held for 2,000 ms;
|
||||
2. 60,000 monotonic milliseconds;
|
||||
3. 3,600 core frames;
|
||||
4. a sticky runtime/write-firewall failure.
|
||||
|
||||
The pinned SDL mapping maps the PS5 Options bit to SDL Back, which RetroArch
|
||||
exposes to the core as `RETRO_DEVICE_ID_JOYPAD_SELECT`. Shutdown is requested
|
||||
once. There is no retry, second run or automatic extension.
|
||||
|
||||
No host test or static audit in this phase is hardware evidence.
|
||||
Reference in New Issue
Block a user