I designed my own 8-bit computer just to play PONG

Sdílet
Vložit
  • čas přidán 12. 06. 2021
  • welcome to this week's episode of "Reinventing the Wheel" with jdh
    CODE: github.com/jdah/jdh-8
    TWITTER: / jdah__
    PATREON: / jdah
    EDITOR: NeoVim
    VIMRC: gist.github.com/jdah/4b4d98c2...
    THEME: palenight
    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
  • Věda a technologie

Komentáře • 2K

  • @azmebengraine1437
    @azmebengraine1437 Před 2 lety +4046

    Next: Moving electrons by hand like a real programmer

    • @97Corvi
      @97Corvi Před 2 lety +77

      *for playing space invaders
      XD

    • @procrastinatingcartoonstm5130
      @procrastinatingcartoonstm5130 Před 2 lety +3

      yes

    • @red-52
      @red-52 Před 2 lety +4

      @@licklack159 no they use very very basic python lol I suck (at least rn I will be the next jbh)

    • @JuanR4140
      @JuanR4140 Před 2 lety +7

      @@red-52 Python is okay but definitely not good enough as other languages like C or C++

    • @red-52
      @red-52 Před 2 lety +2

      @@JuanR4140 ya ik

  • @arnimlost
    @arnimlost Před 2 lety +6043

    Next: So I decided that I'm just too good for electricity, so I built a steam-powered turing machine

    • @benjaminbanerjee8784
      @benjaminbanerjee8784 Před 2 lety +89

      Inb4 he makes the Charles Babage Computational Engine

    • @AbhinavKulshreshtha
      @AbhinavKulshreshtha Před 2 lety +54

      Thats actually not a bad idea, I know I have seen a water pump based calculator device on youtube.

    • @olivander5171
      @olivander5171 Před 2 lety +20

      after that comes a better wheel

    • @sidtheloser
      @sidtheloser Před 2 lety +2

      Bruh

    • @krum3155
      @krum3155 Před 2 lety +31

      He's too cool for machines now, so he just imagines it.

  • @st31n91
    @st31n91 Před 2 lety +1558

    Next: Too good for keyboards, or software, or languages: Just write code in binary with hole-punched notecards like a real programmer

    • @kfdjhnhurjnnbjhu3ip410
      @kfdjhnhurjnnbjhu3ip410 Před 2 lety +60

      blink for 1, dont blink for 0

    • @katherinedobbs52
      @katherinedobbs52 Před 2 lety +28

      If you aren't writing programs for a Jacquard loom, I don't wanna hear it!

    • @przemcio6867
      @przemcio6867 Před 2 lety +2

      well, after watching this episode... your idea sounds easy to do

    • @zwwz1424
      @zwwz1424 Před 2 lety +2

      @@przemcio6867 satire?

    • @wizdude
      @wizdude Před 2 lety +10

      Punch cards? The first computer I worked with had 16 switches for the address bus, 8 switches for the data bus, a deposit button, a reset button and a run/stop switch. Based on an 8080. Hand assembly and switch input. It taught me to become a wiz in binary.

  • @MrPoop9000
    @MrPoop9000 Před 2 lety +836

    Look at him, using C. The only acceptable thing now would be to see him make his own programming language from scratch.

    • @mbcx3621
      @mbcx3621 Před 2 lety +7

      Exactly what I though xD

    • @Tigrou7777
      @Tigrou7777 Před 2 lety +51

      He already wrote a parser / lexer for the assembler part which is not far from what a C compiler does.

    • @ennas_compass4892
      @ennas_compass4892 Před 2 lety +50

      His To Do list looks like this:
      * Create a "simple" computer.
      * create an assembly language for it.
      * Use this assembly language to create a low level language.
      * Use this low level language to create an operating system and all the essential tools for the OS.

    • @jasedxyz
      @jasedxyz Před 2 lety +8

      and make pong with it

    • @prodyuaki
      @prodyuaki Před 2 lety +4

      make his own programming language with only ASM :flushed:

  • @AshVXmc
    @AshVXmc Před 2 lety +2245

    Next video: I went to a mine and gathered raw resources to build my own CPU

    • @vaisakhkm783
      @vaisakhkm783 Před 2 lety +86

      After that:. Custom mine tools for doing it..

    • @astroblurf2513
      @astroblurf2513 Před 2 lety +96

      Next video after that: I reverse engineered imperialism and have established the means to exploit local ethnic conflicts for the sake of extracting conflict minerals for my CPU

    • @aidangambura7067
      @aidangambura7067 Před 2 lety +19

      Oh no....
      *HE LIKED YOUR COMMENT. THAT MEANS YOU GUESSED RIGHT.😅*

    • @matthewe3813
      @matthewe3813 Před 2 lety +22

      @@astroblurf2513 after that: using a large stockpile of up quarks, down quarks, and electrons to create ethnic groups to fight and exploiting them for materials to make a particle accelerator where wich I create silicone to make transistors that I put together to make a CPU

    • @truestopguardatruestop164
      @truestopguardatruestop164 Před 2 lety +14

      @@matthewe3813 next video after that: I’m sick of exploiting premade humans. I made my own human clones army

  • @samuelgunter
    @samuelgunter Před 2 lety +1598

    He's evolving, just... backwards

    • @maxwellclark1615
      @maxwellclark1615 Před 2 lety +10

      I think they’ve got a word for that

    • @samuelgunter
      @samuelgunter Před 2 lety +36

      @@maxwellclark1615 yes, but you see, it's a reference

    • @matthewe3813
      @matthewe3813 Před 2 lety +6

      @@maxwellclark1615 devolving

    • @timelyenigma
      @timelyenigma Před 2 lety +17

      @@maxwellclark1615 its just called evolving. evolution isnt linear.

    • @samuelgunter
      @samuelgunter Před 2 lety +4

      @You thought it was a joke? Terry Davis who developed TempleOS?

  • @fr4781
    @fr4781 Před 2 lety +548

    After all of this he still doesn’t have his own programming language

    • @TheEnderLeader1
      @TheEnderLeader1 Před 2 lety +65

      yeah, he's done so much crazy shit that at this point a compiler for a custom programming language would be almost disappointing.

    • @martbarnav1787
      @martbarnav1787 Před 2 lety +26

      Can't wait to run hello world on jdh

    • @fr4781
      @fr4781 Před 2 lety +10

      ​@@TheEnderLeader1 If he did this he'd probably just make his own unique version of binary or smth

    • @MrGoatflakes
      @MrGoatflakes Před 2 lety +37

      @@fr4781 he did. It's the machine code of the computer he invented and built. And also he's got a assembly language and assembler for it.

    • @mohandev42
      @mohandev42 Před rokem +1

      technically speaking, he did

  • @DantalionNl
    @DantalionNl Před 2 lety +249

    As electrical engineer I actually think you used logisim for its intended purpose, education. The visual representation of gates as well as real-time status updates will make the circuit much more intuitive to understand than 2 pages of VHDL or verilog.

    • @skilz8098
      @skilz8098 Před rokem +1

      Also watching Ben Eaters series is an additional treat.

    • @proatplanes
      @proatplanes Před rokem

      then you do it like that

    • @kakyoindonut3213
      @kakyoindonut3213 Před rokem +1

      not a student but I play a lot of Logisim and made my own 16x16 video player, which I another circuit dedicated on animating every frame of it.
      years pass and I forgot how I even able to do that.

    • @tissuepaper9962
      @tissuepaper9962 Před rokem +1

      I'm honestly surprised he didn't write a tool to convert from Verilog to a logisim diagram

  • @bbq1423
    @bbq1423 Před 2 lety +1932

    Next video: **LOGIC GATES ARE TOO HIGH LEVEL, NEED TO MAKE IT TRANSISTOR LEVEL**

    • @coderdude9417
      @coderdude9417 Před 2 lety +173

      No he’s going to have to go the vacuum tube route and program the computer with punch cards

    • @theoarcher896
      @theoarcher896 Před 2 lety +126

      I’m fed up with depending on transistor companies, I’m manufacturing my own

    • @Benetekt
      @Benetekt Před 2 lety +52

      @@theoarcher896 I'm fed up with depending on transistor manufacturing machine companys, I'm building my own machines xD

    • @belstar1128
      @belstar1128 Před 2 lety +27

      I need to make my own universe.

    • @matthewe3813
      @matthewe3813 Před 2 lety +38

      Video after that: *TRANSISTORS ARE TOO HIGH LEVEL, AM NOW PUTTING P AND N SILICONE TOGETHER*

  • @louisdedomingo5778
    @louisdedomingo5778 Před 2 lety +687

    next video: I build my own universe to recreate life

    • @jdh
      @jdh  Před 2 lety +425

      bro pls no spoilers

    • @noam5153
      @noam5153 Před 2 lety +30

      Video after that: inventing time travel and breaking previous video’s universe

    • @ghstxownery_cpv
      @ghstxownery_cpv Před 2 lety +2

      @@jdh nice se

    • @19UV
      @19UV Před 2 lety +20

      "If you wish to make an apple pie from scratch, you must first invent the universe"

    • @smashfanx7560
      @smashfanx7560 Před 2 lety +1

      *this comment was hearted ny jdh*
      **vsauce bg music intencefies**

  • @DolapEuphe
    @DolapEuphe Před 2 lety +83

    "If you want to make a game from scratch, create an universe first."

  • @Frosthorne
    @Frosthorne Před 2 lety +11

    I completely relate to the StackOverflow bit about lexical analyzer generators. I eventually managed to build a working compiler from scratch but initially, all my questions were met with "use this existing tool that does all the work for you".

  • @m0tholith
    @m0tholith Před 2 lety +1256

    my ben eater binging is paying off and i can now understand 15% of what this dude's saying

  • @joshbishop
    @joshbishop Před 2 lety +445

    Me: hehe im making a platformer game yeah im a programmer
    jdh: proceeds to create a computer from scratch

    • @plebisMaximus
      @plebisMaximus Před 2 lety +47

      I spent a few months trying to grasp the basics of programming, decided I'm too stupid, then I got this in my recommended feed. CZcams is bullying me.

    • @lars2299
      @lars2299 Před 2 lety +4

      @@plebisMaximus lmao noice

    • @willer5166
      @willer5166 Před 2 lety +2

      LMAO i feel u dude

    • @tokeivo
      @tokeivo Před 2 lety +13

      ​@@plebisMaximus You're absolutely not too stupid. I can be hard, and it could be that it's not something you really want to do (the result is VERY different from the method), but find the right guide and you're able to do simple programs in 2 hours from now.
      Another 10 hours and you could be making a website.
      Another 7 days and you could be making a game in unity.
      If you have a clear (and small) goal in mind, it can be surprisingly fast to learn.

    • @plebisMaximus
      @plebisMaximus Před 2 lety +5

      @@tokeivo Thanks a lot for the pep talk, mate! I'll give it another shot.

  • @Krumm3L
    @Krumm3L Před 2 lety +15

    See ya next time when: Mining copper with hands to make everything myself.

  • @noahruimveld6591
    @noahruimveld6591 Před 2 lety +1

    In my senior year integrated circuits course in undergrad, I was given an integrated circuit architecture and was instructed to program a simulation in c-spice and do some benchmarks. Going from the block diagram to c-spice code directly was not something that I had done before, so I recreated the circuitry in Logisim. I included the Logisim macros in the report and expressed how much easier the project was for me to complete with it. It is a great program for simplification and understanding.

  • @billynugget7102
    @billynugget7102 Před 2 lety +809

    This is absolutely mind blowing. As someone who is studying EE and CS the amount of work here is crazy! The range of skills is nutty! Big props to this dude

    • @exedo9882
      @exedo9882 Před 2 lety +84

      Similarily studying computer engineering. In theory I understand all of this but in practice holy shit.

    • @eebilu
      @eebilu Před 2 lety +40

      CS student here did my compiler project last semester and a VM project a year before (which the compiler's asm output runs on), and dear god this guy is pushing himself way too hard.

    • @arc-sd8sk
      @arc-sd8sk Před 2 lety +20

      @@eebilu idk man kinda sounds like you aren't pushing yourself hard enough so maybe work on that ??

    • @rubiskelter
      @rubiskelter Před 2 lety +41

      ​@@arc-sd8sk idk man, it kinda shows you don't recognize different levels of intelligence. This guy is not normal, statistically speaking. He's for sure way above 135 IQ (SB) , i'd bet 140+ . He doesn't even have enough views/subs to make a living from youtube, so he does this as a part-time.
      I'm a CS graduate, i've build a compiler from scratch, lexer and parser in C (Among other "low level" stuff, like a 3d engine), i've spent countless hours studying (You go through a lot of maths, that don't add up to practical skills , if one's not invested in research later in life), i've met much smarter people than me, and they went a step further by creating their own OS. Great for them, loved learning from smarter peers.

    • @arc-sd8sk
      @arc-sd8sk Před 2 lety +20

      @@rubiskelter it was a joke-I was just busting his balls :)
      but I appreciate such a detailed and thoughtful reply so thanks for that

  • @skip2682
    @skip2682 Před 2 lety +339

    this man is about to invent the transistor

    • @shailmurtaza9082
      @shailmurtaza9082 Před 2 lety +11

      I invented frequency and way to store sound in computer but then I come to know that that's how things are working today.
      I was sad

    • @TheCustomFHD
      @TheCustomFHD Před 2 lety +6

      *reinvent and make it better xD

    • @heliusuniverse7460
      @heliusuniverse7460 Před 2 lety +2

      who needs three connectors in a transistor? it should have one and output the unchanged input. the program runs in your imagination

    • @leyasep5919
      @leyasep5919 Před 2 lety +2

      Transistors are waaaaayyyyy too fancy and fast.
      Look, I'm playing with electromechanical relays ;-)

    • @feetlunatic5134
      @feetlunatic5134 Před 2 lety +1

      @@shailmurtaza9082 damn you invented frequency? sick

  • @jpaulobiem
    @jpaulobiem Před 2 lety +14

    Imagine my face, trying to construct my own CPU in breadboard, thinking me as a God, seeing your video. Man you are astonishing. Best video that I watched in YT in my entire life. Thank you man!

  • @GavinPetty
    @GavinPetty Před 2 lety +5

    Damn, never say ¨I use arch¨ to this guy, he'll completely humiliate you

    • @jm036
      @jm036 Před 2 lety

      Good thing I'm putting Fedora back on my laptop as I'm typing this then.

  • @LordSoulSicarious
    @LordSoulSicarious Před 2 lety +462

    Frankly, I'm surprised that you didn't go "Wait, logisim doesn't have a dark mode? Hold on, I gotta fix this."

    • @Agnostic080
      @Agnostic080 Před 2 lety +16

      I mean, this would take one minute max to do that. Just need to search for a setting to invert the colors of the display :)

    • @YOEL_44
      @YOEL_44 Před 2 lety +31

      @@Agnostic080 If you're as clever as him, at the very least, hex edit the exe to invert the color on the program itself, or maybe even create a custom theme

    • @Agnostic080
      @Agnostic080 Před 2 lety +17

      @@YOEL_44 Although these options sound like fun, it's so unnecessary. I just have a Keyboard shortcut to switch to inverted screen colors whenever I want. But I guess, most of the things on this channel could be considered 'unnecessary' :D

    • @leyasep5919
      @leyasep5919 Před 2 lety

      Falstad's Circuitjs has a night mode ;-)

    • @illford6921
      @illford6921 Před 2 lety +2

      @@Agnostic080 I thought it was very obviously a joke reply that you replied to

  • @PaulasTechStuff
    @PaulasTechStuff Před 2 lety +14

    Looking forward to seeing how you do with your processor. Have nearly finished my own and it's taken a year of spare time to do it.

  • @jacktremblay71
    @jacktremblay71 Před 2 lety +3

    Amazing. Reminds me of my EE degree ! We had to do such things in the early 90s. Going down memory lane A. Hope your next step is building your processor using a fpga or something like that ! The most incredible thing is you probably managed to design and build everything faster than it would have taken in the 80s to do it !

  • @electronpie
    @electronpie Před 2 lety +140

    Next: Designing my own universe to play Sonic the Hedgehog

    • @rachit7645
      @rachit7645 Před 2 lety +8

      Green hill zone music intensifies

  • @smolus0512
    @smolus0512 Před 2 lety +83

    What a timing! I just finshed my own cpu 2 days ago (it was an extra project for my second semester of IoT Engineering). I made a proper design in verilog so I could get it manufactured but it turned out that no manufactures take any orders under 2.000.000$ so i just got it to run on a 5$ fpga (tang nano). Having physical hardware do something is much cooler than emulation and It's actually not much harder than logisim. To be honest it was a lot easier than I expected. I think you will be pleasantly surprised!

    • @jdh
      @jdh  Před 2 lety +32

      sweet! I'm thinking about ordering an FPGA first to simulate this thing before I build it for real. I've heard of people getting a small number of PCBs manufactured and putting it together with ICs to get something in between a manufacturer-made CPU and a breadboard machine, if you can invest the time. and it's much cheaper than $2 million to get the circuits :)

    • @smolus0512
      @smolus0512 Před 2 lety +11

      @@jdh That's so cool!!! Yeah fpga's are great and while doing the project I learned that they are used not only for prototyping but you can actually find them inside cars, excavators and other industrial machines. Also I cant wait to see how you approach making the "PCB computer". It seems very hard to find a sweet spot in terms of how high level circuits you want to use. It's a weird balance between full on cpu ICs and raw transistors.

    • @fanciestbanana4653
      @fanciestbanana4653 Před 2 lety +1

      @@jdh You should BenEater's series about building a computer on breadboard! He even sells kits if you want to make your own.

    • @slendi9623
      @slendi9623 Před 2 lety

      You should make a video on it

  • @TetriTek
    @TetriTek Před 2 lety +3

    15:43 While I do much more simple coding compared to this, this little montage really hit home. Sometimes it feels like everything starts blurring together, I really felt that.
    This is actually something I hope to do one day as well, I want to make a machine entirely made by me, that runs games/programs made by me. Just for the learning experience, and to say I did it I guess, but this gives me some hope.

  • @RoyBrush
    @RoyBrush Před 2 lety +1

    This is super fun. When I was in university, we had to make an ALU (among other things) on a breadboard directly from basic gates (and, or, not). We also had to design those gates at the CMOS logic level as well, and of course, we studied the physics of semiconductors, but we didn't do any manufacturing at that level, haha. Most people reading this will already know, but it's cool that each individual component of the circuit in this video could be implemented using nothing but a bunch of NAND gates, and of course each NAND gate of course can be made using two PMOS and two NMOS transistors. For students interested in this type of thing, there is actually a game online called, unsurprisingly, NAND game, where you build up towards a "computer" from simple gates.
    Very cool video, I'm excited to see what comes next! :)

  • @therealsome1
    @therealsome1 Před 2 lety +239

    "If you wish to make an apple pie from scratch, you must first invent the universe. - Carl Sagan" - jdh

    • @randomguy-gb9ge
      @randomguy-gb9ge Před 2 lety +16

      "If you wish to make an apple pie from scratch, you must first invent the universe. - Carl Sagan
      - jdh"
      -therealsome1

    • @gigabit6226
      @gigabit6226 Před rokem +1

      @@randomguy-gb9ge """If you wish to make an apple pie from scratch, you must first invent the universe." - Carl Sagan" -jdh" -therealsome1" -random guy

    • @kazat0105
      @kazat0105 Před rokem

      @@gigabit6226 """"if you wish to make an apple pie from scratch, you must first invent the universe." - Carl Sagan" -jdh" -therealsome1" - random guy" -Gigabit

    • @GalaxyStudios0
      @GalaxyStudios0 Před rokem +2

      @@dontsmi1e """"""if you wish to make an apple pie from scratch, you must first invent the universe." - Carl Sagan" -jdh" -therealsome1" - random guy" -Gigabit" - Kazat0" -DonTSmi1e

    • @Nicolas-nf4tc
      @Nicolas-nf4tc Před 11 měsíci

      @@GalaxyStudios0 """""""if you wish to make an apple pie from scratch, you must first invent the universe." - Carl Sagan" -jdh" -therealsome1" - random guy" -Gigabit" - Kazat0" -DonTSmi1e" - GalaxyStudios0

  • @leangames429
    @leangames429 Před 2 lety +125

    Next: So I decided that I am just too good to use the standard molecules and laws of nature, so I decided to create my own universe!

    • @merlang7
      @merlang7 Před 2 lety +3

      dont encourage him

    • @jerrygreenest
      @jerrygreenest Před 2 lety

      Well, it’s an emulatior of another universe, yet...

  • @PaperTowwl
    @PaperTowwl Před 2 lety +1

    One of my classes in college was creating a MIPS CPU with SystemVerilog and getting it working on an FPGA with keyboard input and VGA output. I ended up writing 2048 in ~500 lines of MIPS assembly. Probably my favorite class in all my education! Great video :)

  • @EinSatzMitX
    @EinSatzMitX Před rokem +2

    "So today we're going to write our ohne matrix."

  • @szymoniak75
    @szymoniak75 Před 2 lety +467

    The amount of knowledge and dedication required to make this is mind-blowing

    • @PFnove
      @PFnove Před rokem

      not really, he uses his knowledge to make a *good* turing machine

    • @szymoniak75
      @szymoniak75 Před rokem +6

      ​@@PFnove huh? Designing a circuit for any architecture and writing Pong in assembly for it is already quite a challenge.

  • @eepikki
    @eepikki Před 2 lety +111

    this man is just re inventing the modern computing systems again

    • @YOEL_44
      @YOEL_44 Před 2 lety +4

      "modern"

    • @merseyviking
      @merseyviking Před 2 lety +5

      "just"

    • @matthewe3813
      @matthewe3813 Před 2 lety +5

      "man"

    • @kaintu
      @kaintu Před 2 lety +1

      literally just for gits and shiggles too

    • @PlumGurly
      @PlumGurly Před 2 lety +1

      @@matthewe3813 Oh, forgot using the two genders was sexist and transphobic.

  • @ZenYeti98
    @ZenYeti98 Před 2 lety +1

    Just wanted to say, you're extremely underrated, and I can't wait for your future success. You're an inspiration, and a perfect mix of learning and insanity, and its addicting!

  • @inkyfingers317
    @inkyfingers317 Před 2 lety +1

    “If you wish to make an apple pie from scratch, you must first invent the universe.”
    ― Carl Sagan

  • @olivander5171
    @olivander5171 Před 2 lety +201

    next video:
    so here i have:
    - 4 transistors
    - some cables
    - a waterfall
    - a forest & an axe
    and now, we're going to make pacman! :)

    • @gladepowderfresh
      @gladepowderfresh Před 2 lety +5

      "in a cave...with a box of scraps"

    • @kwzu
      @kwzu Před 2 lety +9

      ​@@gladepowderfresh
      I have:
      >matchbox (for phosphorus dopant)
      >borax (for boron dopant)
      >sand
      >fuselage of the plane I crashed in
      _and today we'll be running crysis!_

  • @ClayS04
    @ClayS04 Před 2 lety +389

    This guy: Makes a god dang computer
    Me: Googles "how to declare variable in HTML"

    • @1kvolt1978
      @1kvolt1978 Před 2 lety +33

      You cannot declare variables in HTML, dude. Because HTML is not a programming language and there is no variables. :D

    • @xaesthetics1769
      @xaesthetics1769 Před 2 lety +128

      @@1kvolt1978 And that's the joke.

    • @hetsmiecht1029
      @hetsmiecht1029 Před 2 lety +6

      @@1kvolt1978 someone is probably going to be really mad at what you just said.
      (I meant the HTML is not a programming language)

    • @1kvolt1978
      @1kvolt1978 Před 2 lety +6

      @@hetsmiecht1029 But it is really not. What's the point to be mad about the fact?

    • @aperson9375
      @aperson9375 Před 2 lety +19

      @@1kvolt1978 Learns when to take words as sarcasm.😉

  • @TheTyTyXD
    @TheTyTyXD Před 2 lety

    Ahhh man logisim brings me back. The logic projects I got to do in uni were my absolute favorite. Writing quick sort in MIPS is a close second. Love everything about this project

  • @Tristoo
    @Tristoo Před 2 lety +1

    That's gonna be one expensive computer.
    Also massive props, not only did you do all this, you also had to sift through hours of recording and commentate for a 20m video while editing (rather masterfully might I add) and overlapping all of it.
    I would not have had the patience. Not to deal with strings for hours in C just to make an assembler, and much less to do all that in logisim. Hell, even display stuff has gotten too cumbersome for me to not get bored with. And maybe I'm just not a video guy, or maybe I'm just disorganized with footage, but much less would I have felt like reliving the whole thing while having to also edit it and comment over it later.
    Massive respect and gratitude from me! Looking forward to the next video and seeing you bleed all over your breadboards from stripping wire and moving around ICs for hours haha.

  • @SakkakuTamashi
    @SakkakuTamashi Před 2 lety +199

    Alternative title: "how to get rid of Intel Management Engine without actually get rid of Intel Management Engine"

    • @marcobonera838
      @marcobonera838 Před 2 lety +8

      Now Intel buys RISC V, which was a promising alternative
      😭

    • @marcobonera838
      @marcobonera838 Před 2 lety +1

      @@nicolefischer1504 Well, thanks for the clarification but that's not much better 😂

    • @world_reborn1990
      @world_reborn1990 Před 2 lety

      Amd

    • @marcs9451
      @marcs9451 Před 2 lety +1

      @Marco Bonera Intel bought SciFive, a RISCV manufacturer, the ISA itself is still open for anyone to use

  • @fckngcheetah
    @fckngcheetah Před 2 lety +79

    You're literally doing everything I wanted to do, but didn't had enough motivation to finish.
    I LOVE IT

    • @Agnostic080
      @Agnostic080 Před 2 lety +2

      sounds kinda depressing tbh😂

    • @ciankiwi7753
      @ciankiwi7753 Před 2 lety +1

      @@Agnostic080 swap "motivation" for "desire" and its less depressing imo

    • @Agnostic080
      @Agnostic080 Před 2 lety

      @@ciankiwi7753 you're right. But I think it creates another problem of the action being not desirable = the result is not worth the effort. Which might be interpreted as saying that the author of the video is wasting time on pointless projects.

  • @user-rr8hc8ls5n
    @user-rr8hc8ls5n Před 2 lety +1

    I like how you’ve come from web to os to CPU ARCHITECTURE!! love your videos btw

  • @Insert_Bland_Name_Here
    @Insert_Bland_Name_Here Před 4 měsíci

    "We're rolling with only 16 instructions"
    Dude just took "Reduced Instruction Set" to the extremes

  • @vincentguttmann2231
    @vincentguttmann2231 Před 2 lety +32

    I can't wait for the Ben Eater collaboration

  • @Lim95
    @Lim95 Před 2 lety +52

    Next: creating Super Mario Bros. on a lamp

    • @philosophicalearthworm6819
      @philosophicalearthworm6819 Před 2 lety +2

      How 'bout Metal Gear on a calculator?

    • @illford6921
      @illford6921 Před 2 lety +2

      @@philosophicalearthworm6819 it's not universal enough. Surprisingly Calculators actually change a lot overseas. Most of Europe uses Casio because Texas Instruments are way to expensive

    • @InnerEagle
      @InnerEagle Před 2 lety +2

      @@philosophicalearthworm6819 that would be easier

    • @philosophicalearthworm6819
      @philosophicalearthworm6819 Před 2 lety +1

      @@InnerEagle too easy for jdh? lol
      I am genuinely curious about calculators(despite not being a math person), like ways that they could be re-purposed.

  • @Dr.GeoDave
    @Dr.GeoDave Před rokem

    Nice! Your work brings back fond memories of early 8 bit electronics for me.

  • @mysporelo
    @mysporelo Před 2 lety +3

    YEESSS YEEESSS YESSS Man You are a beast! So much time spend into this it's almost incredible! Make that circuit and the screen too for fucks sake! Amazing work ! I reeeeallly would love to know where did you learn or search all the info you need to make such a thing like this tho, because if you are not an electric/electronic engineer you must have worked your brain AF to make this happen. Congrats once more, and will be expecting anxious the next episode!!

  • @mehmeteren2276
    @mehmeteren2276 Před 2 lety +61

    one of youtube's most underrated ten channels

    • @szigo3211
      @szigo3211 Před 2 lety +2

      list 'em pls

    • @thomaspeck4537
      @thomaspeck4537 Před 2 lety +1

      @@szigo3211 suckerpinch needs to go on the list, if you want channels that put too much effort into useless computing tasks.

    • @szigo3211
      @szigo3211 Před 2 lety

      @@thomaspeck4537 Thanks

  • @toastom
    @toastom Před 2 lety +29

    I know those Ben Eater tutorials carried you so hard

  • @cyber_8778
    @cyber_8778 Před 2 lety +1

    These kind of videos inspired me to make my own. Great stuff

  • @smellthel
    @smellthel Před 2 lety +4

    He set the bar really high with his first video but he never disappoints

  • @Jamonpeligroso
    @Jamonpeligroso Před 2 lety +64

    Gotta say, I was very shocked and very impressed when you whipped out the "I don't have any formal education in digital electronics" during the hardware design phase. I would NEVER have attempted something like this without the university classes I took on Verilog and digital systems design. Mad props! Can't wait to see the final hardware!

  • @studioOuTproductions
    @studioOuTproductions Před 2 lety +51

    If you really want to implement your CPU irl I would recommend you use a fpga, most fpga boards include an editor similar to logisim so it shouldn't take you long to replicate your design.

    • @edwardfanboy
      @edwardfanboy Před 2 lety +15

      To add on to this, I think logisim-evolution supports exporting your design in Verilog and/or VHDL, which are perfect for use with FPGA design tools.

    • @fractal5764
      @fractal5764 Před 2 lety +3

      But that’s boring!

  • @satviksharma1146
    @satviksharma1146 Před 2 lety +3

    Up next uploading it on an FPGA, making your own internet and then deep diving into VLSI design to get down to CMOS transistors and clock generation. This is fun!!

  • @Asterism_Desmos
    @Asterism_Desmos Před 2 lety +1

    The next video he makes, he is going to create a universe for the earth to form, for humans to evolve, create everything we have in the early Information Age, just to play candy crush.

  • @jonathannerat
    @jonathannerat Před 2 lety +42

    I never thought I would be seeing logisim ever again but god damn was I happy when I saw it. Might be old and discontinued (at least the original) piece of shit but it just works™

    • @jdh
      @jdh  Před 2 lety +17

      I love Logisim, holds a very special place in my heart. don't know any other programs like it and don't want to.

    • @jonathannerat
      @jonathannerat Před 2 lety +3

      @@jdh Same, I can't really use anything else because I don't know about another simple software that is as complete as logisim.
      Though everytime I have to rotate components or choose the number of inputs of a component from a list I die a little bit inside

    • @Benetekt
      @Benetekt Před 2 lety +9

      There acually is a fork of logisim, call logisim-evulution that is still maintained

    • @bernardo5758
      @bernardo5758 Před 2 lety +3

      There is an open source program similar to logisim that is being actively developed, you can find it at hneemann/Digital on github, don't know how it compares do logisim though

    • @relt_
      @relt_ Před 2 lety

      @@jdh mulimedia logic (yes mulimedia)

  • @alexanderbuchler4048
    @alexanderbuchler4048 Před 2 lety +9

    next next video: I mined and refined silicon into wafers to build my own SoC

  • @Salfke
    @Salfke Před 2 lety

    Very nice project, I'm impressed can't wait to see more!

  • @connorbanks
    @connorbanks Před 2 lety +5

    This is really cool, this popped up in my recommended and I already love it. But you should make your own OS to run on the CPU, which can run a basic word processor that you made.

    • @ArneChristianRosenfeldt
      @ArneChristianRosenfeldt Před 8 měsíci

      What is an OS? Why do consoles tend to only have copy protection code in ROM, but no OS? Home computers at least had BASIC . Unix started as a file system.. So on a console with only ROM, or only a CD-ROM you don’t need an OS?

  • @edmund3504
    @edmund3504 Před 2 lety +24

    I understood very little of this more than superficially but the coding montages are very cool to watch, so I had to leave a like.

  • @Llamu
    @Llamu Před 2 lety +53

    *”mumbo jumbo says the redstone is simple when it sounds really complicated!”*
    People who understand this video: *amatuers*

    • @aviko9560
      @aviko9560 Před 2 lety +2

      Mumbos redstone skills are overrated as fuck :D Just saying, I like his vids. I always cringe when somebody says he's the best at redstone. But he's not even saying it, people are.
      I grew up watching redstone computers and stuff, in terms of this it kinda sounds trivial.

    • @inconnn
      @inconnn Před 2 lety +4

      @@aviko9560 redstone computers are different in my opinion, what mumbo jumbo does is actually practical and useful, but whos actually going to use a redstone computer? its impressive but practically, mumbo jumbos redstone is more useful.

    • @fractal5764
      @fractal5764 Před 2 lety +1

      @@aviko9560 Mumbo actually once said that he isn’t the best at redstone

    • @brandontechnerd
      @brandontechnerd Před 2 lety +4

      Legends who watched all of crash course computer science and binged all of ben eater's videos: noobs

    • @TheEnderLeader1
      @TheEnderLeader1 Před 2 lety +1

      @@aviko9560 yeah, he literally says that what he's doing is simple.

  • @NithinJune
    @NithinJune Před 2 lety +1

    we all know you were the kid writing TI-BASIC programs in your calculator in highschool

  • @fostena
    @fostena Před rokem +1

    The life of a developer is this loop:
    1 BUGGING
    2 DEBUGGING
    3 GOTO 1

  • @theemeraldfalcon9184
    @theemeraldfalcon9184 Před 2 lety +67

    "I designed my own custom computer just to play PONG"
    They did this in the 70s. Quite a lot, actually.
    *So make pong with literal atoms.*

  • @nejatulusal1475
    @nejatulusal1475 Před 2 lety +53

    Real Question: Where have you learned these stuff

    • @leyasep5919
      @leyasep5919 Před 2 lety +5

      on the internets !

    • @someonerandom9939
      @someonerandom9939 Před 2 lety +10

      @@casimirwallwitz8646 the osdev wiki wont be too much help if you're making your own cpu.
      His tetris os honestly isn't that hard to do, he basically just got a basic booting os and then started on graphics right away after input is working.
      Were you creating an os meant to be an os you would also need to worry about paging, user mode, system calls, executable formats etc

    • @pythonista_4382
      @pythonista_4382 Před 2 lety

      he is rich

    • @Yurikon3
      @Yurikon3 Před 2 lety +1

      @@leyasep5919 People using internet for the purposes it was likely originally intended... It is strangely hypnotizing.

    • @nathantaylor2026
      @nathantaylor2026 Před 2 lety

      @@pythonista_4382 And that has to do what, exactly?

  • @bioman1hazard607
    @bioman1hazard607 Před 2 lety

    I cant wait to see you construct that machine, its truly inspiring.

  • @dimitarkolev1704
    @dimitarkolev1704 Před 2 lety

    I have always wanted to make my own os running on my own cpu, but you have actually done it. Thank you, that was very inspiring.

  • @szilagyilev
    @szilagyilev Před 2 lety +38

    spoiler if you are like me: don't worry, he renames the second E instruction to F in the doc at 5:27

  • @Zonix_Official
    @Zonix_Official Před 2 lety +5

    Possible Next Video: I created my own TV that can only let you play tic-tac-toe

  • @MrGoatflakes
    @MrGoatflakes Před 2 lety +1

    The point of an LL(1) language is so you can easily build a recursive descent parser by hand for it. Perhaps you mean LALR(1) languages such as Yacc and Bison can automatically generate parsers for?
    As for recursive descent parsers, you just need one function per nonterminal in the grammar of your language and in those one clause for each production that can replace that non terminal.
    And at the start of each function you can pick which clause to use based on the next input token. That's what LL(1) stands for. Left to right scanning of the parser across the input tokens, doing Leftmost expansions. With one token of lookahead.
    Each clause is straightforward as well. For each symbol in the corresponding production, we treat them, in the order listed in the production, in the following way:
    A nonterminal means call the function for that nonterminal.
    A terminal means consume a token from the input stream. If the token read isn't the same type that the production, there's an error and the program doesn't parse.
    If the token is of the required type, you consume it somehow. Minimally remove it from the token stream. If the goal is to just check programs are correct, you can just ignore the token after you remove it from the token stream. Your parser will simply do nothing except empty the input of tokens for a correct program but produce an error if you input an incorrect program.
    If you want to do something more interesting like generate code you can have your tokenizer add more information to your token, and that information will be in its proper context, and not only that you can leave breadcrumbs for subsequent steps.
    For example you could tag variable name token types with the actual variable name. Or some computer readable equivalent. As you go along you can build up a symbol table containing such things as the type for type checking and the memory allocated to the variable.
    You could implement block scoping by having a stack of or chain of symbol tables. And if a variable name isn't found in the deepest nested block scoping you look for it in the next highest scope and symbol table.
    You can also do something with it like generate code for an assignment. Which would simply be a store into the memory location of whatever the right hand side evaluates to. Which would be calculated recursively and available when the function for the last nonterminal returns.
    That said an assembler doesn't likely need a parser, just a lexer or regular expression matching/FSM because there's likely no nested language constructs.
    And two passes, so you can find/computer the address of labels when you see the definition of a label and then come back and replace any forward references.

  • @4115steve
    @4115steve Před rokem +2

    You're a genius artist. Thanks for making these great videos, keep up the good work.

  • @atifaomer9543
    @atifaomer9543 Před 2 lety +38

    I have a huge respect for all the low level C/C++ and assembly programmers as I am a python programmer and find these languages really difficult

    • @dominikmazurek753
      @dominikmazurek753 Před 2 lety +8

      I am a Python programmer, but I am switching to C now. I don't really code in Python now much, because of C. Believe me, C/C++ is easy, you just need to learn the syntax. Assembly is easy as well, you just need to understand how your CPU works, what are memory addresses, etc.

    • @avidreader6534
      @avidreader6534 Před rokem

      @@dominikmazurek753 how do you learn this lower level stuff? I have java exp but want to learn computers on the lower level as that'll help me be a better dev tbh

    • @neekap5987
      @neekap5987 Před rokem +3

      @@avidreader6534 Watch ben eater

    • @avidreader6534
      @avidreader6534 Před rokem

      @@neekap5987 will do thank you. Any more advice would be greatly appreciate too lok

    • @neekap5987
      @neekap5987 Před rokem +1

      @@avidreader6534 Sure, i would advise you to try the Harvard CS50 course for learning the C language, you can skim over concepts that you already know about from python but you should focus on pointers and memory management

  • @noodian3268
    @noodian3268 Před 2 lety +11

    This low-level stuff is super impressive
    Crazy how some logic gates arranged in the right way can make literally anything happen

  • @GRBtutorials
    @GRBtutorials Před 2 lety +4

    4:27 16 instructions? That's a lot... you can do the same with just one!

  • @Magnogen
    @Magnogen Před 2 lety +2

    This guy just gonna casually remake the wheel

  • @syllight9053
    @syllight9053 Před 2 lety +7

    So I've been thinking and came to the conclusion that the world isn't my tier, so I remade the *whole word atom by atom*

  • @oldaccount289
    @oldaccount289 Před 2 lety +5

    Next video: I decided to make my own universe to house my custom computer…

  • @jeiang
    @jeiang Před 2 lety

    Ben eater: starts from the bottom and works upwards. jdh: starts from the top and works downwards

  • @JohnDlugosz
    @JohnDlugosz Před 2 lety

    I took a class in college where we described a computer's operations and then used "Register transfer language" to express all the operations; these were then collected and used to generate the logic for each left-hand-side of those expressions.
    The computer happened to be a PDP-8.
    Note that there was no anachronistic 64K ROMs for decoding!
    I would be more impressed if you actually did express the design using only basic logic gates, preferably as "sum of products" or "product of sum" subexpressions wherever possible.
    (This was in the late 1980's)

  • @P0pMan20
    @P0pMan20 Před 2 lety +6

    Absolute insanity, absolutely amazing, massive kudos to you fro doing this.

  • @TheBxzr
    @TheBxzr Před 2 lety +5

    Next video:
    “I’ve decided that I’m too good for computers”

  • @gaborcsapo6790
    @gaborcsapo6790 Před 2 lety

    Lovely, mate! What I really envy you is your dedication! Keep going! Good job! :D

  • @naidoeshacks
    @naidoeshacks Před 2 lety +7

    Using particles that some other being created seems too cheaty, you've got to create your own universe next.

  • @SimGunther
    @SimGunther Před 2 lety +5

    Goes to show perfection gets in the way of progress. Great job with this "computing independence" project!

  • @wellsilver3972
    @wellsilver3972 Před 2 lety +2

    This is the closest thing I can find on the entire internet to a tutorial on making a computer from scratch

  • @cazino4
    @cazino4 Před 2 lety

    I found this to be incredibly fascinating. Subscribed!

  • @yasoxtreme9961
    @yasoxtreme9961 Před 2 lety +3

    jdh in 20 years : designing my custom robot with my custom language from scratch

  • @noiwont4081
    @noiwont4081 Před 2 lety +5

    next video: I realised Assembly is too high level, so I coded Breakout in binary

  • @GamingWithMalte
    @GamingWithMalte Před 2 lety +1

    Next: i simulated every form of life while only using 1 byte of RAM

  • @shadeebot2698
    @shadeebot2698 Před 2 lety +4

    LOVE THIS. Makes me wanna dive in and do the same myself! 😅also can't wait to see the next part in the series!

  • @alexanderkirsanov6353
    @alexanderkirsanov6353 Před 2 lety +1

    Next: I designed my own universe just to desing my own pc just to run minesweeper

  • @jacobl9200
    @jacobl9200 Před 2 lety +1

    The fact that this video does not have over a million views already is criminal. Great video!

  • @EverydayCode
    @EverydayCode Před 2 lety +5

    A day with a jdh upload is a good day

  • @ThunderK01
    @ThunderK01 Před 2 lety +5

    I love your videos!
    They inspired me to try making simple 2d games on C++ last weekend

  • @nepeta3286
    @nepeta3286 Před 2 lety

    i feel proud of already having done that, tho jeez congrats, the amount of work must've been insane, i mean it took me days to work on my own 16 bit computer design
    also good luck for the next vidéo: "i build my own computer in real life on a bread board"

  • @TheNitroPython
    @TheNitroPython Před 2 lety +1

    Studying computer architecture for fun at home, this video is awesome atm 👍🏽 also, you are a mad man to do this on your free time and I love it lol I hope you make a lot of money at your day job because if not I don’t know what to expect to do with my cs degree when I’m done lol

  • @divine203
    @divine203 Před 2 lety +4

    Man I'm addicted to this channel...😳😳

  • @Lim95
    @Lim95 Před 2 lety +7

    The legend has returned

  • @justinlua4848
    @justinlua4848 Před 2 lety

    That was a very surprising ending, excited for part 2.

  • @jankinawe4416
    @jankinawe4416 Před 10 měsíci

    Bro wrote a custom architecture, an EMULATOR, and a fricking ASSEMBLER? holy cow this guy's unstoppable. I don't care if you say you dont have "formal education" in this stuff, you're a whole hecka lot better than me.