(Fair warning: I'm not an electrical engineer, just a hobbyist; programmer by day)
So, I recently built a rev2 PCB of a 65C02 system I built not too long ago. The changes made were fairly minimal (you could argue I was overly-eager to spin a board, but hey). Mostly just bug fixes, and adding a couple of extra I/O connectors and a power switch.
First boot attempt I discovered that I had forgotten to switch the clock driving everything but the CPU to use the actual clock rather than the PHI2 output from the 65C02, so I fixed that with a bodge wire on the back. At this point things seem to be working almost perfectly, but there's some garbage data showing up on the 7-segment displays. Seems like it's always one or two extra bits getting set (segments lighting up) and it seems to be deterministic.
Then I ended up realizing that changing the clock speed affected the behavior. Every slower clock speed I've tried (1, 2, 4, 8, 10 MHz) also displays the corrupted data in the LEDs but to my utter disbelief, running it at 12 MHz "fixed" the corrupted data.
I have already spent a fair bit of time going over the connections for the LEDs, re-soldered the joints, verified continuity and checked for shorts, replaced the latches, and found nothing wrong. Unfortunately I don't have an oscilloscope currently so I haven't been able to actually see what any of the signals are looking like.
But it's strange that everything else on the computer would work perfectly on the first try and this issue would magically go away by increasing the clock speed. I was actually expecting the opposite effect, if anything.
Any thoughts or ideas on this would be appreciated!