A while back, I posted about DPCM interfering with vertical scrolling in Zelda, where if DPCM is playing, writes to PPU_ADDRESS during rendering sometimes cause the screen to jump to unexpected locations (frequently $2000 or $2100). As tepples suggested back then, this is indeed related to timing. I've created a repro for it that tries to mimic Zelda's scrolling, but uses variable timing instead of DPCM. I've had success reproducing the glitching on console with an Everdrive, but as expected, it doesn't occur in any emulator I've tried.
I've attached a copy of the repro, containing a version without glitching (normal) and a version with variable delay that reproduces the problem (delay), as well as some messy source code. Does anyone have any idea what's going on here that emulators don't seem to replicate?
I've attached a copy of the repro, containing a version without glitching (normal) and a version with variable delay that reproduces the problem (delay), as well as some messy source code. Does anyone have any idea what's going on here that emulators don't seem to replicate?