Skip to content
Crafty 19.15 sur ARM9 : une machine dédiée qui n’a jamais existé

Laboratoire · machines virtuelles · octobre 2026

Crafty 19.15 sur ARM9 : une machine dédiée qui n’a jamais existé

Prenez le processeur du TASC R30 de 1993, un ARM à 30 MHz. Mettez-y, à la place du programme de Johan de Koning, le Crafty de Robert Hyatt dans sa version du Championnat du monde 2004. Aucun fabricant ne l’a fait ; le laboratoire l’a fait, sous MAME, et l’a classé : 2221 après 244 parties, à égalité avec le Mephisto RISC II, 600 points sous Stockfish 11 sur la même puce et 370 au-dessus de Cray Blitz, son aîné, sur la même puce aussi. Cet article décrit la machine, le banc qui l’a cotée, adversaire par adversaire, et deux parties : une dame sacrifiée contre Fruit 2.1 sur 68040, et un roi noir qui vient se faire mater en h4 contre Stockfish 11 sur 68020.

2221Crafty 19.15 ARM9 30 MHz · liste Performance Elo du 22 octobre · 244 parties
2228± 29 : le gauntlet, 150 parties contre dix adversaires à cote fixe
+371sur Cray Blitz, du même auteur, sur la même puce à la même fréquence
5 670nœuds par seconde, soit la vitesse d’un Mephisto de 1990

Trois façons de faire revivre un programme

Le laboratoire fait jouer d’anciens programmes de trois manières, et il vaut la peine de les distinguer, parce qu’elles ne mesurent pas la même chose.

  • Les machines dédiées émulées. Un Mephisto, un Fidelity, un Novag : la mémoire morte d’origine, lue dans la vraie machine, tourne dans une émulation fidèle de son processeur et de ses circuits (CB-Emu, c’est-à-dire MAME). On mesure la machine telle qu’elle était vendue. Quand on l’accélère, on mesure ce qu’elle aurait valu avec une horloge plus rapide.
  • Les programmes d’époque sur PC émulé. Fritz 3, Chess Genius, MChess Pro, Rebel : le logiciel d’origine, dans un PC 486 ou Pentium 90 émulé, avec son DOS. On mesure le programme dans les conditions où ses acheteurs l’utilisaient.
  • Les machines dédiées virtuelles. C’est la troisième catégorie, et c’est celle de cet article : un programme qui n’a jamais tourné sur ce matériel, embarqué « à nu » dans une machine conçue pour lui, comme si un fabricant l’avait fait en son temps. Stockfish 11 et Fruit 2.1 sur 68020, 68040 et ARM9, Cray Blitz sur quatre processeurs, et maintenant Crafty 19.15 sur ARM9. On mesure ce qu’aurait valu une machine dédiée construite autour de ce programme.

Pourquoi la troisième catégorie ? Parce qu’elle sépare ce que les deux premières mélangent. Une machine dédiée de 1993 est le produit d’un programme et d’un processeur, et l’on ne sait jamais lequel des deux fait la cote. En plaçant plusieurs programmes sur la même puce, on obtient le programme seul ; en plaçant le même programme sur plusieurs puces, on obtient la puce seule. Crafty est la quatrième mesure sur l’ARM9 à 30 MHz, après Stockfish 11, Fruit 2.1 et Cray Blitz.

La machine

Elle est décrite en détail dans Stockfish 11 & Fruit 2.1 : 68020, 68040 & ARM ; l’essentiel tient en quelques lignes. C’est un pilote MAME de deux cents lignes, qui assemble :

  • un processeur ARM9 (jeu d’instructions ARMv5TE) cadencé à 30 MHz, la fréquence de l’ARM6 du TASC R30 ;
  • 1 Mo de mémoire morte, où le programme est chargé comme une cartouche, et 32 Mo de mémoire vive ;
  • une horloge en millisecondes, la seule notion du temps que la machine possède ;
  • un port série (une USART Intel 8251, une puce de 1976), relié par une liaison série émulée à un relais Python qui parle UCI à l’interface.

Pas de système d’exploitation, pas de disque, pas d’écran, pas de clavier. Le programme démarre à l’adresse zéro, installe sa table de vecteurs, programme l’USART et attend qu’on lui parle. Tout ce que fait un Mephisto au réveil, en somme, avec un port série à la place des capteurs de l’échiquier.

