So I was working on a Pac board for a friend that was dying at boot with symptoms of bad VRAM. I swapped out all of the RAMs only to have the problem persist.
After hooking up the 9010A and screwing around for a while with diagnostic ROMs I realized that VRAM was getting written to correctly, but it could not be read from correctly – all reads returned the same value, regardless of the RAM address. I realized a bit later that any reads from ALL non-ROM locations (RAM, I/O, etc.) were returning the same value. This value ended up bring the value at memory location 0x00, or the first byte of the first ROM.
I figured the VRAM addressor board was OK because since I could see correct stuff on screen, it was addressing VRAM correctly. I was also seeing the WR, and WE lines toggle as expected on the CPU, and RAMs. However, it seems like data was not making it past the Z80 Sync Buss Controller (SBC).
I reached out to a repair group I am in with the details of what I was seeing but got a whole lot of responses that indicated they did not actually read what I wrote since they kept asking about testing things I already discussed in the post, so I abandoned that effort.
Turning my attention back to the Z80 SBC I started looking at things with a logic probe and scope and started clipping pins to see if I could figure out what was wrong. After socketing and replacing the parts that I clipped, I stumbled upon the problem. One of the ‘374s on the Z80 SBC was bad,
The behavior of the board and problem was the same with this chip removed. Once it was socketed and replaced, the diagnostic ROMs passed without issue and the game ROMs ran normally as well.
An odd problem I had not seen documented before, but there you have it.