Skip to main content
Glama
AstralVoidZ
by AstralVoidZ

ppsspp_convert_address

Read-onlyIdempotent

Convert an address between IDA and PPSSPP address spaces using the fixed offset. Auto mode infers the direction from the input value.

Instructions

PURPOSE: Convert an address between IDA and PPSSPP address spaces (offset ±0x08804000).

USAGE: address required; mode optional ('auto' default / 'ida_to_ppsspp' / 'ppsspp_to_ida'); session_id optional.

BEHAVIOR: READ-ONLY. Pure arithmetic on the address; no PPSSPP contact.

RETURNS: {original, converted, mode, top_base_ppsspp, top_base_ida}.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
modeNoConversion mode. 'auto' (default) infers from value: if address >= top_base.ppsspp, treats as ppsspp_to_ida; else ida_to_ppsspp.auto
addressYesAddress to convert, as a hex string (e.g. '0x08804000').
session_idNoOptional session ID (reserved for future use; ignored).

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
modeYesConversion mode used ('ida_to_ppsspp'/'ppsspp_to_ida').
originalYesInput address, hex string (e.g. '0x08804000').
convertedYesOutput address, hex string (e.g. '0x08804000').
top_base_idaYestop.prx IDA base address, hex string.
top_base_ppssppYestop.prx PPSSPP base address, hex string.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

A4.2/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Description adds READ-ONLY and 'Pure arithmetic' beyond annotations (which already state readOnlyHint). It further clarifies no PPSSPP contact, which is not visible in annotations, adding genuine behavioral context.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Uses minimal sections with clear labels; every sentence is informativeigator. The core purpose is front-loaded, and it avoids repetition of schema details.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's simplicity, the description covers purpose, usage, behavior, and return values. With output schema present, return format is already documented. The only slight gap is not explicitly describing the 'auto' inference logic in the description, but that is covered by the schema.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema already includes detailed descriptions for all parameters (coverage 100%), so description doesn't need to explain them. However, the description does specify the offset (0x08804000) and mode inference logic, which adds context beyond the schema's enum list.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb ('convert') and resource ('address between IDA and PPSSPP address spaces') with exact offset. Without opening the schema it is clear what this tool does, and it is distinguishable from siblings like ppsspp_read_memory.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explains the required parameter (address) and the optional mode parameter with its auto detection behavior. It does not explicitly state when to choose this tool over alternatives, but given the tool's uniqueness (address conversion vs. memory ops), implied usage is clear enough.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.