Refreshing Music Routine Outside of NMI/VBLANK

This is an archive of a topic from NESdev BBS, taken in mid-October 2019 before a server upgrade.
View original topic
Refreshing Music Routine Outside of NMI/VBLANK
by on (#56305)
I've been experimenting with trying to refresh NTRQ's player outside of the NMI/VBLANK by using a 16-bit counter in the background loop.

I'm getting sporadic crashing/lockup which does not happen when it's being refreshed in the NMI, despite the background-loop refresh routine being called at approximately the same rate.

Are there any of the APU registers that don't like being written more than once per frame? Or any that you can't write during vertical blanking? I'm thinking of the DPCM registers (and above).