Task: Explore BASIC Programming Languages for the Atari 8-Bit Computers
Needed: Web browser
Time: 30-60 minutes
Introduction
Nearly all of us who grew up with Atari 8-bit home computers learned to program in BASIC. This was especially true in the early days given software was hard to come by and expensive. Many of us were left with trying to make our own games or typing them in from magazines and books. BASIC was great because it was accessible and relatively easy to learn compared to assembly language.
In the beginning there was Atari BASIC. Atari BASIC was fine for learning, but early versions were buggy and it was really slow. As an example, Atari BASIC would start from the beginning of a listing and proceed line by line when a GOTO was called. This was a very inefficient way to find the line number called in the GOTO. It didn’t take long for faster and better BASICs to arrive to market. As reviewed in this article from a June 1987 issue of Antic magazine, key features of BASICs included upward compatibility from Atari BASIC, the ability to compile to machine code, and the availability of runtime libraries for distributing programs so that users didn’t need to own that version of BASIC. This article has a nice table comparing the different features. I have included it in the comments below. One of the most useful features are commands which simplify some of the more complex or slow player-missile graphics functions such as player movement.
I list below some of the common versions of BASIC which were widely used in the early 1980s along with some modern versions which greatly improve BASIC programming on the old hardware. These are fun to explore and learn. This is not a comprehensive list, but a good starting point to explore the more common flavors of BASIC.
Instructions
BASIC programming languages from the early 1980s
- Atari BASIC – This was the original BASIC for the Atari and the one most of us learned on. It was inexpensive and widely available. There are three revisions (A, B, & C). Revision C is the newest and was built into later Atari XLs and the Atari XE line of computers. This is the one you should try as it fixes numerous bugs and memory leaks in the B version. This article from Page 6 magazine explains how to tell which version your Atari BASIC is using a PEEK(43234) which will return 162 for A, 96 for B, and 234 for C. Here is the Wikipedia page for Atari BASIC.
ROM files for all three Atari BASIC versions can be found on Atari Wiki.
You can purchase Atari BASIC cartridges on eBay for around $5. Rev. A are brown. Rev. C are silver.
- BASIC XL – This was probably the most common alternative to Atari BASIC and was sold by Optimized Systems Software (OSS). This is an upgrade based on their earlier and buggy BASIC A+. It was several times faster and came with some nice player-missile graphics routines. It was also upwardly compatible with Atari BASIC. I used this one after Atari BASIC. A primary limitation was no compiler. Here is a review of BASIC XL from Antic magazine (1984).
ROM files and the extensions as ATR files can be found on Atari Wiki.
The cartridges can be found on eBay but are often expensive at $50-$100 or more.
- BASIC XE – This was an upgrade to BASIC XL from OSS. It included some faster math routines and access to more memory on the XE computers. There was also no compiler for BASIC XE. I have previously covered making a simple game in BASIC XE by taking advantage of some of the player-missile graphics routines. Here is a review of BASIC XE from Antic magazine (1986).
ROM files and extension as ATR files can found on Atari Wiki.
The cartridges can be found on eBay but are often expensive at $50-$100 or more.
- Advanced BASIC – I never used this version of BASIC but it included a lot of advanced features useful for making games. It also came with a compiler and a runtime library for software distribution. I still have not had much of a chance to play with this one but home to someday soon.
ATR images for Advanced BASIC are available on Atari Wiki.
I have not seen disks for Advanced BASIC on eBay. I imagine it would be expensive.
- Turbo BASIC XL – This version of BASIC was programmed by Frank Ostrowski and released as public domain software. It is several times faster than Atari BASIC and comes with a compiler. This was released around the same time as BASIC XE and this one became more popular because it was equally powerful and free. Here is the Wikipedia page.
ROM and ATR images for Turbo BASIC XL are available on Atari Wiki.
I have not seen original disks for Turbo BASIC XL on eBay. I imagine it would be expensive.
- Microsoft BASIC – Microsoft BASIC was widely used on a number of different 8-bit computer at the time. The main reason to use this BASIC is if you are porting Microsoft BASIC programs from other platforms. Microsoft BASIC II is more commonly found for the Atari. Here is the Wikipedia page for the Atari version of MS BASIC and the Wikipedia page for MS BASIC in general.
The ROM for Microsoft BASIC II can be found on Atari Mania.
The cartridges are available on eBay from time to time and usually cost $50 or more.
Modern BASIC programming languages
- Altirra BASIC – Altirra BASIC is a modern BASIC for the Atari completely redesigned from the ground up. As a result, it is much faster than some of the other BASICs and includes a number of nice features including player-missile graphics routines like BASIC XL and XE. You might know this BASIC because it is found in the Altirra emulator.
It can be difficult to track down the ROM files for the latest version of Altirra BASIC. The Serious Computerist lists version 1.55 at the time of this post.
This is not available on eBay but you could make your own Altirra BASIC cartridge as I did.
- Fast BASIC – Fast BASIC is another modern BASIC for the Atari. As with Altirra, it is much faster than some of the other BASICs and includes a number of nice features resembling those in Turbo BASIC XL.
Here is the Github project for Fast BASIC where you can find the latest version.
This is not available on eBay but you could make your own Fast BASIC cartridge as I did with Altirra BASIC.
Here is a later post I did on trying Fast BASIC for the first time. Here is one I did on passing parameters to procedures. Give it a try!
Comments
All of these BASICs are worth getting familiar with as they were quite common back in the day or, in the case of the modern versions, are widely used today. Atari Wiki lists these BASICs and a few others. The Serious Computerist also lists some of the BASICs. The Antic magazine article is a good place to start to see a comparison. I show below their comparison table. There is also a nice comparison on Atari Wiki including a comparison of commands.
