6502 serial interface

  Рет қаралды 245,485

Ben Eater

Ben Eater

Күн бұрын

Пікірлер: 338
@sefaa4089
@sefaa4089 Жыл бұрын
Babe wake up! Ben Eater posted another video!! 🎉
@pareshmhatre4019
@pareshmhatre4019 Жыл бұрын
Why Babe is sleeping?
@N0Xa880iUL
@N0Xa880iUL Жыл бұрын
​@@pareshmhatre4019 She has chronic fatigue syndrome.
@totallynotgad
@totallynotgad Жыл бұрын
babe should always be awake waiting for the new ben video
@manishholla
@manishholla Жыл бұрын
Babe seems distracted.
@Raz82000
@Raz82000 Жыл бұрын
​​@@manishholla yeah. Seems like babe is having "yoga sessions" with tyrone atm.
@jason3898
@jason3898 Жыл бұрын
Sat on the kit for a few years, spent the last 2 weeks finally following through the series, I finally finished 30 minutes ago. How delightful to come back to the playlist and find a new episode! Thanks for waiting for me :) This is such a great series. I showed my 6yo the final build, had him plug it in and reset it, his response: "Wow! How did you make it do that!?" Me: *starts explaining* Him (interrupting): "Can you make it say Hello, Arlo!?". I walked him through the whole process of modifying the program, building, looking at his name in HEX, pulling out the EEPROM, programming it and getting it back on the breadboard. When it printed "Hello, Arlo!" I think a new hobbyist was born. Then, as I'm typing this, he's in People Playground and calls me over to show me he's put "Hello, Arlo!" on a terminal looking screen you drop into the world. Yeah, he's hooked :)
@drivers99
@drivers99 Жыл бұрын
That’s so cool. Today I was doing the project where you hook up the video card to a monitor and I showed my daughter, and told her about the hex codes of the 64 color palette and the 100x75 pixel resolution. (She’s in a class learning html, css, and JavaScript so she’s aware of RGB codes in hex, and she makes a lot of digital art as a hobby).So she designed a 100x75 png file for me of a frog eating a fly (LOL) and I modified the python program to convert it since she didn’t index the colors, I had the convert program do it for me. Burned it onto the EEPROM and it shows the frog now :) I think this is helping encourage her too. (She’s 13 not 6 though, big difference.)
@rayzecor
@rayzecor Жыл бұрын
That's adorable
@Anikin3-
@Anikin3- Жыл бұрын
playing People Playground at 6 years old
@rabidbigdog
@rabidbigdog Жыл бұрын
I wonder if people remember those old Radio Shack kid's electronics kits? They were absolutely brilliant. This is kinda like that, but usually for bigger kids. :)
@rabidbigdog
@rabidbigdog Жыл бұрын
Hello Arlo!!!
@fredinit
@fredinit Жыл бұрын
Ben... You do an excellent job of explaining both the electronic and software side of this. Not that everyone needs to be a bare-metal programmer, but we need more developers that understand what's going on "under the covers" in hardware. It's been a long time since I did 6502 assembler (back in the computer wars (C=64, Apple ][, Atari .. before the IBM PC!).
@GabrielPettier
@GabrielPettier Жыл бұрын
me, a python programmer, remembering people had to think about memory layouts, when he talks about picking a place to store his little asterisk… 😅
@paulmichaelfreedman8334
@paulmichaelfreedman8334 Жыл бұрын
I've met programmers, good ones too, that have never even had a clue what their computers looked like inside. They'd probably be able to name some components, but that's it.
@doug7180
@doug7180 Жыл бұрын
This guy's the best.
@spot997
@spot997 Жыл бұрын
@@paulmichaelfreedman8334 Couldn't have been _really_ god ones though.
@InfiniteQuest86
@InfiniteQuest86 Жыл бұрын
@@paulmichaelfreedman8334 That's most of them now.
@wipoute
@wipoute Жыл бұрын
"Be conservative in what you do, be liberal in what you accept from others" - Jon Poster Man, this is turning into a philosophy channel... and I'm here for it!
@renakunisaki
@renakunisaki Жыл бұрын
This philosophy made sense at the time, but led to the utter mess that was Web 1.0, and all sorts of security issues.
@BitwiseMobile
@BitwiseMobile Жыл бұрын
It's Postel's Law, probably auto-correct got you. It's the principle of robustness that all application developers and architects should strive for. TCP is a very robust protocol and has stood the test of time indeed. Application layer protocols are a different thing entirely - HTTP I'm looking at you askance.
@omgwtfkthxbai
@omgwtfkthxbai Жыл бұрын
"...and that's what we'll be doing in the next video." Aww. Just when it was getting to the GOOD part! Please don't make us wait too long, Ben!
@somilamaloyi7544
@somilamaloyi7544 Жыл бұрын
Ben Eater’s videos are too advanced for me now but i still watch because i love watching this whole project form together
@MrYerak5
@MrYerak5 Жыл бұрын
I leart so much in the past years from his videos
@hn396
@hn396 Жыл бұрын
Learn digital logic and computer architecture! It will really change the way you see technology in general, it's more than just educational
@ratvibe
@ratvibe Жыл бұрын
I couldn't imagine a better source to learn the relevant topics than his own videos
@jason3898
@jason3898 Жыл бұрын
I'm certain you can handle this series. I have no previous experience with breadboard builds. I've only soldered 2 pre-made PCB kits which, like Ben says at the beginning of this series, only really taught me how to solder. I sat on the kit for years because, every time I started, I felt the same way as you. But then lately I've been binging the LOOK MUM NO COMPUTER channel (curse the algorithm for not suggest the channel to me years ago), who's tag line is "Don't be afraid to try it". He knowledgeably, yet haphazardly, throws extremely cool stuff together without a single fear of making a mistake. It's incredibly inspiring. He happened to mention Ben's kit in one of the videos and I decided to embrace that mindset and just dive in to completing the kit, ignoring the voice telling me I'm not ready for it. After 2 weeks working on the clock module and this series, I finished today. You can do it!
@tobie9205
@tobie9205 Жыл бұрын
Same bro. I'm a mechanical engineering student in uni but I've always had an interest in electronics and Ben fills that need perfectly!
@jeromethiel4323
@jeromethiel4323 Жыл бұрын
The 16550 UART was an amazing achievement. That one chip replaced entire circuit cards to do the same thing.
@scottlarson1548
@scottlarson1548 Жыл бұрын
What does the 16550 do that the 6850 can't?
@jeromethiel4323
@jeromethiel4323 Жыл бұрын
@@scottlarson1548 It had some cache memory on it, IIRC. So if the processor was busy, you could "ride through" and not miss any data. There were several UART type devices out around the same time, all i know is the 16550 ended up being what pretty much every body used. Your experience, however, might be different.
@scottlarson1548
@scottlarson1548 Жыл бұрын
@@jeromethiel4323 The 6850 had cache memory: one byte! You better read it quick.
@jeromethiel4323
@jeromethiel4323 Жыл бұрын
@@scottlarson1548 You have exceeded my rather limit knowledge on the subject! ^-^ Only did a very little bit of breadboarding serial comms, and it was always a 16550. So my experience is extremely limited. But i know pretty much every laptop and desktop i owned from the mid 80's on were all 16550's for the serial ports. Don't know why, it's just all i ever saw.
@tomteiter7192
@tomteiter7192 Жыл бұрын
@@scottlarson1548 The 16550 had a 16byte FIFO buffer. That was really something back in the day
@DrathVader
@DrathVader Жыл бұрын
Literally just yesterday I was trying to hook up a COM port on my headless server to a cheap USB UART adapter. Of course it didn't work and I bet it's because I was trying to interface RS-232 level port with 5V level adapter. Great video and great timing.
@MikeF1189
@MikeF1189 Жыл бұрын
It sure is great to really understand the functions of all the terms and protocols I've been using for almost 30 years.
@drivers99
@drivers99 Жыл бұрын
I’m finishing up the last kit now (I did the 6502, the 8-bit breadboard computer, and almost done with the video card) and a new kit just came out. Awesome!
@FragrantVagrant69
@FragrantVagrant69 Жыл бұрын
If I tried this, I can imagine there being lots of smoke coming out of the breadboard, but man, I love watching this. Thanks, Ben
@SlartiMarvinbartfast
@SlartiMarvinbartfast Жыл бұрын
MAGIC smoke of course. 🙂
@DW-indeed
@DW-indeed Жыл бұрын
I've learned: Pay attention to your breadboard power rails. I got one that had split rails (The lines tell you! The lines maaan!) which I think meant I somehow created a short loop. The VRMs silently and smokelessly died and were passing 12v straight through into the circuit ("ooh that's a bit warm..."). Fortunately nothing else died, but that genie of the magic smoke is always there, trying to escape!
@JustinRCutler
@JustinRCutler Жыл бұрын
You might want to consider the MAX233 (instead of the MAX232). The MAX233 is similar in price, but does not require external charge pump capacitors.
@shaunclarke94
@shaunclarke94 Жыл бұрын
Oh wow. How did they achieve the same functionality without capacitors? Or is it somehow possible to embed a capacitor in the IC?
@DFPercush
@DFPercush Жыл бұрын
@@shaunclarke94 I'm not sure exactly, but there's a lot of room inside that plastic that's not the silicon die, especially on DIP packages. Most of the space is just for the pins. The caps are probably just potted in there.
@tim1724
@tim1724 Жыл бұрын
The MAX233 is around $11. The MAX232 is around $7, and clones (including high quality ones, such as TI's version) are under $2. Capacitors are a few cents. So unless you are really tight on space, it's significantly cheaper to use the TI clone of the MAX232 with external capacitors.
@TerrisLeonis
@TerrisLeonis Жыл бұрын
But I already have a MAX232 in my parts box…
@thewhitefalcon8539
@thewhitefalcon8539 Жыл бұрын
It's worth pointing out that Postel's Law didn't work out so well for the Internet. With every implementation being liberal in what it accepts, it wasn't so easy to spot if your implementation had mistakes in what it sent to others, until certain combinations just didn't work at all. Nowadays, we want to have a clear specification and hold all implementations strictly to the specification.
@jasharin
@jasharin Жыл бұрын
heck, he immediately points out the problem with postel's law in the video!
@marianaldenhoevel7240
@marianaldenhoevel7240 Жыл бұрын
Software person here: I love the order in which you write the code for demonstration. The loop, the if-then-else-logic, and then the body for each case. I vow to steal that when I try to explain stuff.
@renakunisaki
@renakunisaki Жыл бұрын
That was one of the most important things I learned early on. Don't write code like an essay. Write it "from the outside in". First the overall structure (with comments explaining what goes here), then the interior.
@quentidoudou6544
@quentidoudou6544 Жыл бұрын
It's almost like Ben heard i don't know how that i'm on my way to build his 6502 computer using his videos.. One again, great job Ben! I'll definitely used that in a while!
@RexxSchneider
@RexxSchneider Жыл бұрын
I wish those chips had been around in 1979 when I faced the task of of interfacing a Commodore Pet to an ICL 2960 (I think it was) mainframe in order to download the 1861 census data for a district of Dudley which the mainframe held on magnetic tape. The Pet had no serial interface, so I had to create one using discrete logic and level shifters, and I ended up making one that ran at 300 baud. The database was 'only' about 600K in size, but that took about a day, if I recall correctly, to successfully download onto two double-sided 8-inch floppy disks, in a dual disk drive which was a custom addon for the Pet because the Commodore disks (on the IEEE interface) didn't have enough capacity.
@wChris_
@wChris_ Жыл бұрын
I believe you can implement send and receive at the same time by using one of the timer interrupts of the VIA chip and handling receive in the Interrupt routine. Sending is done synchronously in the main routine. You can also use the second timer of the VIA for better timing.
@johncochran8497
@johncochran8497 Жыл бұрын
Doing that would cause a fair amount of jitter in the send routine. Namely because it's unaware of any timing issues caused by interrupts for the receive. Additionally, send and receive are not necessarily synchronized as to the start of each byte. But since he's gonna use a UART in the next video, there's no need to go extreme low level bit-banging with microsecond level timing and frankly, both send and receive would be well served via interrupts at that point.
@threeMetreJim
@threeMetreJim Жыл бұрын
@@johncochran8497 If you want full duplex with no jitter, use one timer interrupt running at more than twice the speed (from sampling theorem) you need to keep up with 10 x 104uS (single byte time). It's not exactly high speed even for a 6502 (about 2kHz). Poll receive, and transmit when a byte to send is required, using two buffers. As far as I know, old 8 bit 6502 home computers were only half duplex, and used interrupts for send and receive (at least my Atari 800 worked like that).
@johncochran8497
@johncochran8497 Жыл бұрын
@@threeMetreJim Since the hardware is doing pure bit banging, you need that interrupt at twice the bit frequency, not the byte frequency. So call it 52 uS. The Apple // had a clock speed of 1.023MHz, so we're talking an interrupt every 53 clock cycles. There is a 13 clock cycles overhead for taking the interrupt and the rti to return. So you've got only 40 clocks to handle the send/receive plus what ever else you're doing that isn't directly involved with handling the data communications. Not very practical. The next video will use an UART so right there the need to handle individual bits goes away and the interrupts happen on xmit empty or recv full. This means that on average interrupts only happen 1920 times per second, or 520 uS which is 533 clock cycles on an Apple // or 520 clocks after excluding mandatory interrupt overhead. Much more reasonable for processing data outside of direct I/O support.
@threeMetreJim
@threeMetreJim Жыл бұрын
@@johncochran8497 Not bit banging, using the UART. Nowhere near fast enough to bit bang. My mistake of getting ahead as soon as Ben mentioned UART. Apologies for that.
@johncochran8497
@johncochran8497 Жыл бұрын
@@threeMetreJim No problem. I assumed that you had read and knew that the context of this subthread was bit banging. And the interrupt frequency of the UART may actually be even lower, depending upon whether or not the UART has any FIFO queues for send and receive. Assuming no FIFO and Apple // clock speeds, I'd estimate the fastest practical RS232 speed would be 38400 baud giving an average of 133 clocks to handle each byte and other processing.
@Whiskey0
@Whiskey0 Жыл бұрын
Man, these videos are something incredible. Thanks so much for taking the time to share your knowledge with the world. I for one truly appreciate it!
@sergeyd5777
@sergeyd5777 Жыл бұрын
How many people are out there now who can do this? I deal with Electrical Engineers and Software Developers a lot at my work. The former cannot design a circuit without a CAD simulator, and the latter cannot write an application without C#... Ben, you are a gem! Hope you have a good employer.
@kaitlyn__L
@kaitlyn__L Жыл бұрын
That’s wild, my electrical engineering class in school did cover CAD but only after we’d gotten good at laying out circuits by pencil and bresdboard. Like the CAD lessons started by translating a breadboard design into CAD. But that was 13 years ago now. Maybe they’re not bothering anymore
@mikecimerian6913
@mikecimerian6913 Жыл бұрын
The 6502 is in my opinion the best teaching CPU ever built. People who owned Commodore computers could get into machine language in a few months thank to the kernel built routines. The memory addressing scheme by page memory and offset is simple compared to i386 base address and segment/offset scheme. This is the CPU to experiment and have fun with.
@bjbell52
@bjbell52 Жыл бұрын
I didn't know about the page memory system in the Commodore. I had an Atari 8-bit that just addressed everything by address directly. Was the Commodore harder to program in 6502 than the Atari ?
@mikecimerian6913
@mikecimerian6913 Жыл бұрын
@@bjbell52 I don't about the Atari. 8 bit addressing must be closely related. 256 pages each with 256 words (bytes). I really enjoy the symmetry. :)
@bjbell52
@bjbell52 Жыл бұрын
@@mikecimerian6913 I think we're talking about different addressing schemes. I think you're talking about index addressing like (address),y . I'm talking about direct addressing like lda #5 sta address. my bad.
@DebuggerKnight
@DebuggerKnight Жыл бұрын
this guy's talent in reading standards absolutely amazes me
@pipboy9999
@pipboy9999 Жыл бұрын
What fortuitous timing! I was literally looking for a good primer on serial protocol last night. Keep up the fantastic work, Ben!
@AJMansfield1
@AJMansfield1 Жыл бұрын
There's also an intermediate level you can go at for serial communications aside from that sort of "raw bit banging", using interrupts and a generic timer peripheral. The CPU never actually runs a delay loop, it just sets a virtual alarm clock for whenever it needs to next send a bit, and sets an interrupt for any transitions on the recieve line to record splits with a virtual stopwatch. This style of programming is one that a lot of people aren't really aware is possible, and it can get you out of a lot of sticky situations when you need to deal with multiple tasks with tight timing and/or less-conventional protocols.
@harveyxing2329
@harveyxing2329 Жыл бұрын
Do you mean protothreading?
@AJMansfield1
@AJMansfield1 Жыл бұрын
@@harveyxing2329 Not quite, though that style of event-loop control is also useful. I'm talking about just a more advanced way of using interrupts and timer peripherals.
@jeremoisde9928
@jeremoisde9928 Жыл бұрын
Is this scheduling?
@harveyxing2329
@harveyxing2329 Жыл бұрын
@@jeremoisde9928 looks like some form of cooperative scheduling, with the cpu interrupting for a task switch
@ZincSpray
@ZincSpray Жыл бұрын
Problem with interrupts with slow processors like 6502 here, is that in a high speed communication the actual interrupt takes tens of cycles already. Interrupt, saving/restoring registers and returning from there all take their time. So in a worst situation, cpu is 'stuck' at re-firing the same interrupt all the time. It gets even worse if both send/receive are firing their own interrupts. (Have to remember there are only 2 interrupt lines in 6502 chip, IRQ and NMI, and they have priorities.)
@pbezunartea
@pbezunartea Жыл бұрын
Thank you Ben, your videos are invaluable!
@biggjimble
@biggjimble Жыл бұрын
Your videos have so much charm and it's hard to explain why. But the fact that I had the following interaction is a good example; "The computer only has this five volt supply, but we need to generate this +-10v or so..." "Didn't he just put out a video about a really simple way to do that? I think it was even his most recent-" "Well in my last video I talked about how a charge pump is..."
@likebot.
@likebot. Жыл бұрын
Well! 6502s still available in the marketplace. Colour me happy.
@_ab_6490
@_ab_6490 Жыл бұрын
I hope in future u talk about 8086,8259 PIC,8254 PIT Because you are the only person on KZbin who explains things in a detailed and organized way, you deserve a medal
@bayareapianist
@bayareapianist Жыл бұрын
I don't understand why learning these stuff are so hard? He never explained why there was a negative voltage used for rs232. I don't think he knows.
@adrianstovall
@adrianstovall Жыл бұрын
​@@bayareapianist you could always say "hey Ben, why does the serial standard use positive and negative voltages?" You know, actually ask.
@melkiorwiseman5234
@melkiorwiseman5234 Жыл бұрын
@@bayareapianist I think it was because that explanation isn't fully relevant to this lesson. But to satisfy your enquiry, the RS-232 standard was intended to operate reliably in electrically "noisy" environments. In such an environment, making the voltage "swing" across a larger voltage range makes the connection more likely to reject any interference. Or to put it another way, a "pulse" of voltage induced into the communication wiring by electro-magnetism from nearby electrical equipment is less likely to be misinterpreted as being part of the data transmission if you use positive and negative voltages which are widely separated from each other. That is also why the standard allows the voltage swing to go all the way from positive 25 volts to negative 25 volts (a swing of 50 volts). TL;DR: It makes the data connection more reliable.
@trentborth3589
@trentborth3589 Жыл бұрын
Sounds like "robustness" ;-)
@bayareapianist
@bayareapianist Жыл бұрын
@@adrianstovall I don't think he knew. Otherwise he would have mentioned it.
@DevineOne
@DevineOne Жыл бұрын
Awesome video. Thanks for sharing. The binary code representing * is 00101010 which matches the scope reading with an extra 0 on the end.
@computerkiller1494
@computerkiller1494 Жыл бұрын
i'm being motivated by all of your videos and i think i'll create my own 6502 computer. thanks for all the expalations and help you give :D (maybe i'll get the kit as a birthday gift)
@velmuruganr9321
@velmuruganr9321 Жыл бұрын
And gift it to myself
@computerkiller1494
@computerkiller1494 Жыл бұрын
@@velmuruganr9321 i'll ask my parents actually or maybe yes i'll buy it for myself
@sirnukesalot24
@sirnukesalot24 Жыл бұрын
Ben, sometimes I think your in-video mistakes work out to being great teaching tools. I don't think anyone here will ever forget that 9600 baud works out to 104 microseconds per bit for the rest of our lives 😁
@dbuezas
@dbuezas Жыл бұрын
Haha so true! Btw, in case you didn't realize, the 104us comes from 1s/9600 (that's what bauds mean) The exact value is 104.16us
@vurpo7080
@vurpo7080 Жыл бұрын
@@dbuezas Yeah baud means symbols per second, so if your symbol is a bit then 9600 baud just means 9600 bits per second
@dbuezas
@dbuezas Жыл бұрын
@@vurpo7080 i didn't know it was a generic "symbols per second". I thought it was "bits/s including error detection and control signals". Thanks!
@sirnukesalot24
@sirnukesalot24 Жыл бұрын
@@vurpo7080 That's a great catch, actually. It's not just that the symbol could be more than one bit, a quick search showed a way in which an entire nibble (one digit of hexadecimal) can be jammed into the space of one pulse using a complex signal. I doubt that's the limit, either.
@paulstelian97
@paulstelian97 Жыл бұрын
@@sirnukesalot24 I believe modern fast Ethernet and Wi-Fi can go as far as one of 2048 options jammed in a single baud (11 bits per baud, though probably 3 of them are error correction)
@tobiaskarlsson7565
@tobiaskarlsson7565 9 ай бұрын
I found your channel two days ago and have been glued to the screen ever since! I actually had the book you based your breadboard computer on, and built the mk 2 when I was 15-16 :) I just wanted to mention that that you can run timer 1 on VIA in continuous mode to generate a square wave with an arbitrary frequency. Setting it to generate an irq when it restarts lets you run your interrupt handler on every leading edge of that wave. It makes it a lot simpler to handle the read/write timings.
@AndersNielsenAA
@AndersNielsenAA Жыл бұрын
Oh Ben, all those newfangled ‘C02 instructions are making me dizzy.. tsb, trb, ror! 1975 called - “that’s not a 6502” 😅
@kaitlyn__L
@kaitlyn__L Жыл бұрын
Well, most 6502s had ROR :p just not the very very first ones
@I.____.....__...__
@I.____.....__...__ Жыл бұрын
4:22 "TCP Robustness Principal - Be conservative in what you do and liberal in what you accept from others" - That's just good general life advice. 🤔
@kennethhicks2113
@kennethhicks2113 Жыл бұрын
Memories... breadboarding 6502 and C64 projects in the early 80's : )
@khatharrmalkavian3306
@khatharrmalkavian3306 Жыл бұрын
I've always loved Postel's Law. It can solve so many issues, especially around file format support.
@spot997
@spot997 Жыл бұрын
And in life.
@okiedokie9430
@okiedokie9430 Жыл бұрын
...and hopefully we'll see the next video before the snow melts 🤗
@enjibkk6850
@enjibkk6850 Жыл бұрын
You mean the polar ice caps 😆?
@ke9tv
@ke9tv Жыл бұрын
I remember from back in the day, that RS-232 had rise and fall time restrictions. With some cables and some devices you needed to add a tiny bit of capacitance (330 pF would usually do it) between the transmitter output and ground, or you'd be able to hear computer hash on every AM radio on the block. I don't know if Maxim loads the outputs of the MAX232 with an internal cap, and frankly I'm too lazy to pull up the data sheet right now. But it might be something to be aware of. Then again, there's probably enough stray capacitance around the breadboard that you don't need to worry.
@bob4702
@bob4702 Жыл бұрын
Yup, slew rate is specified: SR Driver slew rate RL = 3 kΩ to 7 kΩ, see Figure 4 30 V/μs
@waltermeerschaert
@waltermeerschaert Жыл бұрын
I write programs for a living and the projects are all complicated and deep. They are also existing on several layers of abstraction at the same time, from very high level libraries to very low level numeric type implementations (think 128 bit floating point). Even this video (awesome, as always), which feels like bare metal tinkering compared to my daily work, is actually already several steps up the ladder of abstraction. You aren't making logic circuits from discrete components, each chip represents hundreds or thousands of such components. In actual fact, the abstraction goes all the way down, as levels of reality are based on the abstraction of realized properties in emergent realms arising from the generalized increase in complexity at each layer. As far as I know, this doesn't stop until you get to the "spacetime foam", which might itself be some from of reality arising from still more detailed underlayment, and itself is just an effect. Whoa.
@waltermeerschaert
@waltermeerschaert Жыл бұрын
Upon reflection, I wonder if it goes up forever as well - once the complexity arises, the new level of abstraction emerges from the chaos. Humans aren't the limit, not even on earth. None of this abstraction would be possible if the complex human interactions among billions of us didn't exist first. The abstract layer of the group undoubtedly leads to interactions between groups of humans, and then that complexity leads to further abstraction as long as it keeps being complicated.
@enjibkk6850
@enjibkk6850 Жыл бұрын
Whoa indeed 😳
@waltermeerschaert
@waltermeerschaert Жыл бұрын
Upon furhter reflection, it is the groupings of items throuout the universe, then groupings of universes??? then more groupings of shit, then some fat guy sitting in his mothers basement.
@kaitlyn__L
@kaitlyn__L Жыл бұрын
Sounds like someone’s been watching PBS Space Time :)
@Lampe2020
@Lampe2020 5 ай бұрын
I love the increasingly angry "104 _micro_ seconds" text whenever you say "104 milliseconds" XD
@CraftMine1000
@CraftMine1000 Жыл бұрын
AAAAAAAA YES! love it when there's a new video from you ben!
@ShelldonWells
@ShelldonWells Жыл бұрын
I have no idea why KZbin stuck this in my feed but I've now watched pretty much every one of these videos and have been fascinated. I have also understood not a thing, but I eagerly await the next video.
@eliotmansfield
@eliotmansfield Жыл бұрын
and ironically his rs232 interface probably has a max232 inside it converting back to ttl
@gregorymccoy6797
@gregorymccoy6797 Жыл бұрын
I am pretty happy you put a new video up. Always entertaining and educational.
@donchaput8278
@donchaput8278 Жыл бұрын
Absolutely amazing! Thank you for the great content Ben!
@stevedonkers9087
@stevedonkers9087 Жыл бұрын
I imagine it'll be the WDC version of the 65c51 UART chip. I used it for a bit with my SBC but I've gone with the MAX3100 SPI UART and just bitbanged the SPI which was a great learning experience on it's own, but now I just can't go back to the older chips.. :)
@akashpratapsingh8959
@akashpratapsingh8959 10 ай бұрын
Finally someone worthy, explained like no one ever 🔥❤️
@StreuB1
@StreuB1 Жыл бұрын
I have been hesitant to embark on a relatively simple learning project for work where I need to communicate via Modbus over RS485 using a simple microcontroller. I haven't started it due to really having a hard time understanding a lot of this stuff and finding anything on youtube that is straight and to the point was very hard. And now, you come out with this video. While its not exactly the same, it does give me enough to go on to feel a bit more comfortable with my project. I really an looking forward to your next video as it will likely also be very helpful. Thank you, Ben!!!
@quinndtxd
@quinndtxd Жыл бұрын
You should check out Ben's video about RS-232 if you haven't already then
@maixicek
@maixicek Жыл бұрын
Awesome video! Thank you for posting it! Looking for UART next 😍
@phrenia7494
@phrenia7494 Жыл бұрын
Another top quality video. Cant wait to watch it.
@solcloud
@solcloud Жыл бұрын
Awesome video! Thank you 😍
@BrainSlugs83
@BrainSlugs83 Жыл бұрын
Funny story -- I encountered the same microsecond/millisecond issue recently. -- I found a bit of old Amiga keyboard interface code that worked with Microcontrollers (i.e. to make a bluetooth keyboard out of an [un]dead computer); and something just didn't seem right... like it seemed like it was missing keystrokes at regular intervals... -- I think most people just assumed that's how those keyboards are? -- But it turns out, there was a bit of protocol code that was calling a delay_milliseconds, but it should have been microseconds (according to the data sheet even) -- I changed that bit of code and everything started working great, no more dropped keys! :D
@paulstubbs7678
@paulstubbs7678 Жыл бұрын
An easier way is to buy an RS232 interface board with built in level converters, they are kind of targeted at the Arduino fraternity, however that does not matter, they talk 5V for direct connection to your VIA
@jumhig
@jumhig Жыл бұрын
Great video, great explanation of RS232 serial. Thankfully I have been able to use "TTL serial" for most of my projects, which is far simpler to imp!cement.
@brenocoutinho4512
@brenocoutinho4512 Жыл бұрын
Looking forward to see a video on I2C someday Cheers!
@N0Xa880iUL
@N0Xa880iUL Жыл бұрын
The king has returned.
@Bob3519
@Bob3519 Жыл бұрын
I've worked in computer hardware and software since 1986. The best way to understand how a computer works is to watch Ben Eater's KZbin channel.
@ConzKlips
@ConzKlips Жыл бұрын
Really appreciate the videos and the level of explanation. Keep it up ❤
@MattyEngland
@MattyEngland Жыл бұрын
Nice. Always love your vids.
@adamthethird4753
@adamthethird4753 Жыл бұрын
I'm finally in a place where I can start spending money on fun stuff. I'm so glad your store is still online.
@StevenHokins
@StevenHokins Жыл бұрын
Awesome video! Thank you
@naderhumood1199
@naderhumood1199 Жыл бұрын
You outdid yourself today, Sir thank you so much.
@BAgodmode
@BAgodmode Жыл бұрын
Instructions unclear, Cheerios stuck in breadboard. I don’t think it’s interfacing, I might have used too much milk.
@SirKenchalot
@SirKenchalot Жыл бұрын
Thanks again Ben; another great video.
@realbyte2048
@realbyte2048 Жыл бұрын
i dont even know whats happening in this video but i'm always excited for benny boy's new videos nonetheless
@realbyte2048
@realbyte2048 Жыл бұрын
where did the bot go :(
@erikhaag4250
@erikhaag4250 Жыл бұрын
for the TI-83 and related calculators (expect the newer TI-84s) have a Link port, and the serial protocol across it works no matter how fast either calculator is
@PeterWillard
@PeterWillard Жыл бұрын
Thank You.
@Mr_ToR
@Mr_ToR Жыл бұрын
Hi Ben, could you please make a video about the differences between the various chips such as the 4000 Series CMOS range, original 74 series and LS, F, S etc. There isn't a single video explaining this. I found one diagram showing the voltage differences but I think there is also power, speed and impedance differences? A video about this from YOU would be great.
@AlexanderBukh
@AlexanderBukh Жыл бұрын
Great! Liked the quality of the video.
@FixedUntilBroken
@FixedUntilBroken Жыл бұрын
That keysight scope is nice. I use a tek mdo3034 at work and have siglent gear at home but it's tempting to go to keysight at home.
@rajeshshah1092
@rajeshshah1092 Жыл бұрын
Thank you Ben! 😍
@SB-qm5wg
@SB-qm5wg Жыл бұрын
Your board designs are so cool.
@murasaki848
@murasaki848 Жыл бұрын
One of the frustrating things in my job is to match a RS-232 to USB serial interface to the equipment I'm trying to interface. My job has many devices, both operational and test equipment, with craft terminals and other old data ports that require it. As Ben stated in the video, manufacturers of the interfaces very often cut corners, both in the adapter and in the equipment.
@StefanoBorini
@StefanoBorini Жыл бұрын
When Ben posts a new video, I feel young again.
@enjibkk6850
@enjibkk6850 Жыл бұрын
When Ben posts a new video, I remember why I love computers (now let's head back to javascript for real life stuff 😞)
@MrDannesboe
@MrDannesboe Жыл бұрын
This is Excellent.!
@RBJelectronics
@RBJelectronics Жыл бұрын
Parabéns Ben seus vídeos como sempre são magníficos !!
@petermuller608
@petermuller608 Жыл бұрын
Outstanding!
@debarjo
@debarjo Жыл бұрын
Oh my god!!! Ben Eater's videos drop like Marvel movies!! Blockbusterrrrr!!!!!!
@lasersbee
@lasersbee Жыл бұрын
I use 5V levels using a PIC program to read (with a 10K resistor in series) and talk (with a 1K resistor in series) to RS232.
@LeWolfYT
@LeWolfYT Жыл бұрын
Yay! He’s back!
@captaincaption
@captaincaption Жыл бұрын
I'm currently watching this video on my TV and I'm some distance away from the TV. When Ben brought the paper in at 4:34, I thought he showed us some APL code, until I realised that it were words some moments later XD
@esra_erimez
@esra_erimez Жыл бұрын
RIP Jon Postel a true pioneer in computing.
@dacomputernerd4096
@dacomputernerd4096 Жыл бұрын
KZbin dumped all my recommendations and all so I never got this video on my feed
@FrankGraffagnino
@FrankGraffagnino Жыл бұрын
wow.... the "conservative in what you do, liberal in what you accept from others" hit a nerve with me! This reminds me of the ancient Stoic principle and quote from Marcus Aurelius... "Be tolerant with others and strict with yourself." Very cool. Thanks for including nuggets of learning like that!
@DasIllu
@DasIllu Жыл бұрын
I am completely unfamiliar with TSB and TRB. I thought for a moment i was getting too old here, but i am pretty sure they are not part of the original mnemonics.
@malloryworlton6359
@malloryworlton6359 Жыл бұрын
Yeah, they're new.
@LuigiTrabacchin
@LuigiTrabacchin Жыл бұрын
looking forward to the UART video!
@michaelgraff6978
@michaelgraff6978 Жыл бұрын
Postel was very, very wrong when it comes to internet protocols. Accepting junk means people will produce junk, and now you are on the hook for supporting that junk forever. This is why mail servers are so difficult to implement because the SMTP spec is widely implemented badly, and there are more than a handful of "edge cases" where different implementations can respond differently with the same set of inputs. This is why there are dozens of special cases in every IP and especially TCP stack, and this is why DNS is such a cesspool of hundreds of special cases to avoid breaking broken clients. Be exact in what you send and receive, and make sure others are, so they will fix their code and simplify the world.
@pilifx
@pilifx Жыл бұрын
Have you noticed the dates on that data sheet? Written 1989. Revised 2014. Incredibly long product lifespan
@kevinhart68
@kevinhart68 Жыл бұрын
It will be interesting to see if you come up with a smart way to avoid the transmit bug (Sorry WDC "feature" ) on the W65C51 and to avoid having to use a delay as suggested by their Datasheet.
@pablogarin
@pablogarin Жыл бұрын
I have a question about the LCD display: before the video titled "keyboard interface hardware", the RS, RW and E pins were connected to the PORTA bits 6, 7 and 8, and then these were no longer connected there. I got my serial adapter kit on the mail today, and I just realized this issue. Reading the keyboard assembly code you posted on your page I realized you changed to use the 4 bit mode, and moved the RS, RW and E pins to PORTB bits 5, 6 and 7. 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!
@philipp04
@philipp04 Жыл бұрын
Nice, was waiting for this
@joshuaarulsamy1561
@joshuaarulsamy1561 Жыл бұрын
The legend is back!
@eanerickson8915
@eanerickson8915 Жыл бұрын
If you put BASIC on a ROM so that I could use it with the serial port, I would buy this.
@ailijic
@ailijic Жыл бұрын
Amazing
@banedon8087
@banedon8087 Жыл бұрын
Good video. I wonder if Ben is going to discover the bugs in the WDC 65C51S the hard way.
@amiga8737
@amiga8737 Жыл бұрын
Yeah ... that bug .... made me waste 6 months of my life because I was looking at the first revision of the datasheet which did not mention it...
@banedon8087
@banedon8087 Жыл бұрын
@@amiga8737 I thnk there are several. Is the one that you ran into the transmit-register-empty flag one?
@argoneum
@argoneum Жыл бұрын
Third try, apparently YT blocks any mention on 6502 forum. Ordered some of those chips, then started reading the forum, and ended up using different UART chips, out of which PC16552 was the better one. Hope this time the comment goes through :)
@banedon8087
@banedon8087 Жыл бұрын
@@argoneum Yep this one madee it 😁. I think it's that it's a URL. Yes, people seem to go for the PC16552 or the SC28L92 (or TI equivelent).
@amiga8737
@amiga8737 Жыл бұрын
​@@banedon8087 Yes, as far as I remember there are two bugs, the one you mentioned and also the fact that the chip does not generate parity... I really wonder if they ever tested their chip 🤔...
@wearwolf2500
@wearwolf2500 Жыл бұрын
Just when I thought I was done building the 6502 computer.
@timbersrcadventures
@timbersrcadventures Жыл бұрын
Holy I was just catching up on this series yesterday and wanted more can there be more than one video a month please?
@mohamedal-ganzoury3699
@mohamedal-ganzoury3699 8 ай бұрын
I'm probably late to the party, but everything you do is simply marvelous. I have a question I was hoping you vould answer: You're always building things from scratch then replacing them with readymade chips. How do you know that there exists a chip that does the exact same thing you need?
@KGE64
@KGE64 Жыл бұрын
Just noticed that you connect pin 2 (Vs+) of the MAX232 with a cap to ground and indeed the datasheet of TI it says so, however I interchanged the MAX232 and HIN232 in several projects and have always connected the capacitor on pin 2 (Vs+) to Vcc (aka plus 5V) and in the datasheet of the HIN232 the cap on pin 2 (V+) is connected to VCC. Not sure how this would affect the output voltage. (BTW, the HIN232 also can work with smaller caps than the MAX232). The MAX202 (the improved version of the MAX232), according to the datasheet, has the capacitor connected from pin 2 (V+) to Vcc also. Not sure what is going on 🙂
@eDoc2020
@eDoc2020 Жыл бұрын
As long as your supply voltage is steady there's no functional difference. If you connect the negative of the cap to Vcc instead of ground it will be charged to ~3v instead of ~8v so you could theoretically use a cheaper capacitor. But realistically any low value capacitor won't be noticeably cheaper in a lower voltage form.
@AK-ep8ok
@AK-ep8ok Жыл бұрын
Toady I celebrate 🎉 new video hurrah!!
@xvier777
@xvier777 Жыл бұрын
insightful
RS232 interface with the 6551 UART
22:45
Ben Eater
Рет қаралды 204 М.
World's worst video card gets better?
44:25
Ben Eater
Рет қаралды 824 М.
Now it’s my turn ! 😂🥹 @danilisboom  #tiktok #elsarca
00:20
Elsa Arca
Рет қаралды 12 МЛН
Cute kitty gadgets 💛
00:24
TheSoul Music Family
Рет қаралды 21 МЛН
Electromagnetic Aircraft Launcher
15:09
Tom Stanton
Рет қаралды 946 М.
Installing the world’s worst video card
25:12
Ben Eater
Рет қаралды 965 М.
I designed another 8-bit TTL computer... (Development board)
7:51
HalfBurntToast
Рет қаралды 3,4 М.
How do hardware timers work?
31:17
Ben Eater
Рет қаралды 968 М.
Hacking a weird TV censoring device
20:59
Ben Eater
Рет қаралды 3,1 МЛН
Running Apple 1 software on a breadboard computer (Wozmon)
14:23
Let's build a voltage multiplier!
16:32
Ben Eater
Рет қаралды 2 МЛН
Keyboard interface hardware
28:27
Ben Eater
Рет қаралды 323 М.
The 6502 CPU Powered a Whole Generation!
25:17
The 8-Bit Guy
Рет қаралды 486 М.
Now it’s my turn ! 😂🥹 @danilisboom  #tiktok #elsarca
00:20
Elsa Arca
Рет қаралды 12 МЛН