Erste Erweiterung für den DGT Centaur verfügbar

Es war ein langer Weg, aber er hat sich gelohnt! In Zusammenarbeit mit Dirk Sommerfeld freue ich mich, allen Besitzern eines DGT Centaur ein kostenloses Upgrade präsentieren zu können. Da sich die meisten Anfragen auf das Speichern von auf dem DGT Centaur gespielten Schachpartien beziehen, wurde an dieser Lösung mit Priorität gearbeitet. Wichtig war hierbei, dass jeder seinen DGT Centaur ohne großen Aufwand mit dem Upgrade erweitern kann.

DGT Centaur Entwicklung

Mit Dirk Sommerfeld bin ich bei mehreren Telefonaten verschiedene Lösungswege durchgegangen. Ganz klarer Favorit war hierbei das Speichern von Partien auf einem USB-Stick. Bei meinem Prototypen hatte ich das Speichern von Partien bereits umgesetzt, jedoch stellte sich schnell heraus, dass die Software der Verkaufsversion des DGT Centaur um Einiges anders (abgespeckter) ist, als die des DGT Centaur Prototypen.

Nun war Dirk jedoch in seinem Element. Dreh- und Angelpunkt war die auf dem DGT Centaur kodierte Datei chessgame1_2.dat. Mit viel Know How konnte diese Datei dekodiert werden.

DGT Centaur Datendatei

Dekodierter Inhalt der chessgame1_2.dat Datei

Darin enthalten ist unter anderem auch die Endstellung der zuletzt gespielten Partie. Hierbei ist es nicht relevant, ob die Partie bis zum Matt gespielt wurde. Möchte man beim Centaur eine angefangene Partie zu einem späteren Zeitpunkt fortsetzen und schaltet den DGT Centaur aus, liest der DGT Centaur u.a. diese Infos nach dem Einschalten aus der Datei heraus. Erwähnen muss ich an dieser Stelle, dass alleine für diese Dekodierung enormes Wissen an Reverse Engineering notwendig ist. Dirk Sommerfeld gehörte schon in den 90ern zur Elite. 😉

Hat Dirk einmal Blut geleckt, lässt er nicht mehr los. Es ist ihm schließlich gelungen, die bei einem DGT Centaur zuletzt gespielte Partie mit allen Zügen zu extrahieren.

DGT Centaur Partie Züge

Ausschnitt der gespeicherten Partiezüge im DGT Centaur

Mit diesen Zug-Daten ist es nun ein Leichtes, eine PGN-Datei zu erstellen und zu speichern. Wer nun denkt, dass man jetzt einfach einen USB-Stick anschließt und die PGN-Datei dort speichern kann, irrt. Bei der Verkaufsversion des DGT Centaur ist der Linux-Kernel dermaßen kastriert, dass tatsächlich nur die Operationen funktionieren, welche für den Betrieb des „normalen“ DGT Centaur notwendig sind. Einmal mehr hat sich Dirk reingenkniet, den Kernel auseinandergenommen, analysiert und alle Notwendigkeiten nachgeschossen. 😉

Bei der Analyse kam unter anderem auch zum Vorschein, dass der DGT Centaur neben der Version 3.6 auch auf die Version 3.5 der Python-Bibliothek zugreift. Interessant ist hierbei, dass beim DGT Centaur diese Version der Python-Bibliothek nicht enthalten ist, weshalb man davon ausgehen kann, dass diese beim Starten des DGT Centaur aus einem Image nachgeladen wird. Dies erklärt auch, warum es mir möglich ist, die verschlüsselten Python-Dateien im laufenden Betrieb zu unterbrechen und auf den unverschlüsselten Python-Code zuzugreifen.

