Interleaved rom detection fix
This commit is contained in:
@@ -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
|
||||||
|
|||||||
Reference in New Issue
Block a user