Switching between two ICs that share the same socket

I am trying to make a daughter board that will switch between 2 ICs that share the same traces that terminate to one socket on down to the motherboard. I worked up a schematic in Eagle that I thought was a straightforward way by sharing all the traces across all the pins EXCEPT the VCC pins which would be switched with a PCB relay. However, after thinking about this a bit more , I'm pretty certain that it can't be this easy. I'm pretty convinced that just by isolating the VCC pins on the two IC's there is still going to be mixed signals on those 39 other pins from the "off" IC.
So now I am thinking that all the traces have to be blocked from the "off" IC while it's counterpart is active. I thought about using relays, but that's a lot of relays to divert the traces, and will take up a lot of real estate and expense . I started to look at digital bus switches, but I don't quite understand how they work and if they could work similar to a relay. Any thoughts to this? Below is a pic of what I had originally thought up.

It would help to know what chips these are, however they look like I/O devices on a bus.
In that case all you need to do is to switch the MREQ and the IOREQ from one chip to the other. Do not use a relay for this but a data select circuit, either a ready built one or one made from a NAND gate chip or a NOR gate chip.

Thanks Mike. They are both Zilog Z80A chips.

Hi,
Why do you want to switch between Z80A controllers?

Tom.. :slight_smile:

Hoffy84:
Thanks Mike. They are both Zilog Z80A chips.

Even simpler. Just hold one of them in reset.

TomGeorge:
Hi,
Why do you want to switch between Z80A controllers?

Tom.. :slight_smile:

Sorry, I should have gone into more detail about the desired result....

I have an arcade game board that you can add an (already made) daughter board to, to make it "part 2" of that game on the same motherboard.

The original game board uses a Z80A chip (by itself) as the master CPU. In order to convert the game to "part 2", you need to remove the original Z80A from the game board socket, and replace it with the daughter board that has another Z80A chip, but also with some security chips in line with it.

What I am trying to accomplish is a means of switching between part 1 and part 2 of the game, with a remote button on the front of the cabinet, while the game is on, and not having to manually swap the original Z80A (game version 1) with the Z80A/daughterboard module (game version 2).

Grumpy_Mike:
Even simpler. Just hold one of them in reset.

Thanks Mike. I'll pull up the datasheet for the Z80A chip, and study it a bit more, to try and figure out how to accomplish that. I imagine you would need to set that pin continuously high to keep it in reset, or something along those lines.

I imagine you would need to set that pin continuously high to keep it in reset, or something along those lines.

Yes but I think it is the other way round, just keep the reset line of the device you don't want low.

RESET is active low on the Z80, I can visualize the MOSTEK manual still, all the control inputs are active low
in fact since this was the days of TTL. I can probably remember a few dozen Z80 opcodes if I think about it...

I can probably remember a few dozen Z80 opcodes

How is this for geeky:-
At the time of the Z80 there was a Dr. Who episode where The Master had interfered with the software that ran the universe. The Doctor's assistant was reading out this code and it was Z80 machine code in hex. At one point the Doctor said "that's it", and the instruction just read out I recognised as a jump to subroutine. They never made a point about this but some one in the script department must have been a programmer.

Z80 is just a CPU chip, no memory imbedded.... How is changing from one CPU to another, of the same type, going to alter the programming??????????
you need to switch the peripherals (rom's I would think).

Where the heck did those emojis come from?

As an aside - with almost all digital electronics, you must not apply a voltage exceeding Vcc or lower than Gnd to any pin (you get like 0.5v leeway on most chips - see datasheet)

If the device is unpowered, Vcc will be ~0v - so applying voltage to the pins will either damage the chip or cause unexpected behavior (by back-powering the chip through the protection diodes), or both.

This is a general rule - consult the datasheet for the specific parts to be sure that they behave this way.

How is changing from one CPU to another, of the same type, going to alter the programming?

I assume that the second processor has a different memory map, ROM and peripherals, maybe some are shared.

123Splat:
Z80 is just a CPU chip, no memory imbedded.... How is changing from one CPU to another, of the same type, going to alter the programming??????????
you need to switch the peripherals (rom's I would think).

Grumpy_Mike:
I assume that the second processor has a different memory map, ROM and peripherals, maybe some are shared.

That's correct Mike. As I stated, one of the Z80's (the one that enables part 2 of the game) is on a separate daughter board, and has about 6 other chips tied to it on that same daughter board that act as security chips. The original game board itself just had the Z80 chip seated in the socket on the game board directly. AND, there is more to this than just the CPU's. There are a slew of E-proms that need to be re-written and doubled up in order to play part 2 of the game, but that's another story.

So I'm guessing it's still okay to share all the signal paths on all the pins of both Z80's like I had in the schematic, as long as I isolate the RESET pins and toggle their states between one another? I also think I'd want to create a short delay between toggling as well.

So I'm guessing it's still okay to share all the signal paths on all the pins of both Z80's like I had in the schematic, as long as I isolate the RESET pins and toggle their states between one another?

Yes that is fine.

Thanks for the assistance guys!

Grumpy_Mike:
How is this for geeky:-
At the time of the Z80 there was a Dr. Who episode where The Master had interfered with the software that ran the universe. The Doctor's assistant was reading out this code and it was Z80 machine code in hex. At one point the Doctor said "that's it", and the instruction just read out I recognised as a jump to subroutine. They never made a point about this but some one in the script department must have been a programmer.

It figures that the universe is riddled with JMP instructions. When the old episodes of Dr. Who were written, the Z80 was the bomb! Nowadays, I'd suspect the universe runs on Intel i7 code.

Z80 is just a CPU chip, no memory imbedded.... no memory imbedded....

What part of 'no' is being missed here?

What part of 'no' is being missed here?

The part that says are the memory maps of both chips populated by the same components?

123Splat:
Z80 is just a CPU chip, no memory imbedded.... no memory imbedded....

What part of 'no' is being missed here?


If you look at the diagram the OP posted, it is not just a Z80 being swapped with another Z80.
It is a Z80 IC being swapped with a Z80 PCB assembly that uses the Z80 IC pinouts.
Tom.. :slight_smile: