It's not a hurry for help... I just want to understand what's happening with my MMC3 IRQ emulation.
You know that my emu is cycle-based. This way, the MMC3 IRQ counter handler is accessed at every single CPU cycle, meaning no need to place manually "checkpoints" on 2006h (VRAM address), on 2000h (sprite pattern bank) and 2001h (screen on/off) writes as example..?
The test ROM 2.Detais.nes gives me error 7;) Counter should be clocked 241 times in PPU frame. In fact...
...my counter stops at 7Ah. I already tried to clock it in different ways, as 0->1->0->1, risign edges only (0->1) and using that latency of 8 CPU cycles between risign edges of A12. I don't know what's wrong here...
You know that my emu is cycle-based. This way, the MMC3 IRQ counter handler is accessed at every single CPU cycle, meaning no need to place manually "checkpoints" on 2006h (VRAM address), on 2000h (sprite pattern bank) and 2001h (screen on/off) writes as example..?
The test ROM 2.Detais.nes gives me error 7;) Counter should be clocked 241 times in PPU frame. In fact...
Code:
jsr should_be_clear ; counter should be at 1 now (no IRQ yet)
...my counter stops at 7Ah. I already tried to clock it in different ways, as 0->1->0->1, risign edges only (0->1) and using that latency of 8 CPU cycles between risign edges of A12. I don't know what's wrong here...