Nachdem Dirk nun das Mounten und beschreiben eines USB-Sticks über den USB-Ausgang des im DGT Centaur befindlichen Raspberry Pi Zero ermöglicht hat, ging es jetzt darum, den richtigen Zeitpunkt zu finden, um die PGN zu generieren und auf den USB-Stick zu schreiben. Zunächst sollte dies dann geschehen, wenn der Anwender bei angeschlossenem USB-Stick den DGT Centaur ausschaltet. Hierbei offenbarte sich aber, dass der DGT Centaur beim Ausschalten nicht wie ein reguläres Betriebssystem herunterfährt, sondern nach ein paar Sekunden einen harten CUT macht. Durch einen Shutdown eingeleitete und auszuführende Operationen werden schlicht ignoriert und nicht bis zum Ende abgearbeitet.

Dirk hatte aber auch für dieses Problem die passende Lösung. Die PGN wird „einfach“ beim Neustart des DGT Centaur auf den USB-Stick geschrieben. 🙂

Das Resultat kann sich sehen lassen, wie Dirk in folgendem Video aufzeigt:

Kommen wir nun zu dem wichtigsten Punkt bei solchen Entwicklungen > Die Usability! Die Erweiterung sollte von Anfang an für jeden Besitzer eines DGT Centaur so einfach wie möglich umzusetzen sein. Dirk ist dies perfekt gelungen! Man benötigt nur eine SD-Karte mit 16 Gigabyte Speicher, auf welcher man das modifizierte DGT Centaur Image schreibt. Anschließend legt man den USB-Port des DGT Centaur am Gehäuse frei, verbindet einen USB-Adapter an welchem sich der USB-Stick befindet und fertig. Mehr muss man nicht machen.

Wie im Video gezeigt, kann man nun durch aus- und anschließendem Einschalten des DGT Centaur Partien auf dem USB-Stick speichern. Jede Partie wird in einer separaten, nach oben nummerierten, PGN-Datei gespeichert. Kurz wurde auch die Möglichkeit besprochen, dass man alle Partien auch einfach in eine PGN-Datei speichern könnte, aber für den Endanwender ist die weitere Bearbeitung und Verwendung einer Partie einfacher, wenn pro Partie eine separate PGN-Datei angelegt wird. So braucht man beispielsweise zum Analysieren der gespielten Partie nur die PGN-Datei ins Lichess-Analysefenster ziehen.

Eine weitere Besonderheit möchte ich an dieser Stelle nicht unerwähnt lassen. Die modifizierte DGT Centaur SD-Karte hat keine Hardware-Bindung und läuft in jedem Raspberry Pi!

Ich werde in diesem Artikel in Kürze einen kostenlosen Download-Link für das DGT-Centaur-SD-Karten-Image bereitstellen und alle DGT-Centaur-Besitzer in meiner Mod-Liste anschreiben. Das USB-Adapterkabel stelle ich jedem in der Liste als kleines Geschenk kostenlos zur Verfügung. All denjenigen, welche diesen Umbau nicht selbst vornehmen möchten, biete ich den kompletten Umbau kostenlos an. In diesem Fall bleibt dann auch die Garantie bestehen. 🙂

Update 05-06-2021:

Das Image (für DGT Centaur welche ab 2020 produziert wurden) kann über folgenden Link heruntergeladen werden:

DGT Centaur DS TS Edition V0.99 (546 Downloads)

Wichtiger Hinweis! Das Image wurde erfolgreich bei DGT Centaur Schachcomputern der Baureihe nach 2020 getestet. Für DGT Cenatur Schachcomputer, welche vor 2020 produziert wurden, werde ich in Kürze ein separates Image als Download anbieten. Die Verwendung des Images erfolgt auf eigene Gefahr. Wer zwei linke Hände hat, kann mich gerne kontaktieren und ich werde den Umbau vornehmen. In diesem Fall bleibt auch die Garantie des DGT Centaur erhalten. Noch ein Tipp! Nach dem Öffnen des DGT Centaur sollte man als Erstes das Akkukabel von der Platine trennen (einfach rausziehen) und darauf achten, dass man nicht elektrostatisch aufgeladen ist. 😉

Update 07-06-2021:

Das Image (für DGT Centaur welche bis 2020 produziert wurden) kann über folgenden Link heruntergeladen werden:

