mirror of
https://github.com/hrydgard/ppsspp.git
synced 2026-09-03 03:05:18 +02:00
New REPL-only commands, kept entirely client-side (no new PPSSPP-side event) since a snapshot is a debugging-session-scoped concept with no real emulator-side meaning - memory.read's existing base64 response is already the only primitive actually needed: - :snapshot <name> <address> <size> - blocks on a memory.read (unlike the rest of the REPL, which is fire-and-forget or just waits without looking at the payload) and stores the decoded bytes locally under <name>. address/size are passed through to the server exactly as typed, same as any other event param. - :snapshots - list what's been captured so far. - :diff <name1> <name2> - byte-compare two snapshots, printing each differing run as "+offset (N bytes): old_hex -> new_hex". Replaces the throwaway PowerShell/Bash diffing scripts written by hand at least twice during the VSH boot investigation (see docs/VSHBootInvestigation.md - the sceBSMan before/after test, and the GE display list re-checks) with one correct, reusable implementation. In memory only for now (lives as long as the wsdbg process does, which is fine for the actual usage pattern - one piped batch of commands per invocation, same as everything else in this tool); can add disk persistence later if a real need for cross-invocation snapshots comes up. Verified live against PPSSPPHeadless: snapshot/list/diff (both a real detected difference and an identical-buffer comparison) all produce correct output.
13 lines
248 B
TOML
13 lines
248 B
TOML
[package]
|
|
authors = ["Henrik Rydgård <hrydgard@gmail.com>"]
|
|
edition = "2024"
|
|
name = "wsdbg"
|
|
version = "0.1.0"
|
|
|
|
[dependencies]
|
|
clap = { version = "4.5", features = ["derive"] }
|
|
tungstenite = "0.24"
|
|
serde_json = "1.0"
|
|
anyhow = "1.0"
|
|
base64 = "0.22"
|