# tvi{912,920}[bc] - TeleVideo TVI-912B/TVI-920B and TVI-912C/TVI-920C # $Id: tvi920c2.ti,v 1.1 2004/01/06 23:56:03 bsittler Exp bsittler $ # # Someone has put a scanned copy of the manual online at: # http://vt100.net/televideo/912b-om/ # # These terminals were produced ca. 1979, and had a 12" monochrome # screen, supported 75-9600 baud (no handshaking), monochrome, 7-bit # ASCII, and were generally similar to adm3a but with attributes # (including some with magic cookies), fancy half-duplex mode, and # different bugs. # # Some operations reqire truly incredible amounts of padding. The # insert_line () and delete_line () operations in particular # are so slow as to be nearly unusable. # # There may or may not have been a separate, earlier series of 912/920 # terminals (without the "B" and "C" suffix); I have never seen one, # and the manual only describes the "B" and "C" series. The 912 and 920 # are quite distinct from the 914 and 924, which were much nicer non- # magic-cookie terminals similar to the 950. # # This is a new description for the following TeleVideo terminals, # distinguished chiefly by their keyboards: # # TVI-912B - very odd layout, no function keys (84 keys) # TVI-920B - typewriter layout, no function keys (103 keys) # TVI-912C - very odd layout, function keys F1-F11 (82 keys) # TVI-920C - typewriter layout, function keys F1-F11 (101 keys) # # To choose a setting for the TERM variable, start with the model: # # Model || base name # ----------||----------- # TVI-912B || tvi912b # TVI-912C || tvi912c # TVI-920B || tvi920b # TVI-920C || tvi920c # # Then add a suffix from the following table describing installed options # and how you'd like to use the terminal: # # Use Video | Second | Visual | Magic | Page || feature # Attributes | Page | Bell | Cookies | Print || suffix # ------------|--------|--------|---------|-------||--------- # No | No | N/A | N/A | No || -unk # No | No | N/A | N/A | Yes || -p # No | Yes | No | N/A | No || -2p-unk # No | Yes | No | N/A | Yes || -2p-p # No | Yes | Yes | N/A | No || -vb-unk # No | Yes | Yes | N/A | Yes || -vb-p # Yes | No | N/A | No | N/A || # Yes | No | N/A | Yes | N/A || -mc # Yes | Yes | No | No | N/A || -2p # Yes | Yes | No | Yes | N/A || -2p-mc # Yes | Yes | Yes | No | N/A || -vb # Yes | Yes | Yes | Yes | N/A || -vb-mc # # So e.g. a model 920 C with second page memory option, visual bell # and no magic cookies would be tvi920c-vb; a model 912 B without the # second page memory option and using magic cookies would be # tvi912b-mc # # PADDING # # At 9600 baud, the terminal is prone to overflow its input buffer # during complex operations (insert/delete # character/line/screen/page), and it does not signal this over the # RS232 cable. The typical symptom of an overrun is that the terminal # starts beeping, and output becomes garbled. # # The padding delays in this terminfo were derived using tack(1) # running on a Linux box connected to a TVI-920C with a later-model # (A49C1-style) ROM running at 9600 baud, so your mileage may # vary. The numbers below seem to give the terminal enough time so # that it doesn't overflow its input buffer and start losing # characters. # # KEYS # # If you want to use the FUNCT key on a tvi912[bc], use the # corresponding tvi920[bc] terminfo with FUNCT + ... equivalents from # the following table (these also work on the 920 series): # # Unshifted Function Keys: # # Key | capname|| Equivalent # -----|--------||------------ # F1 | || FUNCT + @ # F2 | || FUNCT + A # F3 | || FUNCT + B # F4 | || FUNCT + C # F5 | || FUNCT + D # F6 | || FUNCT + E # F7 | || FUNCT + F # F8 | || FUNCT + G # F9 | || FUNCT + H # F10 | || FUNCT + I # F11 | || FUNCT + J # # Shifted Function Keys: # # SHIFT + Key | capname|| Equivalent # -------------|--------||------------ # SHIFT + F1 | || FUNCT + ` # SHIFT + F2 | || FUNCT + a # SHIFT + F3 | || FUNCT + b # SHIFT + F4 | || FUNCT + c # SHIFT + F5 | || FUNCT + d # SHIFT + F6 | || FUNCT + e # SHIFT + F7 | || FUNCT + f # SHIFT + F8 | || FUNCT + g # SHIFT + F9 | || FUNCT + h # SHIFT + F10 | || FUNCT + i # SHIFT + F11 | || FUNCT + j # # PORTS AND SWITCH SETTINGS # # Here are the switch settings for the TVI-912B/TVI-920B and # TVI-912C/TVI-920C: # # S1 (Line), and S3 (Printer) baud rates -- put one, and only one, switch down: # 2: 9600 3: 4800 4: 2400 5: 1200 # 6: 600 7: 300 8: 150 9: 75 # 10: 110 # # S2 UART/Terminal options: # Up Down # 1: Not used Not allowed # 2: Alternate character set Standard character set # 3: Full duplex Half duplex # 4: 50 Hz refresh 60 Hz refresh # 5: No parity Send parity # 6: 2 stop bits 1 stop bit # 7: 8 data bits 7 data bits # 8: Not used Not allowed on Rev E or lower # 9: Even parity Odd parity # 10: Steady cursor Blinking cursor # (On Rev E or lower, use W25 instead of switch 10.) # # S5 UART/Terminal options: # Open Closed # 1: P3-6 Not connected DSR received on P3-6 # 2: P3-8 Not connected DCD received on P3-8 # # 3 Open, 4 Open: P3-20 Not connected # 3 Open, 4 Closed: DTR on when terminal is on # 3 Closed, 4 Open: DTR is connected to RTS # 3 Closed, 4 Closed: Not allowed # # 5 Closed: HDX printer (hardware control) Rev. K with extension port off, # all data transmitted out of the modem port (P3) will also be # transmitted out of the printer port (P4). # # 6 Open, 7 Open: Not allowed # 6 Open, 7 Closed: 20ma current loop input # 6 Closed, 7 Open: RS232 input # 6 Closed, 7 Closed: Not allowed # # Jumper options: # If the jumper is installed, the effect will occur (the next time the terminal # is switched on). # # S4/W31: Enables automatic LF upon receipt of CR from # remote or keyboard. # S4/W32: Enables transmission of EOT at the end of Send. If not # installed, a carriage return is sent. # S4/W33: Disables automatic carriage return in column 80. # S4/W34: Selects Page Print Mode as initial condition. If not # installed, Extension Mode is selected. # # NON-STANDARD CAPABILITIES # # Sending or returns a cursor position report in the format # YX\r, where Y and X are as in . This format is described in # and , but it's not clear how one should write an # appropriate scanf string, since we need to subtract %' ' from the # character after reading it. The capability is used by tack(1) # to synchronize during padding tests, and seems to work for that # purpose. # # This description also includes the obsolete termcap capabilities # has_hardware_tabs () and backspaces_with_bs (). # # FEATURES NOT YET DESCRIBED IN THIS TERMINFO # # The FUNCT modifier actually works with every normal key by sending # ^AX\r, where X is the sequence normally sent by that key. This is a # sort of meta key not currently describable in terminfo. # # There are quite a few other keys (especially on the 920 models,) but # they are for the most part only useful in block mode. # # These terminals have lots of forms manipulation features, mainly # useful in block mode, including "clear X to nulls" (vs. "clear X to # spaces"; nulls are sentinels for "send X" operations); "send X" # operations for uploading all or part of the screen; and block-mode # editing keys (they don't send escape sequences, but manipulate video # memory directly). Block mode is used for local editing, and protect # mode (in conjunction with the "write protect" attribute, # a.k.a. half-intensity outside of protect mode) is used to control # which parts of the screen are edited/sent/printed (by ). # # There are at least two major families of ROM, "early" and # A49B1/A49C1; the major difference seems to be that the latter ROMs # support a few extra escape sequences for manipulating the off-screen # memory page, and for sending whole pages back to the host (mainly # useful in block mode.) The descriptions in this file don't use any # of those sequences: set cursor position including page (\E-PYX, # where P is \s for page 0 and ! for page 1 [actually only the LSB of # P is taken into account, so e.g. 0 and 1 work too,] and Y and X are # as in ); read cursor position (\E/), which is analogous to # and returns PYX\r, where P is \s for page 0 or ! for page 1, and YX # are as in , and some "send page" features mainly useful for # forms manipulation. # # The keyboard enable (\E") and disable (\E#) sequences are unused, # except that a terminal reset () enables the keyboard. # # Auto-flip mode (\Ev) is likely faster than the scrolling mode (\Ew) # enabled in , but auto-flip is very jarring so we don't use it. # # BUGS # # At least up to the A49B1 and A49C1 ROMs, there are no \Eb and \Ed # sequences (I infer that in some TeleVideo terminal they may invert # and uninvert the display) so the sequence given here is a # cheesy page-flip instead. # # The back_tab () sequence (\EI) doesn't work according to # tack(1), so it is not included in the descriptions below. # # It's not clear whether auto_left_margin () flag should be set # for these terminals; tack says yes, so it is set here, but this # differs from other descriptions I've seen. # # Extension print mode () echoes all characters to the printer # port [in addition to displaying them] except for the page print mode # sequence (); this is a slight violation of the terminfo # definition for but I don't expect it to cause problems. We # reset to page print mode in since it may have been enabled # accidentally. # # The descriptions with plus signs (+) are building blocks. tvi912b-unk|tvi912c-unk|TeleVideo TVI-912B or TVI-912C (no attributes), OTbs, OTpt, am, bw, cols#80, it#8, lines#24, bel=^G, clear=^Z$<50>, cr=^M, cub1=^H, cud1=^J, cuf1=^L, cup=\E=%p1%' '%+%c%p2%' '%+%c, cuu1=^K, dch1=\EW$<30>, dl1=\ER$<1*>$<100>, ed=\Ey$<2*>$<10>, el=\ET$<15>, home=^^, ht=^I, hts=\E1, ich1=\EQ$<30>, if=/usr/share/tabset/stdcrt, il1=\EE$<1*>$<100>, is2=\Ew\EA\E'\E"\E(, ind=^J$<10>, kdch1=\177, kent=^M, kcub1=^H, kcud1=^J, kcuf1=^L, kcuu1=^K, khome=^^, mc4=\EA, mc5=\E@, rs1=\Ek\b\Em\b\Eq^Z, tbc=\E3, u6=%c%c\r, u7=\E?, u8=%c%c\r, u9=\E?, # This isn't included in the basic capabilities because it is # typically unusable in combination with the full range of video # attributes, since the magic cookie attributes turn into ASCII # control characters, and the half-intensity ("protected") attribute # converts all affected characters to spaces. tvi912b+printer|TeleVideo TVI-912B/TVI-920B and TVI-912C/TVI-920C page print support, mc0=\EP, # This uses half-intensity mode () for standout (), and # exposes no other attributes (half-intensity is the only attribute # that does not generate a magic cookie.) tvi912b+dim|TeleVideo TVI-912B/TVI-920B and TVI-912C/TVI-920C half-intensity attribute support, dim=\E), sgr0=\E(, rmso=\E(, smso=\E), sgr=\E%?%p1%p5%|%t)%e(%;, msgr, # Full magic-cookie attribute support, with half-intensity reverse # video for standout. Note that we add a space in the sequence # to give a consistent magic-cookie count. Also note that uses # backspacing (in the TVI-supported order) to apply all requested # attributes with only a single magic cookie. tvi912b+mc|TeleVideo TVI-912B/TVI-920B and TVI-912C/TVI-920C full magic-cookie attribute support, xmc#1, smso=\E)\Ej, rmso=\E(\Ek, smul=\El, rmul=\Em, rev=\Ej, blink=\E\^, invis=\E_, dim=\E)\s, sgr=\E%?%p1%p5%|%t)%e(%;\s\b\E%?%p1%p3%|%tj%ek%;\b\E%?%p2%tl%em%;\b\E%?%p7%t_%e%?%p4%t\^%eq%;%;, sgr0=\E(\Ek\b\Em\b\Eq, # This uses the second page memory option to save & restore screen # contents. If your terminal is missing the option, this description # should still work, but that has not been tested. tvi912b+2p|TeleVideo TVI-912B/TVI-920B and TVI-912C/TVI-920C second page memory option support, smcup=\EK^Z$<50>\E(\Ek\b\Em\b\Eq^Z$<50>, rmcup=^Z$<50>\EK\E=7\s, flash=\EK$<100>\EK, # This simulates flashing by briefly toggling to the other page # (kludge!) tvi912b+vb|TeleVideo TVI-912B/TVI-920B and TVI-912C/TVI-920C second page memory option "visible bell" support, bel=\EK$<100>\EK, use=tvi912b+2p, # Function keys ( .. are shifted .. ) tvi920b+fn|TeleVideo TVI-920B and TVI-920C function key support, address@hidden, kf2=^AA\r, kf3=^AB\r, kf4=^AC\r, kf5=^AD\r, kf6=^AE\r, kf7=^AF\r, kf8=^AG\r, kf9=^AH\r, kf10=^AI\r, kf11=^AJ\r, kf12=^A`\r, kf13=^Aa\r, kf14=^Ab\r, kf15=^Ac\r, kf16=^Ad\r, kf17=^Ae\r, kf18=^Af\r, kf19=^Ag\r, kf20=^Ah\r, kf21=^Ai\r, kf22=^Aj\r, # Combinations of the basic building blocks tvi912b-2p-unk|tvi912c-2p-unk|tvi912b-unk-2p|tvi912c-unk-2p|TeleVideo TVI-912B or TVI-912C (second page memory option; no attributes), use=tvi912b+2p, use=tvi912b-unk, tvi912b-vb-unk|tvi912c-vb-unk|tvi912b-unk-vb|tvi912c-unk-vb|TeleVideo TVI-912B or TVI-912C (second page memory option "visible bell"; no attributes), use=tvi912b+vb, use=tvi912b-unk, tvi912b-p|tvi912c-p|TeleVideo TVI-912B or TVI-912C (no attributes; page print), use=tvi912b+printer, use=tvi912b-unk, tvi912b-2p-p|tvi912c-2p-p|tvi912b-p-2p|tvi912c-p-2p|TeleVideo TVI-912B or TVI-912C (second page memory option; no attributes; page print), use=tvi912b+2p, use=tvi912b+printer, use=tvi912b-unk, tvi912b-vb-p|tvi912c-vb-p|tvi912b-p-vb|tvi912c-p-vb|TeleVideo TVI-912B or TVI-912C (second page memory option "visible bell"; no attributes; page print), use=tvi912b+vb, use=tvi912b+printer, use=tvi912b-unk, tvi912b-2p|tvi912c-2p|TeleVideo TVI-912B or TVI-912C (second page memory option; half-intensity attribute), use=tvi912b+2p, use=tvi912b+dim, use=tvi912b-unk, tvi912b-2p-mc|tvi912c-2p-mc|tvi912b-mc-2p|tvi912c-mc-2p|TeleVideo TVI-912B or TVI-912C (second page memory option; magic cookies), use=tvi912b+2p, use=tvi912b+mc, use=tvi912b-unk, tvi912b-vb|tvi912c-vb|TeleVideo TVI-912B or TVI-912C (second page memory option "visible bell"; half-intensity attribute), use=tvi912b+vb, use=tvi912b+dim, use=tvi912b-unk, tvi912b-vb-mc|tvi912c-vb-mc|tvi912b-mc-vb|tvi912c-mc-vb|TeleVideo TVI-912B or TVI-912C (second page memory option "visible bell"; magic cookies), use=tvi912b+vb, use=tvi912b+mc, use=tvi912b-unk, tvi912b|tvi912c|TeleVideo TVI-912B or TVI-912C (half-intensity attribute), use=tvi912b+dim, use=tvi912b-unk, tvi912b-mc|tvi912c-mc|TeleVideo TVI-912B or TVI-912C (magic cookies), use=tvi912b+mc, use=tvi912b-unk, tvi920b-unk|tvi920c-unk|TeleVideo TVI-920B or TVI-920C (no attributes), use=tvi920b+fn, use=tvi912b-unk, tvi920b-2p-unk|tvi920c-2p-unk|tvi920b-unk-2p|tvi920c-unk-2p|TeleVideo TVI-920B or TVI-920C (second page memory option; no attributes), use=tvi920b+fn, use=tvi912b+2p, use=tvi912b-unk, tvi920b-vb-unk|tvi920c-vb-unk|tvi920b-unk-vb|tvi920c-unk-vb|TeleVideo TVI-920B or TVI-920C (second page memory option "visible bell"; no attributes), use=tvi920b+fn, use=tvi912b+vb, use=tvi912b-unk, tvi920b-p|tvi920c-p|TeleVideo TVI-920B or TVI-920C (no attributes; page print), use=tvi920b+fn, use=tvi912b+printer, use=tvi912b-unk, tvi920b-2p-p|tvi920c-2p-p|tvi920b-p-2p|tvi920c-p-2p|TeleVideo TVI-920B or TVI-920C (second page memory option; no attributes; page print), use=tvi920b+fn, use=tvi912b+2p, use=tvi912b+printer, use=tvi912b-unk, tvi920b-vb-p|tvi920c-vb-p|tvi920b-p-vb|tvi920c-p-vb|TeleVideo TVI-920B or TVI-920C (second page memory option "visible bell"; no attributes; page print), use=tvi920b+fn, use=tvi912b+vb, use=tvi912b+printer, use=tvi912b-unk, tvi920b-2p|tvi920c-2p|TeleVideo TVI-920B or TVI-920C (second page memory option; half-intensity attribute), use=tvi920b+fn, use=tvi912b+2p, use=tvi912b+dim, use=tvi912b-unk, tvi920b-2p-mc|tvi920c-2p-mc|tvi920b-mc-2p|tvi920c-mc-2p|TeleVideo TVI-920B or TVI-920C (second page memory option; magic cookies), use=tvi920b+fn, use=tvi912b+2p, use=tvi912b+mc, use=tvi912b-unk, tvi920b-vb|tvi920c-vb|TeleVideo TVI-920B or TVI-920C (second page memory option "visible bell"; half-intensity attribute), use=tvi920b+fn, use=tvi912b+vb, use=tvi912b+dim, use=tvi912b-unk, tvi920b-vb-mc|tvi920c-vb-mc|tvi920b-mc-vb|tvi920c-mc-vb|TeleVideo TVI-920B or TVI-920C (second page memory option "visible bell"; magic cookies), use=tvi920b+fn, use=tvi912b+vb, use=tvi912b+mc, use=tvi912b-unk, tvi920b|tvi920c|TeleVideo TVI-920B or TVI-920C (half-intensity attribute), use=tvi920b+fn, use=tvi912b+dim, use=tvi912b-unk, tvi920b-mc|tvi920c-mc|TeleVideo TVI-920B or TVI-920C (magic cookies), use=tvi920b+fn, use=tvi912b+mc, use=tvi912b-unk,