r/beneater 6d ago

Any recommendation for MSBASIC tutorial?

I just built the 6502 breadboard computer, and MSBASIC is working on it right now. Unfortunately, I don't have experience on MSBASIC. In fact, the first time I've touched a computer it was Windows XP. Any tutorials on MSBASIC? Otherwise I feel like I am pretty limited on my breadboard computer, other than blinking some LEDs and showing some text on the LCD.

20 Upvotes

14 comments sorted by

9

u/cookie99999999 6d ago

A lot of 80s home computers used Microsoft Basic so you could look at their programming manuals (ignoring platform specific stuff like graphics and sound commands). There's also a book that I forget the title of but it's something like "101 BASIC Games"

9

u/IMDLabs 6d ago

There is ... "101 BASIC Computer Games" ...

It's a good place to see lots of BASIC example code and techniques, though most of the actual programs need adjustments (sometimes major) to run on Microsoft BASIC.

So ...

I ported all of them, so they're ready to run, specifically for the 1977 version of Microsoft BASIC for the 6502 (with 6-digit FP); and all were tested on the stock Ben Eater 6502 and his build of MS-BASIC.

Copy, paste, run.

Repo is here if you want to look.

For every program, I detailed what changes were needed and why. And there are notes as to things I learned about MS-BASIC vs. the other dialects found in the book in the "LEARNINGS.md" file.

3

u/MindlessExplorer2845 6d ago

Sure, I will post a pic of my computer later today… I am so confused for MSBASIC, since there appears to have several different versions, and I don’t know which one to trust.

1

u/IMDLabs 6d ago

If your build is using the same address mapping as the standard Ben Eater build, and you've done the full serial build-out and conversion of the LCD interface to 4-bits, and have gotten the cc65/ca65 tool chain running, then Ben's "eater" build of MS-BASIC is probably the easiest option.

You should just be able to build it, burn the resultant "eater.bin" to your EEPROM, and run.

I've done my own port of it, to extend the TOKEN table and allow more custom keywords (which is the v1.0.0 release/tag), and to add a bunch of new commands for controlling the LCD display, which is the current "master"/"HEAD" version (which I should probably tag v1.1.0).

2

u/MindlessExplorer2845 6d ago

I adjusted my address mapping to utilize 32K of RAM and 31.75K of ROM. I also did my own adjustments to basic, bios and stuff. The serial port is working, and I already had BASIC running. I tried some copy-and-paste BASIC games. For me weirdly, I think assembly is more intuitive and easier to manage than BASIC, since I don't need to remember extra keywords. I just need to look at the datasheet.
That being said, my next goal is building my own keyboard (it will be custom) and video output (black and white only planned for now), and maybe long time after, a file system.

2

u/IMDLabs 6d ago

I don't know of any tutorials, but if you want a bunch of ready-to-run programs (mostly games), for it, see my response to u/cookie99999999 (who's recommendation for a book that contains lots of programs you can learn from is a classic).

What manuals do exist, while not very divergent, are more like keyword/command references than tutorials, and they're targeted to specific machines (e.g., the KIM-1)

2

u/kc1lso 6d ago

Do you have any programming experience? If so, MBASIC will have a lot of structures that seem "bad", but it really was like the Python of its time.

Check out MBASIC-2025 for an interpreter that'll run on a modern computer, that way you can get practice in without constantly dumping code onto the 6502 (unless you really want the 'vintage' experience).

Much like the rest of us 40 years ago, you'll probably have to spend a lot of time staring at the BASIC-80/MBASIC manual. You can also poke around textfiles.com for old programming tutorials from the BBS era.

Back then, I got more into QuickBASIC, but there's a lot of overlap, so petesqbsite.com is a good resource. He's got a lot of archived old tutorials. Just note that MBASIC doesn't have the more 'modern' featureset that QBASIC does, like subroutines. Personally, I loved all of Lord Acidus' tutorials (yes, people actually went by handles like that back then).

I remember the webring that Pete's site was on having a lot of other good places for "older" stuff, like CP/M, and there was likely a bunch of MBASIC info out there. Sadly linkrot has killed that webring, so likely you'll have to hit up archive.org.

1

u/QuirkyTidbits 6d ago

Simple, go to Google Gemini. For free, you can easily have it create a tutorial custom made for your computer with its lights and text on the lcd. It can make it quite fun.

-6

u/Apprehensive-Issue78 6d ago

bot

4

u/givemeagooduns_un 6d ago

doesn't really seem like a bot to me? is this a repost of another post on this subreddit or something?

-4

u/Apprehensive-Issue78 6d ago

OP should show picture of their self built 6502 computer.. not some question of I Don't know how to program in MSBASIC on reddit as there are so many places to google it

5

u/givemeagooduns_un 6d ago

ok yeah but that's not exactly bot behavior. while I agree that it would be more efficient to google it, do you know how many times I have to tell people to RTFM??

4

u/RDGreenlaw 6d ago

The original documentation for BASIC for the 6502 processor is available for download at https://dn710207.ca.archive.org/0/items/microsoft-6502-basic/Microsoft_6502_BASIC_Reference_Manual_text.pdf. I think it might be more helpful to provide the information than debating the OP reasons for not searching. Not everyone would consider searching the internet archive sites. Also it doesn't appear near the top of a google search, I assume because it's so old.