Z80 Computer - Part 2 Adding ROM

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

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

  • @SteveRaynerMakes
    @SteveRaynerMakes  2 года назад +2

    If anyone in the UK wants an EPROM programmer PCB then I've added my email address to the about page on my channel. I think this is only visible from desktop.

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

      Can't find you on FB :(

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

      @@SimonParkes go to my RUclips channel about page, you should be able to find my email address.

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

      Be careful about sending them in a normal envelope. The machines they use to process mail can sometimes get jammed up by the boards, or worse yet, break the boards. May need to mark them especially so they don't get processed through the usual automated machines.

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

      @@marcpearson2913 I received mine and Steve has packaged it very well, was protected etc :)

  • @HunterNX_s
    @HunterNX_s 2 года назад +5

    I found an old pcb in a trash bin with a z80 with various peripherals and thought it would be fun to test. I've been following your videos and managed to make it work on the breadboard. I'm very interested in the sequel :D

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

    Thank you so much Steve. I'm planning to implements the circuits in part 1 and 2 and then move to part 3.

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

    When you said that you couldn't unlock the write function for the chip, my first thought was "timing issues" and then you said later that it was timing issues. 😆 I guess I really am a computer nerd.
    Following on from my comment on your previous video, I was thinking of implementing memory protection by having the hardware use the M1 output to "capture" the address at which the instruction was loaded plus part of the machine state, including which bank is currently switched in. Some logic would decode that into a go/no-go signal to either enable or disable bank switching. A RST instruction to call the OS to request a function such as bank switching would cause an auto-switch to the OS bank, meaning that the running program can't use a direct jump to the OS code in order to bypass memory protection.

  • @sandroormeno
    @sandroormeno 2 года назад +1

    Hi, i really hoped this video many months ago. thank you so much. your explanation helped a lot. At time i'm working with an adaptation of Ben Eater's programmer without problems; but i would like to try Tom Nisbet's programmer too ( maybe in the future) , it sounds interesting. at this moment i'm trying uart communication, I'm using an arduino to get that goal. Greeting from Lima-Peru.

    • @SteveRaynerMakes
      @SteveRaynerMakes  2 года назад +1

      Hi there, thanks for watching. Yes, the Ben Eater programmer is fine if your chip is already unlocked. However, if you want to try the Tom Nisbet code you should be able to do it just by changing a couple of pin connections on the Arduino. It would be good to hear about how you get on with the uart.

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

    According to the Z80 manual the djnz offset is relative to the djnz opcode address. Thus in your code it should be FE (-2).

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

      Yes the manual is quite confusing on that point but I can assure you it needs to be FC (-4). It's an offset to the program counter (PC). PC is incremented twice when the djnz instruction is executed. I'm not sure if your manual has the same wording as mine but the one I'm looking at also states "the assembler will automatically adjust for the twice incremented PC". I don't know why the manual is referring to an assembler, because the assembler has nothing to do with the documentation of the the Z80. As we are not using an assembler here, we have to make that adjustment manually ourselves. So -2 becomes -4.

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

    Hi Steve, loving this series, and would be great if I could have one of the boards, happy to pay postage and packaging etc

  • @paulwike8218
    @paulwike8218 8 месяцев назад

    Great video, Do you have any of the programer boards left ? im in the uk.

  • @erickkoech-s3y
    @erickkoech-s3y Год назад

    Good work. very impressive.

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

    Steve, I added a 'Like'' here too 🙂

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

    if the z80 is a 8 bit system, how should i program 4 digits into ram. 00000110 1011 00010000 this is the load b 10 line but i dont understand how to pad that 4 number value to a 8 number value.

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

      I don't think your numbers are correct there, but you can pad a binary number the same as you would pad any number, just add zeros at the beginning.

  • @JarppaGuru
    @JarppaGuru 9 месяцев назад

    18:14 major mods! 575 have more pins and diff pin layout. better desing new board or use desing others allready made with 575 LOL

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

    Can I use AT28C64B instead of AT28C256?

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

      I suspect in theory yes you probably could, but there are two things to be aware of. It only has 8KB of memory instead of 32KB. As such there are two less address lines. More importantly, the Lock/Unlock feature seems to use different addresses. So If your chip is locked you might have problems unlocking it.

  • @JarppaGuru
    @JarppaGuru 9 месяцев назад

    8:07 dont do same like everyone. add one 74164 and you safe 8 data pins. address and data can be send same shift registers.
    for example i made programmable logic with attiny85 and 4x 165 and 4x595.
    i can control 32(31) input 1 is programming mode and 32 output from 6 pins (all of them xD).
    my first data structure was 2 byte and use all (not/and/or/nand/nor/xor/xnor) 2 input gates
    and only 16 logic gate can program, but they can be any thing any order
    inputs can be pin and another gate output.
    setup 16 gates take 4x16bytes 512kb from attiny85 is enought xD
    could easy make 3 byte commands or 4 like i later made
    2byte for gate number so 65k diff gate xD and 2-8 input gates (bcoz i could lol)
    its easy desing scheme but harder program arduino make it
    programming mode was easy and can be program with arduino faster
    havent made any IDE so every gate need hand program LOL
    but thats how programmable logic work
    P=pin mode 1 internal gate 0 (i kept them apart even they actually do same things after beta version lol)
    could change to use 5digit gate number
    G=logic gate (0 output 1-7 gates not/and/or/nand/nor/xor/xnor)
    N=logic gate number (yes only 16 this desing)
    A=gate input A (pin or gate output)
    B=gate input B (pin or gate output)
    O=output (0-63)
    xx=AB 0 internal 1 input pin
    0GGGNNNN AAAABBBB internal gate GGG(1-7) NNNN number(0-15) AAAABBBB (input AB pin/gate number depend next setup)
    0000NNNN ABOOOOOO internal out NNNN A and B input(1 pin 0 int.gate) OOOOOO=MAX 63 (only have 32 output)
    1GGGNNNN AAAABBBB pin gate GGG(1-7) NNNN AAAABBBB
    1000NNNN ABOOOOOO pin out NNNN A and B input(1 pin 0 int.gate) OOOOOO=MAX 63 (only have 32 output)
    desing fix for more gates if someone want try LOL
    peoblem is you only can use 5 digit gate numbers to output to pin bcoz 4 digit AAAABBBB refers gate if set it
    GGGNNNNN AAAABBBB gate setup NNNNN AAAABBBB
    000NNNNN ABOOOOOO pin setup NNNNN A and B input(1 pin 0 int.gate) OOOOOO=MAX 63 (only have 32 output)
    but yeah i never this bcoz i used new 4byte commands xD more gate with inputs and all 32 output can program and 31 input
    yeah some peepol are crazy for weekend projects or couple weekends LOL