• Please review our updated Terms and Rules here

Repair help: DIY Z80 CPU exerciser

fjkraan

Experienced Member
Joined
Jul 30, 2003
Messages
181
Location
Netherlands
Hi,

Often people attempt to fix vintage computers with limited knowledge and equipment. Here a relative cheap tool that can help in the process of making a proper diagnostic. If you expect to repair more than one computer, this could be a useful tool. It is based on an Arduino Mega which is connected to the board instead of the Z80 processor. It allows you to check the address, data and control lines without the confusing signals of a Z80 fetching, reading, writing and refreshing at Megahertz speed. It requires some soldering, but that is part of fixing computers...

See http://fjkraan.home.xs4all.nl/digaud/arduino/Z80exer/

It was fun to make (especially because it worked in the end :)). Note: I do not sell shields or cables.

Fred Jan
 
Fred,
It sure looks like an interesting project. I could use one to help diagnose two Radio Shack Model 1's that don't power up anymore.

What is the exact model Arduino Mega you used? What additional Arduino shields are required? And what else besides Multiconductor cable and Pins for the Z80 Socket?
I see Spark Fun Electronics has the Mega 2560 R3 available plus all the shields. https://www.sparkfun.com/products/11061

Is there also a Development system for the Arduino? I'm not familiar with what is available for it.

Thanks for the information.

Larry
 
Hi Larry,

The Arduino I use the Mega 2560 R3, like the one from Sparkfun. You do not really need a shield as such, just a reliable way to get the 37 pins (and ground) to the Z80 socket. There is an empty shield for the Mega 2560, but I found it too expensive, so made one myself. The one at Sparkfun is ok, but with some shopping around, you can get a clone for much less $. But do not use an Arduino Due. It is 3V only and a different processor.

There is an easy to use IDE for the Arduino boards found at http://www.arduino.cc/en/Main/Software. Programming is done in a C++ dialect, but for simple programs like this, it is simple and straight forward. There is a ton of example programs (called sketches) and libraries for specialized functions and hardware to connect. But this program only uses the very basics of the language.

Fred Jan
 
Last edited:
Fred,
Thanks for the tip on the Clone. I've located one at a reduced price.

Now I have four questions for you.
1. I assume you connect the Z80 GND pin to the Arduino GND Pin. Is this correct?
2. I assume you DO NOT connect the Z80 +5 VDC Pin to the Arduino, but the Arduino's (40-x) pins are sourced from the Arduino's Power Source. Is this correct?
3. What other Z80 Pins are NOT CONNECTED to the Arduino's Home Brew Shield?
4. Where did you locate the SIP Pins that connect to the Z80 IC Socket and from Home Brew Shield to Arduino? Do you have a Part Number, Manufacture Name, and Source for them?

Thanks.

Larry
 
Fred,
Thanks for the tip on the Clone. I've located one at a reduced price.

Now I have four questions for you.
1. I assume you connect the Z80 GND pin to the Arduino GND Pin. Is this correct?
Correct.
2. I assume you DO NOT connect the Z80 +5 VDC Pin to the Arduino, but the Arduino's (40-x) pins are sourced from the Arduino's Power Source. Is this correct?
Correct. You need a computer to control the Arduino. This delivers power to the Arduino over the USB port.
3. What other Z80 Pins are NOT CONNECTED to the Arduino's Home Brew Shield?
The clock signal. With more than 1 MHz it is too fast to do something useful with it.
4. Where did you locate the SIP Pins that connect to the Z80 IC Socket and from Home Brew Shield to Arduino? Do you have a Part Number, Manufacture Name, and Source for them?
I did buy some of this, but cannot find the supplier just now. It is very similar to RS Stock No. 655-2872 at http://uk.rs-online.com/. But I didn't buy a bag of 20 :).
An alternative is a more regular IC socket like Mouser Part No: 575-11044640 (the one with round pins). It has the same pin size, usable for IC-sockets.

Fred Jan
 
Fred,
Thanks for the answers. Yes, I forgot about not needing the CLOCK Signal from the Z80 Socket to the Arduino Home Brew Shield.

Now, I see a few differences in your website Photo's. Photo Z80exerShield.jpg has some type device in the top right portion of the photo,
and it has RED & BLACK wires attached. Would it perhaps be the Arduino RESET Pushbutton added to the Home Brew Shield? I don't
see a mention of it in the READ.ME file. Can you tell us what the device is?

In that same Photo I see the following Pins with NO WIRES Laid down. Pin 6 (Clock - OK), Pin 11 (+5 VDC - OK), and Pin 29 (GND - ??).
Not having Pin 29 (GND) connected to the Arduino seems strange. Is it wired different somehow so the Model 1's GND is tied to
the Arduino Direct? Or, am I misisng something? Maybe the Photo isn't current with what is actually wired underneath the Shield.
Will you also post a photo of the bottom of the Home Brew Shield?

Thanks for you work, and the software updates. It is greatly appreciated.

Larry
 
Now, I see a few differences in your website Photo's. Photo Z80exerShield.jpg has some type device in the top right portion of the photo,
and it has RED & BLACK wires attached. Would it perhaps be the Arduino RESET Pushbutton added to the Home Brew Shield? I don't
see a mention of it in the READ.ME file. Can you tell us what the device is?
Yes, the board evolved a bit between the two photos. The device is indeed a reset button. Very handy as the original button cannot be reached with a shield installed.

In that same Photo I see the following Pins with NO WIRES Laid down. Pin 6 (Clock - OK), Pin 11 (+5 VDC - OK), and Pin 29 (GND - ??).
Not having Pin 29 (GND) connected to the Arduino seems strange. Is it wired different somehow so the Model 1's GND is tied to
the Arduino Direct? Or, am I misisng something? Maybe the Photo isn't current with what is actually wired underneath the Shield.
Will you also post a photo of the bottom of the Home Brew Shield?

The photo of the back side is here:http://fjkraan.home.xs4all.nl/digaud/arduino/Z80exer/Z80exerShieldSolderSide.jpg. As you can see, the GND is there. This was the shortest path to ground.

Fred Jan

P.S. Just today I found a real DIY in-circuit-emulator for the Z80: http://www.vintage-computer.com/vcforum/showthread.php?41111-Z80-In-Circuit-Emulator.
 
Fred,
I finally finished fabricating my Z80 Exerciser. I've not actually tested it yet on a Z80 Board......

THANKS, for the Latest Software Update.

THANKS AGAIN! GREAT PROJECT!


Larry
 
Back
Top