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 (arrows, blocks, circles, line segments, playing card suits, etc.) corresponding to the control character locations of the standard ASCII table (characters 0–31), 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 (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). 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 (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.
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 (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. 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 (a computer version of correction fluid).
Codepage table
Graphic characters
The following table shows the glyphs for ATASCII characters and the corresponding Unicode glyph. Characters without a corresponding Unicode glyph are represented by abbreviations for their names.
_0 | _1 | _2 | _3 | _4 | _5 | _6 | _7 | _8 | _9 | _A | _B | _C | _D | _E | _F | |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
0_ |
♥ 2665 0 |
├ 251C 1 |
(right ¼ block) | ┘ 2518 3 |
┤ 2524 4 |
┐ 2510 5 |
╱ 2571 6 |
╲ 2572 7 |
◢ 25E2 8 |
▗ 2597 9 |
◣ 25E3 10 |
▝ 259D 11 |
▘ 2598 12 |
(upper ¼ block) | ▂ 2582 14 |
▖ 2596 15 |
1_ |
♣ 2663 16 |
┌ 250C 17 |
─ 2500 18 |
┼ 253C 19 |
● 25CF 20 |
▄ 2584 21 |
▎ 258E 22 |
┬ 252C 23 |
┴ 2534 24 |
▌ 258C 25 |
└ 2514 26 |
␛ 241B 27 |
↑ 2191 28 |
↓ 2193 29 |
← 2190 30 |
→ 2192 31 |
2_ |
SP 0020 32 |
! 0021 33 |
" 0022 34 |
# 0023 35 |
$ 0024 36 |
% 0025 37 |
& 0026 38 |
' 0027 39 |
( 0028 40 |
) 0029 41 |
* 002A 42 |
+ 002B 43 |
, 002C 44 |
- 002D 45 |
. 002E 46 |
/ 002F 47 |
3_ |
0 0030 48 |
1 0031 49 |
2 0032 50 |
3 0033 51 |
4 0034 52 |
5 0035 53 |
6 0036 54 |
7 0037 55 |
8 0038 56 |
9 0039 57 |
: 003A 58 |
; 003B 59 |
< 003C 60 |
= 003D 61 |
> 003E 62 |
? 003F 63 |
4_ |
@ 0040 64 |
A 0041 65 |
B 0042 66 |
C 0043 67 |
D 0044 68 |
E 0045 69 |
F 0046 70 |
G 0047 71 |
H 0048 72 |
I 0049 73 |
J 004A 74 |
K 004B 75 |
L 004C 76 |
M 004D 77 |
N 004E 78 |
O 004F 79 |
5_ |
P 0050 80 |
Q 0051 81 |
R 0052 82 |
S 0053 83 |
T 0054 84 |
U 0055 85 |
V 0056 86 |
W 0057 87 |
X 0058 88 |
Y 0059 89 |
Z 005A 90 |
[ 005B 91 |
\ 005C 92 |
] 005D 93 |
^ 005E 94 |
_ 005F 95 |
6_ |
♦ 2666 96 |
a 0061 97 |
b 0062 98 |
c 0063 99 |
d 0064 100 |
e 0065 101 |
f 0066 102 |
g 0067 103 |
h 0068 104 |
i 0069 105 |
j 006A 106 |
k 006B 107 |
l 006C 108 |
m 006D 109 |
n 006E 110 |
o 006F 111 |
7_ |
p 0070 112 |
q 0071 113 |
r 0072 114 |
s 0073 115 |
t 0074 116 |
u 0075 117 |
v 0076 118 |
w 0077 119 |
x 0078 120 |
y 0079 121 |
z 007A 122 |
♠ 2660 123 |
| 007C 124 |
↰ 21B0 125 |
◀ 25C0 126 |
▶ 25B6 127 |
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.
Characters 1B-1F and 7D-7F had a dual use as graphics characters and control characters.
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
ATASCII | Function | Keystroke |
---|---|---|
27 | Escape key | ESC |
28 | Cursor Up | CTRL+- |
29 | Cursor Down | CTRL+= |
30 | Cursor Left | CTRL++ |
31 | Cursor Right | CTRL+* |
125 | Clear Screen | CTRL+< or SHIFT+< |
126 | Delete | BACK SPACE |
127 | Tab | TAB |
155 | End of line | RETURN |
156 | Delete Line | SHIFT+BACK SPACE |
157 | Insert Line | SHIFT+> |
158 | Clear Tab stop | CTRL+TAB |
159 | Set Tab stop | SHIFT+TAB |
253 | Buzzer | CTRL+2 |
254 | Delete Character | CTRL+BACK SPACE |
255 | Insert Character | CTRL+> |
See also
References
- ↑ funktor.org - ATASCII vs Unicode mapping table
- ↑ atariarchives.org - Mapping The Atari Appendix 10 - ATASCII And Internal Character Code Values
External links
- ATASCII concise graphical overview (4.2KB GIF image)
- ATASCII <–> IBM ASCII tables (mostly plain ASCII text)
- ATASCII Character Sets
- Typography in 8 bits: System fonts
- Mac/Atari Fusion: Atari Fonts (3 fonts in varying levels of smoothness, TrueType cross-platform format for replicating ATASCII characters on modern computers)
ATASCII in action
- AtasciiTube - Watch ATASCII animations
- The Boot Factory telnet://bfbbs.dtdns.net
- Inside The 8-bit - (2 lines) telnet://TCPIPExpress.dyndns.org:8888 or 8889
- MouseNet BBS telnet://atari-bbs.kicks-ass.net
- Closer to Home BBS telnet://cth.dtdns.net (There is a "Break Movie" directory on this BBS)