ppsspp_frame_snapshot
Pause the emulator, capture PC, registers, and optional probes, then resume, returning the snapshot for debugging. Optional data returns null when disabled.
Instructions
PURPOSE: One-call paused scene snapshot — pause (unless already paused), capture pc + registers + optional named probes, then resume.
USAGE: session_id; probes = optional comma-separated state_observer registry names; want_registers default true. Prefer this over a manual pause + query(registers) + resume sequence.
BEHAVIOR: STATE-CHANGE. The session lock is held for the whole call (pause→capture→resume is short). A CPU we paused is resumed before returning; an already-paused CPU stays paused. A failing capture never leaves the game frozen.
RETURNS: {was_stepping, resumed, pc, trust_level, registers, probes} — registers/probes keys are ALWAYS present; they carry null when opted out (want_registers=false / probes omitted) — F-8 nullable-key contract, 2026-09-08.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| probes | No | Optional comma-separated state_observer registry probe names to capture alongside the CPU state (empty = none). | |
| session_id | Yes | Active session ID. | |
| want_registers | No | Include the full CPU register dump (GPR/FPU/VFPU). |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
| pc | No | Program counter, hex string (high trust). | |
| probes | No | state_observer capture block (when requested). | |
| resumed | No | True when the tool resumed a CPU it had paused (an already-paused CPU is left paused). | |
| registers | No | Full GPR/FPU/VFPU register dump (when requested). | |
| trust_level | No | safe_get_pc trust level. | |
| was_stepping | No | True when the CPU was already paused at entry. |