DGT Centaur DS TS Edition v0.99 für DGT Centaur vor 2020 (454 Downloads)

Hier eine kurze Erklärung, warum es zwei Images gibt. Bei den DGT Centaur Schachcomputern, welche ab 2020 hergestellt wurden, werden andere Display-Treiber verwendet. Auch gibt es diverse Unterschiede im Aufbau des Systems. Bei zukünftigen Erweiterungen wird es daher auch wieder zwei Images geben.

Zusammen mit Dirk gehen wir in Kürze dann auch die Online-Geschichte beim DGT Centaur an. Meine bereits vorhandene Umsetzung mit dem DGT Centaur Prototyp soll in die Verkaufsversion einfließen. Zwar muss hierzu muss der modifizierte Kernel nochmals erweitert werden, aber ich bin guter Dinge, dass die Umsetzung dieses Schritts mit der Kompetenz von Dirk zügig realisiert werden kann. Hierzu aber später mehr.

Bis bald

Euer Benny

WhitePawn-App für DGT-Sets – Ab sofort mit DGT 3000 Schachuhr Unterstützung

WhitePawn App

Bei der WhitePawn-App wurden weitere Fortschritte gemacht. In folgendem Video zeigt Khadim, wie man die DGT 3000 Schachuhr mit dem Brett und der WhitePawn-App verwenden kann:

Folgende neuen Features wurden mit der Version 1.03 veröffentlicht:

* Integrierung der DGT3000 Schachuhr
* Automatisches Erkennen der Brettausrichtung
* Verbesserte Kompatibilität mit kleineren Displays
* Verbesserte Synchronisation mit der Schachuhr
* Bei Bedarf, öffnet sich im Browser automatisch die Lichess-Konfigurationsseite

Die WhitePawn-App ist werbefrei und kostenlos unter folgendem Link für iOS und Android verfügbar:

https://khadimfall.com/p/white-pawn

Mehr Infos zur App:

https://schach.computer/whitepawn-die-kostenlose-und-werbefreie-ios-android-app-fuer-dgt-sets/

Viel Spaß mit den neuen Features und bis bald

Euer Benny

DGT Centaur – Partien als PGN extrahieren

Kleines Update zur DGT Centaur Modifikation 😉

Bis bald

Euer Benny

Komodo Dragon 2 – Schuster, bleib bei Deinen Leisten!

Bevor es um Komodo Dragon 2 geht, möchte ich ein paar Sätze über die vorangegangenen Komodo-Versionen schreiben. Die Komodo-Schachengine ist bekannt für ihren etwas anderen Spielstil. Während Engines wie Stockfish Schachpartien mit klinischer Sauberkeit abliefern, spielt Komodo vergleichsweise ziemlich menschlich. Das macht diesen Schachmotor gerade zum Selbstspielen interessant. Limitiert man bei Komodo die Bedenkzeit pro Zug auf eine Sekunde, bekommt man einen recht witzig spielenden angenehmen Gegner.

Komodo Dragon 2

Komodo Dragon 2 ist die aktuellste Entwicklungsstufe der Komodo-Engine und will mit dem Untertitel „Neural Network Chess Evaluation“ auf den AI-Trend aufspringen. Die wichtigste Info vorab: Die Komodo Dragon 2 Engine kommt an die Spielstärke einer kostenlosen Stockfish 13 Engine nicht heran. Die Spielstärke war in der Vergangenheit auch nie der Grund, warum man sich Komodo zugelegt hat. Es war wie gesagt, der Spielstil.

Wie bei Stockfish 13, greift auch der neue Komodo bei der Auswahl seiner Züge auf eine Bewertungstabelle zu. Diese wurde laut Hersteller durch !zahllose! ultraschnelle Partien erzeugt. Die Idee dahinter klingt plausibel. Komodo zeigte in der Vergangenheit gerade bei kurzen Bedenkzeiten eine gute Spielstärke. Während andere Engines seinerzeit erst noch in Fahrt kommen mussten, war Komodo schnell auf Topspeed mit guten Ergebnissen.

