I built the 16-bit Hack computer from nand2tetris on breadboards
Вставка
- Опубліковано 19 сер 2024
- After finishing the nand2tetris course 2.5 years ago, I decided to build the Hack computer using real hardware. I mostly used 74 series Logic ICs for that. I needed to make little modification to the CPU itself to use RAM chip with a single data bus (in/out).
I designed the VGA and keyboard controller, and a memory controller as well to allow CPU and IO to access the RAM.
For more explanations, pictures and schematics: hackaday.io/pr...
www.nand2tetris.org
As an electronics Engineer, I have to say, this is a work of art. I would happily hang that on my wall.
Me too, but if it falls you have a problem
@@October-TE Lmao yeah
That would be a waste, it's meant to be used
@@w花b it was meant to be used in 1970s, we're in 2024 now
@@Yilmaz4as an educational project, this is very much meant to be used now
here i am being impressed with myself for making a button do something with js while this guy exists lol
:) True thing lol
Get gud man
It's actually not that hard at least the theory... Watch the nand2tetris course even if you just skim over it's actually pretty cool. There's just a few holes in the Electrical engineering part which I guess is the real challenge here.
let me be honest with u
JS devs like to overcomplicate everything to the point even creating a button seems like an accomplishment
🤣🤣🤣underrated comment......
This is very impressive, but sadly very underrated. People need to watch this masterpiece!
That's brilliant. I'm feeling ... inspired! Seriously nice work.
Fantastic! Such clean wiring too.
This is everything, art, math, science, and most importantly PORN. Absolute masterpiece. I hope I could build one someday.
I admire your creation, I can understand the effort behind it, as I built Ben Eater's computer on the breadboards and the Hack computer on FPGA. Kudos to you!
It's a great CS course! The two lectures would love to see this!
Good work!
That breadboard aesthetic is probably the most sexy thing about this haha
Very cool build!
HOLY CRAP! I was getting around to try it on an old DE1 like 5 years ago but never got around to it! This is so awesome, DUDE! I can't believe this post was from a year ago and I just came across it for the first time today!
This is just beautiful I'm currently on my journey of building a 6502
Wow this is awesome. I finished part 1 of Nand2Tetris earlier this year. Might have to try this out! Thanks! (also got Ben Eater vibes from the wiring like another commenter mentioned)
Hey even I had done that course, it was very good
Incredible achievement. Most impressive breadboard project I've ever seen
If you had done this in the 1980s, you could have become a billionaire.
this man ACTUALLY built his computer
the wire management is absolutely beautiful.
Lots of patience required for this work
That's some Ben Eater level of wiring! Congrats!
ben eater would be proud of that cable management
A pleasure to the eyes.
I expect you have so much fun while doing this.
Fantastic work!
Finally managed to find a bunch of late 90s breadboards that were new. Getting closer to starting a similar build ( 8 bit ) this winter! Still have a bunch of parts to buy, have most it though. Going to start with an 8088, with 1 serial port, keyboard connector, rom dos and video out. Going with romdos due to not having to interface all the glue logic whatnot for storage. Figured MCGA since it'd not so hard (TTL), and dont have to deal with ramdacs. Also going SRAM route, due to it just being way easier and less parts to interface. Might do a small (1-2kb) cpu cache.
I don't know what you said. Seems nice to read
Such a good job that you have done.
The wiring looks amazing and so organize.
Well done!
We need a depth view into this!! it is so amazing!
if i made that, i would be pissed if someone disconnect some or even one wire. Your wiring so neat
Amazing work dude! Great design!
This kind of videos should have views in million
Cool! I did NAND to Tetris on Coursera. Was a very elegant architecture except for one fly in the ointment. It is claimed to be a von Neumann architecture machine. It is not, it is a pure Harvard architecture, the program runs from a ROM that is divorced from the data RAM.
There isn't even any way to even write the ROM from within the machine itself. Instead you load it externally somehow. Usually that some how is just loading a file into the hardware simulator, analogous to burning and replacing a physical ROM.
This is similar to what happens in many embedded microcontrollers. But it's not what happens in computing generally. Not even in the 8 bit micro days.
In computing generally an important part of the puzzle is you have real von Neumann architecture, their isn't rigid separation between program and data memory, it all in the same "core", "main store", "main memory", "RAM", whatever you want to call it.
This gives the absolutely crucial capability that programs running on the computer can make other programs that run on the computer.
Yes this course does a good job showing you how to create a computer and write an assembler, virtual machine and very simple recursive descent compiler for it, but crucially you never get to run said compiler, virtual machine or compiler _on_ the computer you've created.
Because in fact by design it's actually physically impossible to get any program running on the computer to write to the program ROM from within the computer.
This is really unsatisfying because this is supposed to be a sort of create a computer system from nothing, but in fact you must run the development environment on another computer. In fact you can write everything from the development environment in any programming language you like.
Sure such an approach works if you already have a computer with a high-level language for it already, but this is extremely unsatisfactory for answering the question of well by what process did the first assemblers, calling and linking conventions and then high level language, perhaps with a virtual machine layer to ease implementation, come about?
Clearly by writing an assembler in machine code, deciding on a calling convention, then writing a linker in assembler that uses this calling convention, then with now having assembly language and a way of creating and using libraries with procedure calls and functions you move on to writing a compiler for a high level language in assembler, maybe coming up with a simpler language than your high level language but more abstract and/or featureful on the way like a virtual machine to make the high level language compiler easier to implement. But you never get to do this. In fact it's impossible without a major hardware addition like adding a ROM burner and swapper I/O device.
Also it would perhaps be extremely cramped in the 16K 16bit words and not have any room for compiling decent sized programs?
Great work! Would love to hear more about it.
Thanks! Will share more info next week :)
Info here; hackaday.io/project/185131-the-hack-computer-from-nand2tetris-on-breadboards
Amazing. I was thinking too (as a computer science student) . Will be doing this whenever got some free time
How much time it took you?
You still have that keyboard, damn windows xp memories
Impressive build. Nice work!
I Wish my PC Cables would look like your wiring 😩 Amazing work!
I literally have that book sitting next to me, and was thinking about doing exactly this when the youtube algorithm recommended this video. amazing work.
A dash, with a slider, ping pong ball..... 🔥🔥🔥
Hummmm, intresting, prehistoric, late 60's
me: * reads the title *
me: you WHAT?
I learned part 1 of that course several years ago, and i forgot all of it.
HOLY CRAP I always thought about doing this but figured out it would be too complex, but goshdarned you did it!
love the wiring on breadboard
Wow, those wires are clean.
Beautiful........Can you give some quick tips on how to wire Circuits in BreadBoard so neatly!
I am on my first project right now, i cant wait to build it myself. Yours looks amazing, i am going to use this as a wall decor and play some ping pong loll
A thing of beauty ❤️
Look creepy, but 16 bit machine like this is awesome 😎😎,
2.5 years of pain , but my god is beutifull.
respect ++
Oh man that's so beautiful and clean
You did it hardcore most i think would take the fpga route. Good work.
This should be the replacement merit badge project for building a cub scout radio.
Beautiful!
Absolutely Brilliant
It's like Ben Eater's breadboard computer on steroids! EPIC!
Wow ! Im impressed ..
THIS IS A REAL MASTERPIECE
Amazing im waiting for detailed videos...
Mashallah this's pretty awesome!!
I'm sure you've studied & worked a lot
That is some crazy mechanism. Nice
fuck man. nostalgia. i read this book when i was 11. spent the following years making minecraft CPUs like that. goat video and book u guys should read it too and they have a course on coursera
Beyond impressive
That's incredible.
It's soo beautiful *-*
That's so fucking brilliant, what a such good work here. Congratulation!
Crazy...Great Job My Friend!!
Проще было приобрести тетрис ))) , чем так заморачиваться
Recently found Nand2Tetris and started watching the lectures. Very inspiring. Could you potentially scale this architecture up to run early Unix/BSD/Linux (terminal interface only and only keyboard input)? You'd need a proper filesystem and interface with some kind of storage. I don't really care about writing BIOS or OS software, just the DIY hardware bit (CPU/RAM/IO etc).
I fell in love with this
Now that's ART
Thumbnail: *Hacking computer*
Video: *playing ball game*
You deserve the world
Please upload more!
Outstanding!
When you CPU architetuture seriously in you engineering
Very very impressive. Congratulations!
I completed building Ben Eater’s 8 bit CPU a year ago and liked it very much. Now I want to progress further and enlisted for the nand2tetris course. Hopefully will complete that and maybe maybe hopefully try to realize it on breadboards too.
With Ben’s CPU , I learned how important the quality of the breadboards was for the success of the project. Can you share which brand you took and your experiences?
Thanks!
Hi! For breadboards, I did some research and bought Stellarsource breadboards, as they seem good quality enough with reasonable price. I had no issues with them :)
I bought them from Aliexpress. Here is a link to a picture I took: cdn.hackaday.io/images/5746351653638234938.jpg.
Thanks Tomer 👍
That's great man!!! keep up the hard work
what a piece of art!!!
this is Amazing!!!!
This is why there's a shortage of ICs
Superb wiring!
omg more people need to see this
WOW brilliant showcase! its Super impressive to see!
Amazing job!
You, sir, are a genius!
Great work!
Very nicely done! Bravo!
Hello Tomer,
This is absolutely brilliant. I am about to take nand2tetris course and was wondering if we could build the physical hardware. Thank you for building it. Can you please provide some information/links on what parts to purchase? It would be great if you provided all the parts and total cost so that anyone interested in building it can start from here.
Thank you again!
Thank you! I'm working right now on writing a lot of info on this project and will share it hopefully this week :)
Here you go: hackaday.io/project/185131-the-hack-computer-from-nand2tetris-on-breadboards
@@tomerkronik thank you!
Pretty select crew that enjoys videos like this. Geek 4 life!
looks comfotable! Nice
Amazing work
This is amazing. I just started nand2tetris. I just finished my first year of computer engineering and want a project this summer so this course has been my choice. You have done something amazing. What did you do outside of nand2tetris to learn all of this?
Hi! My background is in Electrical Engineering :)
Amazing, and wonderful job, have you shared the electronics diagram and wiring if this master piece ????
Hi! diagrams are here: hackaday.io/project/185131-the-hack-computer-from-nand2tetris-on-breadboards
That is so impressive!
Wow!!! Superb
bigger than the PC in minecraft i built with my friend
Damn did you go insane while making this cause i would!
Lol
Please upload the video of "how you built it??"
Good. Make more videos like this. Thank you.
hats off to you!
This is amazing
You're gem
You’ve clearly done a brilliant job of building the physical Hack machine. That’s a LOT of breadboard and mainly 74 series logic, presumably?
Thank you! I used 27 large and 9 small breadboards. There are mostly 74 series logic ICs on the breadboard, exceptions are the RAM and ROM ICs.
Open minded person opened the mind of computer