Board located at $A000 – $A050 (81 bytes).
Each byte structure:
bits 0–3 = value (0–9)
bits 4–7 = temporary workspace (candidate mask or flags)
UNKN EQU 0 — zero is unused by valid Sudoku digits (1–9).
Phase 1: Deterministic constraint propagation.
Phase 2: Depth-first backtracking using stack frames.
Each guess frame stores:
• Cell index (0–80)
• Remaining candidate mask
HL → board pointer
DE → secondary scan pointer
BC → loop counters / index math
A → candidate mask / temporary arithmetic
Back to Project Index