Running Apple 1 software on a breadboard computer (Wozmon)

Sdílet
Vložit
  • čas přidán 17. 05. 2024
  • More 6502: eater.net/6502
    Support these videos on Patreon: / beneater or eater.net/support for other ways to support.
    0:00 Apple 1
    2:06 Changes to make it work
    3:13 What does Wozmon do?
    6:35 Doing I/O
    8:36 Running programs
    10:44 Writing assembly programs
    ------------------
    Social media:
    Website: www.eater.net
    Twitter: / ben_eater
    Patreon: / beneater
    Reddit: / beneater
    Special thanks to these supporters for making this video possible:
    Adrien Friggeri, Aleksey Smolenchuk, Amit Bueno, An Dương, Anthony Weems, anula, Ben, Ben Cochran, Ben Williams, Bill Cooksey, Bill Watkins, Binh Tran, Богдан Федоров, Bradley Stach, Brian Haug, Burt Humburg, Carl Fooks, Carsten Schwender, Chai, Chris Anders, Chris Lajoie, Chris Sachs, criis, Cristi Cobzarenco, Daniel Pink, Daniel Tang, Daniel Zimmer, Dave Walter, David Clark, David Cox, David Dawkins, David House, David Klassen, David Sastre Medina, David Turner, Dean Bevan, Dean Winger, Deep Kalra, Dennis Henderson, Dennis Schubert, Dilip Gowda, Dirk Sperling, Dmitry Guyvoronsky, Dustin Campbell, Dzevad Trumic, Emilio Mendoza, Eric Dynowski, Erik Broeders, Erik Granlund, Ethan Sifferman, Eugene Bulkin, Evan Serrano, Evan Thayer, Eveli László, EvinSaysMarxWasRight!, Florian Bürgi, fxshlein, George Miroshnykov, ghostdunk, GusGold, Hailey, Hovis Biddle, Ingo Eble, Jacob Ford, James Beldock, James Capuder, Jared Dziedzic, Jason Bowen, Jason DeStefano, Jason Grim, Jason Thorpe, JavaXP, Jaxon Ketterman, jemmons, Jeremy Cole, Jesse Miller, Jim Kelly, Jim Knowler, Joe Beda, Joe Pregracke, Joe Rork, Joel, Joey Murphy, John Hamberger jn., John Henning, John Meade, Jon Dugan, Jonn Miller, Joseph Portaro, Justin Graziani, Kai Wells, Kefen, Ken Paul, Kennard Smith, Kenneth Christensen, Kyle Kellogg, Lambda GPU Workstations, László Bácsi, Lithou, Lukasz Pacholik, Marcos Fujisawa, Marcus Classon, Mariano Uvalle, Mark Day, Martin Noble, Mats Fredriksson, Matthew Clifford, melvin2001, Michael Koreshkov, MICHAEL SLASS, Michael Tedder, Michael Timbrook, Michael Weitman, Miguel Ríos, mikebad, Mikel Lindsaar, Miles Macchiaroli, Muqeet Mujahid, NacOJerk, Nate Welch, Nicholas Counts, Nicholas Moresco, Nick Chapman, Oli Homer, Olivier HUBER, Örn Arnarson, Paul Heller, Paul Pluzhnikov, Pete Dietl, Phil Dennis, Philip Hofstetter, ProgrammerDor, Ralph Irons, Randal Masutani, Randy True, raoulvp, real_huitz, ReJ aka Renaldas Zioma, Ric King, Rick Hennigan, Rob Bruno, Robert Diaz, Robert Evans, Robert Keown, Robey Pointer, Roland Munsil, Sagnik Bhattacharya, Sam Sturgis, Scott Gorlick, Scott Holmes, Sean Bright, Sean Patrick O’Brien, Sergey Kruk, Shane Mulcahy, SonOfSofaman, Spencer Ruport, Stefan Nesinger, Stephen Kovalcik, Stephen Riley, Steve Jones, TheWebMachine, Thomas Eriksen, Tim Oriol, Tim Sanders, Tim Walkowski, Tim Wheeler, Tom, Tom Smith, Tyler Latham, Usseod, Vincent Bernat, Warren Miller, Wim Coekaerts, Yee Lam Wan

