Thema: Idee: Novag Delta-1 code
Einzelnen Beitrag anzeigen
  #9  
Alt 07.05.2020, 14:45
bataais bataais ist offline
SPARC
 
Registriert seit: 01.10.2013
Beiträge: 238
Abgegebene Danke: 129
Erhielt 309 Danke für 132 Beiträge
Aktivitäten Langlebigkeit
0/20 11/20
Heute Beiträge
0/3 ssssss238
AW: Novag Delta-1 code

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
Angehängte Dateien
Dateityp: zip ccdelta1.zip (3,6 KB, 120x aufgerufen)
Mit Zitat antworten
Folgende 7 Benutzer sagen Danke zu bataais für den nützlichen Beitrag:
Drahti (07.05.2020), fhub (07.05.2020), Luis (07.05.2020), mclane (07.05.2020), Mychess (05.12.2021), paulwise3 (07.05.2020), Tibono (07.05.2020)