Skip to content
Laboratoire CB-Emu · Programmes DOS

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.

12345
  1. 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.
  2. Les deux pendules, qui disent lequel des deux camps réfléchit.
  3. La liste des coups, dans la notation de Psion (B8xB2, D1-E2) : case de départ, tiret ou croix, case d'arrivée.
  4. La ligne d'état : LEVEL E Infinite  ANALYSIS ON, qui confirme les réglages.
  5. 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.
Psion Chess 2.13 au milieu d'une partie, tel que le relais le photographie : image CGA de 640 × 400 points, en noir et blanc.

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.

DAME BLANCHEDAME NOIREvue en d1 (case claire)déduite, case foncéevue en d8 (case foncée)déduite, case claire
À gauche de chaque flèche, le dessin que Psion montre dans la position de départ ; à droite, celui que le relais en déduit. Vérifié sur de vraies cases de Psion 2.13 et 1.01 : la dame est alors reconnue à 0,97, contre 0,83 pour le fou qu'on lisait avant.

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.

Pour les curieux. Le bridage passe par le compteur d'instructions de QEMU, réglé à 256 nanosecondes par instruction. Pour savoir combien de cycles de 286 cela représente, on a chronométré Psion sur le cœur 80286 de MAME : 4,191 cycles par instruction. Le produit donne un 286 à 16,4 MHz, ramené à 16,0 par un facteur appliqué aux horloges.

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.

Performance1924 ± 13
Parties retenues248 sur 283
Score111 / 248 = 44,8 %
Moyenne des adversaires1963

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.

