A free, cross-platform emulator for the GW-BASIC family of interpreters.
PC-BASIC is a free, cross-platform interpreter for GW-BASIC, Advanced BASIC (BASICA), PCjr Cartridge Basic and Tandy 1000 GWBASIC. It interprets these BASIC dialects with a high degree of accuracy, aiming for bug-for-bug compatibility. PC-BASIC emulates the most common video and audio hardware on which these BASICs used to run. PC-BASIC runs plain-text, tokenised and protected .BAS files. It implements floating-point arithmetic in the Microsoft Binary Format (MBF) and can therefore read and write binary data files created by GW-BASIC.
PC-BASIC is free and open source software released under the GPL version 3.
See also the PC-BASIC home page.
This quick start guide covers installation and elementary use of PC-BASIC. For more information, please refer to the full PC-BASIC documentation which covers usage, command-line options and a comprehensive GW-BASIC language reference. This documentation is also included with the current PC-BASIC release.
If you find bugs, please report them on the SourceForge discussion page or open an issue on GitHub. It would be most helpful if you could include a short bit of BASIC code that triggers the bug.
Packaged distributions can be downloaded from one of the following locations:
On Windows:
- run the installer
- to start, click PC-BASIC in your Start menu
On OS X:
- mount the disk image
- to start, double click the PC-BASIC app
On Linux and other Unix:
- untar the archive
- run
sudo ./install.sh
. You may be asked to install further dependencies through your OS's package management system. - to start, click PC-BASIC in your Applications menu or run
pcbasic
on the command line.
If the options above are not applicable or you prefer to install from source, please
consult INSTALL.md
for detailed instructions.
Click on the PC-BASIC application icon or run pcbasic
on the Windows, OSX or Linux command
line and PC-BASIC will start in direct mode with no program loaded. The default emulation target is
GW-BASIC 3.23 on a generic IBM-compatible PC with a VGA video card.
A few selected command-line options:
pcbasic PROGRAM.BAS
runs the program file named PROGRAM.BAS
directly.
pcbasic --preset=tandy
starts with the emulation target set to Tandy GW-BASIC on a Tandy 1000.
pcbasic --preset=pcjr
starts with the emulation target set to Cartridge BASIC on an IBM PCjr.
pcbasic -h
shows all available command line options.
If you prefer to run PC-BASIC from a GUI, you can set the required options in the configuration file instead. The configuration file is stored in the following location:
OS | Configuration file |
---|---|
Windows | %APPDATA%\pcbasic\PCBASIC.INI |
OS X | ~/Library/Application Support/pcbasic/PCBASIC.INI |
Linux | ~/.config/pcbasic/PCBASIC.INI |
The expression %APPDATA%
is a Windows variable pointing to the folder in your roaming profile
where applications store their data and settings. Typing the expression as above in the Windows Explorer
should get you to the right place. Under Windows 7, %APPDATA%
normally is the location
C:\Users\YourUsername\AppData\Roaming\
where you replace YourUsername
with your Windows login name.
For example, you could include the following line in the section [pcbasic]
in PCBASIC.INI
,
to emulate IBM PCjr Cartridge Basic:
preset=pcjr
PC-BASIC starts in direct mode, a 1980s-style interface operated by executing BASIC commands directly. There is no menu, nor are there any of the visual clues that we've come to expect of modern software.
A few essential commands to help you get around:
LOAD "PROGRAM"
loads the program file named PROGRAM.BAS
into memory, but does not run it yet.
LIST
displays the BASIC code of the current program.
RUN
starts the current program.
SAVE "PROGRAM",A
saves the current program to a human-readable text file named PROGRAM.BAS
.
NEW
immediately deletes the current program from memory.
SYSTEM
exits PC-BASIC immediately, discarding any unsaved program or data.
Use one of the key combinations Ctrl+Break
, Ctrl+Scroll Lock
, Ctrl+C
or F12+B
to interrupt a running program and return to direct mode.
The following pages have GW-BASIC program downloads, lots of information and further links.
- KindlyRat's archived Geocities page has a number of classic games and utilities.
- PeatSoft provides GW-BASIC documentation, utilities and some more games.
- Neil C. Obremski's gw-basic.com has some fun new games made recently in GW-BASIC.
- Leon Peyre has a nice collection of GW-BASIC programs, including the (in)famous first IBM PC game
DONKEY.BAS
. - Brooks deForest provides his amazing Tandy GW-BASIC games, all released into the public domain.
- TVDog's Archive is a great source of information and GW-BASIC programs for the Tandy 1000.
- Phillip Bigelow provides scientific programs written in GW-BASIC.
- Gary Peek provides miscellaneous GW-BASIC sources which he released into the public domain.
- S.A. Moore's Classic BASIC Games page provides the BASIC games from David Ahl's classic book.
- Joseph Sixpack's Last Book of GW-BASIC has lots of office and utility programs, including the PC-CALC spreadsheet.
- Thomas C. McIntyre's GeeWhiz Collection has business applications, games and reference material.
- cd.textfiles.com has tons of old shareware, among which some good GW-BASIC games.