LATCH map
- 18 TapeOut LATCH — nine cells × (Q0=X, Q1=O). Empty is 00.
- 6 TapeOut LATCH — TURN, ILLEGAL, WIN_X, WIN_O, DRAW, WE.
- 12 Behemoth LATCH — 4-bit scores, $BEM strobe hold, PoD nonce.
TapeOut × Behemoth
Nine latches. You write Q0 (X). Behemoth writes Q1 (O). Three-in-line clocks WIN_X and mints 18 $BEM.
Default mix skips Behemoth block. Drive P0, P1, P2 to strobe a mint.
On-chain logic game
Tic-tac-toe as a NAND/LATCH machine. You are TapeOut (X, Q0). Behemoth is the opponent (O, Q1). Three-in-line raises WIN_X, a rising-edge strobe mints 18 $BEM as Proof of Design.
Nine-cell latch array
P0–P8 → one-hot write enable
Clock log
Wallet / PoD
0
Idle · nine empty cells (00)
Signal map
Cell 0–8 click
P0–P8 · one-hot WE
Latch Q1Q0 + mark
Reset board
RESET · 1 = clear D
All cells → 00, flags 0
TapeOut X
D0 · Q0 write 1
Steel cell, mark X
Behemoth O
D1 · Q1 write 1
Ceramic cell, mark O
WIN_X LED
WIN_X · OR8(lineX)
High flag + $BEM mint
WIN_O LED
WIN_O · OR8(lineO)
High flag, no mint
DRAW LED
DRAW · FULL ∧ ¬WIN
Dust mint 2 $BEM
Illegal flash
ILLEGAL · WE ∧ ¬empty
Red outline, no clock
Hardware blueprint
| X0 | X1 | X2 | LINE |
|---|---|---|---|
| 0 | 0 | 0 | 0 |
| 1 | 0 | 0 | 0 |
| 1 | 1 | 0 | 0 |
| 1 | 1 | 1 | 1 |
| 0 | 1 | 1 | 0 |
PINS[9] → OCCUPIED NAND → WE · LATCH D → ILLEGAL = WE ∧ ¬empty LATCH[9×2] → isX / isO (3 NAND) → AND3 × 8 lines → OR8 → WIN_X → rising → BEM_STROBE → OR8 → WIN_O FULL ∧ ¬WIN → DRAW Behemoth: AND3(threat) → priority encoder
Combinational WIN_X is OR8 of the eight AND3 line flags. That bit is clocked into a TapeOut LATCH. A 2-NAND edge detector (WIN_X ∧ ¬WIN_X_prev) raises BEM_STROBE for one tick. The Behemoth reward core treats the strobe as Proof of Design: hash the 18-bit board, then mint 18 $BEM (Behemoth power 6 × three cells in the winning line). Draw releases 2. Loss releases 0 — Behemoth already holds the line.
on WIN_X_rise: BEM.mint(player, 18); emit PoD(boardHash, circuitId);