Don't know where to start? Hand it to your Claude

The kit was built to be driven by an AI agent. A one-page brief tells the agent the rules (measure, never guess; game data stays out of git), how to set the kit up and the order of the steps. Claude Code reads it as CLAUDE.md; any other agent takes it as the first message.

Download the brief (arek-agent.md)

Four steps, nothing else to configure. The agent asks you for the path to your disk image; the image stays on your machine.

pip install "amiga-re-kit[mcp]"
mkdir mygame && cd mygame && arek init .
# put the .adf path into local.conf (ADF1=…)
# save arek-agent.md here as CLAUDE.md
claude      # "Read CLAUDE.md and measure the disk."

The method

Each step produces a measurement the next step is checked against. Nothing downstream rests on a guess, which is why documents built this way can be trusted by someone who has never seen the game.

  1. Inventory the image

    Size, SHA-256, boot block. Every later claim refers to this exact image; cracked dumps differ.

  2. Look before reading: the entropy map

    Where the code is, where the packed blob is, how many files there probably are — before one instruction is decoded.

  3. Boot chain and packers

    Walk the boot block, follow the trackloader to the next stage, find packers by signature or by reading the decrunch routine. Verify each unpacker byte for byte against the emulator's RAM.

  4. Find the catalogue through the code

    Read the file table the way the loader reads it. Data formats have many plausible readings; code has one.

  5. The hardware boundary

    Which routines are pure computation and which really drive Agnus, Denise and Paula. Usually most of a game is the former.

  6. Recompile and verify

    68k to C, routine by routine, run on a RAM capture of the original and compared with a capture taken after. Equal or not done.

  7. Check against the real thing, not your eyes

    Deterministic screenshots from the headless emulator at known times, with scripted input, as regression checkpoints.

The long version with commands: docs/METHOD.md. The headless vAmiga setup: docs/HEADLESS.md.

From an assistant

The MCP server exposes the same instruments to Claude Code or any MCP client. Every tool takes paths on your machine and returns a measurement — an entropy map, a listing, a diff — never the image itself. A session reads like a lab notebook: map the disk, scan for packed blocks, unpack the one at 0x1f40 and walk it from its entry, say which routines touch hardware, recompile one and compare its writes with a capture of the original.

Install with pip install "amiga-re-kit[mcp]" and register the server:

// .mcp.json in your project
{
  "mcpServers": {
    "arek": { "command": "arek-mcp" }
  }
}

// the 26 tools, in the order you will use them
kit_info       adf_info       adf_map        adf_regions
adf_ls         adf_file       adf_extract    scan_packed
unpack         hunk_info      hunk_load      disassemble
walk           hwscan         xref           copper
recomp         recomp_profile ram_at         headless_shot
headless_bpstate diff_captures render       trace_records
trace_compare  trace_bus

What's inside

modulewhat it doescame from
arek.adfgeometry, boot block checksum, entropy map and regions, inventory recordnew
arek.amigadosOFS/FFS file system reader: directory listing, file extraction, safe pathsAlien Breed
arek.packersPowerPacker 2.0, Bytekiller B and the SWIV word-stream variant, Turrican II three-stage, Atomik (ATN!); brute-force scan with verificationSWIV, Turrican II, Superfrog
arek.hunkbounded AmigaDOS HUNK reader: CODE/DATA/BSS, RELOC32, split streams; a builder for small probesSuperfrog
arek.coppercopper list disassembler with custom register namesSWIV
arek.m68k.decoderstrict 68000 decoder that raises on anything it does not model; flow-graph walker that reports frontiersSuperfrog
arek.m68k.hwscanpure-RAM routines versus hardware routines, with unknown address-register bases kept explicitTurrican II
arek.m68k.recompstatic 68k to C with a verification driver: RAM in, RAM and write log out; jump tables, indirect targets, external routines, overlay modules, optional clock countingSuperfrog, Alien Breed
arek.m68k.timing68000 clock count of every instruction, data-dependent ones included; matches Moira on all 42 247 decodable opcodesnew
arek.m68k.xref, auditcross references from objdump listings; profile-driven inventory and reachability as JSONSuperfrog
arek.headlessRetroShell scripts, screenshots, breakpoint captures and continuous traces through a patched VAHeadless; the patches are includedTurrican II, Superfrog, Alien Breed
arek.contractbyte-level comparison of captures, register diffs, "must not touch" assertionsSuperfrog
arek.m68k.profileper-routine calls, clocks and memory pages from a profiled recompilation: which routines an enhancement has to touchnew
arek.display, paritya frame rendered from chip RAM with vAmiga's colour pipeline, 0 pixels off; long-run parity of a rebuild against the emulator's register and input logsTurrican II, Alien Breed, Superfrog
arek.seal, webwhat a playable page needs: the display contract (whole device pixels, CRT, tests), code sealed to the visitor's own disk, a checker for the published bundle; the canon of a smooth picture and sound (the presenter on the GPU, the clock, the sound over shared memory, the scene composed on the GPU from one record per game frame with a CPU reference, the measurement)Alien Breed, Superfrog, Alien Breed II
arek.m68k.cover, fuzz, parity suitecoverage of a translation run and random input for both sides (where a long run stalls, a bug hides); a suite of scenarios against the original: state, picture, sound per tickSuperfrog
arek.m68k.timing.busbus cycles of every instruction, not only its clocks: what a model of the Amiga bus per DMA slot needsAlien Breed
arek.busthe Amiga bus per DMA slot for recompiled games: who owns each slot, the blitter cycle by cycle, the CPU by its accesses - on which instruction an interrupt lands, when a blit ends, whether the original overran the frame; checked against the emulator's bus log by arek selftest busAlien Breed
arek, arek-mcpthe command line (32 subcommands) and the MCP server (26 tools)new

2482 tests: synthetic data (hand-assembled programs, random buffers, generated boot blocks and disk images) and 68000 clock counts measured on Moira.