What problem does it solve? Z80 assembly codebases declare state inline next to routines with no variable block, so addresses shift with every build and register clobbering is invisible until it corrupts gameplay. This Skill provides the authoritative inventory of mutable state, byte-order layouts, and per-routine register contracts so changes do not silently break level state, paddle rendering, or the stack. ## Core Features & Use Cases - Mutable-state inventory: Tables every game variable with address, size, owner, writers, and readers, resolved from main.lst rather than hardcoded. - Register contract tables: Documents inputs, outputs, clobbers, and preserved registers for each routine in pelota.asm, colisiones.asm, pala.asm, and the shared print library, including the critical IX global map-pointer rule. - Stack discipline rules: Explains the CALL-to-JP conversion method with static tracing and empirical SP measurement to prevent stack leaks. - Use Case: Before adding a new collision routine, check the contract tables to confirm it must preserve IX, see which scratch bytes are free, and verify whether CalcularAtributo or CRtoATTR is safe given your BC usage. ## Quick Start Ask what registers a routine in colisiones.asm clobbers and whether it is safe to call during gameplay without saving IX.