Тёмный

Connecting an LCD to our computer - 6502 part 4 

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

Schematics, datasheets, kits, and more at eater.net/6502
Part 1: • “Hello, world” from sc...
Part 2: • How do CPUs read machi...
Part 3: • Assembly language vs. ...
Part 4: This video!
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
Adrien Friggeri
ahmed
Alex Catchpole
Andrew R. Whalley
Anthony Cuccia
Armin Brauns
Austin Grant
BakerStaunch
Beau-James Erion
Ben Dyson
Ben Kamens
Ben Williams
Bradley Pirtle
Brandon Stranzl
Brian Wanda
Bryan Brickman
Carlos Ambrozak
Chad Fertig
Christopher Blackmon
Chuck Crizer
Clayton Parker Coleman
Daniel Tang
Dave Walter
David Boardman
David H. Friedman
David House
David Turner
Dean Winger
Debilu Krastas
Dominic Kulmer
Dušan Dželebdžić
Dzevad Trumic
Eric Brummer
Eric Busalacchi
Eric Dynowski
Eric Twilegar
Erik Broeders
Eugene Bulkin
Foaly
fxshlein
Gabriel Lafond-Thenaille
HaykH
hunter wright
Ian Tait
Ingo Eble
Ivan Sorokin
Jackson Warren
Jason DeStefano
JavaXP
Jay Binks
Jayne Gabriele
Jeremy A.
Jeremy Wise
Jimmy Campbell
Joel Messerli
Joel Miller
Joern Heidenreich
Jon Dugan
Jordan Scales
Joshua King
Justin Dubs
Justin Duch
Kefen
Kent Collins
Maksym Zavershynskyi
Manne Moquist
Marcus Classon
Mats Fredriksson
Matt Alexander
Matthew Mattox
Matthäus Pawelczyk
Michael
Michael Burke
Michael Garland
Michael Tedder
Miguel Ríos
Mirko Rener
Nathan Wachholz
Nicholas Counts
Nicholas Moresco
Nick Sutton
Nick Wrightsman
Onion Sniffer
Paul Pluzhnikov
Paul Randal
Pedro Madhat
Peter Simard
Philip Hofstetter
Randy True
Ric Allinson
Ric King
Richard Wells
Rob Bruno
Robert Blackshaw
Robert Butler
Ross
Sachin Chitale
Sam Rose
Scott
Sergey Ten
Sever Banesiu
SonOfSofaman
Stefan Nesinger
Stefanus Du Toit
Stephen Riley
Stephen Smithstone
Steve Jones
Steve Gorman
Steven Pequeno
sunyiming
Sylvain Thrd
Thomas Ballinger
Tom Burns
Vladimir Kanazir
Warren Miller
xisente
Örn Arnarson

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

 

29 сен 2024

Поделиться:

Ссылка:

Скачать:

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

Добавить в:

