I'm sitting here yelling "no, use a 7414 instead of a 7404" and then I remember Ben's teaching style. Then I sit back and watch for the object lesson. OMG, I wish I had a teacher like Ben many years ago. These videos stand out as some of the finest teaching I've ever seen.
@@BichaelStevens He explains starting around 17:37. I think his tactic of starting with the 7404, then "discovering" the need to switch to a 7414 is a great teaching technique.
I think a lot of the "well maybe we can do this.. wa... wa... wait we can just do this, can't we?" gets glossed over a lot of the time. Like no, you're right, but just sit with it a minute..
If I had the time and money, I'd see how well I could get TI Doom running on it. Using the GPU pack, performance shouldn't be that bad if you're only updating parts of the screen at a time
I appreciate you taking the time to go over turning the per-bit clock into a per-key-code clock a step at a time. Thanks for leaving in the mistakes and glitches, and then showing how you solve them. Those are the practical skills that theory-based instruction rarely covers well.
@@syralessthanthree I think hooking power and ground up backwards was a genuine mistake, the other bits were definitely intentional mistakes for the purpose of education, though.
When he was wondering about how to clean the inverted signal I thought to myself he needs to use a Schmitt trigger and then he pulls out the data sheet for a Schmitt trigger inverter. I feel so smart!
I'm always sad when I get to the end of a Ben Eater video because I know it's going to be weeks or months until the next one and I enjoy them so much. Thanks Ben!
As barebones as this is, it really just boggles my mind that there is still a lot of heavy lifting being done by the Hitachi microcontroller inside of the character LCD display. I would love to see a future video where he talks about what's going on inside of that microcontroller to display ASCII characters on the liquid crystal display and process and send out data like busy flags and whatnot. Like, we don't need to know all that stuff now. Because that's not really in the scope of this lesson, but I would love to see it explored later.
@@chri-k re building a 6502: see the MOnSter 6502 project. For a computer that doesn't use a microcontroller, there's one called Giga or something like that.
Mounts it in a pc case. Lemme just plug in my keyboard… proceeds to pull out 4 wires and place them in specific holes in the breadboard mother board. Done!
He had already made that breakout cable in the previous video. Anyway, just like how his wires are always already the perfect length, it would just waste a lot of time if he showed stripping the wires and crimping the pins to the ends of each wire. Ben is really good at spending time on the things that are useful for learning, and not wasting it on things you can easily figure out for yourself.
@@sdspivey I suppose that would look like a square wave with a triangle wave sitting on top where it’d normally be flat. Hmm, wonder how that sounds. It wouldn’t be quite the same as just adding a triangle and square wave simply added together, one component waits for the other
@@kaitlyn__L One peak could be just a slope up then down, the next would be the lower part of the pentagon. (A triangle, followed by an inverted "mesa")
For the first time I anticipated an issue! I was guessing that the interrupt would count more than 3 with the 74HC04. I had no clue how to fix it though, and never heard of a schimitt trigger. So I've been learning so much from this video series that I knew there could be an issue and knew what needed to be fixed, but I'm glad that your still showing new techniques to solve problems. Thanks for all the amazing content!
this man has become my favorite RUclipsr. when he needed to figure out how to distinguish between different sets of 11 bits, my first thought was exactly what he did here. You really are a better teacher than probably most college professors.
Good to know, I still remember this digital electronics stuff... As he is building the interrupt trigger, with the resistors, cap, and diode; I said to myself, "Wait, you can't do that with *just* an inverter, you need a _Schmitt trigger_ , to catch the indeterminate _hysteretic_ logic levels!" My linear and digital teachers would be proud! I guess I was listening during those lectures 28 years ago! Ben Eater does an excellent job, teaching this stuff!
Yes. This shows 2 things: 1, how great the internet is as a learning resource and 2, how inefficient and honestly badly designed school is. I get easily aggravated by the lack of new info I’m learning at school and how it COULD be better.
@@saltysoyman6908 it also helps that you can pause and replay parts of the lesson you didn't quite grasp in the beginning. It's amazingly helpful to have the ability to re-watch lessons with the benefit of context that you picked up in later lessons.
The problem with these lessons is, is that it takes way more time from the teacher to prepare these lessons. Most teachers would not like to take this time. Dont get me wrong, this is more of a complaint of how bad schools do it, trust me I know (just finished all my theory a month ago, only internships to do)
This channel is perfect. I love everything on here because it's so well explained and put together in a way that keeps you interested and teaches things you never thought you could learn.
20:00 I "studied" this kind of things at school but already forget about it, but you explained that so well I finnaly understand what that symbol stands for!
OMG !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! Where were you for my high school electronics class!!!!! You are the benchmark in human teaching. I have never been more curious about electronics till I found you. I love your low profile attitude. If you were my teacher I would have become something. Most you -tubers like to show their faces and fail to communicate clearly...I feel like Im' in wonderland finally. All my questions are being answered. My questions I was afraid to ask are answered. You have the books in your bookshelf that you actually understand. Thank you feeding us this valuable knowledge.
For those of you wondering: This is almost exactly the way modern x86-PCs handle PS/2 and internal (on a laptop) keyboards: After every byte there is an interrupt sent to the cpu (usually hardware-interrupt 2) from the keyboard controller (i8042). The cpu then reads the given byte (using the in-instruction on port 0x60) from the PS/2 device. The only difference is that the keyboard controller already checks the parity, buffers up to 16 bytes and adds some additional logic (e.g. translation from "modern" set-2/3 PS/2 codes to AT codes for very, very old software).
Fun fact, in 1610 when saying "at any rate" used to mean at any cost. There is one other youtuber who uses "at any rate" and that is Mr. Carlson - AFAIK. No point, just an observation that Ben likes to say "at any rate" :). In any case, keyboard projects are so much fun, these videos are really great intro to the PS/2 interface. Another fun keyboard project is to send scan codes rather than decode them. This can be useful to automate common PC tasks, for example. The way to do it on modern PCs is with a USB to PS/2 dongle and then have a micro send the PS/2 scan codes to the dongle. Works great on PCs, iPhone, Android, pretty much anything that accepts a keyboard. Just an idea for a future project for this channel.
There's this one thing I really like about your videos, and it's the honesty behind them... most people on youtube try hard to look like they don't make mistakes... you on the other hand, show your mistakes and solve them, teaching the importance of problem solving while doing a project of this kind... without that kind of mindset, this kind of work would fail for sure, but with what you teach, you make sure one can be ready to take on a project like this. Congrats! never regretted subscribing to your channel, best content out there hands out!
I think that some of the blind alleys he runs down, such as the Schmidt trigger problem are recreations of what he ran into while developing the project.
I'm wondering how you managed to connect the 8 data bits to PORTA, when previously 3 of those bits were occupied sending control signals to the LCD display (register select, read/write, and chip enable). How are the LCD subroutines still working now that it appears you disconnected those three lines to make room for the input data? This was never addressed in a video; the previous video featuring the 6502 had these three lines connected, and they are mysteriously missing at the start of this video. I saw this problem coming (only 5 bits of ports remaining on that chip) and was looking forward to hearing about how you worked around it. Edit: Aha! Figured it out - the LCD module has two data modes (8 bit and 4 bit, explained in part 4 of your 6502 playlist), and from glimpses of the code it looks like you switched the hardware and software to 4 bit mode off camera to make some more room - allowing you to move these 3 flags to PORTB.
Thanks for this. I was puzzled about why the E, R/W, and RS pins on the LCD were no longer connected too. I'm in the process of designing a PCB of this circuit and this kind of change would be a headache to troubleshoot.
One important thing you showed here was also the importance of hardware acceleration - sure you could have just fed the bits into the interrupt handler, but instead you built a hardware keyboard accelerator add-on and installed it, then wrote a driver for it. Much simpler code, works more elegantly, and way faster as far as CPU power is concerned. Very nice video, thank you!
As soon as I have a job again, I'm going to squirrel away some for you. This is what I wished college training was like! P.s. been slowly doing your computer build but in minecraft, been fun figuring this all out!.
Thank you Ben. This is how real school should work ! In my 2 decade long experience in the field of electronics i've noticed that it is not the core problem that teaches us , but all those small things behind the curtains along the way. The path to solution is covered with small, invisible problems that you cannot stumble upon until you really dive into a practical realisation ! Example: You try to make lightbulb light up. Simple? Right? You connect battery to switch, then to lightbulb and back to other terminal of battery. And then - how do i create stable mechanical contact? What jacks should i use? What current flows in circuit? Wire gauge? Should i solder where is big amount of heat? .... So many questions arise just by doing the stuff. Nothing is simple, and everything we DO teaches us. My point - theory we mostly learn / teach in school should be tightly "coupled" with parallel practical problem solving ! First basic theory, then application of it , then solving small problems along the way , and then explaining and theory for every one of them... That is real "full" knowledge my friend. Best regards.
Technically, since it's actually some gate logic inside the chip that simplifies into "invert" they all have some amount of resistance, capacitance, inductance, etc, and so it fills up a little, tries to turn on, can't sustain it for long, then turns off. Hence why we see it jitter 100 times before it's done, because it doesn't have enough energy to keep whatever gate open inside the logic. Edit: I forgot to get to the whole point of this comment, since the characteristics of the gate are known, it should be possible to do the calculus to determine the oscillation rate and measure the values. Yes, it's almost random though.
What about using quantum mechanics? You can technically plug anything into a computer, including a quantum random number generator. plus quantum computers are computers.
@@chri-k we don't know wether it's actually random. It's just that we can't measure quantum mechanics well enough to pinpoint an electrons position down. I think there is no real randomness, but because i don't know that for sure and neither does anyone else, it's a waste of time to debate it.
@@MrCool-lo3ls "real randomness" is a surprisingly hard concept to nail down actually: take the Everett interpretation, aka "Many Worlds". Is the position of an electron random if every possibility happens, we just don't know which we are going to see (because, roughly, we are in all the worlds with different outcomes and see all the results)? What about for a theoretical, perfect, die, if I roll 4, and I don't tell you that it's 4, is the number not random for me but random for you? Surely if I just say it's 4 again instead of rolling again then it's not random any more, but it seems weird to say randomness is about what you know, rather than some event. But that does seem to be the best way to explain it. But then, what's up with quantum uncertainty? Is this the universe not knowing something? Or is it a different thing than everyday "dice" randomness?
Luckily, the keyboard has protection circuitry that keeps it from burning out chips when they're powered up backwards. I once burned up all twenty or so chips on a breadboard this way.
In the early videos on 6502 we've used three pins of PORTA of the 6522 to control the LCD (E, RWB, RS). This time they were not connected and there was no mention of that. Did I miss a video where that was rerouted in some way? I'm saying that because in this video we're using all 8 pins of PORTA for the inputs from the keyboard and I was interested in how that is going to conflict with how we were already using them.
When Ben fed that analog signal into the inverter, I said to myself, "That's going to be a problem. I wonder how Ben's going to fix it. I'd use a Schmidt trigger". Thanks for keeping my logic skills sharp.
I love how whenever Ben runs into something unexpected, he figures out the issue in a really seamless manner, doesn't stumble in his explanations, just keeps recording. I also loved his explanation of how a Schmitt Trigger works.
That's not how he, or any good teacher works. He tests it all thoroughly in advance, writes a script and does a lot of editing. The fact that you don't notice just shows how well he does it.
In the tricky parts I find myself leaning towards the screen, as if that will help me understand it better. And this is all way outside anything I'll ever need to know! As always, well done!
I found once a pdf about reset circuits. There was a big word of caution regarding use of RC circuits. I believe pdf was from one of component manufacturers. Very important for serious electronics enthusiast. I really recommend.
Now we just need a programmable interrupt controller, so we can turn off and on interrupts and add other things that would generate an interrupt to the mix :D
I have a question about the LCD display: before this video, the RS, RW and E pins were connected to the PORTA 6, 7 and 8, then on this video these are no longer connected there. I'm following the Serial adapter video, and I got the kit on my mail today, and I just realized this issue, and I realized this was the first video where the change occurs, and I was hoping for an explanation. Reading the keyboard assembly code I realized you changed to use the 4 bit mode, and moved the RS, RW and E pins to PORTB. I have already fixed this and have it working, but I was wondering if maybe you could give an explanation on the next video, that way people who are trying to follow the videos wont get frustrated about this not working for them. Great videos by the way!
Thank you for this, Ben. I'm in the process of figuring out how to connect the keyboard of an Amstrad PPC-512 to a more modern PC in the case. While the built-in keyboard isn't PS/2, this (and the prior video) sort of approach should help me out a great deal.
I'm sitting here yelling "no, use a 7414 instead of a 7404" and then I remember Ben's teaching style. Then I sit back and watch for the object lesson. OMG, I wish I had a teacher like Ben many years ago. These videos stand out as some of the finest teaching I've ever seen.
whats the difference?
@@BichaelStevens He explains starting around 17:37. I think his tactic of starting with the 7404, then "discovering" the need to switch to a 7414 is a great teaching technique.
@@PixelSchnitzel yeah this video was amazing. Am studying electronics and it still stands out as one of the most intuitive tutorials I've seen
I was about o comment "SCHMITT TRIGGER" ;-)
I think a lot of the "well maybe we can do this.. wa... wa... wait we can just do this, can't we?" gets glossed over a lot of the time. Like no, you're right, but just sit with it a minute..
Soon he’s going to hook up the video card and make a text editor with it
Heck yeah
he is going to write the code and compile it to run, all in the 6502 computer
@@RobsonLanaNarvy and then he'll show us how to bank so he can get enough memory to hold the IDE
Next video: "vi on the 6502"
Operating system on 6502
Eventually, it will run some simplistic version of Doom and then we will have come full circle lol
Nah, I would go old-school and program Zork!
Give him enough time and he will be playing his own RUclips videos on a few breadboards. Now that will be full circle :)
A few more LEDs should be enough for a rudimentary screen. Nearly there!
@Izaltino D. Souza dude is probably already working on it
If I had the time and money, I'd see how well I could get TI Doom running on it. Using the GPU pack, performance shouldn't be that bad if you're only updating parts of the screen at a time
I appreciate you taking the time to go over turning the per-bit clock into a per-key-code clock a step at a time. Thanks for leaving in the mistakes and glitches, and then showing how you solve them. Those are the practical skills that theory-based instruction rarely covers well.
I think the "mistakes" are there on purpose to also show how to debug and fix things
either way I aggree I appritiate it too
@@syralessthanthree I think hooking power and ground up backwards was a genuine mistake, the other bits were definitely intentional mistakes for the purpose of education, though.
I'm a student. This channel is a gold mine for me. Thank you for your effort greetings from Turkey.
Me too im from Germany, powerful knowledge is universal
Ben Eater has nearly singlehandedly shown me how cool it would be to become an electrical engineer!
Same! I just love Ben's vibes
What about great Scott?
@@existential_fred He‘s great too
@@KubikDezimeter lol I see what you did there
@@existential_fred Ben's prototypes are neater and seem to be a little safer. 😀
When he was wondering about how to clean the inverted signal I thought to myself he needs to use a Schmitt trigger and then he pulls out the data sheet for a Schmitt trigger inverter. I feel so smart!
Same!! Initially I wasn't confident but I was pleasantly surprised. Unfortunately, my job isn't in this domain so my brain's a little rusty.
For some reason I thought it was called a Schottky trigger. I still felt smart, though.
My monke brain was like “low pass filter” until I saw bens solution which is so much more elegant lmao been doing too much signals and systems lately
I'm always sad when I get to the end of a Ben Eater video because I know it's going to be weeks or months until the next one and I enjoy them so much. Thanks Ben!
I have never been so happy to see number 3 in my entire life
Gabe the founder of valve has installed PTSD for-all gamers.with not making half life 3 10 years ago..
As barebones as this is, it really just boggles my mind that there is still a lot of heavy lifting being done by the Hitachi microcontroller inside of the character LCD display.
I would love to see a future video where he talks about what's going on inside of that microcontroller to display ASCII characters on the liquid crystal display and process and send out data like busy flags and whatnot.
Like, we don't need to know all that stuff now. Because that's not really in the scope of this lesson, but I would love to see it explored later.
2022: building an lcd screen microcontroller on bradboards
2030: building a 6502 on 1 thousand breadboards
2077: building a universe on breadboards
Also the signals from the keyboard are really convenient. I would like it if he explained how the keyboard prepares the signals
In the Apple 1, they used a terminal chip for a similar purpose.
@@chri-k re building a 6502: see the MOnSter 6502 project. For a computer that doesn't use a microcontroller, there's one called Giga or something like that.
@@JohnDlugosz the gigatron
I think this might be my new favorite video of yours. The way you blended analog, digital, and software together for a keyboard is a work of art.
Mounts it in a pc case.
Lemme just plug in my keyboard… proceeds to pull out 4 wires and place them in specific holes in the breadboard mother board.
Done!
He had already made that breakout cable in the previous video. Anyway, just like how his wires are always already the perfect length, it would just waste a lot of time if he showed stripping the wires and crimping the pins to the ends of each wire. Ben is really good at spending time on the things that are useful for learning, and not wasting it on things you can easily figure out for yourself.
On this episode, Ben teaches us how to make triangle and saw-toowth wave signals.
But I want to see pentagonal waves.
@@sdspivey I suppose that would look like a square wave with a triangle wave sitting on top where it’d normally be flat.
Hmm, wonder how that sounds. It wouldn’t be quite the same as just adding a triangle and square wave simply added together, one component waits for the other
@@kaitlyn__L One peak could be just a slope up then down, the next would be the lower part of the pentagon. (A triangle, followed by an inverted "mesa")
At the point we saw the different wave forms on the oscilloscope I thought he is gonna hook up a speaker 😅
For the first time I anticipated an issue! I was guessing that the interrupt would count more than 3 with the 74HC04. I had no clue how to fix it though, and never heard of a schimitt trigger. So I've been learning so much from this video series that I knew there could be an issue and knew what needed to be fixed, but I'm glad that your still showing new techniques to solve problems. Thanks for all the amazing content!
Oh yeah just swap out a 7404 with a 7414 and your set!
Super video! I applauded for $10.00 👏👏👏
this man has become my favorite RUclipsr. when he needed to figure out how to distinguish between different sets of 11 bits, my first thought was exactly what he did here. You really are a better teacher than probably most college professors.
Good to know, I still remember this digital electronics stuff... As he is building the interrupt trigger, with the resistors, cap, and diode; I said to myself, "Wait, you can't do that with *just* an inverter, you need a _Schmitt trigger_ , to catch the indeterminate _hysteretic_ logic levels!"
My linear and digital teachers would be proud! I guess I was listening during those lectures 28 years ago!
Ben Eater does an excellent job, teaching this stuff!
What could make a Saturday morning better than a new video from Ben?
Two Ben videos? 🤔😀
Ben & Curious Marc videos!!
Super video! I applauded for CA$2.00 👏
I learn more about all of this with him than in school.
Yes. This shows 2 things: 1, how great the internet is as a learning resource and 2, how inefficient and honestly badly designed school is. I get easily aggravated by the lack of new info I’m learning at school and how it COULD be better.
@@saltysoyman6908 it also helps that you can pause and replay parts of the lesson you didn't quite grasp in the beginning. It's amazingly helpful to have the ability to re-watch lessons with the benefit of context that you picked up in later lessons.
I feel this. I pointed my fellow classmates to Ben's SR latch videos cause our prof is just awful at teaching
The problem with these lessons is, is that it takes way more time from the teacher to prepare these lessons. Most teachers would not like to take this time. Dont get me wrong, this is more of a complaint of how bad schools do it, trust me I know (just finished all my theory a month ago, only internships to do)
schools should be illegal
The work you put into this video series.. incredible. Stay awesome!
As a software engineer it is very fascinating to see how the hardware works under the hood.
It basically works the same, but different! I love it. Just like switching electrical systems.
It runs on some form of electricity
@@samibinol surprised_pikachu.jpg
i think the best thing is that everything runs at the same time
if you are interrested in "programming" hardware check out FPGAs
Nice profile picture.
Thanks!
Super video! I applauded for NZ$5.00 👏👏
Getting flashbacks to my analog electronics class at university when I heard "Schmitt Trigger". Thanks for the psychological trauma Ben :D
I have learned and forgotten what a schmitt trigger is probably about five times now. I'm hoping this one sticks!
Ben really should have put up a Schmitt Trigger Warning at the top of the video.
@@YagoTheFrood I don’t know whether to clap or groan
This whole series is amazing. Such a calm, in depth, to the point explanation Very enjoyable
These videos are absolutely fantastic -- thank you very much :) Very intuitive when you see the signal on the scope and tweak it to do what you need.
Can't wait to build my breadboard projects. This channel always excites me. Thanks for discussing problems that we might run into.
Love your Hewlett-Packard calculator at 27:10! What a cool calculator. We had one growing up and I hadn’t seen one since then
This is turning in to a computer version of Bad Obsession Motorsport, lol.
Just need a sound card for the funk!
Coming up next: covox, FM and noise noise synthesis
Fortunately for us Ben is moving along at a much faster clip!
Just imagine building a computer using an angle grinder
@@BrightBlueJim And many, many, brackets...
This channel is perfect. I love everything on here because it's so well explained and put together in a way that keeps you interested and teaches things you never thought you could learn.
20:00 I "studied" this kind of things at school but already forget about it, but you explained that so well I finnaly understand what that symbol stands for!
OMG !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! Where were you for my high school electronics class!!!!!
You are the benchmark in human teaching. I have never been more curious about electronics till I found you. I love your low profile attitude. If you were my teacher I would have become something.
Most you -tubers like to show their faces and fail to communicate clearly...I feel like Im' in wonderland finally. All my questions are being answered. My questions I was afraid to ask are answered. You have the books in your bookshelf that you actually understand. Thank you feeding us this valuable knowledge.
Well, I just love watching you wire up the breadboards! thanks
You explain superbly!
For those of you wondering: This is almost exactly the way modern x86-PCs handle PS/2 and internal (on a laptop) keyboards: After every byte there is an interrupt sent to the cpu (usually hardware-interrupt 2) from the keyboard controller (i8042). The cpu then reads the given byte (using the in-instruction on port 0x60) from the PS/2 device. The only difference is that the keyboard controller already checks the parity, buffers up to 16 bytes and adds some additional logic (e.g. translation from "modern" set-2/3 PS/2 codes to AT codes for very, very old software).
That's a pretty sweet update. Look forward to working on this project in the summer.
Just discovered your channel today, it is awesome!
Ben Eater, demystifying electronics since Oct 15, 2011 Thank you SIR!
Super video! I applauded for R$5.00 👏👏
No computer scientist should be separated more than a couple of feet from their trusty HP-16C :)
Fun fact, in 1610 when saying "at any rate" used to mean at any cost. There is one other youtuber who uses "at any rate" and that is Mr. Carlson - AFAIK. No point, just an observation that Ben likes to say "at any rate" :).
In any case, keyboard projects are so much fun, these videos are really great intro to the PS/2 interface. Another fun keyboard project is to send scan codes rather than decode them. This can be useful to automate common PC tasks, for example. The way to do it on modern PCs is with a USB to PS/2 dongle and then have a micro send the PS/2 scan codes to the dongle. Works great on PCs, iPhone, Android, pretty much anything that accepts a keyboard. Just an idea for a future project for this channel.
There's this one thing I really like about your videos, and it's the honesty behind them... most people on youtube try hard to look like they don't make mistakes... you on the other hand, show your mistakes and solve them, teaching the importance of problem solving while doing a project of this kind... without that kind of mindset, this kind of work would fail for sure, but with what you teach, you make sure one can be ready to take on a project like this. Congrats! never regretted subscribing to your channel, best content out there hands out!
Just to clarify, I'm referring to the keyboard 5v-GND mishap... =P
I think that some of the blind alleys he runs down, such as the Schmidt trigger problem are recreations of what he ran into while developing the project.
I'm wondering how you managed to connect the 8 data bits to PORTA, when previously 3 of those bits were occupied sending control signals to the LCD display (register select, read/write, and chip enable). How are the LCD subroutines still working now that it appears you disconnected those three lines to make room for the input data?
This was never addressed in a video; the previous video featuring the 6502 had these three lines connected, and they are mysteriously missing at the start of this video.
I saw this problem coming (only 5 bits of ports remaining on that chip) and was looking forward to hearing about how you worked around it.
Edit: Aha! Figured it out - the LCD module has two data modes (8 bit and 4 bit, explained in part 4 of your 6502 playlist), and from glimpses of the code it looks like you switched the hardware and software to 4 bit mode off camera to make some more room - allowing you to move these 3 flags to PORTB.
Thanks for this. I was puzzled about why the E, R/W, and RS pins on the LCD were no longer connected too. I'm in the process of designing a PCB of this circuit and this kind of change would be a headache to troubleshoot.
I've been waiting for this.
One important thing you showed here was also the importance of hardware acceleration - sure you could have just fed the bits into the interrupt handler, but instead you built a hardware keyboard accelerator add-on and installed it, then wrote a driver for it. Much simpler code, works more elegantly, and way faster as far as CPU power is concerned. Very nice video, thank you!
Nice videos! I love to watch them!
As soon as I have a job again, I'm going to squirrel away some for you.
This is what I wished college training was like!
P.s. been slowly doing your computer build but in minecraft, been fun figuring this all out!.
Great video Ben! I am just now debugging a Via VT82c42 problem and this was great timing. Keep up the good work.
The effort you put into explaining is greatly appreciated.
i have learned so much on this channel and im super thankful
Thank you Ben. This is how real school should work ! In my 2 decade long experience in the field of electronics i've noticed that it is not the core problem that teaches us , but all those small things behind the curtains along the way. The path to solution is covered with small, invisible problems that you cannot stumble upon until you really dive into a practical realisation ! Example: You try to make lightbulb light up. Simple? Right? You connect battery to switch, then to lightbulb and back to other terminal of battery. And then - how do i create stable mechanical contact? What jacks should i use? What current flows in circuit? Wire gauge? Should i solder where is big amount of heat? .... So many questions arise just by doing the stuff. Nothing is simple, and everything we DO teaches us. My point - theory we mostly learn / teach in school should be tightly "coupled" with parallel practical problem solving ! First basic theory, then application of it , then solving small problems along the way , and then explaining and theory for every one of them... That is real "full" knowledge my friend.
Best regards.
Thank you Ben for all your videos
Everyone: They is no way to create a truly random value with a computer.
Ben Eater: Hold my inverter
Technically, since it's actually some gate logic inside the chip that simplifies into "invert" they all have some amount of resistance, capacitance, inductance, etc, and so it fills up a little, tries to turn on, can't sustain it for long, then turns off.
Hence why we see it jitter 100 times before it's done, because it doesn't have enough energy to keep whatever gate open inside the logic.
Edit: I forgot to get to the whole point of this comment, since the characteristics of the gate are known, it should be possible to do the calculus to determine the oscillation rate and measure the values. Yes, it's almost random though.
What about using quantum mechanics? You can technically plug anything into a computer, including a quantum random number generator.
plus quantum computers are computers.
@@chri-k we don't know wether it's actually random. It's just that we can't measure quantum mechanics well enough to pinpoint an electrons position down.
I think there is no real randomness, but because i don't know that for sure and neither does anyone else, it's a waste of time to debate it.
@Michael Bishop i didn't look that deep into it and i have to admit, i was wrong and misunderstood some quantum physics
@@MrCool-lo3ls "real randomness" is a surprisingly hard concept to nail down actually: take the Everett interpretation, aka "Many Worlds". Is the position of an electron random if every possibility happens, we just don't know which we are going to see (because, roughly, we are in all the worlds with different outcomes and see all the results)?
What about for a theoretical, perfect, die, if I roll 4, and I don't tell you that it's 4, is the number not random for me but random for you? Surely if I just say it's 4 again instead of rolling again then it's not random any more, but it seems weird to say randomness is about what you know, rather than some event.
But that does seem to be the best way to explain it. But then, what's up with quantum uncertainty? Is this the universe not knowing something? Or is it a different thing than everyday "dice" randomness?
谢谢!
After watching this I will never take my keyboards for granted ever again!
Thank you for creating this informative video. 😊🙏🙏🍰
No matter how complex the systems become. The excitement of knowing the basics will never get away.
Thanks for all your videos!
Really love this channel
Excellent video as always Mr Eater. You are a gift to youtube
It's safe to say, you are a real asset to humanity!
Thank you.
I'm glad that powering up that nice keyboard in reverse didn't kill it.
Thank you for explaining everything. I learned an enormous amount of chip tech from your videos.
I am both delighted and unsurprised that you are a Vim user.
Excellent video!
"And if we press a key on the keyboard, ... nothing happens." Ouch. That nasty color scheme! 🤣
Luckily, the keyboard has protection circuitry that keeps it from burning out chips when they're powered up backwards. I once burned up all twenty or so chips on a breadboard this way.
In the previous video, I remember thinking, "oh great, black for positive five volts, ground is orange. What could possibly go wrong?"
I really appreciate the way you explain things. I'm also very envious of your 'scope.
Thanks for your videos, they are incredibly interesting and inspiring!
In the early videos on 6502 we've used three pins of PORTA of the 6522 to control the LCD (E, RWB, RS). This time they were not connected and there was no mention of that. Did I miss a video where that was rerouted in some way?
I'm saying that because in this video we're using all 8 pins of PORTA for the inputs from the keyboard and I was interested in how that is going to conflict with how we were already using them.
I have exactly the same question. Searching for some mention of that now.
I think he switched the lcd into the other bit mode to save on the port offscreen
You're one of the amazing guy who teach how actually working inside the computer❤
Another brilliant video. Thanks !!!
Thank u man u are an engineering genius...pls keep the videos on youtube...don't remove them🙏🙏👍
When Ben fed that analog signal into the inverter, I said to myself, "That's going to be a problem. I wonder how Ben's going to fix it. I'd use a Schmidt trigger". Thanks for keeping my logic skills sharp.
Love these videos. Awesome work!
Thank you ☺️
Thanks for posting Ben love the videos
Love Ben’s way of explaining Schmitt Trigger 👍
The HP 16C is my day to day calculator as well! It's about 35 years old and still works great.
i love your videos! I've learnt so much from you. Thanks
I look forward to each of your videos
thank you for all the job you do 🖒🖒😊😊
1:39 GND/+5V switched around!
2:38 thank you :-)
I love how whenever Ben runs into something unexpected, he figures out the issue in a really seamless manner, doesn't stumble in his explanations, just keeps recording.
I also loved his explanation of how a Schmitt Trigger works.
That's not how he, or any good teacher works. He tests it all thoroughly in advance, writes a script and does a lot of editing. The fact that you don't notice just shows how well he does it.
In the tricky parts I find myself leaning towards the screen, as if that will help me understand it better. And this is all way outside anything I'll ever need to know! As always, well done!
vi and a vintage hp calculator - oldies, but goldies.
Omg I finally understand what a peak rectifier is. Thanks Ben!
Que vídeo incrível! Aplaudi por R$ 10,00 👏👏👏
wow ben your the best .......i learn alot from you God bless you
Finally. A decent implementation of the ps/2 interface hardware for 8-bit computer. Thanks for video
Awesome! Great video! very useful
Excellent timing with the need to use Schmitt triggers, since I am teaching this right now :)
I found once a pdf about reset circuits. There was a big word of caution regarding use of RC circuits. I believe pdf was from one of component manufacturers. Very important for serious electronics enthusiast. I really recommend.
Now we just need a programmable interrupt controller, so we can turn off and on interrupts and add other things that would generate an interrupt to the mix :D
No sadder time than the end of a new Ben Eater video
Tru
100 years later those kids will watch these videos and wonder how smart their predecessors were.
Well done, with a clear explanation.
Seriously dude, thank you for existing.
I have a question about the LCD display: before this video, the RS, RW and E pins were connected to the PORTA 6, 7 and 8, then on this video these are no longer connected there. I'm following the Serial adapter video, and I got the kit on my mail today, and I just realized this issue, and I realized this was the first video where the change occurs, and I was hoping for an explanation. Reading the keyboard assembly code I realized you changed to use the 4 bit mode, and moved the RS, RW and E pins to PORTB. I have already fixed this and have it working, but I was wondering if maybe you could give an explanation on the next video, that way people who are trying to follow the videos wont get frustrated about this not working for them. Great videos by the way!
Thanks for this. This caught me off guard too. I am designing a PBC for this circuit and changing to PORT B would have been a headache.
Excelent job on the keyboard. I love it.
These are excellent real world tutorials, thanks Ben
Thank you for this, Ben.
I'm in the process of figuring out how to connect the keyboard of an Amstrad PPC-512 to a more modern PC in the case.
While the built-in keyboard isn't PS/2, this (and the prior video) sort of approach should help me out a great deal.
Ben, You Rock.
Superp explanation in for the 04 and 14. Thanks a lot