Document the PCSX2 test setup
PCSX2 was set up and working but existed only in this machine's filesystem and in people's heads, so every comparison looked like a one-off observation rather than something re-runnable. The setup section in docs/plan/pcsx2-verification.md now records where the emulator, the BIOS, the disc, the savestates and the PINE socket are, how a state is captured, and which command the disc integration tests need -- and AGENTS.md and README.md point at it from their orientation sections. One operational detail worth spelling out: the emulator's directory is lowercase (pcsx2), which is not what people type.
This commit is contained in:
@@ -132,6 +132,7 @@ Read these before working in an unfamiliar area:
|
|||||||
| `docs/plan/` | One file per subsystem, written **as work proceeds** |
|
| `docs/plan/` | One file per subsystem, written **as work proceeds** |
|
||||||
| `docs/formats/` | Format specs, written **as formats are reversed** |
|
| `docs/formats/` | Format specs, written **as formats are reversed** |
|
||||||
| `PROVENANCE.md` | Upstream projects we build on, and their licences |
|
| `PROVENANCE.md` | Upstream projects we build on, and their licences |
|
||||||
|
| `docs/plan/pcsx2-verification.md` | PCSX2 is set up on this machine, and how to run the comparison loop |
|
||||||
| `vendor/reRAC/` | Pinned reference checkout (not tracked) |
|
| `vendor/reRAC/` | Pinned reference checkout (not tracked) |
|
||||||
|
|
||||||
## Crates
|
## Crates
|
||||||
|
|||||||
@@ -88,6 +88,12 @@ Visual and behavioural comparison against PCSX2, replaying recorded input and
|
|||||||
comparing frames, level by level. The PS2 float model is reproduced rather than
|
comparing frames, level by level. The PS2 float model is reproduced rather than
|
||||||
approximated — see [`AGENTS.md`](AGENTS.md#2-reproduce-the-ps2-float-model).
|
approximated — see [`AGENTS.md`](AGENTS.md#2-reproduce-the-ps2-float-model).
|
||||||
|
|
||||||
|
PCSX2 is installed and working on this machine; the comparison loop that reads
|
||||||
|
the game's own memory over its debug protocol is up, and level 0's and level
|
||||||
|
1's tfrag lighting are verified byte-exact against it. See
|
||||||
|
[`docs/plan/pcsx2-verification.md`](docs/plan/pcsx2-verification.md) for the
|
||||||
|
setup and how to run it.
|
||||||
|
|
||||||
## Credits and licensing
|
## Credits and licensing
|
||||||
|
|
||||||
This project learns from and is built on the work of others. Licences are
|
This project learns from and is built on the work of others. Licences are
|
||||||
|
|||||||
@@ -121,6 +121,33 @@ invisible.
|
|||||||
`tools/trace/tests/` and test against that; no test may read a savestate, a
|
`tools/trace/tests/` and test against that; no test may read a savestate, a
|
||||||
dump or a live emulator.
|
dump or a live emulator.
|
||||||
|
|
||||||
|
## The test setup
|
||||||
|
|
||||||
|
PCSX2 is installed and working on this machine, so every comparison above can
|
||||||
|
be re-run rather than being a one-off observation.
|
||||||
|
|
||||||
|
| What | Where |
|
||||||
|
|---|---|
|
||||||
|
| Emulator | `~/Desktop/pcsx2/pcsx2-v2.8.2-linux-appimage-x64-Qt.AppImage` — the directory name is **lowercase** on disk |
|
||||||
|
| Game disc | `~/Desktop/pcsx2/games/Ratchet & Clank - Going Commando.iso`; verified target `SCUS_972.68` v1.01 NTSC ([`docs/disc-identification.md`](../disc-identification.md)) |
|
||||||
|
| Emulator config | `~/.config/PCSX2/` (`sstates`, `bios`, `memcards`, `inis`, `logs`) |
|
||||||
|
| BIOS | extracted into `~/.config/PCSX2/bios/` |
|
||||||
|
| Savestates | `~/.config/PCSX2/sstates/SCUS-97268 (38996035).NN.p2s`, `NN` = slot |
|
||||||
|
| Unpacked disc | `~/Documents/gc-extracted/`, all 27 levels |
|
||||||
|
| PINE socket | `$XDG_RUNTIME_DIR/pcsx2.sock` (`/run/user/1000/pcsx2.sock`), slot 28011 |
|
||||||
|
|
||||||
|
The emulator boots the disc with `-fastboot`; a level takes about a minute
|
||||||
|
from a cold start to reach. To capture a state manually, press F1 in-game (it
|
||||||
|
lands in the slot's `.p2s`); to capture from a script, `gc-trace
|
||||||
|
pine-savestate SLOT` asks the emulator to write one.
|
||||||
|
|
||||||
|
The disc integration tests need the image, not the emulator:
|
||||||
|
|
||||||
|
```sh
|
||||||
|
GC_DISC="$HOME/Desktop/pcsx2/games/Ratchet & Clank - Going Commando.iso" \
|
||||||
|
cargo test --workspace
|
||||||
|
```
|
||||||
|
|
||||||
## Running it
|
## Running it
|
||||||
|
|
||||||
```sh
|
```sh
|
||||||
|
|||||||
Reference in New Issue
Block a user