Ich habe mal wieder eine Aufgabe für unseren Mathematik-Professor Franz.
Der Novag VIP hört immer nach 56 Zügen (112 Halbzügen) auf zu arbeiten. Wenn man sich die beiden ausgelesenen RAM-Adressen (von = 0x431b, bis = 0x438b) anschaut, scheint für mich das Problem auch einleuchtend. Es liegen zwischen Anfangs- und End-Byte 0x70 (= 112) Bytes, so dass es nach 112 Bytes zu einem Konflikt kommt, weil die count-Variable nach jedem Zug erhöht wird.
Die mathematischen Formeln, die du in der Funktion interface.is_selected eingebaut hat, übersteigen leider meinen Horizont. Vielleicht kannst du dir das bei Gelegenheit mal ansehen. Ein Beispel-pgn habe ich angehängt.
Grüße
Dieter