specifying MMC3 earlier vs later revisions IRQ differences ?

Discuss technical or other issues relating to programming the Nintendo Entertainment System, Famicom, or compatible systems.

Moderator: Moderators

Post Reply
sdwave
Posts: 27
Joined: Mon Feb 13, 2012 1:20 am

specifying MMC3 earlier vs later revisions IRQ differences ?

Post by sdwave »

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?
Drag
Posts: 1350
Joined: Mon Sep 27, 2004 2:57 pm
Contact:

Post by Drag »

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.
tepples
Posts: 22345
Joined: Sun Sep 19, 2004 11:12 pm
Location: NE Indiana, USA (NTSC)
Contact:

Post by tepples »

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.
Post Reply