Tiny Chess 86

Home * Engines * Tiny Chess 86



Tiny Chess 86 (TC86), a chess program by Jan Kuipers written in 8086 assembly. Tiny Chess 86 played the Second PCW Microcomputer Chess Championship 1979 in London, where it ran on an Intel SDK-86 with the program in a 4 KB EPROM only taking 1 KB of RAM, and became tied third. A slightly modified version was used by Murray Lane to play the Microcomputer-Chess Tournament 1980 in San Jose, California, which was the most powerful unit there, but finished last also due to the weak evaluation only based on material - causing weak random opening play. At the first DOCCC 1981 it ran on an Elektuur processor board with an 8088 CPU. A special version of TC86 dubbed "Intellect" was published in Elektuur March 81.

=Move Generation= TC86 applies alpha-beta and performs move generation using a 0x88 board representation, as shown in the listing, published in a June 1981 Databus article : 104           ;ROUTINE TO GENERATE ALL LEGAL MOVES 105           ;FOR KNIGHT OR KING 106 062F 8BFB        107    GETDES: MOV    DI,BX           ;DST=ORG 0631 2EBA14      108            MOV    DL,CS:[SI]      ;GET DIRECTION 0634 03FA        109            ADD    DI,DX           ;CALC. SQ. MOVING TO 0636 F7C78800    110            TEST   DI,88H          ;OFF BOARD? 063A 750C        111            JNZ    G4              ;YES 063C 81E77706    112            AND    DI,677H         ;NO, CLEAN UP DI 0640 803D00       113            CMP    BYTE PTR [DI],COL       ;WHAT IS ON THAT 0643 7F03        114            JNLE   G4              ;OCCUPIED BY MYSELF 0645 E89700      115            CALL   MOVPOS          ;EMPTY OR OPPONENT 0648 46          116    G4:     INC    SI              ;NEXT DIRECTION 0649 2EF60499    117            TEST   BYTE PTR CS:[SI],99H    ; END OF TABLE? 064D 75E0        118            JNZ    GETDES          ;NOT YET 064F EBAE        119            JMP    M3              ;YES, STOP IT                  120 121           ;ROUTINE TO GENERATE ALL LEGAL MOVES FOR PIECES 122           ;MOVING ALONG A LINE:BISHOP,ROOK AND QUEEN 123 0651 8BFB        124    PATH:   MOV    DI,BX           ;DST=SRC 0653 2E8A14      125            MOV    DL,CS:[SI]      ;GET DIRECTION 0656 03FA        126    S2:     ADD    DI,DX           ;NEXT SQ. IN THAT DIRECTION 0658 F7C78800    127            TEST   DI,88H          ;OFF BOARD? 065C 7511        128            JNZ    S3              ;YES 065E 81E77706    129            AND    DI,677H         ;NO, CLEAN UP DI 0662 803D00       130            CMP    BYTE PTR [DI],COL       ;WHAT IS THERE? 0665 7F03        131            JG     S4              ;OCCUPIED BY MYSELF 0667 E89700      132            CALL   MOVPOS          ;EMPTY OR OPPONENT 066A 803D00      133    S4:     CMP    BYTE PTR [DI],0 ;IF IT WAS EMPTY, 066D 74E7        134            JNZ    S2              ;CONTINUE THAT DIRECTION 066F 46          135    S3:     INC    SI              ;GET NEXT DIRECTION 0670 2EF60499    136            TEST   BYTE PTR CS:[SI],99H ;ALL DIRECTIONS DONE? 0674 75DB        137            JNZ    PATH            ;NO, CONTINUE 0676 EB87        138    S1:     JMP    M3              ;YES, STOP IT = Selected Games= MCC 1980, round 1, Lane's Tiny Chess 86 vs. Boris 2.5 [Event "Microcomputer Chess Championship 1980"] [Site " San Jose, CA"] [Date "1980.09.05"] [Round "1"] [White "Lane's Tiny Chess 86"] [Black "Boris 2.5"] [Result "0-1"]

1.a3 Nc6 2.h4 Nf6 3.g3 d5 4.Bh3 Bg4 5.Nf3 Bxh3 6.Rxh3 e5 7.b3 e4 8.Nh2 Qd7 9.g4 Nxg4 10.Nxg4 Qxg4 11.Rh1 Qg2 12.Rf1 Qh3 13.Nc3 O-O-O 14.d3 Qxh4 15.dxe4 d4 16.Nb5 a6 17.Nxd4 Rxd4 18.Bd2 Bd6 19.Rg1 Bf4 20.e3 Bxe3 21.Qg4+ Qxg4 22.Rxg4 Bxd2+ 23.Ke2 Bc3 24.Ra2 f5 25.Rxg7 Rxe4+ 26.Kf3 Bxg7 27.a4 Nb4 28.Ra3 Bb2 29.c3 Bxa3 30.cxb4 Rxb4 31.a5 Rxb3+ 32.Kf4 Rb5 33.f3 Bc1+ 34.Kg3 Rxa5 35.Kh4 Bf4 36.Kh3 Ra2 0-1

=Publications=
 * Editor (1980). A Chess Program & Random Openings. Personal Computing, Vol. 4, No. 12, pp. 75 » Murray Lane
 * Jan Kuipers (1981). Tiny Chess 86 - Een schaakprogramma voor de 8088/8086. Databus 06-81, pdf hosted by Hein Veldhuis

=External Links=
 * World's smallest Handmade Chess Set ever, November 18, 2006
 * Tiny chess set built between heartbeats, May 01, 2008
 * Fidelity Tiny Chess (1991) by Eric van Riet Paap, from The Spacious Mind
 * Frank Zappa - City of Tiny Lites, 1979, YouTube Video
 * lineup: Frank Zappa, Adrian Belew, Tommy Mars, Peter Wolf, Patrick O'Hearn, Terry Bozzio, Ed Mann

=References= Up one level