Bregalad wrote:
I guess it shoud take a while to figure that writes to $2007 writes to VRAM
That would start by tracing the CPU address bus on the NES motherboard. As I understand it, there's an 8-way decoder on the NES board. The input is connected to A13 through A15, which can be 0, 2, 4, 6, 8, A, C, or E. When it's 0 (corresponding to a $0000-$1FFF access), the decoder pulls the WRAM chip select. When it's 2 (corresponding to a $2000-$3FFF access), the decoder pulls the PPU chip select. So they'd reason that writes to $2000-$2007 go to that chip. A signal going into the RF module that looks like NTSC video on an oscilloscope also connects to that chip; therefore, it's probably video.
But look how inaccurate the Nesticle PPU is, and it still runs a lot of popular games. So I guess NES game programmers must have programmed defensively, possibly to work around known changes and envisioned future changes to the PPU's low-level behavior. I remember reading Andrew Davie's
The Three Stooges post-mortem on the nesdev Yahoo! Group, where he told a story about Nintendo lot check finding a problem with the game's sprite code that resulted in flicker after an hour or two of run time on one obscure PPU revision.