Changes

Jump to: navigation, search

Tiny Chess 86

7,390 bytes added, 09:48, 26 April 2018
Created page with "'''Home * Engines * Tiny Chess 86''' FILE:MYSTEM_86.JPG|border|right|thumb|link=https://en.wikipedia.org/wiki/File:MYSTEM_86.JPG| Intel SDK-86 <ref>[http..."
'''[[Main Page|Home]] * [[Engines]] * Tiny Chess 86'''

[[FILE:MYSTEM_86.JPG|border|right|thumb|link=https://en.wikipedia.org/wiki/File:MYSTEM_86.JPG| Intel SDK-86 <ref>[https://en.wikipedia.org/wiki/File:MYSTEM_86.JPG Image] of [[Intel]] [https://en.wikipedia.org/wiki/Intel_System_Development_Kit#SDK-86 SDK-86] from [https://en.wikipedia.org/wiki/Main_Page Wikipedia]</ref> ]]

'''Tiny Chess 86''' (TC86),<br/>
a chess program by [[Jan Kuipers]] written in [[8086]] [[Assembly|assembly]]. Tiny Chess 86 played the [[PCW-MCC 1979|Second PCW Microcomputer Chess Championship]] 1979 in [https://en.wikipedia.org/wiki/London London] <ref>[[Kathe Spracklen]] ('''1979'''). ''Second Annual European Microcomputer Chess Championship - Results and Authors''. [[ICGA Journal#2_2|ICCA Newsletter, Vol. 2, No. 2]]</ref>, where it ran on an [[Intel]] [https://en.wikipedia.org/wiki/Intel_System_Development_Kit#SDK-86 SDK-86] <ref>[http://old.csvn.nl/pre_hist.html Prehistorie van het Nederlandse Computerschaak] (Dutch)</ref> with the program in a 4 KB [[Memory#ROM|EPROM]] only taking 1 KB of [[Memory#RAM|RAM]], and became tied third. A slightly modified version was used by [[Murray Lane]] to play the [[MCC 1980|Microcomputer-Chess Tournament 1980]] in [https://en.wikipedia.org/wiki/San_Jose,_California San Jose, California], which was the most powerful unit there, but finished last also due to the weak [[Evaluation|evaluation]] only based on [[Material|material]] - causing weak random [[Opening|opening]] play <ref>Editor ('''1980'''). ''A Chess Program & Random Openings''. [[Personal Computing#4_12|Personal Computing, Vol. 4, No. 12]], pp. 75</ref>. At the first [[DOCCC 1981]] it ran on an [https://en.wikipedia.org/wiki/Elektor Elektuur] processor board with an 8088 CPU <ref>[http://www.csvnsupplementsite.nl/csvnp2.html Eerste Nederlands Kampioenschappen Computerschaken] (Dutch)</ref>. A special version of TC86 dubbed "Intellect" was published in Elektuur March 81.

=Move Generation=
TC86 applies [[Alpha-Beta|alpha-beta]] and performs [[Move Generation|move generation]] using a [[0x88]] board representation, as shown in the listing, published in a June 1981 ''Databus'' article <ref>[[Jan Kuipers]] ('''1981'''). ''Tiny Chess 86 - Een schaakprogramma voor de 8088/8086''. [http://home.kpn.nl/a.dikker1/museum/databus.html Databus] 06-81, [http://www.schaakcomputers.nl/hein_veldhuis/database/files/06-1981,%20Databus,%20Jan%20Kuipers,%20Tiny%20Chess%2086.pdf pdf] hosted by [[Hein Veldhuis]]</ref>:
<pre>
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
</pre>
=<span id="TC86Boris"></span>Selected Games=
[[MCC 1980]], round 1, [[Murray Lane|Lane's]] Tiny Chess 86 vs. [[Boris#2.5|Boris 2.5]] <ref>Editor ('''1980'''). ''A Chess Program & Random Openings''. [[Personal Computing#4_12|Personal Computing, Vol. 4, No. 12]], pp. 75</ref>
<pre>
[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
</pre>

=Publications=
* Editor ('''1980'''). ''A Chess Program & Random Openings''. [[Personal Computing#4_12|Personal Computing, Vol. 4, No. 12]], pp. 75 » [[Murray Lane]]
* [[Jan Kuipers]] ('''1981'''). ''Tiny Chess 86 - Een schaakprogramma voor de 8088/8086''. [http://home.kpn.nl/a.dikker1/museum/databus.html Databus] 06-81, [http://www.schaakcomputers.nl/hein_veldhuis/database/files/06-1981,%20Databus,%20Jan%20Kuipers,%20Tiny%20Chess%2086.pdf pdf] hosted by [[Hein Veldhuis]]

=External Links=
* [http://thelongestlistofthelongeststuffatthelongestdomainnameatlonglast.com/smallest146.html World's smallest Handmade Chess Set ever], November 18, 2006
* [http://arbroath.blogspot.de/2008/05/tiny-chess-set-built-between-heartbeats.html Tiny chess set built between heartbeats], May 01, 2008
* [http://www.spacious-mind.com/html/tiny.html Fidelity Tiny Chess (1991)] by [[Eric van Riet Paap]], from [[The Spacious Mind]]
* [[Videos#FrankZappa|Frank Zappa]] - [http://globalia.net/donlope/fz/songs/City_Of_Tiny_Lites.html City of Tiny Lites], 1979, [https://en.wikipedia.org/wiki/YouTube YouTube] Video
: lineup: [[Videos#FrankZappa|Frank Zappa]], [[Videos#AdrianBelew|Adrian Belew]], [https://en.wikipedia.org/wiki/Tommy_Mars Tommy Mars], [https://en.wikipedia.org/wiki/Peter_Wolf_%28producer%29 Peter Wolf], [https://en.wikipedia.org/wiki/Patrick_O%27Hearn Patrick O'Hearn], [[Videos#TerryBozzio|Terry Bozzio]], [https://en.wikipedia.org/wiki/Ed_Mann Ed Mann]
: {{#evu:https://www.youtube.com/watch?v=WSxPdG2QxrA|alignment=left|valignment=top}}

=References=
<references />

'''[[Engines|Up one level]]'''

Navigation menu