Schachcomputer.info Community

Zurück   Schachcomputer.info Community > Computerschach / Computer Chess: > Mess Emu & andere Emulationen / Mess Emu and other Emulations


Antwort
 
Themen-Optionen Ansicht

  #1  
Alt 09.06.2025, 18:34
Benutzerbild von Mychess
Mychess Mychess ist offline
Mephisto Amsterdam
 
Registriert seit: 07.03.2009
Beiträge: 117
Bilder: 3
Abgegebene Danke: 189
Erhielt 234 Danke für 99 Beiträge
Member Photo Albums
Aktivitäten Langlebigkeit
7/20 16/20
Heute Beiträge
1/3 ssssss117
THE PATCH FOR ALL CHESS COMPUTERS WITH H8 BUG

Hi,

The H8 bug is present in many chess computers from Saitek (since 1997, 28 years!):

Saitek Talking Chess Academy
Saitek Cosmos
Saitek Centurion
Saitek Cougar
Saitek Challenger
Saitek Expert Travel
Saitek Explorer Pro and Pewatronic Explorer Pro.


I began to work on it end of march with Cougar on Mame.
I first found the fun bug and fixed it in the first hour (Fun bug and H8 bug are not related).

I wrote the second week a "bizarre" as comment to the line generating the bug, but I moved on.
After checked the move generator and the very complex time management (partially because very scattered code) without result,
I found the origin of the H8 bug and I coding the patch may 28 for Cougar/Centurion (same rom).
This patch is 50% more long than the patch for AT time level for the Emerald Classic Plus, so it is necessary to change ... 3 bits!

Since I have fully understood the origin of the bug, I can confidently guarantee that this patch will fix all other chess computers
with the H8 bug (after finding the right offsets), and this without even having seen their program yet.

This bug stop quickly the search when a piece in h8 (necessary condition but not sufficient), so always be suspicious when the computer
reply with a bizarre move from h8 in less than 2 seconds.
Another point confirmed : the bugged code is not used with checkmate levels.

The patch for the H8 bug and Fun bug together (only for Cougar/Centurion, as no others roms are available):
Code:
           3288 : 6b01 fe60 1c19 
           505e : 5a00 66d0                                    
           66d0 : 7f 52 72 60 41 50 7f 52 72 70 5a 00 50 62   
           
           New checksums are F9E68C6079F821A667A5CABECBDFCD6C01293AE7    F28806F7
The understanding of the bug give a solution (but with wasted time) for the bug with a real chess computer (or emulation without patched rom).
if no castling is possible, you can translate the position with a vertical symetry (h8 to a8, h7 to a7..) with the same color for pieces and
color to move, without a piece of the color to play in h8 (formerly in a8).
If this is the case or castling exist, the last solution is to create the same position with color of pieces and color to move exchanged (so a white queen in
h8 become a black queen in a1).

To Saitek : Now you can make new chess computers without H8 bug ;-)


Cordialy,

mychess.

Geändert von Mychess (09.06.2025 um 18:46 Uhr)
Mit Zitat antworten
Folgende 16 Benutzer sagen Danke zu Mychess für den nützlichen Beitrag:
Chessguru (09.06.2025), ferribaci (10.06.2025), fhub (09.06.2025), Fluppio (10.06.2025), kamoj (10.06.2025), Lucky (10.06.2025), Mark 1 (09.06.2025), mclane (10.06.2025), MichaelN (10.06.2025), paulwise3 (10.06.2025), Robert (10.06.2025), Roberto (10.06.2025), Techtueftel (10.06.2025), Tibono (09.06.2025), udo (11.06.2025), Wolfgang2 (10.06.2025)
  #2  
Alt 09.06.2025, 19:12
Mark 1 Mark 1 ist offline
TASC R40
 
Registriert seit: 27.09.2006
Beiträge: 519
Abgegebene Danke: 871
Erhielt 351 Danke für 189 Beiträge
Aktivitäten Langlebigkeit
3/20 18/20
Heute Beiträge
2/3 ssssss519
AW: THE PATCH FOR ALL CHESS COMPUTERS WITH H8 BUG

Hallo Mychess..

Mein Englisch ist nicht so gut , daher schreibe ich in Deutsch.
Habe da eine Frage...
Wäre es dann auch möglich, dem Mark 3 die Rochade erneut beizubringen, nachdem eine korrekte Stellung eingegeben wurde?

