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:
@@ -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'
|
||||||
|
|||||||
Reference in New Issue
Block a user