Z80 Sudoku Challenge

Main project hub for the Z80 Sudoku solver implementation in Z80 assembly. ← Back to CONTENTS

Status & Overview

Status — Current progress and next steps

Design Overview — High-level architecture and approach

Design Doc — Primary design document for the Z80 Sudoku solver

Algorithm

Algorithm — Algorithm design and approach

Candidate Mask Design — Bitfield representation of possible values per cell

Row/Column/Box Scan Design — Constraint propagation scan algorithm

Solver Control Structure — Main loop and control flow design

Memory & Registers

Memory Map — Memory map overview

Detailed Memory Layout — Full memory map with addresses and sizes

Register Conventions — Detailed register usage conventions

Register Conventions (code) — Z80 register allocation plan (code-level)

Validation

Row Validation

Column Validation

Box Validation

Code

Solver Code — Main solver code

Candidate Mask Builder — Z80 assembly implementation of the candidate mask routine

Deterministic Fill Loop

Single Candidate from Mask

Backtracking — Backtracking algorithm notes

Reference

Z80 Instruction Set — Complete 491-instruction reference with opcodes, T-states, and flags. Instructions marked [UND] are undocumented (present in real Z80 silicon but absent from the Zilog manual). Instructions marked [Z80N] are ZX Spectrum Next hardware extensions — not part of the standard Z80 at all. Only use [UND] or [Z80N] instructions if explicitly asked to.

version4
updated2026-02-28