How do CPUs read machine code? - 6502 part 2

  Рет қаралды 2,885,609

Ben Eater

Ben Eater

4 жыл бұрын

Schematics, datasheets, kits, and more at eater.net/6502
Part 1: • “Hello, world” from sc...
Part 2: This video!
Part 3: • Assembly language vs. ...
Part 4: • Connecting an LCD to o...
Part 5: • What is a stack and ho...
Part 6: • RAM and bus timing - 6...
Part 7: • Subroutine calls, now ...
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:
Adam Lininger
Alex Catchpole
Andrew R. Whalley
Anthony Cuccia
Armin Brauns
BakerStaunch
Beau-James Erion
Ben Dyson
Ben Kamens
Ben Williams
Bradley Pirtle
Brian Wanda
Carlos Ambrozak
Christopher Blackmon
Clayton Parker Coleman
Daniel Tang
Dave Walter
David H. Friedman
David Turner
Dean Winger
Debilu Krastas
Dušan Dželebdžić
Dzevad Trumic
Eric Brummer
Eric Dynowski
Eric Twilegar
Erik Broeders
Eugene Bulkin
Foaly
fxshlein
Gabriel Lafond-Thenaille
HaykH
hunter wright
Ian Tait
Ivan Sorokin
Jackson Warren
JavaXP
Jay Binks
Jayne Gabriele
Jeremy A.
Jeremy Wise
Jimmy Campbell
Joel Messerli
Joel Miller
Joern Heidenreich
Jordan Scales
Joshua King
Justin Dubs
Justin Duch
Kent Collins
Manne Moquist
Marcus Classon
Mats Fredriksson
Michael
Michael Burke
Michael Garland
Michael Tedder
Miguel Ríos
Nathan Wachholz
Nicholas Moresco
Nick Sutton
Nick Wrightsman
Onion Sniffer
Paul Pluzhnikov
Paul Randal
Peter Simard
Randy True
Rob Bruno
Robert Blackshaw
Robert Butler
Sachin Chitale
Scott
Sergey Ten
SonOfSofaman
Stefan Nesinger
Stefanus Du Toit
Stephen Smithstone
Steve Jones
Steve Gorman
Steven Pequeno
Thomas Ballinger
Tom Burns
Vladimir Kanazir
Warren Miller
xisente
Örn Arnarson