Le choix de l’ARM9 plutôt que de l’ARM2 du RISC 2500 ou de l’ARM6 du R30 n’est pas une coquetterie. La bibliothèque standard fournie avec le compilateur croisé est compilée pour ARMv5T, et sa première addition de nombres flottants exécute une instruction CLZ (compte des zéros de tête) qu’un ARM7TDMI ne connaît pas ; plutôt que de reconstruire toute la chaîne de compilation, on a pris le processeur qui correspond. Et CLZ n’est pas un détail pour un programme d’échecs à bitboards : trouver le premier bit d’un mot de 64 bits est son opération la plus fréquente, et c’est justement celle qui manquait à l’ARM2 du RISC 2500. L’ARM9 est, de ce point de vue, mieux armé que le 68020 des Mephisto pour ce travail.

Une machine un peu trop idéale
MAME ne facture que les instructions exécutées. La mémoire ne coûte rien : pas de cycle d’attente, pas de défaut de cache. Une vraie carte de 1993, avec de la mémoire dynamique de l’époque et un bus lent, aurait fait tourner le même programme un peu moins vite. La machine virtuelle est donc une version optimiste de ce qu’un constructeur aurait pu vendre ; de combien, on ne le sait pas, et c’est une des raisons de préférer les comparaisons à matériel égal, entre programmes de la même machine, aux comparaisons avec les vraies machines.

Le locataire

Crafty 19.15 est la version qui a joué le Championnat du monde 2004 à Ramat-Gan, où elle a terminé à égalité de points avec Fritz, derrière Deep Junior et Shredder. C’est le successeur libre de Cray Blitz, champion du monde des ordinateurs en 1983 et 1986, écrit en C par Robert Hyatt à partir de 1994 ; son code source a été public dès le début et a servi de référence à une génération de programmeurs. Il ne connaissait que le protocole xboard : l’UCI a été greffé dans le moteur lui-même, sans adaptateur.

L’embarquer a demandé ce que demandent tous les portages à nu : un amorçage (crt0), un script d’édition de liens, une couche d’entrées-sorties réduite au port série, et le remplacement de ce que le programme attend d’un système qui n’existe pas. Crafty y a ajouté ses particularités. Il lit son entrée pendant la recherche et la donne à son analyseur xboard, si bien que stop n’était pas compris et que quit tuait le moteur avant qu’il annonce son coup. Ses tables de finales de Nalimov sont câblées en dur, sans option pour les retirer ; elles sont fournies en version « aucune table installée ». Ses cadences passent par des commandes qui ne sont honorées que si le moteur se croit piloté par xboard : elles sont posées directement dans ses variables internes, en centièmes de seconde. Et l’ARMv5 n’a aucune instruction atomique ; sur une machine à un seul fil, masquer les interruptions le temps de l’opération suffit.

Le résultat : une cartouche de 281 Ko, et un programme qui calcule 5 670 nœuds par seconde sur sa puce à 30 MHz. C’est l’ordre de grandeur de ce que faisait un Mephisto 68020 en 1990. Fruit 2.1, sur la même machine, en fait 6 620, Stockfish 11 environ 2 500. À la cadence de la liste, 60 coups en 15 minutes, Crafty réfléchit à une moyenne de 7,2 demi-coups par coup et dépense sa pendule avec une régularité de métronome : 15,4 secondes par coup.

Le banc

Le gauntlet a été joué le 22 octobre 2026 à cibles fixes : dix adversaires choisis autour de la cote attendue, de 2079 à 2315, quatorze ou seize parties contre chacun, cent cinquante en tout, et les cotes des adversaires figées à leur valeur de la liste du moment. Tout le monde joue le même livre d’ouvertures, Perfect 2023 limité à dix coups ; les machines dédiées émulées, qui ont le leur en mémoire morte, le jouent aussi. La cadence est celle de la liste, 60 coups en 15 minutes, dans une émulation à vitesse réelle.

Moteur Parties Score Gauntlet Liste BT-2450 BT-2630 Prof.
Crafty 19.15 ARM9 30 MHz 150 85,5 · 57 % 2228 ± 29 2221 · 244 p. 2166 · 26/30 2200 · 20/30 7,2

Gauntlet : performance contre les dix adversaires à cote fixe. Liste : cote Ordo de la liste Performance Elo du 22 octobre 2026, qui ajoute aux 150 parties du gauntlet les 94 du tournoi des machines émulées d’octobre. BT : tests BT-2450 et BT-2630 du laboratoire, 15 minutes par position, avec le nombre de positions résolues. Prof. : profondeur moyenne annoncée par le moteur sur ses coups de plus de 8 secondes.

