Hi Mychess,
I've now tested your patch (with level AT 4) and after a few games it seems to work - it's not falling back to blitz mode anymore.
But of course it would take a lot of further testing to determine whether the Sapphire actually sticks to the set times, especially without knowing what exactly your additional code is doing.
Since I don't speak this H8 language and therefore can't analyze this code, it would be nice if you could give a short explanation of what exactly you did.
Weiter auf Deutsch:
Falls jemand diesen Sapphire-Patch von Mychess für die fehlerhaften AT-Stufen testen möchte - ich hab eine spezielle MessNew-Version dafür gemacht, wo man im Tab-Menü unter 'BIOS Selection' zwischen den ROM-Versionen 'original' und 'modified' (von Mychess) wählen kann.
Um das zu vereinfachen, findet ihr im Anhang eine 'Sapphire_Testversion', die man nur ins MessNew-Verzeichnis entpacken braucht. Da ist bereits alles auf diese 'modified'-Version voreingestellt (z.B. auch fix_AT_level_bug = false im Plugin gesetzt), sodaß beim Aufruf des Sapphire mit MessChess (bzw. WinBoard oder Arena) man automatisch mit der von Mychess gepatchten Version spielt und damit testen kann, ob die AT-Stufen nun wirklich funktionieren - nur den zum Testen gewünschten AT-Level muß man natürlich einstellen.
Auf den ersten Blick sieht es jedenfalls gut aus.
Edit: Link entfernt, da dieser modifizierte Sapphire in der aktuellen CB-Emu-Version bereits enthalten ist - allerdings muß er nun selbst in 'File > Show Tab Menu > BIOS Selection' ausgewählt werden.
Und bei Verwendung mit MessChess (bzw. WinBoard oder Arena) muß man bei Verwendung von AT-Stufen selbst im Plugin 'sapphire.lua' auf 'fix_AT_level_bug = false' umstellen.
Grüße,
Franz