I built my own 16-Bit CPU in Excel

Поделиться
HTML-код
  • Опубликовано: 20 ноя 2024
  • НаукаНаука

Комментарии • 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 месяцев назад +2567

    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 месяцев назад +1732

    "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 месяцев назад

      🤓

  • @shaywaterstheone9477
    @shaywaterstheone9477 9 месяцев назад +1504

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

    • @WatercraftGames
      @WatercraftGames 9 месяцев назад +45

      Turing completeness is so beautiful

    • @Breakfast_of_Champions
      @Breakfast_of_Champions 8 месяцев назад +12

      Finally a Zoomer worth his salt

    • @tyttuut
      @tyttuut 7 месяцев назад +42

      ​@@Breakfast_of_Champions ok boomer

    • @MoldCollecter
      @MoldCollecter 7 месяцев назад +1

      can it run doom

    • @thechicken2634
      @thechicken2634 7 месяцев назад +8

      Technically it's an emulator

  • @royalcities
    @royalcities 7 месяцев назад +67

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

  • @BikeArea
    @BikeArea 6 месяцев назад +70

    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!

  • @baddreamreset
    @baddreamreset 9 месяцев назад +5205

    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.

  • @randomnik70
    @randomnik70 9 месяцев назад +2406

    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 месяцев назад +761

    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

  • @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!

  • @portalwalker_
    @portalwalker_ 8 месяцев назад +16

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

  • @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

  • @BrianBuonomo
    @BrianBuonomo 9 месяцев назад +773

    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

  • @HomeofLawboy
    @HomeofLawboy 9 месяцев назад +670

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

  • @robertnowak9473
    @robertnowak9473 8 месяцев назад +11

    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.

  • @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.

  • @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

  • @FireFox2313-di6bk
    @FireFox2313-di6bk 9 месяцев назад +3745

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

  • @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.

  • @dimension3dyt
    @dimension3dyt 9 месяцев назад +5

    This would be crazy to put on a resume.

  • @curiousbat5368
    @curiousbat5368 9 месяцев назад +50

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

  • @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 месяцев назад +1038

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

  • @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.

  • @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.

  • @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!

  • @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

  • @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 16 дней назад

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

  • @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 ❤

  • @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.

  • @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?

  • @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!

  • @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

  • @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

  • @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!

  • @VmMW96
    @VmMW96 9 месяцев назад +2983

    But can it run Doom?

  • @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 😆

  • @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 :)

  • @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

  • @stuartgibson9902
    @stuartgibson9902 Месяц назад +1

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

  • @TracyNorrell
    @TracyNorrell 9 месяцев назад +32

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

  • @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

  • @suavesoft
    @suavesoft 9 месяцев назад +1

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

  • @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?

  • @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

  • @secretsundersiege
    @secretsundersiege 9 месяцев назад +16

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

  • @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!

  • @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.

  • @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.

  • @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

  • @darqed
    @darqed 9 месяцев назад +34

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

  • @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

  • @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.

  • @ihavenoaura
    @ihavenoaura 4 месяца назад +1

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

  • @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 👏👏👏

  • @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.

  • @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.

  • @TheMikeStuff
    @TheMikeStuff 9 месяцев назад +1

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

  • @FireFox2313-di6bk
    @FireFox2313-di6bk 9 месяцев назад +64

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

    • @vasiovasio
      @vasiovasio 9 месяцев назад +1

      The Begining! :)

  • @autisticbluesloth5244
    @autisticbluesloth5244 9 месяцев назад +11

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

  • @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 2 месяца назад

      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.

  • @SithLordTom
    @SithLordTom 21 день назад +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

  • @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!

  • @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

  • @MsTiagoPotencia
    @MsTiagoPotencia 9 месяцев назад +22

    This is a masterpiece! Thank you so much!

  • @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.ruclips.net/video/uNjxe8ShM-8/видео.html

    • @randomland-e5x
      @randomland-e5x 9 месяцев назад

      You know what that means, don't you?
      m.ruclips.net/video/uNjxe8ShM-8/видео.html

    • @randomland-e5x
      @randomland-e5x 9 месяцев назад

      You know what that means, don't you?
      m.ruclips.net/video/uNjxe8ShM-8/видео.html

    • @randomland-e5x
      @randomland-e5x 9 месяцев назад

      You know what that means, don't you?
      m.ruclips.net/video/uNjxe8ShM-8/видео.html

    • @randomland-e5x
      @randomland-e5x 9 месяцев назад

      You know what that means, don't you?
      m.ruclips.net/video/uNjxe8ShM-8/видео.html

  • @joahchewbhaka5679
    @joahchewbhaka5679 Месяц назад +2

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

  • @thisisgood44
    @thisisgood44 Месяц назад +1

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

  • @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.

  • @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.

  • @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.

  • @_-KR-_
    @_-KR-_ 9 месяцев назад

    There is an unfinished project of mine where I set about building a complex calculator system for a game mod with the goal of public release. The basis of it was to take simple arbitrary inputs (within a limited range) and the calculator would perform a series of operations and iterations to deliver a comprehensive breakdown of the results as the input relates to it's utilization in the game mod. Anytime I would talk to anyone about it they would act like Im performing alchemy and ask why I dont just use scripting or an actual programming language on an actual compiler or whatever...
    All this is to say I appreciate what youve done here. 10:30 especially here. the power of iteration!

  • @SorensonCOD
    @SorensonCOD 25 дней назад +4

    Hey look it’s the first video on RUclips. 0:30

  • @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.

  • @seanm7445
    @seanm7445 9 месяцев назад +6

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

  • @Humble_Electronic_Musician
    @Humble_Electronic_Musician 9 месяцев назад +5

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

  • @ChuaKenja
    @ChuaKenja 2 месяца назад +1

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

  • @Fabrizio1206
    @Fabrizio1206 9 месяцев назад +83

    Well... Now run DOOM

    • @chasinggamer
      @chasinggamer 4 дня назад +1

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

  • @StevenAyy
    @StevenAyy 9 месяцев назад +8

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

  • @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.

  • @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.

  • @rubenmunozverdu7528
    @rubenmunozverdu7528 9 месяцев назад +2

    Seems that performance could be improved using INDEX instead of INDIRECT paired with ADDRESS. And I agree with other comments about naming ranges or even naming constant values. Did not download to check but with modern Excel formulas it is likely that more improvements could be introduced (LETs and LAMBDAs maybe?) In any case: super cool project!!!!!

  • @IAmCymepka
    @IAmCymepka 4 месяца назад +2

    Finally, I can download some RAM.

  • @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?

  • @BigA1
    @BigA1 9 месяцев назад +5

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

    • @Tadfafty
      @Tadfafty 9 месяцев назад

      Hahhaha

  • @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!

  • @user-Chikotillo
    @user-Chikotillo 9 месяцев назад

    From the day one of using Excel i knew that this application is much much more powerful than i think…. this just proves it! Crazy work you did here man!

  • @Uatemydoodle
    @Uatemydoodle 9 месяцев назад

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

  • @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!

  • @Mahm00dM0hanad
    @Mahm00dM0hanad 9 месяцев назад +4

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

  • @PoPoWanObi
    @PoPoWanObi 9 месяцев назад +4

    Doom in Excel CPU when?

  • @YessoN-YT
    @YessoN-YT 9 месяцев назад +3

    "Nice computer you got here! Can I have it?"

  • @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.

  • @orterves
    @orterves 9 месяцев назад +7

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

  • @modlich_303
    @modlich_303 9 месяцев назад +11

    I have a suggestion for the 8-bit Minecraft.
    Instead of seeing the outline of the player when under blocks, why not just not show the layers above. This way, you can see where you can go, instead of the vague location

  • @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

  • @Wess64IDK
    @Wess64IDK Месяц назад +1

    what my grandma sees when im doing the simplest things on a computer: