The Wiki says that "writing any value to this register ($C001) clears the MMC3 IRQ counter so that it will be reloaded at the end of the current scanline". A few lines below, it brings that...
A) There is no direct access to the counter! The best you can do is update the reload value and immediately request a reload.
B) Writing to $C001 will cause the counter to be reloaded on the NEXT rising edge of PPU A12 instead of being decremented.
So, I believe the IRQ counter is not set to zero on $C001 write, but a reload flag is set to true.
A) There is no direct access to the counter! The best you can do is update the reload value and immediately request a reload.
B) Writing to $C001 will cause the counter to be reloaded on the NEXT rising edge of PPU A12 instead of being decremented.
So, I believe the IRQ counter is not set to zero on $C001 write, but a reload flag is set to true.