ATASCII


The ATASCII character set, from ATARI Standard Code for Information Interchange, alternatively ATARI ASCII, is the variation on ASCII used in the Atari 8-bit family of home computers. The first of this family were the Atari 400 and 800, released in 1979, and later models were released throughout the 1980s. The last computer to use the ATASCII character set was the Atari XEGS which was released in 1987. The Atari ST family of computers used the different Atari ST character set.
Like most other non-standard ASCIIs, ATASCII has its own special block graphics symbols corresponding to the control character locations of the standard ASCII table, and a few other character locations.

Control characters

The most notable difference between standard ASCII and ATASCII is the use of control characters. In standard ASCII, a character in the range 0 to 31 is construed as a command, which might move the cursor, clear the screen, end a line, and so on. Some of these were designed for use on printers and teletypes rather than on screen. In ATASCII most of the ASCII control character values produce a graphics glyph instead. ATASCII uses character values different from ASCII for cursor control.
ATASCII has a character set of only 128 characters. If the high-order bit is set on a character the character is generally rendered in the reverse video of its counterpart between 0 and 127, using a bitwise negation of the character's glyph. This is done by the ANTIC chip. The two exceptions to this rule are that an "escape" character with its high order bit set becomes an "EOL" or "End Of Line" character, and a "clear screen" character with its high order bit set becomes a "bell" or "buzzer" character. No Atari printers actually have a bell, but the computer will sound if it is written to the screen device.
The ATASCII control characters used by the screen editor for cursor control and text editing have associated graphic symbols that can be displayed by preceding them by the "escape" character. For example, a right arrow can be displayed on a screen or printer by preceding it with the escape character followed by the "cursor right" character itself.
The Atari screen editor implements the text cursor by simply inverting the character at the cursor position. It does not flash.

Interoperation

The differences between character representation can cause problems during modem communication between Ataris and other computers. Cursor movement commands from computers not using ATASCII will be nonsense on an Atari, and vice versa. Terminal programs need to translate between ATASCII and standard ASCII.
Some Atari-based BBSs exploited this difference by asking the client to hit the "Return" key. If it got 13, then standard ASCII would be used. If it got 155 it would switch to ATASCII, allowing full use of the ATASCII graphic set. Some Atari BBSs would also block features for non-Atari users.

ATASCII animations

The control codes in ATASCII are transmissible to other computers such as BBS's, and crude animations are possible. These animations, also known as "break movies", often take the form of short cartoons, and were a popular feature of Atari BBSs in its heyday.
Because cursor control operations are represented with a single character, it is quite easy to make these animations. They can be created by a short BASIC program that captures keyboard commands, echoes them to the screen and saves them to a file. The Atari also allowed commands to be typed and captured as part of its operating system. Of course this required care to get it right, but after a few attempts it normally became quite easy. The simple capture programs didn't have editing features, so ATASCII movies frequently had errors that were corrected by repositioning the cursor and printing over the mistake.

Character set

Graphic characters

The following table shows the ATASCII character set. Each character is shown with a potential Unicode equivalent if available. Space and control characters are represented by the abbreviations for their names.
Note the asymmetry in the selection of graphics characters: There are lower triangles but no upper triangles, a left half block but no right half block, and a lower half block but no upper half block. These missing characters could be displayed by using inverse video.
The glyph representation in ROM used by ANTIC for display are assigned in different order from ASCII/ATASCII. For example, to display the characters "@ABC" on screen by writing directly to the screen memory, one would write the decimal values 32, 33, 34, and 35 rather than the ASCII/ATASCII values 64, 65, 66, and 67.

Control characters

HexDecimalFunctionKeystroke
1B27 Escape key
1C28 Cursor Up
1D29 Cursor Down
1E30 Cursor Left
1F31 Cursor Right
7D125 Clear Screen or
7E126 Delete
7F127 Tab
9B155 End of line
9C156 Delete Line
9D157 Insert Line
9E158 Clear Tab stop
9F159 Set Tab stop
FD253 Buzzer
FE254 Delete Character
FF255 Insert Character

ATASCII in action