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

КОМЕНТАРІ • 234

  • @Choober65
    @Choober65 2 роки тому +131

    As an electronics Engineer, I have to say, this is a work of art. I would happily hang that on my wall.

    • @October-TE
      @October-TE Рік тому +6

      Me too, but if it falls you have a problem

    • @zealotoffire3833
      @zealotoffire3833 10 місяців тому +1

      @@October-TE Lmao yeah

    • @w花b
      @w花b 9 місяців тому

      That would be a waste, it's meant to be used

    • @Yilmaz4
      @Yilmaz4 2 місяці тому +1

      @@w花b it was meant to be used in 1970s, we're in 2024 now

    • @evanbarnes9984
      @evanbarnes9984 2 місяці тому +1

      ​@@Yilmaz4as an educational project, this is very much meant to be used now

  • @yakir11114
    @yakir11114 2 роки тому +206

    here i am being impressed with myself for making a button do something with js while this guy exists lol

    • @to0_0
      @to0_0 2 роки тому +1

      :) True thing lol

    • @VeAndVili
      @VeAndVili Рік тому

      Get gud man

    • @w花b
      @w花b 9 місяців тому +1

      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.

    • @dontreadmyusername6787
      @dontreadmyusername6787 4 місяці тому

      ​let me be honest with u
      JS devs like to overcomplicate everything to the point even creating a button seems like an accomplishment

    • @heicom7876
      @heicom7876 Місяць тому

      🤣🤣🤣underrated comment......

  • @labscience8271
    @labscience8271 2 роки тому +68

    This is very impressive, but sadly very underrated. People need to watch this masterpiece!

  • @SonOfSofaman
    @SonOfSofaman 2 роки тому +43

    That's brilliant. I'm feeling ... inspired! Seriously nice work.

  • @MichaelDSwanson
    @MichaelDSwanson 2 роки тому +40

    Fantastic! Such clean wiring too.

  • @omniyambot9876
    @omniyambot9876 2 роки тому +4

    This is everything, art, math, science, and most importantly PORN. Absolute masterpiece. I hope I could build one someday.

  • @StekuVideo
    @StekuVideo 11 місяців тому +4

    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!

  • @Mike.Garcia
    @Mike.Garcia 2 роки тому +6

    It's a great CS course! The two lectures would love to see this!
    Good work!

  • @rot_studios
    @rot_studios Рік тому +2

    That breadboard aesthetic is probably the most sexy thing about this haha
    Very cool build!

  • @CobraTheSpacePirate
    @CobraTheSpacePirate Рік тому +2

    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!

  • @varshneydevansh
    @varshneydevansh 7 місяців тому +1

    This is just beautiful I'm currently on my journey of building a 6502

  • @_taylor_v
    @_taylor_v 2 роки тому +8

    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)

  • @clamr6122
    @clamr6122 Місяць тому

    Incredible achievement. Most impressive breadboard project I've ever seen

  • @abdusaidabduraufov5615
    @abdusaidabduraufov5615 2 роки тому +6

    If you had done this in the 1980s, you could have become a billionaire.

  • @notsocrapmex3286
    @notsocrapmex3286 2 роки тому +3

    this man ACTUALLY built his computer

  • @prasenjeetrathore
    @prasenjeetrathore 3 місяці тому

    the wire management is absolutely beautiful.

  • @skynet_cyberdyne_systems
    @skynet_cyberdyne_systems Місяць тому

    Lots of patience required for this work

  • @baganatube
    @baganatube 2 роки тому +2

    That's some Ben Eater level of wiring! Congrats!

  • @Gilkey766
    @Gilkey766 2 роки тому +1

    ben eater would be proud of that cable management

  • @candidmoe8741
    @candidmoe8741 2 роки тому +3

    A pleasure to the eyes.

  • @hoki8296
    @hoki8296 Рік тому

    I expect you have so much fun while doing this.
    Fantastic work!

  • @waytostoned
    @waytostoned 2 роки тому +2

    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.

    • @amaankhan3762
      @amaankhan3762 2 роки тому

      I don't know what you said. Seems nice to read

  • @mrmovas
    @mrmovas 2 роки тому

    Such a good job that you have done.
    The wiring looks amazing and so organize.
    Well done!

  • @edlingaon
    @edlingaon 2 роки тому

    We need a depth view into this!! it is so amazing!

  • @enricoroselino7557
    @enricoroselino7557 2 роки тому +1

    if i made that, i would be pissed if someone disconnect some or even one wire. Your wiring so neat

  • @Phoenix-kj4iq
    @Phoenix-kj4iq 2 роки тому +2

    Amazing work dude! Great design!

  • @donkernash7729
    @donkernash7729 2 роки тому

    This kind of videos should have views in million

  • @cianmoriarty7345
    @cianmoriarty7345 4 місяці тому

    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?

  • @davidcourtney1398
    @davidcourtney1398 2 роки тому +1

    Great work! Would love to hear more about it.

    • @tomerkronik
      @tomerkronik  2 роки тому

      Thanks! Will share more info next week :)

    • @tomerkronik
      @tomerkronik  2 роки тому

      Info here; hackaday.io/project/185131-the-hack-computer-from-nand2tetris-on-breadboards

  • @mhammadsaani
    @mhammadsaani Рік тому

    Amazing. I was thinking too (as a computer science student) . Will be doing this whenever got some free time

  • @Why-nv2js
    @Why-nv2js 2 роки тому

    You still have that keyboard, damn windows xp memories

  • @TroySchrapel
    @TroySchrapel 7 місяців тому

    Impressive build. Nice work!

  • @Zugirf
    @Zugirf 2 роки тому

    I Wish my PC Cables would look like your wiring 😩 Amazing work!

  • @momentomoridoth2007
    @momentomoridoth2007 2 роки тому +1

    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.

  • @tirulogachandark6370
    @tirulogachandark6370 2 роки тому +1

    A dash, with a slider, ping pong ball..... 🔥🔥🔥
    Hummmm, intresting, prehistoric, late 60's

  • @RelaxingGamingAmbience
    @RelaxingGamingAmbience 2 роки тому +1

    me: * reads the title *
    me: you WHAT?

  • @jenkinssmith9125
    @jenkinssmith9125 5 місяців тому

    I learned part 1 of that course several years ago, and i forgot all of it.

  • @zment
    @zment 2 роки тому +6

    HOLY CRAP I always thought about doing this but figured out it would be too complex, but goshdarned you did it!

  • @___RoX___
    @___RoX___ 2 роки тому

    love the wiring on breadboard

  • @adamcarver9057
    @adamcarver9057 2 роки тому

    Wow, those wires are clean.

  • @MikeJohnMentzer
    @MikeJohnMentzer Рік тому

    Beautiful........Can you give some quick tips on how to wire Circuits in BreadBoard so neatly!

  • @prabhatlamichhane8505
    @prabhatlamichhane8505 11 місяців тому

    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

  • @ehudaa
    @ehudaa 2 роки тому +1

    A thing of beauty ❤️

  • @lolgaming-bq3vs
    @lolgaming-bq3vs 2 роки тому +2

    Look creepy, but 16 bit machine like this is awesome 😎😎,

  • @g4br_
    @g4br_ 2 роки тому +1

    2.5 years of pain , but my god is beutifull.
    respect ++

  • @janikarkkainen3904
    @janikarkkainen3904 2 роки тому

    Oh man that's so beautiful and clean

  • @asus12351
    @asus12351 Рік тому

    You did it hardcore most i think would take the fpga route. Good work.

  • @kdietz65
    @kdietz65 2 роки тому

    This should be the replacement merit badge project for building a cub scout radio.

  • @AlexYaremchuk
    @AlexYaremchuk Рік тому

    Beautiful!

  • @shahardekel6878
    @shahardekel6878 2 роки тому +1

    Absolutely Brilliant

  • @chessprogramming591
    @chessprogramming591 2 роки тому

    It's like Ben Eater's breadboard computer on steroids! EPIC!

  • @user-ng8ku8yc3l
    @user-ng8ku8yc3l 2 роки тому +2

    Wow ! Im impressed ..

  • @user-wn6ro7jr8f
    @user-wn6ro7jr8f 7 місяців тому

    THIS IS A REAL MASTERPIECE

  • @mehdik348
    @mehdik348 2 роки тому +1

    Amazing im waiting for detailed videos...

  • @ezzeldin101
    @ezzeldin101 2 роки тому

    Mashallah this's pretty awesome!!
    I'm sure you've studied & worked a lot

  • @LemonadetvYT
    @LemonadetvYT 2 роки тому

    That is some crazy mechanism. Nice

  • @takumifujiwara2073
    @takumifujiwara2073 Рік тому

    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

  • @dash1101
    @dash1101 2 роки тому +1

    Beyond impressive

  • @c42xe
    @c42xe Рік тому

    That's incredible.

  • @novrdd
    @novrdd Рік тому

    It's soo beautiful *-*

  • @yanguimaraes3470
    @yanguimaraes3470 2 роки тому

    That's so fucking brilliant, what a such good work here. Congratulation!

  • @kjm1383
    @kjm1383 2 роки тому +1

    Crazy...Great Job My Friend!!

  • @UA_dmitriy_dimidrow
    @UA_dmitriy_dimidrow 2 роки тому +2

    Проще было приобрести тетрис ))) , чем так заморачиваться

  • @DavidBerglund
    @DavidBerglund Рік тому +2

    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).

  • @RlMEFANG
    @RlMEFANG 2 роки тому

    I fell in love with this

  • @animehub7006
    @animehub7006 Рік тому

    Now that's ART

  • @blackcat1040
    @blackcat1040 2 роки тому

    Thumbnail: *Hacking computer*
    Video: *playing ball game*

  • @neoBiteWave123
    @neoBiteWave123 2 роки тому

    You deserve the world

  • @stickworldanimated9545
    @stickworldanimated9545 2 роки тому

    Please upload more!

  • @jdxtube68
    @jdxtube68 Місяць тому

    Outstanding!

  • @elon123nfsu
    @elon123nfsu 2 місяці тому

    When you CPU architetuture seriously in you engineering

  • @bartpastoor1028
    @bartpastoor1028 2 роки тому +5

    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!

    • @tomerkronik
      @tomerkronik  2 роки тому +4

      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.

    • @bartpastoor1028
      @bartpastoor1028 2 роки тому +2

      Thanks Tomer 👍

  • @Hassan-lv9di
    @Hassan-lv9di 8 місяців тому

    That's great man!!! keep up the hard work

  • @yacineayachiamor7336
    @yacineayachiamor7336 2 роки тому

    what a piece of art!!!

  • @salar410
    @salar410 2 роки тому +1

    this is Amazing!!!!

  • @greywolf271
    @greywolf271 8 місяців тому

    This is why there's a shortage of ICs

  • @awesomecronk7183
    @awesomecronk7183 2 роки тому

    Superb wiring!

  • @erfanelmtalab1615
    @erfanelmtalab1615 2 роки тому

    omg more people need to see this

  • @yukit119
    @yukit119 2 роки тому

    WOW brilliant showcase! its Super impressive to see!

  • @IvanToshkov
    @IvanToshkov 2 роки тому +1

    Amazing job!

  • @ramakrishnamishra8179
    @ramakrishnamishra8179 2 роки тому

    You, sir, are a genius!

  • @AnasAhmadYT
    @AnasAhmadYT 6 місяців тому

    Great work!

  • @K9Megahertz
    @K9Megahertz 2 роки тому

    Very nicely done! Bravo!

  • @SaidakbarP
    @SaidakbarP 2 роки тому +4

    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!

    • @tomerkronik
      @tomerkronik  2 роки тому +3

      Thank you! I'm working right now on writing a lot of info on this project and will share it hopefully this week :)

    • @tomerkronik
      @tomerkronik  2 роки тому +3

      Here you go: hackaday.io/project/185131-the-hack-computer-from-nand2tetris-on-breadboards

    • @SaidakbarP
      @SaidakbarP 2 роки тому

      ​@@tomerkronik thank you!

  • @boriscrisp518
    @boriscrisp518 2 роки тому

    Pretty select crew that enjoys videos like this. Geek 4 life!

  • @ZmotionController123
    @ZmotionController123 2 роки тому

    looks comfotable! Nice

  • @EasyOne
    @EasyOne 2 роки тому

    Amazing work

  • @nicholasgeiser174
    @nicholasgeiser174 2 роки тому +8

    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?

    • @tomerkronik
      @tomerkronik  2 роки тому +3

      Hi! My background is in Electrical Engineering :)

  • @arafat877
    @arafat877 2 роки тому +1

    Amazing, and wonderful job, have you shared the electronics diagram and wiring if this master piece ????

    • @tomerkronik
      @tomerkronik  2 роки тому +1

      Hi! diagrams are here: hackaday.io/project/185131-the-hack-computer-from-nand2tetris-on-breadboards

  • @mr_noodler
    @mr_noodler Рік тому

    That is so impressive!

  • @chandimamadushan6529
    @chandimamadushan6529 Рік тому

    Wow!!! Superb

  • @rotatingcat1957
    @rotatingcat1957 Рік тому

    bigger than the PC in minecraft i built with my friend

  • @stickworldanimated9545
    @stickworldanimated9545 2 роки тому

    Damn did you go insane while making this cause i would!
    Lol

  • @panchaljaimin3305
    @panchaljaimin3305 2 роки тому +1

    Please upload the video of "how you built it??"

  • @michaelchiz8055
    @michaelchiz8055 2 роки тому

    Good. Make more videos like this. Thank you.

  • @adrianaguilar6347
    @adrianaguilar6347 2 роки тому

    hats off to you!

  • @caulijutsu1575
    @caulijutsu1575 2 роки тому

    This is amazing

  • @engrasad4913
    @engrasad4913 4 місяці тому

    You're gem

  • @jimsimpson1006
    @jimsimpson1006 2 роки тому +2

    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?

    • @tomerkronik
      @tomerkronik  2 роки тому

      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.

  • @Tom-ie2kl
    @Tom-ie2kl 2 роки тому +1

    Open minded person opened the mind of computer