Re: Acorn put *transistors* in backwards
The glitching white spots weren't to do with the 50Hz/60Hz discrepancy as such, but because the dot clock on the 6847 ran on both edges of a 3.57MHz square wave (chosen because 3.57 NTSC colour burst crystals were cheap, and if I remember correctly, the 6847 would insert a few cycles of 3.57MHz after line sync for NTSC colour burst), while the 6502 ran at 1MHz.
When directly accessing video RAM, the 6502 took no notice of where the 6847 was in its pixel reading process and just enabled the bus buffers connecting video RAM data/address to the CPU bus, and switched off the address output of the 6847 for ~0.5us (possibly up to 1us, I can't remember whether the logic gated off the whole cycle or just the active part of the 6502's phi2). Hence the 6847 would momentarily output whatever the 6502 was reading/writing in video RAM, rather than what it was expecting to read/write.
Writing characters to the text screen didn't cause snow because the software polled the frame sync signal and only wrote text when it knew the 6847 was in a non-image part of the display, but doing that generally for bit mapped graphics would have slowed things down too much, so it was left down to software designers to decide whether or not to sync.
Possibly the worst culprit was the unexpanded Atom where the 1K of screen memory had the upper 512 bytes for program storage, so running a program in that configuration caused loads of screen 'snow'.
The 6809 in the TRS-80 colour computer runs at 0.89 or 1.78MHz (1/4 or 1/2 of the 3.57MHz) and I believe CPU access to video RAM is interleaved with the 6847 to prevent snow. I have a feeling you could remove the snow on the Atom by rewiring the clocks to run the 6502 at 0.89MHz, but I never tried - I always wanted the raw speed over a clean screen! (actually mine was quite happy being overclocked to 2MHz).
I never knew about the NPN/PNP transistor mix-up though - I'll have to check mine to see if they put the right ones in - it worked though!