Un score de 57 % contre des adversaires de 2079 à 2315 : Crafty 19.15 à 30 MHz est une machine dédiée de 1992 de très bon niveau. Il écrase le Novag Sapphire et le Mephisto Berlin 68000 (treize et quatorze points sur seize), domine le Mephisto RISC II, bat le Saitek Sparc et les Fidelity ; il perd nettement contre Fruit 2.1 sur sa propre puce et contre le Berlin Pro 68020, et c’est contre Rebel 6 sur 486, le seul programme de PC du lot avec MChess, qu’il fait son plus mauvais score relatif. Ses cotes BT, 2166 et 2200, sont à cinquante points sous sa cote de parties : Crafty joue un peu mieux qu’il ne résout, ce qui est le propre d’un programme à l’évaluation copieuse plutôt qu’à la recherche profonde.

Le détail, adversaire par adversaire

Adversaire Cote Score % + = −
Fidelity Designer Mach IV 2079 10 / 16 63 % +8 =4 −4
Novag Sapphire 2101 14 / 16 88 % +13 =2 −1
Mephisto Berlin 68000 v0.03 2120 13 / 16 81 % +10 =6 −0
Fidelity Elite Avantgarde V9 2125 9 / 16 56 % +7 =4 −5
Saitek Sparc (rev.518) 2165 9 / 16 56 % +6 =6 −4
Rebel 6 486DX 33MHz 2180 6 / 14 43 % +5 =2 −7
MChess 1.71 486DX 33MHz 2193 8,5 / 14 61 % +8 =1 −5
Mephisto RISC II 2228 9,5 / 14 68 % +9 =1 −4
Fruit 2.1 ARM9 30MHz 2310 3,5 / 14 25 % +2 =3 −9
Mephisto Berlin Pro 68020 2315 3 / 14 21 % +1 =4 −9
Total 85,5 / 150 57 % +69 =33 −48

Cotes des adversaires : liste du laboratoire au 21 octobre 2026, figées pour le calcul. Perfect 2023 à dix coups pour tous.

Le détail dit quelque chose que la cote ne dit pas. Contre le Mephisto RISC II, coté comme lui, Crafty fait 68 % ; contre le Berlin Pro, cent points plus haut, 21 %, et contre Rebel 6, cinquante points plus bas, 43 %. Les programmes d’Ed Schröder et de Richard Lang ne sont pas plus forts que la cote ne le dit : ils jouent un jeu que Crafty, à 7 demi-coups, lit mal, positionnel et patient, là où le RISC II et les Fidelity l’attaquent de front et se font contrer. La cote est une moyenne ; les styles ne s’y annulent qu’avec assez d’adversaires différents, et c’est pourquoi le banc en a dix.

Ce qu’elle vaut parmi les vraies

Ce qui intéresse ensuite, c’est de placer cette machine parmi celles qui ont existé.

Mephisto Genius 68030 London
68030 33 MHz · 1996
2363
Mephisto Berlin Pro 68020
68020 24 MHz · 1996
2315
Novag Star Diamond
H8 · 2003
2226
Crafty 19.15 ARM9 30 MHz
machine virtuelle · 2004
2221
Mephisto RISC II
ARM2 14 MHz · 1992
2221
Saitek RISC 2500
ARM2 14 MHz · 1992
2179
Saitek Sparc
SPARC 20 MHz · 1993
2175
TASC Gideon 3.1, ChessMachine 14 MHz
ARM2 14 MHz · 1992
2153
Mephisto Berlin 68000
68000 12 MHz · 1992
2117
Novag Sapphire
H8 · 1994
2097
Fidelity Designer Mach IV
68020 20 MHz · 1989
2092

Cotes de la liste Performance Elo du 22 octobre 2026, machines à leur vitesse d’origine. L’échelle commence à 2000. En rouge, la machine virtuelle.

