//======================================\\ || A Summary of Common Terminal Types, || || including automatic detection || || algorithms, by Light Ray. || \\======================================// +-------------------------------+ | Coverage | +-------------------------------+ ANSI................How to autodetect AVATAR..............History, Complete Specs, How to Autodetect CBM.................Request for Information LVI.................Brief Intro, How to autodetect, Color Changing NAPLPS..............Request for Information RIP.................Brief Intro, How to autodetect VT100...............Request for Information +-------------------------------+ | Conventions | +-------------------------------+ A two digit number in angle brackets refers to the ASCII symbol with that ordinal value. For example, <65> refers to ASCII character 65, the letter "A". If there is a two digit number followed by an "H", then that number is in Hexidecimal (base 16). If there is a letter preceded by a carrot in angle brackets, such as <^V>, it refers to a control character. <^V> refers to CONTROL-V. Since V is the 22nd letter of the alphabet, <^V> is therefor equivelent to <22>. Standard IBM Color Codes are as follows: 00 - BLACK 01 - NAVY BLUE 02 - GREEN 03 - CYAN 04 - RED 05 - MAGENTA 06 - ORANGE 07 - GRAY Add eight for high intensity (foreground only, usually) Standard IBM Video Attributes are calculated as follows: (Foreground IBM Color Code) + ( (Background IBM Color Code) * 16 ) +-------------------------------+ | LVI: The Last Video Interface | +-------------------------------+ Short Name...LVI Long Name....Last Video Interface Designer.....John Bushnell Specs........"LVI CODES" in LVI.DOC by "Byron" Contact......Inphase BBS (714) 492-3804 [currently down] Used By......LCOM (terminal), Sterling BBS, TobinTech products Usage........Free, unrestricted LVI is a terminal type that is extremely uncommon, but highly advanced, with many usefull features. LVI is fast and efficient. It includes commands for quick color changes, scrolling, compression, and doing things that would normally require direct access to video memory, which is not normally available over a serial cable. Changing color is done by sending a <29>[Standard IBM Video Attribute] For example, changing to high intensity white on blue background is done as follows: <29><(7 + 8) + (1 * 16)>, which is <29><31> To detect LVI, send <28><86>. The terminal program should reply with <28><118> and possibly more data, depending on the value of . This command reports the display parameters on the terminal side. For complete information, see the LVI specification. +-------------------------------+ | A V A T A R | +-------------------------------+ Short Name...AVATAR Long Name....Advanced Video Attribute Terminal Assembler and Recreator Designer.....Wynn Wagner III Specs........Fidonet Document FSC-0025.TXT by George A. Stanislav Contact......1:129/39 Used By......Fairly Common Usage........Free, unrestricted Formerly.....oANSI Avatar was originally NOT meant to be a terminal emulation. Rather, it was a method of storing colorized text for the Opus-CBCS. Then, George Stanislav implemented support for it in TinyTerm and suggested the name and acronym of "AVATAR" to Wynn. Wynn accepted and the Avatar Terminal emulation was born. This simple, unidirectional form of AVATAR is known as AVATAR 0+. It is promised that one day we will get the next version of AVATAR, which will include full error correction, an exchange of terminal specifications and support, caller information, etc, which will be neat if it ever comes into existence, which is doubtfull. Unfortunately, Avatar 0+ is unidirectional. The client never sends any information back to the server. Thus, autodection of Avatar 0+ support seems impossible at first. However, most if not all terminals that support Avatar support ANSI simultaneously. Here's the theory. We send an ANSI Get Cursor Position command and record the result. Then we send an AVATAR move cursor command. Then we use ANSI to see if the cursor position has changed the way it should. If it has, then AVATAR is present. Pretty tricky, huh? Avatar 0+ Commands are: <^L> - Clear Screen <^Y> - Repeat character yy times. <^Y><65><12> would cause the letter A to be printed 12 times. <^V><^A> - Set the video attribute to , same as the LVI command <29> <^V><^B> - Turn Blink On <^V><^C> - Move cursor one line up, do nothing if can go no further <^V><^D> - Move cursor one line down, " " " " " " " <^V><^E> - Move cursor one column left, " " " " " " " <^V><^F> - Move cursor one column right, " " " " " " " <^V><^H> Move cursor to column , row +-------------------------------+ | A N S I | +-------------------------------+ Short Name...ANSI X6.41 or something like that Long Name....American National Standards Institute - - - - - - - - Designer.....American National Standards Institute Specs........ANSI X6.41 (?) someone confirm, please Contact......American National Standards Institute Used By......Extremely Common, especially in IBM compatible machines Usage........Free, unrestricted (?) Any BBS user knows about "ANSI." Actually, fairly little of the ANSI terminal specification is actually used by BBS's and terminals. If anyone could get me the actual specification, I'd appreciate it. I'll write about ANSI when I get really bored. For now, look in your DOS online help or something. ANSI is a pain to program because it uses the following form: <27>[(arg1);(arg2);(argn)(command) There can be zero to infinite arguments. They are literal ascii numeric strings, separated by semicolons. The command is the first character that is not in the set [ <27> 0..9 ; ]. AUTODETECTION. To detect an ANSI compatible terminal, send the ANSI command to get the current cursor position, which is <29><91><54><110>, which is "". The remote terminal will reply with the following string: <27><91>(y)<59>(x)<82>, which looks like "" if ANSI is present. +-------------------------------+ | R I P s c r i p | +-------------------------------+ Short Name...RIP or RIPscrip Long Name....Remote Imaging Protocol Designer.....Telegrafix Corporation Specs........See Note Contact......Telegrafix Corporation, Telegrafix BBS Used By......Terminals: RIPterm, QModemPro, ACom, LiveWire Used By......BBS: MajorBBS, SearchLight, and others Usage........See Note RIP is an imaging protocol, supporting GRAPHICS and MICE. Until version 2.00 of the RIP specification, usage of RIP including use and development of terminals and servers was free. However, beginning with 2.00, users must license the specifications from Telegrafix. +----------------------------------+ Previous versions of RIP support | TeleGrafix Communications, Inc. | EGA graphics, mice, and buttons. | 16458 Bolsa Chica #15 | Starting in version 2.00 is the | Huntington Beach, CA 92649 | support for VGA graphics up to | | 16.7 million colors, JPeG | VOICE: (714) 379-2131 | graphics and more. RIP is not | FAX : (714) 379-2132 | entirely backwards compatible. | DATA : (714) 379-2133 | This lack of backwards +----------------------------------+ compatibility and the large fees being charged may lead to the downfall of RIP. Right now, it's not very popular. To autodetect RIP, send <27><91><33>, which is "[!". If RIP is present, the terminal will reply with RIPSCRIPxxyyzzz, where the version of RIPscrip supported by the terminal is xx.yy.zzz. +------------------------------+ | N A P L P S | +------------------------------+ If anyone could send me information +------------------------------+ | V T - 1 0 0 | relating to these or other terminal +------------------------------+ emulations, it would be greatly +------------------------------+ | C B M | appreciated. +------------------------------+ +------------------------------+ | Contacting Light Ray | +------------------------------+ I may be contacted at 50:100/500@rgsn (rgsn), 66:714/10@dna (dna-net), or dr261@cleveland.freenet.edu on the internet. My BBS phone number is (714) 586-6142, up to 28800bps. Light Ray