I think I have found one major oversight by the hackers of Delta-1.
Boris rev1 is accessing a table for evaluation at the end of the ROM, just before the RAM is starting. (DCO gets added a negative value). With Delta-1, it's not accessing the table (which is missing in RAM and not located at the End of ROM), but the uninitialized junk RAM.
So I just copied the table to the RAM, also made one other change where the programmers thought it would be a computed goto, and voilà:
My hacked Delta-1 ROM is now (almost) playing like Boris rev.1, around half the speed because of the more frequent interrupt calls, but makes none of those stupid moves anymore.
Here my changes to Delta-1 ROM: (Adresses in ROM start not at 5000 but 0000)
Code:
5000 JMP $5EC0 29 5E C0 ; was 29 59 00
506F AI $FD 24 FD ; was 24 FE
5EC0 DCI $EBC0 2A EB C0 ; New copy table routine
5EC3 XDC 2C
5EC4 DCI $5880 2A 58 80
5EC7 LI $40 20 40
5EC9 LR 0,A 50
5ECA LM 16 ; Loop
5ECB XDC 2C
5ECC ST 17
5ECD XDC 2C
5ECE DS 0 30
5ECF BNZ $5ECA 94 FA
5ED1 JMP $5900 29 59 00
For those who want to try it in CB-EMU, just rename the original cc1delta.zip to e.g. cc1delta_orig.zip and add my hacked version (in the roms folder of MessExtra AND MessChess..)
Maybe I will modify my own Delta-1 with an updated eprom.
Pirated and double-hacked Regards,
bataais