mirror of
https://github.com/mihawk-99/PS5_RetroArch.git
synced 2026-10-18 23:09:29 -05:00
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.
1.1 KiB
1.1 KiB
Native host tooling
All repository-owned format tooling is C or C++. Make/Bash and PowerShell are thin platform-specific orchestrators. No C# or .NET runtime is required.
The root build performs four native stages:
prospero-clang18compiles application sources andnative/app_crt.cpp.- LLVM lld resolves objects, static archives, public SDK import stubs, constructors, TLS, and unwind information into an intermediate PIE.
native/ps5-native-toolconverts that PIE to the PS5 ELF layout and wraps it in a deterministic development FSELF.- The requested folder or optional filesystem image is assembled.
native/libc_builder.cpp independently reproduces the generated clean-room
runtime from the two manifests under native/runtime/. Run make libc on
Linux/WSL or ../tools/rebuild-libc.ps1 on Windows to prove both hashes.
make deps fetches the pinned public payload SDK and static zlib archive into
.deps/native/; neither is installed globally. The shell and PowerShell
bootstrappers share the same cache layout.
See ../docs/NATIVE_TOOLING.md for the format
boundary and low-level commands.