Talk:INES Mapper 042: Difference between revisions

From NESdev Wiki
Jump to navigationJump to search
No edit summary
No edit summary
 
Line 2: Line 2:
: Because of how the 6502's IRQ input works, IRQs cannot self-acknowledge. The IRQ is level triggered, not edge triggered (unlike the NMI input), and the mapper can only acknowledge it in response to something that the CPU does.
: Because of how the 6502's IRQ input works, IRQs cannot self-acknowledge. The IRQ is level triggered, not edge triggered (unlike the NMI input), and the mapper can only acknowledge it in response to something that the CPU does.
: "Something that the CPU does" could be: Reads the addresses of the IRQ vector, reads some other location in memory, or writes to some location in memory. Chances are very very good that mapper 42 is identical to the other discrete logic FDS ports ([[iNES Mapper 040]] and [[iNES Mapper 050]]) —[[User:Lidnariq|Lidnariq]] ([[User talk:Lidnariq|talk]]) 15:26, 22 August 2016 (MDT)
: "Something that the CPU does" could be: Reads the addresses of the IRQ vector, reads some other location in memory, or writes to some location in memory. Chances are very very good that mapper 42 is identical to the other discrete logic FDS ports ([[iNES Mapper 040]] and [[iNES Mapper 050]]) —[[User:Lidnariq|Lidnariq]] ([[User talk:Lidnariq|talk]]) 15:26, 22 August 2016 (MDT)
: FCEUX implements the IRQ as: a 15 bit up counter where IRQ is asserted while the two MSBs are high. Nestopia implements it as the same, but obfuscated. —[[User:Lidnariq|Lidnariq]] ([[User talk:Lidnariq|talk]]) 15:41, 22 August 2016 (MDT)

Latest revision as of 21:41, 22 August 2016

It seems that the mapper should disable IRQ and reset the IRQ counter when it is triggered, otherwise any ROM that uses the IRQ counter will get stuck in a loop. Please verify if this is correct.

Because of how the 6502's IRQ input works, IRQs cannot self-acknowledge. The IRQ is level triggered, not edge triggered (unlike the NMI input), and the mapper can only acknowledge it in response to something that the CPU does.
"Something that the CPU does" could be: Reads the addresses of the IRQ vector, reads some other location in memory, or writes to some location in memory. Chances are very very good that mapper 42 is identical to the other discrete logic FDS ports (iNES Mapper 040 and iNES Mapper 050) —Lidnariq (talk) 15:26, 22 August 2016 (MDT)
FCEUX implements the IRQ as: a 15 bit up counter where IRQ is asserted while the two MSBs are high. Nestopia implements it as the same, but obfuscated. —Lidnariq (talk) 15:41, 22 August 2016 (MDT)