400 800 XL XE

 7.3) What is Atari BASIC?

Previous ChapterTable of ContentsNext Chapter

BASIC is an acronym for Beginner&#146s 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&#146Brien - 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
                 Paul invented
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
"? PEEK(43234)".

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&#146t 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&#146s 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&#146ve 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&#146ve 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&#146t 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&#146t working (put a
    immediate 0 REM line before you ENTER.)"

All 3 versions of Atari BASIC may be available for download here:

About Us - Contact - Credits - Powered with Webdev - © Atarimania 2003-2012