Psion Chess 2.13 sur un 286 à 16 MHz : l'ancêtre de Chess Genius entre au laboratoire
Le programme avec lequel Richard Lang a gagné son titre mondial de 1987, dans sa version MS-DOS, rejoué sur un PC 286 émulé et branché en UCI. Le relais lit son échiquier CGA monochrome, tape ses coups au curseur et le fait jouer sans intervention : 283 parties de gauntlet, et une performance à 1924 contre un plateau d'adversaires qui, pour l'essentiel, n'existaient pas encore.
Richard Lang avant Mephisto
Avant d'être l'auteur des Mephisto et de Chess Genius, Richard Lang a écrit Cyrus, puis, vers 1983, un nouveau programme en assembleur 68000 : Psion. Sinclair Research le commercialise d'abord pour le Sinclair QL ; Psion le vend ensuite sous sa propre marque pour l'Apple Macintosh et l'Atari ST, et le porte sur les PC MS-DOS.
Au championnat du monde des micro-ordinateurs, il partage la victoire en 1984. Puis, à partir de 1985, Lang travaille avec Hegener & Glaser et Ossi Weiner : les programmes des Mephisto dérivent de Psion. Psion deviendra ensuite Chess Genius. Au total, dix titres mondiaux consécutifs de 1984 à 1995, et, en 1994, une victoire de Genius sur Garry Kasparov en partie rapide à l'Intel Grand Prix de Londres.
Le laboratoire mesure déjà quatre descendants de ce programme : le Mephisto Berlin 68000, le Berlin Pro 68020, le Genius 68030 London et Chess Genius 1 sur 486. Il manquait la souche. Les deux versions MS-DOS en ma possession sont la 1.01 (1985) et la 2.13 (1987) ; c'est la seconde qui vient de faire son gauntlet.
Ce que le relais voit
Vu de l'arbitre, Psion est un moteur UCI ordinaire : il annonce son nom, accepte une position et un temps de réflexion, et renvoie son coup. Cutechess ne voit aucune différence avec Stockfish. Derrière cette façade, il n'y a pourtant rien à quoi se brancher : Psion ne parle qu'à son écran et à son clavier. Le relais fait donc ce que ferait un joueur humain, mais sans relâche — toutes les trois dixièmes de seconde, il photographie l'écran, le lit, et tape des touches.
- L'échiquier : 64 cases de 40 × 36 points, lues par comparaison de motifs. C'est la position de référence — le relais ne fait jamais confiance à sa propre liste de coups sans la vérifier contre l'écran.
- Les deux pendules, qui disent lequel des deux camps réfléchit.
- La liste des coups, dans la notation de Psion (B8xB2, D1-E2) : case de départ, tiret ou croix, case d'arrivée.
- La ligne d'état : LEVEL E Infinite ANALYSIS ON, qui confirme les réglages.
- La ligne d'analyse : l'évaluation et la variante principale. Psion n'y affiche pas de profondeur de recherche ; dans les parties enregistrées, ses coups ne portent donc que leur temps.
Les deux dessins que Psion ne montre jamais
En CGA monochrome, une pièce n'a pas une couleur : elle a deux dessins, selon la case. Une pièce blanche sur case foncée est une silhouette pleine ; la même pièce blanche sur case claire n'est que son contour. Pour les noirs, c'est l'inverse.
Le piège est dans la position de départ. La dame blanche y est en d1, case claire ; elle n'y apparaît jamais sur case foncée. La dame noire est en d8, case foncée ; jamais sur case claire. Idem pour les deux rois. Un relais qui apprend les dessins à partir de la position initiale, comme il le fait pour tous les autres programmes, ignore donc quatre dessins sur trente-deux — et ce sont précisément ceux qui comptent. Une dame promue sur la « mauvaise » couleur était lue comme un fou ; une dame adverse arrivant sur cette couleur était lue comme une reprise immédiate, et le relais perdait le fil de la partie.
La solution n'est pas d'aller chercher les dessins manquants dans le programme, mais de les déduire de ceux qu'on a. La silhouette d'une pièce, c'est tout ce que le fond de la case ne relie pas au bord. Une fois cette silhouette isolée, le dessin de l'autre couleur de case s'en déduit mécaniquement.
Ce correctif est postérieur au gauntlet présenté ici. Sur les 283 parties jouées, 35 portent la trace du défaut — une promotion lue autrement qu'en dame — et sont écartées du calcul. Les 248 autres n'ont pas rencontré le cas et sont valides.
Le faire jouer tout seul
Psion se pilote au clavier, une lettre par commande. Le relais n'en utilise qu'une poignée : C pour que le programme prenne le camp au trait, M pour qu'il joue tout de suite, T pour reprendre un coup, $ pour une nouvelle partie. Au lancement, il règle une fois pour toutes le niveau sur Infini et laisse le relais arbitrer le temps.
Reste à jouer les coups, et c'est là que c'est amusant : Psion ne lit pas de notation. Il a un curseur qu'on déplace à la flèche et qu'on valide à Entrée, une fois sur la case de départ, une fois sur la case d'arrivée. Le curseur bute sur les bords de l'échiquier, ce qui donne au relais un point de repère sûr : sept fois gauche et sept fois bas le ramènent en a1, où qu'il soit. Le coup e2-e4 s'écrit donc, en touches : sept gauches, sept bas, quatre droites, un haut, Entrée, deux hauts, Entrée. Une vingtaine de touches par coup, et autant pour relire l'échiquier derrière.
Le PC, lui, est émulé par QEMU, qui démarre MS-DOS et lance le programme. Deux réglages suffisent à le rendre honnête. Le premier fixe sa vitesse : l'émulateur est bridé pour exécuter exactement le nombre d'instructions par seconde qu'un 286 à 16 MHz exécuterait — ni plus, ni moins. Le second cale son horloge sur l'horloge réelle, pour qu'une seconde du 286 soit une vraie seconde : sans cela le PC émulé file quinze à trente-cinq fois trop vite, les pendules s'affolent et le relais arrête la réflexion bien trop tard.
Amsterdam, Dallas, Roma : la version dédiée du même programme
Pendant que Psion se vendait en disquette, le même programme partait vivre une seconde vie dans des boîtiers en bois. La filiation est serrée :
- Mephisto Amsterdam (1985) : le premier module Mephisto portant le programme de Lang issu de Psion, un 68000 à 12 MHz. Au championnat du monde de 1985, à Amsterdam justement, la version de tournoi sur 68020 finit première, et les deux versions 68000 deuxième et troisième.
- Mephisto Dallas (fin 1986) : la suite directe de l'Amsterdam, vendue en 68000 à 12 MHz et en 68020 à 14 MHz. Mephisto remporte le championnat du monde 1986 de Dallas, et place trois machines dans les cinq premières.
- Mephisto Roma (1987) : le successeur du Dallas, contemporain exact de la version MS-DOS dont parle cet article.
Et le laboratoire a déjà mesuré le Dallas sans le savoir. D'après le wiki schach-computer.info, le Mephisto Mondial 68000 XL est un clone à 100 % du Dallas 68000 : même matériel, même version du programme, dans un boîtier de table. C'est une source unique et je la donne comme telle, mais si elle dit vrai, la rencontre du gauntlet entre Psion 2.13 et le Mondial 68000 XL est en réalité Psion sur 286 contre le Dallas de Lang sur 68000. Le 68000 l'emporte, 6 à 3 sur neuf parties.
Le Dallas existe par ailleurs au laboratoire sous la forme d'un portage UCI qui tourne à pleine vitesse, coté 2226. Quand Psion 2.13 aura sa propre version accélérée, les deux se rencontreront à armes égales : le même programme, dans ses deux incarnations de 1986 et 1987, libéré de son matériel d'époque. C'est la comparaison que j'attends le plus.
Le gauntlet : 283 parties, une performance à 1924
Le gauntlet s'est déroulé du 6 au 8 octobre 2026, à la cadence du laboratoire : 60 coups en 15 minutes, soit une quinzaine de secondes par coup. Psion joue au niveau Infini et c'est le relais qui l'arrête, à la seconde près. Il a affronté 29 adversaires, du Fidelity Designer 2000 (1689) jusqu'à Fruit 2.1 sur ARM9 (2310), en remontant l'échelle des cotes.
Cette performance le placerait vers la 163e place des 184 moteurs classés. Ce n'est pas encore une cote Ordo : celle-ci viendra quand ces parties entreront dans le classement général.
Le graphique compare, adversaire par adversaire, le score réalisé et celui qu'on attendrait d'un moteur coté 1924. Les adversaires sont rangés du plus fort au plus faible.
| Adversaire | Cote | Score | % | Attendu | Écart |
|---|---|---|---|---|---|
| Fruit 2.1 ARM9 30 MHz | 2310 | 0 / 3 | 0 % | 10 % | -10 |
| Fruit 2.1 68040 40 MHz | 2240 | 0 / 9 | 0 % | 14 % | -14 |
| MChess 1.71 486DX 33 MHz | 2193 | 1 / 10 | 10 % | 18 % | -8 |
| Mephisto RISC II | 2228 | 3 / 8 | 38 % | 15 % | +23 |
| Rebel 6 486DX 33 MHz | 2180 | 3 / 9 | 33 % | 19 % | +14 |
| Saitek Sparc (rev.518) | 2165 | 2 / 9 | 22 % | 20 % | +2 |
| Fidelity Elite Avantgarde V9 | 2125 | 0 / 8 | 0 % | 24 % | -24 |
| Mephisto Berlin 68000 v0.03 | 2120 | 1,5 / 10 | 15 % | 24 % | -9 |
| Novag Sapphire | 2101 | 2,5 / 9 | 28 % | 27 % | +1 |
| Fidelity Designer Mach IV | 2079 | 3,5 / 10 | 35 % | 29 % | +6 |
| Fidelity Designer Mach III | 2029 | 2 / 10 | 20 % | 35 % | -15 |
| Novag Zircon II | 1966 | 1,5 / 8 | 19 % | 44 % | -25 |
| Mephisto Mondial 68000 XL | 1964 | 3 / 9 | 33 % | 44 % | -11 |
| Mephisto Nigel Short | 1956 | 5 / 9 | 56 % | 45 % | +11 |
| Saitek President | 1920 | 9 / 9 | 100 % | 51 % | +49 |
| Saitek Maestro D++ | 1913 | 1,5 / 8 | 19 % | 52 % | -33 |
| Novag Super Expert C v3.6 | 1886 | 4 / 8 | 50 % | 55 % | -5 |
| Novag Super Forte C v3.6 | 1884 | 4 / 9 | 44 % | 56 % | -12 |
| Saitek Corona II (ver. D+) | 1856 | 6,5 / 9 | 72 % | 60 % | +12 |
| Mephisto Modena (set 3) | 1838 | 5 / 8 | 62 % | 62 % | 0 |
| Mephisto MM V (v5.1) | 1834 | 6,5 / 9 | 72 % | 63 % | +9 |
| Saitek Turbo King II (D+) | 1818 | 8 / 10 | 80 % | 65 % | +15 |
| Novag Constellation Forte A | 1803 | 3 / 6 | 50 % | 67 % | -17 |
| Mephisto MM IV (v7.10) | 1802 | 5 / 9 | 56 % | 67 % | -11 |
| Fidelity Designer 2100 | 1794 | 7 / 9 | 78 % | 68 % | +10 |
| Saitek Simultano (ver. B) | 1757 | 5,5 / 8 | 69 % | 72 % | -3 |
| Fidelity Par Excellence (B) | 1739 | 6 / 8 | 75 % | 74 % | +1 |
| Saitek Prisma | 1724 | 5 / 8 | 62 % | 76 % | -14 |
| Fidelity Designer 2000 | 1689 | 7 / 9 | 78 % | 79 % | -1 |
| Total (29 adversaires) | 1963 | 111 / 248 | 44,8 % | 46,1 % | — |
Cotes des adversaires : liste du laboratoire au 9 octobre 2026. Les parties écartées pour défaut de lecture ne sont pas comptées, d'où des séries de 6 à 10 parties.
Deux lignes sortent du lot, dans les deux sens : 9 sur 9 contre le Saitek President (1920), pas un demi-point lâché ; et 1,5 sur 8 contre le Saitek Maestro D++ (1913), l'écart négatif le plus net du gauntlet. Pour le reste, la progression est celle qu'on attend : 50 à 80 % des points sous 1860, autour de 50 % entre 1880 et 1960, puis la chute au-dessus de 2000. À partir de 2193 — MChess 1.71 et les deux Fruit — il ne prend plus qu'un point sur vingt-deux.
Deux chiffres sur la manière. Sur les 248 parties, les 206 parties décisives se sont toutes terminées par un mat sur l'échiquier : ni abandon, ni perte au temps. Psion marque 59,5 points sur 119 avec les blancs et 51,5 sur 129 avec les noirs, et les parties durent 55 coups en médiane.
1924 contre qui, au juste ?
Ce chiffre de 1924 mérite qu'on regarde contre quoi il a été obtenu, parce que le plateau est trompeur. Sur les 29 adversaires de ce gauntlet, quatre seulement avaient un programme existant en 1987. Tous les autres sont postérieurs — une vingtaine datent de 1989 ou après, dont cinq des années 1993-1994, et deux ne sont même pas des machines mais des logiciels pour PC : Rebel 6 (1994) et Fruit 2.1 (2005).
Autrement dit, Psion a passé l'essentiel de son gauntlet à jouer contre son propre avenir.
| Les quatre contemporains | Année | Processeur | Auteur | Cote | Psion |
|---|---|---|---|---|---|
| Mephisto Mondial 68000 XL clone du Dallas 68000 | 1986 | 68000 à 12 MHz | Richard Lang | 1964 | 3 / 9 |
| Novag Constellation Forte A | 1985 ou 1986 | 65C02 à 5 MHz | David Kittinger | 1803 | 3 / 6 |
| Mephisto MM IV | 1987 | 65C02 à 4,9 MHz | Ed Schröder | 1802 | 5 / 9 |
| Fidelity Par Excellence | 1986 | 6502 à 5 MHz | Dan et Kathe Spracklen | 1739 | 6 / 8 |
Le Saitek Turbo King II est un cas limite : la première version du Turbo King date d'octobre 1987, mais je n'ai pas pu dater la révision « II » que j'ai mesurée. Les Novag Super Expert et Super Forte ont eu une version A en 1987, mais ce sont les versions C de 1990 qui ont joué ici.
Trois de ces quatre machines sont cotées entre 1739 et 1803 — cent trente à deux cents points sous Psion. La quatrième, le clone du Dallas, est au-dessus, à 1964, et bat Psion 6 à 3. Et ce n'est pas un hasard : c'est le même programme, du même auteur, sur un processeur 16/32 bits.
Le championnat du monde de 1987, à Rome, raconte exactement la même chose. Dans l'épreuve logicielle, Psion gagne, avec 5,5 points, devant Cyrus 68K, Plymate et le programme d'Ed Schröder. Dans l'épreuve commerciale, c'est le Mephisto Roma qui l'emporte — c'est-à-dire, de nouveau, le programme de Lang. En 1987, la seule chose qui battait Psion, c'était Psion sur un meilleur processeur.
Voilà ce qu'il faut lire dans les 1924 points : non pas une machine de milieu de tableau, mais un programme qui, l'année de sa sortie, n'avait au-dessus de lui que sa propre version dédiée.
Un 286 à 16 MHz : la machine
Un mot sur le matériel choisi. Intel n'a jamais vendu de 286 au-delà de 12,5 MHz ; ce sont AMD, Harris et quelques autres qui ont poussé l'architecture à 16, 20 puis 25 MHz. Un 286 à 16 MHz n'est donc pas le PC moyen de 1987 — l'IBM PC AT de 1984 tournait à 6 MHz, puis 8 — mais le haut du panier des compatibles de la fin des années 1980. C'est, disons, le meilleur PC que ce programme ait pu rencontrer de son vivant.
En face, les machines dédiées de la même époque sont des 8 bits à 5 MHz ou des 68000 à 12 MHz. Le 286 exécute 3,9 millions d'instructions par seconde, bien plus qu'un 65C02 à 4,9 MHz, et il travaille sur 16 bits avec toute la mémoire d'un PC plutôt qu'avec les 32 Ko de ROM d'un module. Cela lui vaut cent à cent trente points sur les meilleurs 8 bits de son temps — et pas un de plus face au 68000, qui lui reprend tout. Entre un PC rapide et un processeur plus large, le programme de Lang a choisi : il est parti chez Mephisto.
La lignée, mesurée
Avec Psion 2.13, le laboratoire tient cinq points de la même filiation, du programme de 1987 à son aboutissement sur 486 :
| Programme | Matériel | Cote |
|---|---|---|
| Psion Chess 2.13 (1987) | 286 à 16 MHz émulé | 1924* |
| Mephisto Berlin 68000 (1992) | 68000 à 12,3 MHz | 2120 |
| Mephisto Berlin Pro 68020 | 68EC020 à 24,6 MHz | 2315 |
| Chess Genius 1 | 486DX à 33 MHz émulé | 2339 |
| Mephisto Genius 68030 London | 68EC030 à 33,3 MHz | 2363 |
* performance du gauntlet, pas encore une cote Ordo.
Quatre cent trente-neuf points entre la souche et l'aboutissement, dont une bonne part en vitesse d'horloge. Le seul duel direct de ce gauntlet au sein de la famille, Psion 2.13 contre le Mephisto Berlin, s'est soldé par 1,5 sur 10 pour l'ancêtre — cinq ans d'écart, et le même auteur des deux côtés.
La suite
- Psion 1.01 (1985), la version précédente, avec le même relais et le même 286.
- Psion 2.13 accéléré à 1800 MHz, pour mesurer ce que la seule horloge lui apporte — et surtout pour l'opposer au Dallas accéléré, déjà coté 2226. Les deux faces du même programme, sans leur matériel d'époque.
- Combler 1987. Tant que l'Amsterdam et le Roma ne sont pas mesurés, l'échelle de cette année-là reste incomplète, et la place exacte de Psion parmi ses vrais contemporains avec elle.
- Les tests BT-2450 et BT-2630. Avec une réserve : Psion ne sait pas roquer après une mise en place de position, ce qui lui ferme une des solutions du BT-2630.
Sources
- Chess Programming Wiki — Psion et Richard Lang (assembleur 68000 vers 1983 ; Sinclair QL, Macintosh, Atari ST, MS-DOS ; de Psion aux Mephisto puis à Chess Genius ; dix titres mondiaux de 1984 à 1995)
- Chess Programming Wiki — WMCCC 1987 (Rome) (Psion vainqueur de l'épreuve logicielle ; Mephisto Roma de l'épreuve commerciale), WMCCC 1985 et WMCCC 1986
- Mephisto Amsterdam et Mephisto Dallas (68000 à 12 MHz et 68020 à 14 MHz)
- schach-computer.info — Klone (le Mondial 68000 XL donné comme clone à 100 % du Dallas 68000 : source unique)
- The Spacious Mind et schaakcomputers.nl (dates, processeurs et auteurs des machines du gauntlet)
- DOS Days — Fastest CPUs (Intel s'arrête à 12,5 MHz sur 286 ; Harris jusqu'à 25 MHz)
- Performance Elo, tournois maison (cotes des adversaires et fiches des moteurs)