Crafty à 30 MHz est à égalité avec le Mephisto RISC II, à quarante points du RISC 2500 et du Sparc, cinq points sous le Star Diamond. C’est précisément la génération des machines à processeur RISC de 1992-1993 : un ARM2 à 14 MHz chez Saitek et chez Mephisto, un SPARC à 20 MHz chez Saitek. Avec deux fois leur fréquence et un processeur plus moderne, Crafty 19.15 ne fait que les égaler. Les programmes de ces machines, le Gideon d’Ed Schröder, The King de Johan de Koning, le programme des Spracklen du Sparc, étaient écrits pour ces processeurs et pour quelques centaines de kilo-octets de mémoire ; Crafty est un programme de PC, écrit en C, avec des tables de hachage, une évaluation copieuse et des bitboards de 64 bits sur un processeur de 32. À matériel équivalent, dix ans d’écart ne lui donnent aucun avantage sur eux. Il reste cent points sous le Berlin Pro et cent quarante sous le Genius 68030, les Mephisto de Richard Lang de 1996.

Trois moteurs, une puce : ce que vaut l’algorithme

C’est l’intérêt principal de cette mesure. Sur la même machine, à la même fréquence, avec la même mémoire et le même relais, le laboratoire a maintenant trois moteurs de trois générations : Crafty 19.15 (une architecture des années 1990, entretenue jusqu’au milieu des années 2000), Fruit 2.1 (2005) et Stockfish 11 (2020). Et deux programmes du même auteur : Cray Blitz 49h, le Fortran de 1990, et Crafty, son successeur.

Cray Blitz 49h ARM9 30 MHz
MAME · 320 p. · 1990
1850
Cray Blitz 49h ARM9 300 MHz
QEMU · 254 p. · dix fois l’horloge
2046
Crafty 19.15 ARM9 30 MHz
MAME · 244 p. · 2004
2221
Fruit 2.1 ARM9 30 MHz
MAME · 452 p. · 2005
2342
Stockfish 11 ARM9 30 MHz
MAME · 432 p. · 2020
2827

Les cinq locataires de la machine ARM9, liste du 22 octobre 2026. L’échelle commence à 1700.

  • Stockfish 11 : +606 points sur Crafty, à matériel identique. Quinze ans de progrès algorithmique, sans un hertz de plus. Sur les tests BT, en revanche, Stockfish 11 à 30 MHz fait 2134 au BT-2450, trente points de moins que Crafty : son élagage, réglé pour des millions de nœuds par seconde, rate des coups tactiques à quelques milliers. Sa force en partie ne vient pas de là.
  • Fruit 2.1 : +121 sur Crafty. Les deux programmes sont contemporains ; Fruit a une évaluation plus simple et une recherche plus efficace, et c’est ce qui se voit à 30 MHz. Fruit résout aussi mieux : 2295 et 2297 aux BT contre 2166 et 2200. Face à face, sur la même puce, Fruit a pris neuf parties sur quatorze et n’en a perdu que deux.
  • Cray Blitz, du même auteur, sur la même puce à la même fréquence, fait 1850 : Crafty le dépasse de 371 points. Et Cray Blitz sur l’ARM9 poussé à 300 MHz, dix fois plus vite, fait 2046, encore 175 points sous Crafty à 30 MHz. Entre le Fortran de 1990 et le C de 2004, le même auteur a gagné plus que ne donne un facteur dix sur l’horloge. Sur cette machine, Crafty réfléchit à 7,2 demi-coups quand Cray Blitz en atteint 4,8 : c’est là que sont les points. Il faut le Ryzen, un cœur à 5 GHz, pour que Cray Blitz (2544) passe devant Crafty à 30 MHz.
  • Dans la famille des processeurs, l’ARM9 à 30 MHz se place au-dessus du 68040 à 40 MHz pour les deux moteurs qui ont tourné sur les deux : +93 pour Fruit (2350 contre 2257), +221 pour Stockfish (2830 contre 2609). Crafty n’a pas de version 68k ; à venir, peut-être.

Première partie : une dame pour un cavalier

Fruit 2.1 68040 40 MHz – Crafty 19.15 ARM9 30 MHz · laboratoire, 17 octobre 2026 · Réti · 0-1 en 48 coups

Deux machines dédiées virtuelles l’une contre l’autre : Fruit 2.1 sur le 68040 à 40 MHz, coté 2254, contre Crafty, 33 points plus bas. Fruit a gagné huit des dix parties de leur rencontre ; celle-ci est l’une des deux autres, et elle vaut le détour pour trois coups : une dame abandonnée en g8 au 29e, une promotion en cavalier avec échec au 33e, et un roi blanc qui finit maté en h5 au milieu de l’échiquier. Les évaluations entre crochets sont celles de Stockfish 16 à 600 000 nœuds par coup ; les évaluations « annoncées » sont celles des deux programmes pendant la partie.

1.Cf3 Cf6 2.d4 d6 3.Dd3 Fruit sort du livre avec un coup de dame étrange. 3…Cc6 4.d5 Ce5 5.Cxe5 dxe5 6.Cc3 e6 7.dxe6 Fxe6 8.Db5+ Cd7 9.Dxb7 Fc5 La dame blanche part chercher des pions pendant que les Noirs développent. 10.Cb5 ? [−1,1] O-O 11.Dxc7 ? Un second pion, et la dame est hors jeu pour dix coups [−2,9] ; il fallait 11.e3. 11…Df6 12.e3 Tac8 13.Db7 Ff5 14.Fe2 Fb6 15.g4 Fe6 16.c3 Cc5 17.Df3 Cd3+ 18.Rf1 Le roi blanc ne roquera plus [−3,1]. 18…Dd8 19.h4 ? f5 ! [−4,9] Crafty ouvre la colonne f sur le roi. 20.g5 a6 21.Ca3 Fd5 22.Dh3 Fxh1 23.Dxh1 f4 24.De4 Cxc1 25.Fc4+ Rh8 26.Txc1 fxe3 27.Fd3 Txf2+ 28.Rg1 Dg8 Les Noirs ont une tour sur la septième, un pion en e3 et un fou en b6 qui regarde g1. Crafty annonce +1,66 ; Stockfish 16 voit −5,6.

a8b7c6d5e4f3g2h1
Après 29.Fc4 : la dame g8 est attaquée. Crafty la laisse et joue 29…e2.
a8b7c6d5e4f3g2h1
Après 33.Fc4 : 33…e1=C+ ! Le cavalier donne échec en g2, là où une dame ne le donnerait pas.

29.Fc4 Le fou attaque la dame. 29…e2 !! Crafty laisse sa dame en prise et avance le pion : la menace est e1=D. 30.Fxg8 Tf4+ ! Échec à la découverte du fou b6, et la tour s’en va attaquer la dame blanche. 31.Rg2 Txe4 La dame est reprise : les Noirs ont rendu la leur pour celle des Blancs, et gardé le pion e2 à une case de la promotion [−6,1]. 32.Fe6 Te8 33.Fc4 e1=C+ ! La promotion en cavalier, pas en dame : de e1, un cavalier fait échec au roi g2, une dame ne le ferait pas. Les Blancs doivent prendre, et la tour reprend. 34.Txe1 Txe1 [−6,8] 35.Fxa6 Tf8 36.Cc4 Ff2 37.Rh2 Fxh4 38.Rh3 Fxg5 39.a4 Tf3+ 40.Rg2 Td3 41.Fc8 Fh4 42.Fg4 Tg3+ 43.Rh2 Txg4 44.Ca3 Tf4 Crafty annonce le mat en neuf. 45.Cb1 Tf2+ 46.Rh3 Th1+ 47.Rg4 Tf4+ 48.Rh5 Fe7 mat. Le roi blanc, parti de g1, est maté en h5 par un fou.

a8b7c6d5e4f3g2h1
La position finale : 48…Fe7 mat. Le fou e7 et les deux tours tiennent toutes les cases.

Rien dans cette partie n’est hors de portée d’un programme de 1993 ; ce qui ne l’est pas, c’est de le faire à 7 demi-coups en 12 secondes sur 30 MHz, avec une évaluation qui compte le pion e2 pour ce qu’il vaut. Fruit, sur son 68040, a annoncé −1,89 au 25e coup et −5,73 au 35e : il a vu venir la défaite, un coup après l’autre, sans trouver où elle se décidait.

Seconde partie : Crafty bat Stockfish

Crafty 19.15 ARM9 30 MHz – Stockfish 11 68020 16 MHz · laboratoire, 18 octobre 2026 · sicilienne, 2.d4 · 1-0 en 52 coups

Stockfish 11 sur 68020 à 16 MHz est coté 2384, cent soixante points au-dessus de Crafty. Les deux machines ne se sont rencontrées qu’une fois, et Crafty a gagné. Ce n’est pas une partie propre, aucune des parties entre machines de ce niveau ne l’est, mais elle a une fin que l’on n’oublie pas : le roi noir vient se faire mater en h4, au milieu des pièces blanches. Les évaluations entre crochets sont celles de Stockfish 17 à la profondeur 20 ; les évaluations « annoncées » celles des deux programmes pendant la partie.

