- We know that reading 2002h clears the VBlank flag. Well, if NMIs are enabled, "reading 2002h near the VBL time suppress the NMI". If I change this thing to "reading 2002h suppress the NMI" still passes through the (old) test ROMs. Is this correct?
- I ask because the new test ROM fails on nmi_on_timing (5 N) and I don't know why.
nmi_on_timing tests NMI timing near the end of vblank by writing with bit 7 ($80) set to $2000. if 5=N, it means your edge timing is 1 PPU cycle off.
Still stuck. By the way, what's the meaning of those numbers anyway?
Code:
; Correct output:
; 01 N
; 02 N
; 03 N
; 04 N
; 05 -
; 06 -
; 07 -
; 08 -
; 09 -
The numbers don't mean anything
it's just an ordered list. Each next in the list is the result timed at 1 PPU cycle after the previous one.
- I'm still getting an error with nmi_on_timing test, 1 cycle off. Is the NMI (always) cancelled when reading 2002h?
Code:
; 01 N
; 02 N
; 03 N
; 04 N
; 05 N
; 06 -
; 07 -
; 08 -
; 09 -
I have this exact problem, how did you fix yours?