Nevíte, co s tím? Dejte to svému Claude

Kit je stavěný tak, aby ho řídil AI agent. Jednostránkové zadání agentovi řekne pravidla (měřit, nehádat; herní data zůstávají mimo git), jak kit nastavit a v jakém pořadí jít. Claude Code ho načte jako CLAUDE.md; jiný agent ho dostane jako první zprávu.

Stáhnout zadání (arek-agent.cs.md) English version

Čtyři kroky, nic dalšího se nenastavuje. Agent si od vás vyžádá cestu k obrazu diskety; obraz zůstává na vašem počítači.

pip install "amiga-re-kit[mcp]"
mkdir hra && cd hra && arek init .
# do local.conf zapsat cestu k .adf (ADF1=…)
# arek-agent.cs.md uložit sem jako CLAUDE.md
claude      # „Přečti CLAUDE.md a změř disketu.“

Metoda

Každý krok dává měření, proti kterému se kontroluje krok další. Nic dál po proudu nestojí na odhadu, a proto takto vzniklým dokumentům může věřit i ten, kdo hru nikdy neviděl.

  1. Inventura obrazu

    Velikost, SHA-256, boot blok. Každé pozdější tvrzení se vztahuje přesně k tomuto obrazu; crackované dumpy se liší.

  2. Podívat se, než začneš číst: mapa entropie

    Kde je kód, kde zabalený blob, kolik souborů tam nejspíš je – dřív, než se dekóduje jediná instrukce.

  3. Zaváděcí řetězec a packery

    Projít boot blok, sledovat trackloader k další fázi, najít packery podle signatury nebo přečtením rozbalovací rutiny. Každý rozbalovač ověřit bajt po bajtu proti RAM emulátoru.

  4. Najít katalog přes kód

    Číst tabulku souborů tak, jak ji čte loader. Datové formáty mají mnoho věrohodných čtení; kód má jedno.

  5. Hranice hardwaru

    Které rutiny jsou čistý výpočet a které opravdu řídí Agnus, Denise a Paulu. Většina hry bývá to první.

  6. Rekompilovat a ověřit

    68k do C, rutinu po rutině, spustit nad otiskem RAM originálu a porovnat s otiskem pořízeným poté. Shoda, nebo není hotovo.

  7. Ověřit proti skutečnosti, ne proti očím

    Deterministické snímky z bezhlavého emulátoru ve známých časech, se skriptovaným vstupem, jako regresní kontrolní body.

Dlouhá verze s příkazy: docs/METHOD.md (anglicky). Nastavení bezhlavé vAmigy: docs/HEADLESS.md (anglicky).

Z asistenta

MCP server nabízí stejné přístroje Claude Code nebo kterémukoli MCP klientovi. Každý nástroj bere cesty na vašem počítači a vrací měření – mapu entropie, výpis, diff – nikdy obraz samotný. Relace se čte jako laboratorní deník: zmapuj disketu, najdi zabalené bloky, rozbal ten na 0x1f40 a projdi ho od vstupu, řekni, které rutiny sahají na hardware, jednu rekompiluj a porovnej její zápisy s otiskem originálu.

Nainstalujte pip install "amiga-re-kit[mcp]" a zaregistrujte server:

// .mcp.json ve vašem projektu
{
  "mcpServers": {
    "arek": { "command": "arek-mcp" }
  }
}

// 26 nástrojů v pořadí, v jakém je použijete
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

Co je uvnitř

modulco děláodkud
arek.adfgeometrie, kontrolní součet boot bloku, mapa entropie a oblasti, inventurní záznamnové
arek.amigadosčtečka souborového systému OFS/FFS: výpis adresáře, vytažení souborů, bezpečné cestyAlien Breed
arek.packersPowerPacker 2.0, Bytekiller B a varianta SWIV se slovním proudem, třístupňový Turrican II, Atomik (ATN!); hrubé prohledání s ověřenímSWIV, Turrican II, Superfrog
arek.hunkohraničená čtečka AmigaDOS HUNK: CODE/DATA/BSS, RELOC32, dělené proudy; stavitel malých sondSuperfrog
arek.copperdisassembler copper listů se jmény custom registrůSWIV
arek.m68k.decoderpřísný dekodér 68000, který odmítne vše, co nemodeluje; průchod grafem toku hlásící hraniceSuperfrog
arek.m68k.hwscanrutiny jen nad RAM versus rutiny hardwaru, s neznámými bázemi adresových registrů držených explicitněTurrican II
arek.m68k.recompstatický překlad 68k do C s ověřovacím driverem: RAM dovnitř, RAM a log zápisů ven; skokové tabulky, nepřímé cíle, externí rutiny, překryvné moduly, volitelné počítání taktůSuperfrog, Alien Breed
arek.m68k.timingpočet taktů 68000 každé instrukce včetně těch závislých na datech; shoda s Moirou na všech 42 247 dekódovatelných opkódechnové
arek.m68k.xref, auditkřížové odkazy z výpisů objdumpu; inventura řízená profilem a dosažitelnost jako JSONSuperfrog
arek.headlessskripty RetroShellu, snímky, otisky na breakpointu a průběžné stopy přes patchovaný VAHeadless; patche jsou součástíTurrican II, Superfrog, Alien Breed
arek.contractporovnání otisků po bajtech, rozdíly registrů, tvrzení „nesmí se dotknout“Superfrog
arek.m68k.profilevolání, takty a stránky paměti po rutinách z profilované rekompilace: kterých rutin se vylepšení musí dotknoutnové
arek.display, paritysnímek vykreslený z chip RAM barevným řetězcem vAmigy, 0 pixelů rozdíl; dlouhodobá shoda přestavby s logy registrů a vstupů z emulátoruTurrican II, Alien Breed, Superfrog
arek.seal, webco potřebuje hratelná stránka: kontrakt obrazu (celé pixely zařízení, CRT, testy), kód zapečetěný k disketě návštěvníka, kontrola zveřejněného balíku; kánon plynulého obrazu a zvuku (presenter na GPU, takt, zvuk přes sdílenou paměť, scéna složená na GPU z jednoho záznamu na snímek hry s referencí na procesoru, měření)Alien Breed, Superfrog, Alien Breed II
arek.m68k.cover, fuzz, parity suitepokrytí běhu překladu a náhodný vstup pro obě strany (kde se dlouhý běh zasekne, je chyba); sada scénářů proti originálu: stav, obraz, zvuk po ticíchSuperfrog
arek.m68k.timing.buspřístupy každé instrukce na sběrnici, ne jen takty: co potřebuje model sběrnice Amigy po slotech DMAAlien Breed
arek.bussběrnice Amigy po DMA slotech pro rekompilované hry: kdo vlastní který slot, blitter po taktech, procesor podle svých přístupů – na kterou instrukci padne přerušení, kdy skončí blit, jestli originál nestihl snímek; proti bus logu emulátoru přes arek selftest busAlien Breed
arek, arek-mcppříkazová řádka (32 podpříkazů) a MCP server (26 nástrojů)nové

2482 testů: syntetická data (ručně assemblované programy, náhodné buffery, generované boot bloky a obrazy disket) a takty 68000 změřené na Moiře.