atari
Atari BASIC
Keywords
This site calls "Atari BASIC" the Revision C of the original, buggy and slow BASIC made by Shepherdson Microsystems in 1979 for the first 8-bit home computers from Atari, the videogames giant of the day. It was not bundled with the machines, but sold separately, cramped into an 8kB cartridge which had not been enough for the 6502 port of Microsoft BASIC. It went through two revisions right from the start for bug-fixing, and famously implemented a somewhat different flavour of BASIC.
Atari developers eventually got Microsoft Atari BASIC ready by 1981, but Shepherdson/Optimized Systems Software (OSS) remained improving and extending the original Atari BASIC for many years and maintained a larger and loyal user base. As of March 2023, two of these following versions are registered here and worth looking.
Where it is/was used
- Atari 400
- Atari 800
Noteworthy characteristics
Statements and functions for string manipulations were possibly the most distinct feature of Atari BASIC, as strings had to be DIMensioned and treated like arrays of characters, pretty much like in C language and akin to Apple Integer BASIC. No operator for string concatenation, nor RIGHT$, LEFT$ nor MID$: string parts were accessed with base-1 indexes like in S$(5,10)
.
The Wikipedia article on Atari BASIC enumerates some other differences it had from the widespread Microsoft BASIC, such as:
- Variable names are not restricted in size and all characters are significant
- Arrays must be explicitely declared and sized with DIM, while MS-BASIC implicitely allows any variable to be used as a 10-element array.
- Arrays of strings are not allowed.
- No integer variables.
- No bitwise operators.
- INPUT does not allow a prompt string like in
INPUT "What's your name"; N$
.
?
would not be automatically converted to PRINT in listings, even though it would work as expected
- For displaying a range of lines, the LIST uses a comma instead of a minus sign:
LIST 40,100
.
But for its side, Atari BASIC had some interesting features as well:
- Immediate syntax checking on each line entry
Environment and usage
TO DO: notes about the REPL or IDE used, keyboard shortcuts and commands, command-line options for compiling and linking, environment variables which might be set…
Extensions
TO DO: Famous libraries tools and extension packages made for this BASIC
Curiosities
TO DO: Historical notes, anecdotes, what people said about it
Related to...
Influenced by
- HP BASIC - where the string-handling model came from
- Data General Business BASIC - it was familiar to some of Shepardson developers.
- Cromemco BASIC - developed just before by Shepardson, used a 6-digit BCD floating point format which was also adopted in Atari BASIC
Influence for
Versions and successors
- Atari BASIC A+, actually a disk-based extension with lots of added functionality
References
- https://goto10retro.com - Excellent read from Paul Lefebvre about everything related to Atari computers, including some valuable BASIC tips. Last check 2024-01-17