Running Apple 1 software on a breadboard computer (Wozmon)

แชร์
ฝัง
  • เผยแพร่เมื่อ 2 มิ.ย. 2023

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

  • @IceMetalPunk
    @IceMetalPunk ปีที่แล้ว +1785

    8 years ago, you explained how semiconductors work from a physics perspective. From there, you've incrementally built up one step at a time, and now you've reached the point where you're literally remaking the very first Apple computer from 1976. And you haven't skipped a single step or building block going all the way back to "this is how semiconductors work". My friend, you are amazing and deserve an award for computer science education. Here's to the next 8 years, at which point you'll likely have reached the point of explaining how Alienware computers can be optimized and improved for resale 😜

    • @iuppiterzeus9663
      @iuppiterzeus9663 ปีที่แล้ว +25

      hell yes !
      I'm very excited for the step into operating systems, that's the largest gap for be with regards to having a good understanding for computers
      (I'm studying computer science; we had a course on low level stuff like Ben has shown in his breadboard 8-bit computer and this series, several on higher level programming and one on operating systems which was bad and I did not catch a lot)

    • @kindlin
      @kindlin ปีที่แล้ว +11

      I got sucked into the his full-scale 40-something long video series that started with, as you said, how a semiconductr worked, then a transistor, a flip-flop, a logic gate, a memory cell, a clock, an adder, and on and on.... now we got graphics cards with vga output and OG computers.

    • @kindlin
      @kindlin ปีที่แล้ว +5

      @@iuppiterzeus9663 The operating system set of videos on the 8-bit bread board series was my favorite part. I finally understood how a computer is able to flip information back and forth using the bus and basic control logic, and why each command takes different numbers of clock cycles, and how it's possible to run some command simultaneously, etc., etc.

    • @To-mos
      @To-mos ปีที่แล้ว +3

      Hope he does a Ternary computer at some point.

    • @likebot.
      @likebot. ปีที่แล้ว +4

      Ben's almost up to the stage where the device drivers are the human. Ahh, the good old days :') I'm misting up here, reminiscing :'}

  • @vicroc4
    @vicroc4 ปีที่แล้ว +1111

    So nice to see Wozniak getting some of the recognition he deserves. It's truly alarming how even Apple themselves seems to have forgotten how essential he was to the success of the company.

    • @crusaderanimation6967
      @crusaderanimation6967 ปีที่แล้ว +96

      Hot take: Woz is underrated, Job is overrated and it's actually good later died of ligma.

    • @Aeroshogun
      @Aeroshogun ปีที่แล้ว +12

      My thoughts exactly, especially considering how radically different apple is today as a company.

    • @Aeroshogun
      @Aeroshogun ปีที่แล้ว +58

      @@crusaderanimation6967both of them were better than Tim Cook. Apple’s innovation died with them both.

    • @JV-pu8kx
      @JV-pu8kx ปีที่แล้ว +18

      Think of how important he was to the _industry._

    • @SkillTimO
      @SkillTimO ปีที่แล้ว +36

      @@Aeroshogun Steve is still alive!

  • @RussellBeattie
    @RussellBeattie ปีที่แล้ว +333

    In my opinion, Woz's "annus mirabilis" from March 1975 to April 1977 when at just 26yo, he designed, implemented and launched the hardware, kernel, sound and color output as well as a BASIC interpreter for the Apple I and II is one of history's greatest technological achievements. It was a tour de force of talent which is astounding to this day.

    • @mojoblues66
      @mojoblues66 ปีที่แล้ว +28

      Don't forget the Disk ][, IMHO his greatest achievement! Compare it with the C64 disk drive, which is basically a second C64.

    • @thavith
      @thavith ปีที่แล้ว +21

      Looking at the code of Wozmon is incredible. I find the same amazing style when looking at his Integer Basic code. If you want to see genius, look no further.
      I remember back in 1981 at school, me and a friend had a list of the coolest people ever (we were geeks without knowing what a geek was). Einstein was in the list, as well as George Lucas of course and others, but top of the list was Steve Wozniak. It was only in later years that I finally understood the importance of Jobs, but for me Woz will always be #1.

    • @thavith
      @thavith ปีที่แล้ว +11

      @@mojoblues66 He put the Disk ][ together in record time too. The way he generated colour for the Apple ][ was mind bending too.

    • @ch33rfulness
      @ch33rfulness 11 หลายเดือนก่อน +6

      Actually, I remember listening to him in an interview, saying that he imagined so many times before how he would design and build that system, long before he had the means to purchase the components.
      So, when the right time came for him, he just churned down a lot of content.

    • @tristan6509
      @tristan6509 6 หลายเดือนก่อน +1

      ​@@mojoblues66the c64 drive was total crap because they wanted it to be backwards compatible with the vic20
      Look at the disk interface for the commodore pet, it has a much better design even though it is older than the c64 and vic20.

  • @e2DAiPIE
    @e2DAiPIE ปีที่แล้ว +412

    Ben's ability to incrementally build to a satisfying and impressive result over a series of methodical steps, each of which are satisfying on their own, is a marvel.
    This 6502 project is starting to feel like when the 8-bit breadboard computer proje t wrapped up with a discussion of Turing Machines and the philosophy of computers. Reflecting back upon how each of these projects started makes these final results feel important and enlightening.
    Thank you, Ben, for crafting educational and entertaining content that satisfies on so many levels.

  • @skibbyau
    @skibbyau ปีที่แล้ว +111

    I’m starting to think you aren’t just haphazardly making breadboard computers, but actually have a bit of a plan.

  • @T3hBeowulf
    @T3hBeowulf ปีที่แล้ว +157

    One of the reasons I picked up your kit for the 8-bit breadboard computer is precisely for things like this. In college, we mostly dealt with the Motorola 68HC11 microcontroller/processor and I recall having a blast making a "Realtime clock" that displayed the time and date on a 16x2 LCD with a similar 256 byte limit. I remember staying up late before that project was due, cramming "set buttons" for the clock in addition to the required serial initialization.
    This is exactly the kind of "is this thing working?" code I've been looking for to jump in to the 8-bit computer again.
    Thank you Ben!

  • @generessler6282
    @generessler6282 ปีที่แล้ว +66

    We had Woz as a guest speaker for our electrical engineering and computer science department's undergrad projects day awards dinner. Must have been early 2000's. (I was a professor back in the day.) A genuinely nice guy and proud geek. He talked in detail about the joy of cramming functionality into min cost hardware. A great night for the old nerds like me. I'm not sure the juniors and seniors he was talking to got the full context, but we had fun anyway.

  • @Babakinha
    @Babakinha ปีที่แล้ว +11

    Now THAT is a Hackintosh

  • @TimothyChapman
    @TimothyChapman ปีที่แล้ว +600

    It's amazing that 256 bytes is all it took to write a kernel.

    • @vicroc4
      @vicroc4 ปีที่แล้ว +92

      Now you're lucky if Windows confines itself to 4 gigabytes. How far we've fallen.

    • @realityveil6151
      @realityveil6151 ปีที่แล้ว +288

      @@vicroc4 I get your point, but wozmon doesn't have a sliding window manager, preemptive multitasking, network connectivity, a filesystem, virtualization support. Yes our modern kernels are bigger....but it's not like we didn't get anything for it.

    • @captainharpoon
      @captainharpoon ปีที่แล้ว +136

      ​@@vicroc4 kernel and os are not the same thing.

    • @drivers99
      @drivers99 ปีที่แล้ว +22

      @@Felix-ve9hs pretty sad considering windows 95 minimum requirements are 386SX with 4MB (not GB) of RAM. And even that’s bloated compared to what came before.

    • @vicroc4
      @vicroc4 ปีที่แล้ว +12

      @@captainharpoon Sure. But I'm talking about Windows, not a sensible OS that makes a firm distinction. There's so much needless crap integrated into the Windows kernel that the OS itself is largely implemented by it.

  • @BtaraDev
    @BtaraDev 6 หลายเดือนก่อน +6

    I love it when they just put the entire code for the device right in the manual

  • @octane613
    @octane613 ปีที่แล้ว +51

    Man... I really take for granted how simple and intuitive modern electronics are. Imagine if computers were still like this - machine code only.

    • @thewhitefalcon8539
      @thewhitefalcon8539 ปีที่แล้ว +8

      They still are, on the inside

    • @octane613
      @octane613 ปีที่แล้ว +7

      @@thewhitefalcon8539 I mean yeah technically you are correct, but I mean the user experience - the only way to interact with the computer is to program it via machine code instead of having a kernel and UI to do the machine coding for you.

    • @dntfrthreapr
      @dntfrthreapr ปีที่แล้ว +5

      Just for the hell of it I recently learned to write machine code for the 6502 (apple II) over a year or so. I made a version of Nokia Snake. Getting it to work was literally the most excitement I've ever gotten from a computer.

    • @ecosta
      @ecosta 9 หลายเดือนก่อน +2

      If we still had to deal with machine code, we would have flying cars by now. Anyone nowadays carry a CPU in their pockets that is 1000x more powerful than an Apple I and we only use it to access social networks and play games.

    • @Nookerdog777
      @Nookerdog777 7 หลายเดือนก่อน +3

      Simple? Modern machines are orders of magnitude more complicated.

  • @mattshnoop
    @mattshnoop ปีที่แล้ว +12

    I cannot overstate my amazement at how well you've put this whole thing together. It's hard to say something that hasn't been said already in these comments; it all lines up perfectly, but there was never a hint that you'd take it this far. You could have mapped your ROM to the lower half of the address space, but using the upper half lets you use Wozmon with less modification. You set up a serial interface, which lets you copy-paste into the 6502 computer. You've demonstrated that we are standing on the shoulders of giants as we use our computers and smartphones today. You keep me constantly reminded why I chose computers as my field of study. Thank you for this amazing series, Ben!

  • @ChristopherHailey
    @ChristopherHailey ปีที่แล้ว +9

    It's really cool seeing someone tweaking Woz code to work on a different board. This really lets you see how microprocessors work, especially in the homebrew world. The Apple I came out when I was first learning to program so it's especially fun for me to see this kind of thing. Wow.

  • @SonOfSofaman
    @SonOfSofaman ปีที่แล้ว +49

    This takes me back. I had an Apple ][+ and spent a great deal of time writing code in machine language. Floating point BASIC was just too slow for some purposes, afterall. Your demonstration of controlling the LED reminded me of making the built-in speaker go "tick" by reading (or writing) the I/O address to which it was mapped. I learned a lot by tinkering on that computer, but there were some gaps in my knowledge. These videos -- and the computer kits -- have filled in many of those gaps.
    Thank you Ben for the stroll down memory lane, and for all the knowledge you've shared with us.

    • @idjles
      @idjles ปีที่แล้ว +8

      My year 10 teacher taught us assembly in Apple ][. We had no compiler except pencil and paper. We made a musical keyboard, using NOPs to get the frequency. And then I built a small library of pixel operations for speed that I called from basic to build a platform game.
      35 years later I visited him to thank him.

    • @goofyrulez7914
      @goofyrulez7914 ปีที่แล้ว +4

      The Apple ][+ was my first "power" computer. I loved it.

    • @SonOfSofaman
      @SonOfSofaman ปีที่แล้ว +3

      @@goofyrulez7914 Same. I owe my career to that computer.

    • @SonOfSofaman
      @SonOfSofaman ปีที่แล้ว +5

      @@idjles Great teachers like that are undervalued, sadly. It's a shame. Good on you for letting your teacher know how much they mattered to you!

    • @robertanderson1043
      @robertanderson1043 ปีที่แล้ว +3

      Remember call -151?

  • @wagnerdenker
    @wagnerdenker 4 หลายเดือนก่อน +1

    Watching this in 2024, still amazed with the quality of work and passion you are putting in your videos! Thank you Ben!

  • @avramitra
    @avramitra ปีที่แล้ว +8

    I'm eternally grateful to these two channels: Ben Eater and Phill's Lab.

  • @charstringetje
    @charstringetje ปีที่แล้ว +8

    As a kid, when I finally got a Final Cartridge III for my C64, I used the monitor to copy the Kernal ROM to memory and changed the READY prompt to my first name (also 5 bytes) and run it from memory.

  • @doBobro
    @doBobro ปีที่แล้ว +5

    The moment of realization you can copy paste monitor commands over serial input was a truly inspiring. It opens immense possibilities.

  • @tonnewhite62
    @tonnewhite62 ปีที่แล้ว +4

    BEN IS A GENIUS
    HE'S SO CLEVER LIKE AN ALIEN

  • @vip_bimmervip_bimmer8033
    @vip_bimmervip_bimmer8033 ปีที่แล้ว +1

    I just dropped that eeprom programmer, that I bought from your site, down 20 stairs and it is still working. Five star review from me

  • @LunaticEdit
    @LunaticEdit ปีที่แล้ว +20

    Thanks for keeping the 6502 alive! I'm currently working on a 6502 based fantasy console that hugs close to the 1980s specs, trying to toe the line between period accuracy, and being convenient enough for modern devs to want to tinker with it. I think if we loose the knowledge of these old systems we'll loose the ability to create efficient and optimized programs. CPUs are insanely powerful compared to the 1980/1990s chips, yet computers aren't that much apparently faster to the user, due to how absolutely inefficient modern applications tend to be. Keep pumping out awesome videos, it lives on my second monitor to keep me sane while coding!

    • @SimonBuchanNz
      @SimonBuchanNz ปีที่แล้ว +5

      Expectations will increase faster than any increase in clock cycles or transistor count.
      The fact that I can pull in a couple of libraries and parse a several megabyte executable in 20ms in code running on a browser served to me across the world should be enough evidence that performance and efficiency are absolutely still goals and available to anyone who cares even slightly, but that's not worth anything if it just means that you expect it to be doing even more in that time.

    • @clonkex
      @clonkex ปีที่แล้ว +7

      Modern programs are less efficient than hand written assembly programs were back in the day, but there's also no way anyone wants to hand write a program the size of Excel. Modern programming languages and frameworks give you a way to balance programmer effort and bug resistance against efficiency and speed. For instance, C# is usually a little slower than C++ doing equivalent operations because it includes more safety checks and automates memory handling. On the other hand, it's vastly easier to work with and drastically reduces the chance of memory bugs. It's always a tradeoff.

    • @LunaticEdit
      @LunaticEdit ปีที่แล้ว +1

      @@clonkex To be fair, Modern C++ is also pretty good with memory handling. new and delete (or malloc/free) are code smells at this point. Even when using C libraries like SDL, you can use a unique_ptr and specify a destructor method and never have to worry about freeing it. It'l call the destroy method as soon as it looses scope.

    • @LunaticEdit
      @LunaticEdit ปีที่แล้ว +1

      @@SimonBuchanNz Yeah but then you have 80GB shooter games that look pretty, but have barely any more content than games 1/10th the size. And I'm not saying people shouldn't use C# or JavaScript. I'm saying that if you don't at least fundamentally understand what's happening under the hood, you're more prone to writing inefficient code. This is why so many C# devs do things like + strings together in tight loops and then wonder why their console app job take 16 gb of memory to parse a 2gb file.

    • @Roxor128
      @Roxor128 ปีที่แล้ว +1

      @@LunaticEdit 1/10th the size? Try 1/1000th the size! Classic shooters like Duke Nukem 3D and the original Quake came in at under 100 meg. Doom is around the 15-meg mark, and Wolfenstein 3D and its prequel Spear of Destiny _combined_ total less than 10 meg.
      And just to prove it's still possible, Ion Fury is a modern throwback to Duke3D, using the same engine, and that takes up 91MB on my hard drive according to Steam.

  • @oneeyestudios
    @oneeyestudios ปีที่แล้ว +6

    Thanks Ben, what a great start to a Saturday!

  • @amoldhamale3202
    @amoldhamale3202 ปีที่แล้ว +6

    Woz is indeed a genius! Thanks for bringing this to light Ben. Over the last few years, I've realized how underrated Woz is and that he needs to be celebrated more than Jobs.

  • @rdagger
    @rdagger ปีที่แล้ว +3

    Thanks!

  • @tiusic
    @tiusic ปีที่แล้ว +36

    Awesome! Reprogramming it without flashing the eeprom (or even resetting it) is a huge milestone. For me, this is the point where your breadboard computer has become a real computer (for my arbitrary definition of real 😂)

    • @jackdavenport5011
      @jackdavenport5011 ปีที่แล้ว +8

      Yeah this was the only video of this 6502 project where I forgot that it was running on a breadboard and not an actual computer.

  • @cryptic_daemon_
    @cryptic_daemon_ ปีที่แล้ว +48

    Ben Eater is always cooking up something good, and once a again it is some good content!!

  • @idjles
    @idjles ปีที่แล้ว +4

    Woz left you those two bytes! 3:05

    • @BenEater
      @BenEater  ปีที่แล้ว +2

      Yes that was very nice of him. :)

  • @CoffeeOnRails
    @CoffeeOnRails ปีที่แล้ว +4

    Stuff like WozMon makes me feel so blessed as someone who writes "modern" code. Under 256 bytes to write all that magic and here I am using more than that to write "hello world" to the screen in any current higher level language...

  • @JacGoudsmit
    @JacGoudsmit ปีที่แล้ว +6

    The cool thing as you probably noticed is that the format that you get when you let Woz Mon print a hexdump of memory, is compatible with the format of the command to put something into memory. That was very intentional. In those days it was very common to use a Teletype (or another printing terminal with a paper tape punch and reader) not only as your main user interface but also as your storage medium. Other computers such as the KIM-1 did the same: Whatever they would print, would also be acceptable as input. And of course Microsoft Basic also counted on you having a paper tape punch and reader to store your programs, at least in the beginning; the SAVE and LOAD commands were added later.

  • @typedef_
    @typedef_ ปีที่แล้ว +86

    Not an Apple fan, but the fact that they somehow managed to sell their product in a market full of wolves and titans always reminds me of how cool these guys actually were.

    • @GamingBlarg
      @GamingBlarg ปีที่แล้ว +52

      Tbf the Apple that made the Apple 1 and Apple that exists currently might as well be two completely different companies in two completely different worlds

    • @LunaticEdit
      @LunaticEdit ปีที่แล้ว +10

      @@GamingBlarg Which is most likely why the Apple back then almost went under and the Apple today is a massive money maker. Not saying it's right or wrong, just calling it out.

    • @nathanjohnson9715
      @nathanjohnson9715 ปีที่แล้ว +1

      I mean... if the apple 1 actually DID sell, it wouldn't be so rare as to be worth 1.5 mill today. As kit computers go though, it wasn't a bad little machine though.

    • @pseudotasuki
      @pseudotasuki ปีที่แล้ว +7

      @@nathanjohnson9715 Yeah, the company didn't see any real success until the Apple II a couple years later.

    • @graealex
      @graealex ปีที่แล้ว +4

      A current iPhone or iMac has very little to do with the early Apple machines showcased here.

  • @RamiGB
    @RamiGB ปีที่แล้ว +2

    Your deep understanding of what you are doing and confidence are beautiful. Thank you for the amazing videos keep them coming. you rock sir. I am happy I am subscribed.

  • @cojawfee
    @cojawfee ปีที่แล้ว +26

    This is exactly what I needed
    One thing I noticed is that I wasn't able to paste into mobaxterm. I'd paste in a line of bytes and it would be echoed back as just a few of the characters I had sent. It turns out that my terminal was sending the characters faster than the CPU could read them in and send back. I ended up having to set the baud rate to 9600 (#$1E loaded into ACIA_CTRL) and then set the transmit loop counter to #$C8 instead of #$FF. I don't know if C8 is the best value, it was trial and error of looking for a value that made the loop long enough to make sure a byte was transmitted and short enough that it was done fast enough to read the next byte being sent. I couldn't find such a value for 19200bps, as it always missed a byte every 30-40 characters.
    Then I had an issue where I couldn't send more than one line, which it turns out was the CPU being busy writing the input buffer to memory and missing the new bytes being sent. I solved this by sending 20 space characters at the beginning of each line which gave the CPU plenty of time to process the last line before getting the new line.
    With these changes, I'm able to paste in code and run it on windows with mobaxterm.

    • @alexanderthorbrugge6489
      @alexanderthorbrugge6489 ปีที่แล้ว +2

      Though the same thing, I’ve just waited for this

    • @ancltube
      @ancltube ปีที่แล้ว +1

      This is a problem that often occurs with terminal programs in Windows. I used to configure switches using Putty (ssh), and you had to be careful not to past to much data at a time, since the terminal would not always wait for the receiving end and data would be lost. This is never an issue using ssh from a Linux terminal. I'm not sure what is/was causing this behavior - if it is a bug in the terminals themselfs or some common library in Windows - but it sure was annoying.

    • @eDoc2020
      @eDoc2020 ปีที่แล้ว

      Terminal emulators often have a setting to add a few milliseconds after each line is pasted.

  • @Atlas_Enderium
    @Atlas_Enderium ปีที่แล้ว +1

    As an EE still in school and wanting to enter the field of computer hardware design, your channel has truly become a treasure trove of knowledge. You built this 6502 computer from the ground up while incrementally explaining the history, theory, and design behind it. Truly spectacular work

  • @goofyrulez7914
    @goofyrulez7914 ปีที่แล้ว +6

    Woz is an engineer's engineer. He's a great guy!

  • @IronRiviera
    @IronRiviera ปีที่แล้ว +3

    Woz is a genius, true, but I don't think you are too far behind him, Ben.

  • @eknuds
    @eknuds ปีที่แล้ว +2

    I started writing programs in machine code for my Atari 800XL when I was about twelve. I can remember sitting down with one of my math teachers running little machine language programs on classroom Apple IIs. Whole applications in tens of bytes...

  • @sciencespectrum3855
    @sciencespectrum3855 ปีที่แล้ว +2

    You are a very good engineer keep it up great works👍👍

  • @svilen2006
    @svilen2006 ปีที่แล้ว +2

    Amazing video! Thank you, Mr. Eater

  • @fingersmcoy
    @fingersmcoy ปีที่แล้ว +2

    you are a truly gifted teacher sir.

  • @Kreiseljustus
    @Kreiseljustus ปีที่แล้ว

    Thank you so much for making these videos! I already programm since 3 years but only now im getting into the lower systems that happen and all because of you!

  • @milckshakebeans8356
    @milckshakebeans8356 ปีที่แล้ว +1

    To follow along with your videos I made an emulator of the 6502 in rust and I wait everytime for your videos to continue building on it

  • @solcloud
    @solcloud ปีที่แล้ว +1

    Really awesome video Ben, thank you for making and sharing 😍

  • @Darkstar2342
    @Darkstar2342 ปีที่แล้ว +6

    All 6502 code I remember was jam-packed and optimized like this, not only Wozniak's. If all you have is a few kilobytes, you start getting creative

  • @robjal
    @robjal ปีที่แล้ว +2

    This brings back memories when I build by Apple II by purchasing an exact copy of the motherboard and putting all standard components on it. I even managed to write some assembly code to replace keyboard control for PacMan by using the joystick as input. I enjoy watching your videos. Keep up the good work.

  • @probablynot9998
    @probablynot9998 ปีที่แล้ว +3

    This is great! It demystifies a lot of things in a small amount of time. Thank you.

  • @tychobra1
    @tychobra1 ปีที่แล้ว +2

    Great and educating as always. Thanks a lot and keep up the good work, Ben 👍

  • @arksum6818
    @arksum6818 ปีที่แล้ว

    This is really a pivotal moment in the series. It's all coming together in a way that I feel like it hasn't in a while. I absolutely ate up the 8-bit series but found the 6502 less compelling up until this point. I've skipped a few videos but glad I watched this one! That might be what prompts me to get started on a breadboard project

  • @slemsvamp
    @slemsvamp ปีที่แล้ว +2

    I remember the times when I used to input code from magazines into our Sinclair Spectrum ZX, it was always so cool seeing what a few lines of code could do. Awesome video, took me back about 30+ years! Incredible what he did with ~250 bytes at that time. :)

  • @tonysicily2687
    @tonysicily2687 6 หลายเดือนก่อน

    Takes me back a life time of programming, I loved my 6502 game development time. Thank you for the trip through time.

  • @bondies777
    @bondies777 ปีที่แล้ว +4

    I am really enjoying this video series. You have a great teaching style. I have seen low level programable logic controls that use a very similar hex style programming interface. To see it be built up from transistors and NAND gates is very interesting.

  • @3DSage
    @3DSage ปีที่แล้ว

    This is so fascinating! I love seeing these basic computer functions :)

  • @honkhonk8009
    @honkhonk8009 10 หลายเดือนก่อน +6

    Ben Eater deserves an award lowkey.
    Everything from the 6502 series, to the SAP-1 series, to everything else, is perfect for learning computers.
    This is the type of stuff I litterally wouldv struggled to learn in a classroom otherwise.

  • @scriptjungle
    @scriptjungle ปีที่แล้ว +3

    Just again an amazing video as usual. Thanks alot man! :)

  • @emilgustafsson4976
    @emilgustafsson4976 ปีที่แล้ว +3

    "Now maybe you think it's a bit inconvenient to enter programs in hex machine code like this, normally we want to write a program in assembly"
    Riiiight, of course Ben - I struggle not doing stupid stuff in Python, I should definitely write assembly :D

  • @viktoreidrien7110
    @viktoreidrien7110 ปีที่แล้ว +1

    superb video man, i love this channel, thank you

  • @merthyr1831
    @merthyr1831 ปีที่แล้ว +1

    This is very impressive. A precursor to the BASIC interpreter and system interface that wouldn't be available for another 3 years. Truly ahead of its time.

  • @pabloibaceta5932
    @pabloibaceta5932 ปีที่แล้ว +1

    Nice series. As always thank You for sharing

  • @juanmacias5922
    @juanmacias5922 ปีที่แล้ว +2

    As always, your vids are mind blowing. :D

  • @joeplocki3525
    @joeplocki3525 ปีที่แล้ว +1

    Dude. Now I have to dig out my you-inspired 6502 build to see if I can make it run Wozmon... you're awesome man, hope you never stop.

  • @graemezimmer604
    @graemezimmer604 ปีที่แล้ว

    Thanks Ben, that was wonderful!
    I started out with an Apple IIe and didn't learn much about the Apple I.
    So seeing the details of the Apple 1 fills in a lot gaps for me.

  • @pseudotasuki
    @pseudotasuki ปีที่แล้ว +2

    A good reminder of how brilliant Woz is.

  • @bilalabesat
    @bilalabesat ปีที่แล้ว

    Awesome as usual. You’re so different ben. Thank you so much for the rich elite class content you provide.

  • @mrmikerc1
    @mrmikerc1 ปีที่แล้ว +2

    let me say first thanks for sharing your video And boy have you brought back a lot of memory for me I'm 7 3 years old and I could almost remember most of the stuff that you're doing Love it love it i'm familiar with the 6502 WOW I also worked on 128 memory card just love that old Apple TB thanks for sharing

  • @infinexnow
    @infinexnow ปีที่แล้ว +3

    Great video, thank you.

  • @jonathaningram8157
    @jonathaningram8157 ปีที่แล้ว

    Always so easy to follow. Great pedagogy.

  • @insanelydigitalvids
    @insanelydigitalvids 11 หลายเดือนก่อน

    Fascinating insight into the inner workings of the Apple 1, and a taste of what those hobbiest programmers were doing back in the mid-70's. Thanks so much, Ben, for creating this video.

  • @sjair6526
    @sjair6526 3 หลายเดือนก่อน

    Well I tried it and it actually worked the first time!! I have learned more than I ever thought I would from this. Love the video and appreciate all the hard work that was put into this!! I am still fascinated with how the hardware and software work together to do stuff so quickly. Even though 1Mhz is very slow these days. I have stepped through some programs with this "simple" cpu and realize that it must take a complete understanding of the computer to be able to write an assembler for it. Gives me a head ache even thinking about that.

  • @tatomar001
    @tatomar001 11 หลายเดือนก่อน

    I remember some years ago I was wondering how a computer worked, and you videos gave me a very good idea, and it built up to the point where we have an operating system, this is amazing, the obly good answer to "how computers work"

  • @simonsmith-evestigatorcomp4237
    @simonsmith-evestigatorcomp4237 ปีที่แล้ว

    Love it. Makes you appreciate where it all began.

  • @a_commenter
    @a_commenter ปีที่แล้ว +17

    What would be super interesting is to see a breakdown of the wozmon code and how it fits so much into so few bytes

  • @Eliasdbr
    @Eliasdbr ปีที่แล้ว +4

    Great. Now that you have Wozmon, you now can write with it an assembler inside the computer!

  • @foobar9761
    @foobar9761 ปีที่แล้ว +1

    Fascinating! Thank you

  • @gregorymccoy6797
    @gregorymccoy6797 ปีที่แล้ว +1

    That was nice. Good video. Clear and interesting.

  • @ivan3584
    @ivan3584 10 หลายเดือนก่อน +2

    damn Woz, what a legend!

  • @kwiky5643
    @kwiky5643 ปีที่แล้ว +1

    A reality great channel for computer science seems like the whole channel is a gift from god

  • @andyhu9542
    @andyhu9542 ปีที่แล้ว +15

    With some additional hardware this computer can be made compatible with later commodore PET, thus opening up the door towards even more software including games like the Attack of PETSCII robots.

    • @yoshimitsusunny3861
      @yoshimitsusunny3861 ปีที่แล้ว +2

      bro went "TTL to Petscii"

    • @the32bitguy
      @the32bitguy ปีที่แล้ว +1

      That is a funny statement

    • @andyhu9542
      @andyhu9542 ปีที่แล้ว +1

      @@the32bitguy Why is it funny?

  • @mrbrianparker
    @mrbrianparker 10 หลายเดือนก่อน

    Another superb computer science video from Ben Eater.

  • @glitchy_weasel
    @glitchy_weasel ปีที่แล้ว

    What an exceptional video (as always ;).) I think this is my favorite in the series so far! In this case, could we say that wozmon is like some sort of bootrom? Being able to upload programs and bootstrap via serial seems extremely powerful.

  • @BrainSlugs83
    @BrainSlugs83 ปีที่แล้ว +1

    I watched a documentary on Woz, and it's remarkable not just that he did it -- but that he was always doing impossible stuff like that. -- He would build machines that had half the number of chips that should have been necessary, and write a third of the code that should have been required, and somehow it all worked. -- What a badass.

  • @franklimmaciel
    @franklimmaciel 9 หลายเดือนก่อน

    Ohh God! you are amazing man, this class is so nice and rich. Thank You.

  • @user-wo2uj1kl6o
    @user-wo2uj1kl6o ปีที่แล้ว

    You're my mentor.Thank you Ben for your work

  • @AzureLazuline
    @AzureLazuline ปีที่แล้ว +1

    a program that can examine and modify its own memory somehow seems... improper? Taboo, even?
    this has reached the point where it recognizably resembles "a computer", while being so low-level that it follows *completely* alien paradigms to me. I'm glad i've gotten to see this built from the absolute basics, it's given me a lot of new appreciation for all the things that came before my time!

    • @OrangeDied
      @OrangeDied 3 หลายเดือนก่อน

      its like performing brain surgery on yourself on a tuesday afternoon

  • @AndersNielsenAA
    @AndersNielsenAA ปีที่แล้ว +2

    I smell BASIC coming soon :D

  • @kykykyykykyk2851
    @kykykyykykyk2851 ปีที่แล้ว +2

    I wish writing light and optimized programs was still popular

  • @melkiorwiseman5234
    @melkiorwiseman5234 ปีที่แล้ว +2

    It's almost insane how tiny a machine code program can be. I once programmed a machine code routine into the old CoCo (TRS-80 Color Computer) which was designed to do something which the CoCo could not do natively, which was to output text on its high-resolution graphics screen. Even with fancy controls built into the code, such as cursor positioning and the ability to redefine character patterns, the code still wound up being tiny, when compared to the bitmap for the 256 characters which it could print (I copied the IBM extended ASCII character set, so the bitmap occupied 2048 bytes).
    If the USR() call was given an integer, the lower 8 bits would be used to print whichever character had that ASCII code, but the real power came when the call was given a string. Characters from ASCII 32 (space) on up would be printed, but characters from ASCII 0 through 31 would be interpreted as control characters with the work-horse being ASCII 27 (Escape) which was the prefix for all of the more complicated commands such as "redefine character" and "repeat character x times."
    It's been a long time, so I don't remember exactly how long the code was, but I do remember laughing to myself when I realised how bulky the character bitmap was in comparison to the code which used it. If I had to guess, I'd say it was something like 170 bytes in length, or less.

  • @dawndown4767
    @dawndown4767 ปีที่แล้ว

    Hey Ben thanks for your lesson

  • @unchaynd7266
    @unchaynd7266 ปีที่แล้ว +1

    A Ben Eater video? I didn't know today was my birthday!

  • @WillYouVid
    @WillYouVid 11 หลายเดือนก่อน

    I mean, the logical thinking involved in following along the whole video (and the knowledge it takes) is regularly higher than what I have, but just for the interesting facts that i can take out and seeing that you're up to these crazy things makes it nice to check your things out on here from time to time and slam that like button. Cheers

  • @fbodirector7464
    @fbodirector7464 ปีที่แล้ว +8

    This is awesome. I've been wanting to work on a 6502 breadboard machine that can run NES ROMs but I have not had the time. This is a very cool project.

    • @8bits59
      @8bits59 ปีที่แล้ว

      Good luck implementing the PPU ;) Truly an advanced chip for video game machines of that time period.

    • @thomasmathew13
      @thomasmathew13 ปีที่แล้ว +2

      I did just that during covid. I had a spare NES with a lot of damage to the motherboard, the case was already donated to a different NES to fix. I desoldered the cpu and ppu and put them on a breadboard.

  • @ohaya1
    @ohaya1 ปีที่แล้ว +2

    Ben, you are amazing!

  • @SkarTisu
    @SkarTisu 11 หลายเดือนก่อน

    I’ve always wondered how the Apple I worked, having started programming on the Apple ][ - thank you very much for sharing this with us!

  • @cookiekixx
    @cookiekixx 11 หลายเดือนก่อน

    Fantastic video

  • @tech-german1806
    @tech-german1806 ปีที่แล้ว +1

    Nice work

  • @FrankGraffagnino
    @FrankGraffagnino ปีที่แล้ว

    just a beautiful video and lesson

  • @northernlegolas
    @northernlegolas หลายเดือนก่อน

    One of the best videos ever

  • @oneofvalts
    @oneofvalts 10 หลายเดือนก่อน +1

    Incredible!

  • @iNireus
    @iNireus ปีที่แล้ว +1

    Loved this🫡❤️

  • @jamesroysiederome273
    @jamesroysiederome273 ปีที่แล้ว

    Loved the video 😊

  • @scriptdevvs
    @scriptdevvs ปีที่แล้ว +1

    I needed to know how to make this, thanks

  • @jessewgeek
    @jessewgeek ปีที่แล้ว +2

    Now I really want to build one of these