From 168236950f96028d580d407a8fb28c3d134132fd Mon Sep 17 00:00:00 2001 From: pagefault <> Date: Wed, 12 Jun 2002 15:59:27 +0000 Subject: [PATCH] NMI fix for register 4212 --- zsnes/src/cpu/regs.inc | 16 +++++++++++++--- zsnes/src/init.asm | 15 --------------- 2 files changed, 13 insertions(+), 18 deletions(-) diff --git a/zsnes/src/cpu/regs.inc b/zsnes/src/cpu/regs.inc index 4c675fa2..a509e5fb 100644 --- a/zsnes/src/cpu/regs.inc +++ b/zsnes/src/cpu/regs.inc @@ -18,7 +18,7 @@ EXTSYM SFXEnable,regptr,initsfxregsr,initSA1regs,SA1Enable,initSDD1regs EXTSYM SPC7110Enable,initSPC7110regs,RTCEnable,RTCReset -EXTSYM curypos,cycpl,debuggeron,pdh,Reg4212hack +EXTSYM curypos,cycpl,debuggeron,pdh EXTSYM vram EXTSYM romispal EXTSYM reg1read,spcnumread,spcon @@ -1253,7 +1253,11 @@ reg4212r: cmp byte[debuggeron],1 je .debugger mov bx,[resolutn] - sub bx,[Reg4212hack] + cmp word[curypos],bx + jne .notres + cmp byte[nmistatus],2 + je .vblank +.notres inc bx cmp word[curypos],bx jb .novbl @@ -1261,6 +1265,7 @@ reg4212r: dec bx cmp word[curypos],bx jae .novbl +.vblank or al,80h ; jmp .nohblank .novbl @@ -1284,7 +1289,11 @@ debblah2: push edx mov dh,[pdh] mov bx,[resolutn] - sub bx,[Reg4212hack] + cmp word[curypos],bx + jne .notres + cmp byte[nmistatus],2 + je .vblank +.notres inc bx cmp word[curypos],bx jb .novbl @@ -1292,6 +1301,7 @@ debblah2: dec bx cmp word[curypos],bx jae .novbl +.vblank or al,80h ; jmp .nohblank .novbl diff --git a/zsnes/src/init.asm b/zsnes/src/init.asm index 800df408..58d7c60e 100644 --- a/zsnes/src/init.asm +++ b/zsnes/src/init.asm @@ -1332,7 +1332,6 @@ NEWSYM numspcvblleft, dd 0 NEWSYM spc700idle, dd 0 NEWSYM IRQHack, dw 0 NEWSYM Offby1line, db 0 -NEWSYM Reg4212hack, dd 0 NEWSYM CacheCheckSkip, db 0 NEWSYM HIRQSkip, db 0 NEWSYM ClearScreenSkip, db 0 @@ -1464,7 +1463,6 @@ NEWSYM headerhack mov byte[hirqmode2],0 mov byte[ENVDisable],0 mov byte[MMXSRAMFix],0 - mov dword[Reg4212hack],0 mov esi,[romdata] add esi,07FC0h @@ -1495,18 +1493,6 @@ NEWSYM headerhack mov byte[cycpblt],125 .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] add esi,07FC0h cmp dword[esi],'ACCE' @@ -1822,7 +1808,6 @@ NEWSYM headerhack mov byte[opexec358],220 mov byte[opexec268cph],64 mov byte[opexec358cph],64 - mov byte[Reg4212hack],4 .noromhead3 ; BToad vs DD - 197/192/47/47 -p 120