Diese Eigenschaft hatte aber auch einen Makel. Um dies zu verdeutlichen, vergleichen wir die verschiedenen Engines einfach mit Autos. Das Komodo-Auto hat eine Höchstgeschwindigkeit von 120 km/h und schafft es diese Höchstgeschwindigkeit innerhalb von 2 Sekunden aus dem Stand zu erreichen. Stockfish hingegen hat eine Höchstgeschwindigkeit 300 km/h, benötigt aber alleine 4 Sekunden, um auf 120 km/h zukommen. Auf kurzen Strecken war Komodo ziemlich gut, aber bei längeren Strecken wurde Komodo schnell schon Stockfish abgehängt. Dieser Vergleich bezieht sich auf ältere Versionen von Komodo und Stockfish.

Ich kann mich noch gut an Engine-Kämpfe zwischen Komodo und Stockfish erinnern, in welchen Komodo bei beidseitiger Zeitnot in ausgeglichener Stellung am Ende den vollen Punkt holen konnte. Hier bemerkte man den Vorteil von Komodo, mit kurzer Bedenkzeit gute Entscheidungen zu treffen.

Das ist allerdings schon ein paar Jährchen her. Spätestens mit Version 13 hat Stockfish den Vorteil von Komodo auf kurzen Strecken egalisiert und dies ist auch bei der aktuell vorliegenden Komodo Dragon 2 der Fall. Sowohl in Bulletpartien, als auch in Partien mit langer Bedenkzeit, hat Stockfish 13 klar die Nase vorn. Umso mehr verwundert es mich, dass dieser neue Komodo mit folgender Aussage in der Produktbeschreibung beworben wird:

„Die Standard- Version dagegen erwartet vom Gegner stets bestmögliches Spiel und ist daher insbesondere im Fernschach klar erste Wahl.“

Wenn einem das Ergebnis einer Fernschachpartie egal ist und man spannende Partien haben möchte, kann man diesen Satz unterschreiben. Erfolgsorientierte Fernschachspieler sollten sich genau überlegen, ob sie den Empfehlungen dieser Engine folgen.

Ausgeliefert wird Komodo Dragon 2 mit zwei Engines. Hier ist zum Einen die Standard-Engine enthalten, welche die gleiche Technik (Bewertungstabellen) wie beispielsweise Stockfish 13 verwendet und zum Anderen die sog. MCTS (Monte Carlo Tree Search)-Engine.

Welche Vor- und Nachteile diese etwas andere Suchtechnik hat, kann in meinem kurzen Test von Komodo 14 nachgelesen werden:

Komodo 14 – Die etwas andere Schachengine

Bei der MCTS (Monte Carlo Tree Search)-Analyse wird eine beliebige Stellung im Bruchteil weniger Sekunden mehrere tausend Mal im Hintergrund zu Ende gespielt. Die hieraus resultierenden Ergebnisse fließen in die abschließende Bewertung einer Stellung ein und welche Fortsetzung aus sich der MCTS-Engine als die beste erscheint. Bei Komodo 14 konnte dieses Feature noch nicht überzeugen, da die Ergebnisse mit der Qualität einer Stockfish-Analyse nicht mithalten konnte.

Zwar hat die Qualität der MCTS-Analysen mit Komodo Dragon 2 ordentlich zugenommen, aber noch immer hinkt diese Engine einer reinen Stockfish 13 Analyse hinterher. Es ist richtig, dass man mit der MCTS-Engine ziemliche viele Fortsetzungen in einer Stellung gleichzeitig analysieren kann und dies auch schneller als mit Stockfish 13, aber am Ende ist nicht die Masse entscheidend, sondern die Klasse. Und hier kann leider auch der neuste Komodo nicht mit Stockfish 13 gleichziehen.

Schuster, beib bei Deinen Leisten!

