Getting To Know Your Atari

The Ouch in Atari BASIC

Glenn Fisher and Ron Jeffries

Atari does have some flaws - not catastrophes, but flaws nonetheless. Note that the LET operator does permit any name to be used as a variable name.

After using the Atari 800 for a couple of months, we have found its version of BASIC to be less than perfect. Please don't misunderstand; we think that the Atari is a great machine, and is very usable in spite of these faults. (Other computers will have an equally long list of defects, they will just be different defects.)

Essentially, there are no character strings in Atari BASIC. Instead, you have arrays of characters, which ain't the same thing! (On the good side, however, you are not limited to 255 character strings as in Microsoft BASIC.)

Would you believe there are no error messages? Well, unless you consider ERROR 9 to be an error message ... (it means "Subscript out of range").

There is not a DELETE command. True, few of the competing BASICS have this essential feature, either. But hope springs eternal.

Atari doesn't have user-defined functions (such as DEF FNA(X))). This is one of those things you don't miss until you need it, but when you need it you really need it!

Would you believe - there is not a TAB function? This is essential when you need to produce neatly formatted output.

AND and OR do not allow you to get at individual bits of a number. (We see you yawning! but this is more important than you might suspect, especially when dealing with PEEKs and POKEs.)

Unlike some of Atari's competitors, the Atari does not, repeat NOT, have any "typeahead." Typeahead allows you to give commands before previous commands finish, which is very nice when you want to quickly give a series of commands.

As best we can tell, there is no way to verify a saved file to see that it got saved properly. Of all the things to omit...

The GET statement has an interesting "feature": it waits until there is a character available. It would be far more convenient if it returned a special "no data yet" value.

There is a clock in the Atari, but you, Dear Reader, don't get easy access to it. There are BASICs that give you clock values in two flavors: as "ticks" since the machine was turned on, and as time of day measured from when the machine was turned on.

Although you can have long, meaningful variable names (all of whose characters are significant, as opposed to lesser BASICs that only use the first two characters), there is a problem! Variable names cannot contain keywords. For example, POINTS and SCORE are both illegal. (This from a company known for its games!)

You can't list an open-ended line range. So, you have to say LIST 500,32767 when what you want to do is list everything from line 500 on. Sigh!

The INPUT statement doesn't allow a prompt string. You have to first PRINT the prompt, then do the INPUT. Sure, you can live with it, but it's a pain.

Here's one for the books: in Atari BASIC you can't READ or INPUT a value into an array element! (You guessed it: you first READ into an ordinary variable, then assign that variable to the array element. I hope that somebody on the design team at least has a guilty conscience.)

You can only have four colors on the screen at once. (The Apple has a minimum of six.)

The BREAK key should turn off sound. (It is nice that typing END will do it, however.)

Obviously, this list represents what we know as of November, 1979, when this was written. To the best of our knowledge, all of the problems are real. We won't be surprised if some of these flaws are corrected by Atari. (We may also have misunderstood the preliminary manuals.)

Finally, if you feel that we are really "down" on the Atari, please realize that none of the problems mentioned here are serious enough to keep us from publishing our Atari software product. Despite its flaws, the Atari is a very useful and flexible personal computer.

Return to Table of Contents | Previous Section | Next Section