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 are 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 is the Atari XEGS which was released in 1987 and discontinued in 1992. The Atari ST family of computers use the different Atari ST character set.

The entire visible ATASCII character set, both normal and inverse glyphs, upscaled to 2x to better show details

Like most other non-standard ASCIIs, ATASCII has its own special block graphics symbols (arrows, blocks, circles, line segments, playing card suits, etc.) corresponding to the control character locations of the standard ASCII table (characters 031), and a few other character locations.

Control characters

The main 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 (to advance the paper, overtype, and so on). 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 (i.e., if the byte value of the character is between 128 and 255) the character is generally rendered in the reverse video (also called "inverse 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 (ATASCII and ASCII 27) with its high order bit set becomes an "EOL" or "End Of Line" character (ATASCII 155; ASCII 13), and a "clear screen" character (ATASCII 125) with its high order bit set becomes a "bell" or "buzzer" character (ATASCII 253; ASCII 7).

The ATASCII control characters used by the screen editor for cursor control (arrow keys) and text editing (tab, insert, delete, backspace, etc.) have associated graphic symbols that can be displayed by preceding them by the "escape" character (ATASCII 27). 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 (ATASCII 31).

The Atari screen editor implements the text cursor by simply inverting the character at the cursor position (by XOR with $80). It does not flash.

Interoperation

The differences between character representation can cause problems during modem communication between Ataris and other computers. Cursor movement commands (and even carriage returns and line feeds) 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 (ASCII CR), then standard ASCII would be used. If it got 155 (ATASCII CR) it would switch to ATASCII, allowing full use of the ATASCII graphic set. Some Atari BBSs would also block features (or even block access completely) for non-Atari users.

Text files encoded in ATASCII also need conversion to be viewed on modern PCs and vice versa—utilities are available to facilitate this.[1]

ATASCII animations

The control codes in ATASCII are transmissible to other computers such as BBSs, 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 their heyday.[2]

Because cursor control operations are represented with a single character (as opposed to multi-byte 'escape' sequences that were common in other schemes, like ANSI or VT100), 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.[3] 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.[4] Space and control characters are represented by the abbreviations for their names.

ATASCII[4][5]
0 1 2 3 4 5 6 7 8 9 A B C D E F
0x 🮇 🮂
1x
2x  SP  ! " # $ % & ' ( ) * + , - . /
3x 0 1 2 3 4 5 6 7 8 9 : ; < = > ?
4x @ A B C D E F G H I J K L M N O
5x P Q R S T U V W X Y Z [ \ ] ^ _
6x a b c d e f g h i j k l m n o
7x p q r s t u v w x y z | 🢰
8x 🮅
9x 🮊 NBSP
Ax ! " # $ % & ' ( ) * + , - . /
Bx 0 1 2 3 4 5 6 7 8 9 : ; < = > ?
Cx @ A B C D E F G H I J K L M N O
Dx P Q R S T U V W X Y Z [ \ ] ^ _
Ex a b c d e f g h i j k l m n o
Fx p q r s t u v w x y z - 🢰

Note the asymmetry in the selection of block-drawing characters: In normal video, 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 box-drawing characters are arranged relative to their corresponding letter keys on the Atari keyboard, appearing 64 code points earlier than the corresponding uppercase letter. For example, ┌, ┬, and ┐ are the control graphics characters found on the top left Q, W, and E keys, and appear 64 code points before those uppercase letters in ATASCII.

Control characters

ATASCII control characters [6]
HexDecimalFunctionKeystroke
1B27 Escape keyESC
1C28 Cursor UpCTRL+-
1D29 Cursor DownCTRL+=
1E30 Cursor LeftCTRL++
1F31 Cursor RightCTRL+*
7D125 Clear ScreenCTRL+< or ⇧ Shift+<
7E126 Delete← Backspace
7F127 TabTab ↹
9B155 End of lineRETURN
9C156 Delete Line⇧ Shift+← Backspace
9D157 Insert Line⇧ Shift+>
9E158 Clear Tab stopCTRL+Tab ↹
9F159 Set Tab stop⇧ Shift+Tab ↹
FD253 BuzzerCTRL+2
FE254 Delete CharacterCTRL+← Backspace
FF255 Insert CharacterCTRL+>

International Character Set

Atari 8-bits, via the ANTIC coprocessor, supported indirection of the character set graphics, allowing a program to redefine the graphical glyphs that appear for each ATASCII character. This can be used as a new font for text, and/or tile graphics in a video game or other application. Cycling between multiple redefined character sets can provide simple animation at very little CPU cost (in exchange for memory used to store the character set data). Altering a character set in RAM can also be used for animation.

Starting with the Atari 1200XL, the first in the XL line of computers that followed the original 400 and 800 models, the Atari OS ROM included a so-called "international" character set, that replaced 29 of the graphical glyphs with Latin alphabetical characters containing diacritics, such as e-acute (é). The OS built into 1200XL, the one and only Atari 8-bit model with function keys, allowed users to switch between the standard and alternate character sets by pressing CTRL+F4. Later XL and XE models required the user to update a register in RAM (e.g., via a POKE command in BASIC).

ATASCII international characters
HexDecimalSymbolKeystroke
000 áCTRL+,
011 ùCTRL+A
022 ÑCTRL+B
033 ÉCTRL+C
044 çCTRL+D
055 ôCTRL+E
066 òCTRL+F
077 ìCTRL+G
088 £CTRL+H
099 ïCTRL+I
0A10 üCTRL+J
0B11 äCTRL+K
0C12 ÖCTRL+L
0D13 úCTRL+M
0E14 óCTRL+N
0F15 öCTRL+O
1016 ÜCTRL+P
1117 âCTRL+Q
1218 ûCTRL+R
1319 îCTRL+S
1420 éCTRL+T
1521 èCTRL+U
1622 ñCTRL+V
1723 êCTRL+W
1824 åCTRL+X
1925 àCTRL+Y
2026 ÅCTRL+Z
6096 ¡CTRL+.
7B123 ÄCTRL+:

See also

References

  1. "ATASCII". Just Solve the File Format Problem.
  2. "AtasciiTube". Break Into Chat.
  3. Ratcliff, Matthew (August 1985). "Atari 'Toons". Antic. Vol. 4, no. 4.
  4. Bettencourt, Rebecca G. "ATASCII to Unicode Mapping". Kreative Korp.
  5. "ATARI8IG.TXT", L2/19-025: Proposal to add characters from legacy computers and teletext to the UCS (PDF), 2019-01-04
  6. Chadwick, Ian (1985). "Appendix 10 - ATASCII And Internal Character Code Values". Mapping the Atari (Revised ed.). Compute! Books. ISBN 0874550041.
This article is issued from Wikipedia. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.