{"id":4670,"date":"2026-11-03T15:11:19","date_gmt":"2026-11-03T15:11:19","guid":{"rendered":"https:\/\/www.chess.lumn.eu\/wordpress\/2026\/11\/03\/cbemu-sur-mac\/"},"modified":"2026-11-04T17:01:18","modified_gmt":"2026-11-04T17:01:18","slug":"cbemu-sur-mac","status":"publish","type":"post","link":"https:\/\/www.chess.lumn.eu\/wordpress\/2026\/11\/03\/cbemu-sur-mac\/","title":{"rendered":"CB-Emu sur Mac : trente ordinateurs d&#8217;\u00e9checs sous MAME 0.289"},"content":{"rendered":"\n<link rel=\"preconnect\" href=\"https:\/\/fonts.googleapis.com\">\n<link rel=\"preconnect\" href=\"https:\/\/fonts.gstatic.com\" crossorigin=\"\">\n<link href=\"https:\/\/fonts.googleapis.com\/css2?family=DM+Serif+Display:ital@0;1&amp;family=DM+Sans:ital,opsz,wght@0,9..40,300..700;1,9..40,400&amp;family=JetBrains+Mono:wght@400;500;700&amp;display=swap\" rel=\"stylesheet\">\n<style>\n  .naum-body{\n    --creme:#f7f4ee; --encre:#2b2b2b; --rouge:#c0392b;\n    --or:#b8863b; --trait:#e3ddd0; --gris:#6b665c;\n    max-width:900px; margin:0 auto; padding:64px 28px 120px;\n    background:var(--creme); color:var(--encre);\n    font-family:'DM Sans',system-ui,sans-serif; font-weight:400;\n    font-size:18px; line-height:1.72; -webkit-font-smoothing:antialiased;\n  }\n  .naum-body, .naum-body *{box-sizing:border-box;}\n\n  .naum-body h1{font-family:'DM Serif Display',serif; font-weight:400; font-size:2.9rem;\n     line-height:1.08; letter-spacing:-.5px; margin:0 0 .35em; color:var(--encre);}\n  .naum-body h2{font-family:'DM Serif Display',serif; font-weight:400; font-size:1.85rem;\n     line-height:1.15; letter-spacing:-.3px; margin:2.6em 0 .5em; padding-bottom:.25em;\n     border-bottom:2px solid var(--rouge); color:var(--encre);}\n  .naum-body h3{font-family:'DM Sans',sans-serif; font-weight:700; font-size:1.1rem;\n     letter-spacing:.2px; text-transform:uppercase; margin:1.8em 0 .4em; color:var(--rouge);}\n  .naum-body .eyebrow{font-family:'JetBrains Mono',monospace; font-size:.78rem; letter-spacing:3px;\n     text-transform:uppercase; color:var(--or); margin:0 0 1.2em;}\n  .naum-body .chapeau{font-size:1.22rem; line-height:1.6; color:var(--gris); font-style:italic;\n     margin:0 0 2.4em; padding-left:1.1em; border-left:3px solid var(--or);}\n  .naum-body p{margin:0 0 1.15em;}\n  .naum-body a{color:var(--rouge); text-decoration:none; border-bottom:1px solid rgba(192,57,43,.35);}\n  .naum-body a:hover{border-bottom-color:var(--rouge);}\n  .naum-body strong{font-weight:700;}\n  .naum-body code{font-family:'JetBrains Mono',monospace; font-size:.85em; background:#efe9dd;\n     padding:.08em .35em; border-radius:3px; color:#7a3b2e;}\n  .naum-body ul,.naum-body ol{margin:0 0 1.2em; padding-left:1.35em;}\n  .naum-body li{margin:.4em 0;}\n\n  .naum-body ol.etapes{list-style:none; padding-left:0; counter-reset:et;}\n  .naum-body ol.etapes>li{counter-increment:et; position:relative; padding-left:52px; margin:1.1em 0;}\n  .naum-body ol.etapes>li::before{content:counter(et); position:absolute; left:0; top:-2px;\n     width:34px; height:34px; border-radius:50%; background:var(--rouge); color:#fff;\n     font-family:'JetBrains Mono',monospace; font-weight:700; font-size:1rem;\n     display:flex; align-items:center; justify-content:center;}\n\n  .naum-body .box{border-radius:8px; padding:18px 22px; margin:1.6em 0; font-size:.97rem; line-height:1.62;}\n  .naum-body .box .box-titre{font-family:'JetBrains Mono',monospace; font-size:.72rem; letter-spacing:2px;\n     text-transform:uppercase; display:block; margin-bottom:.5em; font-weight:700;}\n  .naum-body .naum-note-box{background:#f3ecda; border:1px solid #ddd0ab;}\n  .naum-body .naum-note-box .box-titre{color:#9a7b2e;}\n  .naum-body .naum-alert-box{background:#fbeae7; border:1px solid #e8b6ac;}\n  .naum-body .naum-alert-box .box-titre{color:var(--rouge);}\n  .naum-body .naum-coherence-box{background:#e9f2e6; border:1px solid #b6d3ab;}\n  .naum-body .naum-coherence-box .box-titre{color:#4e7a3b;}\n\n  .naum-body .tbl-wrap{overflow-x:auto; margin:1.6em 0;}\n  .naum-body table{border-collapse:collapse; width:100%; font-size:.9rem; background:transparent;}\n  .naum-body th,.naum-body td{border:1px solid var(--trait); padding:10px 13px; text-align:left; vertical-align:top;}\n  .naum-body th{background:#efe9dd; font-weight:700; letter-spacing:.3px;}\n  .naum-body tbody tr:nth-child(even){background:#faf7f0;}\n  .naum-body .ok{color:#4e7a3b; font-weight:700;}\n  .naum-body .taille{font-family:'JetBrains Mono',monospace; font-size:.86em; white-space:nowrap;}\n\n  .naum-body .champ{font-family:'JetBrains Mono',monospace; font-size:.82rem; background:#20232a;\n     color:#e6e1d6; padding:14px 18px; border-radius:6px; margin:.6em 0; overflow-x:auto;\n     border-left:3px solid var(--or);}\n  .naum-body .champ b{color:#e8b17a; font-weight:700;}\n\n  .naum-body .dl-zone{background:#20232a; border-radius:12px; padding:34px 30px; margin:2.2em 0;\n     text-align:center; color:#e6e1d6;}\n  .naum-body .dl-zone h3{color:#e8b17a; margin:0 0 .3em;}\n  .naum-body .dl-zone p{color:#b7b1a4; font-size:.95rem; margin:0 0 1.4em;}\n  .naum-body .dl-button{font-family:'DM Sans',sans-serif; font-weight:700; font-size:1.05rem;\n     background:var(--rouge); color:#fff; border:none; padding:15px 34px; border-radius:8px;\n     cursor:pointer; letter-spacing:.3px; transition:transform .12s ease, background .2s ease;}\n  .naum-body .dl-button:hover{background:#a5301f; transform:translateY(-2px);}\n  .naum-body .dl-button:active{transform:translateY(0);}\n  .naum-body .dl-sub{font-family:'JetBrains Mono',monospace; font-size:.74rem; color:#8a857a; margin-top:1em;}\n\n  .naum-body hr{border:none; border-top:1px solid var(--trait); margin:3em 0;}\n  .naum-body .sig{font-family:'JetBrains Mono',monospace; font-size:.78rem; color:var(--gris);\n     text-align:right; margin-top:3.5em;}\n\n  @media (max-width:600px){\n    .naum-body{font-size:16px; padding:44px 18px 90px;}\n    .naum-body h1{font-size:2.1rem;}\n    .naum-body h2{font-size:1.45rem;}\n  }\n<\/style>\n<style>\n  .naum-body{--grille:#e3ddd0;}\n  .naum-body .fig{margin:1.8em 0 .6em; background:#fbf9f4; border:1px solid var(--trait); border-radius:8px; padding:14px 12px 6px;}\n  .naum-body .fig .ax{font-family:'JetBrains Mono',monospace; font-size:11px; fill:var(--gris);}\n  .naum-body .fig .lab{font-family:'DM Sans',sans-serif; font-size:13px; font-weight:700; fill:var(--rouge);}\n  .naum-body .legende{font-size:.85rem; color:var(--gris);}\n  .naum-body .provisoire{background:#fff6e0; border:1px dashed #d9b765;}\n  .naum-body .provisoire .box-titre{color:#9a7b2e;}\n<\/style>\n<style>\n  .naum-body .schema{margin:1.8em 0 .6em; background:#fbf9f4; border:1px solid var(--trait); border-radius:8px; padding:18px 12px 10px;}\n  .naum-body .schema svg{width:100%; height:auto; display:block;}\n  .naum-body .schema .bx{fill:#fff; stroke:#cfc6b3; stroke-width:1.2;}\n  .naum-body .schema .bx2{fill:#20232a; stroke:#20232a;}\n  .naum-body .schema .t{font-family:'DM Sans',sans-serif; font-size:13px; fill:#2b2b2b; font-weight:700;}\n  .naum-body .schema .s{font-family:'JetBrains Mono',monospace; font-size:10.5px; fill:#6b665c;}\n  .naum-body .schema .tw{font-family:'DM Sans',sans-serif; font-size:13px; fill:#e8b17a; font-weight:700;}\n  .naum-body .schema .sw{font-family:'JetBrains Mono',monospace; font-size:10.5px; fill:#e6e1d6;}\n  .naum-body .schema .fl{stroke:#c0392b; stroke-width:1.6; fill:none;}\n  .naum-body .duo{display:grid; grid-template-columns:repeat(auto-fit,minmax(260px,1fr)); gap:16px; margin:1.6em 0;}\n  .naum-body .duo > div{background:#fbf9f4; border:1px solid var(--trait); border-radius:8px; padding:16px 20px; font-size:.95rem; line-height:1.6;}\n  .naum-body .duo h4{font-family:'DM Serif Display',serif; font-weight:400; font-size:1.45rem; margin:0 0 .2em; color:var(--rouge);}\n  .naum-body .duo .an{font-family:'JetBrains Mono',monospace; font-size:.75rem; letter-spacing:2px; color:var(--or); text-transform:uppercase;}\n  .naum-body blockquote{margin:2em 0; padding:0 0 0 1.2em; border-left:3px solid var(--rouge); font-family:'DM Serif Display',serif; font-size:1.5rem; line-height:1.35; color:var(--encre);}\n<\/style>\n\n<article class=\"naum-body\">\n\n  <p class=\"eyebrow\">Laboratoire \u00b7 \u00e9mulation \u00b7 octobre\u2013novembre 2026<\/p>\n  <h1>CB-Emu sur Mac : <em>trente ordinateurs d&#8217;\u00e9checs sous MAME 0.289<\/em><\/h1>\n  <p class=\"chapeau\">Sur le PC du laboratoire, les ordinateurs d&#8217;\u00e9checs de CB-Emu jouent depuis des mois comme des moteurs UCI ordinaires. Les faire jouer sur un MacBook Pro M1 Max paraissait n&#8217;\u00eatre qu&#8217;une affaire de recompilation : m\u00eame MAME, m\u00eames ROM, m\u00eame greffon. C&#8217;\u00e9tait compter sans les six ann\u00e9es de MAME qui s\u00e9parent les deux machines. Voici ce qui a chang\u00e9 entre MAME 0.220 et MAME 0.289, comment chaque machine a \u00e9t\u00e9 remise d&#8217;aplomb, la panne qui a failli tout faire \u00e9chouer, les trois machines qui r\u00e9sistent encore, puis ce qu&#8217;ont donn\u00e9 510 parties de tournoi et l&#8217;\u00e9talonnage contre le PC : une quinzaine de machines jouent sous MAME 0.289 exactement comme sous MessChess, mais pas toutes.<\/p>\n\n  <h2>Le point de d\u00e9part<\/h2>\n\n  <p>CB-Emu fait jouer d&#8217;anciens ordinateurs d&#8217;\u00e9checs (Mephisto, Saitek, Fidelity, Novag) dans l&#8217;\u00e9mulateur MAME. Sur le PC, il s&#8217;appuie sur <strong>MessChess<\/strong>, une version de <strong>MAME 0.220<\/strong> adapt\u00e9e pour l&#8217;occasion, et sur un greffon \u00e9crit en Lua, <code>chessengine<\/code>, qui transforme chaque machine en moteur UCI. Le programme d&#8217;origine reste intact dans sa ROM : il ne sait rien d&#8217;UCI. Le greffon fait ce que ferait un joueur assis devant l&#8217;appareil. Il pose les pi\u00e8ces sur l&#8217;\u00e9chiquier \u00e0 capteurs, appuie sur les touches et lit le coup de la machine sur ses diodes ou sur son afficheur.<\/p>\n\n  <p>Entre le greffon et l&#8217;interface de tournoi, le laboratoire ajoute un relais, <code>mess_uci.py<\/code>. Il traduit la pendule en niveau de jeu de la machine, envoie l&#8217;ordre d&#8217;arr\u00eat au bon moment et coupe une machine qui ne r\u00e9pond plus. Sur le Mac, MessChess n&#8217;existe pas. On part donc du <strong>MAME 0.289<\/strong> officiel, install\u00e9 par Homebrew, et on y porte le greffon et le relais.<\/p>\n\n  <div class=\"schema\">\n    <svg viewBox=\"0 0 880 150\" role=\"img\" aria-label=\"Cha\u00eene : arbitre, relais UCI, MAME avec le greffon, ROM d'origine\">\n      <rect class=\"bx\" x=\"4\" y=\"28\" width=\"190\" height=\"86\" rx=\"8\"><\/rect>\n      <text class=\"t\" x=\"99\" y=\"58\" text-anchor=\"middle\">Arbitre<\/text>\n      <text class=\"s\" x=\"99\" y=\"78\" text-anchor=\"middle\">tournoi_mac.py<\/text>\n      <text class=\"s\" x=\"99\" y=\"96\" text-anchor=\"middle\">python-chess \u00b7 60\/900<\/text>\n\n      <rect class=\"bx\" x=\"234\" y=\"28\" width=\"190\" height=\"86\" rx=\"8\"><\/rect>\n      <text class=\"t\" x=\"329\" y=\"58\" text-anchor=\"middle\">Relais UCI<\/text>\n      <text class=\"s\" x=\"329\" y=\"78\" text-anchor=\"middle\">mess_uci.py<\/text>\n      <text class=\"s\" x=\"329\" y=\"96\" text-anchor=\"middle\">pendule \u2192 niveau, arr\u00eat<\/text>\n\n      <rect class=\"bx2\" x=\"464\" y=\"28\" width=\"190\" height=\"86\" rx=\"8\"><\/rect>\n      <text class=\"tw\" x=\"559\" y=\"58\" text-anchor=\"middle\">MAME 0.289<\/text>\n      <text class=\"sw\" x=\"559\" y=\"78\" text-anchor=\"middle\">greffon chessengine<\/text>\n      <text class=\"sw\" x=\"559\" y=\"96\" text-anchor=\"middle\">touches \u00b7 capteurs \u00b7 diodes<\/text>\n\n      <rect class=\"bx\" x=\"694\" y=\"28\" width=\"182\" height=\"86\" rx=\"8\"><\/rect>\n      <text class=\"t\" x=\"785\" y=\"58\" text-anchor=\"middle\">ROM d&#8217;origine<\/text>\n      <text class=\"s\" x=\"785\" y=\"78\" text-anchor=\"middle\">le programme<\/text>\n      <text class=\"s\" x=\"785\" y=\"96\" text-anchor=\"middle\">de la machine, intact<\/text>\n\n      <path class=\"fl\" d=\"M194 71 H230\"><\/path><path class=\"fl\" d=\"M224 66 L230 71 L224 76\"><\/path>\n      <path class=\"fl\" d=\"M424 71 H460\"><\/path><path class=\"fl\" d=\"M454 66 L460 71 L454 76\"><\/path>\n      <path class=\"fl\" d=\"M654 71 H690\"><\/path><path class=\"fl\" d=\"M684 66 L690 71 L684 76\"><\/path>\n      <text class=\"s\" x=\"212\" y=\"134\" text-anchor=\"middle\">UCI<\/text>\n      <text class=\"s\" x=\"442\" y=\"134\" text-anchor=\"middle\">UCI<\/text>\n      <text class=\"s\" x=\"672\" y=\"134\" text-anchor=\"middle\">mat\u00e9riel \u00e9mul\u00e9<\/text>\n    <\/svg>\n  <\/div>\n  <p class=\"legende\">Seuls le relais et le greffon savent qu&#8217;ils parlent \u00e0 un tournoi. La machine, elle, voit un joueur qui appuie sur ses touches.<\/p>\n\n  <h2>Six ans de MAME entre les deux<\/h2>\n\n  <p>Le programme de chaque machine n&#8217;a pas boug\u00e9 : ce sont les m\u00eames ROM. Ce qui a boug\u00e9, c&#8217;est la fa\u00e7on dont MAME expose le mat\u00e9riel \u00e9mul\u00e9. Entre 0.220 et 0.289, beaucoup de pilotes ont \u00e9t\u00e9 r\u00e9\u00e9crits : les diodes ont chang\u00e9 de nom, les afficheurs d&#8217;ordre, certaines machines de nom. Le greffon lisait les diodes \u00ab 0.0 \u00bb, \u00ab 0.1 \u00bb\u2026 l\u00e0 o\u00f9 il les trouvait en 0.220. En 0.289, il lisait souvent la mauvaise case, ou rien du tout. Chaque \u00e9cart a \u00e9t\u00e9 retrouv\u00e9 dans les sources des pilotes de MAME 0.289, puis corrig\u00e9 dans le greffon.<\/p>\n\n  <div class=\"tbl-wrap\">\n    <table>\n      <thead><tr><th>Machines<\/th><th>Ce que MAME 0.289 a chang\u00e9<\/th><th>Correctif<\/th><\/tr><\/thead>\n      <tbody>\n        <tr><td>Toutes<\/td><td>Les fonctions de d\u00e9marrage et d&#8217;arr\u00eat du greffon (<code>register_start<\/code>, <code>register_stop<\/code>) ont disparu apr\u00e8s la 0.264.<\/td><td>Passage aux nouveaux \u00ab notificateurs \u00bb, conserv\u00e9s en m\u00e9moire faute de quoi Lua les d\u00e9sinscrit en silence.<\/td><\/tr>\n        <tr><td>Star Diamond, Zircon II, Prisma, Sapphire<\/td><td>Leurs modules, venus d&#8217;une autre branche de CB-Emu, attendent des variables que le greffon de MessChess ne fournit pas.<\/td><td>Ces variables leur sont fournies au chargement.<\/td><\/tr>\n        <tr><td>Amsterdam, Dallas, Roma, Glasgow<\/td><td>L&#8217;afficheur Mephisto \u00e0 4 chiffres est lu dans l&#8217;ordre inverse : le premier chiffre est d\u00e9sormais \u00e0 droite.<\/td><td>Table de correspondance des chiffres.<\/td><\/tr>\n        <tr><td>RISC 2500<\/td><td>Les deux lignes de la matrice de diodes ont \u00e9t\u00e9 permut\u00e9es (colonnes et rang\u00e9es).<\/td><td>Table de correspondance explicite.<\/td><\/tr>\n        <tr><td>Milano, Nigel Short<\/td><td>Les diodes forment une matrice 8 \u00d7 2 ; la r\u00e8gle g\u00e9n\u00e9rale du greffon se trompait de case.<\/td><td>Table de correspondance explicite.<\/td><\/tr>\n        <tr><td>Corona<\/td><td>Au d\u00e9marrage, les diodes d\u00e9filent pendant environ 25 secondes \u00e9mul\u00e9es ; les touches press\u00e9es pendant ce temps sont perdues.<\/td><td>Le greffon attend la fin de cette initialisation avant de commencer la partie.<\/td><\/tr>\n        <tr><td>Dallas<\/td><td>Le coup \u00e9tait d\u00e9j\u00e0 affich\u00e9 quand l&#8217;ordre d&#8217;arr\u00eat arrivait : la machine le prenait pour une nouvelle demande et jouait pour les deux camps.<\/td><td>Pas d&#8217;ordre d&#8217;arr\u00eat quand le coup est d\u00e9j\u00e0 affich\u00e9. R\u00e9serv\u00e9 au Dallas : essay\u00e9 sur les MM IV et MM V, qui affichent leur variante <em>pendant<\/em> la r\u00e9flexion, il emp\u00eachait de les arr\u00eater (le MM V est rest\u00e9 fig\u00e9 300 secondes, deux fois en cinq parties).<\/td><\/tr>\n        <tr><td>President<\/td><td>Le pilote install\u00e9, <code>prschess<\/code>, \u00e9tait le SciSys President Chess de 1982 (Kaplan), pas le President de Morsch, qui n&#8217;est pas \u00e9mul\u00e9.<\/td><td>Remplac\u00e9 le 26 octobre par le GK 2100 (Morsch, H8 \u00e0 10 MHz), jou\u00e9 sous le nom Saitek President.<\/td><\/tr>\n        <tr><td>Par Excellence<\/td><td>La version B a chang\u00e9 de nom dans MAME (<code>fexcelpb<\/code> \u2192 <code>fexcelpa<\/code>).<\/td><td>Le relais retrouve sa table de niveaux sous le nouveau nom.<\/td><\/tr>\n        <tr><td>Sparc, Maestro D++<\/td><td>Ce ne sont plus des machines \u00e0 part, mais des modules enfich\u00e9s dans la Renaissance.<\/td><td>Voir plus bas.<\/td><\/tr>\n      <\/tbody>\n    <\/table>\n  <\/div>\n\n  <h2>Le Sparc et le Maestro jouaient trop vite<\/h2>\n\n  <p>Dans le premier tournoi, le Saitek Sparc a perdu ses six parties, contre des machines qu&#8217;il bat sans peine sur le PC. Il jouait en 8 secondes l\u00e0 o\u00f9 les autres en prenaient 14. Le Maestro D++ montrait le m\u00eame d\u00e9faut. Ce sont les deux seules machines du Mac qui passent par la Renaissance de Saitek. Mesur\u00e9s seuls, \u00e0 15 secondes par coup, les deux modules r\u00e9pondaient en <strong>1,1 seconde<\/strong>. Le Par Excellence, lui, r\u00e9pondait en 5,3 secondes. Tous trois jouaient \u00e0 leur niveau par d\u00e9faut, quel que soit le temps qu&#8217;on leur donnait.<\/p>\n\n  <p>Il y avait trois causes, toutes dues \u00e0 MAME 0.289.<\/p>\n  <ol class=\"etapes\">\n    <li><strong>Le relais ne trouvait pas la table des niveaux.<\/strong> Sur le PC, MessChess avait un pilote <code>sparc<\/code> et un pilote <code>maestrodpp<\/code>. En 0.289, on lance la Renaissance en lui enfichant un module (<code>renaissa -exp sparc<\/code>). Le relais cherchait la table sous le nom <code>renaissa<\/code>, n&#8217;en trouvait pas, et ne demandait donc aucun niveau. Il lit d\u00e9sormais le module enfich\u00e9. Le Par Excellence avait le m\u00eame probl\u00e8me, sous son nouveau nom.<\/li>\n    <li><strong>L&#8217;interface ne savait plus quel module \u00e9tait enfich\u00e9.<\/strong> MessChess publiait une sortie <code>MOD<\/code> qui indiquait le module et le nombre de niveaux qu&#8217;il ajoute (32 pour le Sparc, 24 pour le Maestro). En 0.289, cette sortie existe toujours, mais vaut toujours z\u00e9ro. L&#8217;interface refusait donc tous les niveaux propres au module, sans rien signaler. C&#8217;est d\u00e9sormais le greffon, qui d\u00e9tecte le module \u00e0 coup s\u00fbr dans l&#8217;arborescence des p\u00e9riph\u00e9riques \u00e9mul\u00e9s, qui le lui indique.<\/li>\n    <li><strong>L&#8217;afficheur est devenu illisible pour le greffon.<\/strong> Pour r\u00e9gler le niveau, l&#8217;interface de la Renaissance appuyait sur Level, relisait la case allum\u00e9e, puis avan\u00e7ait case par case jusqu&#8217;\u00e0 la bonne. En 0.289, l&#8217;affichage passe par un contr\u00f4leur LCD dont les segments n&#8217;ont plus rien \u00e0 voir avec les anciennes sorties. Le niveau courant ne se relit plus. Mais la machine d\u00e9marre toujours au m\u00eame niveau, a3. Le r\u00e9glage se fait donc \u00e0 l&#8217;aveugle depuis a3 : pour le niveau d&#8217;analyse f8, Level, cinq fois Tab, cinq fois +, puis Normal.<\/li>\n  <\/ol>\n\n  <p>Comme les autres machines du laboratoire, ces trois-l\u00e0 jouent au niveau d&#8217;analyse, o\u00f9 elles r\u00e9fl\u00e9chissent sans limite, et c&#8217;est le relais qui leur fait jouer leur coup au bout de 15 secondes environ. On aurait pu pr\u00e9f\u00e9rer leur niveau \u00ab 15 secondes par coup \u00bb. Mais un temps fixe par coup se heurte \u00e0 la cadence de 60 coups en 15 minutes : pour peu qu&#8217;il d\u00e9passe ses 15 secondes \u00e0 chaque coup, la machine perd au temps vers le soixanti\u00e8me. Le relais, lui, recalcule le temps disponible \u00e0 chaque coup, si bien que la pendule ne tombe jamais.<\/p>\n\n  <div class=\"tbl-wrap\">\n    <table>\n      <thead><tr><th>Machine<\/th><th>Avant (temps par coup)<\/th><th>Apr\u00e8s (coups 2 et 3)<\/th><\/tr><\/thead>\n      <tbody>\n        <tr><td>Saitek Sparc<\/td><td class=\"taille\">1,1 s<\/td><td class=\"taille ok\">14,3 s \u00b7 14,4 s<\/td><\/tr>\n        <tr><td>Saitek Maestro D++<\/td><td class=\"taille\">1,1 s<\/td><td class=\"taille ok\">14,3 s \u00b7 14,2 s<\/td><\/tr>\n        <tr><td>Fidelity Par Excellence<\/td><td class=\"taille\">5,3 s<\/td><td class=\"taille ok\">14,5 s \u00b7 14,5 s<\/td><\/tr>\n      <\/tbody>\n    <\/table>\n  <\/div>\n\n  <div class=\"box naum-note-box\">\n    <span class=\"box-titre\">Un pi\u00e8ge de mesure<\/span>\n    Un essai d&#8217;un seul coup ne prouve rien. Le niveau se r\u00e8gle au premier coup, et la dizaine de secondes pass\u00e9e \u00e0 appuyer sur les touches est d\u00e9compt\u00e9e du temps de ce coup : le Sparc, pourtant bien r\u00e9gl\u00e9, n&#8217;a r\u00e9fl\u00e9chi que 4 secondes. Il faut en jouer au moins trois et regarder les suivants.\n  <\/div>\n\n  <h2>Pas de cutechess : un arbitre maison<\/h2>\n\n  <p>Sur le PC, les tournois passent par cutechess. Sur le Mac, c&#8217;est un petit programme \u00e9crit pour l&#8217;occasion, <code>tournoi_mac.py<\/code>, qui arbitre \u00e0 l&#8217;aide de la biblioth\u00e8que python-chess. Il tient les deux pendules (60 coups en 15 minutes, renouvel\u00e9s), v\u00e9rifie la l\u00e9galit\u00e9 de chaque coup, constate la fin de partie et \u00e9crit le PGN. Chaque partie lance ses deux machines \u00e0 neuf, puis les arr\u00eate. Huit parties se jouent en m\u00eame temps, mais jamais deux d&#8217;une m\u00eame machine : deux MAME du m\u00eame pilote se disputeraient le m\u00eame fichier de m\u00e9moire non volatile.<\/p>\n\n  <p>Une partie interrompue par la machine (muette, coup ill\u00e9gal, \u00e9mulateur arr\u00eat\u00e9) n&#8217;est pas compt\u00e9e comme perdue : elle part dans un fichier d&#8217;incidents et elle est rejou\u00e9e une fois. Une machine responsable de trois incidents est retir\u00e9e du tournoi pour la suite. Le PGN donne aux machines un suffixe \u00ab (Mac) \u00bb, pour que ces parties ne se m\u00ealent pas par erreur aux cotes \u00e9tablies sur le PC.<\/p>\n\n  <h2>La panne des \u00e9mulateurs orphelins<\/h2>\n\n  <p>Le premier soir, le tournoi a jou\u00e9 61 parties en trois heures et demie, sans accroc notable. Le lendemain matin, apr\u00e8s une nouvelle mise en route, il s&#8217;est effondr\u00e9 : <strong>2 parties termin\u00e9es et environ 36 incidents en une heure<\/strong>, presque tous du m\u00eame type. Le relais avait arr\u00eat\u00e9 une machine rest\u00e9e cinq minutes sans jouer. Cinq machines ont \u00e9t\u00e9 \u00e9cart\u00e9es les unes apr\u00e8s les autres.<\/p>\n\n  <p>Aucune machine n&#8217;\u00e9tait en cause. Quand on tue le relais, le MAME qu&#8217;il a lanc\u00e9, lui, continue de tourner, seul en arri\u00e8re-plan. La veille, interrompre le tournoi au clavier en avait laiss\u00e9 huit en marche toute la nuit. Au lancement suivant, huit nouveaux MAME se sont ajout\u00e9s aux anciens, soit seize \u00e9mulations lourdes pour les dix c\u0153urs du M1 Max. Les machines n&#8217;avaient plus assez de processeur pour rendre leur coup \u00e0 temps. Chaque arr\u00eat forc\u00e9 pouvait laisser derri\u00e8re lui un orphelin de plus, et le Mac s&#8217;enfon\u00e7ait.<\/p>\n\n  <p>Le correctif tient en trois points. \u00c0 l&#8217;interruption, le tournoi envoie d&#8217;abord <code>quit<\/code> \u00e0 chaque moteur : le relais quitte normalement et tue son MAME avant de sortir. Le lanceur supprime tout MAME rest\u00e9 d&#8217;un lancement pr\u00e9c\u00e9dent avant de commencer. Enfin, le d\u00e9lai au bout duquel on consid\u00e8re qu&#8217;une machine est fig\u00e9e repasse \u00e0 dix minutes : une machine lourde qui d\u00e9marre pendant que sept autres parties tournent peut l\u00e9gitimement mettre plusieurs minutes \u00e0 rendre son premier coup.<\/p>\n\n  <div class=\"tbl-wrap\">\n    <table>\n      <thead><tr><th><\/th><th>Avec des MAME orphelins<\/th><th>Mac nettoy\u00e9<\/th><\/tr><\/thead>\n      <tbody>\n        <tr><td>Dur\u00e9e<\/td><td class=\"taille\">1 h<\/td><td class=\"taille\">2 h<\/td><\/tr>\n        <tr><td>Parties termin\u00e9es<\/td><td class=\"taille\">2<\/td><td class=\"taille ok\">28<\/td><\/tr>\n        <tr><td>Incidents<\/td><td class=\"taille\">\u2248 36<\/td><td class=\"taille ok\">2<\/td><\/tr>\n        <tr><td>Machines \u00e9cart\u00e9es<\/td><td class=\"taille\">5<\/td><td class=\"taille ok\">0<\/td><\/tr>\n      <\/tbody>\n    <\/table>\n  <\/div>\n\n  <h2>Ce qui r\u00e9siste encore<\/h2>\n\n  <p>Trois machines restent \u00e0 l&#8217;\u00e9cart du tournoi.<\/p>\n  <ul>\n    <li><strong>Saitek Turbo King II<\/strong> : il d\u00e9marre mais ne joue pas, m\u00eame en attendant la fin de son initialisation.<\/li>\n    <li><strong>Fidelity Elite Avantgarde V9<\/strong> : elle se fige \u00e0 son deuxi\u00e8me coup quand elle a les Noirs, et annonce un coup impossible (<code>d1d8<\/code>) d\u00e8s la position de d\u00e9part quand elle a les Blancs.<\/li>\n    <li><strong>Novag Star Diamond<\/strong> : il ignore parfois l&#8217;ordre d&#8217;arr\u00eat. Il est \u00e9cart\u00e9 de la m\u00eame fa\u00e7on sur le PC.<\/li>\n  <\/ul>\n  <p>Trois machines du PC manquent tout simplement sur le Mac. Les <strong>Designer 2100<\/strong> et <strong>Designer 2000<\/strong> de Fidelity n&#8217;existent plus dans MAME 0.289 ; le <code>fdes2100d<\/code> qui s&#8217;en approche est un autre mod\u00e8le, avec afficheur, et la cote porte sur le programme du mod\u00e8le sans afficheur. Le pilote du <strong>Novag Super VIP<\/strong> n&#8217;a plus d&#8217;\u00e9chiquier \u00e0 capteurs : la machine ne se pilote qu&#8217;au clavier, ce que son module ne sait pas faire.<\/p>\n  <p>Les trente autres jouent, \u00e0 environ 14 secondes par coup.<\/p>\n\n  <h2>510 parties de tournoi<\/h2>\n\n  <p>Une fois le Mac nettoy\u00e9 de ses orphelins, le tournoi toutes rondes a tourn\u00e9 du 25 au 27 octobre : <strong>510 parties<\/strong> entre les trente machines, \u00e0 60 coups en 15 minutes, avant que le Mac ne soit r\u00e9serv\u00e9 \u00e0 d&#8217;autres essais. Il n&#8217;est pas all\u00e9 au bout : selon les machines, de 18 \u00e0 41 parties ont \u00e9t\u00e9 jou\u00e9es, et les adversaires rencontr\u00e9s diff\u00e8rent. Les pourcentages ci-dessous se comparent donc avec prudence ; ils ne sont pas des cotes.<\/p>\n\n  <div class=\"tbl-wrap\">\n    <table>\n      <thead><tr><th>#<\/th><th>Machine (Mac)<\/th><th>Score<\/th><th>%<\/th><\/tr><\/thead>\n      <tbody>\n        <tr><td class=\"taille\">1<\/td><td>Mephisto Genius 68030 London<\/td><td class=\"taille\">34 \/ 39<\/td><td class=\"taille\">87 %<\/td><\/tr>\n        <tr><td class=\"taille\">2<\/td><td>Mephisto Berlin Pro 68020<\/td><td class=\"taille\">31 \/ 36<\/td><td class=\"taille\">86 %<\/td><\/tr>\n        <tr><td class=\"taille\">3<\/td><td>Saitek Sparc (rev. 518)<\/td><td class=\"taille\">34 \/ 41<\/td><td class=\"taille\">83 %<\/td><\/tr>\n        <tr><td class=\"taille\">4<\/td><td>Novag Sapphire<\/td><td class=\"taille\">26,5 \/ 34<\/td><td class=\"taille\">78 %<\/td><\/tr>\n        <tr><td class=\"taille\">5<\/td><td>Mephisto Berlin 68000 v0.03<\/td><td class=\"taille\">21,5 \/ 29<\/td><td class=\"taille\">74 %<\/td><\/tr>\n        <tr><td class=\"taille\">6<\/td><td>Saitek RISC 2500 v1.04<\/td><td class=\"taille\">17 \/ 23<\/td><td class=\"taille\">74 %<\/td><\/tr>\n        <tr><td class=\"taille\">7<\/td><td>Fidelity Designer Mach IV<\/td><td class=\"taille\">26 \/ 36<\/td><td class=\"taille\">72 %<\/td><\/tr>\n        <tr><td class=\"taille\">8<\/td><td>Mephisto RISC II<\/td><td class=\"taille\">22 \/ 33<\/td><td class=\"taille\">67 %<\/td><\/tr>\n        <tr><td class=\"taille\">9<\/td><td>Novag Super Forte C v3.6<\/td><td class=\"taille\">20,5 \/ 32<\/td><td class=\"taille\">64 %<\/td><\/tr>\n        <tr><td class=\"taille\">10<\/td><td>Mephisto Nigel Short<\/td><td class=\"taille\">20,5 \/ 35<\/td><td class=\"taille\">59 %<\/td><\/tr>\n        <tr><td class=\"taille\">11<\/td><td>Novag Zircon II<\/td><td class=\"taille\">20,5 \/ 37<\/td><td class=\"taille\">55 %<\/td><\/tr>\n        <tr><td class=\"taille\">12<\/td><td>Fidelity Designer Mach III<\/td><td class=\"taille\">20,5 \/ 38<\/td><td class=\"taille\">54 %<\/td><\/tr>\n        <tr><td class=\"taille\">13<\/td><td>Saitek President (GK 2100)<\/td><td class=\"taille\">16,5 \/ 31<\/td><td class=\"taille\">53 %<\/td><\/tr>\n        <tr><td class=\"taille\">14<\/td><td>Mephisto Mondial 68000 XL<\/td><td class=\"taille\">20,5 \/ 39<\/td><td class=\"taille\">53 %<\/td><\/tr>\n        <tr><td class=\"taille\">15<\/td><td>Fidelity Par Excellence (B)<\/td><td class=\"taille\">17,5 \/ 36<\/td><td class=\"taille\">49 %<\/td><\/tr>\n        <tr><td class=\"taille\">16<\/td><td>Mephisto Roma 68000<\/td><td class=\"taille\">16 \/ 33<\/td><td class=\"taille\">48 %<\/td><\/tr>\n        <tr><td class=\"taille\">17<\/td><td>Mephisto Modena (set 3)<\/td><td class=\"taille\">17 \/ 37<\/td><td class=\"taille\">46 %<\/td><\/tr>\n        <tr><td class=\"taille\">18<\/td><td>Novag Super Expert C v3.6<\/td><td class=\"taille\">14 \/ 31<\/td><td class=\"taille\">45 %<\/td><\/tr>\n        <tr><td class=\"taille\">19<\/td><td>Mephisto Dallas 68000<\/td><td class=\"taille\">15,5 \/ 35<\/td><td class=\"taille\">44 %<\/td><\/tr>\n        <tr><td class=\"taille\">20<\/td><td>Saitek Maestro D++<\/td><td class=\"taille\">12 \/ 28<\/td><td class=\"taille\">43 %<\/td><\/tr>\n        <tr><td class=\"taille\">21<\/td><td>Novag Constellation Forte A<\/td><td class=\"taille\">16,5 \/ 39<\/td><td class=\"taille\">42 %<\/td><\/tr>\n        <tr><td class=\"taille\">22<\/td><td>Mephisto MM V (v5.1)<\/td><td class=\"taille\">12 \/ 30<\/td><td class=\"taille\">40 %<\/td><\/tr>\n        <tr><td class=\"taille\">23<\/td><td>Mephisto MM IV (v7.10)<\/td><td class=\"taille\">10 \/ 27<\/td><td class=\"taille\">37 %<\/td><\/tr>\n        <tr><td class=\"taille\">24<\/td><td>Mephisto Amsterdam<\/td><td class=\"taille\">10,5 \/ 30<\/td><td class=\"taille\">35 %<\/td><\/tr>\n        <tr><td class=\"taille\">25<\/td><td>Saitek Corona II (ver. D+)<\/td><td class=\"taille\">12 \/ 35<\/td><td class=\"taille\">34 %<\/td><\/tr>\n        <tr><td class=\"taille\">26<\/td><td>Saitek Simultano (ver. B)<\/td><td class=\"taille\">11 \/ 33<\/td><td class=\"taille\">33 %<\/td><\/tr>\n        <tr><td class=\"taille\">27<\/td><td>Saitek Prisma<\/td><td class=\"taille\">6,5 \/ 37<\/td><td class=\"taille\">18 %<\/td><\/tr>\n        <tr><td class=\"taille\">28<\/td><td>Tandy Chess Champion 2150<\/td><td class=\"taille\">2 \/ 18<\/td><td class=\"taille\">11 %<\/td><\/tr>\n        <tr><td class=\"taille\">29<\/td><td>Saitek Leonardo (v1.4)<\/td><td class=\"taille\">4 \/ 38<\/td><td class=\"taille\">11 %<\/td><\/tr>\n        <tr><td class=\"taille\">30<\/td><td>Saitek Turbo 16K<\/td><td class=\"taille\">2,5 \/ 33<\/td><td class=\"taille\">8 %<\/td><\/tr>\n      <\/tbody>\n    <\/table>\n  <\/div>\n  <p class=\"legende\">Tournoi CB-Emu Mac, MacBook Pro M1 Max, MAME 0.289, 25\u201327 octobre 2026. Les 17 parties jou\u00e9es par le SciSys President Chess de 1982, install\u00e9 par erreur sous le nom du President, sont exclues (0 sur 17). 143 parties interrompues par une machine ont \u00e9t\u00e9 mises de c\u00f4t\u00e9 et rejou\u00e9es.<\/p>\n\n  <p>L&#8217;ordre d&#8217;ensemble ressemble \u00e0 celui du PC : le Genius London et le Berlin Pro en t\u00eate, le Turbo 16K et le Leonardo en queue. Mais deux classements sont \u00e0 lire avec r\u00e9serve. Celui de l&#8217;Amsterdam, 24<sup>e<\/sup>, et peut-\u00eatre ceux du Dallas et du Roma, sont fauss\u00e9s par une vitesse d&#8217;\u00e9mulation trop basse, comme le montre l&#8217;\u00e9talonnage ci-dessous. Celui du Sparc, 3<sup>e<\/sup>, contredit ses r\u00e9sultats aux tests de positions, sans qu&#8217;on sache encore pourquoi.<\/p>\n\n  <h2>L&#8217;\u00e9talonnage contre le PC<\/h2>\n\n  <p>Une machine \u00e9mul\u00e9e par MAME 0.289 calcule-t-elle aussi vite que la m\u00eame machine sous MessChess ? Pour le savoir, on a repris les positions des tests BT-2450 et BT-2630 que chaque machine r\u00e9sout sur le PC en 8 \u00e0 300 secondes, et on a mesur\u00e9 sur le Mac le temps qu&#8217;il lui faut pour trouver le m\u00eame coup. Le rapport des deux temps, en m\u00e9diane, dit tout : 1, c&#8217;est la m\u00eame vitesse ; au-dessus de 1, le Mac est plus lent. Les temps de r\u00e9solution sont bruit\u00e9s, un coup pouvant \u00eatre trouv\u00e9 t\u00f4t ou tard selon l&#8217;it\u00e9ration : seul un \u00e9cart de plus de 15 % sur au moins six positions a \u00e9t\u00e9 corrig\u00e9.<\/p>\n\n  <div class=\"tbl-wrap\">\n    <table>\n      <thead><tr><th>Machine<\/th><th>Positions<\/th><th>t Mac \/ t PC<\/th><th>Verdict<\/th><\/tr><\/thead>\n      <tbody>\n        <tr><td>Mephisto Genius 68030 London<\/td><td class=\"taille\">16<\/td><td class=\"taille\">0,96<\/td><td><span class=\"ok\">conforme<\/span><\/td><\/tr>\n        <tr><td>Mephisto Berlin Pro 68020<\/td><td class=\"taille\">14<\/td><td class=\"taille\">0,99<\/td><td><span class=\"ok\">conforme<\/span><\/td><\/tr>\n        <tr><td>Mephisto RISC II<\/td><td class=\"taille\">15<\/td><td class=\"taille\">1,00<\/td><td><span class=\"ok\">conforme<\/span><\/td><\/tr>\n        <tr><td>Mephisto Berlin 68000 v0.03<\/td><td class=\"taille\">13<\/td><td class=\"taille\">1,00<\/td><td><span class=\"ok\">conforme<\/span><\/td><\/tr>\n        <tr><td>Novag Sapphire<\/td><td class=\"taille\">14<\/td><td class=\"taille\">1,00<\/td><td><span class=\"ok\">conforme<\/span><\/td><\/tr>\n        <tr><td>Fidelity Designer Mach IV<\/td><td class=\"taille\">14<\/td><td class=\"taille\">1,00<\/td><td><span class=\"ok\">conforme<\/span><\/td><\/tr>\n        <tr><td>Fidelity Designer Mach III<\/td><td class=\"taille\">10<\/td><td class=\"taille\">1,00<\/td><td><span class=\"ok\">conforme<\/span><\/td><\/tr>\n        <tr><td>Novag Zircon II<\/td><td class=\"taille\">10<\/td><td class=\"taille\">1,00<\/td><td><span class=\"ok\">conforme<\/span><\/td><\/tr>\n        <tr><td>Mephisto Nigel Short<\/td><td class=\"taille\">9<\/td><td class=\"taille\">1,00<\/td><td><span class=\"ok\">conforme<\/span><\/td><\/tr>\n        <tr><td>Novag Super Forte C v3.6<\/td><td class=\"taille\">8<\/td><td class=\"taille\">1,00<\/td><td><span class=\"ok\">conforme<\/span><\/td><\/tr>\n        <tr><td>Novag Super Expert C v3.6<\/td><td class=\"taille\">11<\/td><td class=\"taille\">1,00<\/td><td><span class=\"ok\">conforme<\/span><\/td><\/tr>\n        <tr><td>Mephisto MM V (v5.1)<\/td><td class=\"taille\">8<\/td><td class=\"taille\">1,00<\/td><td><span class=\"ok\">conforme<\/span><\/td><\/tr>\n        <tr><td>Saitek Corona II (ver. D+)<\/td><td class=\"taille\">5<\/td><td class=\"taille\">1,00<\/td><td><span class=\"ok\">conforme<\/span><\/td><\/tr>\n        <tr><td>Mephisto Mondial 68000 XL<\/td><td class=\"taille\">4<\/td><td class=\"taille\">1,00<\/td><td><span class=\"ok\">conforme<\/span><\/td><\/tr>\n        <tr><td>Mephisto Modena (set 3)<\/td><td class=\"taille\">4<\/td><td class=\"taille\">1,00<\/td><td><span class=\"ok\">conforme<\/span><\/td><\/tr>\n        <tr><td>Saitek RISC 2500 v1.04<\/td><td class=\"taille\">18<\/td><td class=\"taille\">1,17<\/td><td><strong>19 % plus lent<\/strong> : corrig\u00e9 (Speed 119 %)<\/td><\/tr>\n        <tr><td>Mephisto Amsterdam<\/td><td class=\"taille\">6<\/td><td class=\"taille\">4,52<\/td><td><strong>4,7 fois plus lent<\/strong> : corrig\u00e9 (Speed 468 %)<\/td><\/tr>\n        <tr><td>Mephisto Dallas 68000<\/td><td class=\"taille\">3<\/td><td class=\"taille\">4,69<\/td><td>m\u00eame \u00e9cart que l&#8217;Amsterdam, trop peu de positions pour corriger<\/td><\/tr>\n        <tr><td>Saitek Sparc (rev. 518)<\/td><td class=\"taille\">16<\/td><td class=\"taille\">\u2014<\/td><td>2 positions r\u00e9solues sur 16 (PC : 16)<\/td><\/tr>\n        <tr><td>Saitek Maestro D++<\/td><td class=\"taille\">6<\/td><td class=\"taille\">\u2014<\/td><td>1 position r\u00e9solue sur 6 (PC : 6)<\/td><\/tr>\n      <\/tbody>\n    <\/table>\n  <\/div>\n  <p class=\"legende\">\u00c9talonnage du 26 octobre 2026. Machines test\u00e9es sur moins de quatre positions (MM IV, Forte A, Par Excellence, Prisma, Tandy 2150, Turbo 16K, Leonardo) : pas de conclusion. Le Roma et le Simultano n&#8217;ont pas de position utilisable.<\/p>\n\n  <p>Quinze machines tombent \u00e0 1 \u00e0 quelques pour cent pr\u00e8s : pour elles, le Mac et le PC jouent la m\u00eame partie. Le RISC 2500 est 19 % plus lent sur le Mac, et l&#8217;Amsterdam <strong>4,7 fois<\/strong> plus lent. Le Dallas montre \u00e0 peu pr\u00e8s le m\u00eame \u00e9cart, sur trop peu de positions pour \u00eatre corrig\u00e9 ; le Roma, de la m\u00eame g\u00e9n\u00e9ration, n&#8217;a pas pu \u00eatre mesur\u00e9. Ce sont trois Mephisto \u00e0 68000 cadenc\u00e9 \u00e0 12 MHz : l&#8217;hypoth\u00e8se la plus simple est une horloge diff\u00e9rente dans le pilote de MAME 0.289, qui toucherait les trois. Depuis le 26 octobre au soir, le relais corrige la vitesse de l&#8217;Amsterdam et du RISC 2500 au d\u00e9marrage ; seule une huitaine de parties de l&#8217;Amsterdam et deux du RISC 2500 ont \u00e9t\u00e9 jou\u00e9es ainsi dans le tournoi.<\/p>\n\n  <div class=\"box naum-alert-box\">\n    <span class=\"box-titre\">Le cas du Sparc et du Maestro<\/span>\n    Les deux modules de la Renaissance ne r\u00e9solvent presque aucune position BT sur le Mac, alors qu&#8217;ils les r\u00e9solvent toutes sur le PC. Ce n&#8217;est pas une affaire de vitesse. Mais le Sparc finit troisi\u00e8me du tournoi avec 83 % : un programme affaibli ne ferait pas ce score. Le d\u00e9faut est donc plus probablement dans la fa\u00e7on dont le test installe les positions sur la Renaissance que dans le jeu des machines. Tant que ce n&#8217;est pas \u00e9lucid\u00e9, leurs parties restent hors des cotes.\n  <\/div>\n\n  <h2>Et les cotes ?<\/h2>\n\n  <p>Pour une quinzaine de machines, l&#8217;\u00e9talonnage autorise d\u00e9sormais \u00e0 verser les parties du Mac dans le classement commun : elles jouent sous MAME 0.289 comme sous MessChess. Il faudra en \u00e9carter l&#8217;Amsterdam et le RISC 2500 avant leur correction, le Dallas et le Roma tant qu&#8217;ils ne sont pas mesur\u00e9s, le Sparc et le Maestro tant que leur \u00e9chec aux tests n&#8217;est pas expliqu\u00e9, et bien s\u00fbr les 17 parties du President de Kaplan. D&#8217;ici l\u00e0, les parties du Mac gardent leur suffixe \u00ab (Mac) \u00bb et leur propre classement.<\/p>\n\n  <div class=\"box naum-note-box\">\n    <span class=\"box-titre\">\u00c0 suivre<\/span>\n    Mesurer le Dallas et le Roma, et leur appliquer la correction de l&#8217;Amsterdam si elle se confirme ; comprendre l&#8217;\u00e9chec du Sparc et du Maestro aux tests BT ; puis reprendre le tournoi toutes rondes pour qu&#8217;il aille \u00e0 son terme, avant de calculer des cotes sur l&#8217;\u00e9chelle du PC. Le Turbo King et l&#8217;Elite Avantgarde attendent toujours leur tour.\n  <\/div>\n\n  <p class=\"sig\">chess.lumn.eu \u00b7 laboratoire de calibration \u00b7 25 octobre 2026, mis \u00e0 jour le 3 novembre 2026<\/p>\n\n<\/article>\n","protected":false},"excerpt":{"rendered":"<p>Faire jouer les ordinateurs d&#8217;\u00e9checs de CB-Emu sur un MacBook Pro M1 Max sous MAME 0.289 : ce qui a chang\u00e9 depuis MessChess, la panne des \u00e9mulateurs orphelins, 510 parties de tournoi et un \u00e9talonnage contre le PC qui donne une quinzaine de machines conformes, mais pas toutes.<\/p>\n","protected":false},"author":1,"featured_media":4669,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"neve_meta_sidebar":"","neve_meta_container":"","neve_meta_enable_content_width":"","neve_meta_content_width":0,"neve_meta_title_alignment":"","neve_meta_author_avatar":"","neve_post_elements_order":"","neve_meta_disable_header":"","neve_meta_disable_footer":"","neve_meta_disable_title":""},"categories":[72],"tags":[],"rttpg_featured_image_url":{"full":["https:\/\/www.chess.lumn.eu\/wordpress\/wp-content\/uploads\/2026\/11\/cbemu-sur-mac-une.jpg",1800,1200,false],"landscape":["https:\/\/www.chess.lumn.eu\/wordpress\/wp-content\/uploads\/2026\/11\/cbemu-sur-mac-une.jpg",1800,1200,false],"portraits":["https:\/\/www.chess.lumn.eu\/wordpress\/wp-content\/uploads\/2026\/11\/cbemu-sur-mac-une.jpg",1800,1200,false],"thumbnail":["https:\/\/www.chess.lumn.eu\/wordpress\/wp-content\/uploads\/2026\/11\/cbemu-sur-mac-une-150x150.jpg",150,150,true],"medium":["https:\/\/www.chess.lumn.eu\/wordpress\/wp-content\/uploads\/2026\/11\/cbemu-sur-mac-une-300x200.jpg",300,200,true],"large":["https:\/\/www.chess.lumn.eu\/wordpress\/wp-content\/uploads\/2026\/11\/cbemu-sur-mac-une-1024x683.jpg",1024,683,true],"1536x1536":["https:\/\/www.chess.lumn.eu\/wordpress\/wp-content\/uploads\/2026\/11\/cbemu-sur-mac-une-1536x1024.jpg",1536,1024,true],"2048x2048":["https:\/\/www.chess.lumn.eu\/wordpress\/wp-content\/uploads\/2026\/11\/cbemu-sur-mac-une.jpg",1800,1200,false],"neve-blog":["https:\/\/www.chess.lumn.eu\/wordpress\/wp-content\/uploads\/2026\/11\/cbemu-sur-mac-une-930x620.jpg",930,620,true]},"rttpg_author":{"display_name":"valterd","author_link":"https:\/\/www.chess.lumn.eu\/wordpress\/author\/valterd\/"},"rttpg_comment":0,"rttpg_category":"<a href=\"https:\/\/www.chess.lumn.eu\/wordpress\/category\/developpements\/\" rel=\"category tag\">D\u00e9veloppements<\/a>","rttpg_excerpt":"Faire jouer les ordinateurs d'\u00e9checs de CB-Emu sur un MacBook Pro M1 Max sous MAME 0.289 : ce qui a chang\u00e9 depuis MessChess, la panne des \u00e9mulateurs orphelins, 510 parties de tournoi et un \u00e9talonnage contre le PC qui donne une quinzaine de machines conformes, mais pas toutes.","_links":{"self":[{"href":"https:\/\/www.chess.lumn.eu\/wordpress\/wp-json\/wp\/v2\/posts\/4670"}],"collection":[{"href":"https:\/\/www.chess.lumn.eu\/wordpress\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.chess.lumn.eu\/wordpress\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.chess.lumn.eu\/wordpress\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.chess.lumn.eu\/wordpress\/wp-json\/wp\/v2\/comments?post=4670"}],"version-history":[{"count":1,"href":"https:\/\/www.chess.lumn.eu\/wordpress\/wp-json\/wp\/v2\/posts\/4670\/revisions"}],"predecessor-version":[{"id":4706,"href":"https:\/\/www.chess.lumn.eu\/wordpress\/wp-json\/wp\/v2\/posts\/4670\/revisions\/4706"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.chess.lumn.eu\/wordpress\/wp-json\/wp\/v2\/media\/4669"}],"wp:attachment":[{"href":"https:\/\/www.chess.lumn.eu\/wordpress\/wp-json\/wp\/v2\/media?parent=4670"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.chess.lumn.eu\/wordpress\/wp-json\/wp\/v2\/categories?post=4670"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.chess.lumn.eu\/wordpress\/wp-json\/wp\/v2\/tags?post=4670"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}