Пікірлер: 2 200
@c14n_
@c14n_ 4 жыл бұрын
You should be incredibly proud of yourself for enabling so many people to understand computing at its core. I got a kit and am having an amazing time with it so far.
@berbudy
@berbudy 4 жыл бұрын
so true, Ben Eater is modern day Ra
@pahvalrehljkov
@pahvalrehljkov 4 жыл бұрын
what kit do you use?
@mistsu1171
@mistsu1171 4 жыл бұрын
​@@c14n_ Oh, I think he/she meant that do you use this 6502 kit or the 8-bit computer kit or anything else
@ScottPlude
@ScottPlude 4 жыл бұрын
@@c14n_ I had no idea he sold kits. Thanks!
@pahvalrehljkov
@pahvalrehljkov 4 жыл бұрын
@@c14n_ thank you...
@julianduniec
@julianduniec Жыл бұрын
This project is 3% understanding the components, programming and circuitry, 97% trying to fold cables as neatly as Ben does.
@FictionsFantasia
@FictionsFantasia 9 ай бұрын
So true! i have no idea how he gets it so perfect everytime.
@TSPxEclipse
@TSPxEclipse 8 ай бұрын
How I did it for a little project I did in high school was to kind-of rough draft the path of the wire and then bend the corners with two pairs of small tweezers until the desired angle was achieved.
@wizardcoolio
@wizardcoolio 7 ай бұрын
they sell kits with perfectly bent jumper wires on amazon but it looks like he made his own which is scary
@gamingbeast8354
@gamingbeast8354 7 ай бұрын
lmao @@wizardcoolio
@subhimesto7123
@subhimesto7123 6 ай бұрын
​@@FictionsFantasiahe has a video explaining that called breadboard tips and trick
@REDPUMPERNICKEL
@REDPUMPERNICKEL 3 жыл бұрын
This is a very pleasant stroll down memory lane. With serious intent I did in 1980 what you are now demonstrating. Even the breadboards look the same. Of course back then there were no Arduini and I used ultraviolet erasable EPROMS, (kept the lights - excellent for killing mold on my hovel's windowsills ). And used a programmer connected to my 8088 via Centronics cable. (Can't believe spell check didn't recognize Centronics, how the time flies). A student in the seventies, my university had but one computer, can you believe it! A statistics course forced me to use it, I punched IBM cards on a big steel desk and submitted a box full to the computer office where the pretty girl said 'Come back in three days to pick up your output'. I was impressed by the asterisk graphs printed on wide fan fold paper and was utterly intrigued by how a mere machine could do it so much that I switched my major from psychology. That was the move that lead to my ruination. I had become so fascinated that I used the big old Underwood typewriter my dad had loaned me to write a 6502 assembler in 6502 assembly language so as to learn all about it. Can you imagine? My girlfriend couldn't. She left soon after. I threw the pot plants out and papered that spare room with 8x10 sheets of paper. Now 41 years have got behind me in what seems an instant. Cheers, eh. p.s. switched to 68HC11 soon as possible after discovering it had all those peripheral chips (glue, RAM, ROM, ACIA, 6821 & A/D converter) built right in to it.
@REDPUMPERNICKEL
@REDPUMPERNICKEL 3 жыл бұрын
(Not to mention two accumulators and two 16bit index registers)!
@mrbrown6421
@mrbrown6421 2 жыл бұрын
@@REDPUMPERNICKEL I see the problem. You tossed the pot plants. Yep, I remember handing a stack of punched cards to a pretty young girl at the computer room. She promptly dropped them, raked them up and handed them back with a wimpy 'sowwy'. Off I went to reorder my program, 1 card at a time. Of course we drew images on the sides of the cards to assist with these type of dim witted clumsy girls who should definitely toss the pot plants.
@REDPUMPERNICKEL
@REDPUMPERNICKEL Жыл бұрын
@@mrbrown6421 Lol. Of course I didn't toss the pot. I was exercising literary licence. There seems to me to be a rogue neural process going on within that strives to make everything I write take on a poetic cadence. If you are familiar with Bicameral Theory you might recall the explanation for it. Happy Canada Day. Cheers eh!
@sohamsengupta6470
@sohamsengupta6470 19 күн бұрын
As someone who wasn't around at the time, 80s and earlier hacker culture and tech people have been a bit of a fascination of mine for a while now, because of the sheer amount of stuff that they achieved with ridiculously limited resources and documentation. Loved your insight into the time and mindset. Cheers.
@user-qu5rs8zu7b
@user-qu5rs8zu7b 16 күн бұрын
Do you do any writing?
@LC-hq1vx
@LC-hq1vx 4 жыл бұрын
I feel like I came to college seminar I wasn't supposed to be in and sat down and listened.
@manicminer4573
@manicminer4573 3 жыл бұрын
And then realised it was much more interesting than the subjects you chose to take!
@fodk7021
@fodk7021 4 ай бұрын
​@@manicminer4573 relatable
@willpreston6881
@willpreston6881 4 жыл бұрын
Your breadboard wiring cleanliness is frustratingly good.
@drewbrown1534
@drewbrown1534 4 жыл бұрын
It's the hardest thing to get over while building this. My cable cutting skills are not this supreme.
@neilolif
@neilolif 4 жыл бұрын
You can't say he wasn't prepared for the demonstration.., And well scripted.
@tenstairs
@tenstairs 4 жыл бұрын
My favorite is that tiny little lead with
@reddunkey9267
@reddunkey9267 4 жыл бұрын
What if we put this wired to transistor for each output and input to a motherboard of a computer
@4hdp3u64
@4hdp3u64 4 жыл бұрын
Truly r/cableporn material
@g00st62
@g00st62 4 жыл бұрын
"it just sits here succsefully doing nothing forever" well that sounds kinda like me...
@OktoberStorm
@OktoberStorm 4 жыл бұрын
But successfully!
@garychap8384
@garychap8384 4 жыл бұрын
@@OktoberStorm LOL... burn!
@memes_gbc674
@memes_gbc674 4 жыл бұрын
@@OktoberStorm oh shit
@nickharrison3748
@nickharrison3748 4 жыл бұрын
How much power do you take?
@voidex136
@voidex136 4 жыл бұрын
Around 100w when idle
@pvtvega
@pvtvega 3 жыл бұрын
This is hands down the best explanation of low level computing I've ever seen. What an incredibly intuitive way to demonstrate these concepts. I can't imagine how much time and planning goes into these videos. Thank you!
@robokaos69
@robokaos69 Жыл бұрын
I think it's interesting how much abstraction there still is even at really low levels like this, in the form of how the actual physical construction and mechanism of chips and other components aren't particularly important to consider generally. The fact that modern computers can be operated as they do is insane. There are so many levels of depth you can go to.
@mridulagrawal2370
@mridulagrawal2370 Жыл бұрын
Truly! It hit me around 17:43 when he was talking about how specific codes will perform specific tasks like damn how the hell did we get from transistors and capacitors to reading and *performing* hex instructions lol. And this was a processor in 1975!
@Salehalanazi-7
@Salehalanazi-7 4 жыл бұрын
Sir you literally brought the computer science online learning experience to the next level, wow just wow
@chisangamumba2961
@chisangamumba2961 2 жыл бұрын
*Computer Engineering.
@infinitenex8165
@infinitenex8165 4 жыл бұрын
so you're telling me that EA has been doing nothing successfully forever? Yeah, seems about right.
@CZghost
@CZghost 4 жыл бұрын
Coincidence that most hated games developer Electronic Arts has its abbreviation EA actually the same like 6502 NOP opcode? You tell me :D
@larva5606
@larva5606 4 жыл бұрын
Shots fired 👌🏼
@michaelgalarneau5253
@michaelgalarneau5253 4 жыл бұрын
as an Enterprise Architect, I represent that remark. :)
@buckstarchaser2376
@buckstarchaser2376 4 жыл бұрын
Gives some new perspective to the EA Sports commercials.
@bravefastrabbit770
@bravefastrabbit770 4 жыл бұрын
Dude how dare you talk shit about EA. They´ve implemented so many cool new mechanics in the past few years. Haven´t you heard of surprise mechanics?
@erasmobellumat3973
@erasmobellumat3973 2 жыл бұрын
Even on computer science degree we don't get all of this concepts in practice. Your content is amazing!
@TangodownNZ
@TangodownNZ 2 жыл бұрын
I love how you just use paper to illustrate what you are explaining and not some fancy animated videos. It really gives us that classroom experience. Thank you
@AlexDanut
@AlexDanut 4 жыл бұрын
"so it just sits here, successfully doing nothing, forever" i want this on my gravestone
@tbbw
@tbbw 4 жыл бұрын
"NOP" on a gravestone. I need to check local gravestones next summer if there are any geek jokes on em.
@emilio88regis
@emilio88regis 4 жыл бұрын
@@tbbw I think something like "DI HLT" will be better.
@menyasavut3959
@menyasavut3959 4 жыл бұрын
You will GOSUB without RETURN
@djaydeved
@djaydeved 4 жыл бұрын
no put "6502 ea" edit: or the binary for it
@kenan2386
@kenan2386 3 жыл бұрын
Nah Life: jmp Life DONT JUDGE I AM BAD AT ASM
@mmseng2
@mmseng2 4 жыл бұрын
Ben always makes me feel like a genius for even being able to follow along. A testament to his thorough teaching style and supreme editing skills. Now if I could just remember any of it.
@oddvertex9429
@oddvertex9429 2 жыл бұрын
I feel that - I’m building along with him and I’m on the 5th video, everything’s working fine and I just came back to this video like “what’s so special about $6000, did we pick that or does the 6502 just throw stuff there?” Seriously so much fun I love it.
@ezianc
@ezianc 2 жыл бұрын
I am a beginner and really enjoy his teaching style .I watch all his videos over and over .
@vapourmile
@vapourmile 4 жыл бұрын
This is a very cool tutorial. Everything goes at the right pace and all the information is succinct without leaving anything out. As a 6510 programmer it did strike me that the program to flash the lights could have been: LDX #$55 LDY #$AA LOOP: STX $6000 STY $6000 JMP LOOP As you can see in your demo also, the lights duration is not even. It's a like a square wave with an uneven duty cycle. So after it writes AA it holds for a perceptibly longer delay than $55 because the time it takes to perform the JMP is added to the timing. You could, if you liked, even it out by adding a JMP to the $55 write too, just for the sake of introducing an equal delay. This gives: LDX #$55 LDY #$AA LOOP: STX $6000 JMP SKIP SKIP: STY $6000 JMP LOOP At an expense of three bytes this loop is slightly faster (by one clock cycle) and the lights stay on and off for the same duration. :)
@jacksonfev
@jacksonfev 2 жыл бұрын
I was just about to say all that.
@waylelhoweris5649
@waylelhoweris5649 2 жыл бұрын
Ok
@waylelhoweris5649
@waylelhoweris5649 2 жыл бұрын
Kkooooooookoooonommomomookommoooookokookokokkokoomo ok oooonmookkookoomomomooomooomkomoooooomommkookookokommkoooooo oooomomookooookooommooomommmmookoooooommokokokkokok ok ok okmmkm ok oOlomouc ok kkkkokookkkkomomomokoomkmkmookkooooooko kokokomomommommo okkokmmomokkoookoooomoomomoommmommoomommooompkkookookokookkkokookookoooomoonomoommmmomookkokokoooooookookokkokookoookkokkkkokoomooomooomomomokoooookkkokmookooomookooookookoooookokoookmkooko
@waylelhoweris5649
@waylelhoweris5649 2 жыл бұрын
You You okokooko on kokokooooomooookkkkk but but kkookookooookooookkokkokoooooookooookooookoookkkokookoookooookokkooooookkoookkkkkkkkkkkkoookomomoookkkomoooomkkkkkkkokkkookooooooooookokokkok kokokooookokokokokokooooookkoookkoookmkkkkkooooooookoo okokooooookookoookkkokkkkkkkkkokokoooooooooookokookmmkkkkkkkkkkkkkkkkkkokkk no kokoooooookkkokkkkkkkookkokkokopokmmmkkkkkkkkookkokmooo mmkoook know ok kkkkkmokkokokk k ok kokkkomokkmkkkkkkkkkmkkkkkkkkokkkkkoookmmmkkk mkkkkkmkkkkkkkkkkkkkkkkkkk kkkkkkokkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkokkkkkkkkkokmkkkkkkkkkkkkkokkkkkk km kkkkokkookkkkkkkkkk look ok kkk kkkk ok kkk oki ok o k ok okkk kikoo kk kkkkkk mok ookkk no okkkkkkook on kkk
@waylelhoweris5649
@waylelhoweris5649 2 жыл бұрын
Look ik k look ik ki ko ok look kkkkk look k ooo ok on ooo ok lookout look kookook ok ok ok
@jameskelly2515
@jameskelly2515 4 жыл бұрын
I just finished building the 6502 that I purchased from your site. I loved every minute of this project and learned so much. You have a gift for teaching. An unfortunate side effect of this project is that I have started talking to my family in machine instructions and ascii. I’ve tried many different ways of telling my 8 year old daughter to clean her room but it appears she doesn’t support that instruction.
@austinwhiteted8231
@austinwhiteted8231 Жыл бұрын
Oh no, might need the rom wiped
@patrickfalvey5251
@patrickfalvey5251 4 жыл бұрын
I typically don't leave comments on videos, but I'd like to make an exception here to personally thank you Ben. The content you are producing and allowing to be public for no charge is a service to the CS community that cannot be ignored. A sincere thank you for your efforts and service.
@virtualpilgrim8645
@virtualpilgrim8645 2 жыл бұрын
If you claim to not "typically leave comments on videos", one can only imagine how much you felt compelled to overcome your fear. Thank you!
@fourohfournotfound
@fourohfournotfound 2 жыл бұрын
A rare youtube commenter, how blessed we are.
@atlantic_love
@atlantic_love 2 жыл бұрын
@@virtualpilgrim8645 LMAO!!!! Love your sarcasm :) Just don't expect him to respond. He's probably copy/pasted that thing in a bunch of videos, trying to get clout. I mean, it takes a certain level of narcissism to let everyone that you don't normally do something but that you'll make an exception. Barf.
@virtualpilgrim8645
@virtualpilgrim8645 2 жыл бұрын
@@atlantic_love cheers😎
@malektahri5590
@malektahri5590 2 жыл бұрын
@patrick falvey who cares about what you used to .
@DC-ox4rc
@DC-ox4rc 4 жыл бұрын
Are these videos legal because they are extremely addictive
@reddunkey9267
@reddunkey9267 4 жыл бұрын
Fala portuguese
@reddunkey9267
@reddunkey9267 4 жыл бұрын
Assembly needed
@victorcubas7248
@victorcubas7248 4 жыл бұрын
This is as addictive as that video on FB of a jungle dude building a house.
@kenan2386
@kenan2386 4 жыл бұрын
Me and the bois watching ben eater at 3am
@nonagone9570
@nonagone9570 2 жыл бұрын
@@kenan2386 its 5:30 and i want to go to sleep but its sooo good. Help!
@Dinnye01
@Dinnye01 2 жыл бұрын
Ben, you were the one who got me into FPGA programming with these videos. Which, incidentally, influenced my carreer greatly. So... thank you!
@dmsalomon
@dmsalomon 4 жыл бұрын
Could you show how you are able to cut the wires so perfectly? Doesn't need to be a dedicated video, just show a little footage of you doing it. The people want to know!
@slimxshady6111
@slimxshady6111 3 жыл бұрын
I learned a trick of laying the wire down on the breadboard of where you want to connect it. Then, using either a fingernail or a pen, make a small mark on the wire rubber for where you want it to plug into the breadboard. Now fold the wire at the marks 90 degrees, and then strip the wire. Boom! You have a perfectly straight looking breadboard wire.
@shr6482
@shr6482 3 жыл бұрын
there are shops selling precut wires with varying lengths specifically for breadboard use. Pretty handy to have one set of it.
@byakka
@byakka 3 жыл бұрын
kzfaq.info/get/bejne/hqtdktV71tyomIU.html
@SustainedFuture
@SustainedFuture Жыл бұрын
I see this is a really old comment, but in case anyone else comes across it, Ben actually made a video about how he cuts and bends all his wires: kzfaq.info/get/bejne/hqtdktV71tyomIU.html
@mridulagrawal2370
@mridulagrawal2370 Жыл бұрын
@@SustainedFuture I literally searched 'wire' with ctrl + f to find a similar comment loll thanks a lot!
@viniciusvbf22
@viniciusvbf22 4 жыл бұрын
Ben Eater is the most competent person I "know" on demystifying how actual hardware works.
@glynnmason8205
@glynnmason8205 3 жыл бұрын
thats true
@virtualpilgrim8645
@virtualpilgrim8645 2 жыл бұрын
What about African Americans or Mexicans?
@neilolif
@neilolif 4 жыл бұрын
Good grief, you are taking me back to the very beginning of my career. IBM Training for "CPU Logic Design." A whole year course starting with TUBE logic and working up to the 8086 and the 6502. Quite an adventure in 1975!!
@TheMeldanor
@TheMeldanor 2 жыл бұрын
WoW. This is one of the best tutorials to follow on how hardware programming actually works! I've written software for about ten years now and always struggeled to understand hardware programming. Your videos are easy to follow and digest. Thank you!
@sevenhong5809
@sevenhong5809 3 жыл бұрын
Your stuff is way much better than classes I took in college. Huge respect.
@maylinare5782
@maylinare5782 4 жыл бұрын
I've just wanted to get this out: your video is AMAZING! I've always been into coding but never looked into it that deep. Your Video is really easy to understand and it really helps to understand how computers work deep in. So: Thank you for your amazing Videos!
@Zuudo
@Zuudo 4 жыл бұрын
I like how the Python syntax error wasn't edited out of the video. Even the best of us make mistakes!
@Navigator87110
@Navigator87110 4 жыл бұрын
Right? I was thinking: How can he do everything so perfectly?
@howardbaxter2514
@howardbaxter2514 3 жыл бұрын
@@Navigator87110 no programmer is perfect. Even the best make mistakes. I like watching Code Bullet as well because he likes to go ballistic over his syntax errors.
@StuartWoodwardJP
@StuartWoodwardJP 2 жыл бұрын
I like the way that you build up from the simplest thing that works. Sometimes people start off with something too complicated and when it doesn’t work get sidetracked. Starting with the the simplest program builds confidence that it is actually working as expected.
@VincentGroenewold
@VincentGroenewold 4 жыл бұрын
I just found this channel and I'm binge watching like crazy. This is so amazingly clear and answers so many questions, you don't get that easily from a book or school for some reason. Thank you!
@mikhailanisimov2160
@mikhailanisimov2160 4 жыл бұрын
Uses semicolons in python. This guy is savage!
@BenEater
@BenEater 4 жыл бұрын
I guess I've written too much JavaScript recently. I completely didn't see that at all until after the entire video was done. Oh well.
@bradleystach6275
@bradleystach6275 4 жыл бұрын
I do that in python all the time. 25 years of writing C++ will do that to you. I end up with perens around all my if statements when I write VHDL also. Old habits die hard. 🙂
@aaron41
@aaron41 4 жыл бұрын
I recently submitted a pull request to a python library eliminating thousands of semicolons. xD (we'll see how the author feels about it...)
@skilz8098
@skilz8098 4 жыл бұрын
I like it! Coming from a C++ background and just recently started to learn Python...
@brantwedel
@brantwedel 4 жыл бұрын
@@BenEater There is an entire dark underworld in JavaScript where people don't use semicolons 😂
@fightocondria
@fightocondria 4 жыл бұрын
There it is. An EA processor. It's a fundraiser. I knew there was going to be DLC.
@thyTwilightGoth2
@thyTwilightGoth2 4 жыл бұрын
Finally Found the EA Comment!
@slendeaway7730
@slendeaway7730 4 жыл бұрын
TreeLC
@michalnemecek3575
@michalnemecek3575 4 жыл бұрын
It's kinda funny that the instruction that does nothing is EA
@jarisipilainen3875
@jarisipilainen3875 4 жыл бұрын
not even funny. EA is NOP only on this CPU it is something else on other CPU and EA is number they are not letters. i cant even mix them up on my brain
@wolverine9632
@wolverine9632 4 жыл бұрын
@@jarisipilainen3875 r/woosh
@nullFoo
@nullFoo 2 жыл бұрын
I'm amazed at how well you're managing to make me understand this, usually when I watch videos like this it all goes over my head but you are explaining really well
@daleowens7695
@daleowens7695 2 жыл бұрын
You're providing an invaluable service to society. Not many people, I feel, are capable of making such a claim. Thank you for your hard work, I've learned a great deal from you.
@JC50000000
@JC50000000 4 жыл бұрын
When is a video coming out on how he gets his cables so perfectly sized :D
@famitory
@famitory 4 жыл бұрын
they have these things that look like little Christmas trees that you can get for this. basically you use them as a guide for cutting to length and then again for bending the ends
@karimjerbi7084
@karimjerbi7084 4 жыл бұрын
what are these Christmas tree looking things named?
@ke4est
@ke4est 4 жыл бұрын
@@karimjerbi7084 or do like Ben does and buy this: www.ebay.com/itm/140Pcs-U-Shape-Solderless-Breadboard-Jumper-Cable-Wire-Kit-For-Arduino-Shield/222743986356?epid=1241689374&hash=item33dc9380b4:g:R-MAAOSwoYhaJcBX:sc:USPSFirstClass!28906!US!-1
@srivatsajoshi4028
@srivatsajoshi4028 4 жыл бұрын
@@ke4est probably not. They just come in standard sizes but he needs some custom length
@ke4est
@ke4est 4 жыл бұрын
@@srivatsajoshi4028 True, but this will get him started. I make my own custom ones. I just bend to where I need, mark it and then cut and strip. 😀
@ozzymandius666
@ozzymandius666 4 жыл бұрын
Clear and concise explanation of what each component is doing, and breadboarding best practices demonstrated. This channel is a great public service.
@The-python-guy
@The-python-guy 9 ай бұрын
This is hands down the best playlist for hobbyist computer building! truly amazing stuff -thanks Ben!
@JurassicJenkins
@JurassicJenkins 2 жыл бұрын
The best intro to hardware level CPU programming I’ve encountered. Full kit ordered, looking forward to the retro build and experience. Thanks!
@rafabulsing
@rafabulsing 4 жыл бұрын
You know there are a lot of wires when even Ben Eater gives up on putting them all in right angles :p Absolutely amazing content as always, thanks for being an inspiration!
@abcrtzyn
@abcrtzyn 4 жыл бұрын
Rafael Bulsing usually it means it’s temporary, who knows
@vaendryl
@vaendryl 4 жыл бұрын
just seeing your wiring-fu, I'm already certain you'd be great at factorio.
@Mythricia1988
@Mythricia1988 4 жыл бұрын
Secretly he prototypes these circuits using combinators.
@jmullentech
@jmullentech 4 жыл бұрын
"Just one... more... refactoring. Then I can sleep." Just when I thought I had kicked the habit. Dammit.
@zach2047
@zach2047 4 жыл бұрын
He would never have enough iron for all the combinators he needs!
@luckyizzac
@luckyizzac Жыл бұрын
The feeling when you watch this video again after months then somehow understand it better than before... so good
@misterspike
@misterspike 3 жыл бұрын
Just wanted to say "Well done, sir!" This series has been quite perfect so far! You have obviously put in huge amounts of work creating your script, filming, editing, and narrating this, but it comes across as effortless, and with just the right pace so that we can easily follow along and understand what you are doing without feeling rushed, and without our attention lagging! You are REALLY good at this! I learned this the hard way many many years ago, but since I haven't done anything with that knowledge since then, it has all mostly evaporated. This has been a wonderful refresher. Not that I expect to do anything with it, but it's nice to know that I could! I really am surprised at how well your pacing and thought process anticipates my own! Not only do you understand your topic extremely well, you also understand your viewers/students and their needs, too!
@raptorekpl
@raptorekpl 4 жыл бұрын
“Some random value”... 42 :D
@joey199412
@joey199412 4 жыл бұрын
42 hex is 66 in decimal
@andysyme8507
@andysyme8507 4 жыл бұрын
@@joey199412 But 42 is the answer to life, the universe, everything! (i don't recall if it was specified whether that was decimal or hex :-) )
@DrathVader
@DrathVader 4 жыл бұрын
It's also 101010 in binary
@DrathVader
@DrathVader 4 жыл бұрын
@@fred5459 Whoops disregard that, I converted dec 42 instead of hex 42
@philiparny3178
@philiparny3178 4 жыл бұрын
@@andysyme8507 actually there was code corruption (bathing captains and telephone sanitizers overwrote part of the original program) so as I understand it, 42 is ?probably? not the answer to life etc.
@nathanglevy
@nathanglevy 4 жыл бұрын
Thanks for the great video Ben! A great part of the way you teach is that you also discuss how these things are applied in the real world. Your comments about the engineering tradeoff between efficiency in utilization and efficiency of the overall cost of the system are very true and something that is difficult to teach in a class, and yet you showed a very practical example of this. Things like this are what make your videos truly exceptional. I also really love how you leave in the mistakes and errors, even it be a missing wire or a missing bracket in the code - those are really important parts of building a system, and It's great that you include them in the videos. It's also a great message to be sending out to young budding engineers that are probably watching these videos too -- learning from the mistakes are what makes the final product ;) Looking forward to the next one, hope it comes soon!
@DRSDavidSoft
@DRSDavidSoft 4 жыл бұрын
Can't agree with your points more!
@chriskaprys
@chriskaprys 4 жыл бұрын
^^ ditto.
@tsaligm6320
@tsaligm6320 4 жыл бұрын
So this is not the real world? Do we all live in a lie?
@ornessarhithfaeron3576
@ornessarhithfaeron3576 3 жыл бұрын
@@tsaligm6320 Everything is a lie, nothing exists
@duncan8238
@duncan8238 3 жыл бұрын
Beautifully produced videos mate, no second is wasted - I love the way you refer to the data sheets and show how it's done, that is something that can be difficult for beginners!
@mrbigheart
@mrbigheart 3 жыл бұрын
I cannot even begin to explain how useful and interesting all this is. It ties up so many things I read about over the years, on my own.. but since I didn't have any technical background.. kind of floated somewhere. But seeing this, ties lots of things together. Great content and greatest way of explaining things in lots of detail. Thanks so much! Awesome job you're doing here!
@evilotis01
@evilotis01 4 жыл бұрын
literally shouted "yesssss" when i saw this in my feed. not ashamed.
@charlesbaldo
@charlesbaldo 4 жыл бұрын
I coded assembly and BASIC on 6502 for Apple and commodore. This was a blast from the past. Thank you
@Bermis482
@Bermis482 Ай бұрын
Thank you Ben! Can not even explain the joy and astonishment these video series produce deep inside my soul! This is just beautiful to see all this machine code and all the points finally connected!!!
@rickybobby9885
@rickybobby9885 3 жыл бұрын
As someone who really understand this, I know how much time you must have put into these videos. Seriously thank you! So much fun to watch. I often get carried away with the higher level stuff so its fun to go back down to the roots
@unbeirrbarde
@unbeirrbarde 4 жыл бұрын
That gives me so many memories. I spent whole weeks writing word processor and graphics programs in 6502 assembler. Really beautiful language. Clear and effective.
@lxathu
@lxathu 4 жыл бұрын
Your dedication and the quality of your work is impressing - although I've almost never dared to try them at home.
@junkproduct
@junkproduct 2 жыл бұрын
making something potentially so obtuse and hard to understand so crystal clear... no ads... i cant stress enough how good this is. hats off to you sir.
@dimiutube
@dimiutube 3 жыл бұрын
I stepped in accidentally but I could not stop watching! That’s so exiting 😳 I learned 6502 assembly language about 35 years ago but never tried to build never tried to write a program just using the CPU and some wires! It’s very motivating to try it by myself! Thank you very much!
@lemonglataitor2123
@lemonglataitor2123 4 жыл бұрын
Oh my he made another great video, thank you for making such detailed videos.
@pial2461
@pial2461 4 жыл бұрын
Just waiting for this so long!:)
@2Sor2Fig
@2Sor2Fig Жыл бұрын
14:27 When cross-compiling my python code to run on Android (Kivy + Buildozer), one of the things clang checks for is whether the target platforms uses little endian or big endian. It's one of those things I've seen and wondered about while idly watching my terminal, waiting for everything to compile. I never thought this is how I'd learn what that was all about. Thank-you for all your videos.
@kellyhiggins5703
@kellyhiggins5703 2 жыл бұрын
DUDE!!! I CAN NOT thank you enough! I'm currently taking a class in this a part of my lower grad and your series has inspired me in so many ways. Between the first two weeks of class and a couple of your videos I feel like I understand the basic concepts of integrated circuits now! I'm proud of myself but you, sir, should be extremely proud of helping so many people understand this stuff. I can't wait for my kit to come in so I can start digging in!!
@gemazarusgaming1549
@gemazarusgaming1549 2 жыл бұрын
I've always been fascinated with electronics like this. Despite no prior education on what I just watched I was able to understand everything you said. You have a gift. To be able to deliver such complex material to newbs like me and to give me the confidence to give it a go, (finally). I thank you very much.
@KE0RM
@KE0RM Жыл бұрын
Hey Ben, I just received my 65C02 kit and I'm anxious to get started. Since watching your videos I've gained a lot more understanding about how computers work. I've been in IT for 27 years and never understood it as much as I do now. Thank you for all you've done.
@josgraha
@josgraha 2 жыл бұрын
this is awesome, takes me back to middle school days but instead of pouring over manuals and getting confused, got a real pro sorting it all out. thank you sir!!!
@js72634
@js72634 Жыл бұрын
"It just sits here successfully doing nothing forever." LOLOLOL I want this on a tee-shirt or something. I think that's the most delightful thing I've heard all week.
@3vi1J
@3vi1J 4 жыл бұрын
These videos are always worth the wait. I only wish KZfaq had existed when I was a kid - Ben would have saved me years figuring out things the hard way.
@albertkennis
@albertkennis 2 жыл бұрын
Perfect clarity, incredibly well produced and explained. Thank you!
@freeelectron8261
@freeelectron8261 3 жыл бұрын
Ben is a brilliant educator! So clear concise and yet interesting. Thank you Ben Eater!
@WintonMc
@WintonMc 2 жыл бұрын
It's been a year since you posted these videos so I'm feeling like a bit of a "Johnny come lately", but OMW, I had no idea KZfaq videos could be so addictive. It's been 40 years since I started using computers. Now at last I am truly understanding what went on inside my Commodore Vic20, and pretty soon I'll have a grasp of just how many times it happened. Awesome series Ben. Thanks for making it.
@TimothyChapman
@TimothyChapman 4 жыл бұрын
Add 3 NOP instructions between the two writes of 55 and AA. That'll give you a 50% duty cycle for those LEDs.
@DolganoFF
@DolganoFF 4 жыл бұрын
Hey, I was going to write this :)
@tiikoni8742
@tiikoni8742 4 жыл бұрын
But NOP instruction took 2 clock cycles to execute. So 3 would be too much?
@cringium
@cringium 4 жыл бұрын
i dont get what this means
@brianmiller1077
@brianmiller1077 4 жыл бұрын
@@cringium Timothy is suggesting that some delays be added between switch the red LEDs back and forth from 010101 to 1010101. I don't think it'll do what he's suggesting though. Ben's manually controlling the clock.
@cringium
@cringium 4 жыл бұрын
@@brianmiller1077 i now understand more but not fully.
@ASOTFAN16
@ASOTFAN16 2 жыл бұрын
Totally unrelated to the video itself, but I just have to say that you are absolutely amazing for listing all the parts of this mini series in the description like that. People could seriously learn a thing or two from you
@stocktonrails9279
@stocktonrails9279 2 жыл бұрын
I just watched the first 4min of your video, and I already love it. It takes me back to my college days when I worked with an intel 8080 trainer (in a briefcase) in a microprocessor class learning some of the basics you cover here. Fast forward quite a few years, I would eventually write a small device driver in 8085 assy language (later hand-converted to 8088 code) to use a light pen with my Zenith Z-100 computer. The entire program was in 8088 assy and it was modular in nature- with the main body of the program calling various subroutines as necessary to perform its job. Anyway, this is a great video- thanks for posting.
@itwsntme
@itwsntme 4 жыл бұрын
A while back I was watching One Lone Coder's NES Emulator project videos. He was describing how the NES memory is mirrored. The address space is 8K, but the system only has 2K for its sprite data (if I remember correctly). He explained that the data was mirrored four times, which each memory location accessible at four different addresses, something he had to reproduce in his emulator. As a software guy first, I was racking my brain as to what could possibly be the purpose of such architecture. Later, in another video about the NES hardware I learned why; Nintendo simply left two lines of the address bus disconnected because it was the cheapest thing to do. So, as Ben was saying, these are the tradeoffs hardware engineers do.
@kungfreddie
@kungfreddie 2 жыл бұрын
My first computer.. the vic20 i got at 7 yrs old was 2k.. or maybe 4k .. i dont remember exakt.. but it wasnt more than 4. The games were amazing! Hehe.. atleast for a 7 yr old that only seen pong b4..
@marsovac
@marsovac 2 жыл бұрын
They are not disconnected but connected to the cartridge slot, so a cartridge can choose what to do with them, and some later ones did.
@manvindarsingh
@manvindarsingh 4 жыл бұрын
You're the professor we need at universities
@sunildsouza5019
@sunildsouza5019 4 жыл бұрын
Appreciate your good work and flow with which you can explain things so clearly.
@ShadyNetworker
@ShadyNetworker 2 жыл бұрын
These videos are among the best ever uploaded to KZfaq, it's amazing that this is a free resource! Thank you so much!
@guygrotke8059
@guygrotke8059 Жыл бұрын
Very nice presentation! Very clear, and this should be required for anybody thinking about getting into digital design. I started working with the 6502 pre-Apple, so I know it well. I still remember a lot of the opcodes! Decades later I was verifying the chip design for a four channel 100 mbit/sec DSL chip, writing ARM bootloader code for a 256 processor chip, and using big FPGAs. One correction though: The TI version of the 8008 microprocessor was first sold in January of 1971, and thus started the personal computer revolution. The 6502 did not come out until 1975. It was a lot cheaper and easier to use, but homebrew fanatics were building 8008 and then 8080 computers before that.
@useless.production
@useless.production Жыл бұрын
Ben, I can't explain how much I love your videos! I'm an 8th grade student, and I'm doing an NHD project all about the 6502 and this has been so incredibly helpful! Thanks for everything, and keep up the great work!
@Slava_tobi_Ukraine
@Slava_tobi_Ukraine Жыл бұрын
FFFC(1 byte) 00(1byte at FFFE) FFFD(1 byte) 80(1byte at FFFF) =>next adress is 0000(or set by us 8000) in up memory adresses 8000-FFFF. Thanks a lot, I understood how RESET work.
@michael195b
@michael195b 2 жыл бұрын
Stumbled across your channel while browsing. I used to be into this 30 years ago when at school but my career went in a different direction. Excellent video and very well explained, think I'll start it as a hobby again.
@Nathan-wk9dd
@Nathan-wk9dd 4 жыл бұрын
I have a CS degree and i find they these videos pack more educational value into an hour than some classes I took packed into a semester. This is currently my favorite KZfaq channel, you have a gift for breaking down complexity and articulating it in a very accessible way.
@electronichaircut8801
@electronichaircut8801 3 жыл бұрын
CS=Chip Select
@danielfogli1760
@danielfogli1760 4 жыл бұрын
Love your "paper-cutout-building-blocks-step-by-step-hey-there's-our-circuit" approach 😉
@davidblake6889
@davidblake6889 3 жыл бұрын
I have just found your channel. I would like to say how much I enjoyed seeing this again. Thank you. Over 40 years ago, I was doing exactly what you are doing now, but I was using a 6800 processor, with its associated peripherals.. It was all very new. I had nobody to teach me how to do it. It was a very steep learning curve with the tools we had available. No prewired breadboards. No internet, no computers, no programmers for the EPROMs (UV eraseable). I had to make my own programmer. It had three power lines, and took several passes to program a 1k EPROM. All done in machine code. Branch offsets were interesting. I made a complete radio-paging control system to operate up to 1000 radio pagers using this method. It is amazing what we could do back then with such small systems. An amazing bit of nostalgia for me. Thanks again.
@audiodiwhy2195
@audiodiwhy2195 3 жыл бұрын
Thank you for explaining all of this so clearly. Trying to learn assembly and more about basic computer architecture and this is a huge help
@markreed9937
@markreed9937 4 жыл бұрын
My head hurts...but this video is so well made! Step by step I am starting to see how this all work. Thanks. :)
@blitzer2062
@blitzer2062 Жыл бұрын
I learnt some (but definitely not all) of this content at high school in 1981. I really wish I'd have had this video back then. This was a great trip down memory lane and so beautifully explained. Thanks Ben.
@danny_racho
@danny_racho Жыл бұрын
At highschool? This is some advanced microcontroller knowledge. I only did this at the university at some classes, Why would anyone teach this at high school? This is odd and not really useful, since very small percentage would follow this and actually be interested in it
@Nick-ui9dr
@Nick-ui9dr Жыл бұрын
Why u guys fighting... In 1981 I dint even knew if there is something called computer. 😂 Though I too was in 9th standard I guess. 😀
@MrShidimaOne
@MrShidimaOne 3 жыл бұрын
Man, this is amazing! Just 1 and a half video in and I have learnt so much already!
@Ozzymand
@Ozzymand 3 жыл бұрын
I love these videos so much. I like learning about the tiny details of PCs and how it was all built, and your videos are organized so well and you explain everything in a nice manner.
@vaio232
@vaio232 4 жыл бұрын
This guy is in a whole new level, does coding, scripting in hand and got the 6502 opcodes on his head and math on the other. I mean this is seriously multi talented. Not to mention being a good teacher with marketing skills in youtube
@kungfreddie
@kungfreddie 2 жыл бұрын
If you program 6502 you get the opcodes learnt quickly.. I did it when I was 10-12 on my c64 and u had it all in ur head.. the opcodes u use for most things are not very many. 6502 had very limited amount of opcodes. Or wait I mean Instructions.. he didn't have the opcodes in memory he looked them up.. as anyone would. When u start something early it just get stuck.. I have not done a c64 program in 36 yrs , but I know I put them at $c000 usually.. and I think that's sys 41962 to start .. damn I was wrong.. it was 49152 , but I was very close !
@Slider68
@Slider68 3 жыл бұрын
Wow does this video bring back memories. Almost 45 years ago the 10 year old me received my first PC, an Apple II. Over a couple of years I learnt to program the 6502 directly in hex (quickly). I still recall all of the opcodes you used, even though I haven't used them for almost 40 years. In addition to opcodes for some reason I still recall C600-C6FF was slot 6 ROM (floppy disk), C000-CFFF I/O in general, C020 tape output toggle, C030 speaker toggle (also CALL -16336), C060 tape input volume level, 0400-07FF text/Lres 1, 0800-0AFF text/Lres 2, 2000-3FFF HDres 1, 4000-5FFF HDres 2, etc. One of the "entertaining things to do" was to false boot the floppy, modify the load instruction to save registers, text 1 memory, etc followed by RTS (60) (all directly in hex) and eventually save everything to tape. After booting DOS, load the program from tape, save the program to disk and write a 6502 program to reset registers, text, etc to complete the floppy load. Some interesting features that some of the more advanced encrypted floppy disk loaders used included stepping the floppy head 1/2 and 1/4 sectors while continuously reading and using undocumented 6502 opcodes that would do bizarre things (like XOR'ing registers while dropping the most significant bit and using the result for a relative jump, after sending a carriage return to text page 1 start executing at $0500 (memory for text page 1), etc). After a few years I got interested in vehicles and went into mechanical engineering...
@kungfreddie
@kungfreddie 2 жыл бұрын
Yea wasn't xor part of 6502? But when I saw a list right now they only had eor listed... I remember we used xor to clear registers since it was the fastest way on 68000 programming (doing demo programming every clk cycle counted). But I'm sure it was there on 6502 too...
@ducksonplays4190
@ducksonplays4190 Жыл бұрын
@@kungfreddie XOR and EOR are the same, XOR is eXclusive OR and EOR is Exclusive OR.
@nullbrain8552
@nullbrain8552 3 жыл бұрын
Wow I tried to watch one of these videos a whiiiiile back when I was first starting out programming and I couldn't keep up. However revisiting now that I've spent an entire school term learning about binary hex assembly code and processor architecture I can almost completely follow everything that's going on. This is so inspiring thank you!!!!
@98854arjun
@98854arjun 2 жыл бұрын
Fantastic Ben Sir. Many Engineering students like me in India are going through your videos. Your videos are the best videos on KZfaq. No one explains so much in details as you do. THANK YOU!!!!
@mutated__donkey5840
@mutated__donkey5840 4 жыл бұрын
W A R N I N G : F I R M W A R E I S O U T O F D A T E .
@slonkazoid
@slonkazoid 3 жыл бұрын
"The firmware will decide your fate" *"I AM THE FIRMWARE"*
@qazxsw21000
@qazxsw21000 3 жыл бұрын
@@slonkazoid this comment feels like a massive Ayreon reference “I will grow, know my name I am hope, I am the ‘Frame I advance up from the deep A new chance, the March of the Machines”
@slonkazoid
@slonkazoid 3 жыл бұрын
@@qazxsw21000 sry but no
@user-jh6kx1fw9h
@user-jh6kx1fw9h 3 жыл бұрын
"Advance up from the deep" is Jam Baxter - Brains, "Deep aquatic excavator" @kzfaq.info/get/bejne/hpqcZpmK167bYqs.html ;$
@andie_pants
@andie_pants 3 жыл бұрын
Can I just say as an armchair enthusiast-level viewer... you have made this so clearly understandable that even though I only took one semester of C++ ten years ago, I don't feel lost.
@andie_pants
@andie_pants 3 жыл бұрын
"It's just yelling into the void." Same, little microprocessor. Same.
@Jonathan-ru9zl
@Jonathan-ru9zl 4 ай бұрын
You've did a brilliant project, and an outstanding presentation !!
@ReidarXx
@ReidarXx 4 жыл бұрын
I appreciate your editing patience and skill, on top of the excellent content. Well done :)
@hugotavares1410
@hugotavares1410 3 жыл бұрын
I've learned more with each one of your videos than in my whole classes on Microprocessors. Congratulations on your awesome work!
@TomStorey96
@TomStorey96 4 жыл бұрын
Something to be careful with in respect to hard wiring the OE/ signal low and relying solely on CE/ is if you accidentally try to write to the ROM address space. If the two devices are driving different voltages on some signals then you could essentially create a short between your power rails. In this case you could take the Rw signal and hook that into the NAND being used for CS/ along with A15 so that the ROM would only be selected during reads in it's address space.
@havresylt
@havresylt 4 жыл бұрын
This was my thought too. It is really all about connecting one extra wire :P
@user-gd8mf4rk8h
@user-gd8mf4rk8h 2 жыл бұрын
As an electrical engineering student , I have found computers and microchips just overwhelmingly more interesting through your very discriptive and enlightening videos than my university's classes. You have helped me deeply understand how a microprocessor and an EEPROMs or RAMs work , as well as what are the real applications of analog electronics performing digital applications and computations. I Have been motivated and thrilled watching your videos! Keep it up!
@ElectronicsMaker7014
@ElectronicsMaker7014 2 жыл бұрын
Thank you for all the inspiration from this project, you gave me all the knowledge to build my own 6502 Breadboard computer, knowledge about all sorts of chips, the knowledge of how to read datasheets properly, and that's how I started my channel. Once again, thanks a lot!!
@keithnorris6348
@keithnorris6348 Жыл бұрын
Very enjoyable for me it was like a trip down memory lane to my first work as a young man. The Commodor PET programing for interface operations. Ah, the bloody great big transformer, the cassett tapes, those wern`t the days. I think I`ll subscribe.
@kdog3908
@kdog3908 Жыл бұрын
Having similar vibes! Was VIC20 for me. As soon as I saw those LDAs and STAs I felt like i'd peered through a time portal into my early youth!
@anicsr
@anicsr 4 жыл бұрын
Yess, I've been waiting for this one
@DylanSpeiser
@DylanSpeiser 4 жыл бұрын
Probably my favorite video of yours. So informative and interesting!
@matthewwillis5129
@matthewwillis5129 2 жыл бұрын
This is anazingly accessible. I learned to code on a 6502 some 40 years ago and really enjoyed this demo. Well done.
@borisdorofeev5602
@borisdorofeev5602 4 жыл бұрын
Thank you so much for continuing to work on these videos. I never mind waiting some time for your content because it's always interesting, high quality, and leaves me satisfied with a healthy craving to learn more on my own. By the way; are you and Grant from 3blue1brown still planning on doing collaborative projects in the future? I really hope so. I love both of your work, and I have been extremely eager to see something done as a team. I've been so excited since I heard that you two communicate.
Assembly language vs. machine code - 6502 part 3
15:35
Ben Eater
Рет қаралды 1 МЛН
“Hello, world” from scratch on a 6502 - Part 1
27:25
Ben Eater
Рет қаралды 4,7 МЛН
Китайка и Пчелка 4 серия😂😆
00:19
KITAYKA
Рет қаралды 3,7 МЛН
PINK STEERING STEERING CAR
00:31
Levsob
Рет қаралды 21 МЛН
Why build an entire computer on breadboards?
28:43
Ben Eater
Рет қаралды 3,1 МЛН
Hacking a weird TV censoring device
20:59
Ben Eater
Рет қаралды 2,9 МЛН
Hardware interrupts
27:36
Ben Eater
Рет қаралды 588 М.
Reverse Engineering Game Code from the Neutral Zone
40:59
Retro Game Mechanics Explained
Рет қаралды 533 М.
The first LowSpec Processor
28:11
LowSpecGamer
Рет қаралды 597 М.
World's worst video card gets better?
44:25
Ben Eater
Рет қаралды 812 М.
I Designed My Own 16-bit CPU
15:46
AstroSam
Рет қаралды 1,9 МЛН
I Made a Neural Network with just Redstone!
17:23
mattbatwings
Рет қаралды 593 М.