(Topic ID: 179517)

Z80 Club

By Sheprd

7 years ago


Topic Heartbeat

Topic Stats

  • 25 posts
  • 12 Pinsiders participating
  • Latest reply 1 year ago by Sheprd
  • Topic is favorited by 8 Pinsiders

You

Linked Games

Topic Gallery

View topic image gallery

zilog_z80 (resized).jpg
Matrix (resized).JPG
1024px-Z80_arch.svg (resized).png
Z80 SS (resized).JPG

You're currently viewing posts by Pinsider Sheprd.
Click here to go back to viewing the entire thread.

#1 7 years ago

Need a place to discuss the coolest of early CPUs and machines based on it! I just brought home a Game Plan Old Coney Island, and it brings back a lot of memories of the days that I used to design with the Z80. As I get time, I will post some information on just why the Z80 is such a cool CPU.

Mac

#3 7 years ago

Ok, any discussion of the Z80 has to start with an understanding of difference between static and dynamic RAM. Almost all microprocessors use dynamic RAM which is cheaper. The Z80 is somewhat unique in that it uses static RAM. Dynamic RAM requires that you continually "refresh" it with clocked signals. Static RAM, on the other hand, is more like a set of flip-flops that toggle between two states and stays that way until you change it (or remove power). NVRAM is a type of static RAM that retains its state even when power is removed. The Z80 did not have NVRAM.

Why is it cool that the Z80 uses static RAM? Because it allows you to take control of the clock, and gate it, or STOP it, without disrupting the operation of the CPU. If you tried to do that with a 6800, the internal memory would immediately lose the refresh and fail to work.

Why would you want to stop the clock on a Z80? By stopping the clock, you can then pulse the clock signal to "single step" the CPU. Every data line and control signal will act just as they do in full speed operation. You can watch the byte by byte operations of the instructions on the Z80 address and data busses in real time... slowed down to human time.

I built a simple monitor circuit to display the data and address lines, decoded into HEX for easy reading, along with LEDs for the R/W and other control lines. With the simple single step circuit, I could step the operations of the Z80 step by step to debug any software that I wrote. To do this with a 6800, you needed fancy logic analyzers and a "software development system" to do debugging. Even then you could not see the interoperation functions between the hardware chips. This is such a great learning tool that it should be used to teach new engineers how computers really work. Its truly "hands on" when you see data being read from the EPROM at an address, then loaded into a register in the Z80, then rewritten to a different address or to a peripheral chip.

It was also VERY helpful in debugging hardware. If you have a short or open circuit on any of the address or data bus, it was pretty easy to stop the Z80 and see the conflict with a simple oscilloscope or even a volt meter.

Next time, I will talk about some other unique cool aspects of the Z80, such as hardware vectored interrupts and the hardware block move commands.

#4 7 years ago

For those that want to dig deeper, here is a link to a very good online book written back in 1981 that helped the home hobbyist build their own computers: https://books.google.com/books?id=mVQnFgWzX0AC&printsec=frontcover&hl=en#v=onepage&q&f=false

In this book is a single step circuit to allow you to see the machine cycles as operations occur.

Z80 SS (resized).JPGZ80 SS (resized).JPG

#5 7 years ago

Does anyone know of any pinball manufacturers other than Game Plan that used the Z80?

#11 7 years ago
Quoted from G-P-E:

Sold it to a computer museum in Germany.

Very cool!

#12 7 years ago

Back in the day, Intel had the lion's share of the microprocessor business with their 8080. Federico Faggin and Ralph Ungermann who worked on the 4004 and 8080 at Intel left in 1974 to start Zilog. By 1976 they had created the Z80. The recipe for success when choosing hardware has always been: "Select the software that will meet your business need, and buy hardware that runs that software well." They knew that they could do better than the 8080, and still keep code compatibility. The Z80 was designed from the ground up to be code compatible with the 8080 but have more capability to run the existing base of software better and faster.

Zilog looked at the software that was consuming the clock cycles and set out to offload the software from performing time consuming looping and polling. They put in place clever hardware to automate the tasks and speed up operations. Rather than executing dozens of the 8080 commands to read, write, increment, and loop until a block of data was copied from one location to another, they created new commands that would allow you to write the from, to, and count into registers and then the hardware would complete the action without having to reload the operation code over and over. This was blinding fast and very efficient.

Today, efficiency has given way to ease of use. Programmers don't write code in assembly language and many programmers don't know what goes on down at the hardware level. Higher level languages obfuscate the inner workings but allow the programmer concentrate on writing more complex code rather than simple fast efficient code, and writing code that runs on multiple platforms rather than optimizing to take advantage of unique hardware. Back in the day, resources were scarce. There was only 64K of usable address space, RAM and EPROM were expensive, and you had to make the most given the limitations. Those limitations are long gone, which breeds the bloatware that we have today.

Ken Shirriff's blog is a nice reference for the architecture of the Z80: http://www.righto.com/2014/10/how-z80s-registers-are-implemented-down.html

1024px-Z80_arch.svg (resized).png1024px-Z80_arch.svg (resized).png

1 week later
#13 7 years ago

Working on my Z80 based Game Plan "Old Coney Island!" and realized that none of the documentation includes a switch matrix diagram. Created the one below:

Matrix (resized).JPGMatrix (resized).JPG

The ACC-RST is the accounting reset button on the CPU board. The grey boxes are switches near the coin door. All others are on the playfield.

Mac

1 week later
#16 7 years ago

The RAM discussion was referring to the internal memory on the Z80 (registers and such), not the external RAM, which as you mention is auto-refreshed by the Z80.

Picture of the original ceramic DIP:zilog_z80 (resized).jpgzilog_z80 (resized).jpg

3 years later
#23 3 years ago

If you have not seen this, it looks promising for you GamePlan owners:

https://pinside.com/pinball/forum/topic/early-announcement-of-a-game-plan-mpu-redesign

1 year later
#24 2 years ago

Here is another GamePlan Z80 board that is in testing now: https://www.epinball.com/posts/gp-mpu/

11 months later
#25 1 year ago

Checkout http://gameplanpinball.com lots of good info there.

Promoted items from the Pinside Marketplace
$ 98.99
Boards
PinballReplacementParts
Boards
$ 129.99
Boards
PinballReplacementParts
Boards
From: $ 30.00
Cabinet Parts
Rocket City Pinball
Cabinet parts
From: $ 5.00
Lighting
Cobra Amusements
Lighting
$ 19.00
Electronics
PinballReplacementParts
Electronics
Hey modders!
Your shop name here

You're currently viewing posts by Pinsider Sheprd.
Click here to go back to viewing the entire thread.

Reply

Wanna join the discussion? Please sign in to reply to this topic.

Hey there! Welcome to Pinside!

Donate to Pinside

Great to see you're enjoying Pinside! Did you know Pinside is able to run without any 3rd-party banners or ads, thanks to the support from our visitors? Please consider a donation to Pinside and get anext to your username to show for it! Or better yet, subscribe to Pinside+!


This page was printed from https://pinside.com/pinball/forum/topic/z80-club?tu=Sheprd and we tried optimising it for printing. Some page elements may have been deliberately hidden.

Scan the QR code on the left to jump to the URL this document was printed from.