Komodo hat schon immer Spaß gemacht und es ist eine der wenigen Engines, gegen die man selbst als Mensch noch gerne spielt, auch wenn man verliert. Das Kombinations- und Positionsspiel von Komodo erzeugt Freude und Staunen. Dem Spiel von Komodo haftet genau dieser kleine Dreck an, der Heavy-Metal-Musik zu dem macht was sie ist. Jeder der mal in diesem Genre Musik gemacht hat kennt den Spruch „Da muss mehr Dreck in Deine Stimme!„.

Mit genau dieser Eigenart hätte man Komodo bewerben können. Stattdessen wird auf Mainstream-Trends gesetzt und Komodo Dragon 2 als Analysewerkzeug angepriesen, obwohl es hierzu bessere Engines gibt, welche zudem auch noch kostenlos sind.

Als GUI (Programmoberfläche) liefert Chessbase die aktuelle Fritz 17-GUI mit. 

Am Ende des Tages stellt sich die Frage, ob man die 99,90€ in den neuen Komodo anlegen soll oder nicht. Für mich persönlich hat Komodo Dragon 2 keinen wirklichen Mehrwert gegenüber den Vorgängerversionen. Aus diesem Grund lautet meine Empfehlung, sich einfach eine der Vorgängerversionen kostenlos bis günstig zu besorgen. Um das zu bekommen was Komodo ausmacht, braucht man nicht die neuste Version.

Wer trotzdem zugreifen möchte, kann die Version mit Fritz 17-GUI unter folgendem Link bestellen:

https://www.topschach.de/komodo-dragon-p-4234.html

Wer lediglich die beiden Komodo Dragon 2 Engines (MCTS & Standard) haben möchte, wird auf der offiziellen Komodo-Webseite fündig:

https://komodochess.com/

Dort wird auch die Version 12 von Komodo als kostenloser Download angeboten.

Komodo 12 Free

https://komodochess.com/dragon-2.htm

Bis bald

Euer Benny

DGT Magic Pieces – Die mysteriösen Schachfiguren

Dem einen oder anderen Software-Entwickler ist die in der Schnittstellen-Spezifikation der DGT Treiber vorhandene Deklarierung der sog. DGT Magic-Pieces bestimmt schon aufgefallen. Wirklich anfangen konnten die Wenigsten damit und so entwickelten sich diverse Urban Legends rund um diese magischen Figuren.

Hier die Lösung des Rätsels. 🙂

Bei den DGT Magic Pieces handelt es sich um drei Holz-Zylinder, in welchen wie bei den normalen DGT Schachfiguren, Frequenzspulen im Sockel eingebaut sind.

DGT Magic Pieces

Ursprünglich plante die Firma DGT, alle Schiedsrichter bei live übertragenen Turnieren mit diesen drei Holz-Zylindern auszustatten, um bei beendeten Partien direkt am DGT-Brett die Ergebniseingabe durchzuführen. Nahm der Schiedsrichter den schwarzen Holz-Zylinder und setzte ihn kurz auf ein beliebiges Feld auf dem Brett, wurde ein Schwarzsieg als Ergebnis der Partie eingetragen. Beim weißen Zylinder ein Sieg von Weiß und beim Schwarz/Weiß-Zylinder ein Remis.

Dieses Feature ist auch heute noch bei allen DGT-Brettern enthalten, jedoch ist man seit vielen Jahren dazu übergegangen, das Ergebnis mittels der sowieso in jedem DGT-Figurenset enthaltenen beiden Könige zu übertragen. Jeweils einen König auf die beiden zentralen Weißfelder gestellt, und als Ergebnis wird ein Sieg für Weiß übertragen.

Die Ergebnis-Übertragung mittels der drei Holz-Zylinder kam nur bei wenigen Turnieren zum Einsatz und es wurden auch nur eine Handvoll davon zum Testen hergestellt. Für Software-Entwickler sind diese Zylinder dennoch sehr interessant, da man dadurch neben den üblichen Schachfiguren und Bauern, drei zusätzliche „Figuren“ hat, auf welche ein DGT Brett reagiert.

