The conversion boundary
Reset enters $804A, the conversion copies a loader to RAM, selects bank 7 at $DE00, and waits for joystick fire. A temporary monitor patch reaches the relocated game entry at $5EEC; the release CRT is never patched.
A working disassembly and construction kit for the exact Magic Desk cartridge supplied for this project. Every semantic claim is tied to bytes, traces, or a confidence label.
Reset enters $804A, the conversion copies a loader to RAM, selects bank 7 at $DE00, and waits for joystick fire. A temporary monitor patch reaches the relocated game entry at $5EEC; the release CRT is never patched.
The private build preserves all CRT and CHIP headers, assembles the source-owned bootstrap envelope, and repacks all 20 8 KiB payloads. The verified baseline output has the same hash as the supplied image.
Titles are literal matches in the supplied CHIP payloads. Surrounding module boundaries are recorded; geometry and behavior are not invented.
Edit a verified title literal while preserving byte length. Unknown bytes remain untouched and every edit carries a precondition.
The reviewed source envelope is explicit byte-oriented assembly. A label is only shown where the evidence ledger supports it.
Runtime ownership is shown only where the current evidence supports it. Paged banks 8–19 are kept separate from the relocated RAM image.
$DE00Banks 18 and 19 are byte-identical at the payload level. This is an observed storage fact, not proof that either bank is unused at runtime.
Static observations, VICE traces, and conservative interpretations are kept distinct.
64-byte header, Magic Desk hardware type 19, 20 consecutive 8 KiB CHIP packets, load address $8000.
Bank 7 copies a 256-byte loader to $0800; the loader displays conversion/module content and waits for joystick fire.
The final stack handoff disables the cartridge and jumps through the relocated $8400 stub to $5EEC.
No editor control is exposed for physics, passengers, scoring, speech, high scores, or hazard behavior until mutation-tested.
known-unknowns.md