The P80: A Z80 CPU built from EEPROMs and other discrete components

125 views
Skip to first unread message

PRL-89

unread,
Aug 6, 2022, 1:45:04 PM8/6/22
to SEBHC
A (long long) while ago I mentioned a project that I was working on—creating a Z80 CPU out of EEPROMs and other discrete components—and that I would post a document detailing the project.  Well, finally, here’s a link to that document:

This is a book-sized document (200+ pages), describing the P80’s design in gory detail.

If you’re interested, read the Introduction and Features sections to get a feel for what this project is about.  If you’re crazy-interested, drill down as far as you like.

The P80 is currently running in the Logisim-Evolution simulator.  I’ve bought most of the EEPROMs and other components I need to build the thing, but haven’t started construction yet.  The front panel and other mechanicals design is in progress.

Most notably missing in the document is the design for the User Interface module that will provide a wireless USB connection to a PC or Mac and a SD card disk subsystem.

Comments, edits and and ideas are always welcome!

As my wife keeps asking, “tell me again why you’re doing this?”

Happy reading!

Paul


Steve Mastrianni

unread,
Aug 6, 2022, 3:00:36 PM8/6/22
to se...@googlegroups.com
My first response is  “why?”, my second response - “listen to your wife”. 8-)

—Steve

--
You received this message because you are subscribed to the Google Groups "SEBHC" group.
To unsubscribe from this group and stop receiving emails from it, send an email to sebhc+un...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/sebhc/31756c08-9d63-4e98-9560-8d27daa9336dn%40googlegroups.com.
--
--Steve

--Dr. Steve Mastrianni

Dave McGuire

unread,
Aug 6, 2022, 5:21:58 PM8/6/22
to se...@googlegroups.com

My first thought was "I know why!", the second was "divorce the wife!"

That sounds like a fantastic project. I'll give it a look, but my
actual first thought is "I want one!"

-Dave

On 8/6/22 15:00, Steve Mastrianni wrote:
> My first response is  “why?”, my second response - “listen to your
> wife”. 8-)
>
> —Steve
>
> On Sat, Aug 6, 2022 at 13:45 PRL-89 <paul....@gmail.com
> <mailto:paul....@gmail.com>> wrote:
>
> A (long long) while ago I mentioned a project that I was working
> on—creating a Z80 CPU out of EEPROMs and other discrete
> components—and that I would post a document detailing the project.
> Well, finally, here’s a link to that document:
>
> https://1drv.ms/b/s!AutOq5wvw8K5qf8T98lIRHJpK4glqA
> <https://1drv.ms/b/s!AutOq5wvw8K5qf8T98lIRHJpK4glqA>
>
> This is a book-sized document (200+ pages), describing the P80’s
> design in gory detail.
>
> If you’re interested, read the Introduction and Features sections to
> get a feel for what this project is about.  If you’re
> crazy-interested, drill down as far as you like.
>
> The P80 is currently running in the Logisim-Evolution simulator.
> I’ve bought most of the EEPROMs and other components I need to build
> the thing, but haven’t started construction yet.  The front panel
> and other mechanicals design is in progress.
>
> Most notably missing in the document is the design for the /User
> Interface /module that will provide a wireless USB connection to a
> PC or Mac and a SD card disk subsystem.
>
> Comments, edits and and ideas are always welcome!
>
> As my wife keeps asking, “tell me again why you’re doing this?”
>
> Happy reading!
>
> Paul
>
>
> --
> You received this message because you are subscribed to the Google
> Groups "SEBHC" group.
> To unsubscribe from this group and stop receiving emails from it,
> send an email to sebhc+un...@googlegroups.com
> <mailto:sebhc+un...@googlegroups.com>.
> <https://groups.google.com/d/msgid/sebhc/31756c08-9d63-4e98-9560-8d27daa9336dn%40googlegroups.com?utm_medium=email&utm_source=footer>.
>
> --
> --Steve
>
> --Dr. Steve Mastrianni
>
> --
> You received this message because you are subscribed to the Google
> Groups "SEBHC" group.
> To unsubscribe from this group and stop receiving emails from it, send
> an email to sebhc+un...@googlegroups.com
> <mailto:sebhc+un...@googlegroups.com>.
> To view this discussion on the web visit
> https://groups.google.com/d/msgid/sebhc/CAJ5fbzHMj3pwTgBmOEq98DNp-smwaNKb_z_zu0xV%3D-NJG0h60w%40mail.gmail.com
> <https://groups.google.com/d/msgid/sebhc/CAJ5fbzHMj3pwTgBmOEq98DNp-smwaNKb_z_zu0xV%3D-NJG0h60w%40mail.gmail.com?utm_medium=email&utm_source=footer>.


--
Dave McGuire, AK4HZ
New Kensington, PA

norberto.collado koyado.com

unread,
Aug 8, 2022, 5:22:51 PM8/8/22
to se...@googlegroups.com
WOW great document! I wish I could write something like this. Congratulations!

To keep the motivation going, here at Intel an employee did something similar. He did spend 1K hrs. on such project. Here is the link on such project. 

He states that debug was very hard:

 I also had bugs, so many bugs. Some bugs were design issues and oversights, and many of them were due to physical and analog phenomena that occurred on the breadboards. I had no idea when starting this project that I will need to invest that much time in fixing issues with signal noise, power delivery, reset and clocks. Also, the debug work got harder and harder the more components I added to the breadboard so I had to build tools for debug as well.




Thanks,
Norberto

From: se...@googlegroups.com <se...@googlegroups.com> on behalf of Dave McGuire <mcg...@neurotica.com>
Sent: Saturday, August 6, 2022 2:21 PM
To: se...@googlegroups.com <se...@googlegroups.com>
Subject: Re: [sebhc] The P80: A Z80 CPU built from EEPROMs and other discrete components
 
To unsubscribe from this group and stop receiving emails from it, send an email to sebhc+un...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/sebhc/7f253bba-7fc6-45ed-8fe1-ada2d720c018%40neurotica.com.

Glenn Roberts

unread,
Aug 8, 2022, 6:51:19 PM8/8/22
to se...@googlegroups.com
Amazing work. I’m wondering how fast these are vs the real thing?

Sent from my iPad

On Aug 8, 2022, at 5:22 PM, norberto.collado koyado.com <norberto...@koyado.com> wrote:


WOW great document! I wish I could write something like this. Congratulations!

To keep the motivation going, here at Intel an employee did something similar. He did spend 1K hrs. on such project. Here is the link on such project. 

He states that debug was very hard:

 I also had bugs, so many bugs. Some bugs were design issues and oversights, and many of them were due to physical and analog phenomena that occurred on the breadboards. I had no idea when starting this project that I will need to invest that much time in fixing issues with signal noise, power delivery, reset and clocks. Also, the debug work got harder and harder the more components I added to the breadboard so I had to build tools for debug as well.


image.png

PRL-89

unread,
Aug 8, 2022, 7:05:14 PM8/8/22
to SEBHC
Thanks Norberto!  That’s a great CPU, modeled after the now ubiquitous Ben Eater 8-bit CPU built on breadboards.  Ben has a huge following; his YouTube videos are fun to watch.

Of course, congratulations are definitely *not* in order here, since I haven’t even started building anything yet!  What I have done so far is designed something, using mostly EEPROMs and a handful of other ICs, that functions like a Z80, including its large CSIC instruction set (the P80 is binary compatible, so I can use any old Z80 or 8080 assembler to assemble existing Z80 programs, or write my own).

The P80  isn’t quite as “discrete” as many other discrete CPUs I’ve seen—check out James Newman’s Megaprocessor, built from 60,000 of transistors—because of its heavy (excessive?) use of EEPROMs (24 in all).  The P80 does proves that a CPU is just a big finite state machine.  I’ve had fun writing the “microcode” for all those EEPROMs.

I think I crossed the 1,000 hour mark on this one quite a while ago, and I’m still very far from the finish line.  But when I’m done, I’ll have a fun, blinky thing to hang on my wall and show the grandkids (“Grandpa, do all those blinking lights mean anything?”).   And I’ll have learned more about CPU design and electronic design in general than I ever expected.

I’m now in the thick of designing the front panel, trying to figure out how best to arrange those 250 LEDs, and how everything with connect together.

If you’re interested in any of this, please let me know, I could certainly use your expertise!

Thanks,

Paul


PRL-89

unread,
Aug 8, 2022, 7:11:33 PM8/8/22
to SEBHC

Hi Glenn, I’ve designed the P80 to run at 1 MHz, hopefully faster.  EEPROMs are likely the limiting factor (they’re relatively slow, 70-150 nsec access time).  I hope it’s fast enough to run CP/M. In theory It could run as an H8 or H89, using the same monitor ROM code.

Paul
Reply all
Reply to author
Forward
0 new messages