a commercial DOS chess program by Gerd Isenberg, distributed exclusively by Martin Stamer's EuroChess Zentrale from 1994 until 1997. It had an own GUI, and was able to play simultaneously with up to ten board windows. While the GUI was written with Borland C++, the engine was written in 80386 32-bit assembly, applying a kind of cooperative multitasking using a coroutine. In a special mode, IsiChess switched to the so called unreal mode to allocate more physical memory for transposition tables, the DOS operating system was aware of. The private Windows version, developed since 2000, was a complete rewrite influenced by Robert Hyatt's Rotated Bitboards paper . In the following years IsiChess evolved to a pure fill based approach, motivated by the ideas of Steffan Westcott. The multi-treaded search used a shared transposition table.
In 1991 I started to write my first C++ Project, a Class-Lib for a DOS-Window-Manager-Interface. Inspired from David Levy's Computer Chess Compendium (specially the article about Chess 4.5), I started to write a chess-algorithm in bottom-up manner (beginning with data structures like piece-sets and bitboards and fast assembler routines to modify them). Two incremental updated redundant sets PIECESET _ControlledBy for each square and BITBOARD _ControllTo for each piece are used for move generation and evaluation purposes. The Search is a standard alpha-beta Null-window search with Iterative Deepening and several threat extensions and Null move. Standard Heuristics like Killer and History are used. The Leaf-Evaluation performs several tasks like extension-detection (King danger, passed pawns ) and several Mate in one detections. With my own C++ Class-library an implementation of a graphical user interface for the chess program was an quite easy task - IsiChess was born. Special Feature is the ability to play simultaneously with up to ten chessboards in separate windows.
Bitboard engine based on MMX-flood-fills. Conventional alpha-beta searcher (PVS), adaptive nullmove with zugzwang verification, sophisticated extension and reduction code as well as evaluation, static mate detection. Own GUI. Own opening book format (ASCII readable) - all lines manually edited over the years.
From 1994 until its last occurrence in 1997 Dos-IsiChess participated four times at the Aegon Man-Machine Tournaments in The Hague, The Netherlands. Gerd Isenberg had the pleasure to operate IsiChess to play the IGMs John Nunn, Larry Christiansen, Lembit Oll, Hans Ree and Friso Nijboer. IsiChess, until 1999 the DOS-Program, participated at various World- and World Microcomputer Chess Championships, best result was 7th from 18 in 2002 and 6 out of 11 in 2004.
|9th WCCC||1999||Paderborn||19 / 30||3 / 7|
|10th WCCC||2002||Maastricht||7 / 18||4½ / 9|
|12th WCCC||2004||Ramat-Gan||9 / 14||6 / 11|
|13th WCCC||2005||Reykjavík||10 / 12||2½ / 11|
|14th WCCC||2006||Turin||10 / 18||5½ / 11|
|15th WCCC||2007||Amsterdam||10 / 12||3½ / 11|
|13th WMCCC||1995||Paderborn||17 / 34||5½ / 11|
|14th WMCCC||1996||Jakarta||16 / 27||5½ / 11|
|15th WMCCC||1997||Paris||20 / 34||5½ / 11|
|18th WMCCC||2001||Maastricht||14 / 18||3½ / 9|
Since 1994 IsiChess played the International Paderborn Computer Chess Championships, since 2001 the Dutch Open Computer Chess Championships and the International CSVN Tournament.
Photos & Games
[Event "WCCC 2004"] [Site "Ramat-Gan, Israel"] [Date "2004.07.05"] [Round "2"] [White "IsiChess"] [Black "Fritz"] [Result "1/2-1/2"] 1.d4 Nf6 2.c4 e6 3.Nc3 Bb4 4.Qc2 O-O 5.a3 Bxc3+ 6.Qxc3 b6 7.Nf3 Bb7 8.e3 d6 9.b4 Nbd7 10.Bb2 Ne4 11.Qc2 f5 12.Bd3 a5 13.O-O Ng5 14.Ne1 Qe8 15.f3 Qg6 16.Be2 e5 17.c5 dxc5 18.bxc5 e4 19.cxb6 Nxb6 20.Qxc7 Bd5 21.Bc1 f4 22.exf4 Nh3+ 23.Kh1 Rae8 24.Qc3 exf3 25.Bxf3 Bc4 26.Bd5+ Bxd5 27.Qxh3 Rf6 28.Be3 Nc4 29.Bg1 Nd2 30.Rf2 Ne4 31.Rf3 Qf7 32.Qg4 Rg6 33.Qh5 Nf6 34.Qf5 Rxg2 35.Kxg2 Re2+ 36.Kf1 Bxf3 37.Rc1 Bg4 38.Rc8+ Re8 39.Rxe8+ Qxe8 40.Qe5 Qa8 41.f5 a4 42.Qe6+ Kh8 43.Be3 Qh1+ 44.Bg1 Bh3+ 45.Kf2 Qa8 46.Kg3 Nh5+ 47.Kf2 Qf8 48.Qc6 Bxf5 49.Ke2 Nf6 50.Qxa4 h6 51.Qb3 Qc8 52.Bf2 Be6 53.Qb2 Qc4+ 54.Kd2 Bf5 55.Bg3 Ne4+ 56.Ke3 Nc3 57.Qd2 Qb3 58.Kf3 Ne4+ 59.Qe3 Ng5+ 60.Kf2 Nh3+ 61.Kf3 Bg4+ 62.Ke4 Qf7 63.Kd3 Ng5 64.Kc3 Qa2 65.Kb4 Qb2+ 66.Ka5 Bd7 67.Qd3 Ne4 68.Be5 Nd2 69.a4 Qa2 70.Kb6 Qe6+ 71.Ka7 Nc4 72.Qb3 Bc8 73.Qb5 Qf7+ 74.Kb8 Bd7 75.Qc5 Bxa4 76.Nd3 Kh7 77.Qc7 Bd7 78.Nc5 Qf8+ 79.Ka7 Bh3 80.Ne4 Be6 81.Ka6 Ne3 82.Nd6 Qa8+ 83.Kb5 Qg2 84.Qb7 Bd5 85.Qd7 Qg6 86.Ka5 h5 87.h4 Bg8 88.Qb7 Qg1 89.Qe4+ Kh8 90.Kb6 Nd5+ 91.Kb7 Qc1 92.Bxg7+ Kxg7 93.Qe5+ Kh7 94.Qxh5+ Qh6 95.Qf5+ Kh8 96.Qe5+ Kh7 97.Qf5+ Kg7 98.Ne8+ Kh8 99.Qe5+ Kh7 100.Qe4+ Kh8 101.Qe5+ Kh7 102.Qf5+ Kh8 103.Qe5+ 1/2-1/2
[Event "WCCC 2005"] [Site "Reykjavík, Iceland"] [Date "2005.08.21"] [Round "11"] [White "Crafty"] [Black "IsiChess"] [Result "1/2-1/2"] 1.e4 c5 2.Nf3 d6 3.Bb5+ Nc6 4.O-O Bd7 5.Re1 Nf6 6.c3 a6 7.Bf1 Bg4 8.d3 e5 9.h3 Bxf3 10.Qxf3 Be7 11.g3 O-O 12.a4 Qd7 13.Na3 b5 14.Be3 Rfb8 15.Bg2 Na5 16.axb5 Nb3 17.Rab1 axb5 18.Qd1 Qe6 19.f4 Na5 20.d4 cxd4 21.cxd4 b4 22.d5 Qd7 23.Nc2 b3 24.Na1 Qa4 25.fxe5 dxe5 26.Qd3 Nc4 27.Kh2 Nxe3 28.Qxe3 Qa2 29.Qf2 Bd8 30.Qf5 Bc7 31.Kh1 h6 32.Rf1 Ra7 33.Qf3 Bd6 34.Qe2 Bc5 35.h4 Ne8 36.g4 Nd6 37.g5 hxg5 38.hxg5 g6 39.Kh2 Ra4 40.Rbc1 Bd4 41.Rc6 Qxb2 42.Qxb2 Bxb2 43.Nxb3 Nxe4 44.Bxe4 Rxe4 45.Nc5 Re3 46.d6 Bd4 47.Rf2 Rc3 48.d7 Rxc5 49.Rxc5 Bxc5 50.Rc2 Rd8 51.Rxc5 Rxd7 52.Rxe5 Rd3 53.Kg2 f5 54.gxf6 Kf7 55.Re7+ Kxf6 56.Re8 1/2-1/2
[Event "WCCC 2006"] [Site "Turin, Italy"] [Date "2006.05.26"] [Round "3"] [White "Diep"] [Black "IsiChess"] [Result "1-0"] 1.e4 c5 2.Nf3 d6 3.d4 cxd4 4.Nxd4 Nf6 5.Nc3 a6 6.Be3 e6 7.f3 Be7 8.Qd2 O-O 9.O-O-O Nc6 10.g4 Rb8 11.h4 Nxd4 12.Bxd4 b5 13.Kb1 Nd7 14.h5 h6 15.g5 Bxg5 16.f4 Bf6 17.Bxf6 Nxf6 18.e5 Ne8 19.Rg1 Qb6 20.Bd3 Kh8 21.Ne4 Rg8 22.Nxd6 Nxd6 23.exd6 Qxd6 24.Qe3 Qc7 25.Qe4 f5 26.Qe3 Bd7 27.Rg6 Be8 28.Rxe6 Bxh5 29.Rh1 Rge8 30.Bxf5 Rbd8 31.Bd3 Rxe6 32.Qxe6 Qxf4 33.Qxa6 Qd2 34.Qe6 Re8 35.Rf1 Qb4 36.a3 Rxe6 37.axb4 g5 38.Bxb5 Bg6 39.Bd7 Re2 40.Rc1 h5 41.b5 Rd2 42.Bc6 Kg7 43.b6 Rd8 44.b7 g4 45.Rf1 Kh6 46.Rf6 Kg7 47.Rd6 Rb8 48.Rd5 Be8 49.Rg5+ Kf7 50.Bxe8+ Rxe8 51.Kc1 Rb8 52.Rxh5 Kf6 53.Rb5 g3 54.Rb3 g2 55.Rg3 Rxb7 56.Rxg2 Ke5 1-0