The set-up outlined on the previous page depended on a lot of Z80 bus signals to be tapped. One way I could do it was to run a lot of wires to various places on the PCB, wiring the new hardware into the board permanently. I wasn't really charmed by the idea and thought up a different one, inspired by upgrade cards made for old Macs which didn't have upgrade slots yet: I could de-solder the Z80 from the main board, solder an IC socket in its place instead, then plug my board into the socket and the Z80 into a second socket located on the board. That way, I could both tap into the Z80s bus and isolate the Z80s BREQ-line, without needing to alter too much on the arcade machines PCBs.This what I eventually soldered together:
It's basically a piece of SRAM connected to the Z80s bus and a crystal oscillator to give the Z80 a clock signal. Coupled with the Z80 on the PCB, this makes for an extremely small but functional Z80 system, great for testing if everything worked... and if it didn't, the worst that could happen is me blowing up a few euros worth of replacable chips, instead of a complete arcade cabinet.
I tested this contraption by making the Z80 into a big and stupid co-procesor for the AVR: on boot-up, the AVR would write a program to the SRAM chip that would cause the Z80 to add the values of two memory locations and store the result in a third. The AVR would then reset the Z80, which would run the program. Now, by writing two bytes to the memory, it could delegate the hugely difficult task of adding two eight-bit numbers to the (slower) Z80! I think this is one of the more idiotic things to do with two processors working together, but if anything it proved the concept: the Z80 kept running and the AVR got back the correct result every time.