Skip to content
La TASC ChessMachine émulée dans le navigateur : échiquier et carte ARM

Jouer en ligne · TASC ChessMachine · ARM émulé

ChessMachine TASC : The King et Gideon jouent dans le navigateur

La carte d’échecs que TASC glissait dans un PC au début des années 1990, avec son propre processeur ARM, tourne maintenant dans la page : le BIOS de la carte, le vrai programme, à sa fréquence d’origine. On joue sur un échiquier confortable ; la carte, en dessous, montre sa profondeur, son évaluation, ses nœuds par seconde et sa variante.

4versions : The King 2.54 et Gideon 3.1, à 14 et 32 MHz
2391The King 2.54 à 32 MHz, la plus forte
700 Kopour tout : émulateur, programmes, livre
0octet de programme modifié

La carte

La ChessMachine SR se branchait dans un emplacement ISA. Le PC ne faisait que l’interface : c’est la carte qui pensait, avec son processeur ARM (un ARM2 à 14 MHz, puis un ARM6 à 32 MHz) et ses 512 Ko de mémoire. Deux programmes ont fait sa réputation : Gideon 3.1 d’Ed Schröder, champion du monde des programmes d’échecs à Madrid en 1992 sur la version 32 MHz, et The King 2.54 de Johan de Koning, le « Dutch Champion » de 1995.

La page ChessMachine en partie
The King 2.54 à 32 MHz en partie : l’échiquier de la page, et la carte qui affiche son analyse.

Comment elle tourne

L’ARM de la carte travaille en mode d’adressage 26 bits, que QEMU ne sait pas émuler. Pour les brancher en UCI dans le laboratoire, j’avais écrit un émulateur dédié, cmcard, vérifié octet par octet contre MAME. C’est lui qui est compilé ici en WebAssembly. Le pilote, qui jouait le rôle du logiciel PC de TASC, a été porté en JavaScript : il charge le BIOS de la carte (tiré de CARDIO.DRV), puis le programme, et lui parle avec le protocole d’origine — coups, ordre de réfléchir, « joue maintenant », lignes de jeu et évaluation. La carte est cadencée sur l’horloge : elle pense à la vitesse qu’elle avait vraiment.

Comme sur la vraie carte, le livre d’ouvertures n’est pas dans le programme : c’est le logiciel PC qui le jouait. La page fait de même avec STANDARD.OBK, le livre de CM 3.1, environ 47 000 positions, en tirant ses coups selon les fréquences notées dans le livre.

La carte ChessMachine émulée
La carte : processeur, mémoire, programme, puis profondeur, évaluation, nœuds par seconde et variante principale.
Gideon 3.1 sur téléphone
Gideon 3.1 à 14 MHz sur téléphone.

Les versions

ProgrammeCarteAnnéeElo
The King 2.54 (Johan de Koning)ARM6 32 MHz19952391
Gideon 3.1 (Ed Schröder)ARM6 32 MHz19922344
The King 2.54 (Johan de Koning)ARM2 14 MHz19952312
Gideon 3.1 (Ed Schröder)ARM2 14 MHz19922153

Cotes de la liste du laboratoire (cartes émulées par cmcard, à leur fréquence d’origine). Les nœuds sont comptés par l’émulateur, à l’entrée des routines de recherche du programme : la carte n’en donnait pas. Ordre de grandeur : environ 1 800 nœuds par seconde pour Gideon à 14 MHz, 3 000 à 4 000 pour The King à 32 MHz.

Jouer

On choisit la version et le temps de réflexion par coup (de 2 secondes à 3 minutes), puis on joue à la souris ou au doigt. « La machine joue » donne le trait à la carte, par exemple pour qu’elle prenne les Blancs ; pendant qu’elle réfléchit, le même bouton la fait jouer tout de suite. La carte se charge en moins d’une seconde.

La page

Jouer contre la ChessMachine

Émulation : cmcard (ARM2 / ARM6 en mode 26 bits), compilé pour le navigateur. BIOS et programmes d’origine du logiciel CM 3.1 de TASC.