bizhawk_pause
Pause emulation to freeze game state for stable memory reads and writes. Prevents game advancement between tool calls.
Instructions
PURPOSE: Pause emulation — freeze game-logic clocks and hold the current frame on screen. USAGE: Use before a sequence of memory-inspect / write / screenshot calls when you need a stable game state across calls (so the game doesn't advance between your reads). Use bizhawk_unpause to resume; use bizhawk_frame_advance to step single frames without leaving pause. BEHAVIOR: Modifies emulator run state. The Lua bridge keeps polling the socket while paused, so all other tool calls (memory r/w, screenshot, save_state, etc.) still work. Returns an error if the loaded core doesn't expose emu.pause — check capabilities.pause in bizhawk_get_info first to handle that case gracefully. Calling pause when already paused is a no-op. RETURNS: Single line 'Emulation paused'.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||
Implementation Reference
- src/tools.ts:634-634 (handler)Handler for bizhawk_pause: calls bh.call("pause") via the BizHawk Lua bridge and returns "Emulation paused".
case "bizhawk_pause": await bh.call("pause"); return ok("Emulation paused"); - src/tools.ts:380-388 (registration)Tool registration (schema + metadata) for bizhawk_pause in the TOOLS array. No input parameters needed. Description explains purpose, usage, behavior, and return value.
{ name: "bizhawk_pause", description: "PURPOSE: Pause emulation — freeze game-logic clocks and hold the current frame on screen. " + "USAGE: Use before a sequence of memory-inspect / write / screenshot calls when you need a stable game state across calls (so the game doesn't advance between your reads). Use bizhawk_unpause to resume; use bizhawk_frame_advance to step single frames without leaving pause. " + "BEHAVIOR: Modifies emulator run state. The Lua bridge keeps polling the socket while paused, so all other tool calls (memory r/w, screenshot, save_state, etc.) still work. Returns an error if the loaded core doesn't expose emu.pause — check `capabilities.pause` in bizhawk_get_info first to handle that case gracefully. Calling pause when already paused is a no-op. " + "RETURNS: Single line 'Emulation paused'.", inputSchema: { type: "object", properties: {} }, },