Atari BASIC
Atari BASIC was a ROM resident BASIC interpreter for the Atari 8-bit family of 6502-based home computers. The interpreter was originally published on an 8KB cartridge; on later XL and XE model computers it was built in, and would load by default when the machines were booted w/o other cartridges in place.
At least three versions of Atari BASIC were released, although there were no significant differences between them other than varying levels of bug elimination. Atari had originally intended to use the already-standard Microsoft BASIC, but had trouble adapting the Intel 8080 code to fit into an 8K ROM in the less dense 6502 code. The result was a rather different version of BASIC, originally called Sheperdson BASIC, produced by a team that had recently completed an extended BASIC for the CP/M world. Atari also packaged cartridge and diskette-based versions of MS BASIC, Atari Microsoft BASIC, but they saw little use.
Atari BASIC differs from Microsoft-style BASICs primarily in the way it handles strings — it actually doesn't have any. Instead it used the Data General-like system of using character arrays, similar to the way the C programming language constructs strings. While this is in theory much faster than MS's solution, it was also much harder to port BASIC programs to the machine. Worse yet, character arrays in Atari BASIC were single-dimensional only, meaning that if a program used string arrays it essentially had to be completely redesigned for the Atari.
On the upside they were easy to work with, using "slicing" commands. A$ referred to the entire string, whereas A$(4,6) "sliced" out the three characters, 4, 5 and 6. In general this was a more elegant solution than MS BASIC's LEFT$,MID$, and RIGHT$ solution. Another difference was that the Atari strings, like C arrays, were 0-indexed while MS strings were 1-indexed. This may be seen as a somewhat dual edged sword: "Real Programmers" enumerate arrays from zero, but BASIC programmers wanting to convert MS BASIC programs to the Atari had to strive to avoid "Obi wan errorss" when dealing with text strings.
Atari BASIC was very slow, being outperformed by most other BASICs of the era. It also didn't support integer variables. All of these problems were fixable, but it appears Atari was still a videogame company at heart, and none of the three versions addressed any of these issues. Positive features of Atari BASIC, in comparison to the BASICs of some competing machines at the time, were its built-in support of simple sound effects and high-resolution graphics as well as periheral units like joysticks, paddles, and floppy disk drives. Other home computer users were often left with cryptic POKE's for doing such programming.
Most Atari BASIC statements may be abbreviated when entered. They appear unabbreviated in program listings because the keywords were stored tokenized.
See also: BASIC A+ – An extended BASIC for the Atari, from Optimized Systems Software, the same company that made Atari BASIC
External links