Fixed copy protection in games
This commit is contained in:
@@ -4230,6 +4230,8 @@ NEWSYM sramaccessbankw16s
|
|||||||
pop ecx
|
pop ecx
|
||||||
ret
|
ret
|
||||||
|
|
||||||
|
EXTSYM MMXSRAMHack
|
||||||
|
|
||||||
NEWSYM sramaccessbankr8b
|
NEWSYM sramaccessbankr8b
|
||||||
cmp dword[ramsize],0
|
cmp dword[ramsize],0
|
||||||
je .noaccess
|
je .noaccess
|
||||||
@@ -4241,6 +4243,13 @@ NEWSYM sramaccessbankr8b
|
|||||||
xor ebx,ebx
|
xor ebx,ebx
|
||||||
ret
|
ret
|
||||||
.noaccess
|
.noaccess
|
||||||
|
cmp byte[MMXSRAMHack],1
|
||||||
|
je .mmxsramhack
|
||||||
|
xor al,al
|
||||||
|
xor ebx,ebx
|
||||||
|
ret
|
||||||
|
|
||||||
|
.mmxsramhack
|
||||||
mov al,0FFh
|
mov al,0FFh
|
||||||
xor ebx,ebx
|
xor ebx,ebx
|
||||||
ret
|
ret
|
||||||
@@ -4259,6 +4268,13 @@ NEWSYM sramaccessbankr16b
|
|||||||
xor ebx,ebx
|
xor ebx,ebx
|
||||||
ret
|
ret
|
||||||
.noaccess
|
.noaccess
|
||||||
|
cmp byte[MMXSRAMHack],1
|
||||||
|
je .mmxsramhack
|
||||||
|
xor ax,ax
|
||||||
|
xor ebx,ebx
|
||||||
|
ret
|
||||||
|
|
||||||
|
.mmxsramhack
|
||||||
mov ax,0FFFFh
|
mov ax,0FFFFh
|
||||||
xor ebx,ebx
|
xor ebx,ebx
|
||||||
ret
|
ret
|
||||||
|
|||||||
@@ -1327,6 +1327,7 @@ NEWSYM HIRQSkip, db 0
|
|||||||
NEWSYM ClearScreenSkip, db 0
|
NEWSYM ClearScreenSkip, db 0
|
||||||
NEWSYM hirqmode2, db 0
|
NEWSYM hirqmode2, db 0
|
||||||
NEWSYM ENVDisable, db 0
|
NEWSYM ENVDisable, db 0
|
||||||
|
NEWSYM MMXSRAMHack, db 0
|
||||||
SECTION .text
|
SECTION .text
|
||||||
|
|
||||||
; hacks :
|
; hacks :
|
||||||
@@ -1444,11 +1445,13 @@ NEWSYM headerhack
|
|||||||
mov byte[disablehdma],0
|
mov byte[disablehdma],0
|
||||||
mov byte[Offby1line],0
|
mov byte[Offby1line],0
|
||||||
mov byte[CacheCheckSkip],0
|
mov byte[CacheCheckSkip],0
|
||||||
|
mov word[IRQHack],0
|
||||||
mov byte[HIRQSkip],0
|
mov byte[HIRQSkip],0
|
||||||
mov dword[WindowDisables],0
|
mov dword[WindowDisables],0
|
||||||
mov byte[ClearScreenSkip],0
|
mov byte[ClearScreenSkip],0
|
||||||
mov byte[hirqmode2],0
|
mov byte[hirqmode2],0
|
||||||
mov byte[ENVDisable],0
|
mov byte[ENVDisable],0
|
||||||
|
mov byte[MMXSRAMHack],0
|
||||||
|
|
||||||
mov esi,[romdata]
|
mov esi,[romdata]
|
||||||
add esi,07FC0h
|
add esi,07FC0h
|
||||||
@@ -1516,6 +1519,17 @@ NEWSYM headerhack
|
|||||||
.marvelous
|
.marvelous
|
||||||
.notrend
|
.notrend
|
||||||
|
|
||||||
|
mov esi,[romdata]
|
||||||
|
add esi,07FC0h
|
||||||
|
cmp dword[esi],'MEGA'
|
||||||
|
jne .notmmx
|
||||||
|
cmp dword[esi+4],'MAN '
|
||||||
|
jne .notmmx
|
||||||
|
cmp dword[esi+8],'X '
|
||||||
|
jne .notmmx
|
||||||
|
mov byte[MMXSRAMHack],1
|
||||||
|
.notmmx
|
||||||
|
|
||||||
mov esi,[romdata]
|
mov esi,[romdata]
|
||||||
add esi,07FC0h
|
add esi,07FC0h
|
||||||
cmp dword[esi],'STAR'
|
cmp dword[esi],'STAR'
|
||||||
@@ -1705,8 +1719,6 @@ NEWSYM headerhack
|
|||||||
mov byte[disablehdma],1
|
mov byte[disablehdma],1
|
||||||
.noromhead7
|
.noromhead7
|
||||||
|
|
||||||
mov word[IRQHack],0
|
|
||||||
|
|
||||||
; Front Mission - -p 140
|
; Front Mission - -p 140
|
||||||
mov esi,[romdata]
|
mov esi,[romdata]
|
||||||
add esi,0FFC0h
|
add esi,0FFC0h
|
||||||
|
|||||||
Reference in New Issue
Block a user