runTo
Execute C64 program until reaching a specific memory address for debugging, setting a temporary breakpoint that automatically clears when hit.
Instructions
Run execution until a specific address is reached.
Sets a temporary breakpoint at the target address and continues execution. The breakpoint is automatically deleted when hit.
Use for:
"Run until this function" → runTo(functionAddress)
"Skip to the end of this loop" → runTo(addressAfterLoop)
Related tools: continue, step, setBreakpoint
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| address | Yes | Address to run to (0x0000-0xFFFF) |
Implementation Reference
- src/index.ts:793-833 (handler)The 'runTo' tool handler and registration. Implements by setting a temporary breakpoint at the given address using client.setBreakpoint and then calling client.continue to resume execution. Includes input schema validation for the address parameter.// Tool: runTo - Run until specific address server.registerTool( "runTo", { description: `Run execution until a specific address is reached. Sets a temporary breakpoint at the target address and continues execution. The breakpoint is automatically deleted when hit. Use for: - "Run until this function" → runTo(functionAddress) - "Skip to the end of this loop" → runTo(addressAfterLoop) Related tools: continue, step, setBreakpoint`, inputSchema: z.object({ address: z.number().min(0).max(0xffff).describe("Address to run to (0x0000-0xFFFF)"), }), }, async (args) => { try { // Set temporary breakpoint const bpId = await client.setBreakpoint(args.address, { temporary: true }); // Continue execution await client.continue(); return formatResponse({ running: true, targetAddress: { value: args.address, hex: `$${args.address.toString(16).padStart(4, "0")}`, }, temporaryBreakpointId: bpId, message: `Running to $${args.address.toString(16).padStart(4, "0")}`, hint: "Execution will stop when target address is reached. Use status() to check state.", }); } catch (error) { return formatError(error as ViceError); } } );