From f5c58c49405cb6b25ccbaf5612eadbe9d4004cfa Mon Sep 17 00:00:00 2001 From: z_demo_z <> Date: Thu, 11 Jul 2002 05:30:50 +0000 Subject: [PATCH] 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 :) --- zsnes/src/init.asm | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/zsnes/src/init.asm b/zsnes/src/init.asm index b2b95f3a..76468366 100644 --- a/zsnes/src/init.asm +++ b/zsnes/src/init.asm @@ -1465,6 +1465,23 @@ NEWSYM headerhack mov byte[ENVDisable],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] add esi,0FFC0h cmp dword[esi],'SAMU'