A page about GWBASIC Games & Other Programs

Freely quoting from Leon’s page:

Below is a collection of games and other programs written in BASICA that also run on GWBASIC. Some are programs I wrote myself; a whole bunch are type-in programs from David Ahl’s Basic Computer Games series of books, and a few are from other sources… Enjoy!

GWBASIC is the successor to IBM’s BASICA. The original IBM PC shipped with three versions of BASIC: Cassette, Disk, and Advanced (“BASICA”). Cassette BASIC came on the computer ROM, so if you turned on the machine with no disk in the drive, the computer booted directly into Cassette BASIC, not DOS (unless I’m remembering this wrong). Advanced BASIC included more commands than Disk BASIC, including PLAY [music] and [draw] CIRCLE. These versions of BASIC were dependent on the IBM PC ROM, so they won’t work on modern computers. GWBASIC is free of that limitation, and will run inside DOSBox

See also related previous discussions:

101 is done and posted!
BASIC Computer Games

3 Likes

That’s a lovely page: 100% enthusiasm.

GW-BASIC and QBasic run extremely well under DOSBox, and I’ve had launchers on my Linux desktop for them for many years. I’ve even seen it run as root, twiddling various GPIO things via /proc and /sys on a Raspberry Pi. This is well outside any recommended use of DOSBox, though.

1 Like

Do you happen to remember where you saw this? I have been looking for GPIO manipulation, on a Pi, through MS-DOS, for a while now.

I’m pretty sure it was on the Raspberry Pi Forums. How long ago, I couldn’t say.

Running dosbox as root is likely a fairly terrible idea. Mapping drives to system file locations may not be fun at all.

Somewhat off-topic (but you can have hazelnuts in every bite if you wish); my own Basic, RTB, works on the Pi and allows access to most GPIO including I²C (but not SPI - yet). It’s a “modern” Basic with enough control structures to not need line numbers, but you can use them if you like.

Note that GPIO only works on Pi’s 0-4. Not the 5 for now.

https://projects.drogon.net/rtb/

-Gordon

Thanks Gordon, I’ll take a look at it. However, I was really hoping for running under MS-DOS, as I have some old programs that I was wanting to play with - maybe porting them to your BASIC under Linux on a Pi would be good.

1 Like

Basic always had the issue of “too many dialects” although some would suggest that’s as much a strength as a weakness - it was easy to adapt a Basic to new hardware back in the day (late 70s, early 80s) and I remember magazines publishing pages of conversions between dialects.

I have made a start of converting 101 Basic computer games but not gotten very far - yet. Also a few others that appeared in Creative computing - here is an example with new code (not so much a conversion as a re-write) with the original included as comments:

https://unicorn.drogon.net/wumpus.rtb

This is another from 101 BCG:

http://unicorn.drogon.net/aceyducey.rtb

See the notes in the original after the translation…

The question is how much effort do you make - re-write, or adapt?

-Gordon

1 Like

I’d recommend taking a look at Rob Hagemans’ PC-BASIC: it’s GW-BASIC, re-created in Python. It’s absurdly compatible, right down to the level of implementing cassette audio load/save for IBM PC Cassette BASIC and also BSAVE screen dump decoding for all your CGA masterpieces.

[Of course, being written in Python adds its own whole layer of fragility. Python regularly deletes packages from its core package list, so PC-BASIC won’t run on Python ≥ 3.13. I’ve had to resort to deploying a thing called pipx to keep PC-BASIC running on my computers.]