1.e4 c5 2.d4 cxd4 3.Dxd4 Crafty ne joue pas 2.Cf3 mais reprend tout de suite en d4 : la dame sort, puis rentre en d1. Rien de grave, mais Stockfish est déjà à l’aise. 3…Cc6 4.Dd1 Cf6 5.Cc3 e5 6.Fb5 Cd4 Stockfish, à 16 MHz et 8 demi-coups, annonce +1,28 pour lui. Il surestime : la position est égale. 7.Fd3 d5 8.Fg5 dxe4 9.Cxe4 Fe7 10.c3 Cxe4 11.Fxe7 Dxe7 12.Fxe4 O-O 13.cxd4 exd4 Les pièces se sont échangées par paires ; il reste à Crafty un pion d4 noir isolé à ramasser.

14.De2 14.De2 ? Il fallait prendre : 14.Dxd4. Crafty laisse le pion, et 14…Te8 cloue le fou e4 : −0,67. 14…Te8 15.f3 Ff5 15…Ff5 ?? Stockfish annonce −0,69 pour lui et met son fou en prise, croyant au contre-jeu. Stockfish 17 voit +2,07 après 16.O-O-O ! : le roi se sauve, la tour vient sur d1, et le pion d4 tombe avec le fou. 16.Fxf5 16.Fxf5 ?? Crafty prend le fou, ce qui est naturel et faux : 16…Db4+ ! 17.Rf2 Txe2+ 18.Cxe2, et Crafty a donné sa dame pour tour et fou. Les deux programmes viennent de rater le même coup, 16.O-O-O, en deux demi-coups.

aa88bb77cc66dd55ee44ff33gg22hh11
Après 15…Ff5 : Stockfish vient de mettre son fou en prise. 16.O-O-O gagnait une pièce ; Crafty a joué 16.Fxf5 et perdu sa dame contre tour et fou.

16…Db4+ 17.Rf2 Txe2+ 18.Cxe2 Le compte : dame et tour noires contre deux tours, fou et cavalier blancs, à peu près l’équilibre, −0,36. 18…Te8 19.Fe4 19.Fe4 ? laisse 19…d3 : −1,03. Stockfish annonce −0,44 pour lui ; il ne croit pas à son avantage. 19…d3 20.Fxd3 Db6+ 21.Rf1 g6 21…g6 ? rend l’avantage ; 21…Dxb2 prenait un pion pour rien. 22.b3 Crafty annonce +2,42 à la profondeur 7. Il surestime autant que Stockfish sous-estimait : Stockfish 17 dit 0,00. Les deux programmes se trompent dans des sens opposés, ce qui fait une partie équilibrée. 22…Da5 23.Fe4 Dd2 23…Dd2 ?? annoncé 0,00 par Stockfish. La dame se met en d2 sans voir que 24.Rf2 la laisse en plan : +1,75. Il fallait 23…Rh8. 24.Rf2

aa88bb77cc66dd55ee44ff33gg22hh11
Après 24.Rf2 : la dame noire est enfermée en d2, et les tours blanches vont entrer en jeu par d1 et b1. Crafty annonce +2,99.

24…f5 25.Thd1 Les tours blanches viennent ; Stockfish se débat avec 24…f5 et 26…h5, qui créent des cibles autant que des menaces. 25…Db2 26.Fd3 h5 27.Fb5 Te7 28.f4 Rh7 29.g3 29.g3 ? affaiblit la case h3 et rend 29…h4 ! : +0,83 seulement. 29…h4 30.Fc4 a5 31.a4 Rg7 31…Rg7 ?? Il fallait 31…h3 pour fixer la faiblesse. Le roi noir va à la rencontre des tours : +2,0. 32.Tab1 Dc2 33.gxh4 Te4 34.Rf1 Te3 35.Td7+ 35.Td7+ chasse le roi en h6. Crafty annonce +4,06. 35…Rh6 36.Te1 Tf3+ 36…Tf3+ ? donne un tempo. Stockfish, à 11 demi-coups, annonce encore −0,76 pour lui, mais sa position se défait. 37.Rg1 De4 37…De4 ?? annoncé −2,38 par Stockfish : la dame quitte la défense. Il fallait 37…b5.

