|
|
|||||||||||
AW: THE PATCH FOR ALL CHESS COMPUTERS WITH H8 BUG
Hi Mychess,
![]() 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/ |
|
||||||||||||
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 |
|
|||||||||||
AW: Re: THE PATCH FOR ALL CHESS COMPUTERS WITH H8 BUG
Hi Mychess,
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 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) |
|
||||||||||||
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 |
|
|||||||||||
AW: Re: THE PATCH FOR ALL CHESS COMPUTERS WITH H8 BUG
![]() Zitieren:
The BF is a "branch never", as BT is a branch always, without testing any code condition.
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/ |
Folgender Benutzer sagt Danke zu fhub für den nützlichen Beitrag: | ||
kamoj (10.06.2025) |
|
|||||||||||
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/ |
Folgender Benutzer sagt Danke zu fhub für den nützlichen Beitrag: | ||
kamoj (10.06.2025) |
|
||||||||||||
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 |
Folgender Benutzer sagt Danke zu Mychess für den nützlichen Beitrag: | ||
kamoj (10.06.2025) |
|
|||||||||||
AW: Re: THE PATCH FOR ALL CHESS COMPUTERS WITH H8 BUG
I remember such a situation for any other ROM that I've patched, and it actually returned an error message (I've just skipped this error routine).
__________________
Meine Webseite: https://fhub.jimdofree.com/ |
Folgender Benutzer sagt Danke zu fhub für den nützlichen Beitrag: | ||
kamoj (10.06.2025) |
|
||||||||||||
Re: THE PATCH FOR ALL CHESS COMPUTERS WITH H8 BUG
A continuous error message (E: ron) with beep.
However, "enter" bypass the message and the computer is ready. |
![]() |
|
|
![]() |
||||
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 |