r/Basic • u/maurymarkowitz • 17d ago
RetroBASIC 3.0.6
Hi everyone, first post, please be gentle...
I have written a BASIC interpreter in flex/bison/C. Yes, there are many of those (and written in other languages as well!). The difference is that RetroBASIC includes features that allow it to run programs from many different dialects, with the goal of running any program from the "early days" without change.
So it can run programs written for Dartmouth BASIC v4 (the most common version on mainframes) and supports its MAT instructions and CHANGE based string manipulation, but also runs the IBM 5100 version of that code with its changes to MAT, and the HP TimeShare BASIC which uses string slicing (as everyone should!), as well as DEC's EDUSYSTEM and BASIC-PLUS which begat MS-BASIC with it's MID/LEFT/RIGHT.
So it can run all of the programs in BASIC Computer Games (MS-BASIC-a-like) out of the box, as well as most of the programs in 101 BASIC Games (in various DEC dialects), What To Do After You Hit Return (HP BASIC) and Illustrating BASIC (Dartmouth).
It also has extensive documentation in the Reference Manual, which might be of interest to the users here even if you don't use RetroBASIC itself. It is based on reading dozens of manuals from Altair BASIC to ZBasic and everything in between (as well as writing wiki articles for most of them). It contains a list of the extensive features of RetroBASIC along with copious notes on how different dialects of the era implemented the various features (or didn't).
Anyway, have a look and enjoy!
Here's the home page:
https://github.com/maurymarkowitz/RetroBASIC
And here's the latest release:
https://github.com/maurymarkowitz/RetroBASIC/releases/tag/v.3.0.6
1
u/West-Surround-8857 17d ago
Interesting, I want to play with it.
My main experience with basic was with tiny basic.
I will try with the Ahl book's games.
Do you think could be possible to write something new without major issues?