aa88bb77cc66dd55ee44ff33gg22hh11
Après 38.Fg8 ! : le fou se glisse derrière le roi noir, qui n’a plus que h5. Stockfish 17 : +5,45 ; Crafty annonce +5,20.

38…Rh5 39.Fd5 De3+ 40.Rh1 Rh6 Le roi noir fait l’aller-retour h5-h6-h5 pendant que le fou danse entre g8 et d5. 41.Fg8 Rh5 42.Tg1 42.Tg1 ! force l’échange de la dame contre la tour : il reste tour, fou et cavalier blancs contre une tour noire. 42…Dxg1+ 43.Rxg1 Th3 43…Th3 ?? et le roi noir, au lieu de rentrer, va chercher le pion h4. 44.Th7+ Rg4

aa88bb77cc66dd55ee44ff33gg22hh11
Après 44.Th7+ Rg4 : le roi noir est monté en g4, dans le camp blanc. Crafty annonce +9,31.

45.Ff7 Te3 46.Fxg6 45.Ff7 et 46.Fxg6 : Crafty prend le pion g6 avec échec à venir sur h5. 46…b6 47.Fh5+ Rh3 47.Fh5+ Rh3. Le roi noir est en h3, à côté du roi blanc, entouré de la tour h7, du fou h5 et du cavalier e2. Il n’a plus de case. 48.Rh1 48.Rh1 et Crafty annonce +19,75, puis le mat en 7 au coup suivant. 48…Te7 49.Txe7 49.Txe7. La dernière pièce noire disparaît. Crafty annonce « mat en 7 » à la profondeur 7, et le joue. 49…b5 50.Ff3 bxa4 51.Cg1+ 51.Cg1+ chasse le roi en h4, et la tour revient donner le mat. 51…Rxh4 52.Th7#

aa88bb77cc66dd55ee44ff33gg22hh11
52.Th7 mat. Le roi noir est allé se faire mater en h4, sur la case du pion qu’il voulait prendre.

Stockfish 11 sur 68020 à 16 MHz n’est pas le Stockfish du Ryzen : à 10 demi-coups, il met sa dame en d2, puis en e4, et laisse son roi partir en promenade. Crafty, à 7 demi-coups, a surévalué toute la partie, et cette confiance l’a bien servi : quand la position s’est ouverte, c’est lui qui avait les pièces actives.

Et une partie contre son colocataireContre Fruit 2.1 sur la même machine, à la même fréquence, Crafty perd le plus souvent : 3,5 sur 14 dans le gauntlet. L’une de ses rares victoires, le 18 octobre, en 110 coups, est une curiosité : après un milieu de partie où Crafty a pris un net avantage avant de tout rendre, la partie est entrée dans une finale de pions totalement nulle. Les deux programmes ont promené leurs rois pendant quarante-six coups, de 40…Rg7 à 86.Rd2, avec une évaluation à 0,00 des deux côtés, et le compteur des cinquante coups qui ne s’est jamais déclenché parce qu’un pion bougeait de temps en temps. Puis Fruit a joué 86…Rf6 ??, le seul coup qui perd, et Crafty a promu au 105e coup, maté au 110e. Fruit n’a pas de table de finales ; Crafty non plus. À 30 MHz, un roi qui s’éloigne de deux cases suffit.
aa88bb77cc66dd55ee44ff33gg22hh11
Après 86.Rd2 : finale de pions nulle, 46 coups que les rois tournent en rond.
aa88bb77cc66dd55ee44ff33gg22hh11
86…Rf6 ?? : le roi noir s’écarte, et 87.Rc2 ! va chercher c5 par b3-a4-b5. Stockfish 17 : +5,70.

Ce qu’il reste à faire

  • Crafty sur les autres machines virtuelles : le 68040, pour le comparer à Fruit et à Stockfish à armes égales, et les machines x86 à nu (486DX 33 et Pentium 90) qui existent déjà pour Stockfish et Cray Blitz.
  • Crafty sur l’ARM9 à 300 MHz, pour savoir si ses 7 demi-coups en deviennent 9 et ce que cela vaut en points.
  • Crafty 19.15 sur PC, dans les conditions de la liste, pour mesurer ce que les gigahertz lui rendent : il manque à la liste.
  • Un match à positions imposées contre le RISC 2500 et le Sparc, les deux vraies machines qui l’encadrent, pour sortir des lignes de livre qui se répètent.

Sources

chess.lumn.eu · laboratoire de calibration · 22 octobre 2026