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

specifying MMC3 earlier vs later revisions IRQ differences ?

specifying MMC3 earlier vs later revisions IRQ differences ?
by on (#92000)
Are there different iNES mapper numbers that are assigned to the alternate MMC3 behaviors? I have some code that works fine in Nestopia (irq can be triggered 1 scanline later) which would be the later mmc3 behavior.

However, on powerpak and nintendulator irqs one scanline later are getting missed, which would be the earlier mmc3 behavior.

Is there a way I just choose a different iNES mapper to get the later mmc3 behavior, or should I just put in a spacial case in my code to handle the missing IRQ?

by on (#92001)
Right now, there isn't, so which MMC3 irq behavior is emulated is up to the emulator.

At some point, the newer MMC3 behavior (IRQ fires when the counter is equal to 0, instead of only when it reaches 0) was considered the "normal" behavior, so I'm kinda surprised to see the older behavior being implemented.

by on (#92006)
This sounds like it'd be the perfect job for NES 2.0 variant codes (SSSS in the spec). Someone go get kevtris to allocate codes for the different behavior variants.