ASCII to ATASCII Converter
Convert standard ASCII text to Atari ATASCII encoding with authentic 8-bit character preview, hex dump output, and downloadable .ata files.
About
ATASCII (Atari ASCII) is the character encoding used by Atari 8-bit home computers (400, 800, XL, XE series). It shares code points 32 - 122 with standard ASCII for printable characters but diverges significantly in control codes and the upper range. Characters 128 - 255 produce inverse video renditions via XOR with 0x80. Misidentifying the encoding corrupts display output on real hardware and emulators alike. This tool performs exact byte-level mapping from ASCII input to ATASCII output, rendering each glyph through the authentic Atari character ROM pattern on an 8×8 pixel grid.
Standard ASCII control codes (0x00 - 0x1F) have entirely different functions in ATASCII. For example, 0x7D is the clear-screen command, 0x9B is the end-of-line (EOL) marker replacing ASCII 0x0A, and 0xFD triggers the system buzzer. This converter handles these divergences and flags unmappable sequences. Note: graphical block characters unique to ATASCII have no ASCII source equivalent and must be inserted via the reference table below.
Formulas
The core ATASCII mapping follows a direct byte translation. For printable ASCII characters in the shared range, the mapping is identity:
For inverse video characters, the transformation applies a bitwise XOR operation:
The end-of-line remapping converts both CR and LF:
Where ATASCIIbyte is the resulting byte value, ASCIIbyte is the input code point, and 0x80 (128 decimal) is the inverse video flag bit. CRLF sequences (0x0D 0x0A) collapse to a single 0x9B EOL byte to prevent double line breaks on Atari hardware.
Reference Data
| ASCII Code | ASCII Char | ATASCII Code | ATASCII Function | Notes |
|---|---|---|---|---|
| 0x00 | NUL | 0x00 | Heart glyph ♥ | Graphics character |
| 0x01 | SOH | 0x01 | ┣ (box drawing) | Graphics character |
| 0x02 | STX | 0x02 | ┗ (box right-angle) | Graphics character |
| 0x07 | BEL | 0xFD | Buzzer | Bell → Buzzer remap |
| 0x08 | BS | 0x7E | Backspace | Delete previous char |
| 0x09 | TAB | 0x7F | Tab | Set/clear tab stop |
| 0x0A | LF | 0x9B | EOL (End of Line) | Primary line terminator |
| 0x0D | CR | 0x9B | EOL (End of Line) | CR also maps to EOL |
| 0x1B | ESC | 0x1B | Escape | Toggle escape mode |
| 0x1C | FS | 0x1C | Cursor Up | Move cursor up |
| 0x1D | GS | 0x1D | Cursor Down | Move cursor down |
| 0x1E | RS | 0x1E | Cursor Left | Move cursor left |
| 0x1F | US | 0x1F | Cursor Right | Move cursor right |
| 0x20 | Space | 0x20 | Space | Identical mapping |
| 0x21 - 0x5A | ! to Z | 0x21 - 0x5A | ! to Z | Identical mapping range |
| 0x5B | [ | 0x5B | [ | Identical |
| 0x5C | \ | 0x5C | \ | Identical |
| 0x5D | ] | 0x5D | ] | Identical |
| 0x5E | ^ | 0x5E | ^ | Identical |
| 0x5F | _ | 0x5F | _ | Identical |
| 0x60 | ` | 0x60 | ♦ (diamond glyph) | Glyph differs from ASCII |
| 0x61 - 0x7A | a to z | 0x61 - 0x7A | a to z | Identical mapping range |
| 0x7B | { | 0x7B | Spade glyph ♠ | Glyph differs |
| 0x7C | | | 0x7C | | (pipe) | Identical |
| 0x7D | } | 0x7D | Clear Screen | Control function, not printable |
| 0x7E | ~ | 0x7E | Backspace | Control function in ATASCII |
| 0x7F | DEL | 0x7F | Tab | Tab key function |
| 0x80 - 0xFF | Extended | 0x80 - 0xFF | Inverse Video | XOR 0x80 of codes 0x00 - 0x7F |
Frequently Asked Questions
.ata file contains raw ATASCII bytes with 0x9B line terminators. Emulators such as Altirra, Atari800, and Atari800Win recognize this format when loading text files via the H: (host filesystem) device or when injecting data through simulated SIO. For disk image workflows, use a tool like Dir2Atr to embed the .ata file into an ATR disk image.