are both CHR and PGR data modified? or can I get away with just re-flashing the PGR rom?
Both 1.3.0 and 1.3.1 change both.
I moved the map screen a bit up, trying to relieve as many scanlines worth of work from the bottom as possible.
edit2: on nestopia I can see now severe artifacts on the map screen (mmc3) , seems some tiles are misplaced
There was such a problem at one point. In 1.3.1. none of the variants seem to produce that error.
Put the MMC1 in 8kb CHR mode, and the whole switch happen in a single cycle. Only the last of the MMC1 register writes actually takes effect.
Ah, I didn't realize that only the last write is significant. Then it is no problem for timing. It is still a serious problem for the NMI-during mapper-reprogramming situation.
Technically I could mitigate the lag by doing some of the work during the scanline wait loops, but due to ROM organization problems (the rendering loop has to fit in the common bank, which has quite little room), I haven't been able to do that.
I don't see why you would need MMC3 or VRC6
I offered MMC3 option, because it is one of the most common chips that has the necessary features for this game.
And VRC6 is the one that has a very fast PRG switch (there are several PRG switches each frame) and that has atomic mapper writes (no separate command & data writes that can be intervened with), making it the recommended option.
Yes, could use their IRQ features, but that would require some significant rewrites that I am not prepared for.