Komentáře • 562

  • @IceMetalPunk
    @IceMetalPunk Před 11 měsíci +1767

    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 Před 11 měsíci +26

      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 Před 11 měsíci +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 Před 11 měsíci +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 Před 11 měsíci +3

      Hope he does a Ternary computer at some point.

    • @likebot.
      @likebot. Před 11 měsíci +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 Před 11 měsíci +1105

    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 Před 11 měsíci +96

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

    • @Aeroshogun
      @Aeroshogun Před 11 měsíci +12

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

    • @Aeroshogun
      @Aeroshogun Před 11 měsíci +58

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

    • @JV-pu8kx
      @JV-pu8kx Před 11 měsíci +18

      Think of how important he was to the _industry._

    • @SkillTimO
      @SkillTimO Před 11 měsíci +36

      @@Aeroshogun Steve is still alive!

  • @RussellBeattie
    @RussellBeattie Před 11 měsíci +330

    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 Před 11 měsíci +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 Před 11 měsíci +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 Před 11 měsíci +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 Před 10 měsíci +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 Před 5 měsíci +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.

  • @skibbyau
    @skibbyau Před 11 měsíci +108

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

  • @e2DAiPIE
    @e2DAiPIE Před 11 měsíci +411

    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.

  • @Babakinha
    @Babakinha Před 11 měsíci +9

    Now THAT is a Hackintosh

  • @BtaraDev
    @BtaraDev Před 5 měsíci +6

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

  • @generessler6282
    @generessler6282 Před 11 měsíci +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.

  • @T3hBeowulf
    @T3hBeowulf Před 11 měsíci +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!

  • @TimothyChapman
    @TimothyChapman Před 11 měsíci +601

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

    • @vicroc4
      @vicroc4 Před 11 měsíci +92

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

    • @realityveil6151
      @realityveil6151 Před 11 měsíci +286

      @@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 Před 11 měsíci +135

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

    • @drivers99
      @drivers99 Před 11 měsíci +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 Před 11 měsíci +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.

  • @wagnerdenker
    @wagnerdenker Před 4 měsíci +1

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

  • @octane613
    @octane613 Před 11 měsíci +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 Před 11 měsíci +8

      They still are, on the inside

    • @octane613
      @octane613 Před 11 měsíci +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 Před 11 měsíci +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 Před 9 měsíci +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 Před 6 měsíci +3

      Simple? Modern machines are orders of magnitude more complicated.

  • @ChristopherHailey
    @ChristopherHailey Před 11 měsíci +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.

  • @mattshnoop
    @mattshnoop Před 11 měsíci +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!

  • @charstringetje
    @charstringetje Před 11 měsíci +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.

  • @avramitra
    @avramitra Před 11 měsíci +8

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

  • @SonOfSofaman
    @SonOfSofaman Před 11 měsíci +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 Před 11 měsíci +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 Před 11 měsíci +4

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

    • @SonOfSofaman
      @SonOfSofaman Před 11 měsíci +3

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

    • @SonOfSofaman
      @SonOfSofaman Před 11 měsíci +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 Před 11 měsíci +3

      Remember call -151?

  • @doBobro
    @doBobro Před 11 měsíci +5

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

  • @vip_bimmervip_bimmer8033
    @vip_bimmervip_bimmer8033 Před 11 měsíci +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

  • @typedef_
    @typedef_ Před 11 měsíci +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 Před 11 měsíci +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 Před 11 měsíci +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 Před 11 měsíci +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 Před 11 měsíci +7

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

    • @graealex
      @graealex Před 11 měsíci +4

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

  • @idjles
    @idjles Před 11 měsíci +4

    Woz left you those two bytes! 3:05

    • @BenEater
      @BenEater  Před 11 měsíci +2

      Yes that was very nice of him. :)

  • @CoffeeOnRails
    @CoffeeOnRails Před 11 měsíci +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...

  • @tiusic
    @tiusic Před 11 měsíci +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 Před 11 měsíci +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.

  • @amoldhamale3202
    @amoldhamale3202 Před 11 měsíci +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.

  • @IronRiviera
    @IronRiviera Před 11 měsíci +3

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

  • @rdagger
    @rdagger Před 11 měsíci +3

    Thanks!

  • @LunaticEdit
    @LunaticEdit Před 11 měsíci +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 Před 11 měsíci +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 Před 11 měsíci +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 Před 11 měsíci +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 Před 11 měsíci +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 Před 11 měsíci +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.

  • @cryptic_daemon_
    @cryptic_daemon_ Před 11 měsíci +48

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

  • @JacGoudsmit
    @JacGoudsmit Před 11 měsíci +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.

  • @oneeyestudios
    @oneeyestudios Před 11 měsíci +6

    Thanks Ben, what a great start to a Saturday!

  • @Darkstar2342
    @Darkstar2342 Před 11 měsíci +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

  • @RamiGB
    @RamiGB Před 11 měsíci +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.

  • @Kreiseljustus
    @Kreiseljustus Před 11 měsíci

    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!

  • @goofyrulez7914
    @goofyrulez7914 Před 11 měsíci +6

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

  • @solcloud
    @solcloud Před 11 měsíci +1

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

  • @eknuds
    @eknuds Před 11 měsíci +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...

  • @cojawfee
    @cojawfee Před 11 měsíci +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 Před 11 měsíci +2

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

    • @ancltube
      @ancltube Před 11 měsíci +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 Před 11 měsíci

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

  • @milckshakebeans8356
    @milckshakebeans8356 Před 11 měsíci +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

  • @pseudotasuki
    @pseudotasuki Před 11 měsíci +2

    A good reminder of how brilliant Woz is.

  • @honkhonk8009
    @honkhonk8009 Před 9 měsíci +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.

  • @Atlas_Enderium
    @Atlas_Enderium Před 11 měsíci +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

  • @tonysicily2687
    @tonysicily2687 Před 5 měsíci

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

  • @fingersmcoy
    @fingersmcoy Před 11 měsíci +2

    you are a truly gifted teacher sir.

  • @pabloibaceta5932
    @pabloibaceta5932 Před 11 měsíci +1

    Nice series. As always thank You for sharing

  • @arksum6818
    @arksum6818 Před 11 měsíci

    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

  • @kykykyykykyk2851
    @kykykyykykyk2851 Před 11 měsíci +2

    I wish writing light and optimized programs was still popular

  • @tychobra1
    @tychobra1 Před 11 měsíci +2

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

  • @svilen2006
    @svilen2006 Před 11 měsíci +2

    Amazing video! Thank you, Mr. Eater

  • @probablynot9998
    @probablynot9998 Před 11 měsíci +3

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

  • @ivan3584
    @ivan3584 Před 9 měsíci +2

    damn Woz, what a legend!

  • @scriptjungle
    @scriptjungle Před 11 měsíci +3

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

  • @merthyr1831
    @merthyr1831 Před 11 měsíci +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.

  • @jonathaningram8157
    @jonathaningram8157 Před 11 měsíci

    Always so easy to follow. Great pedagogy.

  • @emilgustafsson4976
    @emilgustafsson4976 Před 11 měsíci +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

  • @graemezimmer604
    @graemezimmer604 Před 11 měsíci

    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.

  • @a_commenter
    @a_commenter Před 11 měsíci +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

  • @bondies777
    @bondies777 Před 11 měsíci +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.

  • @juanmacias5922
    @juanmacias5922 Před 11 měsíci +2

    As always, your vids are mind blowing. :D

  • @simonsmith-evestigatorcomp4237

    Love it. Makes you appreciate where it all began.

  • @viktoreidrien7110
    @viktoreidrien7110 Před 11 měsíci +1

    superb video man, i love this channel, thank you

  • @bilalabesat
    @bilalabesat Před 11 měsíci

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

  • @lef1970
    @lef1970 Před 11 měsíci +3

    Very few yt titles make me say “this I gotta see”.

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

    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.

  • @mrbrianparker
    @mrbrianparker Před 9 měsíci

    Another superb computer science video from Ben Eater.

  • @foobar9761
    @foobar9761 Před 11 měsíci +1

    Fascinating! Thank you

  • @sciencespectrum3855
    @sciencespectrum3855 Před 11 měsíci +2

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

  • @slemsvamp
    @slemsvamp Před 11 měsíci +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. :)

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

    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"

  • @joeplocki3525
    @joeplocki3525 Před 11 měsíci +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.

  • @BrainSlugs83
    @BrainSlugs83 Před 11 měsíci +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.

  • @3DSage
    @3DSage Před 11 měsíci

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

  • @sjair6526
    @sjair6526 Před 2 měsíci

    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.

  • @oneofvalts
    @oneofvalts Před 9 měsíci +1

    Incredible!

  • @ohaya1
    @ohaya1 Před 11 měsíci +2

    Ben, you are amazing!

  • @Eliasdbr
    @Eliasdbr Před 11 měsíci +4

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

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

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

  • @robjal
    @robjal Před 11 měsíci +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.

  • @gregorymccoy6797
    @gregorymccoy6797 Před 11 měsíci +1

    That was nice. Good video. Clear and interesting.

  • @user-wo2uj1kl6o
    @user-wo2uj1kl6o Před 11 měsíci

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

  • @infinexnow
    @infinexnow Před 11 měsíci +3

    Great video, thank you.

  • @glitchy_weasel
    @glitchy_weasel Před 11 měsíci

    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.

  • @tech-german1806
    @tech-german1806 Před 11 měsíci +1

    Nice work

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

    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 Před 10 měsíci

    Fantastic video

  • @dawndown4767
    @dawndown4767 Před 11 měsíci

    Hey Ben thanks for your lesson

  • @jamesroysiederome273
    @jamesroysiederome273 Před 11 měsíci

    Loved the video 😊

  • @northernlegolas
    @northernlegolas Před 14 dny

    One of the best videos ever

  • @FrankGraffagnino
    @FrankGraffagnino Před 11 měsíci

    just a beautiful video and lesson

  • @fizwiz81
    @fizwiz81 Před 3 měsíci

    I took an embedded systems course and saw that 1008: AF 03 F3 B3 format so many times debugging my assembly code. I knew it was machine code and just thought it was there for legacy reasons. Seeing you input it into wozman directly and have it be loaded into memory like that and then ran with a simple command felt like magic

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

    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

  • @azzajohnson2123
    @azzajohnson2123 Před 11 měsíci

    seeing you make the changes you have to make the modification you need to make it work, is still considered "standing on the sholders of giants"

  • @melkiorwiseman5234
    @melkiorwiseman5234 Před 11 měsíci +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.

  • @andyhu9542
    @andyhu9542 Před 11 měsíci +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.

  • @AlexRyan
    @AlexRyan Před 11 měsíci

    This is so cool!
    Thanks for sharing.

  • @Bibbo8844hdbks
    @Bibbo8844hdbks Před 11 měsíci

    Well done sir

  • @kwiky5643
    @kwiky5643 Před 11 měsíci +1

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

  • @banderfargoyl
    @banderfargoyl Před 11 měsíci +1

    This is amazing. Nuff said.

  • @bmx666bmx666
    @bmx666bmx666 Před 11 měsíci

    I like the way of typing and error correction, so useful via command line for 1970s

  • @iNireus
    @iNireus Před 11 měsíci +1

    Loved this🫡❤️

  • @AzureLazuline
    @AzureLazuline Před 11 měsíci +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 Před 2 měsíci

      its like performing brain surgery on yourself on a tuesday afternoon