2 Commits
Author SHA1 Message Date
MihawkandClaude Opus 5.5 355fe9ac70 Rebuild in seconds: stamp the cores, cache compiles, write only changes
A rebuild that changed nothing took 269 s, 255 of them rebuilding six
unchanged cores from scratch. Each core is now skipped when a hash of
everything its build reads matches its stamp; ccache sits in front of
the frontend, title and core compilers; the patcher writes a file only
when its final text differs; the host signing tool is rebuilt only when
its inputs change; and deployment uploads only files whose digest
differs from what was last verified on that console (--all for all).

No-change rebuild 269 s -> 2.2 s, a port-file edit 2.4 s, a driver
change 2.4 s, a forced FBNeo rebuild 77 s -> 2.8 s; deploy of nothing
changed 0.3 s, of one edit 12.4 s (full deploy 74 s).

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-09-23 19:36:17 -04:00
Mihawk 4df5c68c11 Scaffold the native pipeline for RetroArch, with the display layer
Sets up this project as the native pipeline's scaffolding plus RetroArch's
sources, so RetroArch is compiled for the title pipeline rather than converted
into it.

- tools/scaffold-native.sh builds the scaffold from
  ../ps5-native-app-boilerplate-main: tooling, runtime (digest verified),
  Makefile and its tools, merged into this repository's tools/ rather than
  replacing them. An earlier version replaced tools/ wholesale and deleted this
  project's own scripts; the copy is now additive and the reason is in the file.
- tools/fetch-retroarch.sh clones the pinned upstream tag into vendor/ and
  records the revision, so "built from RetroArch 1.22.2" is checkable.
- src/display.{hpp,cpp} owns the console's display: VideoOut, direct memory, two
  registered buffers, present-and-wait. The sequence and its two load-bearing
  details come from the sibling application that proved it on hardware.
- src/main.cpp draws a moving bar: the cheapest thing that proves build, title
  format, launcher, VideoOut and the direct-memory path together.
- sce_sys/param.json is this project's identity, PPSA99169.

Evidence: src/display.cpp compiles through the pipeline's compiler
(tooling/prospero-clang18 with PS5_CLANG=/usr/bin/clang, -std=c++20), and a
RetroArch source file compiles the same way with its include paths.
2026-09-18 13:50:22 -04:00