Routine-level unit testing and a debugging playbook — the two additions a post-project retrospective ranked worth building.
Added
pet call ROUTINE— the unit-test primitive: emulates aJSRin isolation (fake return address on the stack, optional--a/--x/--yon entry) and stops at the routine's ownRTS, leaving registers and memory holding its results. Poke inputs, call one routine, assert outputs — nothing else runs in between. Also a YAMLcall:step (call: { routine: addscore, a: 5 }) and MCPpet_call. The Ms. Muncher suite now unit-testsaddscore(BCD adds, hiscore chase, the 10,000-point bonus life) andcell_glyph's door special case this way.6502-debuggingskill — a symptom-indexed playbook of the procedures that cracked the dogfood's hard bugs: prove-the-binary-first (stale-load rule zero), store-watchpoint corruption hunts, register-clobber audits by isolation, deterministic reproduction with poke + frame-stepping, branch-away deadlock avoidance, exact-glyph assertions, and warp inspection discipline.
Full changelog: https://github.com/nschneir/PET-Project/blob/main/CHANGELOG.md