D054
- The emulators live in <emulators>, source and all,
outside this repository
Status: decided.
The shadPS4 install used for every emulator run in this project lived in the session scratchpad - a directory that is transient by design. It survived by luck, and looking for it in the wrong place is what surfaced the problem.
Binaries and shallow source clones now sit in
<emulators>, and the run scripts default there.
Outside the repository deliberately: several hundred megabytes of
third-party material has no business in the history of a probe, and none
of it is ours.
The source is there because reading it has already paid for
itself. DT_SCE_JMPREL and
DT_SCE_PLTRELSZ were swapped in our tag table for weeks,
and the derivation tool could not have caught it - it checks
JMPREL + PLTRELSZ == RELA, and addition is commutative, so
a swapped pair satisfies the identity exactly. It was found by reading a
loader that had them the other way round (D038).
Fourteen repositories: seven PS4 emulators, two PS5, and five format
or symbol references. docs/EMULATORS.md says what each is
and what it is good for.
The boundary is unchanged and worth restating. These are read for facts - what a format is, what a symbol is called. Several are GPL, and this program calls the platform's own interface; it has no need of an emulator's code and must not acquire one.