Тёмный

Keyboard interface hardware 

Ben Eater
Подписаться 1,3 млн
Просмотров 327 тыс.
50% 1

Check out eater.net/6502 for more 6502 goodness
Support these videos on Patreon: / beneater or eater.net/support for other ways to support.
------------------
Social media:
Website: www.eater.net
Twitter: / ben_eater
Patreon: / beneater
Reddit: / beneater
Special thanks to these supporters for making this video possible:
Aleksey Smolenchuk, Alexander Wendland, Andrew C. Young, Anson VanDoren, Anthanasius, Armin Brauns, Asherah Connor, Ben Cochran, Ben Dyson, Ben Kamens, Ben Williams, Bill Cooksey, Binh Tran, Bouke Groenescheij, Bradley Pirtle, Bradley Stach, Brent Reusing, Brian T Hoover, Bryan Brickman, Bryan Glezerson, Carlos Ambrozak, Christopher Blackmon, Clint Bridges, Dale Andrew Darling, Daniel Jeppsson, Daniel Tang, dans, Dave Burley, Dave Walter, David Brown, David Clark, David Cox, David House, David Sastre Medina, David Turner, David Worsham, Dean Winger, Dissy, dko, Dmitry Guyvoronsky, Dušan Dželebdžić, Dzevad Trumic, Emilio Mendoza, Eric Dynowski, Erik Broeders, Eugene Bulkin, George Foot, George Miroshnykov, Harry McDow, Ian Tait, Ingo Eble, Ivan Sorokin, James Capuder, james schaefer, Jared Dziedzic, Jason DeStefano, Jason Specland, JavaXP, Jaxon Ketterman, Jay Binks, Jayne Gabriele, Jeremy A., Jim Kelly, Jim Knowler, Jim Van Meggelen, Joe Beda, Joe OConnor, Joe Pregracke, Joel Miller, John Fenwick, John Meade, Jon Dugan, Joseph Portaro, Joshua King, Jurģis Brigmanis, Kai Wells, Kefen, Kenneth Christensen, Kent Collins, Kitick, Koreo, Lambda GPU Workstations, Larry, László Bácsi, Lucky Resistor, Lukasz Pacholik, Marcos Fujisawa, Marcus Classon, Martin Roth, Mats Fredriksson, Matt Krueger, Matthäus Pawelczyk, melvin2001, Michael Tedder, Michael Timbrook, Michael Weitman, Miguel Ríos, mikebad, Mikel Lindsaar, Miles Macchiaroli, moi n, Nicholas Counts, Nicholas Moresco, Nick, Örn Arnarson, Paul Pluzhnikov, Paul Randal, Pete Dietl, Phil Dennis, Philip Hofstetter, Phillip Glau, PixelSergey, ProgrammerDor, Randal Masutani, Randy True, raoulvp, Renaldas Zioma, Ric King, Rob Bruno, Robert Comyn, Robert Diaz, Roland Bobek, sam raza, Scott Holmes, Sergey Kruk, SonOfSofaman, Stefan Nesinger, Stefanus Du Toit, Stephen, Stephen Riley, Stephen Smithstone, Steve Jones, Tayler Porter, TheWebMachine, Tom, Tyler Latham, Vincent Bernat, Vladimir Solomatin, Walter Montalvo, Warren Miller, Wraithan McCarroll, xisente, Yee Lam Wan

Опубликовано:

 

15 окт 2024

Поделиться:

Ссылка:

Скачать:

Готовим ссылку...

Добавить в:

