This page is a mirror of Tepples' nesdev forum mirror (URL TBD).
Last updated on Oct-18-2019 Download

Does changing loopy_v during 'hblank time' affect MMC3 irqs?

Does changing loopy_v during 'hblank time' affect MMC3 irqs?
by on (#35908)
If you change loopy_v during screen render in the "hblank" portion of a scanline, does it put that value on the PPU bus and thus affect MMC3 irqs?

by on (#35962)
Bump?

by on (#35972)
Changes to the VRAM address/scroll regs during rendering will not affect the MMC3. The CHR A12 line is what controls IRQ timing, and when rendering is active that line functions completely independently of the scroll regs.

Accrssing $2007, however, will cause bus conflicts on the CHR lines, which may cause the MMC3 to receive a clock, at least in theory (I don't think it's been tested).

by on (#35973)
Bump!

by on (#35983)
...ityBoo.

(yellow car)

by on (#35990)
WTF!?

by on (#35998)
Does moving the PPU address to the palette affect A12, or does the PPU have some way of hiding these from the cartridge?

by on (#36101)
Seriously now... moving PPU ADDRESS into the Palette area DOES change A12 to 1, right?

by on (#36102)
The very little I know - while the ppu is fetching tiles from 1000h, the A12 is up (bg or sprites). When the loopy_v has A12 toggled through 2006/7, yes, A12 is up.

...and I dislike getting "ignored". :(

by on (#36104)
Rocknes is still the finest NES emulator available for MacOS 9.

by on (#36106)
iirc... one or more of blargg's MMC3 tests fail if you block $2006/$2007 triggered A12 changes during rendering (I've tried this before). So based on that I would say that yes... changing the PPU address during rendering (hblank) does impact A12 and thus the IRQ counter.

However I wouldn't use that as a final word. Perhaps this could be a subject for more in depth testing (as well as how far apart A12 rises have to be for the MMC3 IRQ to clock?)