Pony80 - Z80 CPU Architecture - My Z80 homebrew computer!

Ғылым және технология

In this video, I will be discussing the architecture of the Z80 processor, how it addresses memory and I/O, and how instructions are processed.
I also get the Z80 onto the breadboard and working!
The Pony80 is a Z80 based 8-bit computer that I built from scratch.
In this series, I will be taking a deep dive into everything I wish I had known before starting!
Please visit my website. I have links, schematics for the videos I’ve released and more! ponytailbob.com/pony80-z80-ar...
And join me on Twitter to keep up with new videos! / ponytailbob
Also, visit my Patreon site. I have extra content and behind the scenes videos for my patrons.
/ ponytailbob

Пікірлер: 47

  • @SPimentaTV
    @SPimentaTV2 ай бұрын

    The best explanation of the Z80 basics so far! Very well explained 👌

  • @juliust.5650
    @juliust.5650 Жыл бұрын

    Loved the Z80! Learned assembly on the TRS-80 Model III/4.

  • @damouze
    @damouze Жыл бұрын

    For I/O requests, the Z80 actually does put a complete 16-bit value onto the address bus. For simple I/O instructions like in A, (n) and out (n), A the CPU puts the contents of the A register onto the high 8 bits of the address bus and the immediate value n onto the low 8-bits of the address bus. The instructions out (C), A and in A, (C) put the entire contents of the BC register onto the address bus. So, while this is undocumented, the Z80 actually did have a 16-bit I/O address space.

  • @Pony80

    @Pony80

    Жыл бұрын

    Been toying with using this for a vga interface… I will post a video if I can get it to work.

  • @reinoud6377

    @reinoud6377

    8 ай бұрын

    ​@@Pony80Did you ever manage to do so?

  • @VVerVVurm
    @VVerVVurm Жыл бұрын

    I enjoyed the video! nice introduction :)

  • @Pony80

    @Pony80

    Жыл бұрын

    Thank you! Enjoyed the chat!

  • @tijuthomas6793
    @tijuthomas6793 Жыл бұрын

    I am planning to make a simple 8bit game console (just learning stage) your videos make me easy to understand, so please upload more microprocessor videos :)

  • @Pony80

    @Pony80

    Жыл бұрын

    That's a great idea! I definitely have more to upload once I finish them! Thanks for watching!

  • @colonelbarker
    @colonelbarker Жыл бұрын

    I'm really, really loving your videos. I ended up with a tube of z80s a few months ago and have been dying to do something with them. Thanks for making this so clear and easy to follow along. Looking forward to more.

  • @Pony80

    @Pony80

    Жыл бұрын

    Thanks for the encouragement!!!

  • @colonelbarker

    @colonelbarker

    Жыл бұрын

    @@Pony80 always! It can be hard making videos without that positive reinforcement to keep it up. Is the plan to build the whole system on a breadboard before moving it to PCBs? (I mean obviously you have, but in terms of the discussion of the operation.) Also I was wondering why you went with the 14 rather than the 4, I assume the scmitt trigger was to help clean up the clock signal a bit?

  • @Pony80

    @Pony80

    Жыл бұрын

    In my first build, I converted breadboards to PCB to keep the wires under control. Replicating the 16-bit address bus and the 8-bit data bus to each breadboard was becoming unmanageable. I will probably do the same here, create the backplane, and each card as it is proved out on the breadboard. Also, to be honest, I used a 14 because I had it on the bench. I just did some comparisons with the 04 and the 14 and it didn't make too much different on the clock signal. Good catch tho... Keep me honest!

  • @colonelbarker

    @colonelbarker

    Жыл бұрын

    @@Pony80 If I'm honest I'm fairly new and wanted to make sure I hadn't missed something obvious! I'm currently making the Ben Eater cpu and yeah, unmanageable is one word for it!

  • @Pony80

    @Pony80

    Жыл бұрын

    I did the Ben eater cpu too!! This is what got me started on this journey!

  • @jimsmind3894
    @jimsmind3894 Жыл бұрын

    I'll very much enjoy seeing where you go with this! I have a few Z80's I tinker with, working on a similar project myself in my spare time. Eventually I'll recreate the 80's computer I never had, probably Spectrum compatible. At the moment I'm using a PIC microcontroller to 'emulate' the bus, for clock, memory and serial IO. I'm planning to expand with physical ROM & RAM, eventually a graphics output. Trying to figure out which components to use nowadays, and how complex I want to make it. I still need to fully understand how bank switching works, it seems the sensible way to go today. John's Basement channel has some great videos and Grant Searle's original Z80 homebrew computer webpage, both an excellent source of info. Good luck! May the magic pixie smoke stay contained!

  • @Pony80

    @Pony80

    Жыл бұрын

    Thanks!! I plan on implementing bank switching for the memory. I didn’t have it on the first one I made. EEPROM chips are harder to come by these days. I have a bunch on order that are due in August of 23!

  • @jimsmind3894

    @jimsmind3894

    Жыл бұрын

    @@Pony80 Hehe, yes! Same problem. I'm looking at avoiding ROM and using all NVRAM instead. It seems fast enough, and easier to get.

  • @tijuthomas6793
    @tijuthomas6793 Жыл бұрын

    Sir, awesome video, can you make more videos about single board computer using 8086, Pentium etc..

  • @____________________________.x
    @____________________________.x Жыл бұрын

    I was just thinking while watching the paging video, that I should build a little board with leds/resistors on 🙂

  • @Pony80

    @Pony80

    Жыл бұрын

    I have the schematics on my website. I should also upload the gerber files…

  • @____________________________.x

    @____________________________.x

    Жыл бұрын

    @@Pony80 oh neat, thanks

  • @emoutraspalavras-marloncou4459
    @emoutraspalavras-marloncou4459 Жыл бұрын

    Thank you for the project! I am interested in building it to serve to its original purpose: embedded systems and robotic applications! I wonder which pins work as gpios and how call that "port" in the assembly code. A capture and compare mode is available with for ultrasonic sensors and PWM generation?

  • @Pony80

    @Pony80

    Жыл бұрын

    I talked a bit about utilizing ports in the memory module video, because we use a port to turn the ROM off and on. I will also be talking about it a lot more in the upcoming LCD video. That should be out this weekend.

  • @physnoct

    @physnoct

    8 ай бұрын

    "which pins work as gpios" A Z80 microprocessor doesn't have any GPIOs or peripherals (capture & compare or PWM). You'll find those in a microcontroller, with flash and RAM.

  • @b213videoz
    @b213videoz2 ай бұрын

    Can it play River Raid ?

  • @garyjohnson4608
    @garyjohnson4608 Жыл бұрын

    Watching your video, I don't see any markings of any kind on the z80 chip itself. I know that the pin designations on the block diagram of the chip are not where they are on the actual chip. So, with that in mind, how does one know which pins are which on the chip itself ?

  • @Pony80

    @Pony80

    Жыл бұрын

    On the left hand side of the chip in the video, you can see a semicircular cutout. That indicates pin 1 is on the bottom left. Then it goes in order from 1-20, left to right, on the bottom, and then 21-40, right to left on the top side.

  • @kimchristensen2175

    @kimchristensen2175

    Жыл бұрын

    It's pretty much standard for DIP ICs. Look up "Dual in-line package" on Wikipedia and scroll down to "Orientation and lead numbering".

  • @davidrosset4457
    @davidrosset4457 Жыл бұрын

    My z80 only lights up all data LED’s and keeps lighting up RD and MR simultaneously, then shutting them off again. Do you think I have a bad chip?

  • @Pony80

    @Pony80

    Жыл бұрын

    That’s hard to say… what else do you have connected to it?

  • @davidrosset4457

    @davidrosset4457

    Жыл бұрын

    @@Pony80 the connections are the same as you have on 20:51

  • @goupigoupi6953
    @goupigoupi6953Ай бұрын

    Really, is there a static version of Z80? All that I could find stopped working at 1-200 Hz.

  • @Pony80

    @Pony80

    Ай бұрын

    Yes. The part number I am using is Z84C0008PEG. I got them from Mouser.com

  • @goupigoupi6953

    @goupigoupi6953

    Ай бұрын

    @@Pony80 Thank you, I'll definitely try to use that.

  • @quantisedspace7047

    @quantisedspace7047

    Ай бұрын

    Wasn't the 'down to zero Hertz' referring to the original Z80, not any modern model ? I was always led to believe that the 'fully static' was emergent, and not a design requirement. I seem to remember that you can stop the clock, but only in the high state, something to do with internal bus drivers being partially asynchronous. Someone else on YT tried it but stopping the clock caused addresses to jump.

  • @flyguille
    @flyguille Жыл бұрын

    Also you can do LD IXh, a .... LD a, IXh , most 8bits operations can be donde with IXh IXl, IYh, IYl, they just forget to document those. .

  • @flyguille

    @flyguille

    Жыл бұрын

    This happen because 0xDD and 0xFD, just switch the enable signal from HL to IX or IY for only the next instruction.

  • @SpeccyMan

    @SpeccyMan

    Жыл бұрын

    @@flyguille It's not generally considered good programming practice to use undocumented opcodes.

  • @AbcXyz-rn2lz
    @AbcXyz-rn2lz8 ай бұрын

    Serial PWM modem and bbs

  • @RetroEcoChicken
    @RetroEcoChicken7 ай бұрын

    couldnt figure out why my computer didnt work, finally realised that just because my clock signal was blinking it dosent mean that the chip was getting a zero when the light went off so i tied it trough a resistor and now ram rom and cpu works just fine.

  • @vanhetgoor
    @vanhetgoor Жыл бұрын

    Can the Pony do tricks?

  • @2kBofFun

    @2kBofFun

    10 ай бұрын

    One trick ;)

  • @Pony80

    @Pony80

    10 ай бұрын

    It will!!

  • @joefish6091
    @joefish6091 Жыл бұрын

    65536 IO, there are some 16 bit IO instructions. HD64180 10MHz Z8S180 33MHz the above have very nicel inbuilt DMA MMU CNC serial. Z86 series can do Harvard or von Neuman if desired.

Келесі