Мой плейлист
Посмотреть позже
Комментарии : 731   
@Aman4457_
@Aman4457_ 3 года назад
Soon he’s going to hook up the video card and make a text editor with it
@bloxcodes6576
@bloxcodes6576 3 года назад
Heck yeah
@RobsonLanaNarvy
@RobsonLanaNarvy 3 года назад
he is going to write the code and compile it to run, all in the 6502 computer
@EvilSandwich
@EvilSandwich 3 года назад
@@RobsonLanaNarvy and then he'll show us how to bank so he can get enough memory to hold the IDE
@simeondermaats
@simeondermaats 3 года назад
Next video: "vi on the 6502"
@UQuark0
@UQuark0 3 года назад
Operating system on 6502
@PixelSchnitzel
@PixelSchnitzel 3 года назад
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
@BichaelStevens 3 года назад
whats the difference?
@PixelSchnitzel
@PixelSchnitzel 3 года назад
@@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.
@atticusrussell1225
@atticusrussell1225 2 года назад
@@PixelSchnitzel yeah this video was amazing. Am studying electronics and it still stands out as one of the most intuitive tutorials I've seen
@frinkemon
@frinkemon Год назад
I was about o comment "SCHMITT TRIGGER" ;-)
@charlesnathansmith
@charlesnathansmith Год назад
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..
@michaeldonoghue9015
@michaeldonoghue9015 3 года назад
Eventually, it will run some simplistic version of Doom and then we will have come full circle lol
@mikefochtman7164
@mikefochtman7164 3 года назад
Nah, I would go old-school and program Zork!
@MikePerigo
@MikePerigo 3 года назад
Give him enough time and he will be playing his own RU-vid videos on a few breadboards. Now that will be full circle :)
@chriskaprys
@chriskaprys Год назад
A few more LEDs should be enough for a rudimentary screen. Nearly there!
@tyleryounger2558
@tyleryounger2558 Год назад
@Izaltino D. Souza dude is probably already working on it
@rukirgaming
@rukirgaming 2 месяца назад
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
@EvilSandwich
@EvilSandwich 3 года назад
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
@chri-k 3 года назад
2022: building an lcd screen microcontroller on bradboards 2030: building a 6502 on 1 thousand breadboards 2077: building a universe on breadboards
@MrCool-lo3ls
@MrCool-lo3ls 3 года назад
Also the signals from the keyboard are really convenient. I would like it if he explained how the keyboard prepares the signals
@JohnDlugosz
@JohnDlugosz 3 года назад
In the Apple 1, they used a terminal chip for a similar purpose.
@JohnDlugosz
@JohnDlugosz 3 года назад
@@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.
@ryanb8302
@ryanb8302 3 года назад
@@JohnDlugosz the gigatron
@DegradationDomain_stuff
@DegradationDomain_stuff 3 года назад
I have never been so happy to see number 3 in my entire life
@Dojobows
@Dojobows 5 дней назад
Gabe the founder of valve has installed PTSD for-all gamers.with not making half life 3 10 years ago..
@seannolan2120
@seannolan2120 3 года назад
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!
@sensiblewheels
@sensiblewheels 3 года назад
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.
@gpk6458
@gpk6458 3 года назад
For some reason I thought it was called a Schottky trigger. I still felt smart, though.
@Yogpod299
@Yogpod299 3 года назад
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
@atakan3160
@atakan3160 3 года назад
I'm a student. This channel is a gold mine for me. Thank you for your effort greetings from Turkey.
@OneMilian
@OneMilian 7 месяцев назад
Me too im from Germany, powerful knowledge is universal
@markday3145
@markday3145 3 года назад
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
@syralessthanthree 3 года назад
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
@daredaemon8878
@daredaemon8878 3 года назад
@@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.
@saltysoyman6908
@saltysoyman6908 3 года назад
Ben Eater has nearly singlehandedly shown me how cool it would be to become an electrical engineer!
@Aadil2Adnan
@Aadil2Adnan 3 года назад
Same! I just love Ben's vibes
@existential_fred
@existential_fred 3 года назад
What about great Scott?
@KubikDezimeter
@KubikDezimeter 3 года назад
@@existential_fred He‘s great too
@existential_fred
@existential_fred 3 года назад
@@KubikDezimeter lol I see what you did there
@jamiehardt3061
@jamiehardt3061 3 года назад
@@existential_fred Ben's prototypes are neater and seem to be a little safer. 😀
@bensonprice4027
@bensonprice4027 3 года назад
On this episode, Ben teaches us how to make triangle and saw-toowth wave signals.
@sdspivey
@sdspivey 3 года назад
But I want to see pentagonal waves.
@kaitlyn__L
@kaitlyn__L Год назад
@@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
@sdspivey
@sdspivey Год назад
@@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")
@zizlog_sound
@zizlog_sound Год назад
At the point we saw the different wave forms on the oscilloscope I thought he is gonna hook up a speaker 😅
@SamBebbington
@SamBebbington 3 года назад
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!
@BrightBlueJim
@BrightBlueJim 3 года назад
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.
@TrapShooter68
@TrapShooter68 3 года назад
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!
@minikretz1
@minikretz1 3 года назад
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!
@EvilSandwich
@EvilSandwich 3 года назад
Oh yeah just swap out a 7404 with a 7414 and your set!
@Charlie-kz9cy
@Charlie-kz9cy 3 года назад
What could make a Saturday morning better than a new video from Ben?
@bsvenss2
@bsvenss2 3 года назад
Two Ben videos? 🤔😀
@sashimanu
@sashimanu 3 года назад
Ben & Curious Marc videos!!
@yakacm
@yakacm 3 года назад
This is turning in to a computer version of Bad Obsession Motorsport, lol.
@hanshans387
@hanshans387 3 года назад
Just need a sound card for the funk!
@sashimanu
@sashimanu 3 года назад
Coming up next: covox, FM and noise noise synthesis
@jdpruente
@jdpruente 3 года назад
Fortunately for us Ben is moving along at a much faster clip!
@BrightBlueJim
@BrightBlueJim 3 года назад
Just imagine building a computer using an angle grinder
@Zadster
@Zadster 3 года назад
@@BrightBlueJim And many, many, brackets...
@hecker688
@hecker688 3 года назад
I learn more about all of this with him than in school.
@saltysoyman6908
@saltysoyman6908 3 года назад
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.
@EvilSandwich
@EvilSandwich 3 года назад
@@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.
@matthewduphily5129
@matthewduphily5129 3 года назад
I feel this. I pointed my fellow classmates to Ben's SR latch videos cause our prof is just awful at teaching
@ezravermeulen901
@ezravermeulen901 3 года назад
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)
@glaucorocha1281
@glaucorocha1281 3 года назад
schools should be illegal
@yousorooo
@yousorooo 3 года назад
As a software engineer it is very fascinating to see how the hardware works under the hood.
@ToTheGAMES
@ToTheGAMES 3 года назад
It basically works the same, but different! I love it. Just like switching electrical systems.
@samibinol
@samibinol 3 года назад
It runs on some form of electricity
@ToTheGAMES
@ToTheGAMES 3 года назад
@@samibinol surprised_pikachu.jpg
@syralessthanthree
@syralessthanthree 3 года назад
i think the best thing is that everything runs at the same time if you are interrested in "programming" hardware check out FPGAs
@stutavagrippa8690
@stutavagrippa8690 3 года назад
Nice profile picture.
@mattc4855
@mattc4855 3 года назад
Getting flashbacks to my analog electronics class at university when I heard "Schmitt Trigger". Thanks for the psychological trauma Ben :D
@SimonBuchanNz
@SimonBuchanNz 3 года назад
I have learned and forgotten what a schmitt trigger is probably about five times now. I'm hoping this one sticks!
@YagoTheFrood
@YagoTheFrood 3 года назад
Ben really should have put up a Schmitt Trigger Warning at the top of the video.
@kaitlyn__L
@kaitlyn__L Год назад
@@YagoTheFrood I don’t know whether to clap or groan
@zachcheung8400
@zachcheung8400 3 года назад
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.
@aaronrainbolt3154
@aaronrainbolt3154 10 месяцев назад
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!
@vzwopx
@vzwopx 3 года назад
The work you put into this video series.. incredible. Stay awesome!
@coverfrequency2305
@coverfrequency2305 2 года назад
This whole series is amazing. Such a calm, in depth, to the point explanation Very enjoyable
@tekvax01
@tekvax01 3 года назад
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!
@insertcreativenamehere492
@insertcreativenamehere492 2 года назад
this man has become my favorite RU-vidr. 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.
@snickers10m
@snickers10m 3 года назад
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.
@timsanders9111
@timsanders9111 Год назад
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.
@darkstatehk
@darkstatehk 3 года назад
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.
@joecolvin4203
@joecolvin4203 3 года назад
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!.
@YouB3anz
@YouB3anz 3 года назад
That's a pretty sweet update. Look forward to working on this project in the summer.
@3dlabs99
@3dlabs99 3 года назад
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.
@monsieuralexandergulbu3678
@monsieuralexandergulbu3678 3 года назад
Well, I just love watching you wire up the breadboards! thanks You explain superbly!
@CaseyWilkesmusic
@CaseyWilkesmusic Год назад
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
@aydeeaychbee6336
@aydeeaychbee6336 3 года назад
Just discovered your channel today, it is awesome!
@jojajoja420
@jojajoja420 3 года назад
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).
@temporarilyoffline
@temporarilyoffline 3 года назад
Great video Ben! I am just now debugging a Via VT82c42 problem and this was great timing. Keep up the good work.
@Gr3mI1n
@Gr3mI1n Год назад
Ben Eater, demystifying electronics since Oct 15, 2011 Thank you SIR!
@amansharma2870
@amansharma2870 3 года назад
Can't wait to build my breadboard projects. This channel always excites me. Thanks for discussing problems that we might run into.
@TheGamingDinosaurRoblox
@TheGamingDinosaurRoblox 11 месяцев назад
i have learned so much on this channel and im super thankful
@DerMarkus1982
@DerMarkus1982 3 года назад
"And if we press a key on the keyboard, ... nothing happens." Ouch. That nasty color scheme! 🤣
@BrightBlueJim
@BrightBlueJim 3 года назад
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.
@BrightBlueJim
@BrightBlueJim 3 года назад
In the previous video, I remember thinking, "oh great, black for positive five volts, ground is orange. What could possibly go wrong?"
@sleepwalkerbg1
@sleepwalkerbg1 3 года назад
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.
@uhlersoth99
@uhlersoth99 3 года назад
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.
@eanerickson8915
@eanerickson8915 3 года назад
The effort you put into explaining is greatly appreciated.
@ManinderSingh-hg3wg
@ManinderSingh-hg3wg 3 года назад
Thank you Ben for all your videos
@Rouverius
@Rouverius 3 года назад
Everyone: They is no way to create a truly random value with a computer. Ben Eater: Hold my inverter
@drawapretzel6003
@drawapretzel6003 3 года назад
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.
@chri-k
@chri-k 3 года назад
What about using quantum mechanics? You can technically plug anything into a computer, including a quantum random number generator. plus quantum computers are computers.
@MrCool-lo3ls
@MrCool-lo3ls 3 года назад
@@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
@MrCool-lo3ls 3 года назад
@Michael Bishop i didn't look that deep into it and i have to admit, i was wrong and misunderstood some quantum physics
@SimonBuchanNz
@SimonBuchanNz 3 года назад
@@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?
@silvio2402
@silvio2402 3 года назад
Nice videos! I love to watch them!
@johnm2012
@johnm2012 Год назад
I'm glad that powering up that nice keyboard in reverse didn't kill it.
@pablogarin
@pablogarin 3 года назад
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!
@pablogarin
@pablogarin 3 года назад
Just to clarify, I'm referring to the keyboard 5v-GND mishap... =P
@richshealer3755
@richshealer3755 3 года назад
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.
@RetroRogersLab
@RetroRogersLab 3 года назад
I really appreciate the way you explain things. I'm also very envious of your 'scope.
@DukeBG
@DukeBG 2 года назад
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.
@timsanders9111
@timsanders9111 Год назад
I have exactly the same question. Searching for some mention of that now.
@lukenaegle5014
@lukenaegle5014 2 месяца назад
I think he switched the lcd into the other bit mode to save on the port offscreen
@martinmendez695
@martinmendez695 3 года назад
No matter how complex the systems become. The excitement of knowing the basics will never get away. Thanks for all your videos!
@sanjayaanuradha7509
@sanjayaanuradha7509 3 года назад
You're one of the amazing guy who teach how actually working inside the computer❤
@richshealer3755
@richshealer3755 3 года назад
The HP 16C is my day to day calculator as well! It's about 35 years old and still works great.
@fenix_storm8575
@fenix_storm8575 3 года назад
Thank u man u are an engineering genius...pls keep the videos on youtube...don't remove them🙏🙏👍
@randy7894
@randy7894 3 года назад
Thank you for explaining everything. I learned an enormous amount of chip tech from your videos.
@fedelecavaliere5249
@fedelecavaliere5249 3 года назад
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!
@metamud8686
@metamud8686 2 года назад
1:39 GND/+5V switched around! 2:38 thank you :-)
@feedmyintellect
@feedmyintellect 3 года назад
After watching this I will never take my keyboards for granted ever again! Thank you for creating this informative video. 😊🙏🙏🍰
@Serafimati
@Serafimati 3 года назад
Thanks for your videos, they are incredibly interesting and inspiring!
@jesusarias4320
@jesusarias4320 Год назад
Just a tough: the 74HC595s also include tristate outputs, so they could be connected directly to the 6502 data bus. This will save 8 VIA pins for other pourposes at the cost of a little more address decoding. Nice video, anyway
@MrPzyt
@MrPzyt 3 года назад
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.
@SordidEuphemism
@SordidEuphemism 3 года назад
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.
@zrodger2296
@zrodger2296 3 года назад
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!
@Cherijo78
@Cherijo78 3 года назад
This series is right on time for me. I'm about to build an SYM-1 from a new old stock (43 years old!) unused motherboard in the next few months (It's a variant, but it's from Synertek; I believe it's the SM-100 OEM line motherboard). It's 6502 based. I want to build the original KTM2 and/or KTM3 modules for it at some point, but they are much more complicated and pricey to make. I'm looking at possibly modding the KTM design with my own more modern KB interface so I don't have to build my own keyboard, and/or making a simpler KB interface direct to the machine.
@kennethtsang8569
@kennethtsang8569 2 года назад
Love Ben’s way of explaining Schmitt Trigger 👍
@charlieprevost
@charlieprevost 3 года назад
Excellent timing with the need to use Schmitt triggers, since I am teaching this right now :)
@xSATOKU
@xSATOKU 3 года назад
Really love this channel
@pJokse
@pJokse 3 года назад
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
@paradox9551
@paradox9551 3 года назад
I've been waiting for this.
@ecosta
@ecosta 3 года назад
That's an interesting approach! I thought about using XORs to calculate parity, then use ANDs to check if the start/stop/parity/my parity combo is correct. That output would be the interrupt trigger. It consumes more hardware, but it is "safer" and easier for the software, since it filters noise and corrupted inputs.
@kleinesfilmroellchen
@kleinesfilmroellchen 3 года назад
They all love the RC circuit, but they don't know its timing involves differential equations
@sashimanu
@sashimanu 3 года назад
And temperature variability!
@rizalardiansyah4486
@rizalardiansyah4486 3 года назад
At least it's still a first order! Lol
@mikefochtman7164
@mikefochtman7164 3 года назад
Another great video. I was wondering after the last video how you might ensure the CPU only reads the shift register at the completion of a scan code and you explain a simple but effective method. Also, great explanation of Schmitt input device.
@datawolk
@datawolk 3 года назад
Nice video! I think the 74HC123 will be interesting too for the timing issue.
@BrightBlueJim
@BrightBlueJim 3 года назад
True, but using the HC14 also got him another inverter for free. Also, the HC14 is a much more versatile chip, and more likely to be found in the "leftover parts" drawer.
@ShelvokeSPV
@ShelvokeSPV 2 года назад
Hi Ben, Really enjoyed the video's on the 6502. It would be excellent if you could cover the R6551 UART or MC6850 with the 6502 and maybe some more video lessons maybe using the 6545 or 6845 CRT controllers in future lessons. Could the shift register on the 6522 be used for reading serial?
@bdafeesh
@bdafeesh 3 года назад
Excellent video as always Mr Eater. You are a gift to youtube
@mikecheques3833
@mikecheques3833 3 года назад
i love your videos! I've learnt so much from you. Thanks
@mattb154
@mattb154 3 года назад
I am both delighted and unsurprised that you are a Vim user. Excellent video!
@uwgrasse
@uwgrasse 2 года назад
That took an interesting turn. Since the stop bit is 1, that output (#11) of the shift register is a good interrupt trigger. Lower parts count, too.
@chrisj2848
@chrisj2848 3 года назад
Love these videos. Awesome work!
@francoisdastardly4405
@francoisdastardly4405 3 года назад
Another brilliant video. Thanks !!!
@elclippo4182
@elclippo4182 3 года назад
vi and a vintage hp calculator - oldies, but goldies.
@drakezen
@drakezen 3 года назад
You should provide a course for beginners. How to use a breadboard, basic electronics, etc type of thing to go along with these more advanced sessions.
@jasonwilliams8730
@jasonwilliams8730 3 года назад
Thanks for posting Ben love the videos
@grshorwich
@grshorwich 3 года назад
No computer scientist should be separated more than a couple of feet from their trusty HP-16C :)
@k0pR0LiTh0s
@k0pR0LiTh0s 3 года назад
It's safe to say, you are a real asset to humanity! Thank you.
@2LukeLOL
@2LukeLOL 3 года назад
great idea to use Schmitt inverter to clean up the decaying RC voltage!
@ronbasque1206
@ronbasque1206 3 года назад
Ben's projects bring me back 35yrs to when I first started in engineering. Love how the simple, RC/Schmitt-trigger solution fits with the spirit of the projects. Have a slight suggestion for a more "professional" solution. Use a 74LS393 dual counter to make a 7-bit counter clocked off the 1Mhz. Tie the inverted keyboard clock to the CLEAR line. The counter will be reset every 43us by the keyboard clock, and held in reset for 43us. Use the 6th bit of the counter to make a 32us pulse, beginning 64us after the last keyboard clock for the interrupt pulse. Then use the 7th bit (inverted) with an AND gate on the 1Mhz clock to stop the counter, until reset by the next keyboard clock. Again NOTHING against Ben's solution, just offering a different perspective, in the same vein of "teaching". peace out!
@BrightBlueJim
@BrightBlueJim 3 года назад
This is not more professional. To be clear, the objective of engineering is to get the desired task done reliably, with the minimum cost required. If you were designing this within a custom chip, where you don't have the option of producing delays by using resistors and capacitors, and where you would likely have a clock input, this might be a valid approach, but for a low cost solution, it is overkill. And sure, there are always alternative ways to do things that present different tradeoffs, but calling your approach "more professional" is a bit insulting, I think.
@ronbasque1206
@ronbasque1206 3 года назад
I’m sorry it honestly was not my intention to be insulting. And I guess you’re correct professional may have been a poor choice of words. Just thought others would be interested in a digital alternate.
@ilgaar
@ilgaar 3 года назад
great video. thanks a thousand times for putting your time and effort in this project. you have been a great inspiration source to me. I wish you would make a video about memory banking and methods to address memory space larger than 64KB with 16bit address BUS. I have some ideas, which might sound stupid, like splitting a long address into 2 parts of 16its and sending the higher order address followed by the lower order address to a some sort of logic circuit with some counters that keeps track of the larger address since 6502 can only count to 64KB, instead this decoder of some sort or the memory address manager circuit will be able to access say a 128KB, 512KB.. memory using it's larger address bus, say 24bit or more. Or maybe a logic to do bank switching. It would be a really interesting challenge.
@tunerrestorations
@tunerrestorations 10 месяцев назад
Gotta build two of these for communicating between my shop and the house.
@ailijic
@ailijic 3 года назад
I look forward to each of your videos
@KonjonoAwesome
@KonjonoAwesome 3 года назад
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.
@CDP1861
@CDP1861 3 года назад
It took me a second to figure out that you were not talking about an actual interrupt signal to the CPU. That would have raised the big question how this would not constantly raise one interrupt after another because the 'interrupt' is not reset until the next byte comes from the keyboard. Ok, so the misnamed interrupt signal actually is the input strobe for your parallel port. That works, but how about making this work without using the parallel port at all? First, you would have to replace the Schmitt trigger inverters by Schmitt trigger NAND gates. Two of them you can use as inverters, the other two are hooked up as a SR flipflop, The flipflop is set when you latch the the data in the shift registers. The inverted output of the flipflop goes directly to the CPU's interrupt request input. The /OE signal of the shift registers has not been used up to now, so why don't you simply decode an input port and use the /OE to put the data on the data bus when the port is accessed? This can also be used to reset the flipflop, so that the interrupt request is taken away as soon as the data has been read. This would free up the parallel port for other uses. I don't know in detail how a 6502 decodes its ports, but you probably need only a few extra gates.
@frankowalker4662
@frankowalker4662 3 года назад
Excelent job on the keyboard. I love it.
@thegreeno
@thegreeno 3 года назад
Ben is on track to teach the world how to build a Commander x16 before they actually release one! Love both projects. But love this detail!
@timsanders9111
@timsanders9111 Год назад
Extraordinary. Never in my digital hardware lab did we use an oscilloscope. No wonder I could never get that stuff to work. And I love the HP-16 calculator. I used an HP-15c scientific version in college. Best calculator ever made and I have a clone of it now. Will have to find an HP-16. RPN is so much better.
@JamsMinecraft
@JamsMinecraft 3 года назад
Omg I finally understand what a peak rectifier is. Thanks Ben!
@KatTheFoxtaur
@KatTheFoxtaur 3 года назад
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.
@johnm2012
@johnm2012 Год назад
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.
@AClockWorkKelly1
@AClockWorkKelly1 3 года назад
This is the perfect intro to RC circuits ... I wish they explained it this way in university .. I think many students would pick it up far faster.
@pablogarin
@pablogarin Год назад
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!
@timsanders9111
@timsanders9111 Год назад
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.
@cojawfee
@cojawfee 3 года назад
Of course you have an HP 16C. Way to flex on us.
@BrightBlueJim
@BrightBlueJim 3 года назад
"oh - this old thing??"
@uhlersoth99
@uhlersoth99 3 года назад
Dear Ben. How did you acquire this wisdom? Seriously? How did you do it? My mind is boggled.
@moshly64
@moshly64 3 года назад
The 74LS123 is designed for this type of timing application but is probably more expensive than a LS14. However it does have a few advantages to Ben's method.
@tim0steele
@tim0steele Год назад
Agreed. I used one for an artificial horizon in 1981. There was a stream of digital pulses coming from an opto sensor on the gyro wheel which got faster as the wheel increased speed. The period of the first monostable was set so that when the wheel reached the desired speed of 6,000 RPM the pulses would run together. This was fed into the second monostable which had a longer period and would stop triggering, leading to it switching off which in turn made an LED light on the front panel informing the user that the wheel was up to speed.
@moshly64
@moshly64 Год назад
​@@tim0steele I had a composite/s-video enhancer kit that used one to reconstruct the H&V blanking time (the later version used counters) & I have also seen them used in multi sync CRT monitors.
Далее
Keyboard interface software
20:04
Просмотров 202 тыс.
SPI: The serial peripheral interface
33:00
Просмотров 688 тыс.
Part 5. Roblox trend☠️
00:13
Просмотров 2,9 млн
Grand Final | IEM RIO 2024 | BO5 | КРNВОЙ ЭФИР
6:35:24
The first LowSpec Processor
28:11
Просмотров 616 тыс.
So how does a PS/2 keyboard interface work?
33:07
Просмотров 492 тыс.
Hardware interrupts
27:36
Просмотров 597 тыс.
Running MSBASIC on my breadboard 6502 computer
36:53
Просмотров 220 тыс.
Installing the world’s worst video card
25:12
Просмотров 974 тыс.
The RS-232 protocol
26:10
Просмотров 847 тыс.
World's worst video card gets better?
44:25
Просмотров 832 тыс.
How Do Computers Remember?
19:32
Просмотров 6 млн
I built a retro Mac from BRAND NEW parts!
32:18
Просмотров 313 тыс.
Hacking Microsoft BASIC
18:03
Просмотров 99 тыс.
Part 5. Roblox trend☠️
00:13
Просмотров 2,9 млн