Skip to main content
Glama
simen
by simen

runTo

Execute C64 program until reaching a specific memory address for debugging. Sets temporary breakpoint at target address and continues execution automatically.

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
NameRequiredDescriptionDefault
addressYesAddress to run to (0x0000-0xFFFF)

Implementation Reference

  • src/index.ts:806-845 (registration)
    Registration of the "runTo" MCP tool, including description, input schema, and handler function.
    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); } } );
  • Handler function that implements the "runTo" tool logic: sets a temporary breakpoint at the specified address and resumes execution with continue().
    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); } }
  • Zod input schema defining the required 'address' parameter (0-65535) for the "runTo" tool.
    inputSchema: z.object({ address: z.number().min(0).max(0xffff).describe("Address to run to (0x0000-0xFFFF)"), }),

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/simen/vice-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server