From bcca5964aa797ad0f12f7a0f82cea6ad6efa7417 Mon Sep 17 00:00:00 2001 From: pagefault <> Date: Sun, 6 Apr 2003 22:57:40 +0000 Subject: [PATCH] Fixed interleave detection with overflowing titles --- zsnes/src/init.asm | 41 ++++++++++++++++++++++------------------- 1 file changed, 22 insertions(+), 19 deletions(-) diff --git a/zsnes/src/init.asm b/zsnes/src/init.asm index c926043f..b619023e 100644 --- a/zsnes/src/init.asm +++ b/zsnes/src/init.asm @@ -5879,19 +5879,6 @@ NEWSYM CheckROMType add esi,25 cmp byte[esi],14 jae .interlcheck2 - mov esi,[romdata] - add esi,7FC0h - add esi,eax - add esi,21 - cmp byte[esi],32 - je near .interleaved - cmp byte[esi],35 - je near .interleaved - cmp byte[esi],48 - je near .interleaved - cmp byte[esi],50 - je near .interleaved - cmp byte[esi],83 je near .interleaved .interlcheck2 @@ -5922,16 +5909,32 @@ NEWSYM CheckROMType add esi,7FC0h add esi,21 cmp byte[esi],33 - je .interleaved + je .overflowcheck cmp byte[esi],49 - je .interleaved + je .overflowcheck cmp byte[esi],53 - je .interleaved - cmp byte[esi],50 - je .interleaved + je .overflowcheck cmp byte[esi],58 - je .interleaved + je .overflowcheck jmp .nointerlcheck + +.overflowcheck + mov edx,[esi] + dec esi + cmp byte[esi],32 + je .interleaved + cmp byte[esi],dl + je .nointerlcheck + dec esi + cmp byte[esi],dl + je .nointerlcheck + dec esi + cmp byte[esi],dl + je .nointerlcheck + dec esi + cmp byte[esi],dl + je .nointerlcheck + je near .interleaved .interleaved cmp byte[finterleave],1 je .doneinterl