Running MSBASIC on my breadboard 6502 computer

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

Комментарии • 558

  • @PC_YouTube_Channel
    @PC_YouTube_Channel 9 месяцев назад +729

    I saw the title in my notifications and said out loud "no way".
    I never thought I'd learn so much about the absolute lowest level parts of computing. But you have singlehandedly made it accessible, entertaining, and interesting for me.

    • @malumphasma
      @malumphasma 9 месяцев назад +21

      I used to think I knew the basics, until he did this series. He has taught me way more than any book. I hope he builds more soon.

    • @ChrisAthanas
      @ChrisAthanas 9 месяцев назад +10

      Ben Eater is a National treasure and you are lucky to have him

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

      I did the EXACT same thing lol

    • @13mudit
      @13mudit 9 месяцев назад +3

      Exactly!!
      this guy started from explaining how silicon gates work!
      And now he's running BASIC.... mind blowing

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

      @@13mudit 🤣🤣🤣 Couldn't get any crazier....

  • @carldaniel6510
    @carldaniel6510 9 месяцев назад +417

    Ah, the memories. My friends and I played with this stuff back when we wre in high school and the 6502 was new. There was no open source of MSBASIC back then, so we wrote our own disassembler (in FORTRAN!), went through the MSBASIC code and figured out what everything did and produced an buildable source, which we could then modify and assemble with our own assembler (also written in FORTRAN). OSI Superboard was our breadboard. Good times.

    • @Schlups
      @Schlups 9 месяцев назад +24

      That sounds super impressive. What are you doing now?

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

      Wow, that sounds like a fun time! Sometimes I wish I grew up when computers were somewhat "simpler" and lower level. My first experience (2008?) with computers was the web, specifically HTML, I skipped JavaScript and dove right into PHP and MySQL, and to this day I still prefer Python over JavaScript (side note, look up Brython, which is a cool project that translates Python into JavaScript)

    • @carldaniel6510
      @carldaniel6510 9 месяцев назад +102

      @@Schlupssoftware developer for 40+ years. Medical technology, aerospace, banking, all sorts of things. Disassembling & then understanding MSBASIC was one of the best learning experiences ever. We learned about the basics of parsing, expression evaluation, graphics, ... the list goes on and on. We hacked that OSI superboard to support raster graphics (it only did character graphics out of the box). That's why I love Ben's 6502 series - for me, it was a great way to learn about how computers REALLY work, and that foundation has served me well for 40+ years.

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

      This is super cool

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

      @@carldaniel6510fascinating

  • @Manabender
    @Manabender 9 месяцев назад +135

    4:39 Ah, the tried and true method of "just keep hacking away until the compiler stops yelling at you" method. My favorite.

    • @OrangeDied
      @OrangeDied 9 месяцев назад +3

      me trying to use linux

    • @jimbo80982
      @jimbo80982 8 месяцев назад +2

      @@Rx7man The definition of progress right there! 😂

  • @Darkstar2342
    @Darkstar2342 9 месяцев назад +196

    SCRTCH ("scratch") clears the memory, it's basically the same as the "NEW" statement. No idea why different implementations call it at different times during init, but I agree with you that it does not really matter at all as long as it is called *somewhere* ...

    • @TaeruAlethea
      @TaeruAlethea 9 месяцев назад +18

      I'd guess it's one of those micro optimizations for specific implications.

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

      ​@@TaeruAlethea You know, because of the implication.

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

      My bet goes on memory timing. Some architectures might fire a memory reset and run some CPU ops instead of wasting cycles waiting for the memory chip reset.

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

      @@ecosta what? that makes no sense. what even are "cpu ops" supposed to be? this is not HW initialization if you mean that

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

      @@Darkstar2342 It makes sense if you ever read timing diagrams in documentations for old ICs of old computers. Changing the order of the opcodes is a classical optimisation trick.

  • @GeeTheBuilder
    @GeeTheBuilder 9 месяцев назад +20

    On my Uni course in 92 we made single board 68000 computers using wire wrap etc
    Then wrote assembler. So I got an understanding of how computers work from this basic level.
    I since had 30y as a Software engineer and knowing how the low level worked was invaluable
    Most modern software engineers haven’t a clue about this stuff 🤷‍♂️
    Great videos, Ben. 🎉

  • @bsvenss2
    @bsvenss2 9 месяцев назад +24

    Unbelievable incredible videos with the best teacher on the internet. Thanks!

    • @SanchoPanza-m8m
      @SanchoPanza-m8m 8 месяцев назад

      Wow, that's nearly $30 USD!

    • @bsvenss2
      @bsvenss2 8 месяцев назад

      @@SanchoPanza-m8m Yeah... 29,35 USD today. 🙂

  • @MotoRideswJohn
    @MotoRideswJohn 9 месяцев назад +61

    Amazing where this series started and where you are now. I've been considered a computer professional my entire life. How much I didn't know until following along with you....

    • @bradley1995
      @bradley1995 Месяц назад

      Yeah, as a software dev nearly half my life now seeing how he writes code and creates/works with hardware is insane and on a whole different level. Really makes you think how much more there is yet to learn! Ben out here schooling us in the best way!

  • @amconners
    @amconners 9 месяцев назад +10

    I don't have a 6502 or the ability to justify buying a whole bunch of parts right now, but I do have an 8085, enough parts already lying around that I'm able to make something work most of the time, and the stubbornness to try following along at home even with the intermediate step of translating the entire thing to this different architecture before getting to the part where I add it to the 8085 breadboard computer
    and honestly? I think it's taught me even more this way! just watching these videos is educational enough, and you make the content so accessible and easy to understand, building something from them definitely gives me more of an idea of how things work and why, but taking it that one step further and getting a version of what you were showing to work with my computer? it's like I'm testing my knowledge of what I just learned, by taking what I learned and doing something with it, asking myself questions like do I understand it well enough that I can recreate it on my own 8085 computer? when I'm using different parts that have different datasheets, do I know where to start looking in mine for the closest thing to an analogue of what you showed from yours? do I understand what this code does and how it does it well enough that I can write my own version of it in 8085 assembly code?
    and the answer is usually yes, because your videos do an excellent job of teaching a wider concept by narrowing down on one specific instance. It doesn't HAVE to be a 6502, that's just the specific part you used, and the actual concepts are so much more applicable. since I'm on an 8085, I also won't have wozmon*, but that's okay because it doesn't HAVE to be wozmon, it just needed to be a simpler starting point than MS-BASIC, etc., etc.
    *I might try to port wozmon over anyway just for the practice. and to make sure everything so far is working. and also because that'd be fun, I think
    I guess what I'm trying to say is thank you, I'm learning so much more from these videos than I ever thought I could, and I'm enjoying every minute of it. and with these past few videos it's looking more and more like my end goal of running CP/M 80 on this breadboard thing I built myself is also possibly achievable for me someday

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

      But then you find out why Ben chose the 6502 over many other microprocessors: because a LOT of software had already been developed for it. Of course, there was a lot of software written for the 8080 as well, in particular for CP/M, so best of luck to you in getting that running!

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

      The 8085 is my FAVORITE CPU.

    • @etmax1
      @etmax1 5 месяцев назад

      The best thing if you're interested in the SW aspect of it all is to buy a small Raspberry Pi Pico or a a dev board from either Infineon or ST for ARM, or Microchip for AVR or TI for MSP430, they cost between $5 and $40 and you don't need a programmer and you will have something that fits in your pocket that will give you the HW to port this to.
      If it's the HW you're after then Ben's project or your own 8085 it is.

  • @markjones5973
    @markjones5973 9 месяцев назад +308

    4:27 "i will be equal to eater". You ARE Eater!!

    • @works4me89
      @works4me89 9 месяцев назад +15

      if he is Eater then sentence "i will be equal to eater" is true ;)

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

      ​@@works4me89 "will be" is not true

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

      ROFL :D

    • @ThePongles
      @ThePongles 9 месяцев назад +18

      @@CompressedSoup He was equal to eater, he is equal to eater, he will be equal to eater.
      Checks out to me.

    • @marred2277
      @marred2277 9 месяцев назад +3

      if (i == eater && me == watching) then with world { all_is_right = TRUE );

  • @cheeseparis1
    @cheeseparis1 9 месяцев назад +65

    I had a great day, an amazing concert, late dinner, a few videos, now let's go to bed.
    _Ben Eater video pops up_
    - LIKE
    - Play
    - Notice the "cmp 3" at 30:35 and yell "#3 !!", glad to still be able to notice it
    - Read comments and enjoy this moment back in time
    Thank you, this was great!

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

      Yes! Also noticed the suboptimal branching there - why not just BEQ is_cntc and "else" continue to RTS :)

  • @micha-42
    @micha-42 9 месяцев назад +22

    Fabulous work. I've been directing my college students to your videos for years (and I know and appreciate your feelings about higher ed), keep up the amazing work.

  • @DanielCharry1025
    @DanielCharry1025 9 месяцев назад +30

    That little software product started a revolution. Nice seeing you bring it to your setup. Cheers!

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

    24:40 is such a cool moment for the series since the whole thing started with Ben scoffing at the triviality of writing Hello World in Python. Then it comes full circle doing the same in BASIC but now understanding so much more of what's happening underneath.

  • @Scriabin_fan
    @Scriabin_fan 9 месяцев назад +174

    I always feel like a kid on Christmas morning every time Ben uploads.

    • @MiroslavPopov
      @MiroslavPopov 9 месяцев назад +3

      It is better than Christmas! At least, I'm not checking for Christmas 5 times per day.

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

      Count me in the party!!

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

    Very cool! The 6502 and Z80 were our go-to micros 40+ years ago. These units allowed the creation of many new career paths for many people as well.

    • @m1geo
      @m1geo Месяц назад

      And with videos like this, I'm sure will inspire many more :)

  • @narayanbandodker5482
    @narayanbandodker5482 9 месяцев назад +1147

    Next we run DOOM!

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

    Fantastic! This whole 6502 breadboard project never ceases to amaze.

  • @AlanCanon2222
    @AlanCanon2222 9 месяцев назад +43

    The memory map of the C64 treated zero page addresses $00 and $01 differently one was the data direction for the other, which was used for bank switching and cassette hardware control.

    • @DavidLatham-productiondave
      @DavidLatham-productiondave 9 месяцев назад +16

      That's because the 6510 processor explicitly supported memory banking with these two addresses. It had two internal registers that could be written to (at 0x00 and 0x01). These addresses when read, returned the last value written. The CPU was then wired to the extra address lines from specific pins assigned to this purpose.

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

      Definitely a hardware feature of the 6510 CPU: You loose two bytes to gain access to many more bytes.

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

    Thank you, love this. Helps demystify what was incomprehensible to me those many years ago.

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

    People took months, if not years to develop that in the first place, but Ben can explain it in 30something minutes.
    Just brilliant. Thank you!

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

    Absolutely incredible how you are able to make every topic you share so understandable and absolutely a joy to watch and learn. One of my absolute favorite content creators to view on YT and I cannot wait to se what you share next.

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

    Your videos took me from a basic understanding of a transistor to BASIC. It’s been a great journey!

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

    i was randomly suggested by this men on youtube home page with 7 years old making gate on breadboard.and i come his channel and shocked after all of this.respect bro for this video.

  • @Eliasdbr
    @Eliasdbr 9 месяцев назад +3

    Amazing! I got into computer science thanks to you. You are so good at explaining these concepts!

  • @ghosthuntergr
    @ghosthuntergr 9 месяцев назад +30

    The BEST teacher as always… Waiting for the Save and Load commands with file system support for basic 😊

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

      As for me, I'm waiting for his flash-based floppy emulator

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

      @@BrightBlueJim NO! Cassette tape drive!

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

    Thanks!

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

    you Sir are an ABSOLUTE legend! I adore your vids!
    Rarely are there vids that are that excellent and educational and just extremely entertaining as well!
    It just sparks so much interest and brings out the passion to just go and build/code/learn stuff!
    THANK YOU!

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

    Thank you so much for this series. I've been following along since the start and loving it. I grew up with a C64, and while I've been using it and other 8bit machines my whole life, I never imagined I'd really understand them the way I do now.

  • @aceJacek
    @aceJacek 9 месяцев назад +10

    This guy is a legend.

  • @AirmanCS
    @AirmanCS 7 месяцев назад

    I have never thought of even touching basic, but here Im know how it all works even. I can see why this could be useful at the time, I actually like the way it codes... but im just grateful I can still copy paste and review code live, thanks future. And Ben this series should be on a museum of tech, is just so complete... should be a 101 on computer science everywhere

  • @ChrisAthanas
    @ChrisAthanas 9 месяцев назад +3

    Amazing clear and efficient breakdown, impressive work, thanks for clearing up the mysteries

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

    Well done Sir, pushing the envelope of the breadboard computer! Thank you.

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

    wozmon and ms basic are awesome additions to your computer. ive followed along, built the computer but not yet implemented the code, great job.

  • @XyloTechLabs
    @XyloTechLabs 6 месяцев назад

    Hi, I'm a kid just 12 years old and I made a computer using a 6502 processor by learning from you. Thanks !

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

    For your next trick, build an interface that connects to a cassette tape drive that uses a DAC/ADC pair to generate/decode FSK tones, and then write code for LOAD and SAVE that use that to perform those functions!

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

    been following this project since I was still In school. I am a CS masters student. Love it

  • @lythd
    @lythd 9 месяцев назад +3

    this is really cool! im working on my own operating system for the 65c02 inspired by ur videos

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

    Love your work. Like A LOT! it's awesome, also the story telling, the way you count and show the modifications of the code... just awesome. great!

  • @satyamedh
    @satyamedh 9 месяцев назад +57

    just realised it's been almost exactly 5 years I started watching this channel
    time flies

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

      fruit flies like a banana

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

      Right. I have been re-watching the videos and following along on an FPGA. The weird part is seeing my comments from 4+ years ago!

    • @satyamedh
      @satyamedh Месяц назад

      @@m1geo watching your own old youtube comments is gold
      except I was 11 and they're fucking cringe :D

  • @SB-qm5wg
    @SB-qm5wg 8 месяцев назад

    Your skill-set is incredible. Even your vim game is tight.

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

    Honestly amazed by your fearlessness more than anything. "Well let's just comment everything and see if it complains".

  • @etmax1
    @etmax1 5 месяцев назад

    Thanks Ben, that was way more interesting than I thought it would be.

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

    Great stuff Ben. I have been working with an INS8073 recently that has Tiny BASIC in rom. It only works with a terminal and echos everything back to the terminal. For backspace, it sends

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

    Madness! Truly impressive progress and great explanation!

  • @theshindigg
    @theshindigg 9 месяцев назад +3

    It's an AMAZING start to the day when I see a Ben Eater video notification!

  • @alibaba6194
    @alibaba6194 8 месяцев назад

    the best computer engineering ever !
    Love from Morocco !

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

    This is such a blast to the past, thanks for this entire series :D

  • @DM-qm5sc
    @DM-qm5sc 9 месяцев назад +9

    Watched the whole video. was great

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

    So fun to ride along.
    I remember typing an assember / editor into memory on the commadore, so I could then type in and assemble a game.

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

    Cant wait to see the debian fork to run on this

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

    Awesome video series Ben, thank you ❤

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

    I love your content. An amazing introduction to how computers work, and this new series is incredible for understanding the lowest levels of what allows programming languages to exist and work.

  • @AuratticStride
    @AuratticStride 9 месяцев назад +21

    Oh man these are some of the best computer engineering videos around! I see those empty LOAD and SAVE subroutines - time to add USB / SD card / file storage next? :P

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

      That would be awesome. Even battery backed RAM

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

      USB and SD card file storage is complicated. Probably be a lot easier to use SATA based storage.

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

      @@TheRavenCoder
      if my memory serves me right SD cards can be accessed through SPI... considering the fact that he already bitbanged a serial interface onto this system i think bitbanging SPI shouldnt bee too difficult for him.
      might be slow, but hey the thing will feel more like its reading from a cassette if its slow to load stuff XD

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

      ​@@TheRavenCoderGeogre Foot (YT and Reddit) has made some code (I think C/asm) to use an SD card for his computer's file system

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

      @@TheScarvig I did not know that. But yeah, looking at some documentation, that should be doable.

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

    Dude this is so nostalgic, brings me back to uni in my operating systems class

  • @RonsStudio
    @RonsStudio 8 месяцев назад

    This is really cool. I [finally] got this working on my breadboard. Had trouble with the windows download for the compiler and all so used cygwin, which is a linux environment that runs on Windows. Not binary compatible with linux but you can get source code for things like the ms basic and cc65 compilers and compile them. Used the Xgpro programmer (windows based) to put the bin file on the ROM. Next is to do the input buffer and see how that goes. Ben Eater - appreciate all the work you put into these.

    • @RonsStudio
      @RonsStudio 8 месяцев назад

      Update: Added a "BYE" command to MSBasic to exit back to WOZMON so we don't have to reset to exit the program.

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

    “Reinventing the wheel”, also in informatic, is NOT always a waste of time … as is said at work…
    Fascinating 😍

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

      But that's just it: he didn't reinvent the wheel. He took something that already had a ton of development into it, and adapted it to his own hardware. Which if you ask me, is far superior to trying to emulate or reverse-engineer the custom chips in, say, a C-64.

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

      I understand what do you mean, and yes you also are right 😊

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

      But he also write all from scratch, of course reusing knowledge already solidified

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

    Oh yes, this is what I was looking forward to. Need to get mine out and finish it

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

    Great to hear about this open source minipro software, Time to revive this gem of a device from my parts bin!

    • @johnm2012
      @johnm2012 6 месяцев назад

      It's good to hear that the black T48 is now supported as the older white ones are getting difficult to find.

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

    Great work, Ben! You make it look so easy.

  • @mechaform
    @mechaform 13 дней назад

    This series continues to delight

  • @andraselias995
    @andraselias995 7 месяцев назад

    Nice to see the codes from Bill and Steve run hand in hand on this computer :D

    • @jimhark
      @jimhark 7 месяцев назад

      Do you mean Bill and Paul?

    • @andraselias995
      @andraselias995 7 месяцев назад

      @@jimhark I mean Bill Gates and Steve Wozniak

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

    One of your best videos yet!

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

    That is so cool !
    Basic brings back memories.

  • @der.Schtefan
    @der.Schtefan 9 месяцев назад +4

    Amazing how this works out of the box by simply pointing it to a few locations, and just needs 3 bios routines.

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

      Simplest thing Microsoft ever made!

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

      I wonder how it worked on C64 where you could also move the cursor up and down

    • @der.Schtefan
      @der.Schtefan 9 месяцев назад

      @@kreuner11 Not sure that the V2 version here corresponds to the C64 "V2", especially since it is a rebranded version, and the C64 has quite extensive KERNAL routines. They probably modified a lot of the input/output routines

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

      @@kreuner11 I'm sure it's just a matter of writing routines for those. Note that Ben chose a particular port as his starting point (cbmbasic2), which he never explained. It's likely that he looked at all of the implementations and found this to be the one with the fewest needs for hardware-specific functions. I also recall that the Commodore Pet had editing features that allowed you to edit any program line that was showing on the screen, but this also would have required choosing ASCII characters for the four arrow keys, and writing functions to detect those. I suspect that the "backspace" feature he showed here was intended only for development, where programming was being done from a serial terminal.

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

    This has been an enormously educational and entertaining series! Thankyou so much for making it! Is there any chance you could do a very quick summary of the development stages you’ve gone through to get to this point? This has been a long series and it might be hard for new viewers to catch up to the amazing place you’re at now.

  • @madson-web
    @madson-web 9 месяцев назад +1

    Ben makes everything seems so easy and ordinary

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

      Which is great because it helps people new to this get over the fear of the technology. Now, whether it ever actually IS that easy and pleasant is still up for debate.

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

    Amazing video again, awesome work

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

    Sweet I love the continuity

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

    Interesting to see MICROTAN as a build option for Microsoft BASIC. The UK based Tangerine Microtan 65 was my first computer, built from a kit. I only programmed it in assembler as I couldn't afford to expand it to include BASIC.
    I am now following along with your build, but instead of using Wozmon, I'm using TanBug. It's all very similar, so easy to adapt.

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

      Ditto here! Many hours punching a hex keypad. Half way through building up a Microtan65 as the one I built has long disappeared.

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

    This series is one of the best educational series ever made.

    • @Hans-gb4mv
      @Hans-gb4mv 9 месяцев назад

      After not going for development all those decades ago, I'm finally learning some assembly :D

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

      Agreed. I my digital hardware professor does not come close to this.

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

    This whole series is such a fantastic introduction to how a computer actually works. Anxiously awaiting the video where you make LOAD and SAVE do something... 😁

    • @nidavis
      @nidavis 8 месяцев назад

      via Datasette!

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

    Well, you started with chips and breadboards and now you're running the first programming language I learned as a kid.

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

    These videos are great! Thank you so much

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

    I appreciate your description of some error, and some solution to fix it (5:10). Nowadays when a "bug" has been found, the blame is more of "you did this" instead of "why" and then fix the problem.

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

    Wonderful!

  • @RonsStudio
    @RonsStudio 20 дней назад

    SAVING PROGRAMS TO FLASH - Have been working on a way to save basic code from this board to a Flash device. Used a SST39SF040 Flash chip and am able to save a currently loaded program to the Flash and load back into memory. Currently it only saves to Flash starting at zero. Now that this part works will be working on some kind of crude file system to allow saving multiple programs. Am running the 6502 at 4mhz and had trouble with instability due to ringing. Moved the flash device to the 6522 on port B, sharing with the LCD panel and bit-banging the control lines. I'm not a programmer so have no idea how to put the code up online for anyone to look at. Will work on getting that done if anyone is interested. Will also put up a schematic as well. Now that this is working will be adding a second 6522 to use with a dot matrix printer, old Epson or Panasonic, whatever i can get my hands on.

  • @robandsharonseddon-smith5216
    @robandsharonseddon-smith5216 8 месяцев назад +1

    I love this for the nostalgia. Would you try making a tape deck disk system next? perhaps a mouse?

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

    Hi,
    in the ISCNTC (around 30:48) - wouldn't it be better to conditionaly jump if it was control-c and let it through to rts if it wasn't? And (I do realize it's only 2 instances, however) would it be possible to jump to label to output 0d0a? wouldn't it save a byte or two?

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

      Those bugged me too. Might fit back in 250 bytes?

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

      ​@@renakunisaki Might fit - exactly, if I'm counting right it might save 3 bytes (if all the instructions and addresses are 1byte)

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

    I believe (and I can be wrong) that line editing of __ was when we used old terminal and needed to convey backspace and didnt need to output or could not output a backspace. I dont remember, I know I had dealt with stuff like that in the 70's

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

    A delightful watch as always.

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

    Wow! I certainly don't understand this stuff 😂
    Amazing to see CRLF goes back so far! Nowadays, CRLF is still generally what MS-DOS & Windows expect for each newline, whereas Unix and Linux just expect LF.

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

      The Unix and Macintosh operating systems used I/O libraries that handled cursor or printer head repositioning. DOS, BASIC, early Fortran, and some other bare metal languages left the programmer to deal with those details.

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

      CR/LF goes back as far as ASCII, maybe even further. There were some printing terminals that couldn't do a CR without also advancing the paper, and others, like the Teletype 7-bit models, that separated these functions.

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

    NGL seeing that running made my jaw drop. Also, please implement some sound hardware and code where when you press ^C it emits a loud and obnoxious beep, shared with ^G for “bell”.

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

    Informative and yes still nostalgic

  • @FlotteeMottee
    @FlotteeMottee Месяц назад

    Nice Video! Thanks for this :)

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

    This stuff is awesome, thanks for sharing this knowledge.

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

    A full physical screen for the terminal with the USB keyboard interface you did a while back would be awesome.

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

    Wow, that's amazing!

  • @X-OR_
    @X-OR_ 9 месяцев назад +17

    10 For X=1 to 10
    20 Print "Great Video ! ";
    30 Next X
    >Run
    Great Video ! Great Video ! Great Video ! Great Video ! Great Video ! Great Video ! Great Video ! Great Video ! Great Video ! Great Video !

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

      I was wondering if the semicolon would work over the serial. By the time you loop you have the CR.

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

      10 REM "This is a comment".
      20 GOTO 10
      >RUN
      I suppose the command REM comes from "Remark"?
      I learnt BASIC on a ZX Spectrum 48K with rubber keyboard and later on I graduated to the the great Comodore 64 which had a proper keyboard. Loading a simple game from tape could take from half an hour to maybe an hour. A floppy disk was a huge luxury back then.
      Time flies and so does computer tech.

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

    I love when ben uploads

  • @Poopmouth-fy5go
    @Poopmouth-fy5go 9 месяцев назад +14

    I am a simple man, I see new Ben Eater thumbnail, I like before getting 3 seconds into video. Thank you Ben Eater, I think I speak for us all when I say we love you.

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

    Very insightful. Thanks

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

    Genuinely amazing, I wish I could do what you do 😭

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

    lol, I was going to suggest he run Dave Plummer’s Primes test on this 6502 but someone has already added it to the repository.

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

    Nicely done!

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

    I would watch a full size documentary of this guys life just to understand how he got to this level of knowledge, entertaining value and fearlessness. Awesome video and I've never thought we would run BASIC on the breadboard computer. Next step is a second computer with a working network stack?

  • @danix30001
    @danix30001 9 месяцев назад +12

    34:50 This mistake always happens to the best of us

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

      True. In my time coding MC on the 128 i have bitten off more than i could chew and it was mostly my keyboard.
      If i ever come up with building a compiler for my own language again, someone please hit me with a 2by4 🤪

    • @ReneSchickbauer
      @ReneSchickbauer 9 месяцев назад +3

      That's why i always add a reset button on all ways microcontroller projects. Well, on my first telemetry controller for my solar installation i didn't, which had me try to powercycle the damn thing by unscrewing 12V cables outside in the pooring rain. That PCB got redesigned the very same evening :-)

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

    You should add a means to save and load programs like old computers did with cassette tapes

  • @gregjohnson5194
    @gregjohnson5194 5 месяцев назад

    You are one smart cookie. 👍

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

    Outstanding

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

    Interestingly, the Commodore64 originally had wozmon like features in the form of Peek and Poke. Poke allowing you to write a series of bytes to am address and peek read them.
    It also had a form of asm built in. If I were coding this that would have been my method. After wozmon was prepped, autoload msbasic then add functions that pass the input to wozmon as needed. After all even in MSBasic you should be able to use commands directly without making a script.