Building an Input Keypad - (Ben Eater 8-bit Computer) SAP-1

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

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

  • @ChaksFM
    @ChaksFM 2 месяца назад +1

    Yessssss been searching for something like this for years now😭🙏

  • @wmhilton-old
    @wmhilton-old 6 лет назад +4

    That's awesome! I love the idea of using a rotary selector to switch between a "memory address mode" and a "program instruction mode".

  • @DRSDavidSoft
    @DRSDavidSoft 6 лет назад +3

    That was awesome! I've subscribed to you for future interesting updates like this.

  • @schartzphilippe9603
    @schartzphilippe9603 5 лет назад

    This guy is amazing ! Love to watch his videos ... Pls never stop doing more videos !

  • @dennish72
    @dennish72 6 лет назад +4

    Nice. Next step would be some kind of assembler which send the binary opcodes + data to the board. You can do that in a Arduino app. Translation (lexer) of opcode to binary code to execute.

  • @chrisjpf33
    @chrisjpf33 5 лет назад +7

    I am trying to figure out how you trigger the latch when a button is pressed. It seems like you didn't show the entire circuit in the Fritzing graphic. Can you provide a full schematic? Thanks!

    • @adrianjanik8996
      @adrianjanik8996 5 лет назад +1

      Hello chris! If I good see, there is a clock generator (based on 555) on the left side of the toggle switch. Greetings form Germany :-)

  • @JoostNijhuis
    @JoostNijhuis 11 месяцев назад

    Nice feature! This could be simplified by using 4 JK flip-flops and 4 momentary switches. Just use a push button bound to a bit position to toggle the single bit.

  • @SiggyPony
    @SiggyPony 6 лет назад

    That's so cool. Once I have my SAP-1 type computer made this sort of stuff is definately stuff to add. Diagrams are extremely helpful :)

  • @technodruid
    @technodruid 5 лет назад +2

    I was thinking of doing something like this! I wanted to do a full dec-bin-hex conversion board with keypad, with an address and bits selector button, and op code preset buttons (Press HLT, get the bin code, etc). I'd even maybe do it with an 8 digit display? Maybe lol

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

    Awesome bro

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

    Hi
    What did you used to hook the 7 segment to program counter please ????

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

      DM9368 (pdf.datasheetcatalog.com/datasheet/fairchild/DM9368.pdf) ... they can be pretty hard to find, but you might find it on eBay. If you can't find it (or an equivalent), you could try recreating the functionality with an atTiny microcontroller.

  • @ucmRich
    @ucmRich 4 года назад

    YEah dips are great but man do they suck sometimes xD Hey pal I really like what you're working on. thank you for doing this and showcasing to us in youtube! ^_^

  • @thek3743
    @thek3743 4 года назад

    Great! Could you please explain the keypad circuit in more detail? The tiny chip is missing in the Fritzing image. Also please explain how it works. Thank you!

  • @pkraveendranath4081
    @pkraveendranath4081 4 года назад

    Hi David, Thanks for your fatastic series. I have just completed making the original design as per Ben (finally to have the design upgraded with your additions). You seem to have met with and solved many issues while the computer and I thought you could help me. I have an issue with control ROMs - when I work on the controls manually, the computer works fine and the example addition program outputs the result (42) correctly. But the moment ROMs are used for control (with Ben's sketch with JMP) , it goes astray. The PC for example, goes from 1 to 15 straightaway! I have introduced the changes (like isolating the RAM RC circuit with a buffer ) that you have proposed.

  • @johnbrogan6583
    @johnbrogan6583 3 года назад

    do you have a schematic for this online? It would be a great help

  • @Eidolon2003
    @Eidolon2003 5 лет назад +1

    What chip is driving that display at the beginning?

    • @davidcourtney1398
      @davidcourtney1398  5 лет назад

      It's a DM9368 ... very obsolete and pretty hard to find. I got mine on eBay ... and even then, most of them were bad. Luckily the seller cooperated and made it right. But it's the only chip I know that does 0-9 and A-F.

    • @Eidolon2003
      @Eidolon2003 5 лет назад

      @@davidcourtney1398 Thanks for replying! I've been looking for a chip that does just that for my computer build, and when I saw yours I almost choked lol. It's too bad they aren't made anymore. I'll do some snooping on Ebay I guess.

    • @davidcourtney1398
      @davidcourtney1398  5 лет назад

      @@Eidolon2003 Good luck in your hunt. You'll have no problem finding them on eBay ... but they are very pricey from most sellers. I ordered mine from China because they were the only sellers who had them at anything resembling a reasonable price. But like I said, a lot of the chips were bad. I ended up building a little arduino circuit just so I could plug them in and test them quickly. (Because testing them manually was super tedious and time consuming.) I keep notes for everything, so I just checked my notes. The first set of DM9368's I ordered ... I got a set of 10. And 6 out of 10 were bad. Ouch. I paid $17.49 (shipping included) for the 10. So with 6 bad, that made them $4.37 per working chip. Even so, that was still significantly cheaper than I was seeing from European sellers.

    • @Eidolon2003
      @Eidolon2003 5 лет назад

      @@davidcourtney1398 Thanks for the tips. I'll keep that in mind. Realistically, I only need 2 working chips (just for the output register), so I shouldn't have too hard of a time.

  • @AJ-fo3hp
    @AJ-fo3hp 3 года назад

    This is microprogrmmed
    I don't know (I am unable to get practical example) how hardwired works
    I learnt in theory but practical example I am not aware, if you know kindly let me know

  • @jeffnay6502
    @jeffnay6502 4 года назад

    Did you ever replace this with an actual Hex keypad ?

    • @davidcourtney1398
      @davidcourtney1398  4 года назад

      Unfortunately no. After this little proof of concept thing I made, I never took it any farther. I really want to make a full 8-bit BB computer without any of these 4-bit limitations. If I ever get around to that, I'm definitely going to make a custom keypad.

    • @jeffnay6502
      @jeffnay6502 4 года назад

      @@davidcourtney1398 I have just purchased the Ben Eater 6502 kit. Unfortunately, it does not appear to have any way to program it, other then to burn it onto a ROM chip every time.
      That seems ridiculous. So, I am looking into a way to of doing that. I started off building his CPU on bread boards and used a 89C51 (8051) to convert and drive 3 - 7 segment displays. I was thinking I could use something like that to incorporate the keypad device. I would only need to drive 2 - 7 segment displays that would display Hex numbers and use the other port as an input or output port.

    • @davidcourtney1398
      @davidcourtney1398  4 года назад

      @@jeffnay6502 If I ever revisit the keypad idea (which seems less likely with each passing year), I definitely want to have a full set of buttons and switches. The way I built it in this video satisfied my initial curiosity, but a final version needs to be much more capable. It needs to be able to switch between memory address input, and opcode / operand input. And rather than have a button to toggle between the upper 4 bits and lower 4 bits, I'd definitely want to have individual 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F buttons. I'd also like to have a INC (increment) and DEC (decrement) button for the memory address so that I could input an instruction and just press INC to automatically go up to the next memory address. I've seen that kind of thing in various trainers I've looked at. I don't have it all thought out at this point. I'd figure it out what made sense while I was building it. I'd probably do the final version on PCB as well. I've only dabbled a little with making PCBs at this point, but I love it. The breadboards definitely have a certain cool factor, but PCBs are so much better, and easily repeatable.
      I enjoyed his 6502 videos, but that project doesn't appeal to me enough to build it. I wish he'd do more with the breadboard computer. Mostly, I'd like to see him upgrade the program counter to 8 bits (or even 16 bit), upgrade the RAM to at least 256 bytes, and so on. The "8 bit" breadboard computer feels more like a 4 bit breadboard computer that happens to have an 8 bit output display.

    • @jeffnay6502
      @jeffnay6502 4 года назад

      @@davidcourtney1398 I have started a small series of videos on keypad integration. I liked your INC and DEC idea that is why I recently purchased a 5 x 4 keypad with 20 keys, so I will have an additional 4 keys to work with. However the Rows and columns pins are a bit of a nightmare. You will see the new keypad at the end of my last video, where I introduced the 28C16 EEPROM. I also want to drive 2-7 segment displays and maybe setup 4 more, to view the current address, when necessary.

    • @davidcourtney1398
      @davidcourtney1398  4 года назад

      @@jeffnay6502 I will check it out! I had a keypad from an Arduino project that I thought about using, but it was row/col based and what I had in mind was that each key would be its own input. Since I wanted my keypad to be as primitive as the bread board computer (meaning - I didn't want to use a microcontroller to drive the keypad), I thought it would be easier to build if each button was on its own. But of course it's been around 3 years since I last took a serious look at this thing... so many interests, so little time. Definitely curious to see what you do!

  • @jsmythib
    @jsmythib 5 лет назад

    Very interesting! Im almost done with a version of this idea, easier input! (4)556 timers as 1bit latchs. (1)74ls245 output buffer (2)74ls157 input selector/load from bus. Im hoping to end up with a *manual 8bit register type animal. :)

  • @craigmunday3707
    @craigmunday3707 4 года назад

    Nice job. May I ask where you buy your breadboards?

    • @davidcourtney1398
      @davidcourtney1398  4 года назад +2

      I bought a big set of breaboards from Jameco (Part no.: 2157706). I agree with Ben that you don't want to buy cheap breadboards. I don't know if the ones I got are as good as the ones he's using, but these have worked for me.
      Whichever boards you buy, I highly recommend getting a set of 20 or so all at once so that you can build everything on matching boards. I started my BB computer project on one set of boards ... decided they were trash ... and then switched to the Jameco boards.
      I was going to keep the modules I had already built but I found that the old boards and the new boards would not physically fit together. The notch cutouts were different. So whatever you get, I recommend buying enough to complete the entire project + a few extra.
      You don't want to get halfway through the project and discover that your new batch of breadboards won't fit with the old ones. It was a huge amount of work moving everything.

    • @davidcourtney1398
      @davidcourtney1398  4 года назад +1

      ruclips.net/video/XKQJhe9n_ug/видео.html

    • @craigmunday3707
      @craigmunday3707 4 года назад +2

      @@davidcourtney1398 thanks for the advice and link. You confirmed to me what I was thinking and that's to buy the breadboards in one lot to ensure compatibility. Definitely good advice and thanks for the estimate on the number required.

    • @davidcourtney1398
      @davidcourtney1398  4 года назад +1

      @@craigmunday3707 Depending where you buy from, you may also get a discount for buying 10 or more at a time.

  • @123lightmovies
    @123lightmovies 6 лет назад

    you should show how sap 2 works provided by digital computer electronics by malvino

  • @NANO-SERWIS.MAREK-DASZKE
    @NANO-SERWIS.MAREK-DASZKE 5 лет назад

    Where is cpu ?.

  • @jonathantunnell3993
    @jonathantunnell3993 6 лет назад

    What are those rectangular LEDs? I cannot for the life of me find them

    • @davidcourtney1398
      @davidcourtney1398  6 лет назад

      I got them from eBay. The most recent ones I ordered were titled "100pcs 2x5x7mm Diffused Red Light Rectangle Rectangular Square LED Diodes USA". Another title was "5 Colors 100PCS Diffused 2x5x7mm LED Diodes Rectangular White Yellow Mix Kits"

    • @jonathantunnell3993
      @jonathantunnell3993 6 лет назад

      David Courtney thanks man. Mind my asking what the name of that led strip you have up above your bus is?

    • @davidcourtney1398
      @davidcourtney1398  6 лет назад

      Search for "LED array" or "LED bargraph" on eBay/Amazon and you'll find them.

  • @JgM-ie5jy
    @JgM-ie5jy 5 лет назад

    How many hours were required to put the entire computer together ?

  • @trentjackson4816
    @trentjackson4816 4 года назад

    Good 4☆

  • @guntherschadow9383
    @guntherschadow9383 5 лет назад

    It is not ASAP (as simple as possible!!) you didn't need a B register.

  • @DasIllu
    @DasIllu 6 лет назад

    Latches or T-Flipflops would have given you a direct bit input.

  • @edgeeffect
    @edgeeffect 6 лет назад +1

    It's OK... I'm from the future... you haven't put anything in the way of the conditional jump circuitry.
    ..."bare metal"... it's more like bare plastic really. ;)

  • @JanBruunAndersen
    @JanBruunAndersen 6 лет назад

    For some inspiration on how to build a "input" device with register selector and stuff, go to ruclips.net/video/0jRgpTp8pR8/видео.html. Skip to around 40 minutes in.

  • @superjacobl7797
    @superjacobl7797 6 лет назад

    1