NMI fix for register 4212
This commit is contained in:
@@ -18,7 +18,7 @@
|
|||||||
|
|
||||||
EXTSYM SFXEnable,regptr,initsfxregsr,initSA1regs,SA1Enable,initSDD1regs
|
EXTSYM SFXEnable,regptr,initsfxregsr,initSA1regs,SA1Enable,initSDD1regs
|
||||||
EXTSYM SPC7110Enable,initSPC7110regs,RTCEnable,RTCReset
|
EXTSYM SPC7110Enable,initSPC7110regs,RTCEnable,RTCReset
|
||||||
EXTSYM curypos,cycpl,debuggeron,pdh,Reg4212hack
|
EXTSYM curypos,cycpl,debuggeron,pdh
|
||||||
EXTSYM vram
|
EXTSYM vram
|
||||||
EXTSYM romispal
|
EXTSYM romispal
|
||||||
EXTSYM reg1read,spcnumread,spcon
|
EXTSYM reg1read,spcnumread,spcon
|
||||||
@@ -1253,7 +1253,11 @@ reg4212r:
|
|||||||
cmp byte[debuggeron],1
|
cmp byte[debuggeron],1
|
||||||
je .debugger
|
je .debugger
|
||||||
mov bx,[resolutn]
|
mov bx,[resolutn]
|
||||||
sub bx,[Reg4212hack]
|
cmp word[curypos],bx
|
||||||
|
jne .notres
|
||||||
|
cmp byte[nmistatus],2
|
||||||
|
je .vblank
|
||||||
|
.notres
|
||||||
inc bx
|
inc bx
|
||||||
cmp word[curypos],bx
|
cmp word[curypos],bx
|
||||||
jb .novbl
|
jb .novbl
|
||||||
@@ -1261,6 +1265,7 @@ reg4212r:
|
|||||||
dec bx
|
dec bx
|
||||||
cmp word[curypos],bx
|
cmp word[curypos],bx
|
||||||
jae .novbl
|
jae .novbl
|
||||||
|
.vblank
|
||||||
or al,80h
|
or al,80h
|
||||||
; jmp .nohblank
|
; jmp .nohblank
|
||||||
.novbl
|
.novbl
|
||||||
@@ -1284,7 +1289,11 @@ debblah2:
|
|||||||
push edx
|
push edx
|
||||||
mov dh,[pdh]
|
mov dh,[pdh]
|
||||||
mov bx,[resolutn]
|
mov bx,[resolutn]
|
||||||
sub bx,[Reg4212hack]
|
cmp word[curypos],bx
|
||||||
|
jne .notres
|
||||||
|
cmp byte[nmistatus],2
|
||||||
|
je .vblank
|
||||||
|
.notres
|
||||||
inc bx
|
inc bx
|
||||||
cmp word[curypos],bx
|
cmp word[curypos],bx
|
||||||
jb .novbl
|
jb .novbl
|
||||||
@@ -1292,6 +1301,7 @@ debblah2:
|
|||||||
dec bx
|
dec bx
|
||||||
cmp word[curypos],bx
|
cmp word[curypos],bx
|
||||||
jae .novbl
|
jae .novbl
|
||||||
|
.vblank
|
||||||
or al,80h
|
or al,80h
|
||||||
; jmp .nohblank
|
; jmp .nohblank
|
||||||
.novbl
|
.novbl
|
||||||
|
|||||||
@@ -1332,7 +1332,6 @@ NEWSYM numspcvblleft, dd 0
|
|||||||
NEWSYM spc700idle, dd 0
|
NEWSYM spc700idle, dd 0
|
||||||
NEWSYM IRQHack, dw 0
|
NEWSYM IRQHack, dw 0
|
||||||
NEWSYM Offby1line, db 0
|
NEWSYM Offby1line, db 0
|
||||||
NEWSYM Reg4212hack, dd 0
|
|
||||||
NEWSYM CacheCheckSkip, db 0
|
NEWSYM CacheCheckSkip, db 0
|
||||||
NEWSYM HIRQSkip, db 0
|
NEWSYM HIRQSkip, db 0
|
||||||
NEWSYM ClearScreenSkip, db 0
|
NEWSYM ClearScreenSkip, db 0
|
||||||
@@ -1464,7 +1463,6 @@ NEWSYM headerhack
|
|||||||
mov byte[hirqmode2],0
|
mov byte[hirqmode2],0
|
||||||
mov byte[ENVDisable],0
|
mov byte[ENVDisable],0
|
||||||
mov byte[MMXSRAMFix],0
|
mov byte[MMXSRAMFix],0
|
||||||
mov dword[Reg4212hack],0
|
|
||||||
|
|
||||||
mov esi,[romdata]
|
mov esi,[romdata]
|
||||||
add esi,07FC0h
|
add esi,07FC0h
|
||||||
@@ -1495,18 +1493,6 @@ NEWSYM headerhack
|
|||||||
mov byte[cycpblt],125
|
mov byte[cycpblt],125
|
||||||
.nothumangrandprix3
|
.nothumangrandprix3
|
||||||
|
|
||||||
|
|
||||||
mov esi,[romdata]
|
|
||||||
add esi,07FC0h
|
|
||||||
cmp dword[esi],'Cu-O'
|
|
||||||
jne .notcuonpa
|
|
||||||
cmp dword[esi+4],'n-Pa'
|
|
||||||
jne .notcuonpa
|
|
||||||
cmp dword[esi+8],' SFC'
|
|
||||||
jne .notcuonpa
|
|
||||||
mov dword[Reg4212hack],2
|
|
||||||
.notcuonpa
|
|
||||||
|
|
||||||
mov esi,[romdata]
|
mov esi,[romdata]
|
||||||
add esi,07FC0h
|
add esi,07FC0h
|
||||||
cmp dword[esi],'ACCE'
|
cmp dword[esi],'ACCE'
|
||||||
@@ -1822,7 +1808,6 @@ NEWSYM headerhack
|
|||||||
mov byte[opexec358],220
|
mov byte[opexec358],220
|
||||||
mov byte[opexec268cph],64
|
mov byte[opexec268cph],64
|
||||||
mov byte[opexec358cph],64
|
mov byte[opexec358cph],64
|
||||||
mov byte[Reg4212hack],4
|
|
||||||
.noromhead3
|
.noromhead3
|
||||||
|
|
||||||
; BToad vs DD - 197/192/47/47 -p 120
|
; BToad vs DD - 197/192/47/47 -p 120
|
||||||
|
|||||||
Reference in New Issue
Block a user