score réalisé attendu pour un moteur à 1924 0 % 25 % 50 % 75 % 100 % cote score de Psion contre l'adversaire Fruit 2.1 ARM9 30 MHz (2310) : 0/3, soit 0 % — attendu 11 % Fruit 2.1 ARM9 30 MHz 2310 Fruit 2.1 68040 40 MHz (2240) : 0/9, soit 0 % — attendu 12 % Fruit 2.1 68040 40 MHz 2240 MChess 1.71 486DX 33 MHz (2193) : 1/10, soit 10 % — attendu 14 % MChess 1.71 486DX 33 MHz 2193 Mephisto RISC II (2228) : 3/8, soit 38 % — attendu 15 % Mephisto RISC II 2228 Rebel 6 486DX 33 MHz (2180) : 3/9, soit 33 % — attendu 17 % Rebel 6 486DX 33 MHz 2180 Saitek Sparc (rev.518) (2165) : 2/9, soit 22 % — attendu 19 % Saitek Sparc (rev.518) 2165 Fidelity Elite Avantgarde V9 (2125) : 0/8, soit 0 % — attendu 25 % Fidelity Elite Avantgarde V9 2125 Mephisto Berlin 68000 v0.03 (2120) : 1,5/10, soit 15 % — attendu 25 % Mephisto Berlin 68000 v0.03 2120 Novag Sapphire (2101) : 2,5/9, soit 28 % — attendu 26 % Novag Sapphire 2101 Fidelity Designer Mach IV (2079) : 3,5/10, soit 35 % — attendu 29 % Fidelity Designer Mach IV 2079 Fidelity Designer Mach III (2029) : 2/10, soit 20 % — attendu 36 % Fidelity Designer Mach III 2029 Novag Zircon II (1966) : 1,5/8, soit 19 % — attendu 45 % Novag Zircon II 1966 Mephisto Mondial 68000 XL (1964) : 3/9, soit 33 % — attendu 45 % Mephisto Mondial 68000 XL 1964 Mephisto Nigel Short (1956) : 5/9, soit 56 % — attendu 46 % Mephisto Nigel Short 1956 Saitek President (1920) : 9/9, soit 100 % — attendu 49 % Saitek President 1920 Saitek Maestro D++ (1913) : 1,5/8, soit 19 % — attendu 53 % Saitek Maestro D++ 1913 Novag Super Expert C v3.6 (1886) : 4/8, soit 50 % — attendu 56 % Novag Super Expert C v3.6 1886 Novag Super Forte C v3.6 (1884) : 4/9, soit 44 % — attendu 57 % Novag Super Forte C v3.6 1884 Saitek Corona II (ver. D+) (1856) : 6,5/9, soit 72 % — attendu 61 % Saitek Corona II (ver. D+) 1856 Mephisto Modena (set 3) (1838) : 5/8, soit 62 % — attendu 62 % Mephisto Modena (set 3) 1838 Mephisto MM V (v5.1) (1834) : 6,5/9, soit 72 % — attendu 63 % Mephisto MM V (v5.1) 1834 Saitek Turbo King II (D+) (1818) : 8/10, soit 80 % — attendu 65 % Saitek Turbo King II (D+) 1818 Novag Constellation Forte A (1803) : 3/6, soit 50 % — attendu 68 % Novag Constellation Forte A 1803 Mephisto MM IV (v7.10) (1802) : 5/9, soit 56 % — attendu 68 % Mephisto MM IV (v7.10) 1802 Fidelity Designer 2100 (1794) : 7/9, soit 78 % — attendu 68 % Fidelity Designer 2100 1794 Saitek Simultano (ver. B) (1757) : 5,5/8, soit 69 % — attendu 73 % Saitek Simultano (ver. B) 1757 Fidelity Par Excellence (B) (1739) : 6/8, soit 75 % — attendu 75 % Fidelity Par Excellence (B) 1739 Saitek Prisma (1724) : 5/8, soit 62 % — attendu 77 % Saitek Prisma 1724 Fidelity Designer 2000 (1689) : 7/9, soit 78 % — attendu 80 % Fidelity Designer 2000 1689
AdversaireCoteScore%AttenduÉcart
Fruit 2.1 ARM9 30 MHz23100 / 30 %10 %-10
Fruit 2.1 68040 40 MHz22400 / 90 %14 %-14
MChess 1.71 486DX 33 MHz21931 / 1010 %18 %-8
Mephisto RISC II22283 / 838 %15 %+23
Rebel 6 486DX 33 MHz21803 / 933 %19 %+14
Saitek Sparc (rev.518)21652 / 922 %20 %+2
Fidelity Elite Avantgarde V921250 / 80 %24 %-24
Mephisto Berlin 68000 v0.0321201,5 / 1015 %24 %-9
Novag Sapphire21012,5 / 928 %27 %+1
Fidelity Designer Mach IV20793,5 / 1035 %29 %+6
Fidelity Designer Mach III20292 / 1020 %35 %-15
Novag Zircon II19661,5 / 819 %44 %-25
Mephisto Mondial 68000 XL19643 / 933 %44 %-11
Mephisto Nigel Short19565 / 956 %45 %+11
Saitek President19209 / 9100 %51 %+49
Saitek Maestro D++19131,5 / 819 %52 %-33
Novag Super Expert C v3.618864 / 850 %55 %-5
Novag Super Forte C v3.618844 / 944 %56 %-12
Saitek Corona II (ver. D+)18566,5 / 972 %60 %+12
Mephisto Modena (set 3)18385 / 862 %62 %0
Mephisto MM V (v5.1)18346,5 / 972 %63 %+9
Saitek Turbo King II (D+)18188 / 1080 %65 %+15
Novag Constellation Forte A18033 / 650 %67 %-17
Mephisto MM IV (v7.10)18025 / 956 %67 %-11
Fidelity Designer 210017947 / 978 %68 %+10
Saitek Simultano (ver. B)17575,5 / 869 %72 %-3
Fidelity Par Excellence (B)17396 / 875 %74 %+1
Saitek Prisma17245 / 862 %76 %-14
Fidelity Designer 200016897 / 978 %79 %-1
Total (29 adversaires)1963111 / 24844,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 contemporainsAnnéeProcesseurAuteurCotePsion
Mephisto Mondial 68000 XL
clone du Dallas 68000
198668000 à 12 MHzRichard Lang19643 / 9
Novag Constellation Forte A1985 ou 198665C02 à 5 MHzDavid Kittinger18033 / 6
Mephisto MM IV198765C02 à 4,9 MHzEd Schröder18025 / 9
Fidelity Par Excellence19866502 à 5 MHzDan et Kathe Spracklen17396 / 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 :

ProgrammeMatérielCote
Psion Chess 2.13 (1987)286 à 16 MHz émulé1924*
Mephisto Berlin 68000 (1992)68000 à 12,3 MHz2120
Mephisto Berlin Pro 6802068EC020 à 24,6 MHz2315
Chess Genius 1486DX à 33 MHz émulé2339
Mephisto Genius 68030 London68EC030 à 33,3 MHz2363

* 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

Laboratoire CB-Emu · chess.lumn.eu · gauntlet en échelle du 6 au 8 octobre 2026 (283 parties, 248 retenues, cadence 60 coups en 15 minutes), PC 286 à 16 MHz émulé par QEMU, étalonnage de vitesse sur le cœur 80286 de MAME.