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.
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!
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!
I'm following the nand to tetris course rn and finished chapter 4 so 2 more to go and then I'm through half, I'm thinking of also building something like this later, thanks for putting this on youtube
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)
Imagine making a RISC-V 32 with a floating point unit and a simple GPU. I was looking to buy the material for an 8-bit one and I saw a 16-bit one. Your work is incredible.
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 literally have that book sitting next to me, and was thinking about doing exactly this when the youtube algorithm recommended this video. amazing work.
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?
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 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
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.
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
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!
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?
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!
Fantastic! Such clean wiring too.
Likely had to be to make that function properly.
This is everything, art, math, science, and most importantly PORN. Absolute masterpiece. I hope I could build one someday.
ben eater would be proud of that cable management
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!
That's brilliant. I'm feeling ... inspired! Seriously nice work.
It's a great CS course! The two lectures would love to see this!
Good work!
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!
That breadboard aesthetic is probably the most sexy thing about this haha
Very cool build!
If you had done this in the 1980s, you could have become a billionaire.
And now what?..
this man ACTUALLY built his computer
I'm following the nand to tetris course rn and finished chapter 4 so 2 more to go and then I'm through half, I'm thinking of also building something like this later, thanks for putting this on youtube
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
This is just beautiful I'm currently on my journey of building a 6502
the wire management is absolutely beautiful.
A pleasure to the eyes.
Incredible achievement. Most impressive breadboard project I've ever seen
Imagine making a RISC-V 32 with a floating point unit and a simple GPU. I was looking to buy the material for an 8-bit one and I saw a 16-bit one. Your work is incredible.
That's some Ben Eater level of wiring! Congrats!
We need a depth view into this!! it is so amazing!
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!
You still have that keyboard, damn windows xp memories
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?
Absolutely Brilliant
This kind of videos should have views in million
Impressive build. Nice work!
Amazing work dude! Great design!
Beautiful!
if i made that, i would be pissed if someone disconnect some or even one wire. Your wiring so neat
You did it hardcore most i think would take the fpga route. Good work.
Beautiful........Can you give some quick tips on how to wire Circuits in BreadBoard so neatly!
Beyond impressive
Mashallah this's pretty awesome!!
I'm sure you've studied & worked a lot
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 thing of beauty ❤️
I Wish my PC Cables would look like your wiring 😩 Amazing work!
Great job! I took that course too, it's a great course
Проще было приобрести тетрис ))) , чем так заморачиваться
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?
love the wiring on breadboard
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
A dash, with a slider, ping pong ball..... 🔥🔥🔥
Hummmm, intresting, prehistoric, late 60's
This should be the replacement merit badge project for building a cub scout radio.
Oh man that's so beautiful and clean
THIS IS A REAL MASTERPIECE
Wow, those wires are clean.
Wow ! Im impressed ..
hats off to you!
It's soo beautiful *-*
2.5 years of pain , but my god is beutifull.
respect ++
Outstanding!
That is so impressive!
Amazing im waiting for detailed videos...
That is some crazy mechanism. Nice
what a piece of art!!!
You deserve the world
HOLY CRAP I always thought about doing this but figured out it would be too complex, but goshdarned you did it!
I fell in love with this
Superb wiring!
That's incredible.
Crazy...Great Job My Friend!!
I learned part 1 of that course several years ago, and i forgot all of it.
Amazing work
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).
WOW brilliant showcase! its Super impressive to see!
That's great man!!! keep up the hard work
Now that's ART
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
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 👍
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
You, sir, are a genius!
Please upload more!
this is Amazing!!!!
Wow!!! Superb
Look creepy, but 16 bit machine like this is awesome 😎😎,
looks comfotable! Nice
me: * reads the title *
me: you WHAT?
WoW just awesome
It's like Ben Eater's breadboard computer on steroids! EPIC!
omg more people need to see this
This is amazing
That's so fucking brilliant, what a such good work here. Congratulation!
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
Very nicely done! Bravo!
Amazing job!
You're gem
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!
Please upload the video of "how you built it??"
Amazing
Superb.... 👍👍👍👏👏👏
When you CPU architetuture seriously in you engineering
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! Well done
This is why there's a shortage of ICs
Woah! inspiring!
top tier
This is radical 🔋