# Atari BASIC

Atari BASIC va ser el llenguatge de programació d'ordinadors BASIC original per a la família Atari de 8 bits (basada en el microprocessador 6502). Igual que altres BASIC era un llenguatge interpretat. Això permetia que les sentències de programa poguessin ser executades i provades immediatament en ser ingressades, sense necessitat d'etapes intermèdies de compilació o d'enllaç. Tenia una mida de 8 kilobytes i venia en un cartutx ROM per als Atari model 400 i 800, però era a la memòria ROM interna de l'ordinador en els models posteriors. En els Atari XL/XE, el BASIC podia ser desactivat mantenint premuda la tecla opció mentre l'ordinador arrencava.

## Antecedents

Atari inicialment va començar un projecte per crear una segona generació de consola de videojocs per substituir la Atari 2600. No obstant això, el llavors flamant president d'Atari, Ray Kassar, va decidir competir amb Apple i més aviat utilitzar el nou disseny per a construir una ordinador domèstica. Aquesta decisió va crear una nova necessitat, ja que tota màquina d'aquest tipus tenia una cosa en comú per aquesta època: totes venien amb BASIC.
Davant d'aquesta eventualitat Atari va fer el que altres companyies d'ordinadors domèstiques havien fet: comprar el codi font d'una versió del Microsoft 8K BASIC per al 6502 amb la intenció d'adaptar a les seves noves màquines. No obstant això, encara que la versió original per als microprocessador és Intel 8080 era de 8K, la conversió al 6502 ocupava més de 11K. Els enginyers d'Atari es van veure davant d'un gran problema en intentar reduir el BASIC i fer-ho cabre en els cartutxos Atari de 8K, entre altres coses perquè el codi proporcionat per Microsoft no tenia documentació adequada.
Atari requeria tenir la seva nova ordinador llista per al Consumer Electronics Show (CES) que s'acostava (gener de 1979) i van decidir buscar ajuda.

### Shepardson Microsystems

El setembre de 1978 Atari es va contactar amb la companyia Shepardson Microsystems (SMI) perquè completés el BASIC dins del límit de 8K. SMI havia escrit diversos programes per a l'Apple II (que també feia servir el microprocessador 6502) i estava acabant una versió avançada de BASIC (Cromemco 32 K Structured BASIC) per microordinadors basades en el bus S-100 de la companyia Cromenco. L'equip de SMI examinar el codi del Microsoft BASIC disponible i va decidir que era més convenient desenvolupar una versió completament nova que pogués cabre en 8K. Atari va estar d'acord i van completar les especificacions a l'octubre de 1978.
Les següents persones van treballar en el projecte que resultaria en una versió diferent de BASIC, coneguda com a ATARI BASIC :
    Paul Laughton (autor de l'Apple DOS) - Líder del projecte i contribuïdor principal.
    Kathleen O'Brien - contribuïdora principal.
    Bill Wilkinson - disseny de l'esquema de punt flotant.
    Paul Krasna - escriure la biblioteca de funcions matemàtiques.
    Bob Shepardson - modificar el Assembler IMP-16 per acceptar taules Sintax especials inventades per Paul Krasna
    Mike Peters - operador i programador júnior.
Una de les principals diferències entre el Atari BASIC i la versió de Microsoft va ser la manera diferent d'utilitzar les seqüència de caràcters. La versió de Microsoft ho feia seguint el model del DEC BASIC, en canvi el Atari BASIC va imitar a això al BASIC de Data General.
El contracte amb SMI especificava el 6 d'abril de 1979 com la data de lliurament, i incloïa també un programa de controlador de fitxers (que després seria conegut com DOS 1.0). Atari havia planejat portar una versió inicial del Microsoft BASIC en 8K al CES de gener, per després canviar-lo per l'Atari BASIC abans de treure el producte al mercat. No obstant això SMI va tenir llest el cartutx amb l'Atari BASIC abans de temps estipulat, per tant, va ser aquesta versió la que va portar al CES.
Hi va haver tres revisions de l'Atari BASIC:
* Rev A - cartutx usat per les computadores model 400/800/1200XL
* Rev B - estava integrat de fàbrica en els models 600XL/800XL, però també va estar disponible a cartutxos.
* Rev C - integrat en els models més nous de 800XL i en tots els/65XE/130XE/800XE/XE Game System. Corregia algunes incompatibilitats entre les revisions A i B anteriors. També es podia comprar com un cartutx independents.