This file describes the functional characteristics of the Ann Arbor Display Controller. These terminals come in various screen sizes (16. x 32., 20. X 50, 24. x 80., and 40. x 80.) and come as display controllers (sans monitor) or as an integrated display. Some models (rare) have winning features like Clear EOL, inverse video, blink, etc. but the most common variety don't have any of these features. The standard controller has a 24. x 80. screen. It can come with a serial (up to 9600 baud) interface or parallel (up to 1620 chars/sec or approximately 16K baud - cursor controls are faster). Characters are written on the screen at the cursor position in overwrite mode (i.e. what was there previously is deleted) - this includes space (ASCII 40), which is used for erasing due to the absense of Clear EOL, etc. Writing in the last column of a line (80. if the first column is 1) causes the cursor to be advanced to the first column of the next line. On the last line of the screen, this causes wraparound to the top line of the screen. There are 8 cursor control commands: Erase Screen (FF - 14): Takes about 1/30'th of a second, leaves the cursor at the top left corner of the screen (0,0). Carriage Return (CR 15): The usual, takes no time (just sets the cursor register). Linefeed (LF 12): The usual, timing simlar to CR. On the bottom line of the screen, it will wraparound to the same horizontal position on the top line of the screen, or it will cause scrolling depending on a switch on the controller (wraparound is the prefered mode of operation). Back Space (BS 10): Moves the cursor back one character position. In column 0, it moves the cursor back to column 79. (the last one) of the SAME line. Thus its behavior is not analogous to Cursor Right (which proceeds onto the next line). Cursor Home (VT 13): Move the cursor to 0,0 (top left corner) Cursor Right (TAB 11): Move the cursor one position to the right, without erasing or chaning characters on the screen (note sending out SPACE - ASCII 40 does erase, so this is used to forward space without erasing). In the last column, this causes wraparound to the next line, column 0. On the last line of the screen, wraps to the top line or scrolls depending on the page mode switch. Cursor Up (SO 16): Moves the cursor up one line, maintaining the same horizontal position (like line starve or inverse linefeed). On the top line, the cursor does not move (i.e. this is a no-op) Cursor Address (SI 17): Absolute cursor position. The next two characters specify the column and line of the cursor position, respectively. The column character is computed by _4 + > where c is the column number (origin 0) - this is sort of BCD like. The row character is simply the row number (origin 0) + 100 (octal) Thus 0,0 is ^O^@@ and 23.,79. is ^OyW Don't have any information on keyboard characteristics for controllers that have them.