Hi Mychess,

Zitat von
Mychess
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