wondras said:This is good... we're running out of things that could be the problem.Seems like it has to be a physical connection issue, so I think the most likely culprit would be your 40-pin ribbon cables.
Are yours homemade? Sometimes a pin won't make contact if the plug isn't crimped on hard enough. Or did you repurpose a CD-ROM or IDE cable? These sometimes have missing wires. I can see you don't have 80-pin cables, which is good, because these definitely wouldn't work.
Wherever they came from, doing an end-to-end continuity test between the Arduino shield and the probe head is probably worth a try.
Side note: I've been meaning to mention for a while that DigiKey will custom assemble twisted-pair ribbon cables using 3M wire and connectors. They ship right away, and the cables look and work great.
![]()
I bought the 20" version for $9.19US/each. Part number is M3CCA-4020K.
https://www.digikey.com/products/en?keywords=M3CCA-4020K
Ok, I'm making some progress... I've been chasing my tail a bit here.
I went back to your driver and made sure I was on the correct Centipede version and did a ROM CRC check and it's giving me the right results.
What was strange is that it wasn't triggering my scope if I has hooked up to the ROM test point. Rather than hooking it up to the ROM test point, I hooked it up to the ROM 0 test point and it triggered when reading 0x2000!
After some further testing and breaking out the Logic Probe, it appears that the ROM CS toggles between different accesses to different addresses. So if I access 0x2000 and it's Low, it will switch to High. Testing 0x2800 would then toggle ROM 0 test point's state... The High/Low toggling might actually be different, just trying to illustrate the issue.
Seems the hardware is functioning so this points to a problem with my driver code not returning memory results correctly. So time to dig into that....
Thanks for everyone's help!