Unlocked: Every Chess Program, Playing Automatically at Last.
They Could Never Play Each Other. Now They Can.
Forty Years of Chess Engines, All Speaking UCI
Laboratoire · bilan · décembre 2025 – octobre 2026
Une année de laboratoire : ce qui n'avait jamais été fait
En un peu plus de neuf mois, le laboratoire de chess.lumn.eu est passé de quelques tournois entre les machines de ma collection à un ensemble d'outils et de mesures inédits. Des programmes d'échecs de 1985 à 2005 y ont été rendus à nouveau jouables, puis mesurés et comparés sur une même échelle. Voici le fil de ces travaux, dans l'ordre où ils ont été faits.
Tous ces chantiers aboutissent au même résultat : des moteurs compatibles UCI. C'est ce qui change tout. Un programme qui parle UCI se branche dans n'importe quelle interface moderne — Banksia, Arena, cutechess — et celle-ci enchaîne les parties toute seule, tient la pendule, enregistre les résultats et calcule le classement.
Jusqu'ici, les programmes DOS, les machines dédiées des années 1980 et les modules ChessBase ne pouvaient jouer que quelques parties à la main, coup après coup, devant un opérateur. Ils s'affrontent désormais par centaines, sans personne devant l'écran. Des machines et des programmes qui ne s'étaient jamais rencontrés, ou seulement le temps de deux ou trois parties de démonstration, jouent les uns contre les autres autant qu'on veut, et sur la même échelle. C'est ce qui rend possible tout ce qui suit.
En six points, ce que contient le laboratoire
- Toute la gamme des moteurs ChessBase, devenue UCI. Fritz 5.32, 6, 7, 8 et 9, Deep Fritz 8 ; Junior 7 et 8, Deep Junior 9 et 10 ; Hiarcs 7.32 et 8 ; Nimzo 8 ; Shredder 5.32, 6 et 7 ; Chess Tiger 15. Enfermés de 1997 à 2005 dans l'interface ChessBase, dans un format propriétaire, ils jouent aujourd'hui dans Banksia, Arena et cutechess comme n'importe quel moteur. Deux adaptateurs écrits par rétro-ingénierie le permettent, et chaque version adaptée a été mesurée contre sa version d'origine. Chacun est aujourd'hui un moteur UCI autonome, qui s'inscrit dans un tournoi au même titre que Stockfish. 7 des 10 comparés : indiscernables de l'originalcoût du pont : −21 ± 7 points
- Les machines dédiées poussées à des fréquences qu'elles n'ont jamais connues. Le Saitek RISC 2500 et son ARM de 14 MHz tournent à 400 MHz ; le Fidelity Par Excellence, un 65C02 de 1986, passe de 5 à 73 MHz. Le facteur maximal a été mesuré pour chacune des 33 machines, jusqu'à ×59 pour le Novag Super VIP, et chaque version accélérée est un moteur UCI à part entière, avec sa propre cote. Chaque fréquence est déclarée comme un moteur UCI distinct : la machine d'origine et sa version dopée peuvent même s'affronter. RISC 2500 : 2213 → 2435 (+222)Par Excellence : 1740 → 2096 (+356)33 machines mesurées
- La TASC ChessMachine, championne du monde 1992, redevenue un moteur. Son processeur ARM2 fonctionne en adressage 26 bits, que QEMU ne sait pas émuler : un émulateur propre à la carte a été écrit, puis vérifié octet par octet contre MAME. The King 2.54 et Gideon 3.1 jouent à 14 et à 32 MHz avec leur livre d'ouvertures d'origine, et en version accélérée à 140 et 150 MHz. La carte parle UCI : elle entre dans un tournoi automatisé, ce qu'une carte enfichable de 1992 n'avait jamais pu faire. 6 configurations0 divergence avec MAMElivre d'origine : ≈ 47 000 positions
- Stockfish, Fruit, Crafty et Cray Blitz sur du 68000 et de l'ARM. Stockfish 11, dernière version à évaluation classique, a été compilé pour tourner « à nu » dans trois machines créées dans MAME : un 68020, un 68040 et un ARM9 à 30 MHz. Elles n'ont ni clavier, ni afficheur, ni échiquier, seulement un port série par lequel elles parlent UCI. Fruit 2.1, Crafty 19.15 et Cray Blitz 4.9h ont suivi le même chemin. Le port série sert de canal UCI : un moteur de 2020 s'inscrit dans le même tournoi qu'un Mephisto de 1990. 68020 : 235468040 : 2537ARM9 30 MHz : 2689+39 sur le Mephisto Berlin Pro, même processeur
- Les programmes DOS de l'âge d'or, pilotés au clavier émulé. Chess Genius 1 à 5, Fritz 1 à 3, MChess 1.71 et Pro 6, Rebel 6, 9 et 12 tournent dans leur version d'origine sur un 486DX à 33 MHz ou un Pentium à 90 MHz entièrement émulés. Ils n'ont que leur propre interface : le relais tape les coups au clavier émulé, lit l'échiquier et la ligne d'analyse à l'écran, et tient la pendule. Chacun devient un moteur UCI ordinaire. C'est le plus inédit : chacun devient un moteur UCI et enchaîne des parties automatiquement dans une interface moderne, ce qui n'avait jamais été possible. 13 programmes486DX 33 MHz · Pentium 90 MHz
- Et une seule échelle pour comparer tout cela. Les 33 machines dédiées annoncent profondeur, score et variante principale comme n'importe quel moteur UCI, lues dans la mémoire du programme ou sur leur afficheur. Toutes les mesures se rapportent à une liste Elo calibrée sur le CCRL par trois ancres couvrant quelque 730 points d'écart. Tout le monde parlant UCI, n'importe quel appariement devient possible et toutes les parties alimentent la même liste. 3 ancres CCRLDeep Shredder 13 : 3576 ici, 3560 ± 47 à la SSDF
Le fil des travaux
Le giga-tournoi de mes machines
Toutes les machines d'échecs que je possède en vrai ont été émulées dans CB-Emu, le projet de Franz Huber construit sur MAME, et placées dans un même tournoi. Chacune jouait à 15 secondes par coup, avec son programme d'origine gravé en mémoire morte. Les résultats ont été confrontés à la base Aktiv (Wiki-Elo) pour produire une liste Elo propre à ma collection.
34 machines5 651 parties1er : Mephisto Genius 68030 London, 235734e : Saitek Leonardo, 1289
Les échiquiers Mephisto mesurés sous UCI
Les algorithmes de Richard Lang et d'Ed Schröder existent aussi en versions UCI, exécutables sur un PC. Lancées sur le Ryzen 9 7950X3D à plus de 4 GHz, elles ont été mesurées sur des tests de positions puis en tournoi, face aux mêmes programmes tournant sur leur matériel d'origine émulé. Ce qu'apporte un processeur moderne à un programme de 1990 devenait mesurable.
BT-2450 : +239 à +316 pointsDallas UCI : 2233 en tournoi (+260)MM V UCI : 2108 (+273)
Des machines Mephisto stratosphériques · Mephisto Dallas 68000
Cray Blitz, Rebel 6 et The King sur un Ryzen
Trois programmes historiques ont été ramenés sur du matériel actuel et mesurés en parties réelles. Cray Blitz, champion du monde des ordinateurs sur supercalculateur Cray, a joué dans sa version 4.9h pour PC. Pour le relier aux mesures d'époque, une correspondance DOSBox / Pentium 90 / SSDF a été établie. The King 3.50 a été mesuré sur un seul cœur ; son mode multiprocesseur caché, activé par une option de lancement, multiplie sa vitesse par 7,3 sur 8 cœurs.
Cray Blitz 4.9h : 2531 sur 70 partiesThe King 3.50 : 2817 sur un cœur
OrdoStat : une interface pour Ordo et BayesElo
Ordo et BayesElo, les deux calculateurs de classement de référence, s'utilisent en ligne de commande. OrdoStat leur donne une interface graphique : elle charge les fichiers PGN, calcule les cotes et leurs marges d'erreur, trie le classement et l'exporte. L'interface existe en cinq langues. Avec son générateur HTML, elle forme une chaîne complète, des PGN bruts jusqu'à la liste publiée sur le site, sans aucune saisie à la main.
Ordo + BayesEloFR · EN · ES · NL · DEtéléchargement libre
Une liste Elo calibrée sur le CCRL
Une liste personnelle ne vaut que si ses chiffres se comparent à ceux des listes officielles. Trois moteurs d'ancrage répartis sur l'échelle de force ont servi à l'aligner sur le CCRL : Deep Shredder 13, Glaurung 2.2 et List 5.12, soit environ 730 points d'écart couverts. Un handicap de temps compense la différence de matériel. Les écarts mesurés aux ancres ne sont pas uniformes, ce qui justifie plusieurs ancres plutôt qu'une correction unique. Contrôle indépendant : la liste SSDF donne Deep Shredder 13 à 3560 ± 47, le laboratoire le mesure à 3576. Des moteurs de toutes les générations y sont classés, de Yace à Stockfish 8.
3 ancres CCRLDeep Shredder 13 : 3576 (SSDF 3560 ± 47)24 moteurs détaillés
Le chant du cygne de l'évaluation classique
Un tournoi des meilleurs moteurs à évaluation « artisanale » (HCE), c'est-à-dire écrite à la main par leurs auteurs, juste avant que les réseaux de neurones ne changent la discipline en 2020-2021.
10 moteurs898 partiesStockfish 11 : 76,5 %, invaincu
Les moteurs ChessBase libérés de leur interface
Fritz, Junior, Hiarcs, Nimzo, Shredder… De 1997 à 2005, ces moteurs n'existaient que comme modules internes des interfaces ChessBase, dans un format propriétaire. Deux adaptateurs écrits pour le laboratoire les font parler UCI : eng2uci pour les modules .eng, shredder2uci pour les bibliothèques de Shredder. Ils jouent désormais dans Banksia, Arena et cutechess. Le chantier a été mené par rétro-ingénierie : désassemblage, sondes à l'exécution, puis vérification sur des parties réelles.
La découverte la plus coûteuse a été la suivante. Ces moteurs contiennent un mécanisme de relecture de l'historique de la partie, que l'interface ChessBase remplissait toujours. Sans lui, ils ne voient ni les répétitions ni la règle des 50 coups, et perdent 100 à 220 points. Une fois ce mécanisme reconstitué, chaque version adaptée a été mesurée contre sa version d'origine.
16 moteurs adaptés7 sur 10 indiscernables de l'originalcoût moyen : −21 ± 7 points
Un calculateur de tournoi dans le navigateur
On y dépose un fichier PGN et on obtient le classement, les performances Elo et les scores. Tout le calcul se fait dans le navigateur ; rien n'est envoyé sur un serveur.
Le même moteur sur Mac et sur PC, à travers le réseau
Fruit 2.1, compilé à partir du même code source pour les deux architectures, a joué sur un MacBook Pro M1 Max puis sur le PC. Le moteur du Mac était piloté depuis le PC par un petit serveur et un relais UCI, à travers le réseau domestique. Les deux versions ont affronté les mêmes adversaires, puis se sont affrontées directement. On obtient ainsi une calibration du Mac par rapport au PC, en force de jeu et non en points de benchmark. À une partie à la fois, les deux machines font jeu égal. Sous forte charge, le PC prend l'avantage.
PC 2723 · Mac 2690duel direct : PC +39 (+17 à +62 à 95 %)1 vraie déconnexion en 696 parties
Le top des moteurs mono-thread
Une hiérarchie des meilleurs moteurs jouant sur un seul processeur, mesurée sur la liste calibrée.
15 moteurs + 3 ancres1 090 partiesStrelka 5.5 : 3282, deux défaites
Stockfish dans un Mephisto : le logiciel seul
Combien de positions Stockfish 18 doit-il calculer par coup pour faire jeu égal avec un Mephisto jouant à sa vitesse d'origine ? Stockfish est limité à un nombre fixe de positions par coup, et on cherche le point d'équilibre, palier par palier. Face au Genius 68030 London, ce point se situe vers 1 000 positions par coup. Chaque doublement lui vaut environ 184 points.
équilibre : ≈ 1 000 positions / coup+184 points par doublement
Les machines dédiées accélérées : le matériel seul
C'est l'expérience inverse : on garde le programme d'origine intact et on le fait tourner beaucoup plus vite. Accélérer l'émulation ne suffit pas, car l'horloge interne de la machine accélère aussi, et la machine joue les mêmes coups, simplement plus tôt. Il faut lui donner davantage de temps dans son propre temps. Le facteur d'accélération maximal a été mesuré pour chacune des 33 machines de la liste. Il dépend du coût de l'émulation, pas de la force de la machine.
Le cas le plus frappant est le Saitek RISC 2500. Son processeur ARM de 14 MHz s'émule à près de trente fois sa vitesse, soit l'équivalent d'un RISC 2500 à plus de 300 MHz. Le Genius 68030 London, lui, plafonne vers ×7. D'origine, le London devance le RISC 2500 de 116 points ; accéléré, le RISC 2500 dispose de deux doublements de vitesse d'avance. Il pourrait approcher les 2500 Elo : les parties le diront.
33 machines mesuréesSuper VIP ×59RISC 2500 ×29 : 405 MHz maxLondon ×7
Les machines dédiées bavardes dans Banksia
Dans une interface moderne, une machine émulée ne donnait jusqu'ici que son coup. Désormais, les 33 machines de la liste envoient leurs informations de réflexion comme n'importe quel moteur UCI : profondeur, score et variante principale. Selon la machine, ces informations sont lues directement dans la mémoire du programme, ou sur l'afficheur, en parcourant ses pages d'information comme le ferait un joueur. Le Mondial 68000 XL, par exemple, affiche sa variante coup par coup ; le relais la parcourt et contrôle chaque coup sur l'échiquier.
Chaque machine existe en deux versions : à sa vitesse d'origine, et accélérée au maximum stable mesuré sur le PC. Le nom de la version accélérée porte sa fréquence en MHz. Le niveau de jeu est réglé automatiquement : la machine analyse, et le relais l'arrête au temps prévu par coup. Un script déclare l'ensemble dans Banksia en une fois.
33 machinesprofondeur · score · varianteversion d'origine + version accélérée
Stockfish embarqué dans une machine d'échecs
C'est le dernier chantier et peut-être le plus étonnant. Stockfish 11, dernière version à évaluation classique, a été compilé pour tourner « à nu » dans deux machines de la famille 68000 créées dans MAME, l'une à 68020, l'autre à 68040. Ces machines n'ont ni clavier, ni afficheur, ni échiquier : un simple port série, par lequel Stockfish parle UCI. On peut ainsi faire jouer le Stockfish de 2020 sur des processeurs de la génération des Mephisto Berlin Pro et Genius.
Mise à jour du 2 octobre : la force est mesurée. Stockfish 11 atteint 2354 Elo sur 68020, soit 39 points de plus que le Mephisto Berlin Pro 68020, et 2537 sur 68040. Une troisième machine, à processeur ARM9 à 30 MHz, le porte à 2689. Fruit 2.1 a suivi le même chemin, et Crafty 19.15 et Cray Blitz 49h ont rejoint la machine ARM. Détails dans l'article consacré.
Les programmes DOS sur leur PC d'origine
Chess Genius 1 à 5, Fritz 1 à 3, MChess 1.71 et Pro 6, Rebel 6, 9 et 12 : les programmes qui ont fait l'histoire des échecs sur PC tournent dans leur version d'origine, sur un 486DX à 33 MHz ou un Pentium à 90 MHz entièrement émulés par MAME. Ils n'ont que leur propre interface. Un relais tape donc les coups au clavier émulé, lit l'échiquier et la ligne d'analyse à l'écran, et gère la pendule. Chacun devient un moteur UCI ordinaire dans Banksia.
13 programmes486DX 33 MHz · Pentium 90 MHzcotes à mesurer
Les premières machines accélérées mesurées
Les premières cotes des machines accélérées sont tombées. Le Fidelity Par Excellence, un 65C02 de 1986, passe de 5 à 73 MHz et gagne 356 points. Le Saitek RISC 2500, qui fait tourner The King 1.99 de Johan de Koning, passe de 14 à 400 MHz et gagne 222 points : il dépasse le Mephisto Berlin Pro 68020 et talonne le Genius 68030 London. Le programme le plus ancien, qui calcule le moins profond, est celui qui profite le plus de la vitesse.
Par Excellence : 1740 → 2096 (257 parties)RISC 2500 : 2213 → 2435 (100 parties)
Les TASC ChessMachine redeviennent des moteurs
La carte enfichable qui a remporté le championnat du monde de Madrid en 1992 rejoint le laboratoire. Son processeur ARM2 fonctionne en adressage 26 bits, que QEMU ne sait pas émuler : un émulateur propre à la carte a été écrit, puis vérifié octet par octet contre MAME. The King 2.54 et Gideon 3.1 jouent à 14 et à 32 MHz, avec le livre d'ouvertures d'origine, et leurs nœuds par seconde s'affichent dans Banksia. Chacun existe aussi en version accélérée sur le Ryzen, Gideon à 150 MHz et The King à 140 MHz.
6 configurations0 divergence avec MAMElivre d'origine : ≈ 47 000 positions
TASC ChessMachine : The King et Gideon redeviennent des moteurs
Ce qui relie ces travaux
Tous ces chantiers répondent à la même question : que valaient vraiment ces programmes, et d'où vient leur force ? Pour y répondre, il fallait d'abord les faire jouer dans un même cadre, puis les mesurer avec la même règle. Les machines dédiées sont passées par l'émulation, les moteurs ChessBase par les adaptateurs UCI, les programmes DOS et la ChessMachine par l'émulation de leur PC ou de leur carte, et le Mac par le réseau. Une échelle unique, calibrée sur le CCRL, relie le tout. Il devient alors possible de séparer ce qui revient au logiciel de ce qui revient au matériel, dans un sens comme dans l'autre : Stockfish ralenti jusqu'à la force d'un Mephisto, des Mephisto accélérés à des centaines de MHz, et enfin Stockfish lui-même logé dans un processeur de Mephisto.
chess.lumn.eu · laboratoire de calibration · 29 septembre 2026, mis à jour le 12 octobre 2026 · mesures sur Ryzen 9 7950X3D
