Special hack for Digital Devil Story to prevent bad length value to be sent for spc transfer when irq happens exactly on a specific instruction :)

This commit is contained in:
z_demo_z
2002-07-11 05:30:50 +00:00
parent a97f6729ab
commit f5c58c4940

View File

@@ -1465,6 +1465,23 @@ NEWSYM headerhack
mov byte[ENVDisable],0 mov byte[ENVDisable],0
mov byte[MMXSRAMFix],0 mov byte[MMXSRAMFix],0
mov esi,[romdata]
add esi,07FC0h
cmp dword[esi],'DIGI'
jne .notdigitaldevilstory
cmp dword[esi+4],'TAL '
jne .notdigitaldevilstory
cmp dword[esi+8],'DEVI'
jne .notdigitaldevilstory
cmp dword[esi+12],'L ST'
jne .notdigitaldevilstory
mov esi,[romdata]
add esi,63CA3h
mov byte [esi],0FFh ; Increase internal spc program delay to prevent irq
; from causing bad length spc transfer (0xFFFF)
.notdigitaldevilstory
mov esi,[romdata] mov esi,[romdata]
add esi,0FFC0h add esi,0FFC0h
cmp dword[esi],'SAMU' cmp dword[esi],'SAMU'