ppsspp_breakpoint_add
Add a CPU execution breakpoint at a PSP physical address to halt emulation when execution reaches that point, enabling RE work and HLE intercepts.
Instructions
PURPOSE: Add a CPU execution breakpoint at the given PSP physical address. Emulation halts when PC reaches that address. USAGE: For RE work and HLE intercepts. Combine with ppsspp_resume + (later) ppsspp_get_registers to inspect state at the breakpoint. BEHAVIOR: Modifies PPSSPP's breakpoint table. The breakpoint persists until removed via ppsspp_breakpoint_remove or PPSSPP restarts. Returns an error if the address isn't executable memory. RETURNS: Single line 'Breakpoint added at ADDR_HEX'.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| address | Yes | PSP execution address. Usually in user RAM (0x08800000+) or kernel RAM. |
Implementation Reference
- src/tools.ts:593-596 (handler)Handler for ppsspp_breakpoint_add: calls PPSSPP's cpu.breakpoint.add RPC with the address parameter, returns confirmation message with hex address.
case "ppsspp_breakpoint_add": { await pp.call("cpu.breakpoint.add", { address: a() }); return ok(`Breakpoint added at ${addrHex(a())}`); } - src/tools.ts:351-365 (schema)Schema definition for ppsspp_breakpoint_add: declares the tool's name, description, and input schema requiring an 'address' integer parameter.
{ name: "ppsspp_breakpoint_add", description: "PURPOSE: Add a CPU execution breakpoint at the given PSP physical address. Emulation halts when PC reaches that address. " + "USAGE: For RE work and HLE intercepts. Combine with ppsspp_resume + (later) ppsspp_get_registers to inspect state at the breakpoint. " + "BEHAVIOR: Modifies PPSSPP's breakpoint table. The breakpoint persists until removed via ppsspp_breakpoint_remove or PPSSPP restarts. Returns an error if the address isn't executable memory. " + "RETURNS: Single line 'Breakpoint added at ADDR_HEX'.", inputSchema: { type: "object", required: ["address"], properties: { address: { type: "integer", minimum: 0, description: "PSP execution address. Usually in user RAM (0x08800000+) or kernel RAM." }, }, additionalProperties: false, }, - src/tools.ts:405-406 (registration)Registration of all tools via MCP SDK's ListToolsRequestSchema and CallToolRequestSchema handlers; the tool name 'ppsspp_breakpoint_add' is wired in the switch/case inside CallToolRequestSchema.
export function registerTools(server: Server, pp: PpssppClient): void { server.setRequestHandler(ListToolsRequestSchema, async () => ({ tools: TOOLS }));