Running MSBASIC on my breadboard 6502 computer

  Рет қаралды 233,072

Ben Eater

Ben Eater

Күн бұрын

Пікірлер
@PC_YouTube_Channel
@PC_YouTube_Channel 10 ай бұрын
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 10 ай бұрын
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 10 ай бұрын
Ben Eater is a National treasure and you are lucky to have him
@danivation
@danivation 10 ай бұрын
I did the EXACT same thing lol
@13mudit
@13mudit 10 ай бұрын
Exactly!! this guy started from explaining how silicon gates work! And now he's running BASIC.... mind blowing
@mokoepa
@mokoepa 10 ай бұрын
@@13mudit 🤣🤣🤣 Couldn't get any crazier....
@Manabender
@Manabender 10 ай бұрын
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 10 ай бұрын
me trying to use linux
@jimbo80982
@jimbo80982 9 ай бұрын
@@Rx7man The definition of progress right there! 😂
@carldaniel6510
@carldaniel6510 10 ай бұрын
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 10 ай бұрын
That sounds super impressive. What are you doing now?
@dougabugg
@dougabugg 10 ай бұрын
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 10 ай бұрын
@@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 10 ай бұрын
This is super cool
@yaboi269
@yaboi269 10 ай бұрын
@@carldaniel6510fascinating
@Darkstar2342
@Darkstar2342 10 ай бұрын
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 10 ай бұрын
I'd guess it's one of those micro optimizations for specific implications.
@wbfaulk
@wbfaulk 10 ай бұрын
​@@TaeruAlethea You know, because of the implication.
@ecosta
@ecosta 10 ай бұрын
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 10 ай бұрын
@@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 10 ай бұрын
@@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.
@markjones5973
@markjones5973 10 ай бұрын
4:27 "i will be equal to eater". You ARE Eater!!
@works4me89
@works4me89 10 ай бұрын
if he is Eater then sentence "i will be equal to eater" is true ;)
@CompressedSoup
@CompressedSoup 10 ай бұрын
​@@works4me89 "will be" is not true
@AKuTepion
@AKuTepion 10 ай бұрын
ROFL :D
@ThePongles
@ThePongles 10 ай бұрын
@@CompressedSoup He was equal to eater, he is equal to eater, he will be equal to eater. Checks out to me.
@marred2277
@marred2277 10 ай бұрын
if (i == eater && me == watching) then with world { all_is_right = TRUE );
@cheeseparis1
@cheeseparis1 10 ай бұрын
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 10 ай бұрын
Yes! Also noticed the suboptimal branching there - why not just BEQ is_cntc and "else" continue to RTS :)
@GeeTheBuilder
@GeeTheBuilder 10 ай бұрын
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. 🎉
@failgun
@failgun 3 ай бұрын
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.
@amconners
@amconners 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 10 ай бұрын
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 10 ай бұрын
The 8085 is my FAVORITE CPU.
@etmax1
@etmax1 6 ай бұрын
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.
@bsvenss2
@bsvenss2 10 ай бұрын
Unbelievable incredible videos with the best teacher on the internet. Thanks!
@SanchoPanza-m8m
@SanchoPanza-m8m 9 ай бұрын
Wow, that's nearly $30 USD!
@bsvenss2
@bsvenss2 9 ай бұрын
@@SanchoPanza-m8m Yeah... 29,35 USD today. 🙂
@MotoRideswJohn
@MotoRideswJohn 10 ай бұрын
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 2 ай бұрын
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!
@Scriabin_fan
@Scriabin_fan 10 ай бұрын
I always feel like a kid on Christmas morning every time Ben uploads.
@MiroslavPopov
@MiroslavPopov 10 ай бұрын
It is better than Christmas! At least, I'm not checking for Christmas 5 times per day.
@zanmaria4960
@zanmaria4960 10 ай бұрын
Count me in the party!!
@narayanbandodker5482
@narayanbandodker5482 10 ай бұрын
Next we run DOOM!
@li0nleo918
@li0nleo918 10 ай бұрын
yes
@spiralcrunch6978
@spiralcrunch6978 10 ай бұрын
Lol
@Hans-gb4mv
@Hans-gb4mv 10 ай бұрын
over a serial line?
@MikelNaUsaCom
@MikelNaUsaCom 10 ай бұрын
file system? operating system?
@mihaiplesa5218
@mihaiplesa5218 10 ай бұрын
Yess
@micha-42
@micha-42 10 ай бұрын
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.
@michaelcoviello
@michaelcoviello 10 ай бұрын
Thanks!
@DanielCharry1025
@DanielCharry1025 10 ай бұрын
That little software product started a revolution. Nice seeing you bring it to your setup. Cheers!
@pchela99
@pchela99 9 күн бұрын
Amazing content. So easy to follow and fluid. If I only got anything like that 35 years ago, when I was cracking and "reverse engineering" Atari Basic and 6502 Atari Assembly on my 800 xl, things would have been smoother. Thanks Ben for your amazing high-quality videos on 6502 and 8bit computing.
@XyloTechLabs
@XyloTechLabs 7 ай бұрын
Hi, I'm a kid just 12 years old and I made a computer using a 6502 processor by learning from you. Thanks !
@mrbrianparker
@mrbrianparker 10 ай бұрын
Fantastic! This whole 6502 breadboard project never ceases to amaze.
@AlanCanon2222
@AlanCanon2222 10 ай бұрын
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 10 ай бұрын
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 10 ай бұрын
Definitely a hardware feature of the 6510 CPU: You loose two bytes to gain access to many more bytes.
@mechaform
@mechaform Ай бұрын
This series continues to delight
@EinChris75
@EinChris75 10 ай бұрын
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!
@bliksemdonder5624
@bliksemdonder5624 10 ай бұрын
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 2 ай бұрын
And with videos like this, I'm sure will inspire many more :)
@Xpun-oi2zz
@Xpun-oi2zz 14 күн бұрын
I'm brand new to breadboard computing. And can't wait to get to a point where I can use this. Great job with all of this. It's guys like you & stuff like this that help us noobs & make things just a bit easier to get a grip of. So Thank you for all you're doing. .. Respect.
@shanee7511
@shanee7511 10 ай бұрын
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.
@kazimdfoysal9605
@kazimdfoysal9605 10 ай бұрын
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.
@mitchellr6819
@mitchellr6819 10 ай бұрын
Your videos took me from a basic understanding of a transistor to BASIC. It’s been a great journey!
@thavith
@thavith 10 ай бұрын
Thank you, love this. Helps demystify what was incomprehensible to me those many years ago.
@r6u356une56ney
@r6u356une56ney 10 ай бұрын
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!
@satyamedh
@satyamedh 10 ай бұрын
just realised it's been almost exactly 5 years I started watching this channel time flies
@turolretar
@turolretar 10 ай бұрын
fruit flies like a banana
@m1geo
@m1geo 2 ай бұрын
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 2 ай бұрын
@@m1geo watching your own old youtube comments is gold except I was 11 and they're fucking cringe :D
@ZeroPlayerGame
@ZeroPlayerGame 10 ай бұрын
Honestly amazed by your fearlessness more than anything. "Well let's just comment everything and see if it complains".
@AuratticStride
@AuratticStride 10 ай бұрын
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 10 ай бұрын
That would be awesome. Even battery backed RAM
@TheRavenCoder
@TheRavenCoder 10 ай бұрын
USB and SD card file storage is complicated. Probably be a lot easier to use SATA based storage.
@TheScarvig
@TheScarvig 10 ай бұрын
@@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 10 ай бұрын
​@@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 10 ай бұрын
@@TheScarvig I did not know that. But yeah, looking at some documentation, that should be doable.
@chillyvanilly6352
@chillyvanilly6352 10 ай бұрын
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!
@aceJacek
@aceJacek 10 ай бұрын
This guy is a legend.
@AndyG-_-
@AndyG-_- 10 ай бұрын
Well done Sir, pushing the envelope of the breadboard computer! Thank you.
@jasonbenson036
@jasonbenson036 10 ай бұрын
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.
@RussPitcher
@RussPitcher 10 ай бұрын
Thanks
@Eliasdbr
@Eliasdbr 10 ай бұрын
Amazing! I got into computer science thanks to you. You are so good at explaining these concepts!
@AirmanCS
@AirmanCS 8 ай бұрын
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
@ronaldwaller4221
@ronaldwaller4221 10 ай бұрын
Ben, absolutely fabulous work! I love your videos! I see you appear to be a VI power user of sorts. Two Quick questions: How do you switch back and forth from the file you are editing and the output from your compiler command? And how are you splitting the view to have the directory listing on the left and selecting the file you want in the editor? Thanks for all you do! -Ronald
@SB-qm5wg
@SB-qm5wg 9 ай бұрын
Your skill-set is incredible. Even your vim game is tight.
@theshindigg
@theshindigg 10 ай бұрын
It's an AMAZING start to the day when I see a Ben Eater video notification!
@josefsajdler5066
@josefsajdler5066 10 ай бұрын
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 10 ай бұрын
Those bugged me too. Might fit back in 250 bytes?
@josefsajdler5066
@josefsajdler5066 10 ай бұрын
​@@renakunisaki Might fit - exactly, if I'm counting right it might save 3 bytes (if all the instructions and addresses are 1byte)
@slemsvamp
@slemsvamp 10 ай бұрын
This is such a blast to the past, thanks for this entire series :D
@khatharrmalkavian3306
@khatharrmalkavian3306 10 ай бұрын
Well, you started with chips and breadboards and now you're running the first programming language I learned as a kid.
@Danbotics
@Danbotics 10 ай бұрын
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.
@ddacombe4752
@ddacombe4752 10 ай бұрын
wozmon and ms basic are awesome additions to your computer. ive followed along, built the computer but not yet implemented the code, great job.
@ChrisAthanas
@ChrisAthanas 10 ай бұрын
Amazing clear and efficient breakdown, impressive work, thanks for clearing up the mysteries
@DanelonNicolas
@DanelonNicolas 10 ай бұрын
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!
@robandsharonseddon-smith5216
@robandsharonseddon-smith5216 9 ай бұрын
I love this for the nostalgia. Would you try making a tape deck disk system next? perhaps a mouse?
@lythd
@lythd 10 ай бұрын
this is really cool! im working on my own operating system for the 65c02 inspired by ur videos
@JTCF
@JTCF 10 ай бұрын
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.
@DaveEverett01
@DaveEverett01 10 ай бұрын
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
@der.Schtefan
@der.Schtefan 10 ай бұрын
Amazing how this works out of the box by simply pointing it to a few locations, and just needs 3 bios routines.
@renakunisaki
@renakunisaki 10 ай бұрын
Simplest thing Microsoft ever made!
@kreuner11
@kreuner11 10 ай бұрын
I wonder how it worked on C64 where you could also move the cursor up and down
@der.Schtefan
@der.Schtefan 10 ай бұрын
@@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 10 ай бұрын
@@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.
@etmax1
@etmax1 6 ай бұрын
Thanks Ben, that was way more interesting than I thought it would be.
@alibaba6194
@alibaba6194 9 ай бұрын
the best computer engineering ever ! Love from Morocco !
@RonsStudio
@RonsStudio 9 ай бұрын
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 9 ай бұрын
Update: Added a "BYE" command to MSBasic to exit back to WOZMON so we don't have to reset to exit the program.
@charlesh8536
@charlesh8536 10 ай бұрын
Cant wait to see the debian fork to run on this
@electricshmoo
@electricshmoo 10 ай бұрын
Madness! Truly impressive progress and great explanation!
@xotmatrix
@xotmatrix 10 ай бұрын
Great work, Ben! You make it look so easy.
@DantalionNl
@DantalionNl 10 ай бұрын
Great to hear about this open source minipro software, Time to revive this gem of a device from my parts bin!
@johnm2012
@johnm2012 7 ай бұрын
It's good to hear that the black T48 is now supported as the older white ones are getting difficult to find.
@X-OR_
@X-OR_ 10 ай бұрын
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 10 ай бұрын
I was wondering if the semicolon would work over the serial. By the time you loop you have the CR.
@squarerootof2
@squarerootof2 10 ай бұрын
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.
@andraselias995
@andraselias995 8 ай бұрын
Nice to see the codes from Bill and Steve run hand in hand on this computer :D
@jimhark
@jimhark 8 ай бұрын
Do you mean Bill and Paul?
@andraselias995
@andraselias995 8 ай бұрын
@@jimhark I mean Bill Gates and Steve Wozniak
@leonardopierangelini3097
@leonardopierangelini3097 10 ай бұрын
“Reinventing the wheel”, also in informatic, is NOT always a waste of time … as is said at work… Fascinating 😍
@BrightBlueJim
@BrightBlueJim 10 ай бұрын
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 10 ай бұрын
I understand what do you mean, and yes you also are right 😊
@leonardopierangelini3097
@leonardopierangelini3097 10 ай бұрын
But he also write all from scratch, of course reusing knowledge already solidified
@mrkosmos9421
@mrkosmos9421 10 ай бұрын
Honestly, my main takeaway in this video is that MacOS putting CR at the end of file lines comes from way back in the WozMon days, and Windows putting CRLF comes from Microsoft BASIC... amazing how far small choices from long ago stay in complex systems
@SimonBuchanNz
@SimonBuchanNz 10 ай бұрын
IIRC MS Basic did it that way because of the VMS OS it started on, and they did it because of their teletype hardware, which did it that way because they're based on typewriter hardware, and typewriters needed to have the carriage returned and a new line fed in as separate physical actions. Not quite as crazy as the chain of reasons that rockets are four horse asses wide, but the same principle!
@framegrace1
@framegrace1 10 ай бұрын
@@SimonBuchanNz All Ok, but MS Basic does it like this directly because of the teletype hardware all DIY computers used. Windows NT is the OS that was based on VMS, which happened several years after. The history of this is quite curious. As the concept of "file" didn't exists on Basic, using CR/LF is the obvious pick as it will always be used as output to teletype. Most mainframe/minis OS started to move to use just one char as text line terminator, mostly because of space optimization and easier management of text files. Woz did the same also to save space, but, for some reason, he picked CR instead of LF. Most of the systems picked LF, because CR was usefull as for itself to allow overstrikes on teletypes. THat way CR can still be used, and if for some reason a CR/LF gets into a text file, will behave exactly the same as LF alone.
@SimonBuchanNz
@SimonBuchanNz 10 ай бұрын
@@framegrace1 not sure about the NT being based on VMS thing - the thing I heard about VMS is all the DOS commands using /X for options being based on the VMS command naming, that sort of thing. Maybe we're talking about different influences at different times?
@gkcadadr
@gkcadadr 10 ай бұрын
@@SimonBuchanNz (that horse story is unfortunately a mistruth, apparently)
@SimonBuchanNz
@SimonBuchanNz 10 ай бұрын
@@gkcadadr without context I immediately thought of Catherine the Great 😅. Regarding rockets, I dunno, most of the chain is pretty established, street width is the dominating influence on the max size you can transport on ground, current road networks are based on Roman roads, etc, but I'm always willing to hear more.
@lenardEkko
@lenardEkko 10 ай бұрын
been following this project since I was still In school. I am a CS masters student. Love it
@sean_vikoren
@sean_vikoren 10 ай бұрын
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.
@DM-qm5sc
@DM-qm5sc 10 ай бұрын
Watched the whole video. was great
@sliiiimjim
@sliiiimjim 10 ай бұрын
lol
@StevenHokins
@StevenHokins 10 ай бұрын
Awesome video series Ben, thank you ❤
@madson-web
@madson-web 10 ай бұрын
Ben makes everything seems so easy and ordinary
@BrightBlueJim
@BrightBlueJim 10 ай бұрын
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.
@gregorymccoy6797
@gregorymccoy6797 10 ай бұрын
One of your best videos yet!
@jorgerangel2390
@jorgerangel2390 10 ай бұрын
Dude this is so nostalgic, brings me back to uni in my operating systems class
@MrThomashorst
@MrThomashorst 10 ай бұрын
You patch MS-Basic for a breadboard computer in about half an hour while I'm able to follow of what you are doing ... you're unbelievable
@m4d3ng
@m4d3ng 10 ай бұрын
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”.
@jonathanhillebrand4904
@jonathanhillebrand4904 10 ай бұрын
This series is one of the best educational series ever made.
@Hans-gb4mv
@Hans-gb4mv 10 ай бұрын
After not going for development all those decades ago, I'm finally learning some assembly :D
@timsanders9111
@timsanders9111 10 ай бұрын
Agreed. I my digital hardware professor does not come close to this.
@alexmcd378
@alexmcd378 10 ай бұрын
Oh yes, this is what I was looking forward to. Need to get mine out and finish it
@ghosthuntergr
@ghosthuntergr 10 ай бұрын
The BEST teacher as always… Waiting for the Save and Load commands with file system support for basic 😊
@BrightBlueJim
@BrightBlueJim 10 ай бұрын
As for me, I'm waiting for his flash-based floppy emulator
@r6u356une56ney
@r6u356une56ney 10 ай бұрын
@@BrightBlueJim NO! Cassette tape drive!
@rager1969
@rager1969 10 ай бұрын
Hmm, at 35:08, I thought you would modify your code further by replacing the BNE not_cntlc with BEQ is_cntlc and remove the JMP. This may be the first time I was more logical than Ben Eater. Usually, I'm way, way below your level and wouldn't have suggestions/enhancements.
@PhilR0gers
@PhilR0gers 10 ай бұрын
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 10 ай бұрын
Ditto here! Many hours punching a hex keypad. Half way through building up a Microtan65 as the one I built has long disappeared.
@popalex
@popalex 10 ай бұрын
That is so cool ! Basic brings back memories.
@QualityDoggo
@QualityDoggo 10 ай бұрын
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 10 ай бұрын
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 10 ай бұрын
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.
@fqed
@fqed 10 ай бұрын
Amazing video again, awesome work
@Mikaminei
@Mikaminei 10 ай бұрын
I need a Fire Alarm Sound for Upload Notifications from you
@GameBacardi
@GameBacardi 10 ай бұрын
I would like to order CD in mail everytime when video come, as mp4. ...so I don't need visit yt :D
@Mikaminei
@Mikaminei 10 ай бұрын
@@GameBacardi me too xD
@Mikaminei
@Mikaminei 10 ай бұрын
@@GameBacardi ill Pay up to 10 Grand per CD
@portblock
@portblock 10 ай бұрын
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
@danix30001
@danix30001 10 ай бұрын
34:50 This mistake always happens to the best of us
@DasIllu
@DasIllu 10 ай бұрын
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 10 ай бұрын
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 :-)
@DullBoyJack
@DullBoyJack 10 ай бұрын
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 9 ай бұрын
via Datasette!
@jschnurrr
@jschnurrr 10 ай бұрын
Me watching these videos: nodding, and saying yep, yep, that's right... Ben at 9:04 "I'm not really sure what this subroutine is or does exactly, or what difference it makes when it gets called..." Me: yep, yep, me too...
@Sheynan55
@Sheynan55 10 ай бұрын
These videos are great! Thank you so much
@xxz4655
@xxz4655 10 ай бұрын
Sweet I love the continuity
@toyloliSpare
@toyloliSpare 10 ай бұрын
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.
@MichaelKire
@MichaelKire 10 ай бұрын
SCRTCH is probably short for scratch, as in a scratch, aka temporary data, file
@skilz8098
@skilz8098 10 ай бұрын
I was thinking that too...
@SimonBuchanNz
@SimonBuchanNz 10 ай бұрын
It could also be "SCReen T? CHaracters", or anything else really! There's a reason we stopped using abbreviations. 😅
@reg2590
@reg2590 10 ай бұрын
Yep scratch memory = temporary area.
@Poopmouth-fy5go
@Poopmouth-fy5go 10 ай бұрын
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.
@unclerojelio6320
@unclerojelio6320 10 ай бұрын
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.
@DefaultFlame
@DefaultFlame 10 ай бұрын
A delightful watch as always.
@ftcgaming4651
@ftcgaming4651 10 ай бұрын
You should add a means to save and load programs like old computers did with cassette tapes
@4115steve
@4115steve 10 ай бұрын
This stuff is awesome, thanks for sharing this knowledge.
@wbfaulk
@wbfaulk 10 ай бұрын
The pointer for USR, the user-defined assembly instruction, GORESTART, isn't "go restart", as you state; it's that they know how terrible that code is going to be. It's actually "gore start".
@syjwg
@syjwg 10 ай бұрын
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.
@sehtdragon
@sehtdragon 9 ай бұрын
Hullo! I've been following your channel and your computer for a while now: I think I started watching around the time you built a simple video display for your computer. It's fascinating to me to watch you bring the system to life. As one who was young when all these chips were young I still find things to learn and enjoy watching you bring them to life. I have a request, if I may. I know you are busy and you have a lot to do, but you explain things so well and so clearly: could you do an 'intro to ca65' video at all? I would like to work with it myself for a project but my brain keeps bouncing off the syntax and the linker, and I can't find any 'gentle starts' anywhere online. Thank you again. Looking forward as always to the next installment!
@remyroyster
@remyroyster 10 ай бұрын
A full physical screen for the terminal with the USB keyboard interface you did a while back would be awesome.
How input buffering works
20:25
Ben Eater
Рет қаралды 197 М.
Running Apple 1 software on a breadboard computer (Wozmon)
14:23
Cat mode and a glass of water #family #humor #fun
00:22
Kotiki_Z
Рет қаралды 42 МЛН
Quilt Challenge, No Skills, Just Luck#Funnyfamily #Partygames #Funny
00:32
Family Games Media
Рет қаралды 55 МЛН
Which browser is better? Chrome or Firefox?
6:08
Mojo Dojo
Рет қаралды 33
Installing the world’s worst video card
25:12
Ben Eater
Рет қаралды 988 М.
A simple BIOS for my breadboard computer
21:53
Ben Eater
Рет қаралды 361 М.
What on Earth Is This Thing?
16:54
ctrl-alt-rees
Рет қаралды 231 М.
Emulating a CPU in C++ (6502)
52:28
Dave Poo
Рет қаралды 1 МЛН
How do hardware timers work?
31:17
Ben Eater
Рет қаралды 981 М.
Hacking a weird TV censoring device
20:59
Ben Eater
Рет қаралды 3,3 МЛН
How Atari 8-Bit Computers Work!
34:01
The 8-Bit Guy
Рет қаралды 310 М.
How Wozniak’s code for the Apple 1 works
37:18
Ben Eater
Рет қаралды 338 М.
Cat mode and a glass of water #family #humor #fun
00:22
Kotiki_Z
Рет қаралды 42 МЛН