Z80 Computer - Part 8 Testing Input

Поделиться
HTML-код
  • Опубликовано: 25 окт 2024

Комментарии • 21

  • @nebbsie
    @nebbsie 7 месяцев назад +1

    Loving this series so far! You have motivated me to give it a go!

  • @knghtbrd
    @knghtbrd Год назад +1

    Something not clear from your explanation (unless I missed it (which is possible) is the or gate on the '244. Your other video and the datasheet make this very clear: The '244 is a dual quad buffer, not a single octal buffer. That means there are two /OE lines, but they each control a nybble, so to use it as an octal buffer you do want them both tied together and you do need the OR gate to select when it is active.
    This is unlike certain chips (memories most often) where they have two or three enable lines that allow you to save an individual gate. The fact that this kind of thing still comes up today is why you see 1G parts in SMD format.

    • @SteveRaynerMakes
      @SteveRaynerMakes  Год назад

      Yes maybe I didn't cover that point in enough detail. As you rightly say, each enable line is only controlling one half of the chip. So we can't connect our two control lines to them directly. If we did, when one of our control lines went low, only half of the 244 buffer would be activated. And it would also be activating at the wrong time, such as during a memory read. So we need the OR gate to combine our 2 control lines so that we get one combined signal that only goes low during an IO read. An then we must tie the two enable lines on the 244 together so that both halves operate at the same time. The 244 is simply 2 quad buffers in a single package.

  • @alfredomeurer634
    @alfredomeurer634 Год назад

    Mr Steve, good evening.
    Could you please to show the program for those 6 X DM9368 to read the Z80 addresses and the bus Output.
    Thank you very much for your help.

  • @phils_arcade
    @phils_arcade Год назад

    Very nice. Really interested to see the actual keyboard you designed in the previous video connected up and allowing output.
    Can you show the wiring on the underside of the board? I know it looks like a birds nest, but it would help understand the complexity of what you're doing as the nice clean circuit on top looks so clean and serene.

    • @SteveRaynerMakes
      @SteveRaynerMakes  Год назад +1

      there is an image of the back of the board in the community section of the channel, if that's what you mean

  • @phils_arcade
    @phils_arcade Год назад +1

    Looking at the Z80 processor and see there are a number of different versions. Is it that the clock speed is the only difference? Would be interested in a possible future project for myself. Actually just read that there are CMOS versions as well up to 50Mhz.
    Max Clock:
    Z80 : 2.5MHz
    Z80A : 4MHz
    Z80B : 6MHz
    Z80H : 8MHz
    The eZ80 CPU is one of the fastest 8-bit CPUs available today, executing code up to four times faster with zero wait-state memory than a standard Z80 operating at the same frequency.
    Do these all use the same instruction set?
    Have you looked into other variants of the chip?

    • @SteveRaynerMakes
      @SteveRaynerMakes  Год назад +1

      I took a look at the eZ80 versions. They look very interesting. They have a 24bit address bus and lots of on-chip peripherals. They seem to have a compatibility mode and can run programs designed for the original Z80. I could not find the instruction set, but with all these new features there must be different instructions. I would also presume they have some 24bit registers. I'm wondering if you would use a higher-level language such as C or C++ along with a compiler. As programming in assembly language these days would seem like a huge waste of time.

    • @phils_arcade
      @phils_arcade Год назад +3

      @@SteveRaynerMakes When I first started programming it was on these Z80 and 6502 CPUs all in assembler. Coders have no idea what it used to be like fault finding your code back in the day, lol.

  • @nick1austin
    @nick1austin Год назад +1

    3:50 The diodes look correct to me. The bar end indicates the cathode which goes to negative. The triangular end is the anode or positive.

    • @SteveRaynerMakes
      @SteveRaynerMakes  Год назад +1

      Yeah, but I'm also showing a ground symbol when it should be a +5v symbol. These are active low signals and I want the LED to light when the signal goes low. I actually corrected it before I made this video, but I've not yet uploaded the correct version to github.

    • @melkiorwiseman5234
      @melkiorwiseman5234 Год назад

      The way I think of it is that the bar end is the "negative-seeking" end of the diode, so positive comes out of that end and is "seeking" the negative side in order for current to flow.

  • @ivolol
    @ivolol Год назад +1

    You might want some small debounce caps on your stepping buttons, I think usually 1 or 10nF

    • @melkiorwiseman5234
      @melkiorwiseman5234 Год назад

      Debouncing can be done in software, but it's easier to do it in hardware. I second your suggestion.

    • @SteveRaynerMakes
      @SteveRaynerMakes  Год назад

      Yes, there is a 100nF capacitor on the stepping button, it's also passed through a Schmitt trigger inverter. But very strange it did feel like it missed a step there.

    • @SteveRaynerMakes
      @SteveRaynerMakes  Год назад

      @@melkiorwiseman5234 For the single stepping of CPU cycles it has to be done in hardware.

    • @melkiorwiseman5234
      @melkiorwiseman5234 Год назад +1

      @@SteveRaynerMakes Strictly speaking, that's not true, but single-stepping in software does require an Operating System to support it.
      In a Z80 system, the call to start the program is intercepted and the first instruction is examined to find out its length, then the following instruction is copied and replaced with a RST (restart) instruction which "calls" the single-step routine in the OS. The OS then overwrites the RST instruction with the copied instruction before allowing the user to examine the saved machine state and then step the program again (which again finds the next instruction, saves a copy and replaces it with a restart before returning control to the program).
      (For anyone who doesn't know, there are 8 RST instructions, 0-7, and they're intended to be used as the next instruction following an interrupt but not limited to that use).

    • @SteveRaynerMakes
      @SteveRaynerMakes  Год назад +1

      @@melkiorwiseman5234 Yes, although that's single-stepping instructions, not single-stepping clock cycles. I realized I said CPU cycles, whereas I should have been more specific and said clock cycles.

  • @mikekaffetzakis
    @mikekaffetzakis 4 месяца назад

    Steve the HC is a cmos version is not ttl .
    The H is HIGH SPEED CMOS better use the HCT series HIGH SPEED CMOS TTL compatible

  • @Thebasicmaker
    @Thebasicmaker Год назад

    no address for the input part? my Amstrad cpc requires a 16 bit decoding of the address so you using no address for your input sounds weird to me!

    • @tgopaul
      @tgopaul Год назад

      …ok if he is only ever having one byte of input. …simple for a breadboard experiment. i/o decode will be discovered in a later video.