Viele Grüße
Mark 1
Mit Zitat antworten
  #3  
Alt 09.06.2025, 19:40
fhub fhub ist offline
Lebende Foren Legende
 
Registriert seit: 19.04.2010
Beiträge: 2.879
Abgegebene Danke: 578
Erhielt 6.999 Danke für 1.581 Beiträge
Aktivitäten Langlebigkeit
9/20 15/20
Heute Beiträge
1/3 sssss2879
AW: THE PATCH FOR ALL CHESS COMPUTERS WITH H8 BUG

Hi Mychess,
 Zitat von Mychess Beitrag anzeigen
The patch for the H8 bug and Fun bug together (only for Cougar/Centurion, as no others roms are available):
...
great job - a lot of work for only 3 bits!

Question 1: we have many H8 engines in CB-Emu - don't any other of these engines (apart from Centurion/Cougar) have this H8 bug?

Question 2: there's a difference in the Fun level bugfix between the 2 versions you've posted in your first thread and today:
66d0 : 7F 52 72 60 41 62 7F 52 72 70 5A 00 50 62 (from 31.03.2025)
66d0 : 7f 52 72 60 41 50 7f 52 72 70 5a 00 50 62 (from today)
So which one is correct?

Regards,
Franz
__________________
Meine Webseite: https://fhub.jimdofree.com/
Mit Zitat antworten
Folgende 3 Benutzer sagen Danke zu fhub für den nützlichen Beitrag:
kamoj (10.06.2025), mclane (09.06.2025), Mychess (10.06.2025)
  #4  
Alt 10.06.2025, 00:15
Benutzerbild von Mychess
Mychess Mychess ist offline
Mephisto Amsterdam
 
Registriert seit: 07.03.2009
Beiträge: 117
Bilder: 3
Abgegebene Danke: 189
Erhielt 234 Danke für 99 Beiträge
Member Photo Albums
Aktivitäten Langlebigkeit
7/20 16/20
Heute Beiträge
1/3 ssssss117
Re: THE PATCH FOR ALL CHESS COMPUTERS WITH H8 BUG

Hi Fhub,


Question 1 : The list of computers with H8 bug come from Spacious-Mind : https://hiarcs.net/forums/viewtopic.php?f=1&t=6021,
so no doubt !

Question 2 : Both are correct, this byte is a dummy byte for checksum control when you power on the computer.
In the new version, it is modified to take account of the patch for H8 bug.

Code:
patch for H8 bug   :  3288 : 6b01 fe60 1c19
patch for Fun bug  :  505e : 5a00 66d0                                    
                      66d0 : 7f 52 72 60 41 50 7f 52 72 70 5a 00 50 62


Cordialy,

mychess
Mit Zitat antworten
Folgende 3 Benutzer sagen Danke zu Mychess für den nützlichen Beitrag:
fhub (10.06.2025), kamoj (10.06.2025), Tibono (10.06.2025)
  #5  
Alt 10.06.2025, 08:46
CC 7 CC 7 ist offline
Fidelity Elite Avantgarde 68060
 
Registriert seit: 10.12.2004
Land:
Beiträge: 406
Abgegebene Danke: 0
Erhielt 445 Danke für 201 Beiträge
Aktivitäten Langlebigkeit
5/20 20/20
Heute Beiträge
1/3 ssssss406
AW: THE PATCH FOR ALL CHESS COMPUTERS WITH H8 BUG

 Zitat von fhub Beitrag anzeigen
Question 1: we have many H8 engines in CB-Emu - don't any other of these engines (apart from Centurion/Cougar) have this H8 bug?

Regards,
Franz
Here my little list concerning the H8-Bug

H8-Bug
Centurion
Cosmos
Cougar
Mephisto Chess Challenger (Admiral)
Mephisto Explorer Pro
Mephisto Expert Travel Chess
Mystery

No H8-Bug
Gk 2100
Saitek Präsident/President
Saitek Travel Champion 2100
Saitek Brute Force Modul
MM VI
RadioShack Champion 2250XL
Mephisto Schachakademie

Mephisto Talking Chess Academy ?

I still have a question mark over Mephisto Talking Chess Academy by Saitek.
Talking Chess Academy is actually very close related to Mephisto Schachakademie, so there shouldn't be a H8-Bug.

