The Super Micro chess engine series started as a further
shrinking and enhancement of the amazing Micro-Max
chess engine developed by H.G.Muller (http://home.hccnet.nl/h.g.muller/max-src2.html),
which in less than 1200 characters included the
engine and even the user interface with legality
The current "shrinking level" of this version is around 670 bytes. Yes, in 670 characters, all ascii printable and including spaces and new-lines, there is the complete source of a chess engine implemented in a general purpose language, all included. It is so small that the program icon even in its smallest version is many bytes bigger than the program source, and it is even possible to print it on a post stamp (lol)!
Later on this version has been extended to allow playing with full FIDE rules, meaning including the management of en-passant, castling and under promotion. This new version is around 750 characters (35 lines of codes when pretty printed).
With the concepts taken from the "source series", there has been also released a completely rewritten version (in assembler) focused on executable size. Currently full FIDE version with a nice color "point and move" (slightly bigger) interface fits in 583 bytes, while the "mini" version is just 455 bytes! And it is not so easy to beat them!
As far as I know, these are the world smallest chess programs available, both in source size and execution size... and optimization might continue! :)
The last nice addition to the set is a ZX81-1K version, that is able to play both colors, with all the FIDE rules and with different level of strenght.
- Chess engine
- Extremely compact C source code
- Extremely compact 80x86 and Z80 executable size
Smallest executables (MS-DOS):
- full FIDE rules (583 bytes): download
- simplified rules, comparable to "bootchess" and to the old "1K ZX Chess" (455 bytes): download
The smallest C source files:
The ZX81 1K versions (all full FIDE):
- ".p" set: download
- H.G.Muller for having initiated this type of chess quest and published Micro-Max
- Fabrice Beaullard for his beatiful tiny c compiler and appreciation for "the small side"
- The FASM community and Tomasz Grysztar for this beautiful assembler
- The sinclairzxworld.com community and in particular to Karl Onkel, Stefano Bodrato, Johan Koelman and Zsolt Gaál for the suggestions and support of the ZX81 version development
- Cesare De Maestri and Paulina Janiak for the help on website setup