Reverse engineering Microsoft BASIC

แชร์
ฝัง
  • เผยแพร่เมื่อ 23 พ.ย. 2024

ความคิดเห็น •

  • @a1k0n
    @a1k0n 8 ชั่วโมงที่ผ่านมา +168

    Minor bug in your print routine: you test the length after decrementing it, so a zero-length string wil print 256 bytes of garbage.

    • @rhysbaker2595
      @rhysbaker2595 7 ชั่วโมงที่ผ่านมา +15

      Sounds fun

    • @PrebleStreetRecords
      @PrebleStreetRecords 5 ชั่วโมงที่ผ่านมา +31

      Heartbleed 6502 edition

    • @TrollingAround
      @TrollingAround 2 ชั่วโมงที่ผ่านมา +3

      yes, tax, beq lcd_print_exit

  • @sirnukesalot24
    @sirnukesalot24 9 ชั่วโมงที่ผ่านมา +130

    Yes, floating point video please

    • @akaHarvesteR
      @akaHarvesteR 8 ชั่วโมงที่ผ่านมา +4

      YES YES YES pretty please

  • @Aresydatch
    @Aresydatch 9 ชั่วโมงที่ผ่านมา +148

    In memory of Thomas Kurtz, inventor of BASIC
    1928-2024

    • @frankowalker4662
      @frankowalker4662 6 ชั่วโมงที่ผ่านมา +11

      Oh. I didn't know Kurtz died.
      10 PRINT ":( ";
      20 GOTO 10

    • @evilotis01
      @evilotis01 6 ชั่วโมงที่ผ่านมา +4

      10 FOR I=1 TO 2
      20 PRINT "The horror!"
      30 NEXT I
      ...but seriously, RIP :(

    • @RynCarmichael
      @RynCarmichael 3 ชั่วโมงที่ผ่านมา +5

      Co-Inventor with John G Kemeny who also passed away some year ago. But yes very sad, was one of my heroes who made computing accessible to so many more..

    • @frankowalker4662
      @frankowalker4662 3 ชั่วโมงที่ผ่านมา +1

      @@RynCarmichael I still program in BASIC on my ZX81 now and then.

    • @RynCarmichael
      @RynCarmichael 3 ชั่วโมงที่ผ่านมา

      @@frankowalker4662 Nice I started on a Sinclair ZX80, with 1K of ram, was fun..

  • @moshly64
    @moshly64 9 ชั่วโมงที่ผ่านมา +75

    In Commodore MS Basic, the output of the print command was controlled by a variable, the screen was device 3 but this could be changed to any device (0 Keyboard, 1 Tape, 2 Serial, 3 Screen, 4-7 Printer, 8-15 Disk). If you implement the LCD as a device then the system print/input/get commands can be redirected to any device.

    • @drobotk
      @drobotk 8 ชั่วโมงที่ผ่านมา +3

      That sounds like the best approach to do this

  • @Lemonator321
    @Lemonator321 10 ชั่วโมงที่ผ่านมา +108

    Intel has been real quiet since this dropped

    • @En-Pea-Sea
      @En-Pea-Sea 8 ชั่วโมงที่ผ่านมา +7

      Bill Gates hates this one trick!

    • @MichaelWillems
      @MichaelWillems 8 ชั่วโมงที่ผ่านมา +1

      😂

    • @rhysbaker2595
      @rhysbaker2595 7 ชั่วโมงที่ผ่านมา

      MOS Technologies has been raking it in

  • @bcarlisle2575
    @bcarlisle2575 10 ชั่วโมงที่ผ่านมา +29

    Yeah…just bought the full 6502 kit and have been watching for a couple years…can’t wait to watch all of these again and follow along this time with my own kit.

  • @euromicelli5970
    @euromicelli5970 8 ชั่วโมงที่ผ่านมา +7

    2:27 yes, PRINT in MS Basic supports a SPC(n) and TAB(n) pseudo-functions. SPC(n) outputs ‘n’ spaces (you can get the same result by outputting SPACE$(n) of course but that’s more verbose and allocates an additional string). TAB(n) outputs enough spaces to reach column ‘n’; if you’re past the ‘n-th’ column in the output already, it outputs a new line and then enough spaces to get to ‘n’ on the next line. These are not real functions but output-control/formatting operators; they only exist within PRINT.

  • @zirize
    @zirize 7 ชั่วโมงที่ผ่านมา +16

    I was shocked to find that there was a buffer in the zero page. I've always considered the zero page to be a kind of register. It's such a precious memory that I've always believed it should be used sparingly.

    • @safiire
      @safiire ชั่วโมงที่ผ่านมา

      this

    • @paulabraham2550
      @paulabraham2550 40 นาทีที่ผ่านมา

      MS Basic even has a subroutine in zero page to pick up the next character from the prog - wild. And I've just realised I've picked that out of a more than 40 year old memory from when I was doing my own reverse engineering on it!

  • @mikefochtman7164
    @mikefochtman7164 9 ชั่วโมงที่ผ่านมา +23

    Hmmm "82C00000" is NOT modern IEEE-754 flt point for 3.0. That would be 0x40400000 I remember using another system that also represented floating point in an odd way called "Excess-64". I suppose before floating point machine instructions were standardized, vendors were free to come up with each unique format.

    • @nikkiofthevalley
      @nikkiofthevalley 8 ชั่วโมงที่ผ่านมา +2

      Yeah, that confused me there. It is still the same basic (pun very much intended) idea, just done slightly differently.

    • @dkosmari
      @dkosmari 7 ชั่วโมงที่ผ่านมา +9

      That's exactly how the history of floating-point formats played out. Each vendor had their own format and conventions, some even had design bugs. Some engineers even went as far as saying "you don't need floating-point, any mathematician worth their salt will know where the point is supposed to be." Some threatened to boycott the standard unless it matched the hardware they themselves were already selling to clients (such as government, military, banks, etc.) It was one of the biggest dramas in the computer industry up to that point. Needless to say, IEEE-754 left a lot of vendors unhappy, we almost didn't get a floating-point standard at all.

  • @15743_Hertz
    @15743_Hertz 4 ชั่วโมงที่ผ่านมา +5

    Floating point, YES! There's so little written or explained about it.

  • @hamzawali2893
    @hamzawali2893 10 ชั่วโมงที่ผ่านมา +50

    HES BACK 🎉🎉🎉

  • @naso_g
    @naso_g 9 ชั่วโมงที่ผ่านมา +9

    That was interesting thank you! It's pretty crazy how you can read HEX like another language, pretty cool.

    • @klafbang
      @klafbang 7 ชั่วโมงที่ผ่านมา +3

      It becomes quite easy after a bit as it has been structured for being semi-readable. 0 is 0x30, A is 0x41, a is 0x61. You just read digits as "whats after 0x3" and letters as "what's after 0x4, 0x5 or equivalently 0x6, 0x7". Space and the most common punctuation you easily pick up as "before the numbers or between numbers and letters" with space = 0x20.

  • @chriswalker2753
    @chriswalker2753 8 ชั่วโมงที่ผ่านมา +2

    Brilliant! Takes me back to my early days on a 6502 machine. IIRC the comma and semicolon are used to modify formatting. Comma allows printing a separated list of things. Semicolon at the end prevents a newline. I think you can also use semicolon to suppress the space prepended to positive numbers.

  • @jeromethiel4323
    @jeromethiel4323 ชั่วโมงที่ผ่านมา +1

    Zero page memory is absolutely critical for 6502. Not only is memory access faster in zero page, it's the only way to do indirect addressing. So if you want pointers, which you definitely do, you need 2 bytes in zero page to hold the address. When i was coding in machine code on the Apple ][, i never put simple variables in zero page, that was always just reserved for pointers.
    Mainly, because i was using basic for the majority of most programs, and only using machine code for the fast bits. So i could not use zero page that was used by basic.
    When i was writing my one and only 6502 "game," i could use the entire space, and that was amazing!

  • @RegisMichelLeclerc
    @RegisMichelLeclerc 9 ชั่วโมงที่ผ่านมา +6

    I confirm the space before a positive number is for the sign, I think you passed on that code in the string construction. There was also a test for the comma that simulates a tab. However, later versions of basic also had a "print using" command (Amstrad) similar to C's "printf()" or "print@" (Oric) that included cursor positioning in the same command.

    • @mikefochtman7164
      @mikefochtman7164 9 ชั่วโมงที่ผ่านมา +2

      Agree. space vs minus sign was common in FORTRAN as well (another old language lol). FORTRAN had options where you could force a "+" sign instead of space.

  • @krzysztofhennig
    @krzysztofhennig 3 ชั่วโมงที่ผ่านมา +1

    Hi, if you are looking for a really cheap soundcard, you can use a 555 timer with few resistors connected via their respective mosfets to pin 7 to control the PWM cycle time. Each resistor/mosfet pair gives us 2 new frequency combinations. With 4 resistors/mosfets pairs you will get 16 frequencies. That would sound like a buzzers from 80s :) If you wish, you can even use PCF8574 to control the cycle time via I2C. Good luck!

  • @clonkex
    @clonkex 5 ชั่วโมงที่ผ่านมา +2

    0:33 I bought one of your breadboard CPU kits! It makes for a fantastic conversation starter. Maybe one day I'll even assemble it.

  • @akaHarvesteR
    @akaHarvesteR 9 ชั่วโมงที่ผ่านมา +16

    This was jaw droppingly amazing 🤯
    Mind that if you followed along since the beginning of the b breadboard computer series, We've watched Ben basically reinvent modern computing, from bits of wire and transistors, to evaluating formatted strings in software.
    We need an international holiday to celebrate this man!

  • @blazernitrox6329
    @blazernitrox6329 6 ชั่วโมงที่ผ่านมา +2

    Seconding (thirding? fourthing?) the floating point video. I think I've got a pretty good grasp of how floating point numbers are represented at a high level, but actually getting into the weeds on how the representation is generated would be really cool, especially in a pure-software environment like on the 6502.

  • @lefteriseleftheriades7381
    @lefteriseleftheriades7381 10 ชั่วโมงที่ผ่านมา +7

    Mad respect, you are one of the best on youtube

  • @RoSi4You
    @RoSi4You 5 ชั่วโมงที่ผ่านมา +1

    I will never follow or understand any of this, but I am fascinated, how clever you are. Hats off.

  • @certifiedskillissues
    @certifiedskillissues 10 ชั่วโมงที่ผ่านมา +9

    it's a beautiful morning when you post Ben!

  • @zockex6424
    @zockex6424 10 ชั่วโมงที่ผ่านมา +5

    heck yea this is what makes my brain tingle

  • @der.Schtefan
    @der.Schtefan 4 ชั่วโมงที่ผ่านมา +1

    8-bit show and tell has a lot of explanations how the C64, which uses a modified version of Microsoft Basic, works internally, especially with stuff like this. It is fascinating to see. It also applies very well if you want to modify Microsoft Basic on this project.

  • @tekk3213
    @tekk3213 10 ชั่วโมงที่ผ่านมา +3

    What a nice day this is getting new Ben Eater video!

  • @DavidLindes
    @DavidLindes ชั่วโมงที่ผ่านมา

    Wild. Fun stuff; thank you for sharing your explorations!

  • @MissNorington
    @MissNorington 8 ชั่วโมงที่ผ่านมา +3

    Please, do floating point numbers video: I think you would be able to explain it in a different (better) way compared to others on TH-cam

  • @ExpressoMechanicTV
    @ExpressoMechanicTV 8 ชั่วโมงที่ผ่านมา

    Fascinating stuff - many thanks for doing this!

  • @jeromethiel4323
    @jeromethiel4323 ชั่วโมงที่ผ่านมา

    Binary representation of floating point numbers breaks my head. I kinda get it, but it is hard. Read the IEEE standard for floating point numbers, everything makes sense, until you start trying to convert numbers in your head. That's where my brain goes

  • @mrbrianparker
    @mrbrianparker 7 ชั่วโมงที่ผ่านมา

    Fascinating as always. I would also be interested if you do a floating point video.

  • @TheStickCollector
    @TheStickCollector 10 ชั่วโมงที่ผ่านมา +2

    It would be cool to make a programming language that can run basic commands (or is built around basic) would be a good way to get into programming.

    • @badstate
      @badstate 5 ชั่วโมงที่ผ่านมา +1

      BASIC is a programming language that can run BASIC commands. I guess I'm missing your point.

  • @LightslicerGP
    @LightslicerGP 4 ชั่วโมงที่ผ่านมา +1

    HES BAAAAAACK

  • @yazidkeraichia2858
    @yazidkeraichia2858 5 ชั่วโมงที่ผ่านมา +1

    Great thanks ❤❤❤

  • @OscarSommerbo
    @OscarSommerbo 8 ชั่วโมงที่ผ่านมา

    Your guess is correct FAC is indeed the floatingpoint accumulator. Or at least it is on the C64

  • @boretrk
    @boretrk 9 ชั่วโมงที่ผ่านมา +1

    OK, but you don't check for 0-length strings so what happens if you do LCDPRINT "" ?

  • @mikesz-_-
    @mikesz-_- 9 ชั่วโมงที่ผ่านมา +1

    Bro u made my life danke schön

  • @billyhart3299
    @billyhart3299 7 ชั่วโมงที่ผ่านมา

    Yes please do a video on floating point numbers

  • @GameBacardi
    @GameBacardi 8 ชั่วโมงที่ผ่านมา

    Good video, thank you again

  • @tsuom
    @tsuom 10 ชั่วโมงที่ผ่านมา +2

    this is so cool

  • @northcoast7184
    @northcoast7184 8 ชั่วโมงที่ผ่านมา

    Thank you Ben.

  • @SpaceMyName
    @SpaceMyName 9 ชั่วโมงที่ผ่านมา

    BASIC mentioned! 🥳

  • @staswisniewski4101
    @staswisniewski4101 9 ชั่วโมงที่ผ่านมา +3

    Babe, wake up, new Ben Eater's video just dropped

  • @luckyizzac
    @luckyizzac 10 ชั่วโมงที่ผ่านมา +2

    Benny is back❤

  • @DavidLatham-productiondave
    @DavidLatham-productiondave 6 ชั่วโมงที่ผ่านมา

    Oh man. A video on floating point in 6502 would be awesome!

  • @cheeseparis1
    @cheeseparis1 7 ชั่วโมงที่ผ่านมา

    Oh yes, the space in front of positive numbers, I remember this... and the mid$ instruction to get rid of it in programs where it was not needed, aka most of the times.

  • @rwired
    @rwired 9 ชั่วโมงที่ผ่านมา

    Does it also evaluate string concatenation, and interpret "," and TAB for tabulation?

  • @IanHickson
    @IanHickson 6 ชั่วโมงที่ผ่านมา

    does there need to be any error handling or is that handled elsewhere? (e.g. if you try to add a string to a number in the lcdprint arguments)

  • @willembeltman
    @willembeltman 6 ชั่วโมงที่ผ่านมา

    I just love your videos

  • @MangoJones139
    @MangoJones139 4 ชั่วโมงที่ผ่านมา

    20:55 Isn't the range from $0100 to $01FF the stack area? This feels like a bug in the BASIC interpreter that could cause corruption if the stack is almost full, but probably rare to actually cause problems.

  • @failgun
    @failgun 4 ชั่วโมงที่ผ่านมา

    I'm curious to kearn more about the circuitry needed to do computations with floats. What does a FP adder look like?

  • @jatinkrumkar7689
    @jatinkrumkar7689 9 ชั่วโมงที่ผ่านมา

    when bad times hit this guy posts a video and then the time is no longer bad you just amazing!!

  • @CraftMine1000
    @CraftMine1000 5 ชั่วโมงที่ผ่านมา

    Always a good day when Ben posts

  • @MattyEngland
    @MattyEngland 10 ชั่วโมงที่ผ่านมา +4

    Eater Alert 👍

  • @Chems7308
    @Chems7308 10 ชั่วโมงที่ผ่านมา +1

    Very awesome

  • @ET_gamer13yt
    @ET_gamer13yt 10 ชั่วโมงที่ผ่านมา +2

    the king is alive

  • @Desincarnage
    @Desincarnage 8 ชั่วโมงที่ผ่านมา

    A new Ben Eater video! What a wonderful day :D

  • @ed_halley
    @ed_halley 3 ชั่วโมงที่ผ่านมา

    A whole video on IEEE 754 would be cool. I think the FAC would be the F from FRMEVL, or Formula.

  • @DmitryKandiner
    @DmitryKandiner 9 ชั่วโมงที่ผ่านมา +1

    15:45 Looks much more like a fixed point number for me.

  • @DigitLineEletronica
    @DigitLineEletronica 10 ชั่วโมงที่ผ่านมา +1

    WOW... fantastic

  • @Sfaxx
    @Sfaxx 8 ชั่วโมงที่ผ่านมา

    Oh how I would love to see float (or maybe fixed?) point number video😊

  • @dacomputernerd4096
    @dacomputernerd4096 6 ชั่วโมงที่ผ่านมา

    Ooo new video
    If you're still doing videos on communication protocols, I'd love to see one on I2C

  • @artefox0
    @artefox0 5 ชั่วโมงที่ผ่านมา

    I would love a video on floating point numbers

  • @RonaldPace
    @RonaldPace 2 ชั่วโมงที่ผ่านมา

    Do you include the 65C02 assembler in your kits?

    • @memediatek
      @memediatek 26 นาทีที่ผ่านมา

      The aseembler is some software you can grab off the website, but to write to the eeprom youll need a programmer, which is sold separately. If im completely honest the price Ben charges for one is a little high, but seems good quality

  • @Avinash_578
    @Avinash_578 8 ชั่วโมงที่ผ่านมา +1

    I am jee aspirant, and I love to do what you do but , i haven't resources

  • @KaziNazmulYT
    @KaziNazmulYT 8 ชั่วโมงที่ผ่านมา

    Dear sir, take love from Bangladesh

  • @minirop
    @minirop 10 ชั่วโมงที่ผ่านมา +1

    first time I see one of Ben's video with fewer than 1,000 views :O

  • @TheIvalen
    @TheIvalen 6 ชั่วโมงที่ผ่านมา

    “Hopefully you found that interesting”. You kidding, found it fascinating.

  • @morlanius
    @morlanius 4 ชั่วโมงที่ผ่านมา

    I would be interested to see how it is reserving and freeing memory works there.

  • @YaroKasear
    @YaroKasear 7 ชั่วโมงที่ผ่านมา

    I'd like both a floating point video, and maybe a transition into using the C functionality of cc65.

  • @pvc988
    @pvc988 7 ชั่วโมงที่ผ่านมา

    Did that BASIC only have 3 data types? Like floating point number, string literal and pointer?

  • @Wayde-VA3NCA
    @Wayde-VA3NCA 4 ชั่วโมงที่ผ่านมา

    FRMEVL is , of course, FRoMEViL... It is used everytime input arguments are passed from MSBasic into assembly /s

  • @DW-indeed
    @DW-indeed 4 ชั่วโมงที่ผ่านมา

    Any day with a Ben Eater video is a good day... Though it reminds me again that I haven't done anything on my Acorn Electron build for a lot of months now... life, man 🙄

  • @TrapShooter68
    @TrapShooter68 3 ชั่วโมงที่ผ่านมา

    Thanks, Ben
    The 1st tome thru one of your assembly videos, my brain hurts.
    The 2nd time, a faint light begins to glimmer.
    Subsequent videos make that light just a little brighter each time.
    I think it's getting close to time to order a kit.
    Is Santa's address still "North Pole?"

  • @markwesterlund971
    @markwesterlund971 4 ชั่วโมงที่ผ่านมา

    You could fold the conditional includes instead of temporarily deleting them. 😊

  • @somethinggeeky
    @somethinggeeky 51 นาทีที่ผ่านมา

    Hot swapping ROMs, wild man 👍😎

  • @bgreenacre42
    @bgreenacre42 9 ชั่วโมงที่ผ่านมา

    Post your vimrc! Put it on gist or something. I'm just curious what you have set for what looks like a basic vim setup.

  • @hotrodhunk7389
    @hotrodhunk7389 9 ชั่วโมงที่ผ่านมา

    What a great Saturday! Great morning with my family. Now a Ben eater video?

  • @SMahanta2001
    @SMahanta2001 10 ชั่วโมงที่ผ่านมา +2

    Hey ben☺️

  • @a_pi_guy
    @a_pi_guy 8 ชั่วโมงที่ผ่านมา

    BEN EATER UPLOADDDDDD

  • @FrancisFjordCupola
    @FrancisFjordCupola 8 ชั่วโมงที่ผ่านมา

    Should have a look at Acorn's BBC Basic, though.

  • @frankowalker4662
    @frankowalker4662 6 ชั่วโมงที่ผ่านมา

    That's great work. One question though, why do you call $ Dollar when it really means Strings in computer terms ? (As in A Strings, not A Dollar).
    (Sorry if this seems rude, it's just that I've noticed a lot of people do it, and I don't know why.)

  • @dj10schannel
    @dj10schannel 4 ชั่วโมงที่ผ่านมา

    Cool 👍

  • @rahulkushwaha9500
    @rahulkushwaha9500 9 ชั่วโมงที่ผ่านมา

    yes floating point please

  • @catlover281
    @catlover281 6 ชั่วโมงที่ผ่านมา

    oh cool

  • @unclerojelio6320
    @unclerojelio6320 9 ชั่วโมงที่ผ่านมา

    Woot!

  • @stefankrause5138
    @stefankrause5138 9 ชั่วโมงที่ผ่านมา +1

    Instant Like! (And I'm not easy....)

    • @akaHarvesteR
      @akaHarvesteR 9 ชั่วโมงที่ผ่านมา

      Ben is in the exceedingly rare category of channels where I hit like even before I hit play

  • @parthenocarpySA
    @parthenocarpySA 10 ชั่วโมงที่ผ่านมา +2

    Engagement driving comment right here

  • @mxlje
    @mxlje ชั่วโมงที่ผ่านมา

    „Hopefully you found that interesting“ - oh yes, most definitely.

  • @tschak909
    @tschak909 8 ชั่วโมงที่ผ่านมา

    Yup, you've run into Microsoft BASIC's string garbage collection. :)

  • @DMadHacks
    @DMadHacks 9 ชั่วโมงที่ผ่านมา +3

    idk, seems kinda basic to me

    • @saulmighty
      @saulmighty 8 ชั่วโมงที่ผ่านมา +1

      not basic, BASIC

    • @DMadHacks
      @DMadHacks 8 ชั่วโมงที่ผ่านมา

      @saulmighty same difference lol
      it's only kinda basic, but is fully BASIC

  • @Elia90570
    @Elia90570 6 ชั่วโมงที่ผ่านมา

    hey ben, please, somehow get this this to run doom, i know that everyone will love it if you can somehow do that

    • @samuelhulme8347
      @samuelhulme8347 4 ชั่วโมงที่ผ่านมา

      A character based LCD (or serial console) won’t be enough) some kind of graphics drive is needed.
      Ben has made his own graphics card at some point which means he can connect that with the 6502.
      Then Doom’s source code would need to be modified a lot, as it uses a lot utilities from an operating system, or an existing operating system could be ported.
      Then some kind of input device is required, which luckily Ben has worked with Keyboards already.
      This means we have all the required hardware made, all we need to do is make all the software work together with the hardware.

    • @gdclemo
      @gdclemo 17 นาทีที่ผ่านมา

      @@samuelhulme8347 32K RAM is far too small for Doom, so first you'd need to implement bank switching, to select between different memory pages.

  • @deltakid0
    @deltakid0 9 ชั่วโมงที่ผ่านมา

    Build a hardware multiplier with 74 IC series and a mini-GPU after that!!! Please!!!

    • @johnm2012
      @johnm2012 9 ชั่วโมงที่ผ่านมา

      You can build a Wallace tree multiplier from AND gates and adders. You need four registers to hold the multiplier, multiplicand and 16-bit product and a bit of logic to decode their addresses and latch them.

    • @samuelhulme8347
      @samuelhulme8347 4 ชั่วโมงที่ผ่านมา

      He has already made a GPU, check out his “world’s worst graphics card”

    • @deltakid0
      @deltakid0 50 นาทีที่ผ่านมา

      @@samuelhulme8347 that's a _videocard_ not a _GPU_

  • @Wobblybob2004
    @Wobblybob2004 ชั่วโมงที่ผ่านมา

    Er.. 6*9 is 42

  • @michaelpoulsen9925
    @michaelpoulsen9925 6 ชั่วโมงที่ผ่านมา

    Frmevl From Evil 😂

  • @avijitdas4030
    @avijitdas4030 7 ชั่วโมงที่ผ่านมา

    Please create the video on floating point representation, your analogies and method of explaining makes things too clear... !

  • @alisaosteam
    @alisaosteam 10 ชั่วโมงที่ผ่านมา +1

    19-20th comment

  • @dmitry.shpakov
    @dmitry.shpakov 10 ชั่วโมงที่ผ่านมา +4

    We are witnessing something interesting here. Have you noticed that Ben is building:
    * Ben's ALU
    * Ben's Breadboard COMPUTER
    * Ben's ASM
    * Ben's BASIC
    * ...
    What Next:
    * Ben's OS
    * Ben's WEB
    * Ben's AI
    Where is my popcorn 🍿😎👍

  • @lysy-zn2gg
    @lysy-zn2gg 9 ชั่วโมงที่ผ่านมา

    Dad comeback with the milk

  • @m1geo
    @m1geo 10 ชั่วโมงที่ผ่านมา +1

    First! 😍

  • @v1ctor174
    @v1ctor174 10 ชั่วโมงที่ผ่านมา +1

    first

    • @konm08
      @konm08 10 ชั่วโมงที่ผ่านมา +1

      nobody cares

    • @steveslevin
      @steveslevin 10 ชั่วโมงที่ผ่านมา +2

      TH-camPRINT “first”