Im Rabbit-Plugin-Treiber erscheinen die Zylinder im Form eines Kreises mit entweder schwarzer, weißer oder schwarzweißer Füllung, sobald man diese auf dem DGT Brett auf ein Feld stellt.

Bis bald

Euer Benny

WhitePawn – Die kostenlose und werbefreie iOS/Android App für DGT-Sets

Was der Münchner Khadim Fall innerhalb kürzester Zeit auf die Beine gestellt hat, kann sich sehen lassen. Ausgestattet mit einem USB Rosenholz DGT Set, machte er sich ans Werk. Anfang Mai war es dann auch soweit. Die WhitePawn-App ist online und dies im wahrsten Sinne des Wortes. Ab sofort können Besitzer von DGT Sets mit dieser App online gegen Schachfreunde spielen, welche entweder ebenfalls die App installiert haben, oder direkt über den Lichess-Schachserver.

WhitePawn DGT App

Im Gegensatz zu vergleichbaren Apps anderer Hersteller, ist die WhitePawn-App komplett kostenlos, werbefrei und verlangt auch keine unnötige Standort-Freigabe. 😉 Neben dem Onlinespiel, welches auch das Chatten mit dem Gegner erlaubt, kann man mit der App auch offline gegen Engines die Klingen kreuzen. Ein interessantes Feature ist der Clock-Mode. Bei diesem Modus steht einem eine Schachuhr im Display zur Verfügung, welche man nach seiner Zugausführung drücken muss. Während den Corona-Einschränkungen und reinem Onlinespiel am Monitor, ein tolles Erlebnis! 🙂

WhitePawn DGT App

Sowohl die Verbindung zu Lichess, als auch die Verbindung zum DGT-Brett gehen mit ein paar Klicks sehr einfach von der Hand. Den hierzu erforderlichen Treiber hat Khadim Fall komplett selbst programmiert und stellt den Quellcode sowohl für iOS, als auch für Android kostenlos unter folgendem Link für alle Entwickler zur Verfügung:

https://pub.dev/packages/dgtusb

Auch wenn es bei meinen Tests zu keinen Fehlern kam und alles schnell und reibungslos funktionierte, sind Fehler nicht ausgeschlossen. Wer Feedback geben möchte, kann Khadim Fall über die Kontaktdaten auf seiner Webseite kontaktieren:

https://khadimfall.com/p/white-pawn

Selbstverständlich kann die App auch ohne DGT-Set verwendet werden, aber da macht es dann auch nur halb so viel Spaß.

Die iOS-Version der App kann unter folgendem Link heruntergeladen werden:

https://apps.apple.com/app/id1559535513#?platform=iphone

Die Android-Version steht unter folgendem Link zum Download bereit:

https://play.google.com/store/apps/details?id=im.khad.white_pawn

Hier eine kleine Video-Einführung in die WhitePawn-App:

Selbstverständlich werden wir Khadim Fall bei seinen weiteren Entwicklungen tatkräftig unterstützen. Jetzt erstmal viel Spaß mit dieser tollen neuen App und gute Partien. 😉

Bis bald

Euer Benny

Kleines Update:

Die Konnektivität zu iOS-Geräten wird aktuell noch überarbeitet. Ebenso die Verbindung per Bluetooth an DGT-Sets. Auch wird an der Einbindung der DGT 3000 Schachuhr zur Zug- und Zeitanzeige gearbeitet. Die nächsten Updates sind vielversprechend. 

Update 18.05.2021:

Ab sofort steht die Version 1.03 der App zum Download bereit. Wer die WhitePawn-App bereits installiert hat, kann das Update einspielen. Neu hinzugekommen ist nun die Einbindung der DGT 3000 Schachuhr zur Anzeige der Bedenkzeiten und der vom Gegner ausgeführten Züge. Hier die komplette Feature-Liste des Updates:

* Added DGT3000 integration
* Added Auto Orientation Detection
* Improved compatibility for small screens
* Improved clock accuracy
* Lichess Authentication opens in system Browser