AttoChess, a complete, playable chess program for 16-bit x86 DOS in 278 bytes
SeenNotHeard
30 points
17 comments
July 16, 2026
Related Discussions
Found 5 related stories in 64.5ms across 5,215 title embeddings via pgvector HNSW
- Build a Game That Fits on a Single Floppy Disk: 1.44MB Game Development Contest haunter · 17 pts · July 20, 2026 · 46% similar
- Is x86 ready to ACE it? mfiguiere · 45 pts · July 14, 2026 · 46% similar
- Pong Wars on the Commodore 64 Two9A · 12 pts · July 15, 2026 · 46% similar
- Show HN: Watch 14-Byte AI "brains" attempt to solve a 2D maze (Its hard) purple-leafy · 23 pts · July 27, 2026 · 46% similar
- HelloAssembly: The smallest possible complete Windows application (2021) Bluestein · 85 pts · August 25, 2026 · 45% similar
Discussion Highlights (9 comments)
vunderba
It seems like it’s partially based on LeanChess [1], which is 288 bytes long. I’d be curious to know whether this program was AI-assisted or written entirely from scratch, since Lean Chess was written at a time predating the era of LLMs. Another thing that amuses me is that these tiny programs often claim to be “complete” chess engines while not actually implementing all the rules. This one doesn’t appear to support en passant, and likely doesn't have pawn promotion either. If you’re allowed to arbitrarily redefine the scope of chess, then code size stops being as impressive a metric. [1] - https://leanchess.github.io
dwheeler
Impressive, but no castling or en passent, so it's not really chess.
TMWNN
Highly relevant: Great Moments in PCMR History: A chess game published in 1982 includes a computer opponent but only uses 672 bytes of RAM. 1K ZX Chess has been described as "wizardry", "history's greatest game programming feat", and "the greatest program ever written". By comparison, this headline uses 298 bytes. < https://np.reddit.com/r/pcmasterrace/comments/3s9riy/great_m... >
semitones
I was able to capture the opponent's pawn on H4 by moving my pawn from H2 to H4. Huge and unacceptable bug, this is a joke.
reilly3000
I found some correctness issues that leave me a little unimpressed, although it’s a pretty phenomenal piece of code golf in general. For example, on my second move I mistakenly entered f1a1 instead of f1a6. It accepted this and then suddenly I had a bishop where the rook should be and no idea if my rook still exists.
jcoder
> Moves are trusted Indeed, you can just play e1e8 and capture the opponents king (which doesn’t end the game). It’s a digital chessboard, not a chess engine.
tzal3x
Doesn’t work. Played p2p5 and it just accepted it.
omoikane
Related, a collection of tiny chess programs by Oscar Toledo: https://nanochess.org/chess.html
kyledrake
pawn e2e8 checkmate Very cool this can be done in such a small amount of memory.