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.
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!
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.
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
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.
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! ^_^
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!
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.
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.
@@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.
@@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.
@@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.
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
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.
@@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.
@@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.
@@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.
@@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!
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. :)
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 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.
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"
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. ;)
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.
Yessssss been searching for something like this for years now😭🙏
That's awesome! I love the idea of using a rotary selector to switch between a "memory address mode" and a "program instruction mode".
That was awesome! I've subscribed to you for future interesting updates like this.
This guy is amazing ! Love to watch his videos ... Pls never stop doing more videos !
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.
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!
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 :-)
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.
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 :)
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
did you do it?
Awesome bro
Hi
What did you used to hook the 7 segment to program counter please ????
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.
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! ^_^
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!
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.
do you have a schematic for this online? It would be a great help
found it in the video, thanks
What chip is driving that display at the beginning?
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.
@@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.
@@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.
@@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.
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
Did you ever replace this with an actual Hex keypad ?
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.
@@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.
@@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.
@@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.
@@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!
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. :)
Nice job. May I ask where you buy your breadboards?
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.
ruclips.net/video/XKQJhe9n_ug/видео.html
@@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.
@@craigmunday3707 Depending where you buy from, you may also get a discount for buying 10 or more at a time.
you should show how sap 2 works provided by digital computer electronics by malvino
Where is cpu ?.
What are those rectangular LEDs? I cannot for the life of me find them
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"
David Courtney thanks man. Mind my asking what the name of that led strip you have up above your bus is?
Search for "LED array" or "LED bargraph" on eBay/Amazon and you'll find them.
How many hours were required to put the entire computer together ?
I didn't count.
Good 4☆
It is not ASAP (as simple as possible!!) you didn't need a B register.
Latches or T-Flipflops would have given you a direct bit input.
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. ;)
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.
1