Interleaved rom detection fix

This commit is contained in:
pagefault
2003-04-02 18:20:22 +00:00
parent e8f1106f23
commit 34a2f529df

View File

@@ -6180,12 +6180,12 @@ NEWSYM CheckROMType
mov byte[intldone],0 mov byte[intldone],0
cmp byte[romtype],1 cmp byte[romtype],1
je near .hirominterlcheck jne near .nointerlcheck
xor ebx,ebx
xor edx,edx
mov eax,[curromsize] mov eax,[curromsize]
imul eax,1048576 imul eax,1048576
shr eax,3 shr eax,2
shr eax,4
imul eax,[curromsize]
mov esi,[romdata] mov esi,[romdata]
add esi,7FC0h add esi,7FC0h
add esi,eax add esi,eax
@@ -6193,22 +6193,22 @@ NEWSYM CheckROMType
mov ebx,[esi] mov ebx,[esi]
inc esi inc esi
mov edx,[esi] mov edx,[esi]
shl edx,8 shl edx,16
add ebx,edx add ebx,edx
inc esi inc esi
add ebx,[esi] add ebx,[esi]
inc esi inc esi
mov edx,[esi] mov edx,[esi]
shl edx,8 shl edx,16
add ebx,edx add ebx,edx
cmp ebx,0FFFFh cmp bx,0FFFFh
jne near .nointerlcheck jne .interlcheck2
mov esi,[romdata] mov esi,[romdata]
add esi,7FC0h add esi,7FC0h
add esi,eax add esi,eax
add esi,25 add esi,25
cmp byte[esi],14 cmp byte[esi],14
jb near .nointerlcheck jae .interlcheck2
mov esi,[romdata] mov esi,[romdata]
add esi,7FC0h add esi,7FC0h
add esi,eax add esi,eax
@@ -6223,32 +6223,33 @@ NEWSYM CheckROMType
je near .interleaved je near .interleaved
cmp byte[esi],83 cmp byte[esi],83
je near .interleaved je near .interleaved
jmp .nointerlcheck
.hirominterlcheck .interlcheck2
xor ebx,ebx
xor edx,edx
mov esi,[romdata] mov esi,[romdata]
add esi,0FFC0h add esi,7FC0h
add esi,28 add esi,28
mov ebx,[esi] mov ebx,[esi]
inc esi inc esi
mov edx,[esi] mov edx,[esi]
shl edx,8 shl edx,16
add ebx,edx add ebx,edx
inc esi inc esi
add ebx,[esi] add ebx,[esi]
inc esi inc esi
mov edx,[esi] mov edx,[esi]
shl edx,8 shl edx,16
add ebx,edx add ebx,edx
cmp ebx,0FFFFh cmp bx,0FFFFh
jne near .nointerlcheck jne near .nointerlcheck
mov esi,[romdata] mov esi,[romdata]
add esi,0FFC0h add esi,7FC0h
add esi,eax
add esi,25 add esi,25
cmp byte[esi],14 cmp byte[esi],14
jb .nointerlcheck jae .nointerlcheck
mov esi,[romdata] mov esi,[romdata]
add esi,0FFC0h add esi,7FC0h
add esi,eax add esi,eax
add esi,21 add esi,21
cmp byte[esi],33 cmp byte[esi],33