I built my own 16-Bit CPU in Excel

Поділитися
Вставка
  • Опубліковано 21 лис 2024
  • To try everything Brilliant has to offer-free-for a full 30 days, visit brilliant.org/.... The first 200 of you will get 20% off Brilliant’s annual premium subscription.
    I designed my own 16-Bit Computer in Microsoft Excel without using Visual Basic scripts, plugins, or anything other than plain Excel. This system on a spreadsheet is based off of a custom Instruction Set Architecture that has a total of 23 instruction mnemonics and 26 opcodes.
    The main design of the CPU is broken into a fetch unit, control unit, arithmetic logic unit, register file, PC unit, several multiplexers, a memory control unit, a 128KB RAM table, and a 128x128 16-color display.
    Try it out down below:
    github.com/Ink...
    This video was sponsored by Brilliant
    computer chip by MITHUN T M from Noun Project
    Memory by Alvida from Noun project
    Calculator by Uswa KDT from Noun Project

КОМЕНТАРІ • 2,3 тис.

  • @InkboxSoftware
    @InkboxSoftware  9 місяців тому +387

    To try everything Brilliant has to offer-free-for a full 30 days, visit brilliant.org/Inkbox. The first 200 of you will get 20% off Brilliant’s annual premium subscription.

    • @commanderofthewind
      @commanderofthewind 9 місяців тому +5

      Okeydokey

    • @CuriosityDynamics
      @CuriosityDynamics 9 місяців тому +1

      Next do “installing Windows 98 in Excel”

    • @R.B.
      @R.B. 9 місяців тому

      The are some channels that have been running this offer for years. How do you know if you're going to be one of the lucky "first 200?"

    • @barrycaplin1394
      @barrycaplin1394 9 місяців тому +6

      NO! SHOVE YOUR SPONSOR RIGHT WHERE IT FITS!!

    • @misterhat5823
      @misterhat5823 9 місяців тому +6

      Automatic thumbs down for putting the sponsor in the middle.

  • @NigelMelanisticSmith
    @NigelMelanisticSmith 9 місяців тому +2573

    I love the restraint of not using VBA. I'm always more impressed when people make things in Excel and PowerPoint and don't just transform everything using Macros.

    • @le9038
      @le9038 9 місяців тому +77

      Like that one guy that made PowerPoint Turing complete...

    • @gdutfulkbhh7537
      @gdutfulkbhh7537 9 місяців тому +7

      Excel on non-Windoze platforms is crippled, but this would work.

    • @s0lly
      @s0lly 9 місяців тому +11

      Yea I did a raytracer only using Excel formulae. Much more fun having to work out solutions that don’t use VBA.

    • @philmcgroin
      @philmcgroin 9 місяців тому +20

      I'd have been tempted to add some VBA right at the end to generate the clock, but I can see that would open the door to more stuff. So yes impressive restraint indeed and a great video!

    • @cjsmith411yt
      @cjsmith411yt 9 місяців тому +2

      It might also make it more cross-platform compatible. Open Office sometimes has issues with Macro import, but cell formulas should be easier to import.

  • @yds6268
    @yds6268 9 місяців тому +1736

    "The best kind of possible - theoretically possible" - I'm stealing that

    • @NotHumanPerson
      @NotHumanPerson 9 місяців тому +47

      i love how that looks as if the source of the quote is "I'm stealing that"

    • @dylankrejci9965
      @dylankrejci9965 9 місяців тому +27

      @@NotHumanPerson””The best kind of possible - theoretically possible”
      - I’m Stealing That”
      - Michael Scott

    • @LucaCiani-b7y
      @LucaCiani-b7y 9 місяців тому +1

      yeah this is one of the best jokes i've ever heard

    • @Ce0ammer
      @Ce0ammer 9 місяців тому +6

      Slight adjustment to the Futurama meme innit?

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

      🤓

  • @baddreamreset
    @baddreamreset 9 місяців тому +5211

    Next episode: Excel running on Excel

    • @KatTheCaz
      @KatTheCaz 9 місяців тому +211

      *at 0.00000000000148 FPS

    • @absolutetruth9975
      @absolutetruth9975 9 місяців тому +167

      Minecraft on excel. Doom on excel.. mario! Emulation! The possibilities!

    • @rock4459
      @rock4459 9 місяців тому +37

      ​@@absolutetruth9975Yes if you give it enough time and memory 😏

    • @pizzainc.1465
      @pizzainc.1465 9 місяців тому +20

      This is so cliche and annoying. However, its better than the comments that are like “oH My gOodNeSS hE iS lIkE a gEnIus hE sHoUlD gEt a nObEL PEacE pRize”

    • @LKComputes
      @LKComputes 9 місяців тому +8

      If one were able to implement an 8086 and simple VGA, it’d be the best kind of possible.

  • @shaywaterstheone9477
    @shaywaterstheone9477 9 місяців тому +1508

    this man basically made a VM in excel. This is a level of genius i cant even understand

  • @royalcities
    @royalcities 7 місяців тому +68

    Dude I lost it when you said "I designed my own assembly language." Because of course you did lol. You're a genius.

  • @jimlahey4995
    @jimlahey4995 9 місяців тому +421

    7:09 “most of the operations are simple” that is the most complex excel formula I’ve seen lol

    • @feixin_duke
      @feixin_duke 8 місяців тому +22

      It’s pretty much just some simple code for doing math but in a really really unreadable way. Pretty much it’s like “okay is the clock tickin? Yeah? Ok then so like do I add, subtract, multiply, divide, etc…? Ok so you want me to add? Ok I’ll add these two numbers together.” In other words, “b30 is the clock tick and this cell is equal to a value dependent on the clocks tick as well as d30 which controls which operand is being done.”

    • @jeremiahevans4175
      @jeremiahevans4175 7 днів тому

      ​@@feixin_duke The Excel equipment of writing an entire Java program in one line

  • @randomnik70
    @randomnik70 9 місяців тому +2410

    Interviewer: How good are you with Excel?
    Inkbox:

    • @Samethok
      @Samethok 9 місяців тому +117

      Dude's resume is just a link to this video

    • @prateekpanwar646
      @prateekpanwar646 5 місяців тому +22

      ​@@SamethokThe resume is also made in excel.

    • @AestheticalMinimalism
      @AestheticalMinimalism 5 місяців тому +8

      @@prateekpanwar646 The entire video is made in Excel.

    • @slimeslayer5195
      @slimeslayer5195 3 місяці тому +3

      @@AestheticalMinimalism we are made in Excel

    • @AestheticalMinimalism
      @AestheticalMinimalism 3 місяці тому +2

      @@slimeslayer5195 Planet Earth is made in Excel.

  • @Silvahhhhhhhhhh
    @Silvahhhhhhhhhh 9 місяців тому +762

    It's the year 2100, super computing became the consumer norm. Humans managed to emulate the performance of a 4090ti on Space-Excel and managed to run old games such as Starfield and GTA 6 with native Windows 11 support in a Windows 48 machine

  • @BikeArea
    @BikeArea 6 місяців тому +71

    That CPU design is awesome - for sure. But can we talk about the documentation, i. e. this video? So fabulously made and with the huge fonts and graphics an absolute joy to watch. Thanks for taking the time to create such a gem!

  • @sgsax
    @sgsax 9 місяців тому +88

    I took a microcomputer architecture class in college 30 years ago. I clearly have forgotten a lot about that class. Outstanding execution here. Thanks for sharing!

  • @BrianBuonomo
    @BrianBuonomo 9 місяців тому +774

    This is incredible. I’ve been teaching “computer repair” for 25 years. Over the years there have been a few students that actually asked “but how does the cpu move data? How does it process the instructions?” I always gave a simplified explanation, as it doe snot fall into the scope of building and troubleshooting desktop PCs. Now I can show them this video to get an idea on the logic. :-) Thankfully there are also videos out there on “building your own CPU.” Thank you for sharing this! Incredible work!

    • @Peacfull
      @Peacfull 9 місяців тому +14

      you ruined many student's life

    • @MAGNETO-i1i
      @MAGNETO-i1i 9 місяців тому +15

      There is a great book that really explain the principles and logic of a cpu. Its called "But how do it know"
      I strongly recommend it

    • @StayBassd
      @StayBassd 9 місяців тому +4

      Code by Charles Petzold is also rly good

    • @radiokaos612
      @radiokaos612 9 місяців тому +1

      Flip flops

    • @AnonymousApexio
      @AnonymousApexio 9 місяців тому

      @@PeacfullReal

  • @ITPMMentor
    @ITPMMentor 9 місяців тому +273

    As a computer science graduate specializing in databases, I appreciate the brilliance here. This project would be a great introduction to CPU design in a comp sci course. Amazing.

    • @oneito947
      @oneito947 9 місяців тому +3

      You arr so right, that was my thinking

    • @CallumsArmy
      @CallumsArmy 9 місяців тому +11

      I learnt more in this than my actual computer science course

    • @miguelelgueta5830
      @miguelelgueta5830 9 місяців тому +8

      this dude literally made a full course in cpu design in a 15 minutes video

    • @antonf.9278
      @antonf.9278 9 місяців тому +6

      ​@@miguelelgueta5830Pipelining is an important part of CPU design and rightfully made up the last third of my university's basic course on the matter. The alu was also cut short in the videos explanation and is way easier to implement in Excel.
      Overall it's a nice video but by no means a course.

    • @TheGTX1650
      @TheGTX1650 8 місяців тому +1

      Excuse me, this would be the INTRODUCTION??
      damn

  • @HomeofLawboy
    @HomeofLawboy 9 місяців тому +670

    now we wait for the Doom ports, and the Bad Apple animations

  • @portalwalker_
    @portalwalker_ 8 місяців тому +17

    4:21 "Writing high level assembly code" is by far the best line

  • @curiousbat5368
    @curiousbat5368 9 місяців тому +50

    After all of the insane job, I still felt so anxious about the "MANAGEMNET" thing at 14:34 Lol

  • @FireFox2313-di6bk
    @FireFox2313-di6bk 9 місяців тому +3745

    If this doesn’t go viral, I’m actually gonna be mad

  • @lorenzopliskin1384
    @lorenzopliskin1384 9 місяців тому +71

    if my college teachers used this shit to teach computers architecture I would have been hooked instantly back than
    great job

  • @HeadsetHistorian
    @HeadsetHistorian 9 місяців тому +1039

    'High level assembly code'
    **Bursts into tears as someone that has never gone lower than C++**

    • @jordixboy
      @jordixboy 9 місяців тому +62

      assembly is not that hard, its pretty simple language, a lot simpler than c++

    • @mikafoxx2717
      @mikafoxx2717 9 місяців тому +57

      ​@@jordixboyI used to think assembly was complicated, but really it's just a simple functional language, in a way. You can get really creative with your solutions for problems instead of doing bulk things, like maybe leaving Y register untouched in this function specifically so the calling function can forgo saving it.
      Most assembly languages are just the same basic principles but with some different commands or limitations, some need more instructions to do the same function as an x86 one, for instance. That's why macro assemblers exist.
      Sure, it's probably not a good idea to do anything substantial in it, but at least knowing what decent assembly looks like, so your most used functions can be assessed for optimization. Could also have fun with a 6502 or z80 retro computer as a learning experience.

    • @ireallydontknowifiamhonest
      @ireallydontknowifiamhonest 9 місяців тому +38

      @@jordixboy assembly isn't hard in itself but the trickiness starts arising when you start doing everything in it, at that point you pretty much have to manage everything yourself, which is pretty fun actually

    • @BibleClinger
      @BibleClinger 9 місяців тому +16

      I found 6502 assembly was really fun. It was designed to be used by humans. Even with as difficult as it is, there is something really enjoyable and simplistic about it.

    • @mikafoxx2717
      @mikafoxx2717 9 місяців тому +2

      @@ireallydontknowifiamhonest yeah, bookkeeping in a way gets hard, or if your code block gets so big that directly indexed jumps aren't far enough.. and then you have to push and pop registers awkwardly and whatnot.

  • @dimension3dyt
    @dimension3dyt 9 місяців тому +5

    This would be crazy to put on a resume.

  • @robertnowak9473
    @robertnowak9473 8 місяців тому +12

    I work in IT and I've seen some cool things done in Excel. But this is unbelievable. You have a remarkable skill set. Wish you the best of luck in succeeding and achieving your dreams.

  • @dempsej
    @dempsej 9 місяців тому +106

    That’s cool and all, but when you realize that all of that is happening right now on the device that you’re watching it (and on servers, routers, switches etc) is MIND BLOWING.
    And we take it for granted.

  • @ZipplyZane
    @ZipplyZane 9 місяців тому +477

    The one bit of VBA that I think might be justified is a completely optional script that can "click" the clock cycle button for you, seeing how fast you can get it to run.

    • @R.B.
      @R.B. 9 місяців тому +44

      100%. I think you can evaluate if a worksheet is calculating, so just monitoring that would be enough. Then you could have it clock the system. I think if someone is writing a compiler in Python, then using VBA for this sort of operation is an acceptable application. I think it would also be justifiable to apply the cell coloring for the screen pixels in the same way, allowing 16.7 M true color output... This is just because Excel has a restriction for modifying the color of cells programmatically, but it unlocks a lot of potential that conditional formatting can't. For the sane reason, VBA could be used for loading the ROM. This wouldn't be all that different than using an EPROM burner, which still doesn't diminish or detract from the Excel CPU.

    • @pacomatic9833
      @pacomatic9833 9 місяців тому +3

      Yeah, that would be a whole lot better than doing ALL of it manually.

    • @ragnarok7976
      @ragnarok7976 9 місяців тому +3

      I'll have to play with it next time I'm at my computer but I think you might be able to get some sort of iterative calculation going (there is a setting in excel to allow it). Might just end up in an infinite loop that will crash Excel but it would be so neat to have a fast clock powered by formulas to keep the whole thing as pure as possible. Not even sure my version of Excel supports them but I've heard there is a lambda formula that can call other formulas so there may be a solution to be had there as well.
      I guess you could also implement a function (not a sub) in VBA that toggles a cell in a loop and then use that function in the formula bar (excel treats VBA functions as custom formulas since they both take some parameter(s) and return a result). Still cheating to me (especially since you'd likely wouldn't be using the return value but rather the loop and a direct reference to a cell) but I guess slightly less than just banging out VBA and running it as a macro.

    • @Eji1700
      @Eji1700 9 місяців тому +7

      Pretty sure the limitation is not how fast you push the button but how long it takes excel to process the formulas. That’s what he demonstrated at the end where each press of the button takes a couple of seconds to process the clock cycle, so any automation there just means you can leave the program running while you run some errands and it finishes in an hour

    • @ZipplyZane
      @ZipplyZane 9 місяців тому +2

      @@Eji1700 He said it runs at a few hertz, which is about how fast you can click. But, yeah, it's possible it can't run any faster.

  • @Caeleste-42bit
    @Caeleste-42bit 9 місяців тому +478

    The moment your CPU notices you have been cheating on it with Excel

    • @gooseloose682
      @gooseloose682 9 місяців тому +55

      it is more like a poly relationship really. Your cpu is totally in on it

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

      @@gooseloose682 reddit cuck cpu

    • @casultaser
      @casultaser 7 місяців тому +6

      Emulators and VMs be like:

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

      @@gooseloose682
      Imagine getting your gf pregnant and dating the fetus

    • @EmeraldCraft0
      @EmeraldCraft0 17 днів тому

      ​@@poka26ev2sooo, just like what dad did with me?

  • @mariogonzalezramirez9486
    @mariogonzalezramirez9486 9 місяців тому +19

    This is maybe the greatest video i have seen in the last few years. This video and your project would have helped me a lot to explain to my students of computer architecture. I will download all the files and analize them carefully.

  • @deliveryboy
    @deliveryboy 4 місяці тому +3

    its insane just by showing how complex it was to create the cpu- it made sense of how cpus work in the first place. essentially cylinders firing from an initial blast. awesome.

  • @bigbigx2250
    @bigbigx2250 9 місяців тому +272

    Emulating physical circuitry with excel is really cool. Great video!

    • @teemoammo
      @teemoammo 9 місяців тому +1

      Excel is already powerful so this wasv rudimentary at best...

    • @oneito947
      @oneito947 9 місяців тому +1

      Should be taught on cs

  • @brandonechols
    @brandonechols 9 місяців тому +236

    This is literally the best thing I've ever watched. It's really great to see others appreciate the power of excel WITHOUT using Visual Basic! The use of iterative calculation is genius, and the way you route everything together is truly splendid. Wonderful video, I'd love to see more videos elaborating on all these cool ways to utilize the functions!

    • @InkboxSoftware
      @InkboxSoftware  9 місяців тому +64

      I was so disappointed seeing other Excel videos just write Basic programs, I had to undo an injustice.

    • @brandonechols
      @brandonechols 9 місяців тому +4

      @@InkboxSoftware EXACTLY! 😄

    • @oneito947
      @oneito947 9 місяців тому

      Wow

    • @flameofthephoenix8395
      @flameofthephoenix8395 9 місяців тому

      @@InkboxSoftware I personally would have just wrote nothing but VBA except for rendering the screen which is benefitted by =MAKEARRAY since VBA is not nearly quick enough to handle all those cells. Though, I do understand the challenge aspect, but when I did challenge myself to use almost exclusively formulas except for the one function making sure the player didn't have to manually hold F9, it was pretty boring even after I had completed it, it just wasn't very fun for me, but to each their own!

  • @youtubegoogle4163
    @youtubegoogle4163 9 місяців тому +91

    This is absolutely beautiful. I am an Electronics Engineer, and am good with excel also.
    I still can't imagine how much of time and patience it takes to do this...
    Keep up the great work brother ❤
    You deserve my subscription ❤

  • @SimpleCarGuy
    @SimpleCarGuy 9 місяців тому +4

    Been Sys Engineer for 8 years and it was a struggle to follow and understand everything, very complex but cool. Awesome video!

  • @stuartgibson9902
    @stuartgibson9902 Місяць тому +1

    Absolute nuts, genius. Didn't understand 99% of it! But quality.

  • @xhec
    @xhec 9 місяців тому +65

    there are so many people that have crazy titles like this and then just use shortcuts and produce a simplified result then. but you, you stayed true, used no shit, made an interesting video and even explained well what you're doing. keep on doing this, you earned my sub

  • @strokkur24
    @strokkur24 9 місяців тому +38

    Ah yes, an average task in university: Build your own CPU, RAM, Display and make your own Assembly Language for it in Excel. What a classic!
    All jokes aside, this actually taught me a lot about how CPUs work and I am even more grateful now for being able to run something as insane as Doom Eternal on my pretty old pc

  • @martinkunev9911
    @martinkunev9911 9 місяців тому +24

    That seems like a very good project if you're learning about computer architectures.
    You didn't write a compiler, you wrote an assembler :)

  • @ganjasage420
    @ganjasage420 9 місяців тому

    Honestly insane. The fact you made a program that was essentially only made for documentation and somehow got it to be a 16-bit pc is impressive as hell. How you managed to figure this out is crazy impressive as well.
    Very well done.

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

    This is highly educational, it's not just writing an emulator for the functionality, it's implementing excel analogues for the actual digital logic level constructs.

  • @crysiank
    @crysiank 9 місяців тому +109

    Dude. That was pretty cool.
    But the most important question:
    CAN. IT. RUN. DOOM?

    • @absolutetruth9975
      @absolutetruth9975 9 місяців тому +16

      Theres a guy on youtube who sees if every device can run doom. Somebody needs to tell him about this.

    • @Anzeljaeg
      @Anzeljaeg 9 місяців тому +9

      Sad ... Kinda cant in this condition, they need to finish the CMD, but as he say ... In theory, yes we can ... Just couple of more steps

    • @jamieevans5979
      @jamieevans5979 9 місяців тому +8

      Not without rewriting Doom itself. It was designed for 32-bit systems, and in this video, a very limited instruction set is used. It would not be possible to capture and react to keyboard input from an Excel spreadsheet simply with formula either. Would be cool though.

    • @Akira-Aerins
      @Akira-Aerins 9 місяців тому +3

      ​@@jamieevans5979but can it ***fake*** running DOOM?

    • @jamieevans5979
      @jamieevans5979 9 місяців тому +2

      @@Akira-Aerins Sure. Just use a screen recorder and embed the video on the spreadsheet 😆

  • @MrPeloseco
    @MrPeloseco 9 місяців тому +28

    Brilliant!!
    I'm sure you're going to inspire many old fellas like me. Computer architecture was by far my favorite. We designed 16bit CPU's using the proper software. Ended up taking design VLSI... Of course this was early 90's.
    Now I really want to load Excel and start designing the flip-flops, counters, multiplexors, etc!!
    Thank you!! Very inspiring!!

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

      Have you done some projects on Excel? Is it possible to show them?

  • @harmoen
    @harmoen 9 місяців тому +38

    As an Excel nerd this is insane and I want to see more

  • @ChuckLennon
    @ChuckLennon 8 місяців тому +4

    That was one hell of a ride !
    My gosh ! I am fond of PCs inner working, but wow ! The complex parts are so well-made ! And the concept is just mind-blowing !
    Very good video :D

  • @jasonfails237
    @jasonfails237 9 місяців тому +4

    This is one of the craziest projects I've ever seen, and explained so well at that. Great video! Earned my sub.

  • @secretsundersiege
    @secretsundersiege 9 місяців тому +16

    Thank you for providing actual human-written captions. Not many people do that anymore but it really helps.

  • @modlich_303
    @modlich_303 9 місяців тому +86

    It's funny how as a programmer, my family assumes i know that kind of stuff.
    Like, no, you don't need to know the inner workings of something to use it, most people don't know how the keyboard works, yet they can use it to write

    • @MagicThanos7
      @MagicThanos7 9 місяців тому +6

      would be better for you if you did though

    • @mmmmmmmmmmmmmmmmmmmmmmmmmmmm56
      @mmmmmmmmmmmmmmmmmmmmmmmmmmmm56 9 місяців тому +10

      Front-end dev spotted

    • @modlich_303
      @modlich_303 9 місяців тому +6

      @@mmmmmmmmmmmmmmmmmmmmmmmmmmmm56 I make games and other programs, i don't make computers 🙃

    • @ragnarok7976
      @ragnarok7976 9 місяців тому +3

      If black boxes always worked exactly as you intend them too then I'd agree... But they don't and while I wouldn't recommend just opening everyone you find for the sake of it, it really does help to have some experience cracking a few cases because you will need to at some point.
      I'd hazard to guess this attitude is one reason why most modern software is horribly optimized and tends to be a nasty soup of cobbled together packages. Sure that might be a simple and blissful way to do things but ignorance will never produce something of higher quality than true understanding. Not to mention it doesn't pass the "what if everybody did it" test because at some point somebody needs to be able to create and service black boxes or the consumers will have nothing to stitch together.

    • @ammo2222
      @ammo2222 9 місяців тому +1

      Im just a PLC Technician not a Programmer, but how a CPU Works was literally the first Thing i learned.
      The First Code we wrote Was i Assembly, if you Understand how the Basics work, you can build on that

  • @LukeWilliams91
    @LukeWilliams91 9 місяців тому +46

    Between you and Ben Eater I think we have the best set of ‘how computers work’ resources ever made. Thank you so much for making this and giving it all away 🎉❤

    • @Nimantu
      @Nimantu 9 місяців тому

      Don't forget James Sharman

  • @JerryDodge
    @JerryDodge 3 місяці тому +1

    Bro, I've been writing my own unrelated concept to convert/encode any arbitrary binary data to an image format - just a bitmap of, not necessarily pixels, but small "boxes", which I call "cells". I watched this video a while back, which is part of my inspiration for this new project of mine. But now I'm watching it again, more carefully, because I think I can marry these two concepts together. Taking our concepts to the next level - an image-based computer. arrays of Image frames can contain anything - a binary program, a video, a text file... And not even just files either. This concept can hold memory in and of itself, in the form of an image.
    So far, I've managed to stuff 16KB of data within a single image, using arrays of 4-bit colors in these cells. And I haven't even gotten around to a decoder yet, because the encoding part of it keeps changing :P

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

      What are you going to do with the data in an image?

  • @IshanGThe1andOnly
    @IshanGThe1andOnly 9 місяців тому +2

    This is so cool we started to implement our own ISA by scratch with RISC-V in my computer org class. Thanks for a great video!

  • @randomguy555
    @randomguy555 9 місяців тому +18

    Well, technically, the moment you showed both a NOT and an AND bitwise operation being supported by excel it was all possible, though actually getting it to work would be another matter :P Great video!

  • @tomcat.c
    @tomcat.c 9 місяців тому +96

    I’m actively working on a full 3d cube renderer in excel and this has inspired me

    • @xdasdaasdasd4787
      @xdasdaasdasd4787 9 місяців тому +11

      Video when

    • @tomcat.c
      @tomcat.c 9 місяців тому +1

      @@xdasdaasdasd4787 im not all that good at making videos but i will maybe upload one once i finish

    • @sol_pregnantguy
      @sol_pregnantguy 9 місяців тому +3

      Show us when it's done

    • @terrytibbs951
      @terrytibbs951 9 місяців тому

      Already been done use google

  • @TracyNorrell
    @TracyNorrell 9 місяців тому +32

    I'm going to rewrite Excel to run on your new CPU!

  • @joaoarmandogallas1373
    @joaoarmandogallas1373 9 місяців тому +1

    I had a degree in electronics like 14 years ago and it's amazing to see this. you put a lot of work. nice job

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

    Dude this guy is a mad man i can feel the sleepless nights

  • @fromixty
    @fromixty 9 місяців тому +34

    Hyper underrated, I've already said it, but more people need to see this.

  • @trudyandgeorge
    @trudyandgeorge 9 місяців тому +7

    The moment the rom was loaded and the instructions appread was magical 👏👏👏

  • @VmMW96
    @VmMW96 9 місяців тому +2998

    But can it run Doom?

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

    I love the computer science world because you have stuff like this being made with the justification usually being "because I can"

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

    Blown away! Coded in 360 assembler back in the 70's and have great respect with what you accomplished. You have a great future ahead.

  • @nicholasmascioni3333
    @nicholasmascioni3333 9 місяців тому +5

    This was the coolest thing I watched in a while, taking a computer architecture class right now and seeing some of the stuff we talk about made in excel is sick

  • @Zach010ROBLOX
    @Zach010ROBLOX 9 місяців тому +14

    This was hard enough with an HDL and a bunch of TAs to help us in class. Even though excel has a few tiny convenience features, this is awesome and I can't wait to see what else you have in store.

  • @Humble_Electronic_Musician
    @Humble_Electronic_Musician 9 місяців тому +5

    Most impressive and intriguing thing I've seen on YT this year!
    Awesome job!

  • @joahchewbhaka5679
    @joahchewbhaka5679 Місяць тому +2

    I don't think AI is going to take you job bro! hahaha, great stuff, keep it up!

  • @SithLordTom
    @SithLordTom 22 дні тому +3

    3:45 I love how asm is “high level” lol

    • @danielepotenza8556
      @danielepotenza8556 20 днів тому

      Exactly what I thought. I almost had a stroke and also laughed like crazy

  • @darqed
    @darqed 9 місяців тому +34

    Bro this is actually insane. Using pure excel to make an actual working 16-bit cpu

  • @MsTiagoPotencia
    @MsTiagoPotencia 9 місяців тому +22

    This is a masterpiece! Thank you so much!

  • @Kwpolska
    @Kwpolska 9 місяців тому +125

    Here’s an unsolicited Excel tip: you can give names to cells in the top-left corner so that you don’t need to remember what $D$3 means.

    • @MichaelStubbs
      @MichaelStubbs 9 місяців тому +14

      And this comes in handy even for medium sized projects! I use this all the time, it makes everything so much more maintainable!

    • @ragnarok7976
      @ragnarok7976 9 місяців тому +12

      You can also use the name manager to do the same thing. It's even more powerful because you can create a named value that doesn't exist on any sheet.

    • @Sekir80
      @Sekir80 9 місяців тому

      @@MichaelStubbs What do you call medium sized?

    • @MrKalerender
      @MrKalerender 9 місяців тому +2

      Oh wow, that is insanely useful for writing things that will be easier for my teammates to read. Thanks!!

    • @PeterJnicol
      @PeterJnicol 9 місяців тому

      This is the way.

  • @Uatemydoodle
    @Uatemydoodle 9 місяців тому

    You are insane. I can't even begin to comprehend the genius required for this.

  • @Mantorix
    @Mantorix 9 місяців тому +1

    Have seen this in the news a few days ago and today your video popped up in my YT feed. I just had to click it.
    Amazing work, i expected some macro stuff but i never imagined this to even be possible just by formulas.

  • @HaniiPuppy
    @HaniiPuppy 9 місяців тому +16

    4:29 - Literally this exact sort-of use case is why RISC exists, you've re-invented the wheel a wee bit there.

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

      Critiquing something for 'reinventing the wheel' in a video about building a CPU in excel is wild

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

      @@WillKew Hah. I just meant that he could have cut out a portion of the work not actually related to the project by just going with with an appropriate instruction set in the first place.
      I do sometimes read my old comments and wonder why I worded them a particular way though.

  • @autisticbluesloth5244
    @autisticbluesloth5244 9 місяців тому +11

    i barely understand what you're saying but it makes me want to learn about computer architecture

  • @DefaultFlame
    @DefaultFlame 9 місяців тому +6

    This is beyond amazing.
    Edit: The only reason I understand all of this is because of Ben Eater's 8-bit computer build video series.

  • @suavesoft
    @suavesoft 9 місяців тому +1

    One word: OUTSTANDING!! Cant wait to see how you improve on it. Well done, sir!

  • @thisisgood44
    @thisisgood44 Місяць тому +1

    Im gonna learn how to make cpu from scratch then i will come back to this video to understand it

  • @StevenAyy
    @StevenAyy 9 місяців тому +8

    This channel has become instant watch for me. Love love love these videos.

  • @NICK....
    @NICK.... 9 місяців тому +32

    all thats left now is coding DOS in excel with this CPU and then running excel in that DOS

    • @killpidone
      @killpidone 9 місяців тому +11

      For irony, it would have to be lotus 1-2-3

    • @NICK....
      @NICK.... 9 місяців тому +3

      @@killpidone that would be incredible

    • @alihms
      @alihms 9 місяців тому +2

      For pure "Microsoft-verse", it should be DOS and Excel. But just to annoy Microsoft, the operating system should be IBM OS/2 and the spreadsheet Lotus 123.

    • @PeterJnicol
      @PeterJnicol 9 місяців тому

      ​@@killpidone DOS is not done til Lotus won't run.

  • @FireFox2313-di6bk
    @FireFox2313-di6bk 9 місяців тому +64

    0:30 the “me at the zoo” video was a nice touch

    • @vasiovasio
      @vasiovasio 9 місяців тому +1

      The Begining! :)

  • @TheMikeStuff
    @TheMikeStuff 9 місяців тому +1

    And I was happy I could do the (sum)= function

  • @jakobvalinder1772
    @jakobvalinder1772 9 місяців тому

    There is a very specific group of people that will appreciate this video, but WOW, does that group appreciate it! Great job! Now just tur this into a semester-long assignment, and you'll tech at any computer science university!

  • @seanm7445
    @seanm7445 9 місяців тому +6

    I don’t often Like a video, but this deserves a Thumbs-up.
    I hope that Computerphile come across this!

  • @R.B.
    @R.B. 9 місяців тому +10

    I think it might have been valuable to use some of the LOOKUP functions. You could have had a microcode sheet where the instructions are defined which would have probably made things easier to fix. The cell formula you then paste to all the cells would just have this LOOKUP indirection.

  • @JoBot__
    @JoBot__ 9 місяців тому +5

    I struggle to implement a virtual CPU in Java, yet you've implemented one in a spreadsheet program. Amazing. :D

    • @flameofthephoenix8395
      @flameofthephoenix8395 9 місяців тому

      It's probably a little easier to write it in the Spreadsheet than Java, even though Java is better suited to it, practically Java is easier, but the very fact that Excel is harder makes it more interesting and so easier to write in, for Java you're just using the most basic level things to do it so it doesn't feel like writing a program since the end goal is something you already had to begin with. This is why it doesn't feel all too hard to write the potentially thousands of BrainF commands just for a simple task but that same task may feel dull to do in a higher level language.

    • @gregorymorse8423
      @gregorymorse8423 9 місяців тому

      I could write a virtual CPU in 5 lines of Python or Java or 5 excel cells. It might not look nice, but emulating using a very powerful high level language is extremely simple. The real interesting thing here was how he made it readable and interactive and extremely well presented. An expert at the end of the day can do this in far less.

    • @JoBot__
      @JoBot__ 9 місяців тому

      @@gregorymorse8423 I have implemented CPUs in Java before, I just never got far enough in the project to write an assembler, and I never really accomplished what I wanted to. I do have plans to make a complete virtual console soon though.

    • @gregorymorse8423
      @gregorymorse8423 9 місяців тому

      @CreatorJo writing an assembler is pretty easy but it does involve tokenizing, lexing, and parsing. It is certainly more work than emulating a simple instruction set. But then it's just simple translation. Far simpler than the work a compiler needs to go through as you don't have variables.

    • @flameofthephoenix8395
      @flameofthephoenix8395 9 місяців тому

      @@gregorymorse8423 Speaking of assemblers, when an assembler has compiled assembly into machine code, how does it then tell the CPU to run that machine code on Windows, I'd imagine on most electronics it's not terribly difficult, but for Windows it really seems to hate people using machine code. They also got rid of the DEBUG command in command prompt, how rude!

  • @ihavenoaura
    @ihavenoaura 4 місяці тому +1

    bro took "i excel in it" to a whole new level

  • @Ahmad-pd7fq
    @Ahmad-pd7fq 9 місяців тому +13

    "But can it run doom?"

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

      I would also like to see this

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

      Doom has already been run on excel and on lower capacity programs. I'm sure it'd 100% run doom

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

      but has it been run on a cpu written in excell?

  • @OwO-.
    @OwO-. 9 місяців тому +22

    First of all, insane stuff! I've implemented a few CPUs, but definitely not in Excel lol
    - With the assembler being fairly small, wouldn't it be feasible to implement that in Excel functions (or at least macros) too?
    - Wouldn't setting the max iteration count (at 2:31) to 100+ drastically speed up the CPU, or would that break it?
    - Also, if the limitation on colors on the display is that you have to define a rule for each pixel, why not use RGB subpixels?

  • @karmatical5837
    @karmatical5837 9 місяців тому +16

    Excel: *no, don't make me Turing complete NOOOOOooooo*

    • @randomland-e5x
      @randomland-e5x 9 місяців тому

      You know what that means, don't you?
      m.ua-cam.com/video/uNjxe8ShM-8/v-deo.html

    • @randomland-e5x
      @randomland-e5x 9 місяців тому

      You know what that means, don't you?
      m.ua-cam.com/video/uNjxe8ShM-8/v-deo.html

    • @randomland-e5x
      @randomland-e5x 9 місяців тому

      You know what that means, don't you?
      m.ua-cam.com/video/uNjxe8ShM-8/v-deo.html

    • @randomland-e5x
      @randomland-e5x 9 місяців тому

      You know what that means, don't you?
      m.ua-cam.com/video/uNjxe8ShM-8/v-deo.html

    • @randomland-e5x
      @randomland-e5x 9 місяців тому

      You know what that means, don't you?
      m.ua-cam.com/video/uNjxe8ShM-8/v-deo.html

  • @BigA1
    @BigA1 9 місяців тому +5

    I look forward to you implementing a RISC5 version! But seriously, I'm impressed with what you've done.

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

    When I see comments in communities I'm knowledgeable in, where people are hooked and watch despite not really understanding, I've always found it strange. Not any more. You lost me with the computer jargon, but I was still blown away. Have yourself a like.

  • @Alexanderrayman
    @Alexanderrayman 9 місяців тому

    I've built "programs" in Excel, improving efficiancy at several workplaces ive been at.
    This, however, is an entirely different level. Love it!

  • @MNSweet
    @MNSweet 9 місяців тому +6

    Have you ever watched The Microsoft Excel World Championship? It's on ESPN each year when they become ESPN 8 the Ocho for a week.

  • @Fred_Klingon
    @Fred_Klingon 9 місяців тому +10

    Man, you're awesome!
    Excel is great by itself, but this project is on another level.
    Not only it's beautiful, but it's also a valuable tool to learn the internal processes of a CPU.
    Instant subscribe!

  • @Imperial_Squid
    @Imperial_Squid 9 місяців тому +7

    Looking forward to part 17 of this series "I coded DOOM in Game of Life in a 16 bit computer in Excel"

    • @Sekir80
      @Sekir80 9 місяців тому +1

      Bro! I asked, does it run doom? :D I guess we both look forward to this.

  • @nlagas
    @nlagas 9 місяців тому

    This is one of the most glorious thing I’ve seen on the subject in the entire UA-cam

  • @ccramit
    @ccramit 9 місяців тому

    I'm glad people like you exist. We'd still be using vacuum tubes on really crappy computers if folks like you didn't exist years ago. I can only REALLY understand a few bits here and there, but I can still recognize talented people when I see their work.

  • @Fabrizio1206
    @Fabrizio1206 9 місяців тому +83

    Well... Now run DOOM

    • @chasinggamer
      @chasinggamer 5 днів тому +1

      Lol true (it can if it was running an os)

  • @kertarokcz5044
    @kertarokcz5044 9 місяців тому +34

    Can it run DOOM?

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

      No

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

      @@Aligames5747 anything can run doom 😂 I would love you see him try it even if it is a failure.

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

      @@noahorick986 but this is 16 bit and doom is 32 bit

  • @orterves
    @orterves 9 місяців тому +7

    Using Excel in this way to demonstrate modelling a CPU is unironically excellent and captivating

  • @kurtmickey1524
    @kurtmickey1524 9 місяців тому

    As a computer engineer, this is AMAZING. Very impressive hahaha. Your explanation was very good and gave a solid understanding of the basics

  • @janmangu399
    @janmangu399 9 місяців тому

    I like to make UIs and softwares based on excel sheets but you my friend has taken it to a whole new level.

  • @Mahm00dM0hanad
    @Mahm00dM0hanad 9 місяців тому +4

    There is always someone smarter than you. UA-cam show me some incredible people, I thought no one can achieve this level

  • @PoPoWanObi
    @PoPoWanObi 9 місяців тому +4

    Doom in Excel CPU when?

  • @SorensonCOD
    @SorensonCOD 25 днів тому +4

    Hey look it’s the first video on UA-cam. 0:30

  • @the.abhiram.r
    @the.abhiram.r 9 місяців тому

    i honestly can't wait to get to my systems architecture course because it's incredible how simple a cpu is in its most basic sense

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

      That was simple?🥲