I have quite a soft spot for the Z80 myself. This is a great way to introduce the Z80 in a way that is easily understandable so you can work up to a more complex setup with a real ROM etc. Great to see the timing signals at a speed that can be comprehended too.
This turned out to be a handy video for me. I was troubleshooting an RC2014 Z80 Board I had just built but something wasn't right. M1 was constantly low. I remembered watching this video some time ago and decided to breadboard this just like you did. Guess what?!? Turns out I had a bum Z80. Out of a tube of six, I pulled the one bad one. I know this because, yes, while I had the breadboard built, I swapped out all the other chips and confirmed they work. My RC2014 Z80 Board appears to be working correctly too! One other thing that helped, if you don't get activity on M1 after applying power, you can momentarily connect the reset pin to ground (remember, it already has a pullup resistor). This is occasionally necessary since we don't have a power-on-reset circuit yet. Next up, building an EPROM programmer. I already have an Arduino EEPROM programmer and I've seen some projects to add the voltages needed to turn this into an EPROM programmer. I haven't decided if I'll use the 2764s (8K) I have or get some 27256s (32K) and save on some wiring. I also have some 8K SRAM chips but 32K chips would be nice.
I went ahead and built this project from this video with spare parts I had. A couple of notes, as Julian noted, use 220 ohm resistors on your LEDs and your CPU won't heat up. Also instead of just setting the RESET flag high, hook it up to a switch so you can momentarily set the flag to LOW. Connecting power to the CPU doesn't always guarantee a good start. I have to hit reset before proper operation occurs. Finally, I don't know how he did it but I had no potentiometers that fit nicely across pin 6 and 7 of the 555 timer or one that fit nicely in the holes of the bread board even though I have ones that look like his. I used a couple of 100k resistors along with a 1uF cap and got 4.7Hz. Whiz-Bang idea of the day: Soldering resistors to your LEDs. Saves space on the breadboard. Kudos to Julian and thanks!
You're quite right - reset needs a switch - I used a piece of wire, but it never made it into the video (must have lost it in the edit). Cheers Edward :)
You are a genius! This was awesome! I love Z80, but in my ~20 years with it, I never thought of something so simple like this. I never ever imagined connecting LEDs directly to its pins! I thought it'd blew up immediately.
I loved the Z80. Zilog had created a far better CPU than Intel's 8080. However it does have to be said that it wasn't cheap to use; especially if one used all of the Z80 family of support chips. These included DMA controller, clock, usart and an interrupt controller. I am sure I have missed a few vital ones. It was the i7 of its day. It was very easy to write assembly for. Later I went on to work with 6502s. Then I came to realise that architecture was almost like the "philosophy" of the way it was programmed. The superiority of one architecture over another was not so simple as one might assume. Thank you for this presentation. I confess to dampened eyes when you brought out the Zilog manual. Happy new year.
I would imagine it would be easy enough to use a transistor pulldown circuit to actually drive the LEDs. A bias resistor could easily stay within the operating current of a Z80 and still keep the base of the transistor from floating effectively. I've had a look around and one can still get brand new Z80 chips for those wondering. There are also some BGA packages that would work for this though harder to use as they are mostly SMD packages and as such, hard to use on a breadboard without some sort of bodged shield with headers to plug it in. Great video on the more intricate nature of a Z80. This was fun.
in 1979, or thereabouts, I used to use a NOP tester to diagnose faults on Z80 system boards, just a CPU with the data lines soldered to a wire that pulled them all to ground. The advantage is that the CPU is going through all of the data/ram addresses, each address line being at half the frequency of the preceding bits. Thus you can 'scope out the address lines all round the board. You can do it with a 6502 (Commodore PET etc.) but the NOP is a different op code (iirc!).
A number of years ago I built a 'Bigboard II" single-board computer that was based on the z80 chip. When it didn't work at first (which turned out to be due to solder bridges), I pulled the 74LS245 data bus buffer chip and soldered a bit of bare wire that grounded all of the data bus pins, which effectively caused the chip to continuously execut NOPs. This gave square waves on each of the address bus lines, each one half the frequency of the next, a nice troubleshooting tool. I still have that board. :-)
@ 1:55 - that Z80 CPU is a 4Mhz part not 2.5Mhz. It's a newer one, made in the 27th week of 1987 and uses a different numbering scheme than the older ones. Z0840004PSC - the ''04'' in that specifies the max speed it runs at, in this case 4Mhz. The Z80 is awesome to code for. The wildest trick I ever saw was massive abuse of the DRAM refresh register 'r' to store something in the 7th bit (which is apparently unused), and using the rest of it as a seed for a pseudo random number generator!
My first computer was a Z80 with 32 kilobytes of RAM 2 kilobyte of ROM and twin 5.25" (512kB) floppies running CPM. It was an amazing system which ran Wordstar word processor and a spread sheet. Its amazing that computers now have gigabytes memory!
And now all my computer architecture classes from 1986 suddenly make sense. Cheers for an really lovely walk down memory lane while at the same time connecting the dots between software and hardware. Really enjoyed that! Oh Happy new year to you too.
I learned assembly programming on a Z80 and it baffled me when other processors didn't use 0 for NOP. It was a great bit of nostalgia watching one wired up this way and hearing about the op codes again after all these years.
I was excited there for a second, a Z80 project. But flashing leds? Now come on Julian, we know that you can design whole projects based on one of these, let's see something worthy of the chip.
most interesting use of the Z80 psuedo rom and instructions. my first ever job interview was with ocean software working as a machine code programmer on the ZX81...brings back some lingering memories this video...great struff Julian!
I learned so much in middle/high school from my Z80 powered MicroAce (ZX80 clone with 2x the memory, a full 4k!) It amuses me that the icon we click on now to run a program would not even fit in that memory space.
There seems to be a revival in the Z80 scene. There are now multiple Z80 "homebrew" type systems with a few of them even running CP/M, and the odd few even ported onto an FPGA. The RC-14 seems to be the easiest to get and it's made in the UK.
Something which occurred to me is that this would be great for techno-cosplay, where someone wants to dress up as a robot or cyborg. You could use an old CPU (perhaps with some transistors as buffers to get rid of the overheating problem) to drive a nice flashing light display to give that retro-tech feel to the costume.
Well Julian, You made my evening ! What a blast from the past- getting that 35+ year old Z80 chip up and running again. Remembering my Timex Sinclair ZX80, my first personal computer with that old chip and 8kb ram. Those were some fun long evenings learning to program in Basic with it. Amazing to see that old chip performing again- magic I say. Thank you very much ! Going to bookmark this video to watch again.
Many years ago in high school ( I'm 42 now), I found a book at the library called 'how to build your own robot pet'. It was written in the 70's (I think), but was about building a robot 'dog', that used sonar eyes, and voice recognition. All based on the Z80. I read it cover to cover. Couldn't put it down. Fast forward several years, I recently found that book at a thrift shop for a buck. I later found at another thrift shop a black box with some cool switches and LEDs called a pack rat. I took it home and found a goldmine of Z80s and EEPROMs and RAMs. Very cool stuff. I love these videos. Thanks and keep it up.
Well I feel stupid. I went back and looked at the book again, it used the Intel 8085A. It did say you could use a Z80 instead though. And it's called 'how to build your own working robot pet' by Frank DaCosta.
Wow - rekindled my love of the Z80 - Going to build this baby with a few extras so my other half can use it in the teaching world - maybe even do a blog about it.
That would make a great basic Z-80 tester. I started out with RCA Cosmac CDP1802. It had internal Sixteen 16 bit registers, so you could toggle in an LED flash program through DMA directly. The only external components would be a resister and an LED. My 30 year career at Boeing allowed my to work with many manufacturers micros and I ended my time at Boeing with PIC microcontrollers. Still do PICs as a hobby today
This was a great video. Everything from "faking" an instruction to using LEDs to watch the chip request addresses sequentially. Just excellent. Thanks!
Great video Julian. I'd love to see the Z80 series get expanded with an example of how to read a program from a rom, and memory mapping some output chip to drive some LEDs. It would be a lot more complicated though, but oh what fun :)
Excellent. I did similar in the late '70s with the INS 8060 CPU that Sinclair used in the MK14. A UK magazine ran a series of articles showing how to use a toggle switch to SINGLE clock the CPU, and present data on the data lines using switches, such that the effect of each clock cycle and data could be seen.
Great video! Takes me back to my ZX80 / 81 & Spectrum programming days! I recall when I FIRST discovered I could run LEDs from the external expansion port on my ZX81, and then decided to exchange the LED for a Motor. *That* was when I learned what current was as well... As I peered into the smoking remains of the Z80 after it went "POP!".
Now that, I like. I've got some Z80 based units I often have to repair, I'll get busy with the VERO board in the next few days and get myself a little CPU tester built. Fabulously creative idea of using the resistors on the data bus to load an instruction. Many thanks.
I'm sure you get a lot of suggestions, so add this one to the list. Upon fiddling with the circuit myself, I found it's much more effective when using an output to drive an LED to instead just make a MOSFET driver to drive the LEDs. In my own experiences I've found even with a 220ohm resistor, the green LEDs were very dim, plus it lowers the output pin's voltage to whatever the LEDs forward voltage is. In my case it was ~ 2.5v. Great project though. I used this very project to "break my CPU cherry". Being that I'm Canadian i've always grown up with 6502 systems, C64, NES and so on. I never knew a lot about the Z80 and I've even found 6502 assembly to be easier. Anywho, thanks for making this video. It gave me the inspiration to make this and try different variations on it. Cheers, brother.
the old days for me too back in the 80's when I worked for Ampex Corp. in Redwood City Ca. working with Rockwell 6502 cpu with rom chip, ram chip and latch chip , all on one board as a working board. the old days before Mcu's all on one chip..
Not only that, but a Z80 on a tiny breadboard? Who would have "thunk" it! I would have killed for this circuit some 30 years ago when I was a teen and just learning electronics. I had a CPU DIP chip and had no idea what to do with it.
+Dog Rox me too, although that was a few upgrades in lol, my schools BRAND NEW computer room had (the state of the Art) BBC micro using bbc basic 10 this is boring 20 even more than that 30 when is break time 40 in 20 min oh no ;) when my older brother got an 88 I was so jealous
I took computer science in school. I was the only student in the class. No one else was interested in it. It was an old Tandy computer and not the beloved Coco's which didn't exist back then , hehe! yes I was learning basic but I didn't think it was boring at all because I was learning how to make games like pong and a alternate version of tic-tac-toe. Which I found quite interesting.
You don't need to UV erase that EPROM every time you program it if you use a bit of trickery. You could use code at the start to determine where your new code begins or simply use dip switches (or wires) on the high bits of the address bus. Both have their own advantages/disadvantages but either way it saves a lot of time (and wear on the EPROM) if your code is small. A 32kB EPROM could last a long time before you need to erase it. Works with EEPROMs too of course but the savings are less.
And it shouldn't be too hard to make a programmer using an Arduino so you don't even need to buy one. And of course we know you have a 12V PS somewhere! ;-)
Robert George I still remember trying to implement graphics on a 48k Spectrum from assembler code. The way the addressing for the screen worked was very difficult to work with (in my view). Still fun though :)
love it :) my first ever computer was a ...Sinclair zx80, then upgraded it to a zx81, hooked up to an old 20 inch black and white TV display lol and it's tape drive with old modem sounds I upgraded it to a vic 20, then a commodore 64 before the Amiga ... wow those were the days my friends (we thought they'd never end ;p)
Actually, you'll find that the Z80 from 1987 on your breadboard is in fact a Z80A. Zilog stopped using the A/B/H suffixes, and instead put the actual clock frequency at the end of the long symbol. This one is Z0840004, so it's a 4Mhz chip, equivalent to the previous Z80A. I have a Z084C0008 chip, which is also marked Z80, but it''s a 8MHz version, which previously was dubbed Z80H, and additionally it's a C-MOS device, making it a static chip (meaning you can stop the clock completely) and less power-hungry :) Apart from that - very ingenious demonstration of the Z80 in action :) Cheers from Poland :)
That was fun to watch. I was a 6502 guy around the time you were a Z80 guy (Commodore VIC 20, Oric 1) and you have put the longing on me to revisit my youth and try the same thing with a 6502. If you haven't already seen it, you (and anyone else geeky enough to love this video) should check out Quinn Dunki's blog where she describes the process of building a 6502-based computer (called Veronica) completely from scratch.
My first computer was a Digital Group kit with a Z80A. I never thought you could get a Z80 to do something interesting without RAM and all the other necessary support chips, and IO cards. The 5hz clock was brilliant. I was concerned when you started connecting LEDs directly to the chip, but it survived!
Nice video, Julian. It brings back memories of my first foray into computing: a two day intro to the 8080 on a tutor board (all LEDs and toggle switches) back in 1978. I was hooked at that point and it set the direction of my career. Now I'm retired and back bit twiddling with Arduinos and the like :)
I have a whole bunch of 8051 chips that are also left over from tinkering in the '80s. By comparison, it is hard to believe what we have available today to tinker with (and at such low prices).
Julian I must admit that most of your videos go over my head but I love watching them your presentation is brilliant and subject matter very interesting. Keep up the great videos.
Loved this video, My first introduction to the Z80 was using the Micro professor board that included all the peripheral chips to interface components to.
Very interesting old timer electronics. I read up on the z80 back then, but never got round to using it, I messed with the 6502 instead, I had a board with the 6502, adress decoder (3 bit to 8 line 74ls chip), rom, ram and a parallel port chip. Sort of a early arduino. I wrote some code using the bbc b computers assembler, but a mate of mine wrote code driectly in hex, bonkers. I built a msf clock using the z80, a rewbichron 2 from practical electronics, the system only used a rom chip, no ram.
I have just tried this, it was great fun and a lot of learning! I'd accidentally started with my breadboard the other way up so negative is on the top rail, and that might be why I accidentally plugged in my address LEDs the wrong way around and they were counting down instead of up - that was a learning moment when I realised what I'd done there! Using my DSO138 scope to see what's happening was interesting too especially on the MREQ pin when I tried instruction 0x18. I did keep feeling for heat from the chip but not noticing anything - then i read that CMOS chips don't get as hot as NMOS and I've got a 10MHz CMOS chip here. Thanks Julian and keep doing bonkers stuff from time to time!!
Thoroughly enjoyed that step back in time Vid Julian although the 6502 was the only CPU I did anything with. Produced a program in Assembler which used all of the BBC B Computer memory.
Absolutely fascinating video!! I learnt more in 20 minutes than I managed as a 10y old child writing basic and trying (and failing) to use a ZX Spectrum Assembler software compiler my father had rather ambitiously bought me one Christmas in the 80's :) More Z80 videos. I love the nostalgia!!
Wonderful video Julian! My first computer was Technical Design Labs (TDL) Z-80 kit. Your video brought back wonderful memories of Z-80 machine code. I always enjoy your videos.
You really should have transistors driving those LEDs off the address bus, but it sure is an interesting exercise. 😀 Never did much with the Z80, as I was more exposed to the SC/MP, 6800/09, 6502 and [later] 68k, but Zilog really shook up the 8bit scene with the Z80 and quickly gained a lot of fanboys. My first MPU hands on was with the SCaMP via the SoC MK14 kit (big regret selling that!! 😬), but my first intro was the Intel 4040 based PE Champ - anyone remember that?
There are many LEDs now that are 'high efficiency' and will make plenty of light with only 1mA. These would work well on this project without stressing the Z80.
Congratulations ! this video is just awesome. I just made my first NOP computer with an old Z80 I had in my basement. Thanks for a such illuminating lesson of how computers work !!
Hey Julian, I used those chips too in some video game boards and I am going to try and copy your project. it looks like fun. its a pretty fascinating chip.
Cool project, Julian. Takes me back to the late 70's writing firmware for the Z-80 on a Mostek development system. Your video makes me want to pull one of the old chips out and see if it still works, even if it's only executing a hardwired NOP! Thanks for sharing.
when in the marines some of the Telephone switch boards used the z80 processors I know they have the z81 also so I had some and wanted to experiment and put it in the switch board in place of the z80 and was surprised it worked.
Just watched ben eaters 6502 videos, love these old and simple(r) CPUs. I'd love to make a diy 8 bit computer with only switches and leds on the front panel (well maybe some 7 segs)
Thank you, nice video! I wanted to try that in the 1980s too, but back then the hobbyist LEDs took way too much power to operate, especially when you try to turn them all on at once on the data lines. I always had to use a ULN 2003 or transistors on the output.
Clever video you developed and loved it! I miss the Z80A. Exposed initially to Z80A via MSX (coleco) which eventually died in the mid '80's. Loved the two sets of registers! Still a great CPU.
Totally fascinating video, Julian! I've only really had a rudimentary idea of how the various components of a computer's architecture communicate so this was really interesting. Z80 ICs are pretty cheap too. Thanks for sharing!
I love your use of ROM... Resistor Only Memory
That's good - I like that :)
I have quite a soft spot for the Z80 myself. This is a great way to introduce the Z80 in a way that is easily understandable so you can work up to a more complex setup with a real ROM etc. Great to see the timing signals at a speed that can be comprehended too.
This turned out to be a handy video for me. I was troubleshooting an RC2014 Z80 Board I had just built but something wasn't right. M1 was constantly low. I remembered watching this video some time ago and decided to breadboard this just like you did. Guess what?!? Turns out I had a bum Z80. Out of a tube of six, I pulled the one bad one. I know this because, yes, while I had the breadboard built, I swapped out all the other chips and confirmed they work. My RC2014 Z80 Board appears to be working correctly too!
One other thing that helped, if you don't get activity on M1 after applying power, you can momentarily connect the reset pin to ground (remember, it already has a pullup resistor). This is occasionally necessary since we don't have a power-on-reset circuit yet.
Next up, building an EPROM programmer. I already have an Arduino EEPROM programmer and I've seen some projects to add the voltages needed to turn this into an EPROM programmer. I haven't decided if I'll use the 2764s (8K) I have or get some 27256s (32K) and save on some wiring. I also have some 8K SRAM chips but 32K chips would be nice.
I went ahead and built this project from this video with spare parts I had. A couple of notes, as Julian noted, use 220 ohm resistors on your LEDs and your CPU won't heat up. Also instead of just setting the RESET flag high, hook it up to a switch so you can momentarily set the flag to LOW. Connecting power to the CPU doesn't always guarantee a good start. I have to hit reset before proper operation occurs. Finally, I don't know how he did it but I had no potentiometers that fit nicely across pin 6 and 7 of the 555 timer or one that fit nicely in the holes of the bread board even though I have ones that look like his. I used a couple of 100k resistors along with a 1uF cap and got 4.7Hz. Whiz-Bang idea of the day: Soldering resistors to your LEDs. Saves space on the breadboard. Kudos to Julian and thanks!
You're quite right - reset needs a switch - I used a piece of wire, but it never made it into the video (must have lost it in the edit). Cheers Edward :)
The blue LEDs around 20:50 are spot on for 80's sci-fi computer lights !
Great educational video...enjoyed that.
You are a genius! This was awesome! I love Z80, but in my ~20 years with it, I never thought of something so simple like this. I never ever imagined connecting LEDs directly to its pins! I thought it'd blew up immediately.
A few resistors to program it, love it. Imagine doing that on a PI - most people would start with 'install Linux'!
This is one the best tutorials i‘ve ever seen on youtube. You should poste a parts list. It‘s perfect to explain microprocessors!
Actually a very interesting video. Gives you an idea how these microprocessors work at electrical level. Thumbs up
Thanks Klaus
I loved the Z80. Zilog had created a far better CPU than Intel's 8080. However it does have to be said that it wasn't cheap to use; especially if one used all of the Z80 family of support chips. These included DMA controller, clock, usart and an interrupt controller. I am sure I have missed a few vital ones. It was the i7 of its day. It was very easy to write assembly for. Later I went on to work with 6502s. Then I came to realise that architecture was almost like the "philosophy" of the way it was programmed. The superiority of one architecture over another was not so simple as one might assume. Thank you for this presentation. I confess to dampened eyes when you brought out the Zilog manual. Happy new year.
I would imagine it would be easy enough to use a transistor pulldown circuit to actually drive the LEDs. A bias resistor could easily stay within the operating current of a Z80 and still keep the base of the transistor from floating effectively. I've had a look around and one can still get brand new Z80 chips for those wondering. There are also some BGA packages that would work for this though harder to use as they are mostly SMD packages and as such, hard to use on a breadboard without some sort of bodged shield with headers to plug it in. Great video on the more intricate nature of a Z80. This was fun.
in 1979, or thereabouts, I used to use a NOP tester to diagnose faults on Z80 system boards, just a CPU with the data lines soldered to a wire that pulled them all to ground. The advantage is that the CPU is going through all of the data/ram addresses, each address line being at half the frequency of the preceding bits. Thus you can 'scope out the address lines all round the board. You can do it with a 6502 (Commodore PET etc.) but the NOP is a different op code (iirc!).
This reminded me of 8086, wonderful days. I feel sad now. 😣
A number of years ago I built a 'Bigboard II" single-board computer that was based on the z80 chip. When it didn't work at first (which turned out to be due to solder bridges), I pulled the 74LS245 data bus buffer chip and soldered a bit of bare wire that grounded all of the data bus pins, which effectively caused the chip to continuously execut NOPs. This gave square waves on each of the address bus lines, each one half the frequency of the next, a nice troubleshooting tool. I still have that board. :-)
@ 1:55 - that Z80 CPU is a 4Mhz part not 2.5Mhz. It's a newer one, made in the 27th week of 1987 and uses a different numbering scheme than the older ones. Z0840004PSC - the ''04'' in that specifies the max speed it runs at, in this case 4Mhz.
The Z80 is awesome to code for. The wildest trick I ever saw was massive abuse of the DRAM refresh register 'r' to store something in the 7th bit (which is apparently unused), and using the rest of it as a seed for a pseudo random number generator!
My first computer was a Z80 with 32 kilobytes of RAM 2 kilobyte of ROM and twin 5.25" (512kB) floppies running CPM. It was an amazing system which ran Wordstar word processor and a spread sheet. Its amazing that computers now have gigabytes memory!
Brilliant Julian - I wish I had this kind of instruction when I was an apprentice in the 80's - very easy to understand.
And now all my computer architecture classes from 1986 suddenly make sense. Cheers for an really lovely walk down memory lane while at the same time connecting the dots between software and hardware. Really enjoyed that! Oh Happy new year to you too.
Great Video!
Professor Julian lives and breathes Z80...you couldn't ask for clearer, more understandable explanation. Thank you!
I learned assembly programming on a Z80 and it baffled me when other processors didn't use 0 for NOP. It was a great bit of nostalgia watching one wired up this way and hearing about the op codes again after all these years.
I was excited there for a second, a Z80 project. But flashing leds? Now come on Julian, we know that you can design whole projects based on one of these, let's see something worthy of the chip.
most interesting use of the Z80 psuedo rom and instructions. my first ever job interview was with ocean software working as a machine code programmer on the ZX81...brings back some lingering memories this video...great struff Julian!
Thanks for the memories ! back in the days I started to fiddle with assembler, 8080 and z80 ! Very instructionnal for those younger lads !!
I learned so much in middle/high school from my Z80 powered MicroAce (ZX80 clone with 2x the memory, a full 4k!)
It amuses me that the icon we click on now to run a program would not even fit in that memory space.
Using LEDs on the address and i/o lines is a neat way of demonstrating a CPU's function!
There seems to be a revival in the Z80 scene. There are now multiple Z80 "homebrew" type systems with a few of them even running CP/M, and the odd few even ported onto an FPGA. The RC-14 seems to be the easiest to get and it's made in the UK.
Better be careful there, Mr. Ilett. At 5Hz, you might be overclocking that little puppy
Wow...WOW! I didn't think you could get a microprocessor running with so little support circuitry. What a cool demo Julian. Thanks!
Excellent video/tutorial. Very well explained.
I did some assembly back in the days on the Z80.
Something which occurred to me is that this would be great for techno-cosplay, where someone wants to dress up as a robot or cyborg. You could use an old CPU (perhaps with some transistors as buffers to get rid of the overheating problem) to drive a nice flashing light display to give that retro-tech feel to the costume.
Well Julian, You made my evening !
What a blast from the past- getting that 35+ year old Z80 chip up and running again.
Remembering my Timex Sinclair ZX80, my first personal computer with that old chip and 8kb ram.
Those were some fun long evenings learning to program in Basic with it.
Amazing to see that old chip performing again- magic I say.
Thank you very much ! Going to bookmark this video to watch again.
Many years ago in high school ( I'm 42 now), I found a book at the library called 'how to build your own robot pet'. It was written in the 70's (I think), but was about building a robot 'dog', that used sonar eyes, and voice recognition. All based on the Z80. I read it cover to cover. Couldn't put it down. Fast forward several years, I recently found that book at a thrift shop for a buck. I later found at another thrift shop a black box with some cool switches and LEDs called a pack rat. I took it home and found a goldmine of Z80s and EEPROMs and RAMs. Very cool stuff. I love these videos. Thanks and keep it up.
Well I feel stupid. I went back and looked at the book again, it used the Intel 8085A. It did say you could use a Z80 instead though. And it's called 'how to build your own working robot pet' by Frank DaCosta.
Wow - rekindled my love of the Z80 - Going to build this baby with a few extras so my other half can use it in the teaching world - maybe even do a blog about it.
Well done. 7 years and it's still relevant!
+julian ilett, I love this episode! Hardcoded single byte ROM! Very creative! Useless, but very interesting. I totally enjoyed it. Kudos!!!
Brings back memories at Wang Labs in Lowell, Massachusetts. My 1st 3 R&D projects starting in 1980 were Z80 designs.
This facultative lobotomy was awesome! Thanks for letting me understand how the Ghost works :)
Brilliant! Takes me back to building a Z80 based microcomputer on a great university course back in 1986-ish.
Fond memories of entering octal code (like the 8080, nothing lined up in hex) on my home brew wire wrapped Z80 in '77.
That would make a great basic Z-80 tester. I started out with RCA Cosmac CDP1802. It had internal Sixteen 16 bit registers, so you could toggle in an LED flash program through DMA directly. The only external components would be a resister and an LED. My 30 year career at Boeing allowed my to work with many manufacturers micros and I ended my time at Boeing with PIC microcontrollers. Still do PICs as a hobby today
This was a great video. Everything from "faking" an instruction to using LEDs to watch the chip request addresses sequentially. Just excellent. Thanks!
Very interesting and very well explained. Took me back to my 6502 days many moons ago. Keep 'em coming
Great video Julian. I'd love to see the Z80 series get expanded with an example of how to read a program from a rom, and memory mapping some output chip to drive some LEDs. It would be a lot more complicated though, but oh what fun :)
Absolutely amazing explanation of the Z80! I almost feel like I understand it (a tiny bit). Thanks!
Excellent. I did similar in the late '70s with the INS 8060 CPU that Sinclair used in the MK14. A UK magazine ran a series of articles showing how to use a toggle switch to SINGLE clock the CPU, and present data on the data lines using switches, such that the effect of each clock cycle and data could be seen.
AWESOME Julian! I think I threw away a Z80 in an old UPS and I am now regretting it because I could've recreated your amazing lightshow!! THANKS!
Great video! Takes me back to my ZX80 / 81 & Spectrum programming days! I recall when I FIRST discovered I could run LEDs from the external expansion port on my ZX81, and then decided to exchange the LED for a Motor. *That* was when I learned what current was as well... As I peered into the smoking remains of the Z80 after it went "POP!".
Now that, I like. I've got some Z80 based units I often have to repair, I'll get busy with the VERO board in the next few days and get myself a little CPU tester built. Fabulously creative idea of using the resistors on the data bus to load an instruction. Many thanks.
I'm sure you get a lot of suggestions, so add this one to the list. Upon fiddling with the circuit myself, I found it's much more effective when using an output to drive an LED to instead just make a MOSFET driver to drive the LEDs. In my own experiences I've found even with a 220ohm resistor, the green LEDs were very dim, plus it lowers the output pin's voltage to whatever the LEDs forward voltage is. In my case it was ~ 2.5v.
Great project though. I used this very project to "break my CPU cherry". Being that I'm Canadian i've always grown up with 6502 systems, C64, NES and so on. I never knew a lot about the Z80 and I've even found 6502 assembly to be easier. Anywho, thanks for making this video. It gave me the inspiration to make this and try different variations on it. Cheers, brother.
the old days for me too back in the 80's when I worked for Ampex Corp. in Redwood City Ca. working with Rockwell 6502 cpu with rom chip, ram chip and latch chip , all on one board as a working board. the old days before Mcu's all on one chip..
This is like a year of my City and Guilds 223 course in half an hour, brilliant. !
And this is the reason why I watch this channel! This is very educational. a lot learned! great job :-)
Not only that, but a Z80 on a tiny breadboard? Who would have "thunk" it! I would have killed for this circuit some 30 years ago when I was a teen and just learning electronics. I had a CPU DIP chip and had no idea what to do with it.
I'm 53 years old and I was working with Commadore 64 computers back in the eighties. Those were the good old days. :-)
+Dog Rox me too, although that was a few upgrades in lol, my schools BRAND NEW computer room had (the state of the Art) BBC micro using bbc basic
10 this is boring
20 even more than that
30 when is break time
40 in 20 min oh no ;)
when my older brother got an 88 I was so jealous
I took computer science in school. I was the only student in the class. No one else was interested in it. It was an old Tandy computer and not the beloved Coco's which didn't exist back then , hehe! yes I was learning basic but I didn't think it was boring at all because I was learning how to make games like pong and a alternate version of tic-tac-toe. Which I found quite interesting.
You don't need to UV erase that EPROM every time you program it if you use a bit of trickery. You could use code at the start to determine where your new code begins or simply use dip switches (or wires) on the high bits of the address bus. Both have their own advantages/disadvantages but either way it saves a lot of time (and wear on the EPROM) if your code is small. A 32kB EPROM could last a long time before you need to erase it. Works with EEPROMs too of course but the savings are less.
And it shouldn't be too hard to make a programmer using an Arduino so you don't even need to buy one. And of course we know you have a 12V PS somewhere! ;-)
I still have a zx81, with 16kb ram expansion and even a tape deck. :D
Me too, although it's the american version Timex 1000. Still works flawlessly and slowly ! lol !
Up in my dad's loft, there sits a dusty zx81, which was my first computer. I don't think it works anymore.
Me too. This brought back some wonderful memories of Z80 and 6502 fiddling. Thanks!
Robert George I still remember trying to implement graphics on a 48k Spectrum from assembler code. The way the addressing for the screen worked was very difficult to work with (in my view). Still fun though :)
i have several zx81s, plus a good few spectrums! lovely machines, even with their 'peculiarities' ;-)
love it :) my first ever computer was a ...Sinclair zx80, then upgraded it to a zx81, hooked up to an old 20 inch black and white TV display lol and it's tape drive with old modem sounds
I upgraded it to a vic 20, then a commodore 64 before the Amiga ... wow those were the days my friends (we thought they'd never end ;p)
Actually, you'll find that the Z80 from 1987 on your breadboard is in fact a Z80A. Zilog stopped using the A/B/H suffixes, and instead put the actual clock frequency at the end of the long symbol. This one is Z0840004, so it's a 4Mhz chip, equivalent to the previous Z80A. I have a Z084C0008 chip, which is also marked Z80, but it''s a 8MHz version, which previously was dubbed Z80H, and additionally it's a C-MOS device, making it a static chip (meaning you can stop the clock completely) and less power-hungry :)
Apart from that - very ingenious demonstration of the Z80 in action :) Cheers from Poland :)
Sharp made an electronic typewriter with a Z80 inside, lots of Sharp branded ICs in it.
Think I binned the PCB long ago, as no one wanted it for free.
That was fun to watch. I was a 6502 guy around the time you were a Z80 guy (Commodore VIC 20, Oric 1) and you have put the longing on me to revisit my youth and try the same thing with a 6502. If you haven't already seen it, you (and anyone else geeky enough to love this video) should check out Quinn Dunki's blog where she describes the process of building a 6502-based computer (called Veronica) completely from scratch.
My first computer was a Digital Group kit with a Z80A. I never thought you could get a Z80 to do something interesting without RAM and all the other necessary support chips, and IO cards. The 5hz clock was brilliant. I was concerned when you started connecting LEDs directly to the chip, but it survived!
Nice video, Julian. It brings back memories of my first foray into computing: a two day intro to the 8080 on a tutor board (all LEDs and toggle switches) back in 1978. I was hooked at that point and it set the direction of my career. Now I'm retired and back bit twiddling with Arduinos and the like :)
I have a whole bunch of 8051 chips that are also left over from tinkering in the '80s. By comparison, it is hard to believe what we have available today to tinker with (and at such low prices).
Julian I must admit that most of your videos go over my head but I love watching them your presentation is brilliant and subject matter very interesting. Keep up the great videos.
Loved this video, My first introduction to the Z80 was using the Micro professor board that included all the peripheral chips to interface components to.
Takes me back many, many years. Thanks for a brilliant project I will be trying soon!
Your doorbell (11:14) sounds exactly like ours and it fooled me twice ... :-)
Thanks for the nice video!
Very interesting old timer electronics.
I read up on the z80 back then, but never got round to using it, I messed with the 6502 instead, I had a board with the 6502, adress decoder (3 bit to 8 line 74ls chip), rom, ram and a parallel port chip.
Sort of a early arduino.
I wrote some code using the bbc b computers assembler, but a mate of mine wrote code driectly in hex, bonkers.
I built a msf clock using the z80, a rewbichron 2 from practical electronics, the system only used a rom chip, no ram.
I have just tried this, it was great fun and a lot of learning! I'd accidentally started with my breadboard the other way up so negative is on the top rail, and that might be why I accidentally plugged in my address LEDs the wrong way around and they were counting down instead of up - that was a learning moment when I realised what I'd done there! Using my DSO138 scope to see what's happening was interesting too especially on the MREQ pin when I tried instruction 0x18. I did keep feeling for heat from the chip but not noticing anything - then i read that CMOS chips don't get as hot as NMOS and I've got a 10MHz CMOS chip here. Thanks Julian and keep doing bonkers stuff from time to time!!
Absolutely great! The Z80 was my favourite back in the day. [Oh so long ago :) ] Please can we have more of this type of video.
this marks the start of microcontroller tutorials :) I like this
This is where Julian feels at home - in the engine room of an 8-bit CPU :)
take a look here ! zx80.netai.net/grant/z80/SimpleZ80.html you can make it !!
Akarsh Agarwal That's a microprocessor.
yeah brainstorm. my bad. he flashed LEDs with it so i called it microcontroller. xD
Thoroughly enjoyed that step back in time Vid Julian although the 6502 was the only CPU I did anything with. Produced a program in Assembler which used all of the BBC B Computer memory.
This by FAR is the best z80 instructional video I have seen yet.
Very entertaining video, learning about these old chips. Would have loved to see the clock speeds up to the max so that all the LEDs blink like crazy
Nice educational video! Great way to visualise the signals. So nice!
Absolutely fascinating video!!
I learnt more in 20 minutes than I managed as a 10y old child writing basic and trying (and failing) to use a ZX Spectrum Assembler software compiler my father had rather ambitiously bought me one Christmas in the 80's :)
More Z80 videos. I love the nostalgia!!
I also cut my teeth on the Z80! We are SO spoiled nowadays with the Pics and Atmega's. Lots of nostalgia here!
Really enjoyed this! Takes me back to my youth learning assembler on by brothers Nascom 1 Z80 based kit computer in the late 70's.
Very interesting! And not something I've seen elsewhere!
Love it! One of the best microprocessors ever made, nice to see one dusted off. Great job!
Excellent demo, you make a superb teacher Julian. thanks
Wonderful video Julian! My first computer was Technical Design Labs (TDL) Z-80 kit. Your video brought back wonderful memories of Z-80 machine code. I always enjoy your videos.
Z80 in the title? An instant like.
www.instructables.com/id/Z80-Monitor-Type-Operating-System-and-SBC/
very fun project and great video just getting back to Z80 fun and got a couple of spectrums to play with as I lost my TRS-80 when moving
You really should have transistors driving those LEDs off the address bus, but it sure is an interesting exercise. 😀 Never did much with the Z80, as I was more exposed to the SC/MP, 6800/09, 6502 and [later] 68k, but Zilog really shook up the 8bit scene with the Z80 and quickly gained a lot of fanboys. My first MPU hands on was with the SCaMP via the SoC MK14 kit (big regret selling that!! 😬), but my first intro was the Intel 4040 based PE Champ - anyone remember that?
sequri I remember the 4040 champ! Didn't build it, but did get a sc/mp though, great little computer.
There are many LEDs now that are 'high efficiency' and will make plenty of light with only 1mA. These would work well on this project without stressing the Z80.
Doesn't get much simpler. Very good.
What a great way to learn about CPUs.
Takes me back to connecting peripherals to my Jupiter Ace ...
Congratulations ! this video is just awesome. I just made my first NOP computer with an old Z80 I had in my basement. Thanks for a such illuminating lesson of how computers work !!
Hey Julian, I used those chips too in some video game boards and I am going to try and copy your project. it looks like fun. its a pretty fascinating chip.
Cool project, Julian. Takes me back to the late 70's writing firmware for the Z-80 on a Mostek development system. Your video makes me want to pull one of the old chips out and see if it still works, even if it's only executing a hardwired NOP! Thanks for sharing.
when in the marines some of the Telephone switch boards used the z80 processors I know they have the z81 also so I had some and wanted to experiment and put it in the switch board in place of the z80 and was surprised it worked.
Just watched ben eaters 6502 videos, love these old and simple(r) CPUs. I'd love to make a diy 8 bit computer with only switches and leds on the front panel (well maybe some 7 segs)
Brigs back memories..programming it in hex machine code from a ZX Spectrum!
Thank you, nice video! I wanted to try that in the 1980s too, but back then the hobbyist LEDs took way too much power to operate, especially when you try to turn them all on at once on the data lines. I always had to use a ULN 2003 or transistors on the output.
perfect intro to the Z80. Thanks, much appreciated
Very nice illustration of how the Z80 works. I'd love to see you build on this and create a simple breadboarded sbc.
Clever video you developed and loved it! I miss the Z80A. Exposed initially to Z80A via MSX (coleco) which eventually died in the mid '80's. Loved the two sets of registers! Still a great CPU.
Thanks, I've successfully tested my Z80 proc with your method(flashing LEDs), and I now start to plan my really own computer... Thanks!
On the 14th of January will be the 10 year anniversary of when you started this channel.
My first computer, a Sony MSX, had a Z80
Totally fascinating video, Julian! I've only really had a rudimentary idea of how the various components of a computer's architecture communicate so this was really interesting. Z80 ICs are pretty cheap too. Thanks for sharing!