NMI fix for register 4212

This commit is contained in:
pagefault
2002-06-12 15:59:27 +00:00
parent 427024320a
commit 168236950f
2 changed files with 13 additions and 18 deletions

View File

@@ -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

View File

@@ -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