You know, that sounds VERY much like the PiStorm I was having... Just one data line reading wrongly.exxos wrote: Tue Nov 10, 2026 9:22 pm Some progress tonight, and for once something that actually repeats.
BUSTEST copies blocks of data between ST RAM and TT-RAM in every combination and checks every byte. With the 68030 caches off, both my board and Greg's pass. With the caches on, both boards fail, and only on copies between TT-RAM and ST RAM. Copies within ST RAM or within TT-RAM pass. On Greg's board it failed badly and then hung, so we don't have the detail from his yet. On my board it fails rarely, but the two errors I have caught tell us a lot.
Both errors were exactly the same. The same byte of test data ($F7) was copied from TT-RAM to ST RAM and came back as $FF. Only one data line was wrong, D11 on the 68000 side (D27 on the 68030), and it read as 1 when it should have been 0. The two errors were at different ST RAM addresses, but it was the same piece of data both times, so this is not random noise. It depends on the data pattern.
The failing byte is always the last part of a misaligned long write to ST RAM. The CPU splits that into three ST bus cycles: a byte, a word, then a byte. It is that last byte that goes wrong. D11 is low in the cycle before it and low in the byte itself, so the line never actually changes, yet it still ends up as a 1. It only happens with the caches on, where the CPU runs those ST bus cycles back to back with no gaps.
So this looks like a timing problem at the point where the ST bus is switched between cycles, rather than a bad solder joint or faulty RAM. The fact that two boards show the same thing points the same way.
I have written a small test program that repeats that exact copy thousands of times a second, so hopefully we can make it fail on demand. That will make it much quicker to test firmware changes and hardware changes, instead of waiting 20 minutes for one error.
The fix for the PiStorm was a 47pF capacitor on the clock line from the motherboard. It gained a harmonic which made a step in the voltage just where the clock passed the TTL/CMOS transition voltage.
Maybe something to look at using a high bandwidth 'scope.

