So the scenario is:
- the IRQ counter is 0
- the $C001 reset flag is set
- the value in $C000 is 0
- when the next A12 rise comes along the IRQ controller has 2 choices
1) Perform a "natural" reload since the IRQ counter is 0
2) Perform a "reset" reload since the $C001 reset flag is set
It matters because the 2 mappers react differently for a "natural" reload. If the answer is (1) then it's different depending on the mapper revision. If the answer is (2) then it's the same for both revisions.
Here is a quote from Disch on the 2 types of reloads that can occur and the difference in mapper revisions (with minor mods by me for clarity - I hope):
Anyone know the answer?There are two ways the IRQ counter can be reloaded:
1) "natural" reload caused by an A12 rise when the IRQ counter is 0
2) "reset" reload caused by an A12 rise after $C001 has been written to.
If $C000 is set to 0...
...in a RevA mapper, then...
--> a "natural" reload does not trigger IRQ
--> a "reset" reload triggers IRQ
OR
...in a RevB mapper, then...
--> a "natural" reload triggers IRQ
--> a "reset" reload triggers IRQ
Pz