- Home
- Skills
- Translation & Localization
- Translate Retro Game: JP→EN ROM Fan Translation
Works with the AI Agents you already use
Translate Retro Game: JP→EN ROM Fan Translation
Playbook + tested tools to fan-translate Japanese SNES, GBA, NDS, PS1 and PSP games into English, with headless emulator QA.
$5
Translate Retro Game: JP→EN ROM Fan Translation
Example session with this skill installed
I have a Japanese SNES RPG ROM in rom/. Set up a translation repo for it, find where the dialogue text lives, and make sure the original boots in a headless emulator before we start extracting.
- Read your context and instructions
- Compiled the translate retro game
Summary
Repo set up per Step 0 of the playbook. The original ROM is checked against rom.sha1, boots headless in MesenCE, and a failing test now blocks commits. Dialogue text located; next phase is the per-game debug tool.
Setup
| Item | Status |
|---|---|
rom.sha1 dump check | matches the ROM in rom/ |
| Emulator | MesenCE fetched by fetch_emu.py into tools/ |
| Smoke test | emu.py --smoke boots to title, screenshot in out/smoke/ |
| Pre-commit hook | runs make check, refuses ROM files; verified by committing a deliberately failing test (rejected) |
| AGENTS.md | lists build, check, smoke and release commands |
Recon
relsearch.pyon a known on-screen line found the dialogue bank; encoding is a custom single-byte table, now ingame.tbl(kana + common kanji, control codes for line break / wait / end).- Pointer table found by xref from the text loader (
dis65816.py); notes recorded indocs/status.mdas verified vs guess. jpscan.pysweep lists the remaining Japanese-looking regions for later phases.
Next steps
- Build a debug warp so QA can jump to any scene without playing.
- Identity build: repack with no changes and confirm the output is byte-identical.
- Extract the script to JSON with a roundtrip test, then start batch translation.
Connects securely to your tools. The creator never sees your data.
About this skill
Fan translations stall in the same places: the human relays emulator screenshots by hand, shell edits corrupt source files, tests never actually gate a commit, and someone has to play hours into the game to reach a scene. This skill closes those gaps. It is a playbook plus tested tools, distilled from eight finished fan translations.
What it does
- Phased workflow with "done when" checks: recon → per-game debug tool (warp to any scene, no playthrough) → identity build (byte-identical repack) → extract (roundtrip-tested) → marker build → batch translation with subagents → insert and lint → emulator QA → release.
- Headless emulator QA (
emu.py): boots a ROM, plays scripted button/touch routes, takes screenshots and contact sheets, saves/loads states, runs Lua probes (memory watch, RAM/VRAM dumps, DMA logs) and exits with a real code (0 ok, 2 Lua error, 3 black-screen, 124 timeout).- SNES/GBA: MesenCE · NDS: DeSmuME · PS1: PCSX-Redux · PSP: PPSSPP
- ROM tools (Python, stdlib only): leftover-Japanese scanner with pointer reachability (
jp_left.py), BPS patch maker with re-apply verification (bps.py), write checker against original bytes (romdiff.py), table codec with control codes (tbl.py), contact sheets (sheet.py), visual-QA release gate (qa_gate.py). - Reverse engineering & graphics: relative search, 65816 and ARM/THUMB/MIPS disassembly with xrefs, cheat-style RAM search, VRAM tile/BG-map rendering, find-in-ROM and PNG re-import at fixed palette indices.
- Guardrails: pre-commit hook that runs the repo's check and refuses ROM files; a Claude Code hook that blocks the shell edits that kept corrupting files (
sed -i, escape-laden heredocs,tests | tail && git commit). - Translation templates: translator and reviewer briefs for subagents, glossary template, and the policy questions to settle once (honorifics, name order, romanization, credits).
- Platform notes for SNES, GBA, NDS, PS1, PSP: mapping, pointers, compression, fonts/VWF, disc rebuilds, release formats.
Who it's for
ROM hackers and fan translators who want an agent to do the grunt work (extract, translate in batches, insert, test every build in an emulator) and hand over only builds that pass.
Notes
You supply your own legally obtained ROM/disc image. The skill never ships game data.
How to use
Skills on Agensi run inside your AI agent. Copy the prompt, paste it into your agent, and it connects to Agensi and installs this skill for you. If a payment is needed, your agent shows it to you first.
Reviews
No reviews yet
Be one of the first to try it. Every listed skill passes our trust checks below.
Security scanned
Passed our 8-point scan before listing
Fresh listing
Recently published to Agensi
Money-back guarantee
Doesn't do what its page promises? You get your money back.
Trust & safety
Security scanned
Verified clean 1 day ago
- Passed all security checks, Safe to install
Requires