Мой плейлист
Посмотреть позже
Комментарии : 914   
@juanchoavid123
@juanchoavid123 4 года назад
nothing is on fire is the most common circuit designer phrase
@PeterfoxUwU
@PeterfoxUwU 4 года назад
sadly thats not true :(
@stevewalston7089
@stevewalston7089 4 года назад
@@PeterfoxUwU Yep, usually it is something regarding smoke. As in, "not letting the magic smoke out", or more commonly a "smoke test".
@KingJellyfishII
@KingJellyfishII 4 года назад
More like "it's on fire!!!!!!" Note the exclamation marks.
@juanchoavid123
@juanchoavid123 4 года назад
@@stevewalston7089 smoke test jajaja i didnt know that
@te0nani
@te0nani 4 года назад
I look away every time I plug in something I build.
@3Max
@3Max Год назад
Lots of impressive stuff here, but one of the most impressive is how you never make any typos! (forget a paren, sure, but I don't think I've seen you type backspace in this whole series!). Thanks for these videos, they are great.
@garcez9472
@garcez9472 4 года назад
The end of the series: Recreating Windows 1from scratch - 6502 part 32
@emaaaaax
@emaaaaax 3 года назад
Windows (the dos versions) ran on a 8088 so its almost the same but the chip needs to be upgraded
@samba3403
@samba3403 4 года назад
finally a series that explains all the logical steps of using micro controllers great work there Ben hopefully you have in mind some expansion modules like the 5651 for serial input output could be cool.
@hypt0ny
@hypt0ny 4 года назад
This has been an amazing project to follow, thank you for sharing
@TetriTek
@TetriTek 4 года назад
Amazing, what perfect timing. I was going to try and work on one of these today!
@mykolapokhylets3105
@mykolapokhylets3105 4 года назад
As someone who does programming for living, it hurts to see so much duplicated code. But looks like extracting a function + adding a loop for iterating over the string should solve it. No idea why extra hardware is needed here. So, looking forward for the next video, I’m intrigued.
@kallewirsch2263
@kallewirsch2263 4 года назад
He has no RAM in his system right now. The extra hardware will be a RAM chip. But until this is connected to the bus, the only thing he can work with are the CPU registers.
@mykolapokhylets3105
@mykolapokhylets3105 4 года назад
Indeed, RAM is needed for the stack.
@amrishhirani6096
@amrishhirani6096 4 года назад
Merry Christmas
@timsanders9111
@timsanders9111 3 года назад
How on earth do you make all those wires just the right length and arrange them so neatly? Mine looked a rat’s nest. Another skill to improve.
@kamisama5783
@kamisama5783 Год назад
Hi I am a huge fan of this channel and I would love to learn how to do all this by myself, what type of math do I need to learn apart from algebra to be able to work with electronic
@medianna
@medianna Год назад
oooh shiny light cool
@nathanericschwabenland88888
@nathanericschwabenland88888 2 года назад
Okay first assembly code and then the graphics screen with eight bits now I understand
@nathanericschwabenland88888
@nathanericschwabenland88888 2 года назад
We will get to full color graphics soon sighs
@2002budokan
@2002budokan Год назад
Oh yes 6502, this was the C64 chip.
@stefanooliveira6812
@stefanooliveira6812 3 года назад
Would you do a series about CAN bus protocol?
@worldbfr3e263
@worldbfr3e263 4 года назад
Could you make a branch which does all the things except loading the letter in the A register so you don't have to keep copying that bit of code but instead just branch in and out of that without any extra hardware?
@anachrocomputer
@anachrocomputer 4 года назад
Thing is, a subroutine like that would need to use RAM to store the return address (on the stack).
@angelsosa4189
@angelsosa4189 Год назад
Ben I have been looking at "Connecting an LCD to our computer part 4". Jameco no longer has a listing for "AT28C256 EEPROM". Do you have a recommendation for a replacement part? The best I could come up with is "Jameco Part no.: 74878 IC 28C256-25IC EEPROM 256K-Bit CMOS Parallel" with this part work? Or do you have a recommendation for the replacement.
@bornach
@bornach 4 года назад
Chuck Peddle, main designer of the 6502, passed away on 15th December 2019 Rest in Peace
@markjones5973
@markjones5973 4 года назад
Yep, the computer pioneers of our era are beginning to go now. Dennis Ritchie, co-inventor of C, passed in 2019. There was somebody else that died recently, but I can't recall who it was.
@huguia
@huguia 4 года назад
@@markjones5973 Dennis Ritchie died in 2012
@smilingbuddha2836
@smilingbuddha2836 4 года назад
Dennis Ritchie died twice?
@markjones5973
@markjones5973 4 года назад
@@huguia Typo. I knew he died a few years ago, so I looked it, saw that it was in 2012, came back here and promptly typed 2019. I'm such a dumbass sometimes.
@masaratech
@masaratech 4 года назад
@@markjones5973 good for you
@Alex-nh6zc
@Alex-nh6zc 4 года назад
This is what happens when the "primitive tech" channels advance into the modern era
@tux1468
@tux1468 4 года назад
Or rather, the one "primitive tech" channel since all the other ones are just poorly ripping it off.
@smooooth_
@smooooth_ 4 года назад
@@tux1468 Usually I'd be mad about them ripping him off, but to be honest some of them are just as entertaining, but not from an educational point of view.
@Amethaz
@Amethaz 3 года назад
@@tux1468 Add apionet
@tux1468
@tux1468 3 года назад
@@Amethaz Bro go away
@Amethaz
@Amethaz 3 года назад
@@tux1468 No❤️
@arnabnath4205
@arnabnath4205 4 года назад
I had my Digital Electronics exam today and thank to your 8 bit computer playlist I was able to score a A grade , keep up the good work mate ❤️🍀
@MAYERMAKES
@MAYERMAKES 4 года назад
That is awesome!
@hermitoldguy6312
@hermitoldguy6312 4 года назад
Well done. :)
@Mobin92
@Mobin92 4 года назад
Once you know how to read those specs documents, everything becomes much clearer.
@sifiso5055
@sifiso5055 4 года назад
That’s really awesome
@DatMilu2K
@DatMilu2K 4 года назад
You both keep up the good work! :)
@tino11
@tino11 4 года назад
So after 10 years of being a professional programmer, I'm now waiting for a video on how to optimise hello world code. 2019 is weeeird.
@alchemy1
@alchemy1 4 года назад
Even after 10 years having been a programmer ( I mean a professional one) you didn't know this one. so what went through your mind? In the meantime I found 2019 to be a rather fascinating one, most satisfying. Would that make it double weird for you? :-)
@eriknestaas2270
@eriknestaas2270 4 года назад
"2019 is weeeird"... Oh boy, you thought that 2019 was a weird year...
@TheAlianae
@TheAlianae 4 года назад
Erik Nestaas 2020 is weird.coronavirus...
@santubandieri
@santubandieri 4 года назад
@@eriknestaas2270 lol
@juliencollet1208
@juliencollet1208 4 года назад
We were so naive back then.......
@henrymaddocks984
@henrymaddocks984 4 года назад
“333 bytes is inefficient” I’m watching this in chrome 🤔
@ETXAlienRobot201
@ETXAlienRobot201 4 года назад
even on a modern CPU, for what this is doing, it's inefficient on a system with even lower memory, it's worse. there's also the issue that every time you want to go and change the output... OUCH! you have to copy-paste several lines of the same code and tweak them just a bit, and hope you don't screw-up its good as a tech demo or proof-of-concept hence why he said the next video will be about optimizing it though, i do have a theory all of what will happen...lol i'm mainly watching this for fun, and also because i'm curious how you take processor and build an actually useful device with it. as for chrome, or ANY modern browser [rather, application] , tbh, yes, quite inefficient. it's now the rule and not the exception that web browsers suffer memory leaks. it starts as trickle, and before you know it, you HAVE to re-start the browser... >.< I use pale moon, myself. Never liked chrome since my first experience, firefox drove me away by taking-away all the features and customization that I used it for in the first place. The reasons go honestly far beyond the scope of developing a single application, though. It's decades of questionable practices, including so-called "rapid app development" and other "innovations" in the tech industry. I started my "serious" programming with these newer languages/tools, and tbh, there are multiple things I don't like. I watch videos like this, and about ROM-hacking, so on. I just facepalm at what's being done today. I have so many ideas right now or projects/systems I'm slowly cobbling-together that are pretty heavily inspired from older technologies/tricks [if not re-implementing them to some degree], or using low-level concepts. Or well, that's the plan.
@ETXAlienRobot201
@ETXAlienRobot201 4 года назад
using a million other libraries or adding extra baggage is why i don't trust jquery, node/npm, so on... javascript is unfortunately so utterly worthless on its own that you need libraries by default. i have yet to see anyone preaching the joys of HTML5 use the APIs right out of the box. they use engines that abstract the crap away. been building my own from scratch. this is a problem plugins didn't have. but "in the name of security" they were decided to be killed-off. hoping to switch myself to full native or web + native development. I just also don't desire to touch such things as C++, either... *shudder* And I suspect my next obstacle is going to be these corporations for "our security" going full gatekeeper via the online stores. note the 'recommend' setting in win10 is to ONLY install from the store. There's a lot of programs that this can kill-off because there are so many reasons it can't or WON'T appear in e-stores. And then it might even force others into needing to go through additional licensing programs [i suspect this is the future for hex editors and programs that have a reputation for being used in hacking, especially reversing proprietary formats and facilitating piracy/emulation] libraries aren't in themselves bad, the way they're used and maintained is. mainly the mainstream ones. admittedly, i used to do this, jquery's main use: $("some_element"). if this is what you need to do, document.getElementById("some_element"). note this is discouraged. same with directly using XHR, which you could cut AJAX out in 90% of all cases. bootstrap, jquery, so on, should only be used for sites like twitter, youtube, so on... [if even there, but google did jquery, twitter did bootstrap... small sites/apps don't need and shouldn't use them] it's mainly executives who don't know anything about the company and the industry leading this push. look at commercials where the only thing they can brag about is : "patented" , "proprietary". this just simply means they keep their methods secret and have gone through the [very expensive] process of facilitating the legal right to sue people for trying to copy their product/service/process. speaks nothing for the quality of the product/service. this is also what i find funny about norton/lifelock. "with all these data breaches happening..." , why these happen : governments [NSA caused ransomware outbreak by not disclosing the exploits to computer companies, cuz THEY wanted them to look for possible 'terrorists' via unethical, immoral, and ILLEGAL spying mechanisms] , databases get breached partially because executives don't want to pay money to people to properly fix them, INTERNET OF THINGS [that shouldn't be connected to the internet], cloud computing, streaming [latter two are ultimately DRM mechanisms cuz it turned-out the fatal weakness of DRM was, and always will be, client-side code/data. it's not security/convenience as the reason, it's copyreich] i'm personally waiting for the next big crash, it's inevitable this will happen in the next few decades. we're actually making things less and less compatible with each other, which will lead to a lot of data rot, FAST. [like flash being killed, at least the open source community is working on it.] we're connecting EVERYTHING to the internet, increasing VASTLY the attack surface for hackers to target. we're increasing bandwidth usage and the infrastructure wasn't designed for so much traffic, nor was it properly upgraded in many cases. we're adding countless lines of tightly coupled dependency/overhead/boilerplate code and adding many extra layers to code management that don't belong there. [oh, and writing macros to generate code/data that the COMPILERS should be doing automatically] everything is obsolete when it's released, nothing released is finished. W3C members and browser vendors are STILL having a pissing contest, this is why APNG failed and GIF is STILL in use. [This is also why CSS3 suffered that prefixed properties BS.] Proprietary code is still supported in open source bodies [EME, aka DRM for the web, glorious "champions of internet freedom" , Mozilla, actually switched their stance to endorse/support it] Something's gotta give... [oh, and programmers who actually care or know how to do things are quitting/dying, assuming the 'supervisor' or an 'o' aren't telling them to basically, not do their job, cuz it costs money, anyways] I'm hoping my own code base will avoid some of this since I'm trying to axe the third-party dependencies as much as possible... Even then, there's a lot I can't avoid, like the internet globally suffering an outage, or the possibility/inevitability M$/Crapple are gonna tighten the noose around developer's necks since as it stands, I [and many others] can write and publish code/software which they don't have the ability to control at present. [End users, likewise, can still download/install/execute/[de]compile that code.] welp...another text wall... never thought programming and tech, generally, could be so...political... >.< i just want to make + play games, dammit!
@ETXAlienRobot201
@ETXAlienRobot201 4 года назад
yes and no. the HTML5 Canvas/webGL and WebAudio APIs are absolutely miserable if you don't have a library. even if it's an in-house solution or lightweight, it's still a library/engine/framework, it's still basically necessitated because you're dealing with simple state machines that don't have any concept of what an actual program [especially game/animation] needs... a 2D game needs a concept of tiles/sprites, which requires some additional systems and data structures. a 3D one needs models, skeletons, possible inverse kinematics, [shaders,] etc... If you implement that wrong, performance is bad, you could even potentially cause damage/stress to the machine/ [something people don't seem to like mentioning about GL is that you really shouldn't touch it if you don't know what you're doing. just how it's not technically necessary even for 3D UP TO A CERTAIN POINT] all games need asset management and audio playback + audio looping. HTML5 doesn't do this out of the box. Neither does C/C++, so on, but we already have libraries [and...MASSIVE engines/frameworks] to deal with this for native applications and...mobile/console. Web had shockwave, java, Flash, Unity as the main ones. They each had their use, and I'd argue still have benefits if people can do ANYTHING besides freak-out about code exploits and "proprietary black boxes". More so, Flash. Shockwave's plugin is horrible, I hated dealing with it. But, some of my fav games need it. Unity is still a mess post-webGL [especially as an impenetrable proprietary black box with code doing god knows what] Java applets were neutered and I don't like the "everything is a class" blueprint-oriented nightmare java helped create. Flash's format, at least, is honestly great if you consider bandwidth and flexibility/extensibility. Parts are a nightmare to parse because that's how serious adobe/macromedia were about making the files SMALL. coupled with the AVM you had pretty much the only general-purpose game engine that's arguably useful, ONCE you figure-out how to use it. You don't have to monkey-patch flash or add loads of boilerplate to make even a simple/'mediocre' game. You can, and a lot of modern flash games do run entire frameworks behind the scenes like box2D or Flixel, but you never NEEDED to. A lot of the limitations with flash are also imposed, now that the format and AVM are documented so thoroughly, it's not out of the question to bypass the limitations or improve the parts that don't work. Just as an asset format, I wish SWF or something like it, stayed. That's one of my projects, but it's time-consuming and tedious, and I''m spread too thin. I probably sound like an Adobe shill, but I've long since lost my respect for them as a company. Currently I don't plan to collaborate with them or any other large organization since I don't trust them. I also don't expect adobe to do anything more than allow it to happen like they already have with SWFmill, FFDEC [which sourcetek/sothink hate! (:< ] , haxe/flashdevelop, flashpoint, etc... Anyways, I just feel the SWF format, itself, has far from outlived its usefulness. Regardless, it should be a user CHOICE to have flash as much as it is to not have. but the "open web" community has demonstrated they're not entirely open [Encrypted Media Extensions!!!] , and aren't open-MINDED ["flash needs to die, flash users are stupid, flash developers need to adapt or die with adobe despite themselves doing NOTHING WRONG"]. There are other things, but I no longer can find the sources [suspicious!], plus don't really want to drag THAT discussion on much longer. I'm worrying about things I shouldn't have to, and don't want to. Which is ANOTHER reason good and potentially good developers are LEAVING the field, especially veterans and disillusioned newcomers. I am currently trying to transition to Haxe. I'm cautiously optimistic Johanthan Blow actually achieves all or most of his promised goals because: I like js for small little macros [converting hex, Caesar cipher, countdowns, so on] , not full-fledged programs C is still a bit arcane assembly isn't feasible unless i target a retro platform where asm programming is decently tolerable actionscript is basically dead C++ is NOPE python isn't really supposed to run large applications and the whitespace sensitivity will hang you quickly lua needs an interpreter if you plan to USE it Rust just didn't quite impress me Java is too strict and the devtools keep ADDING LAYERS [AND NEED JAVA INSTALLED, which while i have, is outdated and i can't seem to update] Haxe still hasn't impressed me, really. But, better than manually writing JS and I CAN compile to native applications or the Neko VM at some point. As for NPM and all : yep... companies and the desire to get hired by said companies. i actually DON'T want to be. freelance or something? fine... chain of command consisting of people who should not be considered 'qualified' to make decisions? NOPE... [which tbh is just ONE reason] i've seen enough blogs and portfolios. same reason people remove their older works "silly me, i was so dumb back then!". the code style and design choices? sure, i'm ashamed of SOME of my stuff in those regards. but yanno what? i'm proud i can say i did it at all, that i completed it. this has some not nice code and uses...jquery: crystalien-redux.com/unrelated/ETX/apps/web/marsTrans/MarsTrans.html but, i can say i FINISHED it, and that it does EVERYTHING i wanted it to. [and it still works to this day!] i might update it in the future, i might not. and two big changes will be externalizing the messages array to a JSON database [at least converting it], and trying to pull jquery + jscrollpane OUT. i settled for that at the time because CSS3 was giving me problems [THANKS BROWSER VENDORS AND W3C!] point is, it means more to me this is done. if a potential employer cannot understand that, if they cannot understand the particular problems that i had to solve to make this work, then they don't deserve me, and they aren't qualified to hire employees. programming, engineering, science; are about developing practical solutions to actual problems, finding the sometimes illusive answers to important questions. companies and standards organizations lost sight of this, obviously. infomercials show it nicely with the insane majority of products you just don't need and can solve the supposed problem with your existing products "special tray to cook your bacon in the microwave!" and common sense. a handful are practical, but MOST aren't. same goes with frameworks and some of these "features" [like 'the cloud'] they added to software. i lost it with the M$ solitaire when they started bragging about the "innovations"... there are CLOUD-BASED games that UP-FRONT let you export your data to A FILE and vice-versa. and tell me why i need to watch ads on a card game that i could easily play in meat space for basically free [cards are cheap, much cheaper in the long run than subscribing to the premium/VIP version] if i wanted? their only true innovation was the extra modes. even then...pft... i could buy like 4-8 decks of cards and play HUNDREDS AND THOUSANDS OF GAMES. didn't need shiny new graphics, didn't want ads, and i fail to see the save data for that game weighing-in even at a KB, easily stored in a plain .txt file or copied to a text/email >.< well, more time basially wasted ranting bout this...sigh... however, the site i'm trying to use is suspiciously not loading at normal speed, so i can't play my crappy casual games, anyways... >.>
@ETXAlienRobot201
@ETXAlienRobot201 4 года назад
engine/framework/library are a bit ambiguous at times. well, accessing the HTML DOM is a simple/small action. jquery's most famous use is to do exactly that. again, for a very specific type of project, it makes sense to bring those frameworks in. but tbh, decoders don't need anything sufficiently advanced, either. reading a PNG could be done with DataStream.js [makes dataviews easier to work with] , zlib.js, and then the PNG-specific bits can be written on both of those. file parsing also usually is the reading of an array, or several...XD. i've reversed or partially reversed a few. seen arrays and other tabular data a LOT. chunk-container types are also surprisingly common. the libraries using libraries using libraries is one main reason i don't use NPM, though. i do understand how SOME of it happens, though. there are a few libraries i want to use in my own, or have the option to, i fear some wrapper objects/instances might need to be used...BLEK! i'm not saying this is the most common reason. 90% definitely is "look, i made an NPM library, you should hire me!"
@colinpitrat8639
@colinpitrat8639 4 года назад
On my computer: In C++: 8kB In Rust: 430kB In naked assembly: 1k Even the .class in Java (which doesn't include the runtime so it's cheating) is 417B. OK, this is comparing apples and oranges but it's still interesting.
@mgfails9274
@mgfails9274 4 года назад
Would you do a series abut USB protocol? Especially HID
@skmgeek
@skmgeek 4 года назад
MGfails noice. Perfect 64 likes.
@MaxPicAxe
@MaxPicAxe 4 года назад
That would be actually very interesting good idea
@mgfails9274
@mgfails9274 4 года назад
@@skmgeek 69 now :)
@Aemilindore
@Aemilindore 4 года назад
YES!
@BrainSlugs83
@BrainSlugs83 4 года назад
If you are interested in self learning, there's a library for the AVR ATMEGA called V-USB that bit bangs the USB protocol using IO pins. It also has example code for emulating a bunch of different HID devices. I made an arcade joystick using it a few years back -- back before you could just buy a pre-made board on Amazon for $12... 😑
@lachyplays3089
@lachyplays3089 4 года назад
That awkward moment when the MPU in your lcd is almost more powerful than your computer
@Machin396
@Machin396 2 года назад
Lol !
@VictorianMaid99
@VictorianMaid99 Год назад
This is so true
@sharpfang
@sharpfang 8 месяцев назад
Certainly faster pushing 8 lines of pixels from font memory to display and doing all the cursor bookkeeping while the CPU outputs one byte, then pulses the E line.
@NoC4k3
@NoC4k3 4 года назад
"Im not pround of this code" basicly me, every time i write code.
@NineEyeRon
@NineEyeRon 4 года назад
NoCake Elsewhere: I am proud of this code I copied from google and glued together
@youdonotknowmyname9663
@youdonotknowmyname9663 3 года назад
How to programm for beginners: Step 0: Search for your problem on StackOverflow Step 1: Copy & Paste Step 2: Compile Step 3: Profit!
@aleisterlavey9716
@aleisterlavey9716 3 года назад
But is the Code proud of you?
@mohamodzclipzzofc5184
@mohamodzclipzzofc5184 5 месяцев назад
​@@aleisterlavey9716Is the proud code of itself?
@Wanttoknowabout
@Wanttoknowabout 4 года назад
Merry Christmas Ben!
@cavemanthog
@cavemanthog 4 года назад
2nded, Merry Christmas Ben and everyone!
@shayorshayorshayor
@shayorshayorshayor 4 года назад
Ben Skywalker
@lucasbune
@lucasbune 4 года назад
Fantastic stuff. I've graduated uni as an electrical engineer, but most of this low-level stuff was glossed over even in the digital hardware courses. These video's don't really teach me much new material per say, but what it does teach fills in the holew and gives me a lot of those "Ah hah!" and "Eureka!" moment where all the things just click into place and really deepens the understanding of how these systems work and are build up physically. With this series specifically, i've had flashbacks to the very first embedded programming course in second semster, where we hooked an LCD up to an arduino programmed with AtmelStudio to say "Hello, world!". Never understood exactly how the ports on the ATmega were addressed and accessed by the core of the microprocessor, until now. Good stuff. Merry chrismas Ben :)
@alexlovett1991
@alexlovett1991 3 года назад
You’ve really summed up how I feel watching this. I graduated (MEng, EEE) 7 years ago, assembly was done in first year before quickly moving onto c. I remember assembly, I remember being taught about how microprocessors work (I scored well on this stuff and software in general), but these videos just make it seem so much easier.
@TheAcidicMolotov
@TheAcidicMolotov 3 года назад
@@alexlovett1991 how is your career if you do not mind me asking. I am studying EE and am wondering how easy getting a job was. I have knowledge with programming in multiple languages, hoping that could help me.
@alexlovett1991
@alexlovett1991 3 года назад
@@TheAcidicMolotov I don't know about where you are, but in the UK being an EEE you shouldn't have a problem at all getting a job. Get your profile on linkedin and you should get recruiters messaging you. That's how I got my first job. After 6 months working I basically had recruiters contacting me daily (which is common for other software engineers I know). I'd be wary about using the phrase 'i know language x' it's best to be honest and say 'I've got n experience in x language' where n could be little, a reasonable amount, a lot etc. If you claim to 'know' a programming language interviewers might have a high expectation for the depth of knowledge. I've been doing java for 8 years, I think I've got a very good knowledge of it, but I'm also aware there's a lot I still don't know about it and if asked by someone about those topics I'd have to answer 'i don't know' It's also really worth getting some projects on GitHub or another public repo that you can add in on your CV. Just having done multiple projects on your own time really helps show enthusiasm.
@TheAcidicMolotov
@TheAcidicMolotov 3 года назад
@@alexlovett1991 thanks for the answers!
@vaendryl
@vaendryl 4 года назад
even a vid like this that's almost half an hour long feels like it's too short :S
@Tangobaldy
@Tangobaldy 4 года назад
Lol I slow video down so I can understand what he says
@MaxPicAxe
@MaxPicAxe 4 года назад
Yeah, even when I slow it down to 1.25x speed
@vaendryl
@vaendryl 4 года назад
@@MaxPicAxe that's faster lol
@ChandrapalSd
@ChandrapalSd 4 года назад
@@vaendryl No , he slows down the time
@karakamen
@karakamen 4 года назад
Holly shit! It's been half an hour?!
@CODMarioWarfare
@CODMarioWarfare 4 года назад
When your boss measures productivity by number of lines of code
@ryannorthup3148
@ryannorthup3148 4 года назад
"Nothing is on fire." Wow, surprised by that. Usually at least ONE thing smokes out in a programmer video.
@electronichaircut8801
@electronichaircut8801 3 года назад
Electroboom disapproves
@norsk54472
@norsk54472 3 года назад
software runs on smoke......let the smoke out, it doesn't run again more
@fh8i1
@fh8i1 2 года назад
Duh really 🤣
@williamdavies1316
@williamdavies1316 4 года назад
the best christmas present
@angeloc1340
@angeloc1340 4 года назад
I got the ELEGOO UNO R3 Project Most Complete Starter Kit But I still haven’t gotten very far in figuring anything out that’s why I’m watching a bunch of videos but I’m still confused as heck
@runo8
@runo8 4 года назад
I got that same kit for Christmas too! I’ve had a little experience with electronics but nothing crazy, made some cool little projects like a joystick controlled LED grid or a sound controlled motor
@angeloc1340
@angeloc1340 4 года назад
I tried to do even the simple stuff but couldn’t figure anything out
@runo8
@runo8 4 года назад
Go on their website and download the PDF that they give for your specific kit. From there, read the first four lessons and if you need help finding the right parts, look at the little guide they put on the top of the parts box
@pdrg
@pdrg 4 года назад
26:00 - when you're paid by the line
@dustybrown4599
@dustybrown4599 4 года назад
Don't tell me programmers can get paid per line. Omg I'm starting to think I could do this job. I just need a partner to debug it all.
@jonyw8851
@jonyw8851 3 года назад
@@dustybrown4599 if you can't debug it yourself, you can't code.
@KingJellyfishII
@KingJellyfishII 4 года назад
You know what's worse than 177 lines for a hello world? 1k lines for a hello world. I wrote an OS and by the time I'd got the keyboard and video drivers working + bootloader + a bunch of other stuff it came out to be ~1100 lines of C and assembly.
@KingJellyfishII
@KingJellyfishII 4 года назад
@defunctusername haha yeah that's true.
@EDLEXUS
@EDLEXUS 4 года назад
You had way to much time...
@KingJellyfishII
@KingJellyfishII 4 года назад
@@EDLEXUS yep. I was on a few long haul flights...
@brendonholder2522
@brendonholder2522 4 года назад
Wow! What discipline do you study? I am student for my bachelor of science in Electrical Engineering but I’m also interested in computer science and native level coding
@letsgocamping88
@letsgocamping88 4 года назад
1024 hope the WiFi was good for all those trips to stack exchange
@Neceros
@Neceros 3 года назад
I love this sort of computing. It reminds me of my childhood in the 80s. Assembly code is fascinating to me, even if I'll never have a reason to use it. I would have loved to be involved in NES or SNES, trying to use all of the registers and bits as efficiently and creatively as I could have. The wild west of games.
@blar2112
@blar2112 4 года назад
The chip in the LCD display is more powerful than the computer you made, isn it?
@jasonlee3247
@jasonlee3247 4 года назад
Lucas Viñas really?
@hayjaydee873
@hayjaydee873 4 года назад
RIP Chuck Peddle 20.12.19 ~ developer of the 6502
@JacGoudsmit
@JacGoudsmit 4 года назад
I know where you're going, but it might be fun to connect the R/!W, RS and E line directly to the 6502 in the future (with a simple address decoder of course). That would make it possible to just say Hello World by writing the command bytes to one address and the message characters to another address, without the hassle of toggling the control bits in the program.
@TEBLify
@TEBLify 4 года назад
If I understood the display datasheet correctly, which in part is just gibberish to me so there's that... the display can run as fast as 350KHz on the slowest functions, so even 1Mhz might be pushing it. With components rated at 14Mhz I think the VIA ends up the easiest option, especially if you need to read from the LCD.
@davethedaemon9024
@davethedaemon9024 4 года назад
I'm a little late to the party, but in case anyone is interested ... I did this and so far it works! And yes, it was fun to do! The E line needs a NOR gate with one input to an address select line (active low - I used a 74ls138 as the address decoder) and the other input to PHI1out. I connected the RS line to A0. Right now, I can't test higher than 165Khz. I need to un-spaghettify my clock module first. The spec sheet says "... high speed MPU bus interface - 2 MHz (when VCC = 5V)". And there should be a way to generate wait states for higher CPU clocks.
@davethedaemon9024
@davethedaemon9024 4 года назад
Here's an update. I'm able to directly access the display on the 6502 bus at 1Mhz clock. No 65C22 VIA needed.
@Stoney3K
@Stoney3K 3 года назад
You could slap it directly on the bus in this arrangement, but it would interfere with other stuff you *may* want to attach to that bus later on. The CIA/VIA should be your interface to any peripherals.
@matthiasfuchs1299
@matthiasfuchs1299 Год назад
That's how it should be done. For higher clocks you need to check the busy flag on DB7 before accessing the next register.
@Aeroshogun
@Aeroshogun 4 года назад
Thank you Benjamin! These videos encourage and motivate me to improve my knowledge of electronics and pursue my business desire/passion to become a hardware manufacturer!
@davidanon2742
@davidanon2742 4 года назад
thanks Ben
@markjones5973
@markjones5973 4 года назад
Next video is probably one I would have thought you'd do a while back: Add a RAM chip so you can have a stack, and put most of that code into subroutines.
@RemcovanZuijlen
@RemcovanZuijlen 4 года назад
I was thinking the same, why not using subroutines? But then I realized it needed a stack and therefore RAM :) well, he still has 32k unused address space. I like where this is leading to.
@urugulu1656
@urugulu1656 4 года назад
oh thats why hes not using those... though you not really need a stack or ram to do that ... just store your program counter in a free register (i guess there is a b-register or something) then do all your subroutine-ey stuff and write the program counter back in software?!
@RemcovanZuijlen
@RemcovanZuijlen 4 года назад
urugulu true. Though I am not sure if JSR/RTS could work like that. I should read up on it. My assumption is that it needs a block of 256 bytes at address $0100 it can read/write for the stack.
@markjones5973
@markjones5973 4 года назад
@@urugulu1656 Nope. 6502 has three 8-bit registers: A, X, and Y. A subroutine like one to display a string would need to make use of A and at least one of X and Y. And, to get to the program counter, you would need to jump to a subroutine and pull it off the stack anyway.
@stamasd8500
@stamasd8500 4 года назад
Too bad they never made the 6532 chip in a static CMOS version. If there had been one, it could have been used in this project instead of the 65C22 and it would provide the same 2 8-bit I/O ports, plus 128bytes of RAM which would be enough for a stack (plus a bonus timer). This way the number of components could be minimized by avoiding using a separate RAM chip. It's still doable to use a NMOS 6532, but you won't be able to stop the clock or run it slowly because that's not a static chip.
@Snavenport
@Snavenport 4 года назад
Literally the best Christmas present :)
@fingersmcoy
@fingersmcoy 4 года назад
I have learned so much more from Ben than I did in college. Maybe it is because I am older and wiser, but I think it is because Ben is an amazing teacher. If you read this Ben, please dont ever stop teaching on youtube.
@angst_
@angst_ 4 года назад
You could stick a ribbon/strip of plastic under the eeprom chip to give it "handles" to pull it up evenly. or Snap the chip into a sacrificial socket and pry that out each time. Might prolong the life of the chip. or Even use a programming jumper cable that jacks into the breadboard? just a thought. I held my breath every time you popped it out!
@DRSDavidSoft
@DRSDavidSoft 4 года назад
Seeing this really makes me appreciate the In-System Programmer and the bootloader on my Arduino!
@the_jcbone
@the_jcbone 4 года назад
Joshua Bryant put a zif socket on the breadboard.
@johnnywolinski8639
@johnnywolinski8639 4 года назад
@@the_jcbone i'll do this so i can stop having to reball my 74181
@the_jcbone
@the_jcbone 4 года назад
johnny wolinski I meant Ben. :-)
@veiledAutonym
@veiledAutonym 4 года назад
There's also "chip pullers", specific tools for that; tweezers meant to pull chips evenly on each side. Your plan is a great workaround if you don't have the tools though!
@MrEdrftgyuji
@MrEdrftgyuji 4 года назад
Could you connect the LCD directly to the 6502 bus rather than the IO controller? Or is the CPU clock too fast to allow this?
@fathomisticfantasy2681
@fathomisticfantasy2681 4 года назад
I find it to be a very special gift that you would upload on Christmas Eve. The Tech DIY community is very lucky to have you. I got your main kit under the Christmas tree with a signal generator. As a college student I find this community to be very important in my life. I hope you had a Marry Christmas Ben and God bless you and your family.
@TobiasTimpe
@TobiasTimpe 4 года назад
Wow, thank you for this Christmas present :)
@TheanHooYew
@TheanHooYew 4 года назад
Played with a 6502-based Heathkit during my college days over 30 years ago. Would have been way more interesting if we had someone like Mr. Eater as our lecturer.
@salihefee
@salihefee 9 месяцев назад
your youtube account is older than me...
@RedHair651
@RedHair651 7 месяцев назад
The ironic part is that academia failed Ben Eater and he dislikes it for it.
@jimidante
@jimidante 4 года назад
Nothing is on fire that is also good 😂
@KuraIthys
@KuraIthys 4 года назад
I love the fact you're selling kits on your site. Not likely to get the 6502 one. But the variable timer seems very useful. And I need a programmer - last time I tried to get one all I got was a usb cable. XD
@OrangeC7
@OrangeC7 4 года назад
Man that sucks you tried hiring a programmer and all that showed up was some random usb cable
@EagleZH23
@EagleZH23 4 года назад
I recently got interested in electronics and embedded systems, and I just wanna binge watch all the videos in your channel!
@awesomefacepalm
@awesomefacepalm 4 года назад
Great interest! I'm doing computer engineering on embedded right now at uni. Jobs are guaranteed and the work is real fun!
@EagleZH23
@EagleZH23 4 года назад
@@awesomefacepalm I am actually an electronics engineer student, only figured out my interest a while back xD
@awesomefacepalm
@awesomefacepalm 4 года назад
@@EagleZH23 great!
@alexchitic8816
@alexchitic8816 4 года назад
Instead of manualy reseting the 65c02, why not use a 555 timer to hold the reset line for about 1 or 2 seconds?
@willsharp9809
@willsharp9809 4 года назад
Why do you do a bitwise OR with the Register Select bit and the Enable bit? Won't the Register Select bit already be 1 during that operation? Edit:. Never mind I understand, didn't realize the Enable bit would turn the Register Select bit off. Love your videos, Cheers
@renakunisaki
@renakunisaki 4 года назад
LDA is replacing the value of A, so you need it to be RS, then both RS and E, then only RS again. Likewise, STA is setting all 8 bits of the output to the value of A.
@davidmcgill1000
@davidmcgill1000 4 года назад
Should be able to load the data into X or Y and do binary math on A to improve the code.
@Tangobaldy
@Tangobaldy 4 года назад
I'm still here playing video back at 0.75 speed. Is it really only me that thinks your voice is sped up in editing? I have asked a few times. Your content is awesome but it's hard for me to understand as I think I need a 90% speed reduction. You sure some setting not wrong on your end? I'm not trying to be rude here if you actually speak naturally that way when I say you speak way to fast for a normal chat in your videos.
@vq502
@vq502 Год назад
His instruction / documentation reading skills are legendary
@RedHair651
@RedHair651 7 месяцев назад
This. I'm fully dependent on stack overflow and ChatGPT and this guy is doing wonders with immutable and finite paper.
@TimothyChapman
@TimothyChapman 4 года назад
Great video as usual. Also, I think I'll try putting your 8-bit breadboard computer on an FPGA now that I have one.
@Mr-Adamsky
@Mr-Adamsky 4 года назад
Ben you must release this series faster because I’m starting my assembly course next semester as a part of my Electrical engineering program ;). Great video as always!
@chainedlupine
@chainedlupine 4 года назад
RIP, Chuck Peddle.
@mrcobalt124
@mrcobalt124 4 года назад
Hmm to make the code easier to read and more efficient (spacewise at least), you can just make a new label that takes data input (either from memory or from a register), and then prints it on the screen. .printc: ; print code ; set a to "H" jmp .printc ; etc And then you can make a loop that iterates over some memory and passes it to printc And you can define a string in memory to be read by the loop I know in nasm you would use db but probably not in vasm
@SimonBuchanNz
@SimonBuchanNz 4 года назад
to iterate you need a register to put the index/address in, which is presumably the "extra hardware" Ben is talking about.
@SimonBuchanNz
@SimonBuchanNz 4 года назад
worse, there isn't anything you can put at the end of .printc, without a stack, which needs RAM, which could also be what he's referring to (but that needs a stack pointer, which is another register anyways)
@artit91
@artit91 4 года назад
Simon Buchan he has registers it's part of the cpu but he has no stack currently so if the sp changes nothing really happens so he can't call procedures
@mrcobalt124
@mrcobalt124 4 года назад
Doesn't he already have the ram chip and ROM chip mapped to different parts of memory? Or do I just not pay enough attention lol
@SimonBuchanNz
@SimonBuchanNz 4 года назад
@@mrcobalt124 ROM only, even if it's programmable, and a two byte IO buffer.
@monkey_see_monkey_do
@monkey_see_monkey_do 3 года назад
It's 04:30 am and I still can't get asleep because the videos are so addicting! For instance I had no idea of how strong the assembly program depends on the actual hardware setup. Emulating a certain device is relatively simple but all these interactions between devices via the specific interfaces is something a had a huge gap in. I mean this assembly code to print a single letter on a lcd literally involves writing an lcd driver (I mean controlling lcd's behavior) and this is so cool! Ben, are you aware if anyone actually made an emulator of your computer? I already want to write my own! THANK YOU FOR THIS AMAZING SERIES!
@toddp6104
@toddp6104 4 года назад
Great that your keeping old school programming alive, using the KISS principle Keep It Simple Stupid😀 Love your work👊👍 You Rock👊👍
@andymok7945
@andymok7945 2 года назад
Wow, very retro. I played with the 6502 & 65C802 CPU back in the 80's I built a logic analyzer based the 65C802. I used two 2x40 LCD panels for UI. All written assembler. The project was done on S100 prototyping boards using wirewrap method. It was lots of fun. Later on I was using the Intel 8031 family of controllers.
@zypherDNK
@zypherDNK 4 года назад
@BenEater Merry Christmas thank you for the video! :)
@neilcecchini146
@neilcecchini146 4 года назад
Wouldn't it be better to use address decoding logic for enable, and hook the register select to the address LSB, and R/W directly to the CPU's? Or is there a caveat I'm missing? (Great series, by the way!)
@SordidEuphemism
@SordidEuphemism 4 года назад
Thank you for another year of learning! This series has taught me more than I ever learned in formal classes. Have a safe and warm holiday!
@hack45993
@hack45993 4 года назад
Hey man can you stop eating all the Bens of the world? They're running out.
@moriambar6533
@moriambar6533 4 года назад
Well that was an unexpected, early and really wonderful christmas gift. Thanks Ben!
@AiOinc1
@AiOinc1 4 года назад
I was confused when you said more hardware, but I realized you were going to add RAM so you could use the stack / zero page. You could have made it more efficient without that, using the index registers to iterate through your initialization instructions and eventually the message, but I suppose RAM is a good next step anyways...
@TcG4mer
@TcG4mer 4 года назад
I would love to see you use the video card you made and make an audio card to use with the 6502 computer. Also love your videos, they have been an enourmous inspiration in my journey in learning digital eletronics, thank you for sharing your work with us!
@lennonmclean
@lennonmclean 3 года назад
heres something that you could do to upgrade the computer: connect the LCD directly to the system bus! Have some address decode logic set the enable pin, connect RS to address pin 0, connect RW to the system read-write pin, and connect the data pins to the data bus! In fact, that was the intended usage method for the module. It also frees up IO for other purposes.
@wiktoreriksson4566
@wiktoreriksson4566 2 года назад
RS you could hook to AB0, so address $xx00 would be an instruction and $xx01 would be a text character
@among-us-99999
@among-us-99999 4 года назад
I would love to see some proof-of-concept coprocessor stuff in your explanation/building style!
@DIPper352
@DIPper352 10 месяцев назад
As someone coming from Arduino It's amazing to see this in detail How the LCD actually works Instead of importing some library
@Darkness2179
@Darkness2179 Год назад
I'm learning so much. Holy cow. As a budding programmer, I have nothing but praise and appreciation for the free education this channel is providing. Thank you.
@bestredditstories1158
@bestredditstories1158 Год назад
Same
@MrDazzlerdarren
@MrDazzlerdarren 4 года назад
4:52 "The lines that we fucked up" ....? I misheard that! :-D
@lexibigcheese
@lexibigcheese 4 года назад
Lads, he's getting ram and making a stack (and maybe ram in the zeropage for pointers and stuff!)
@mheermance
@mheermance 4 года назад
If your clock rate is only a MHz or two, you don't need a 65C22 to interface one. Instead hook it up directly to the 6502 data bus, and use address decoding to memory map it.
@kimbring2727
@kimbring2727 2 года назад
Yeah, I finally write the HelloWorld to my LCD. Thank you again for your instruction.
@ndookie
@ndookie 4 года назад
What a nice Christmas gift!
@damisimsanii544
@damisimsanii544 4 года назад
YES VERY TRUE
@HelloKittyFanMan..
@HelloKittyFanMan.. 4 года назад
I would like to have seen you just start the LCD off as a direct replacement of the LEDs, other than the extra pins you need to make it run (like "enable"), before changing your program up, to see what that would have looked like. It would also be a bit interesting to see you have just a raw LCD that replaced the LEDs, meaning that you would have to code for each pixel manually... like you did with the LEDs.
@rikschaaf
@rikschaaf 4 года назад
Are you going to optimize the code using a loop or using a function?
@onedeadsaint
@onedeadsaint 4 года назад
if you watch to the end he says he's doing that in the next video.
@bluerizlagirl
@bluerizlagirl 4 года назад
There aren't really "functions" on the 6502! There is JSR (Jump to Subroutine), which stores a copy of the program counter on the stack and jumps to the address supplied; and there is RTS (ReTurn from Subroutine), which reads an address off the top of the stack and jumps to there. You can JSR to somewhere in memory, do a bunch of instructions and then RTS back to where you came from. Just to make it interesting, the PC is actually pointing to the last byte of the JSR instruction, which is the high byte of the address, when it gets copied onto the stack. But when that address gets copied back into the PC, the PC gets increased anyway at the end of every instruction, even RTS; so it's then correctly pointing to the (first byte of the) next instruction after the JSR. So what you might do is have a subroutine that pushes a copy of A onto the stack, and writes it to PORTB; then sets RS, R/W and toggles E on and off, trashing the original value of A; and lastly pulls A back off the top of the stack and does an RTS. Then we can just LDA with the character code and use a single JSR instruction to send it to the LCD module. And that's easily turned into a loop, using the X or Y index register. But first we need some RAM to implement a stack!
@ezrakornfeld8436
@ezrakornfeld8436 2 года назад
You could use 4 bit mode and use the other 4 bits on the port for the 3 control lines and the a or k of the backlight so it is software controlled.
@bluerizlagirl
@bluerizlagirl 4 года назад
Why didn't you write a JSR/RTS routine for sending an instruction, and another one for sending a character?
@bluerizlagirl
@bluerizlagirl 4 года назад
Oh, never mind. There's no RAM yet, so you have no stack .....
@BenEater
@BenEater 4 года назад
@@bluerizlagirl Shhh! Spoilers for the next video :)
@Loundre3
@Loundre3 4 года назад
@@BenEater Best spoiler possible. Cannot wait for the next video :-)
@wich1
@wich1 4 года назад
bluerizlagirl I wouldn’t even use subroutines, just create two macros for send instruction and data, use the instruction macro 3 times and loop over a string to send the actual message. No RAM needed, no subroutines needed.
@bluerizlagirl
@bluerizlagirl 4 года назад
@oH well,lord! A macro is just a block of code you can insert over and over again. Instead of copying and pasting, you define a macro consisting of the code you want to copy and insert that wherever you want to paste it. The computer then copies it and pastes it for you, possibly even making substitutions.
@DavidRTribble
@DavidRTribble 3 года назад
2:00 "And nothing's on fire, so that's good." I.e., it passed the smoke test. Spoken like a true electrical engineer.
@ownpj
@ownpj 4 года назад
Why not use the 6522 handshake pins for toggling the E pin automatically?
@aarons7975
@aarons7975 Год назад
I wish I seen this video 40 years ago when I had my apple IIe (which STILL works to this day !) I could have done more with it than play lode runner and hard hat mac
@mekafinchi
@mekafinchi 4 года назад
As a programmer, watching you copy-paste code that should every obviously be a function was excruciatingly painful to watch
@dreamyrhodes
@dreamyrhodes 4 года назад
But you do realize, that he like wants to explain how the display works and not how you write asm? He wants to show us, which bits go where.
@haraberu
@haraberu 4 года назад
I thought the same thing at first... But you can't JSR (function call) without a stack to put the return address. Which means you need a RAM chip at address 0x0100-0x01FF.
@mekafinchi
@mekafinchi 4 года назад
H x That’s something I was unaware of, thank you!
@mekafinchi
@mekafinchi 4 года назад
Supertyp Yes, I am well aware of that. But supposing he was able to use JSR as H x had mentioned, he would still have to implement a part involving those bits, and still have to go into detail. A function would still have to set those bits up, and any way he wrote the code would enable such explanations.
@dreamyrhodes
@dreamyrhodes 4 года назад
@@mekafinchi He says he's doing that in the next video.
@bobasrty_8502
@bobasrty_8502 4 года назад
what if you put in a ps/2 or other keyboard port in and make a simple typing program?
@sofi7509
@sofi7509 4 года назад
Anybody else had to watch this at 0.75 speed?
@Aragubas
@Aragubas 4 года назад
why
@mariuzpl
@mariuzpl 4 года назад
I have to watch at 2x because of my family at christmas dinner
@ukaszMarianszki
@ukaszMarianszki 4 года назад
No
@Lennyp4
@Lennyp4 Год назад
funny how sometimes we specify that a resistor is ‘current limiting’ like tf else a resistor gonna do?? is it gonna raise the current ????
@atharvavaidya9245
@atharvavaidya9245 4 года назад
I've never clicked on a notification faster
@MrPassy4u
@MrPassy4u Год назад
RTFM! This is the perfect and most satisfying example. Binge watching from when coming home today, and exited how many episodes come. Hello world
@j_white9
@j_white9 4 года назад
Very good video. I am surprised it works without programming delays in between the LCD control commands.
@kallewirsch2263
@kallewirsch2263 4 года назад
Look at the speed in which the characters appear. I haven't watch the preceding videos right now, but I would be very surprised if he clocked this CPU with more then 10Hz. :-) That's why he doesn't need delays right now, but of course he will need them once he increases the CPU frequency. But: Even Rom was not built on one day. This is one problem in education. There is only so much information you can put in one lesson before it goes over the head of the student.
@edgeeffect
@edgeeffect 4 года назад
This is good work you're doing here, Ben. A lot of the time (for example AVRfreaks is particularly terrible here) people online will tell you that assembly language is awful and you must be just plain stupid to consider using it. Personally,I find for a lot of hardware fiddling that assembly is far easier than high level language. And here you're not only asserting that.... you're proving it. Keep up The Great Work.
@kaitlyn__L
@kaitlyn__L Год назад
Exactly. To get more abstracted languages to just allow you to toggle various bus lines requires all sorts of scaffolding.
@sjair6526
@sjair6526 9 месяцев назад
Getting VASM to work on my windows computer was a steep learning curve for a computer novice like myself. I was able to get it to work although I’m not sure I’m using it correctly. What’s amazing is how many clock cycles it takes just to get an “H” to print on the screen. How we have gone from this to virtual reality is truly amazing! Great video!!
@garrettgold
@garrettgold Месяц назад
I agree with this entire comment.
@DaxtonAnderson
@DaxtonAnderson 4 года назад
hehe I see you used my recommendation of speeding up your audio in post by 1.25 ;)
@iainmacneill2985
@iainmacneill2985 4 года назад
I would love to see an instructional video on how you cut the jumper wires so precisely. Great videos! Just ordered your 6501 kit.
@AleifrLeifrson
@AleifrLeifrson Год назад
I'm really curious how this would look with C++. Is it possible to build C++ code to a binary file that can be loaded onto the ROM chip?
@flleaf
@flleaf Год назад
yes it is. but i think it's more common to use C for that and you also might want to find the appropriate compiler for that
@Anthony-ym6iz
@Anthony-ym6iz 4 года назад
Happy Christmas mate from a big fan in the UK!! Thanks for all your amazing work!!!
@UlfFormynder
@UlfFormynder 3 года назад
Everyone: It takes a lot of lines to write a Hello World program in Java Ben: Hold my beer...
@annafibteda149
@annafibteda149 4 года назад
Wow man hats off to u love your videos 👍👍👍👍👏👏👏👏
@cryzz0n
@cryzz0n 2 года назад
I find it to be a very special gift that you would upload on Christmas Eve. The Tech DIY community is very lucky to have you. I got your main kit under the Christmas tree with a signal generator. As a college student I find this community to be very important in my life. I hope you had a Marry Christmas Ben and God bless you and your family.
@Spectamin
@Spectamin 4 года назад
What if we make a code in computer and also make hardware which can send binary data from computer to our microcontrollers
Далее
What is a stack and how does it work? - 6502 part 5
24:25
Why build an entire computer on breadboards?
28:43
Просмотров 3,1 млн
Inside Out 2: BABY JOY VS SHIN SONIC 4
00:16
Просмотров 4,6 млн
The 6502 CPU Powered a Whole Generation!
25:17
Просмотров 495 тыс.
How a Character LCD works Part 1
13:59
Просмотров 1,2 млн
Hacking a weird TV censoring device
20:59
Просмотров 3,1 млн
6 Horribly Common PCB Design Mistakes
10:40
Просмотров 202 тыс.
The world's worst video card?
32:47
Просмотров 6 млн
I Designed My Own 16-bit CPU
15:46
Просмотров 2 млн
CPU vs GPU vs TPU vs DPU vs QPU
8:25
Просмотров 1,8 млн
Keyboard interface hardware
28:27
Просмотров 325 тыс.