7.2.1) What is Atari BASIC?

(Thanks to Laurent Delsarte for cartridge variation pics and testing.)

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 October 1978 Atari contracted with Shepardson Microsystems, Inc. (SMI;
headed by Bob Shepardson) to create a version of BASIC (as well as a File
Management System) for the upcoming Atari personal computers.  Credits:
  Paul Laughton    - Main programmer (also wrote: FMS for DOS I and DOS 2.0S)
  Kathleen O'Brien - Floating point routines (also wrote: Assembler Editor)
  Bill Wilkinson   - Preliminary specifications for the language;
                     floating point scheme design
  Paul Krasno      - Implemented the transcendental routines

While SMI developed Atari BASIC to occupy 10KiB of ROM, including a 2KiB
Floating Point Package (FPP) for internal use by the language, Atari placed
the FPP component in operating system ROM (memory locations 55296 to 57343 or
$D800 to $DFFF) for universal availability.  Thus, the Atari BASIC ROM was
slimmed to 8KiB.  Please see the "What is the Atari OS" section of this FAQ
for further information about the FPP.

Atari released 3 different Revisions of Atari BASIC:

Revision A
----------
- Shipped with the 400 computer systems from 1979-1981
- Shipped with the 800 computer systems from 1979-1982

Atari BASIC Rev. A was produced by Atari on cartridge (CXL4002), standard
400/800-style brown label, which reads either "BASIC Computer Program" (early)
or "BASIC Computing Language" (most).

The cartridge was produced in mass quantities before SMI had finished
debugging it.  One place these bugs are documented is in this article by Steve
Hanson from Compute! magazine, Oct. 1981:
http://www.atarimagazines.com/compute/issue17/171_1_DOCUMENTED_ATARI_BUGS.php

On February 25, 1981, the source code to Atari BASIC (including the FPP) was
purchased from SMI by Optimized Systems Software (OSS), headed by former SMI
employees Bill Wilkinson and Mike Peters.

The Atari BASIC Source Book (Compute! Books, 1983, 0-942386-15-9), authored by
Bill Wilkinson, Kathleen O'Brien and Paul Laughton, made the source code to
Atari BASIC (Rev. A; and including the FPP) available to the public.
Available: http://users.telenet.be/kim1-6502/6502/absb.html

Revision B
----------
When the 600XL/800XL computers shipped in the fall of 1983 they included a
newly debugged Atari BASIC Rev. B built-in on ROM.  Unfortunately, while most
existing bugs were fixed, Rev. B introduced a new bug more serious than any of
the earlier problems.  In his article in the June 1985 issue of Compute!, Bill
Wilkinson writes:
  Each time you LOAD (or CLOAD or RUN "filename") a program, rev B adds 16
  bytes to the size of your program.  If you then save the program, the next
  time you load it in it grows by ANOTHER 16 bytes, and so on.
  http://www.atarimagazines.com/compute/issue61/323_1_INSIGHT_Atari.php
The problem can be alleviated by periodically, if not exclusively, using
LIST instead of SAVE or CSAVE to save your programs.

Atari never produced Atari BASIC Rev. B on cartridge.

"Revision C Converter: Type-in fix for buggy BASIC revision B" by Matthew
Ratcliff was published in the September 1985 issue of Antic:
http://www.atarimagazines.com/v4n5/revisioncconverter.html

Revision C
----------
Atari BASIC Rev. C is the final "fully debugged" version.  Rev. C was first
shipped on cartridge (CXL4002) by Atari, Inc. in June 1984 according to Antic
(http://www.atarimagazines.com/v4n5/revisioncconverter.html).  The silver
label on the first Rev. C cartridges reads "(c)1982 Atari, Inc." and "Made in
U.S.A."  Atari, Corp. also produced Rev. C on cartridge, using two different
silver labels designs, both of which read "(c)1985 Atari Corp." and "Made in
Taiwan".  Rev. C was also built-in on ROM in late-production 800XL computers
as well as the 65XE, the 130XE, the XE System Console, and the 800XE.

Determining Revision version
----------------------------
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                 C012402+C014502
     96                   B                 C060302A
     234                  C                 C024947A

All 3 versions of Atari BASIC may be available for download here:
http://www.ataripreservation.org/websites/freddy.offenga/atari_dev.htm

Manuals from Atari:
(See the "What is the Atari OS" FAQ section for FPP documentation.)
- Atari BASIC (Wiley Self-Teaching Guide) C014385 by Albrecht/Finkel/Brown
   (c)1979, 332 pages (see: http://www.atariarchives.org/basic/)
    - Shipped with the 400 computer systems from 1979-1981
    - Shipped with the 800 computer systems from 1979-1982
- BASIC Reference Manual (400/800 ed.), C015307, (c)1980, 120 pages
    - Authors: Carol Shaw and Keith Brewster
    - Shipped with the 800 computer systems from 1980-1982
- Inside Atari BASIC, C060992, Carris for Reston, (c)1983, 183 pages
- Atari BASIC Reference Manual Update, C061038, (c)1982, 6 pages
- BASIC Reference Manual (400/800/1200XL ed.), C061456 / BX4211, (c)1983,
   126 pages
- Atari BASIC Reference Guide For Experience Programmers, C061570, (c)1983,
   14 pages
- Atari BASIC Reference Guide, C061948, (c)1983 (international; 61 pages)
About Us - Contact - Credits - Powered with Webdev - © Atarimania 2003-2024