BASIC is an acronym for Beginner’s All-purpose Symbolic Instruction Code.
Developed by John Kemeney and Thomas Kurtz in the mid 1960s at Dartmouth
College, BASIC is one of the earliest and simplest high-level programming
languages, incorporating components of FORTRAN and ALGOL.
In 1978 Atari contracted with Shepardson Microsystems, Inc. (SMI) to create a
version of BASIC (along with a File Management System (FMS)) for the upcoming
Atari personal computers. The following worked together on the project, which
resulted in Atari BASIC (along with the original Atari DOS):
Paul Laughton (author of Apple DOS) - project leader, co-primary contributor
Kathleen O’Brien - co-primary contributor
Bill Wilkinson - floating point scheme design
Paul Krasno - implemented the math library routines following guidelines
supplied by Fred Ruckdeschel (author of the acclaimed text,
BASIC Scientific Subroutines)
Bob Shepardson - Modified IMP-16 Assembler to accept special syntax tables
Mike Peters - keypuncher/computer operator/junior programmer/troubleshooter
In late 1980/early 1981 the development rights to Atari BASIC were purchased
from Shepardson Microsystems by a new company, Optimized Systems Software
(OSS), headed by Bill Wilkinson.
Three Revisions of Atari BASIC were produced: A, B, and C:
A - cartridge produced for use with the 400/800/1200XL
B - built-in to the 600XL/800XL, also produced on cartridge
C - built-in to the 800XL(late models)/65XE/130XE/800XE/XE Game System,
also produced on cartridge.
When running Atari BASIC, memory location 43234 ($A8E2, BASIC ROM) indicates
which Revision of BASIC is running. At the READY prompt, enter
If the result is: You have Revision: Atari Part#:
162 A CO12402+CO14502
96 B CO60302A
234 C CO24947A
On versions A, B, and C, Greg Miller writes:
"Rev A had a number of bugs, not just the commonly described crash bug.
Rev B fixed most (maybe all, I don’t remember) of these, but in the
process, they added a new bug. You see, the crashes were caused by a bug
in one of OSS’s memory move routines. When the bug was fixed, the fix
mistakenly applied to a routine that actually worked in Rev A, causing the
new lockup problem.
Rev C differs in only a few bytes. AFAIK, the only change was to remove
the alteration made to the routine that was broken by Rev B.
Also concerning versions A, B and C, Russ Gilbert writes (3 Jul 2002):
"I’ve got an opinion on this, my opinion is wrong to 95% of Atari users.
B is a re-compile of A. C is a 12 byte patch to B.
I’ve used Atari BASIC for a millenium (?). B has less hangs and
ridiculous stuff like losing DIMs and stuff. C hangs like a lot. I must
admit I don’t have very much experience with C as I go back to B after
using C for a short time.
I prefer B. I know its foibles. Just LIST, NEW, ENTER, SAVE every 5 or
6 SAVEs. Also, 0 REM will help with ENTERs that aren’t working (put a
immediate 0 REM line before you ENTER.)"
All 3 versions of Atari BASIC may be available for download here: