====== ASCII Terminal ====== This probably does not need to be defined, however, for completeness ~ I have decided to document the ASCII character set supported by both the BBS and the terminal (and almost all terminals). ^ DECIMAL ^ HEX ^ MEANING | ^ 0 ^ 0x00 | No Operation (some UTF8 sequences end with null). | ^ 1 ^ 0x01 | SOH Start of Header (XModem Block Header) | ^ 2 ^ 0x02 | STX Start of Text (1k XModem/YModem Block Header) | ^ 3 ^ 0x03 | ETX End of Text | ^ 4 ^ 0x04 | EOT End of Transmission | ^ 5 ^ 0x05 | ENQ Enquiry (Can be used to query User Name) | ^ 6 ^ 0x06 | ACK Acknowledge | ^ 7 ^ 0x07 | BELL Beep on my Terminals | ^ 8 ^ 0x08 | BS Backspace (usually non-destructive) | ^ 9 ^ 0x09 | TAB Horizontal Tabulation | ^ 10 ^ 0x0A | LF Line need (Cursor just moved down 1 line) | ^ 11 ^ 0x0B | VT Vertical Tabulation | ^ 12 ^ 0x0C | NF or NP New Form, New Page (old way to clear screen) | ^ 13 ^ 0x0D | CR Carriage Return (Home cursor on current line) | ^ 14 ^ 0x0E | SO Shift Out | ^ 15 ^ 0x0F | SI Shift In | ^ 16 ^ 0x10 | DLE Data Link Exchange | ^ 17 ^ 0x11 | DC1 Data Control 1 | ^ 18 ^ 0x12 | DC2 Data Control 2 | ^ 19 ^ 0x13 | DC3 Data Control 3 | ^ 20 ^ 0x14 | DC4 Data Control 4 | ^ 21 ^ 0x15 | NAK Negative Acknowledge | ^ 22 ^ 0x16 | SYN Synchronous Idle | ^ 23 ^ 0x17 | ETB End of Transmission Block | ^ 24 ^ 0x18 | CAN Cancel (Abort YModem Transfer) | ^ 25 ^ 0x19 | EM End of Medium | ^ 26 ^ 0x1A | SUB Substitute | ^ 27 ^ 0x1B | ESC Escape Key | ^ 28 ^ 0x1C | FS File Separator | ^ 29 ^ 0x1D | GS Group Separator | ^ 30 ^ 0x1E | RS Record Separator | ^ 31 ^ 0x1F | US Unit Separator | From this point (Character 32, which is your spacebar) to (Character 126, which is the ~ Tilde key) are represented in human readable character on the screen. Some terminals and operating systems use Character 127 (DEL) as their backspace character ~ our BBS and terminal understand this and handle it appropriately. ===== Pressing Enter ===== Most systems will send the sequence 0x0A 0x0D (CRLF) when you press Enter. However, some of the older operating systems used still to this date for BBSes only expect the terminal to send 0x0A when you press Enter. Most modern terminals do not treat CR and LF independently, and will have to go through some effort to simulate a different output. When a modern terminal does have the ability to modify this, they will send CR NUL 0x0A 0x00 ~ out BBS and terminal understand this and handle it appropriately. ((RFC854 May 1983))