Advanced Video Attribute Terminal Assembler and Recreator
# Advanced Video Attribute Terminal Assembler and Recreator

The Advanced Video Attribute Terminal Assembler and Recreator (AVATAR) protocol is a system of escape sequences occasionally used on bulletin board systems (BBSes). Its basic level was designed explicitly as a compression of the much longer ANSI escape codes, and can thus render colored text and artwork faster over slow connections. Even when the terminal didn't understand it, the data on disk could use the AVATAR format and so take up less space.

AVATAR was adapted to Advanced Zansi/Avatar Terminal Handshaking Output Transfer Handler (AZATHOTH). It was never implemented but was included as zazt.sys.

The basic protocol is defined by FidoNet technical standard proposal FSC-0025.

Avatar was later extended in late 1989 to AVT/0 (sometimes referred to as AVT/0+) which included facilities to scroll areas of the screen (useful for split screen chat, or full screen mail writing programs), as well as more advanced pattern compression. These extensions were not convertible directly into sequences understood by existing ANSI terminals but instead mirrored extra facilities available in the IBM PC BIOS.

Avatar was originally implemented in the Opus BBS, but later popularised by RemoteAccess. RemoteAccess came with a utility, AVTCONV that allowed for easy translation of ANSI documents into Avatar helping its adoption.

## Scope

FSC-0025 defines a compression for:

* terminal text attributes: blink, background and foreground 3-bit color.
* repeated bytes (run-length encoding)
* cursor position commands
* terminal clear command (CSI 2 J)

FSC-0037 defines:

* an insert-mode switch
* insert mode deletion (delete and scroll left)
* scroll up/down commands
* area fill/clear commands (run-length encoding in 2D)
* repeat multiple characters (run-length encoding)
