how did I ever think this was worth the time
SEE THE LONGER EXPLANATION: • BONUS: How I built my ...
PATREON: / jdah
OTHER VIDEOS ON THE JDH-8:
* GRAPHICS: • I built my own graphic...
* DESIGN: • I designed my own 8-bi...
CODE: github.com/jdah/jdh-8
EDITOR: NeoVim
VIMRC: gist.github.com/jdah/4b4d98c2...
THEME: gruvbox
CIRCUIT DESIGNER: Logisim-Evolution (github.com/logisim-evolution/...)
RESOURCES:
The Elements of Computing Systems by Noam Nisan and Shimon Schocken
@BenEater 's Channel: / eaterbc
@Esperantanaso 's DUO Adept: • An 8-Bit TTL CPU + GPU
PC builders when they realize their cpu is pre-built
Lol
the breadboard and integrated chips are pre built. sorry
@@MaxCE dont tempt him
@@sequencental3240 next video: Building a computer from scratch using nothing but transistors and wires
@MaxCE cut down a tree and make bread boards from the wood
Watch him heat large amounts of quartz sand to produce his own silicon.
Watch him doing the studies to create a new universe
Silicon, No O
no no no you need to use trichlorosilane to deposit thin layers of pure silicon onto some matirel
Sounds like a good excuse to collab with someone like NileRed or Cody'sLab!
silicone is the rubbery material breast implants are made from. Silicon is a chemical element that integrated circuits are built upon using chemical baths, lithography, and etching.
4. The ALU could have been replaced by a single chip My guy, the entire computer can be replaced by a single chip. I think, implementing the ALU yourself is a big part of the achievement and fun.
That was my thought!
But were is the fun in that?
@@brostenen In implementing everything yourself? Well if you didn't find that fun, you wouldn't build a bread board computer in the first place! One of the main components of a basic pc is the alu. It just makes sense to build it yourself imo.
@@barmetler Exactly as I say. Integrating chips in one chip, removes the fun.
@@barmetler But you can do all of that... the ALU, registers, hardware AND microcode instruction decode... all of it in an FPGA. All of your learning and accomplishments will be just as valid, except for the "joys" of physical breadboarding. I did wirewrapped prototype computer boards back in the Bad Old Days and I'd rather not do it again. Praise be to today's Asian PCB houses and to programmable logic ICs.
The complexity of this project really puts how unbelievably amazing everyday computers are in to perspective.
Now let's talk about the PCI interface and networking...
And to think the brain of the computer is made of sand
There are only two more ways I see to go lower-level: Using pure transistors and then making transistors.
A colab with that dude making in house ics would be cool
First we should use premade transistors then we'll see about making transistors from sand 😂
dont give him any ideas
I feel like going from TTL logic chips to transistors themselves, isn't too big a leap; on the other hand, you need a whole industrial setup to make transistors.
Damn. I was about to say that. I really, really want to see him take this as far as physically possible... Although he should really do them on a small scale, like a video about making a logic gate as proof of concept and a video about making a transistor
Bet if he got to an interview and showed his projects, they would still say "that's cool, but can you reverse this binary tree?"
"No, but I can simulate your ass in my handmade Opengl rendering engine"
@@Nick-lx4fo you mean in his own graphics library running on a breadboard gpu?
Heavy breathing
@@amp08021 in a Minecraft clone made with his own game engine
Can you invert this binary tree? I've coded threaded red-black binary trees from scratch. But can you invert this binary tree? I designed your CPU and graphics card. So you can't invert this binary tree? Yes, I can invert this binary tree. PROVE IT, BUCKO! Okay, which language? You choose. Siri. Ok, go ahead. "Computer? Hello, computer? Invert this binary tree."
I remember my brother built a binary/octal/decimal/hexadecimal converting computer using ic’s hand wrapped on perf board when he was an 8th grader because he got into an argument with his math teacher over letters being numbers (hex) and not just as a variable. It took him a week to design, and 2-months to build, he took 2nd place at the regional science fair (losing to a bubble memory demo the kid’s dad brought in from his work) My brother used switches to cycle through the modes and lamps to show the converted binary and red digital displays for the hex numbers. There was a keypad to enter the base 10 number to convert. The 80’s were a great time to be a kid. I thought it was cool.
haha what an achievement "yeah I came second at the regional science fair because i made a computer that was only 20 years behind its time all from scratch without any prebuilt items to prove some year 8 maths to my maths teacher"
@@bimbirobotics1050 mald, cope, seethe, cry more
Reminds me of Doofenshmirtz losing at the science fair to a baking soda vinegar volcano
Your brother is dunning kruger
@@robowaifutechnician He built an ic in the 80s and he is Dunning Kruger?
Congratz :D And on learning from the not so great design choices. I'd love to see you build a sound card on the breadboards next as in like the 8 bit sound chips, but in discrete logic/component form. Would prob be complicated, but I haven't seen anyone do it before.
Man went from having programmers as main audience to having electrical engineers as main audience
More like computer engineers
@@martiananomaly both
This is making me become a computer engineer on accident
@@martiananomaly apparently computer engineers completely skip analog electronics.... which is a shame because that's where the pain is.
@@cpK054L thats not true at all... most of my undergrad in comp e has been more analog than digital
I'm impressed you can keep track of anything through that jungle of wires. And that you managed to connect everything without wires jumping out and loose connections and everything. But honestly, I'm impressed you made this work. Good job.
| without wires jumping out and loose connections and everything no, no, there were plenty of those. more hours spent finding them than I want to count 🥲
@@jdh So for your next project you'll go with wire wrapping, right? :)
@@jdh Good for u to stick with it then! This final result is INSANE.
Would make a great video if his mom changed 2 wires...so we can watch him find out which 2 they are in a 8 hour video 🤣
@@tiqo8549 you magnificent sadist. 😂
hey jdh ive been here since around 5-10k and you're a huge inspiration to me. thanks so much for posing, stay safe!
We built breadboard computers like this in high school (mid-80's). We were put into groups of 3-4 people, given the schematic, BOM and told to go build it. The design used a 74181 as the brains. We didn't have a display and all we had for output were LEDs and 7-segment displays. LCD? LOL. FWIW this was a few years before VGA was even a thing. I don't think any group actually got the whole thing to work but some groups got some sub-systems to work.
Congratulations! And special congratulations for your poor design decisions. Doing the wrong thing, and then realizing why it was wrong is the one of the most important elements of projects like this.
:O Hey, thanks! It really means a lot from you - the Magic-1 was a big inspiration for this project, I remember watching your videos on it a lot when I was younger and visiting your website and all.
The legend himself. @Bill, have you considered coming to any of the VCF this year? I know that you were planning to last year but I believe it was canceled.
@@Roanokekidstech I retired and moved to Oregon - so if there's ever another VCF (or similar) event) in the Portland/Seattle area, I'll be sure to attend with Magic-1.
Sure I laughed when reading this but great feedback lol 😂
Yes
This seems like one of those 2am video ideas where you completely ignore the difficulty and only focus on how awesome it would be to pull it off. Absolutely insane man. Great job.
And here I am watching it by 01:22
Im watching it by 1:19 LOL
I started something similar a few years ago. I only used ICs when I'd already built the equivalent with transistors - so an IC with 8 AND gates could only be used once I'd built a few AND gates without ICs. Started from limited electronics knowledge and got as far as having a circuit producing the Fibonacci sequence with LEDs displaying memory content. So at that point I had basic memory handling and felt I understood everything I needed to do to get a working computer but gave up at the point of defining an instruction set. The initial aim was to achieve that level of understanding so I wasn't convinced I wanted to keep adding breadboards having achieved my aim. So your collected mass of breadboards brought back memories. I think this is a great thing to have a go at for anyone with enough interest; even if you don't take it all the way.
Such an amazing accomplishment. I bet you learned SO MUCH too!!
Ben Eater be like: well-done comrade
Ben Dover: 😳
@@regularname1825 * finger guns *
Exactly
This one was BIGGER than Uncle Ben's.
nahh he don't even give credit to ben eater. most of his methods follow ben eater. especially on his graphics card vid
Having literally just finished my computer architecture course at university yesterday, it was really nice being able to actually understand some of the things you're talking about in this video lol.
I was thinking about taking a computer architecture course. Do you think it is worth taking?
@@denvercox7675 Definitely. In my case, being a CS major, the class was required, but I would still recommend it even if its not. The final project, at least in my class, was to design a CPU. So you essentially learn how to do exactly what jdh does in this video, minus the real-life building of the computer and the external I/O things like the graphics card. It's really interesting to see how relatively simple computers are when you break them down to their most basic components: just a lot of logic gates.
@Denver Cox Aaaay am finishing one next week. I will say though that whether it's a good course or not will depend *entirely* on your professor and how they teach: mine is an absolute slog. Ask people who took the class at your uni.
@@denvercox7675 depends on your profs and most especially if you like digital electronics z take it only then
Same.
Very impressive endeavor. And the only way to tryly understand and appreciate progress in computing.
Really cool! I wish I had been following the vids as you were making it
I've recommended this channel to friends as someone descending into madness. What started off as low level interest has now resulted in this, a whole ass computer done nearly all by hand.
you should take a look at ben eaters channel.
low-level is right. lol
Jdh is the REAL definition of full stack development
So glad I found this channel Your like the extractions and ire of electrical engineering
Wow. This is amazing man. Great job on this!
Finally we have the jdh-8
If I were you, I would be too damn tempted to create a 3D software rasterizer on that thing. Just imagine having your own self build computer and then run a 3D demo makes me stuff of my wet dreams. But a god damn cool project that you did.
This comment is right below a "can it run crysis" joke for me, and it now has me wondering if it'd be possible to port Doom to this hardware... It's been ported to sillier things before.
@@SolarShado Some legend ported doom to my model of calculator that we use at school!
@@SolarShado my comment is almost not meant as a joke. Like visible on my channel I really enjoy graphics programming, so this is something that I would really enjoy doing. Especially programming with limited ressources is quite satisfying. So it would be really cool to see a Doom port but that's probably not feasible. But who knows?
@@EpicVideoGamer7771 do you have some link to more informations about this? It would be interesting to learn more about this.
@@EpicVideoGamer7771 now port the apollo rocket software
that was awesome bro. i wish i had the time and liberty to try things like this.
my man went from making sort of cool games to being a computer engineer
it's really sad sometimes for me look at the number of comments and asking myself if i would ever get read, and afraid that my contribution is that minor will annoy more than help. But I'm happy telling you, SO THERE YOU WERE BUSY THAT ALL TIME MAN. Missed a lot your great contributions to the community, but you come back with the best of you. I truly love this hand-made with logic parts computer.
You are practicing a lost art, my man! Sure, it's a relatively simple computer, but I imagine a day when, given enough knowledge, one might have enough components available to build a more complex system. Perhaps not quite to the degree of what we have nowadays, in mainstream computing, but certainly something more complex. Great job! You've earned a subscriber.
Such a good intro And great video Good luck 🤞
This is an incredibly impressive thing to see. You clearly put a lot of effort into this, and it's really exiting to see it finished.
Can’t believe you used pre-made integrated circuits instead of individual transistors smh In all seriousness this is amazing
Resistor-Transistor logic at that.
I hoped for tubes. 😀
This is a staggering achievement; you should be proud. Never think it was a waste of your time. You can progress to better design and product manufacture. Great video.
This was a great video, it defintely inspired me to start a big project of my own.
That thing is cool! I can't imagine how many hours you spent on working on that just to make it out put hi on the screen. That must have taken a long time, and probably a lot of debugging to say the least. Really cool that it works and man it looks pretty complex dispite its simple instruction set. I will be checking out the hour long video as well because I'm interested in how this works in more detail then whats shown here. Awesome job on the content and I really enjoy your videos! Honestly it inspires me to do some cool programming and CS videos on my channel. Thanks for the content!
Dude, this is the most impressive thing i have seen on youtube in quite a while. Thank you for this
Great job - nice to see it finally working :-)
First of all amazing work. Similar project was part of our Computer Architecture curriculum, We had to do it in groups of three, within 48 allocated lab hours, over span of two months, the trick is to use single solid core cables, cut them up to desired length and lay them out on breadboard like PCBs. My finger tips just got sore, thinking about all the wire bending i had to do.
Now move the computer to a PCB so it doesn't start failing when you accidentally touch one of the cables :)
I'm so happy because I was awaiting for this video for so long
Thanks for the chill background music. It really helped because this video gave me anxiety.
I'm embarking on a similar project to build a custom CPU, but my first effort will be to build it using an FPGA dev board. I'm still debating on the design and I found your lessons learned very helpful. I've especially wondered about whether to include stack instructions and a stack pointer. I'm leaning toward the simplest instruction set and incorporating macros into the assembly language for things like the stack and subroutine call/return. It will save some logic gates at the expense possibly of a bit of speed.
Wow. You have my respect. I have a similar project.... I'm close to finishing my all transistor and diode based digital clock. And believe me, everything is fun until you have to deal with analog problems in digital circuitry^^.
At 11 minutes when you were going over your regrets about not just using an already built ALU chip it sparked a thought that since you built the ALU from scratch, why not just keep breaking it down until you're building everything from scratch, including your own logic gates. Next video will probably be you gathering sand on the beach then melting it down yourself and forming the silicon into your own chips lmao
He'll need to get in some copper mining too, and mix up some polymers to coat the wires. ;) You laugh, but my money is on this guy for president of the NCR after the US and China blow up the world.
Gathering send and making semiconductor components is totally unnecessary. One can build any digital logic using only NOR or NAND gates. So all he needs is to build these from tubes and resistors. There are channels on YT of ppl building "computers" only with vacuum tubes and resistors.
@@mikicerise6250 You don't need fancy modern synthetic polymers to insulate wires, some old wires use paper as insulation, some use varnishes.
@@inv41id even recycling them from old tech is a great idea.
@@perakojot6524 that would probably be too big of a project, literally
Can’t wait to see the jdh8-asm C compiler!
This was what my first from-scratch computer looked like; the 'mcDonalds arches'; after you've done a few you start trying to lay ther wires in a buss form, along the breadboards... but as a noob, it always becomes this big mess. Problem I ran into, running at any real speed (Mhz+), was the arches seemed to have a capcitance issue against the breadboards, causing all kinds of issues slowing moving around the boards .. like a cloud of trouble :) Using a metal cookie tray underneath seemed to help somehow at the time, but just making PCBs (way easier than I thought at first), with lots of ground plane etc, worked amazingly well. Amazing job, and love the videos!
Also .. what do you do with it now? Convert the schematic to a PCB and populate that, and then you can have it for life; I found with all these giant stacks of breadboards (glued, to actual bread cutting boards, muahuahua), is just a nightmare, and after a couple weeks there'll be all kinds of wires loose or dust in the way or something,a nd it all goes to crap :/ All those arches of wires are hard to store!
Now you need to make the Mouse, Keyboard, and Monitor.
Well. He did it
Back in the day, I was a (to the component) technician on the AN/UYK-7 computers. The most sophisticated IC in the CPU(s) was a quad d-latch. Sub clocking was done by analog delay line. I've always had a thought of doing a project like yours. Thanks for convincing me to skip that project.
Nicely done!
So I've been looking forward to this update for a while now. But I think I speak for everyone when I ask when the production run on the custom GPU will finish? I was planning to buy something from AMD, but given how fast these videos are coming out I'm betting yours will be in stock first :P
The Elements of Computing is one heck of a beast!!!
But it goes one step farther than jdh has, so far - building a high-level language compiler for it. Maybe if jdh doesn't go there, then I, an electrical engineer, might.
Just recently following Ben Eaters 6502 computer build using the said chip, and a couple outher ROM/RAM chips and video controller. This is absolutely the next level. LOVE IT. I just recently purchased 'Turing Logic' from steam, and it is following this very process: build the computer using transistor based logic gates, program in binary, create an assmbler language, write a bare metal 'OS'/game.
Nice work and excellent video. My CPU design has registers: IR, PC, Flags, A, B, M (RAM address), S (one-position "stack"), and index register called X, which is always added to M. Results of math always is placed on the stack. My 16 instructions are: ADD, AND, NOT, OR, SHR (shift right), SUB, XOR, LDA (load A immediate), PSHr, POPr, STA (stores A into M+X), RDM (reads M+X)., JC, JN, JV, JZ. Since any compare is just a subtract that sets the flags and doesn't alter the A register, I don't bother with a compare, I just use the SUB. Addresses are 12 bits. instructions are 16, which is 12-bits plus 4 for the opcode.
"I built my own computer" "Oh, so you bought the individual parts off of amazon and put them together?" "Haha yeah something like that"
This looks exactly like every PC build I've done In terms of wire management that is
I was working in 2000 on a computer system which when I found main box and found all these circuit boards just like you had and a small controller.. it operated the elevator system.. wow, we pulled it out and installed proper system. I still remove all the wires and circute boards, but to be hones it worked.. Downey California u
I fully appreciate and love this So cool dude! I wish there was an ASMR full build montage lol
Montage? Are you nuts? In real time!
@@BrightBlueJimyesss!!! 🎥
JD8CH, missed oppurtunity
i love this guy, he makes me stare at my code in c++ 20, and feel the need to rewrite it in birth c
Holy shit bro! That is DEDICATION! Wow, excellent work 👏🏻
Amazing work! Very interesting! 😅
Wow! This is sick! Can't believe a single person made a smaller computer by hand then the first computers which took up like a room!
Vacuum tubes and then in second generation computers used individual transistors. This is why those generations took so much space. That said, I still concur that what he did was brilliant.
hey! i very very much like to see all your projects and have followed all of your videos with great attention because theyre just great! however, i'd hate to see your minecraft project die, i think its one of the coolest coding projects on youtube, and i would love to see some actual gameplay, wouldnt it also be great if more and more people helped and joined in with the code writing, and having an awesome minecraft remake entierly made in C? in my opinion, its way too awesome not to finish it!
Woah! congrats.- thanks for sharing
Amazing perseverance and patience training. If I had to do something like this, I would have really designed the simplest possible single layer PCB and just soldiered all those components. That wouldn't have taken even the fraction of your effort.
This deserves more views for all your hard work. You should try asking LTT or a similar channel to show it in their video
100% yes
Make it display the Daily Dose of Internet's logo and he'll feature it in a short clip with a link to source.
This dude deserves at least 2M views for that much effort
Me learning the theory of this in COA class this semester and seeing this. Got me excited.
Nice job! I've been wanting to do something like this myself ever since starting my CS degree a few years ago. Maybe some day I'll have the time, but in the meantime, I enjoy seeing others succeed at it. :-)
They aren't going to teach you what you need to know in a CS dept. This is CompE
@@cambrown5777 My university has them both in the same department (with a curmudgeonly acronym). In any case, my degree touched on it at the beginning (we had to work through building and programming a 4-bit computer from discrete transistors (in... not Logisim, but something similar... forget the name at the moment), to understand how digital electronic computation works), but didn't require any high-level classes on computer engineering as such (that would be a different degree, yes). I did take a couple as electives, though. :-) Plus, I have a large amount of books. Maybe too many, but I like to keep learning!
@@derekchristenson5711 Totally respect that. Lot's of schools are EECS, some are ECE depts, with a separate CS dept. I'm sure you're familiar. In addition to the resources JDH gives below, if you are interested in computer eng, a great textbook is Computer Organization and Design, The Hardware/Software Interface by Patterson and Hennessy. We used it in the first real arch class I took at Northwestern for whatever it's worth :) Goes over pipelining, branch prediction, and some other cool stuff that is totally standard practice in modern VLSI at a low but comprehensible level
@@cambrown5777 Indeed! We used that textbook in a couple classes as well, so it's in my library. :-) I believe we used a good chunk of it in "Assembly Language and Computer Organization" and another chunk in "Computer Architecture", IIRC, in addition to another text for the latter. I have not read it cover-to-cover, but I've read a fair bit of it in the course of my studies, and I referred back to it later. We used the original (I think) MIPS version of the text, but I've seen it available using ARM and, more recently, RISC-V as the reference architecture as well. Fascinating stuff. I enjoy knowing how computation works from the Boolean logic, up through digital logic gates, on up through machine code, assembly, high level languages, interface design, and the theory that underlies each level of it all. I won't claim to have mastered it, though! But, I love exploring any areas that still seem opaque to me, and I'm always finding new corners to explore. :-)
Congrats, I hope someone will (regardless of how terrible the design is) turn this into a compact PCB. Great way to start of your merch store ..?
I guess if he wanted, he could sell a parts kit online, it would be relatively simple to design the PCB using free software.
Good content my frend Graf potwierdza
Güzel paylaşıım.Eline sağlık👏👏👏👍
Much respect!
to this guy sleep is just a respawn point, and he's doing a hardcore run
Next video, "I created my own technology with its own rules"
Yo, this thing is awesome!! I hope to build one like it eventually. I'm just getting started with building hardware projects, I've so far only built half of a going to be from model to rc car customization. A wired rc not wireless rc. using breadboards. So far all I've got is you can turn on the turn signals and the motor no wheels yet lol.
Did you do a video of repairing the vertical green line on that monitor? Love the effort you put in here ..crazy
damn we had to make a simple cpu in logisim and then verilog but i never tried to make it irl (it should be really expensive ) but yeah i would try a 32bit in everything because i have some premade maps for mips edit: i want to see you make your own transistors to make a simple chipset
But can it run Doom?
Interesting Question 😂.
Amazing work. I could imagine building a circuit that complex- especially for on breadboards. There nothing worse then building even simple circuits that don't work and then having to trouble shoot it.
I would love to see a rebuild of this with what you have learned , to see how much it would change.
i'm surprised you didn't have any problems with the length an variability of the wires, felt like that could mess something up
I had not thought about that, i suppose he may have measured them before hand. Sort of like building a model ship. I wondered too about electrical changes over the wires. I broke a leg on an IC chip in an old micro and used a sewing needle in place of the leg.
Wire length and capacitance shouldn't be a problem if the clock runs slow enough. As long as the bits have enough time to stabilize, it's all good.
@@JB52520 Thanks, the machines clock was 2Mhz, interesting to know those tolerances can survive a bodge, only being a hobby coder i would not have easily thought that the clock speed was the important factor in the wiring capacitance.
@@m.p.jallan2172 2 Mhz is years in the eyes of electrons
I felt like a massive nerd when I overclocked my PC by my own on trial and error... God I realise now that I greatly understsmated the meaning of nerd
what do i need to study to be able to do the same stuff, love your vids bro keep the amazing work
Nice work man! When will the portable version be available? I'm always on the go :-P
Aw omg on top of the amazing skill, hearing “boys, girls, and enbys” made me feel so good 🥺 keep up the good work!
What‘s enbys?
@@arvid_music it’s a play off of “NB” which stands for Non-Binary!
@@CaptainBones_ thanks you for reply, sorry I'm from India🇮🇳 I don't understand everything, is non-binary something like binary code? I want to learn more about technology and watch a lot of videos like this can you please explain
Jdh is such a underrated content creator.
The closest I came to a breadboarding a project of this magnitude was the design laid out in "The 8088 Project Book" by Robert Grossblatt. This design will, however, instill the fundamentals and mindset of basic microprocessor operational principles. It would be interesting to see an upgrade utilizing programmable logic devices like Lattice Semiconductor pals and gals found on vintage motherboards or CLPD's. This is certainly an ambitious effort nevertheless! Great job!
Hey this is amazing! Have you thought about doing some chip design?
Please make a programming language for this computer then make a game with it.
I was having an argument with my mates the other day about how big a homemade computer would be, they argued it would be as big as a city i argued it wouldn't be bigger than a table, thank you for making this video i can now prove my point to my mates
Actually your friends almost were right. He used a lot of already completed modules, but if he will make a computer fully from 0, it could be as large as an entire room.
Great video, I thought about doing something similar for a German audience, which really goes through all the details from ground up. But frankly the effort is too much for me right now. Respect, that you did that.
this is absolutely amazing! though i'm just curious, what was the video in the intro?
game dev: im gonna make a game with unity! cooler game dev: im gonna make a game with my own engine! coolest game dev: im gonna make a game with my own operating system! god aka jdh: im gonna make a game with my own computer!
We're forgetting templeos
I love Ben Eater's breadboarding style but your wires feel so much more natural, and like the mess of my own breadboards
Ah yes, natural wires like they grow in the wild.
amazing job man🥳 but where did you learn all these stuff from? I am really interested in learning how computer work on a low level but I don't know what courses to watch I will be really grateful if you could provide me with some information 🙂
Now you gotta make it from discreet transistors!
why don't you make a DIY computer on a proto.board (y'know, the PCB-like board with a ton of pads you solder to yourself), or a PCB, next time? or some time? I know Ben Eater's pointed out that there's gonna be a bit different resistances and impedances and whatnot so it would take some work...but still...