Welcome to our site!

Electro Tech is an online community (with over 170,000 members) who enjoy talking about and building electronic circuits, projects and gadgets. To participate you need to register. Registration is free. Click here to register now.

  • Welcome to our site! Electro Tech is an online community (with over 170,000 members) who enjoy talking about and building electronic circuits, projects and gadgets. To participate you need to register. Registration is free. Click here to register now.

Partial Z-80 computer - Something seems wrong.

Status
Not open for further replies.

dag10

New Member
Hello!

I'm building a Z80 minicomputer on wire-wrapped perforated board. I just finished wiring the address bus and data bus pins to input pins on buffers (A 2-way buffer for the data bus). I connected all unused inputs to +5v, and created a single-step clock. My voltmeter shows that the power supply is +5.01v.

At this point I powered on the computer, took it out of reset, and stepped a couple times, and checked the output of the pins with the voltmeter. They seem odd.

I would normally assume that the address bus value would be incrementing, as the input from the data bus is 0x00000000 (NOP). However, the output of the pins are usually inconclusive, being some weird value between 0v and 5v (usually 1 or 3 something volts). The values of unused outputs and the address bus output doesn't change, whether in reset or not.

Also, the 5v regulator and the center of the Z80 gets really hot after a couple minutes. If I press my finger on the center of the Z80, I can only hold it there for 10 seconds because it is so hot.

Is all of this normal, or is something wrong? If you'd like, I can send pictures of the front/back of the circuit, or I can find the output of every pin and list them.

The schematics are Donn Stewart's Z80 computer. I currently have wired up everything in the following pages:
**broken link removed**

And:
**broken link removed**
Images Copyright Donn Stewart

I also made a little change to the active pin on the Address LO chip, and attached that to a SPSD toggle switch, with it being connected to ground when off. This will allow me to take manual control of the lower 8 bits of the address line when I want to manually reprogram the RAM. Currently it will be 0v, like the schematics say. Also, the clock input on the Z80 is directly attached to the step button.

It seems like it is really wrong, and the heat doesn't seem normal.

Any insight into this would be great! :)


Thanks,
Drew
 
Last edited:

kchriste

New Member
Forum Supporter
A Z80 will get pretty warm. You should be able to touch it without burning your finger though.
You can't expect the address buss of the Z80 to increment in the way you expect because the Z80 has built in DRAM refresh circuitry which uses the address lines between instructions to refresh old DRAM memory whether it's installed or not.
Also, the clock input on the Z80 is directly attached to the step button.
You need to debounce the switch or the address buss activity will appear to be even more random.
 

Hayato

Member
Also, the clock input on the Z80 is directly attached to the step button.

I didn't see that.

As kchristie said you need to debounce.


But I'll go further: Making a "manual clock" is not right. The instructions usually takes more than 1 clock to be executed.

To create a step-by-step, you could use NMI or INT.
 

Nigel Goodwin

Super Moderator
Most Helpful Member
If he cares to search, I posted a posted a scan of the circuit for a simple Z80 based computer on here ages back - but it's really such old and useless technology.
 

Arkham00

Member
If I remember correctly, Z80 (and many other microprocessors of the same age) had a dynamic internal structure that require a minimum clock frequency to work so it's not possible to use a "step clock" to see the microprocessor inner working.

Only the CMOS version of a microprocessor, usually, has full static architecture.
 

jbeng

Member
Nigel Goodwin said:
...but it's really such old and useless technology.
Old, yes. I don't see it as useless unless nothing is learned from it.

Jeff
 

ronsimpson

Well-Known Member
Most Helpful Member
I may say something wrong....I am reaching back decades in my memory....

To single step a Z80 leave the clock going.
M1 signel happens every instruction.
WAIT pin will hold the Z80 back.
I remember a 1 or 2 FF design where a push button cleared the Flip Flops and releasted WAIT. The Z80 ran untill the next M1 where it set the FFs and held the Z80 untill the next button push.

Hope this helps.
 

monkeybiter

Member
If I remember correctly, Z80 (and many other microprocessors of the same age) had a dynamic internal structure that require a minimum clock frequency to work so it's not possible to use a "step clock" to see the microprocessor inner working.

Only the CMOS version of a microprocessor, usually, has full static architecture.

According to my datasheet the Z84C00 [CMOS] are static and will single step on the clock, the Z8400 [NMOS] are not and will not

Originally Posted by Nigel Goodwin
...but it's really such old and useless technology.
Fifth reply, such unusual restraint!:p
 

MrAl

Well-Known Member
Most Helpful Member
Hi there,


I designed and built a Z80 mother board more than 15 years ago, and have
worked with several other computers that used the Z80 too. Unfortunately,
it's been so long since i have even touched a Z80 processor that i cant
remember much about it now except that the all the gating had to be right
or it wont even read the ROM. I have single stepped the 8080 processor,
but never single stepped the Z80 so cant offer any advice there, but from
what others are saying it sounds like there could be an issue with the
chip's ability to single step. You could check the data sheet for your
exact part number and see if it spec's the clock as going down to DC.

If you still are not sure, make up a tiny tiny program that you know for
sure would work in a system that was connected properly. Burn this
into your ROM and see if the ROM clocks normally by looking at the
address lines. A simple program would be a whole bunch of nop's followed
by a jump back to address 0x0000 to run the code again. This will mean
that the processor runs up to a given address and then resets back to
zero and starts all over again. This might help determine if it is working
at all.

It's been so long im not even sure what i did with the schematics anymore.

Anybody remember the Radio Shack TRS80 computer? That has a Z80 too.
Made in the early 1980's, they are certainly outdated now.
 

Nigel Goodwin

Super Moderator
Most Helpful Member
Anybody remember the Radio Shack TRS80 computer? That has a Z80 too.
Made in the early 1980's, they are certainly outdated now.

There was a superior and cheaper clone of it available in the UK, called the 'VideoGenie', imported by a company in the same town as I work. It ran all the TRS80 software, but had a few 'extras' as well.
 
Status
Not open for further replies.

Latest threads

Top