On the other hand I once read somewhere, that the Talking Chess Academy from Saitek supposedly does have the H8-Bug.
Does anyone know exactly what is right here ?

Greetings
Hans-Jürgen
Mit Zitat antworten
Folgende 3 Benutzer sagen Danke zu CC 7 für den nützlichen Beitrag:
fhub (10.06.2025), kamoj (10.06.2025), Mychess (10.06.2025)
  #6  
Alt 10.06.2025, 14:05
fhub fhub ist offline
Lebende Foren Legende
 
Registriert seit: 19.04.2010
Beiträge: 2.879
Abgegebene Danke: 578
Erhielt 6.999 Danke für 1.581 Beiträge
Aktivitäten Langlebigkeit
9/20 15/20
Heute Beiträge
1/3 sssss2879
AW: Re: THE PATCH FOR ALL CHESS COMPUTERS WITH H8 BUG

Hi Mychess,
 Zitat von Mychess Beitrag anzeigen
Question 2 : Both are correct, this byte is a dummy byte for checksum control when you power on the computer.
In the new version, it is modified to take account of the patch for H8 bug.
ok, but there's still one thing that I don't understand with your Fun-level bugfix:
66d0 : 7f 52 72 60 41 50 7f 52 72 70 5a 00 50 62
I've disassambled the code at this address with the debugger and got:
Code:
66D0: 7F52 7260 bclr    #6, @h'ff52
66D4: 4150      bf      h'6726
66D6: 7F52 7270 bclr    #7, @h'ff52
66DA: 5A00 5062 jmp     h'5062
Since I don't understand H8 assembly code I've searched the Internet for the H8 instruction set and found, this 'bf' (at 66D4) means 'branch if false' - but I don't know 'if WHAT is false' (I guess it's usually any condition/compare before this command)!?

Now I wonder why did you put this 'checksum correction' byte(s) 41 50 WITHIN your bugfix code - couldn't it happen that this 'WHAT' condition is indeed false when this code is executed, and in this case the program would jump/branch to an address (6726) with no valid code?
So why didn't you just put these correction bytes (41 50) at the end of your bugfix code, which would definitely never be executed?

Regards,
Franz
__________________
Meine Webseite: https://fhub.jimdofree.com/

Geändert von fhub (10.06.2025 um 14:31 Uhr)
Mit Zitat antworten
Folgende 2 Benutzer sagen Danke zu fhub für den nützlichen Beitrag:
kamoj (10.06.2025), Mychess (10.06.2025)
  #7  
Alt 10.06.2025, 15:42
Benutzerbild von Mychess
Mychess Mychess ist offline
Mephisto Amsterdam
 
Registriert seit: 07.03.2009
Beiträge: 117
Bilder: 3
Abgegebene Danke: 189
Erhielt 234 Danke für 99 Beiträge
Member Photo Albums
Aktivitäten Langlebigkeit
7/20 16/20
Heute Beiträge
1/3 ssssss117
Re: THE PATCH FOR ALL CHESS COMPUTERS WITH H8 BUG

Hi Fhub,


You can put the good byte for a good checksum at the end of the patch.
However, a curious programmer (Fh..) could be astonished by a byte never adressed by the patch.

So I prefer to use a dummy short instruction (yes, with 2 clocks CPU lost) with the good byte as immediate value.
The BF is a "branch never", as BT is a branch always, without testing any code condition.
So 41 50 is a 2 clocks cpu lost instruction who only make PC = PC+2, and 50 is the byte for a good checksum.

You can make a best performance patch with :

66D0: 7F52 7260 bclr #6, @h'ff52
66D4: 7F52 7270 bclr #7, @h'ff52
66D8: 5A00 5062 jmp h'5062
66DC: 91 ; (41+50)

Cordialy,

Mychess
Mit Zitat antworten
Folgende 2 Benutzer sagen Danke zu Mychess für den nützlichen Beitrag:
fhub (10.06.2025), kamoj (10.06.2025)
  #8  
Alt 10.06.2025, 15:58
fhub fhub ist offline
Lebende Foren Legende
 
Registriert seit: 19.04.2010
Beiträge: 2.879
Abgegebene Danke: 578
Erhielt 6.999 Danke für 1.581 Beiträge
Aktivitäten Langlebigkeit
9/20 15/20
Heute Beiträge
1/3 sssss2879
AW: Re: THE PATCH FOR ALL CHESS COMPUTERS WITH H8 BUG

 Zitat von Mychess Beitrag anzeigen
You can put the good byte for a good checksum at the end of the patch.
However, a curious programmer (Fh..) could be astonished by a byte never adressed by the patch.
Yes, I'm a VERY curious programmer!
Zitieren:
The BF is a "branch never", as BT is a branch always, without testing any code condition.
Ok, now I understand that this jump is never done.
But what is an instruction BF good for, when it actually never does anything?

The 2 clocks CPU lost is of course no problem, because I think this bugfix code is only executed when the user changes the level (to or away from a Fun level).
__________________
Meine Webseite: https://fhub.jimdofree.com/
Mit Zitat antworten
Folgender Benutzer sagt Danke zu fhub für den nützlichen Beitrag:
kamoj (10.06.2025)
  #9  
Alt 10.06.2025, 16:05
fhub fhub ist offline
Lebende Foren Legende
 
Registriert seit: 19.04.2010
Beiträge: 2.879
Abgegebene Danke: 578
Erhielt 6.999 Danke für 1.581 Beiträge
Aktivitäten Langlebigkeit
9/20 15/20
Heute Beiträge
1/3 sssss2879
AW: THE PATCH FOR ALL CHESS COMPUTERS WITH H8 BUG

And from your "66DC: 91 ; (41+50)" I guess the program uses only a 1-byte checksum, correct?
Then why not just change the checksum byte instead of adding such a dummy byte?
__________________
Meine Webseite: https://fhub.jimdofree.com/
Mit Zitat antworten
Folgender Benutzer sagt Danke zu fhub für den nützlichen Beitrag:
kamoj (10.06.2025)
  #10  
Alt 10.06.2025, 16:47
Benutzerbild von Mychess
Mychess Mychess ist offline
Mephisto Amsterdam
 
Registriert seit: 07.03.2009
Beiträge: 117
Bilder: 3
Abgegebene Danke: 189
Erhielt 234 Danke für 99 Beiträge
Member Photo Albums
Aktivitäten Langlebigkeit
7/20 16/20
Heute Beiträge
1/3 ssssss117
Re: THE PATCH FOR ALL CHESS COMPUTERS WITH H8 BUG

Yes, only a one byte checksum.
However, the checksum is not stored, it should be 00, so I add a byte to obtain 00.

Another solution would be to delete the checksum call from the rom, but I'm follower of "Entia non sunt multiplicanda praeter necessitatem", or principle of parsimony.


Cordialy,

Mychess
Mit Zitat antworten
Folgender Benutzer sagt Danke zu Mychess für den nützlichen Beitrag:
kamoj (10.06.2025)
Antwort


Forumregeln
Du bist nicht berechtigt, neue Themen zu erstellen.
Du bist nicht berechtigt, auf Beiträge zu antworten.
Du bist nicht berechtigt, Anhänge hochzuladen.
Du bist nicht berechtigt, deine Beiträge zu bearbeiten.

BB code ist An
Smileys sind An.
[IMG] Code ist An.
HTML-Code ist An.

Gehe zu

Ähnliche Themen
Thema Erstellt von Forum Antworten Letzter Beitrag
Turnier: The beginnings of chess computers Chessguru Partien und Turniere / Games and Tournaments 12 22.06.2022 09:22
MessEmu: A patch for the Conic Computer Chess Mychess Mess Emu & andere Emulationen / Mess Emu and other Emulations 5 02.12.2021 23:41
Turnier: Hans Böhm challenges old chess computers at 30th CSVN Tournament Ruud Martin Partien und Turniere / Games and Tournaments 2 31.05.2015 08:55
News: Chess Computers - The UK Story Mike Die ganze Welt der Schachcomputer / World of chess computers 9 19.03.2009 02:03
News: "Chess Computers Revolution" DVD von Ismenio erschienen Chessguru Die ganze Welt der Schachcomputer / World of chess computers 2 18.04.2007 22:52


Alle Zeitangaben in WEZ +2. Es ist jetzt 20:10 Uhr.



Powered by vBulletin (Deutsch)
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
©Schachcomputer.info