ANSI/DEC Controls News ////////////////////////////////////////////////////////////////////////////// In a period of history while the world's attention was fixed on Iranian students holding American diplomats hostage in Tehran, the X3L2 technical subcomittee of ANSI released a document called X3.64-1979, a standard for how character-cell video terminals should be controlled by software. ////////////////////////////////////////////////////////////////////////////// October A.D. 1998 After long years, one of the official standards documents is online: you can access the ECMA-048 Standard, which was derived from ANSI X3.64 and ISO-6429, on the Web at this URL: http://www.ecma.ch/stand/ECMA-048.HTM The document is available in Adobe's PDF encoding or as a Microsoft proprietary-format Word document. = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = Newsgroups: comp.terminals X-Original-Newsgroups: comp.terminals,comp.emulators.misc, comp.protocols.ibm,comp.protocols.iso,comp.protocols.misc Path: cs.utk.edu!gatech!news.mathworks.com!news.bluesky.net!news.sprintlink.net !cs.utexas.edu!swrinde!sgigate.sgi.com!genmagic!bug.rahul.net!a2i!olivea !charnel.ecst.csuchico.edu!csusac!csus.edu!netcom.com!kientzle Message-ID: References: Date: Fri, 4 Aug 1995 01:51:37 GMT From: Tim Kientzle Subject: Re: ANSI terminal emulation In article , Kem Mason wrote: > > I am writing a telnet program that uses ANSI terminal emulation. I have > figured out what most of the escape codes do through trial and error -- > I was wondering... > > Where can I find the ANSI specifications? (what all the escape sequences > mean) Depends on what you mean by `ANSI.' Here are three popular definitions: a) ANSI X3.64 (aka ISO 6429??) presents a general scheme for building escape sequences, and lists a lot of specific examples. This is the basis behind the others. X3.64 is _huge_, though, and I can't imagine a reason for even pretending to implement the whole thing. b) DEC VT-series terminals. These implement successively more of X3.64, with a lot of additions and extensions. Best references are DEC's `Programmer's References.' VT100, VT220, and VT320 are probably the best known. c) MSDOS ANSI.SYS. aka ANSI-BBS. Most better PC programming references describe this emulation in some detail. Like all other so-called ``ANSI'' emulations, it implements a core set of functions lifted directly from X3.64, and then adds some new extensions (such as function key programming). A lot of people use the term ``ANSI'' to refer to a `generic' X3.64-style emulation. If you take the intersection of VT102 and MSDOS ANSI.SYS, you'll get about the right thing. There's no uniform definition, though. - Tim Kientzle ////////////////////////////////////////////////////////////////////////////// Newsgroups: comp.protocols.misc Path: cs.utk.edu!stc06.ctd.ornl.gov!fnnews.fnal.gov!muir.math.niu.edu !mp.cs.niu.edu!vixen.cso.uiuc.edu!howland.reston.ans.net!ix.netcom.com !netcom.com!kientzle From: kientzle@netcom.com (Tim Kientzle) Subject: Re: ANSI X3.64 alias Message-ID: Organization: NETCOM On-line Communication Services (408 261-4700 guest) References: <48mlt7$5i9@tools.bbnplanet.com> Date: Wed, 29 Nov 1995 21:55:52 GMT Lines: 24 In article , Johnathan Taylor wrote: >barmar@tools.bbnplanet.com (Barry Margolin) writes: > >How is it possible for VT100 to be ANSI compliant when under VT100 emulation >^[[2J only clears the screen but leaves the cursor/print position where it >was but under ANSI emulation it both clears the screen AND homes the >cursor/print position? VT100 is capable of homing the cursor and uses a >seperate ESC sequence to do it. Be very careful with the term `ANSI emulation.' This is often used to refer to an emulation of the MSDOS ANSI.SYS driver, which is not particularly ANSI compliant, despite the name. It's probably better to refer to it as ANSI-BBS or PC-ANSI emulation. There are also many display terminals that support "ANSI" emulations that are completely different from the MSDOS ANSI.SYS emulation. The term `ANSI emulation' has been sufficiently mis-used that it's pretty well meaningless out of context. There are, in fact, many things that ANSI X3.64 fails to define. People who want to properly mimic the VT100 need to be careful to make sure they understand precisely how the VT100 handles those issues. (For example, the VT100 handles cursor wrap at the left margin in an interesting way which is rarely emulated correctly.) ////////////////////////////////////////////////////////////////////////////// Newsgroups: comp.terminals Message-ID: <76vq90$4ot$1@apakabar.cc.columbia.edu> References: Date: 6 Jan 1999 14:00:00 GMT From: Jeffrey Altman Subject: Re: ANSI Terminal Codes In article , Charles Miller wrote: : Could someone suggest a reference or URL to obtain ANSI Terminal : Emulation specs and terminal codes? From the Kermit 95 manual: The American National Standards Organization, which issues standards for everything from screw threads to computer languages and character sets. In 1979 ANSI published standard X3.64, "Additional Controls for Use with American National Standard Code for Information Interchange", which became the basis for the majority of today's terminal emulations, including the DEC VT100 terminal and its successors. Prior to X3.64, terminals were referred to as either full-screen (such as the IBM 3270 and IBM 5250 series) or ASCII (such as the Wyse 50/60, Televideo 9xx, Data General, Hazeltine, Honeywell, and many others). Terminals based upon the X3.64 standard became known as "ANSI" terminals. Like "ASCII terminals", they used the ASCII character-set, but unlike ASCII terminals, they also used a new well-defined and standard format for Escape sequences which allowed a X3.64-compliant terminal to distinguish between commands and data unambiguously, even if it did not understand the commands. This allowed the X3.64 terminals to support a subset of the X3.64 standard and/or add extensions without breaking other terminals that implemented different subsets or extensions. With the introduction of the IBM PC and MS-DOS in 1981 came a console device driver, ANSI.SYS, that implemented a very small portion of the X3.64 standard (11 commands and 3 extensions). This driver and the IBM PC BIOS and video architecture became the basis for the early PC Bulletin Board Systems. Users of these BBSs were told they needed an "ANSI" terminal, by which was meant an IBM PC running ANSI.SYS or an emulator for it, characterized by: . The requirement for a fully transparent 8-bit data path (no parity) . The use of color combined with IBM PC line- and box-drawing characters (CP437) . The use of 25 screen lines (instead of the 24 lines on most commercial terminal) . The use of PC-specific keys As versions of UNIX and other operating systems were developed for the IBM PC they inherited similar requirements. Unfortunately, the developers of these new systems consistently called their terminal drivers "ANSI", even though each differed from the other, and this has led to a great deal of confusion for current users of their systems (SCO ANSI is a case in point). Here is a list of all Kermit 95's terminal types that are based on the X3.64 standard. ANSI.SYS identifies a system based on the IBM PC console driver; VT identifies those terminals derived from the DEC VT terminals; and X3.64 are those terminals that most closely follow the original ANSI X3.64-1979 standard: AIXTERM The native terminal type for IBM AIX (X3.64) ANSI-BBS For accessing most BBSs (ANSI.SYS) AT386 For accessing Unixware and Interactive UNIX systems (X3.64) Avatar0+ A windowing system built on top of ANSI-BBS (ANSI.SYS) BETERM For accessing the BeBox (X3.64) HFT - IBM High Function Terminal Used to access IBM AIX and other systems (X3.64) Linux Used to access linux systems (VT) QANSI For accessing QNX systems (X3.64) SCOANSI For accessing SCO Xenix, SCO UNIX, SCO ODT, and SCO OpenServer. SCO refers to this terminal type as ANSI (X3.64) SNI-97801 For accessing Siemens-Nixdorf Unix (Sinix) systems (X3.64) VT100, VT102, VT220, VT320 The DEC terminal family. Used to access VMS, Unix, and almost every other system. The most popular terminal in the world. (VT) Wyse 370 A superset of the DEC VT320 terminal. (VT) Only ANSI X3.64-1979 terminals are capable of processing APC command sequences. ANSI X3.64-1979 was withdrawn and replaced by an international standard, ISO 6429. ---- Although, ANSI X3.64-1979 was withdrawn it may still be ordered by special order from ANSI . ISO 6429 may also be ordered from ANSI. -- Jeffrey Altman * Sr.Software Designer * Kermit-95 for Win32 and OS/2 The Kermit Project * Columbia University 612 West 115th St #716 * New York, NY * 10025 http://www.kermit-project.org/k95.html * kermit-support@kermit-project.org/ ////////////////////////////////////////////////////////////////////////////// [The following writer had many expectations, most of which were futile.] Newsgroups: comp.terminals,comp.protocols.misc Path: cs.utk.edu!stc06.ctd.ornl.gov!fnnews.fnal.gov!uwm.edu!chi-news.cic.net !newsfeed.internetmci.com!howland.reston.ans.net!EU.net !peer-news.britain.eu.net!warwick!spuddy!johntayl From: johntayl@spuddy.mew.co.uk (Johnathan Taylor) Subject: Re: ANSI X3.64 alias Message-ID: Organization: Spuddy - for free mail/usenet access in the UK! References: <49fr70INN6fp@duncan.cs.utk.edu> Date: Mon, 18 Dec 1995 04:17:15 GMT shuford@cs.utk.edu (Richard Shuford) writes: > >In article , > johntayl@spuddy.mew.co.uk (Johnathan Taylor) writes: >| >| barmar@tools.bbnplanet.com (Barry Margolin) writes: >| > >| >[DEC] VT100's conform to X3.64. X3.64 is a very general standard, defining [snip] >| How is it possible for VT100 to be ANSI compliant when under VT100 emulation >| ^[[2J only clears the screen but leaves the cursor/print position where it >| was but under ANSI emulation it both clears the screen AND homes the >| cursor/print position? VT100 is capable of homing the cursor and uses a >| separate ESC sequence to do it. > >The VT100 emulation does what it is supposed to and is ANSI-compliant. >The so-called "ANSI emulation" you are using is not compliant with X3.64. Hmm, that's intresting! >Any kind of standard can be implemented badly. But, alas, there are >probably scores of computer systems in the world that depend on the >non-standard behaviour. There may even be real terminals which also >claim to be compliant but which are actually broken. The ANSI emulation I was using as an example was the MS-DOS on an IBM-PC clone ANSI.SYS and derived third-party drivers like DVANSI.COM etc. >Two emulations that I believe are faithful to the VT100 spec: > > Joe Doupnik's MS-Kermit program (available by FTP from kermit.columbia.edu) > > Attachmate's KEA-420 (commercial product; call +1 206-426-6283) > >Another common problem: the control sequence you mention is the ANSI >"Erase in Display" (or ED) editing function. All control sequences in >X3.64 that take parameters have a specified default parameter value, >and the specified default value for "Erase in Display" is 0. The 0 >value means "clear the display from the current position of the cursor >to the bottom". The value 2 means "clear the entire display". If you >happen to have moved the cursor to the home position before invoking >"Erase in Display" with either 0 or 2, the effect is identical. This >point is often overlooked by emulator writers. I'd have expected Microsloth to abide by standard, maybe they didn't like THE ANSI standard and decided to define their own to kick real ANSI compliant terminals in the gonads. I originally assumed VT-100 was synonymous with ANSI emulation and thought that once I got a VT-100 emulator that conforms to the ANSI spec I'd be able to use it with online ANSI editors etc... FAT CHANCE! ANSI terminal drivers has become solely a driver for Microsloth ANSI.SYS emulation. I would've expected that as ANSI is just an agreed terminal-function control protocol that for an apps driver to be generically ANSI compliant it should send several escaped sequences to try and hit on every possible way of talking an "ANSI" compliant terminal emulation into achieving what's actually required E.G. to CLS & HOME cursor position say "ESC[H ESC[F ESC[2J" This sort of thing being required because some features the emulation writer chooses to leave out of their emulation (which is within the range of the ANSI spec) can sometimes be simulated by other sequences and the important thing is that the driver produces the correct display output on as many ANSI compatable terminals as possible. To make a Microsloth ANSI.SYS emulation perform a VT-100 ESC[2J the programs ANSI driver would have to send "ESC[s ESC[2J ESC[u" to store current cursor position, clear screen and home, followed by restore previously saved cursor position... >There is additional information on ANSI X3.64, the DEC VT100, and >other topics in my collection accessed via this URL: > > http://www.cs.utk.edu/~shuford/terminal_index.html Sounds intresting but I'm email only for the mo. Cheers Johnathan. -- * Meeeow ! Call Spuddy on +44 (01268) 515441 for FREE mail & Usenet access * ////////////////////////////////////////////////////////////////////////////// Newsgroups: comp.terminals Path: cs.utk.edu!news.msfc.nasa.gov!news.ingr.com!imci4 !newsfeed.internetmci.com!in2.uu.net!wizard.pn.com!brighton.openmarket.com !decwrl!amd!step!dan From: dan@stepeng.com (Daniel Weaver) Subject: Re: ANSI control sequence spec? (terminal emulation) Message-ID: Keywords: ANSI, terminal, X3.64, ISO DP6429, VT525 Organization: Step Engineering References: <4lofmo$mf2@elmer.wrq.com> <4m2tgoINNgeu@duncan.cs.utk.edu> Date: Tue, 30 Apr 1996 19:14:10 GMT Lines: 40 In article <4m2tgoINNgeu@duncan.cs.utk.edu> shuford@cs.utk.edu (Richard Shuford) writes: >In article <4lofmo$mf2@elmer.wrq.com> > jeffreyk@wrq.com (Jeff Kauffman) writes: >> >> In particular, I'm looking for the sequence CSI=2h, which is >> rumored to set the cursor to a block cursor. >Strictly speaking, there is no control sequence of this type in the >ANSI X3.64 standard itself. The ANSI X3 technical subcommittee did >not specify the operation of changing cursor appearance, so if such a >code exists, it must be a proprietary code invented by some vendor. >The committee set aside ranges of codes for such purposes, therefore >you could say that it is a code that conforms to the ANSI structure. The ANSI spec allows the characters <=>? to be used for private escape sequences. DEC has chosen ? to call out their private sequences for the CSI h and CSI l commands. Tektronix picked the = for some of their extentions to the CSI m command. These extensions are permitted by the ANSI spec, but the actual behaviour of the sequence is not specified by the spec. The spec goes on to warn that a given private sequence may be implemented differently, or may mean something totally different, when sent to different terminals. The fact that CSI?25h and CSI?25l turn the cursor on and off on many non-DEC terminals can only be attributed to one of two things: 1) A conscious attempt to make terminal programming easier. 2) The desire to blindly follow someone else's lead. > Maybe this code is associated with some ANSI-style terminal that is > not a Digital Equipment Corporation product, but that seems even > less likely to me. A quick scan of the Linux terminfo data base found the CSI=2l sequence in the iris-ansi entry. And yes it is used in setting block mode cursor. iris-ansi|iris-ansi-net|IRIS emulating ANSI terminal, cnorm=\E[9/y\E[12/y\E[=6l, cvvis=\E[10/y\E[=1h\E[=2l\E[=6h, Dan Weaver ////////////////////////////////////////////////////////////////////////////// Newsgroups: comp.terminals Path: cs.utk.edu!stc06.ctd.ornl.gov!fnnews.fnal.gov!uwm.edu!news.cse.psu.edu !news.cc.swarthmore.edu!netnews.upenn.edu!news.voicenet.com !news2.noc.netcom.net!noc.netcom.net!ixnews1.ix.netcom.com!johnh Message-ID: Keywords: ANSI, terminal, X3.64, ISO DP6429, VT525 References: <4lofmo$mf2@elmer.wrq.com> <4m2tgoINNgeu@duncan.cs.utk.edu> Date: Sat, 11 May 1996 05:24:40 GMT Sender: johnh@netcom15.netcom.com From: johnh@netcom.com (john haskey) Subject: Re: ANSI control sequence spec? (terminal emulation) In article <4m2tgoINNgeu@duncan.cs.utk.edu>, Richard Shuford wrote: >In article <4lofmo$mf2@elmer.wrq.com> jeffreyk@wrq.com (Jeff Kauffman) writes: >> >> Does anyone know where I could find a spec for ansi terminal control >> sequences? In particular, I'm looking for the sequence CSI=2h, which is >> rumored to set the cursor to a block cursor. >> The DEC VT520 Programmers Reference Manual documents the DECSCUSR (Set Cursor Style) command, but judging by the name, it is DEC-specific. The sequence is CSI ps SP q Where ps can be 0, 1, 2, 3, 4 meaning Blinking Block, Blinking Block, Steady Block, Blink Underline, Steady Underline, respectively. > I'm assuming you really want the equals sign "=" in the sequence. > The sequence CSI 2 h would lock the keyboard on many DEC terminals. > CSI 2 l would unlock it. (That is a lowercase L in there, BTW.) > None of the sequences ending in 'h' that are documented in the ANSI Index by Final Character have an '=' sign in them. ---john. -- johnh@netcom.com Proud owner of a II/8 Balcom & Vaughn and an Allen Models 0-4-2T ////////////////////////////////////////////////////////////////////////////// Newsgroups: comp.protocols.kermit.misc Path: utkcs2!stc06.ctd.ornl.gov!fnnews.fnal.gov!uwm.edu!rutgers !news.columbia.edu!watsun.cc.columbia.edu!fdc From: fdc@watsun.cc.columbia.edu (Frank da Cruz) Date: 26 Jun 1996 13:51:29 GMT Organization: Columbia University Message-ID: <4qrf91$mdv@apakabar.cc.columbia.edu> References: Lines: 44 Subject: Re: linedraw chars in vt320 emulation In article , Kees Hendrikse wrote: : : I'm trying to access a Unix-based application through MSKermit 3.14 under : "vt320" emulation. The app uses line-draw characters to draw boxes on the : screen, but the boxes keep showing up with lower-case letters instead of : line-draw chars. Kermit uses the Latin1 char set, DOS uses Code Page cp850 : and everything is set to 8 bits. : : The application uses DEC SS2 as single-shift-out character, i.e., the : top-line of a box is sent as: : : {0x9b}7;5H{0x8e}l{0x8e}q{0x8e}q{0x8e}q{0x8e}q{0x8e}q{0x8e}k : : Kermit simply ignores the 0x8e's. How do I tell kermit to process them : and put the appropriate line-draw char on the screen? : SS2 (hexadecimal 8E) is Single Shift 2. It means: the next character value is to be treated as a pointer into the terminal's G2 table. The character after it is an "l" or a "q" or a "k". So "q", for example, whose ASCII value is 113 (decimal), would be translated into the 113th character of whatever character set had previously been designated to G2. If the DEC "Special Graphics" character set had been designated to G2 by: ESC * 0 then SS2 followed by "q" should select a horizontal line box-drawing character. Evidently it does not do this in MS-DOS Kermit, so that's a bug that we will have to fix. The bug involves 8-bit SS2 only. If you use SS2 in its 7-bit form: ESC N everything works fine, so you might be able to work around the problem by telling your application that you have a 7-bit connection, hopefully coercing it to send C1 controls in their 7-bit form. Also note that locking shifts do work correctly, so using LS2 (ESC n) instead of SS2 produces the desired results: {0x9b}7;5H{0x1b}nlqqqqqqqqqqqqqqqqk{0x0f} Thanks for the report. - Frank ////////////////////////////////////////////////////////////////////////////// Newsgroups: comp.protocols.kermit.misc Path: cs.utk.edu!news.msfc.nasa.gov!newsfeed.internetmci.com!uwm.edu!rutgers !news.columbia.edu!watsun.cc.columbia.edu!fdc Organization: Columbia University Lines: 41 Message-ID: <4qci4p$dil@apakabar.cc.columbia.edu> References: NNTP-Posting-Host: watsun.cc.columbia.edu Date: 20 Jun 1996 22:08:25 GMT From: "Frank da Cruz" Subject: Re: DCS String In article , David Pyper wrote: : : I'm using Kermit95, and when I use telnet to access a legacy application : on my site, the first screen sends some control codes which puts a the : following code on the status line: : : DCS STRING : : What is this and how can I get rid of it? DCS means Device Control String. It is an escape sequence that starts out as ESC P (or 8-bit DCS) and ends with String Terminator, ESC \ (or 8-bit ST). When a DCS arrives, the terminal reads characters until the ST comes, then it interprets the intervening characters and executes them as a command. But what happens if the ST never comes? The terminal is hung forever, until you reset it. Try this on a real VT220 or 320 to see what I mean. How can this happen? Either your host is sending improper escape sequences (such as an unterminated DCS), or there is a disagreement between Kermit's terminal type and the type of terminal the host thinks you have (e.g. ESC P might be a valid sequence for some other terminal type), or the DCS lead-in was spontaneously generated as communications-line noise. A nice feature of Kermit 95 is that it tells you (in the status line) when a DCS has been received. That way, if the ST never comes, you'll know what's going on and you can (for example) push the "reset button" (verb \Kreset, assigned to Alt-R by default) to get back to normal. (Or, if more than about 4K of stuff arrives after DCS but before the ST, Kermit 95 breaks out of "DCS wait" automatically.) How do you make it stop happening? If the host is sending ESC P or 8-bit DCS to a terminal that it thinks is a VT220 or 320, without sending a the matching ST, then reconfigure your host not to do that -- it's wrong. For further assistance, send a session log to kermit-support@columbia.edu. - Frank ////////////////////////////////////////////////////////////////////////////// Newsgroups: comp.terminals Path: cs.utk.edu!gatech!howland.reston.ans.net!newsjunkie.ans.net !newstf01.news.aol.com!newsbf02.news.aol.com!not-for-mail Message-ID: <3jlimf$p7v@newsbf02.news.aol.com> References: <3jjj29$dmh@lynx.unm.edu> Date: 8 Mar 1995 19:38:39 -0500 From: psichel@aol.com (PSichel) Subject: Re: parsing DCS on VTxxx terminals In article Message-ID: <3jjj29$dmh@lynx.unm.edu> a user wrote: > I've been trying to figure out a "generic" parser for device control > string sequences sent to VTxxx terminals. The ANSI defined syntax for DCS control strings is DCS ST. For Digital VTxxx terminals we've extended this as follows: DCS ST The introducer sequence follows exactly the same syntax and symantics as a control sequence except that CSI is replaced by DCS. The is control string specific. - Peter ////////////////////////////////////////////////////////////////////////////// Newsgroups: comp.terminals Path: cs.utk.edu!gatech!news.mathworks.com!usenet.eel.ufl.edu!news.ultranet.com !xylogics.com!xylo!not-for-mail Organization: Xylogics Incorporated Message-ID: <504gtk$6hj@newhub.xylogics.com> References: Date: 29 Aug 1996 12:36:04 -0400 To: wgalazka@zoolook.chem.uw.edu.pl (Wojciech Galazka) From: carlson@xylogics.com (James Carlson) Subject: Re: Is there something called an ANSI terminal? In article , wgalazka@zoolook.chem.uw.edu.pl (Wojciech Galazka) writes: |> |> I have a program which is to be used with vt100 terminals. |> I want to extend the program to bw able to handle more |> keystroke combinations. I wonder thereby if there is |> something like ANSI terminal specifications. Strictly speaking, there is no such thing as an "ANSI terminal." The ANSI specs specifically state that they are to be used as guidelines, and NOT for compliance testing. You can get a copy of the ANSI X3.4, X3.41, and X3.64 from a large number of engineering document publishers, like Global Engineering Documents, and also directly from ANSI in New York. If you read the specs, you'll find that they define sequences which are largely applicable ONLY for printing devices like typesetters. There's usually no way to do, for instance, overstriking or 1/72 inch carriage positioning with a common terminal. So, ALL of the devices out there that call themselves "ANSI" (including the VT100, VT200, et cetera) are actually improper subsets of the true ANSI specifications. For what it's worth, I don't think ANSI defines the key sequences at all; just the screen manipulation. The key sequences are largely proprietary. -- James Carlson Tel: +1 617 272 8140 Annex Interface Development / Xylogics, Inc. +1 800 225 3317 53 Third Avenue / Burlington MA 01803-4491 Fax: +1 617 272 2618 ////////////////////////////////////////////////////////////////////////////// Newsgroups: comp.terminals,comp.std.misc,comp.unix.programmer Subject: ANSI, DEC controls, anonymous FTP (was Re: ANSI x3.64-1979) Summary: cs.utk.edu : pub/shuford/terminal Expires: 31 Dec 1994 22:00:44 GMT References: <39hr0p$m5k@news.delphi.com> Sender: shuford@cs.utk.edu Followup-To: comp.terminals Distribution: world Organization: University of Tennessee, Knoxville--Dept. of Computer Science Keywords: ANSI X3.64, FTP, VT100, DEC In article <39hr0p$m5k@news.delphi.com>, or writes: > > Is there a site that I can download or FTP the complete ANSI 3.64-1979 > Standard? This question has come up a lot; I believe that the answer is still "no". ANSI seems to be registered as a non-profit organization, but it historically has insisted on getting financial return for distributing its standards documents. If this has changed, I'm not aware of it. The complete document describing the standard, "ANSI X3.64-1979: Additional Controls for Use with the American National Standard Code for Information Interchange," [can be ordered for $13.50 (plus $4 postage) from] !!! but see below!!!! * Standards Sales Department * American National Standards Institute * 1430 Broadway * New York, NY 10018 * +1 212/354-3300 [July 1995 update: current address for ordering ANSI standards: American National Standards Institute Attn: Customer Service 11 West 42nd Street New York, NY 10036 USA ANSI's fax number for placing publication orders is +1 212/302-1286.] [Further update, from Tim Lasko : "ANSI X3.64 has been withdrawn in favor of the more complete and updated ISO standard 6429. (ECMA-48 is equivalent to ISO 6429, last I checked.) X3.64 has been out of date for some time. At the time when I was on the relevant committee, we couldn't get enough resources to really do a good job of updating the standard. Later, the proposal came up to withdraw it in favor of the ISO standard.] /* * * October A.D. 1998 * * After long years, one of the official standards documents is * online: you can access the ECMA-048 Standard, which was derived * from ANSI X3.64 and ISO-6429, on the Web at this URL: * * http://www.ecma.ch/stand/ECMA-048.HTM * * However, if you read it, you'll find it to be stated in such * general terms that it is difficult to map to actual practice. */ It's best to read the full standard before using it in any complex way. It also helps to have copies of the related standards "X3.4-1977: American National Standard Code for Information Interchange" (the ASCII standard) and "X3.41.1974: Code-Extension Techniques for Use with the 7-Bit Coded Character Set of American National Standard for Information Interchange." By the way, note that the standard is "X3.64", not just "3.64", because "X3" is the name of the committee that sponsored it. I seem to recall that the subcommittee that actually did the work was "X3L2". While we are at it, I'll point out some things about X3.64 and give an Internet source for a subset of the standard's contents. \/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/ The control sequences recognized by the Digital Equipment Corporation VT100, VT200, VT300, VT400, and VT500-family character-cell video terminals are an extended variant of the control sequences specified by the ANSI standard, ANSI X3.64. (ISO DP-6429 is the international version.) The generic sequence introducer is a code element called CSI (Control Sequence Introducer). If you are using 8-bit communication, you can use the hexadecimal value 9Bh to represent this (but be sure you understand the side effects thereof). Otherwise, use the 7-bit equivalent: the Escape character (1Bh) followed by [ (the left bracket character). For instance, the canonical form of the "scroll-region" command is CSI xx ; yy r or in 7-bit style Esc [ xx ; yy r (where xx and yy are decimal digits expressed in ASCII/IA5; you do not actually use a space between sequence elements, this is for clarity. Be careful with the notation here--sometimes a space character _is_ a sequence element, as in the SR Scroll Right editing function.) In an X3.64 control sequence, the numeric arguments may default to an arbitrary value specific to the device function being controlled. Do not assume that the default always will be 0 or 1. (Or there may be no default allowed.) For example, the numeric arguments in the GSM (Graphic Size Modify) sequence have the default values 100, 100. As a private extension to X3.64, DEC defines the DECSTBM (Set Top and Bottom Margins) command as follows: CSI Pt ; Pb r Selects top and bottom margins defining the scrolling region. Pt is the line number of the first line in the scrolling region. Pb is the line number of the bottom line. If you do not select either Pt or Pb, they default to the top and bottom, respectively. Lines are counted from 1. (See \VT220 Programmer Pocket Guide/, part EK-VT220-HR-002, page 37.) Screen clearing should not depend on scrolling. Erasing parts of the display (EL and ED) in the VT100 is performed thus: Erase from cursor to end of line Esc [ 0 K or Esc [ K Erase from beginning of line to cursor Esc [ 1 K Erase line containing cursor Esc [ 2 K Erase from cursor to end of screen Esc [ 0 J or Esc [ J Erase from beginning of screen to cursor Esc [ 1 J Erase entire screen Esc [ 2 J Some poorly planned terminal/emulators respond to Esc [ J as if it were Esc [ 2 J (here the default is 0), and _some_ versions of Microsoft's MS-DOS ANSI.SYS contain a bug requiring software to send Esc [ k (instead of the uppercase). Of course, you would never make this mistake. The VT200 and later terminals have the ECH control sequence: ECH Erase Character Esc [ Pn X (where Pn is a numeric parameter in ASCII digits). This erases the cursor position and the next (Pn-1) positions, but this is not part of the least common denominator VT100. Another common thing that people want to do it position the cursor: first to some absolute screen position CUP Cursor Position Esc [ Pl ; Pc H where Pl is the line number and Pc is the column (depends on origin mode) and then cursor relative positioning CUB Cursor Backward Esc [ Pn D CUD Cursor Down Esc [ Pn B CUF Cursor Forward Esc [ Pn C CUU Cursor Up Esc [ Pn A CVT Cursor Vertical Tab Esc [ Pn Y The above screen-control codes are NOT what the terminal's arrows keys send; in normal 7-bit mode you'll see the VT100 keys emit arrow-up Esc [ A arrow-down Esc [ B arrow-right Esc [ C arrow-left Esc [ D - - - - - - [old on-line information pointers deleted] - - - - - - VT, Flip Chip, BLISS, and Rainbow are trademarks of Digital Equipment Corporation. [[ 1999 update: one must assume that the above trademarks are now property of Compaq, if anybody still cares. ]] [[ And most trademarks later became property of Hewlett-Packard. ]] [[[ And then of Boundless.... ]]] ////////////////////////////////////////////////////////////////////////////// Newsgroups: comp.terminals Path: cs.utk.edu!news.msfc.nasa.gov!europa.chnt.gtegsc.com!news.mathworks.com !news.kei.com!bloom-beacon.mit.edu!crl.dec.com!crl.dec.com !nntpd.lkg.dec.com!mrnews.mro.dec.com!hannah.enet.dec.com!hedberg Date: 5 MAY 1995 10:57:30 Organization: Digital Equipment Corporation Message-ID: <3odeu2$gh2@mrnews.mro.dec.com> References: <3noc4r$qme@ixnews4.ix.netcom.com> From: hedberg@hannah.enet.dec.com (Bill Hedberg) Subject: Re: scrolling In article <3noc4r$qme@ixnews4.ix.netcom.com>, shg@ix.netcom.com (sheldon goldberg) writes... >hi everybody, > >does anyone know what functions to call to make a terminal scroll in c. > >say we are displaying lines to a screen and want a scroll, can you tell >from termcap what the escape sequence would be - it is a fairly cryptic >file. Data typically scrolls off the top of the screen as new lines of data enter the terminal and are displayed at the bottom of the screen. Scrolling regions may be defined for VT (ANSI) terminals using: DECSTBM CSI Pt;Pb r Set Top and Bottom scroll Margins New data is displayed at the bottom of the scroll region and scrolls off the top of the scrolling region. Screen clears, etc are confined to the scrolling region. Other sequences which effect scrolling are: DECOM CSI ? 6 h Set Origin Mode DECPEX CSI ? 19 l Set Print Extent Mode-Print Scroll Region (In 7-bit environments, use Esc [ in place of CSI.) -- .............................................................................. Bill Hedberg Digital Equipment Corp. Video Architecture Engineering For more info call 1-800-777-4343 or e-mail terminals@digital.com http://www.digital.com ftp://gatekeeper.dec.com/pub/DEC/termcaps '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' ////////////////////////////////////////////////////////////////////////////// Newsgroups: comp.terminals Path: cs.utk.edu!martha.utk.edu!darwin.sura.net!howland.reston.ans.net!pipex !ibmpcug!ibmpcug!pwarburt From: pwarburt@ibmpcug.co.uk (P Warburton) Subject: Re: ANSI x3.64-1979 Date: Thu, 10 Nov 1994 17:18:08 GMT Message-ID: Keywords: ANSI 3.64 References: <39hr0p$m5k@news.delphi.com> In article <39hr0p$m5k@news.delphi.com>, WIEDNER@DELPHI.COM wrote: >Is there a site that I can download or FTP the complete ANSI 3.64-1979 >Standard? As I understand it, ANSI standards documents are only available for purchase. However, ANSI X3.64 is almost identical to ISO 6429 and ECMA-48. ISO standards cost a packet, but ECMA standards are free for the asking. Mail to: requesting the standard(s) you want (i.e. ECMA-48, "Control Functions for Coded Character Sets"), include your snail-mail address, and you should receive the document in due course. Don't expect an acknowledgement by e-mail. It worked for me, but I live in the UK, so if ECMA have rules about, say, only supplying to European sites, this might not work for you. It wouldn't hurt to try, though. Hope that helps, -- Peter Warburton |"But Lancelot mused a little space | He said, 'She has a lovely face; pwarburt@ibmpcug.co.uk (pref'd)| God in his mercy lend her grace, pwarburton@cix.compulink.co.uk | The Lady of Shalott.'" ////////////////////////////////////////////////////////////////////////////// Newsgroups: comp.terminals Path: cs.utk.edu!cssun.mathcs.emory.edu!hobbes.cc.uga.edu !news-feed-1.peachnet.edu!gatech!howland.reston.ans.net !math.ohio-state.edu!jussieu.fr!univ-lyon1.fr!swidir.switch.ch !scsing.switch.ch!news.belwue.de!news.belwue.de!news.rhein-neckar.de !birdland.rhein-neckar.de!mips.pfalz.de!not-for-mail From: naddy@mips.pfalz.de (Christian Weisgerber) Subject: Re: Shock & Horror (ANSI x3.64-1979 terminal) Date: 14 Apr 1995 14:19:49 +0200 Lines: 29 Message-ID: <3mlp95$l4s@mips.pfalz.de> References: kerr@netcom.com (Shani) writes: > When I got back from lunch today, there was a message from ANSI, > letting me know that ANSI x3.64 has been withdrawn, and is now longer > available. [...] ECMA-48 is an updated version of ANSI X3.64. From the Standards FAQ: ---------------> All ECMA standards are free and can be ordered at no cost from European Computer Manufacturers Association 114 Rue du Rhone CH-1204 Geneva Switzerland phone +41 22 7353634 fax +41 22 7865231 telex 413237 e-mail helpdesk@ecma.ch X.400 C=ch, A=arcom, P=ecma, O=genevanet, OU1=ecma, S=helpdesk <--------------- -- Christian 'naddy' Weisgerber, Germany naddy@mips.pfalz.de RNInet e.V. -- IP für Rhein-Neckar und Vorderpfalz. ////////////////////////////////////////////////////////////////////////////// Newsgroups: comp.terminals Path: cs.utk.edu!stc06.ctd.ornl.gov!fnnews.fnal.gov!uwm.edu!lll-winken.llnl.gov !decwrl!pa.dec.com!nntpd.lkg.dec.com!regent.enet.dec.com!lasko From: lasko@regent.enet.dec.com (Tim Lasko, Digital Equipment Corp/Marlborough) Subject: Re: Shock & Horror (ANSI x3.64-1979 terminal) Date: 18 APR 95 16:40:46 Organization: Digital Equipment Corporation Lines: 21 Message-ID: <3n18ar$iu6@nntpd.lkg.dec.com> References: <3mlp95$l4s@mips.pfalz.de> NNTP-Posting-Host: prince.enet.dec.com In article <3mlp95$l4s@mips.pfalz.de>, naddy@mips.pfalz.de (Christian Weisgerber) writes... > > kerr@netcom.com (Shani) writes: > >> When I got back from lunch today, there was a message from ANSI, >> letting me know that ANSI x3.64 has been withdrawn, and is now longer >> available. [...] > >ECMA-48 is an updated version of ANSI X3.64. Hmm...someone didn't give you the whole story. ANSI X3.64 has been withdrawn in favor of the more complete and updated ISO standard 6429. (ECMA-48 is equivalent to ISO 6429, last I checked.) X3.64 has been out of date for some time. At the time when I was on the relevent committee, we couldn't get enough resources to really do a good job of updating the standard. Later, the proposal came up to withdraw it in favor of the ISO standard. -- Tim Lasko, Digital Equipment Corp., Marlborough MA (lasko@regent.enet.dec.com) Tim Lasko, private citizen (TeemL@aol.com) My opinions are my own; the facts can speak for themselves. I'm on my own time. For Digital printer support: call 1.800.777.4343 or email printers@digital.com ////////////////////////////////////////////////////////////////////////////// Path: cs.utk.edu!stc06.CTD.ORNL.GOV!fnnews.fnal.gov!uwm.edu!news.alpha.net !news.mathworks.com!transfer.stratus.com!xylogics.com!Xylogics.COM!carlson From: carlson@Xylogics.COM (James Carlson) Newsgroups: comp.terminals Subject: Re: DEC private modes fot VT series. Date: 15 Feb 1995 12:52:20 GMT Organization: Xylogics Incorporated Lines: 56 Message-ID: <3hste4$jpg@newhub.xylogics.com> References: <3hpc0n$1do@senator-bedfellow.MIT.EDU> Keywords: DEC VT100 VT200 VT240 In article <3hpc0n$1do@senator-bedfellow.MIT.EDU>, igorlord@athena.mit.edu (Igor Lyubashevskiy) writes: |> |> Hi. I am trying to write a VT200 emulator, and my manual does not make |> it clear the exact format of what it calls Ps;Ps;... sequences with DEC |> private modes. |> |> For example, when CSI ? 2 ; 4 h is recieved, is it equivalent to |> CSI ? 2 h and CSI 4 h or |> CSI ? 2 h and CSI ? 4 h ? |> |> Please if you can help me, email to me or followup to this group. "CSI ? 2 ; 4 h" is equivalent to "CSI ? 2 h CSI ? 4 h". The flags (like the '?' character) are global within a single CSI sequence. Since the command isn't actually dispatched until the 'h' is received (flags are saved in a bit vector and the decimal arguments are saved in an array along with a present/omitted flag which is needed on the VT220 because the set-scroll-region command has a default of max-lines for the second argument), the '?' flag can appear anywhere. For example, this is a sequence equivalent to the one above, even if it is a bit strange looking: CSI 2 ; ? 4 h [Update: ECMA-48 specifies that use of the '?' character in any position other than the first character of a parameter string is reserved for future standardization. This rule also applies to the other private-flag characters: '<', '>', and '='. The VT320 seems to follow this rule.] A properly-functioning VT100/VT200 emulator jumps from "character" state to "csi argument gathering" state when CSI is received, and then jumps through a dispatch table when a code in the range 40-7E (hex) is received. This allows ESC, CSI, CAN and SUB to terminate the sequence prematurely without altering any other variables, and it allows LF, VT, FF, CR, TAB and ENQ to be dispatched in the middle of the CSI argument list without changing state. For example, this is a perfectly legal VT command -- it goes down one line and right two characters: CSI 2 LF C When the LF is received, the cursor is moved to the next line (and a scroll happens if necessary), but the CSI state isn't touched. When the 'C' is received, the cursor is moved two characters to the right because the CSI sequence is dispatched at that point. The "correct" implementation is thus a big loop which dispatches all of the incoming data based on a state machine. It is *NOT* correct to build a CSI-argument-parser which calls the (blocking) character-read function directly. This is almost guaranteed to fail, and I've seen this done in too many poorly-implemented PC-based emulators. The dispatch loop must call the parser instead. The vttest program will test for compliance with all of this. You can find it at an FTP site near you. I made heavy use of this when I was designing terminals at Data General. (I wanted to get DG to make a contribution to the author, but I was never able to locate him. Sigh.) --- James Carlson Tel: +1 617 272 8140 Annex Software Support / Xylogics, Inc. +1 800 225 3317 53 Third Avenue / Burlington MA 01803-4491 Fax: +1 617 272 2618 ////////////////////////////////////////////////////////////////////////////// Newsgroups: comp.terminals,comp.protocols.misc Subject: ANSI X3.64 sequences (was Re: VT100 scrolling region) Summary: Escape code effects Expires: Sun, 31 Jan 1993 22:23:24 GMT References: <18623@mindlink.bc.ca> Sender: shuford@cs.utk.edu Followup-To: comp.terminals Distribution: world Organization: University of Tennessee, Knoxville--Dept. of Computer Science Keywords: VT100, scroll, control code, Escape, ANSI X3.64, terminal In article pdsmith@bbn.com (Peter D. Smith) writes: > In article <18623@mindlink.bc.ca>, Frank@mindlink.bc.ca (Frank I. Reiter) > writes: > > Part of an application I am working on includes a VT100 emulator. > > 1) Does ESC [;22r mean "scroll lines 0 through 22" or does it mean "Set > > the bottom scrolling line to 22, leave the top line as it is set already"? > > It should mean 'scroll lines 1 to 22'. The control sequences recognized by the Digital Equipment Corporation VT100, VT200, VT300, and VT400-family character-cell video terminals are an extended variant of the control sequences specified by an ANSI standard, ANSI X3.64. (ISO DP6429 is the international version.) The generic sequence introducer is a thing called CSI (Control Sequence Introducer). If you are using 8-bit communication, you can use the hexadecimal value 9B to represent this (but be sure you understand the side effects thereof). Otherwise, use the 7-bit equivalent: the Escape character (1Bh) followed by [ (the left bracket character). The canonical form of the given scroll-region command would be CSI xx ; yy r or in 7-bit style Esc [ xx ; yy r (where xx and yy are decimal digits expressed in ASCII/IA5; you do not actually use a space between sequence elements, this is for clarity. Be careful with the notation here--sometimes a space character _is_ a sequence element, as in the SR Scroll Right editing function.) In an X3.64 control sequence, the numeric arguments may default to an arbitrary value specific to the device function being controlled. Do not assume that the default always will be 0 or 1. (Or there may be no default allowed.) For example, the numeric arguments in the GSM (Graphic Size Modify) sequence have the default values 100, 100. As a private extension to X3.64, DEC defines the DECSTBM (Set Top and Bottom Margins) command as follows: CSI Pt ; Pb r Selects top and bottom margins defining the scrolling region. Pt is the line number of the first line in the scrolling region. Pb is the line number of the bottom line. If you do not select either Pt or Pb, they default to the top and bottom respectively. Lines are counted from 1. (See \VT220 Programmer Pocket Guide/, part EK-VT220-HR-002, page 37.) > Remember that these sequences > could be implemented in TTL without a microprocessor of any > kind & therefore use the simplest possible implementation. Peter must be thinking of the much simpler DEC VT52 sequences. As far as I know, terminals implementing X3.64 have ALWAYS used a built-in microprocessor. The VT100 was built around an 8-bit-bus Intel 8085. In fact, when the X3.64 document was published (circa 1978), some vendors, insisting on using discrete logic designs, objected that the standard was so complex it could not be implemented. Most of these vendors are now floating belly-up on the tide of technology. Some credit is due The Heath Company for a pioneering microprocessor- based video terminal that implemented many of the X3.64 functions. > > 2) Should a clear screen code clear the scrolling region only, or the > > entire screen? How about a clear to end of screen? > > I think this is the whole screen regardless of the scrolling region. > Don't bet your company on it, though. Screen clearing should not depend on scrolling. Erasing parts of the display (EL and ED) in the VT100 is performed thus: Erase from cursor to end of line Esc [ 0 K or Esc [ K Erase from beginning of line to cursor Esc [ 1 K Erase line containing cursor Esc [ 2 K Erase from cursor to end of screen Esc [ 0 J or Esc [ J Erase from beginning of screen to cursor Esc [ 1 J Erase entire screen Esc [ 2 J Some brain-damaged terminal/emulators respond to Esc [ J as if it were Esc [ 2 J (here the default is 0), and _some_ versions of Microsoft's MS-DOS ANSI.SYS contain a bug requiring software to send Esc [ k (instead of the uppercase). Of course, you would never make this mistake. The VT200 and later terminals have the ECH control sequence: Esc [ yy X [corrected 2008-01-15] (where yy is a numeric parameter) This erases the cursor position and the next (yy-1) positions, but this is not part of the least common denominator VT100. - - - - - - "VT", "Flip Chip", "DIBOL", and "Rainbow" are trademarks of Digital Equipment Corporation. "Gearbox", "Lakes", "Coffee Shop", and "San Francisco" are/were trademarks of IBM Corporation. (http://www.ibm.com/legal/copytrade.phtml) ////////////////////////////////////////////////////////////////////////////// Newsgroups: comp.terminals Path: cs.utk.edu!cssun.mathcs.emory.edu!emory!swrinde!howland.reston.ans.net !nntp.crl.com!decwrl!pa.dec.com!nntpd.lkg.dec.com!dial20_port2.mro.dec.com!user From: sichel@hannah.enet.dec.com (Peter Sichel) Subject: Re: VT100 documentation troubles Date: Sun, 16 Jul 1995 12:28:30 -0400 Organization: Digital Equipment Corporation Lines: 38 Distribution: world Message-ID: References: <3u4lg2$2om@ill.msilink.com> In article <3u4lg2$2om@ill.msilink.com>, jbn@mystery-train.msilink.com wrote: > > I'm trying to write an accurate termcap and terminfo entry for the VT100 > (the one that ships with my OS is not that accurate), however there is a > discrepancy between what the DEC VT100 manual says a VT100 will do and what > the termcap entry that shipped with my OS will do. > > My termcap entry claims that: > > AL=\E[%dL:DL=\E[%dM > > yet I cannot find any documentation describing "CSI Pn L" or "CSI Pn M" for > adding and deleting multiple lines, respectively. These sequences are OK. Digital added some sequences to later versions of the VT100 family. These are part of the so called "Level 1 Editing Extension." They are required for all subsequent VT100 implementations even though they were not present in the original VT100. It's unlikely many of these original VT100s are still in service. "VT100 mode" in all subsequent Digital terminals actually emulates the VT102, which includes these sequences. > On a related topic (the VT100), would it be okay to use: > > ks=\E=:ke=\E> > > to turn on and off application mode for the keypad? I don't see why not, that's what they are for. Perhaps it's not clear what is meant by turning the keypad on and off. In "application" mode, the keypad sends unique sequences. In "Numeric" mode, the keypad sends ASCII numerals (for convenient numeric entry) which cannot be distinguished from the top row of the main key array. In effect, the application keypad is off. -- - Peter Sichel ////////////////////////////////////////////////////////////////////////////// Newsgroups: comp.terminals Message-ID: <6ecg7t$8jg$5@clarknet.clark.net> References: <6ecbif$s05@netaxs.com> Date: 13 Mar 1998 23:41:49 GMT From: "T.E.Dickey" Subject: Re: What is origin mode? DET wrote: : : I have the following notation for a vt100 escape sequence: : ... : 7 : : ...Saves cursor position, display attributes, character set, wrap flag, and : ...origin-mode status. : ... : I know what the rest of them are, but what is "origin-mode status" ? It restricts the cursor to the limits in the scrolling margins. Setting/resetting it positions the cursor to the 'home' position). -- Thomas E. Dickey dickey@clark.net ////////////////////////////////////////////////////////////////////////////// Newsgroups: comp.terminals Message-ID: <350D642E.A25@smarts.com> References: <6ecbif$s05@netaxs.com> <3509E860.6EC3@ibm.net> X-Mailer: Mozilla 3.01Gold (X11; I; SunOS 5.5.1 sun4u) Organization: System Management ARTS To: pallack@ibm.net Date: Mon, 16 Mar 1998 12:41:02 -0500 From: Jerry Leichter Subject: Re: What is origin mode? In message <3509E860.6EC3@ibm.net>, Michael Pallack wrote: | | Origin mode can be relative (ESC[?6h) or absolute (ESC[?6l), and | determines relative or absolute addressed movement of the cursor | relative to the current cursor position. Sorry, no. Origin mode can be relative *to the scrolling region* or absolute (effectively, relative to the entire screen). In absolute mode, the point (1,1) is always the upper-left-hand corner of the display. In relative mode, the point (1,1) is always the left- most position of the first line in the scrolling region. Cursor positioning is defined so that positioning beyond the end of the screen moves to the closest boundary. Thus - unless you're positioning on a movie screen! - moving to the point (9999,9999) always moves to the lower-right-hand corner of the screen - *in absolute mode*. In relative mode, the same *scrolling region* describes the addressable points; moving to (9999,9999) in relative mode moves to the right-most position of the last line of the scrolling region. Thus, if you set a scrolling region and then use relative mode, you get a kind of "subwindow semantics". Programs that address the screen but adjust to its actual size - the classic technique for determining the *actual* size is to move to (9999,9999) and then get the cursor position - will work correctly, limiting themselves to the scrolling region, if you set the scrolling region and relative origin mode before starting the program. Quite handy, actually. To answer a related question: The basic DEC VTxxx standards do not allow negative parameters. In cursor-relative mode, it's impossible to move the cursor outside of the scrolling region using cursor movement commands (or much of anything else, actually.) -- Jerry ////////////////////////////////////////////////////////////////////////////// Newsgroups: comp.terminals References: <1998Mar20.073230.28920@lafn.org> Message-ID: <6etsfr$eda$2@clarknet.clark.net> Date: 20 Mar 1998 13:55:07 GMT From: "T.E.Dickey" Subject: Re: What is origin mode? David Lawyer wrote: : : When the cursor is "homed" it normally goes to the origin at the upper : left corner of the screen. That's where it will go if origin mode is : unset. But if origin mode is set the cursor will go only up to the top : margin when it's homed. The top margin is set by "set scrolling region"> More than that (unless it's a bug in xterm, which seems to be a reliable emulation of VT100): cursor addressing is also limited by the scrolling margins. The 'home' command is just a special case (no parameters) of cursor addressing. (When origin mode is set or unset, the cursor will be homed as well, as a side effect). -- Thomas E. Dickey ////////////////////////////////////////////////////////////////////////////// Newsgroups: comp.terminals Path: cs.utk.edu!gatech!howland.reston.ans.net!vixen.cso.uiuc.edu!uwm.edu !news.alpha.net!news.mathworks.com!uhog.mit.edu!bloom-beacon.mit.edu !eru.mt.luth.se!news.luth.se!sunic!news.funet.fi!nntp.hut.fi !snakemail.hut.fi!pelle Organization: Helsinki University of Technology Message-ID: References: <3hk7oa$sui@senator-bedfellow.MIT.EDU> Date: 16 Feb 95 10:56:13 GMT From: pelle@lk-hp-11.hut.fi (timo.pelkonen) Reply-To: timo.pelkonen@hut.fi Subject: Re: Need help with VT100. igorlord@mit.edu (Igor Lyubashevskiy) writes: > >Also, what do CSI ... q CSI Ps " q select character attribute, DECSCA, ps=0, ps=2, erasable; ps=1, not erasable >..and ESC \ sequences do? string terminator, used to terminate control strings started by DCS (esc P), APC (esc _), OSC (esc ]), PM (esc ^) and SOS (no idea). -- timo.pelkonen@hut.fi ////////////////////////////////////////////////////////////////////////////// Newsgroups: comp.terminals Path: cs.utk.edu!stc06.CTD.ORNL.GOV!fnnews.fnal.gov!uwm.edu!news.alpha.net !news.mathworks.com!uunet!in1.uu.net!newstf01.news.aol.com !newsbf02.news.aol.com!not-for-mail From: psichel@aol.com (PSichel) Subject: Re: vt510 _almost_ fully vt320 compatible ? Date: 16 Feb 1995 20:06:17 -0500 Organization: America Online, Inc. (1-800-827-6364) Lines: 22 Message-ID: <3i0sq9$oj1@newsbf02.news.aol.com> References: NNTP-Posting-Host: newsbf02.mail.aol.com In article Message-ID: you wrote: > > vt510 gives me (minor) headache. when i set ISO-latin (multinational) > via esc [ ? 42l and then try to assign finnish national (7bit) > character set to GL (left, 7 bit, whatever) by sending > esc ( 5 ShiftIn the vt510 refuses to do it as does the vt220. I'm not sure if you are comparing to a real VT220 or a VT220 emulator. As far as I know, you need to select "7-bit NRCS characters" or National mode (esc [ ? 42 h) before you can designate and invoke a national (7bit) character set. You may also need to specify that you have a Finnish keyboard for the terminal to recognize the Finnish NRCS. Hope this helps. If you are still experiencing a problem, please send mail. - Peter Video Terminals Business Group Components & Peripherals Digital Equipment Corp ////////////////////////////////////////////////////////////////////////////// Newsgroups: comp.terminals Path: cs.utk.edu!gatech!psuvax1!news.ecn.bgu.edu!newspump.wustl.edu !newsreader.wustl.edu!news.starnet.net!wupost!howland.reston.ans.net !news.moneng.mei.com!uwm.edu!news.alpha.net!news.mathworks.com !uhog.mit.edu!bloom-beacon.mit.edu!eru.mt.luth.se!news.luth.se!sunic !news.funet.fi!news.csc.fi!kronos.fmi.fi!dionysos.fmi.fi!hurtta Organization: Finnish Meteorological Institute (FMI) Message-ID: <3i03os$fqv@kronos.fmi.fi> References: <3hpc0n$1do@senator-bedfellow.MIT.EDU> Keywords: DEC VT100 VT200 VT240 Date: 16 Feb 1995 17:58:52 GMT From: hurtta@dionysos.fmi.fi (Kari E. Hurtta) Subject: Re: DEC private modes for VT series. igorlord@athena.mit.edu (Igor Lyubashevskiy) writes: > > Hi. I am trying to write a VT200 emulator, and my manual does not make > it clear the exact format of what it calls Ps;Ps;... sequences with DEC > private modes. > > For example, when CSI ? 2 ; 4 h is recieved, is it equivalent to > CSI ? 2 h and CSI 4 h or > CSI ? 2 h and CSI ? 4 h ? Later. CSI ? 2 ; 4 h turns ansi mode on (*) and set smooth scrolling That is same as CSI ? 2 h CSI ? 4 h (*) Expect that turning ANSI mode on is stupid command, because if ansi mode is off, then these CSI -commands don't have recognized -- this is: Command CSI ? 2 h don't make sense Ansi mode of: CSI ? 2 l (go to VT52 mode) Ansi mode on: ESC < (go to VT100 mode from VT52 mode) -- - Kari E. Hurtta / Elämä on monimutkaista Kari.Hurtta@Fmi.FI puh. (90) 1929 658 {hurtta,root,Postmaster}@dionysos.fmi.fi ////////////////////////////////////////////////////////////////////////////// Newsgroups: comp.terminals Path: cs.utk.edu!gatech!swrinde!hookup!relay.tor.hookup.net !tjdarby.tor.hookup.net!malek Organization: Tundra Software, Inc. Message-ID: Date: Wed, 8 Mar 1995 14:25:10 GMT From: malek@tor.hookup.net (Malek Abdel-Fattah) Subject: Re: ESC[! code. What is it for??????? I won't quote the message cause my newsgroup reader is being annoying at the moment, but you were asking what the ESC[! code was for. The ESC[! is the code that RIP supporting BBS's use to determine whether your terminal has RIP (Remote Imaging Protocol) support. If so, then your terminal returns a string to the remote side in the form "RIPScript version x.xx" or some such thing. This is probably why you have been receiving that code. Ansi detection is done with the ESC[6n code which causes the terminal to return ESC[ %d; %dR (row and column respectively). Hope that helped. ////////////////////////////////////////////////////////////////////////////// Newsgroups: comp.terminals Path: cs.utk.edu!gatech!udel!news.mathworks.com!transfer.stratus.com !xylogics.com!Xylogics.COM!carlson From: carlson@Xylogics.COM (James Carlson) Subject: Re: ESC[! code. What is it for??????? Date: 8 Mar 1995 20:24:29 GMT Organization: Xylogics Incorporated Message-ID: <3jl3pt$oab@newhub.xylogics.com> References: In article , malek@tor.hookup.net (Malek Abdel-Fattah) writes: |> |> I won't quote the message cause my newsgroup reader is being annoying at |> the moment, but you were asking what the ESC[! code was for. |> |> |> The ESC[! is the code that Rip supporting BBS's use to determine whether |> your terminal has RIP (Remote Imaging Protocol) support. If so, then your |> terminal returns a string to the remote side in the form "RIPScript version |> x.xx" or some such thing. This is probably why you have been receiving that |> code. Great. Yet another reason to hate PCs with a passion: that's a violation of the ANSI X3.64 guidelines. I can guarantee that it'll confuse the heck out of real ANSI-speaking systems. --- James Carlson Tel: +1 617 272 8140 Annex Software Support / Xylogics, Inc. +1 800 225 3317 53 Third Avenue / Burlington MA 01803-4491 Fax: +1 617 272 2618 =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= [From a Mustang Software Release, September 1995] RIP, the "Remote Imaging Protocol" is a graphic-terminal emulation protocol supported by Wildcat! BBS, Major BBS, PC Board, TBBS, and several other popular BBS software platforms. When you dial a RIP-capable BBS you can navigate with your mouse and view graphics. =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= Date: Mon, 18 Nov 96 10:05:15 EST From: Jeffrey Altman To: "Richard S. Shuford" Subject: RIP I found the RIPscript 1.54 spec at ftp.telegrafix.com. The supposedly open standard, which is currently at 2.0 and about to be 3.0, is really very Proprietary, which is why TeleGrafix's products use the latest stuff and every other emulator (Qmodem, Softerm, Procomm) implements 1.54. It is a way for BBSes to generate Graphic video screens in popup Windows. -- Jeffrey Altman * 304 West 92nd St #7A * New York, NY * 10025 * (212) 769-2675 * 612 West 115th St #716 * New York, NY * 10025 * (212) 854-1344 C-Kermit 5A(191) for OS/2: http://www.columbia.edu/kermit/cko191.html Kermit 95 for Windows 95/NT: http://www.columbia.edu/kermit/k95.html ////////////////////////////////////////////////////////////////////////////// Newsgroups: comp.terminals Path: transfer.stratus.com!cam-news-feed2.bbnplanet.com !cam-news-hub1.bbnplanet.com!news.bbnplanet.com !news-xfer.netaxs.com!netaxs.com!usenet Organization: newsread.com ISP News Reading Service Message-ID: <6gdft0$6am@netaxs.com> References: <01bd619d$a250b580$6c0f11ac@jblack.omnia.com> NNTP-Posting-Host: bastion.ipipeline.net Date: Tue, 7 Apr 1998 08:15:22 -0700 From: "DET" Subject: Re: VT100 cursor control Jeff Black wrote in message <01bd619d$a250b580$6c0f11ac@jblack.omnia.com>... > > Can anyone tell me if/how it is possible to change the cursor type for a > VT100? (ie. is there an ESC sequence to turn the cursor on and off, and > to make it big, little, etc.? Here's what I use... Cursor steady: [ 33 h Cursor blinking: [ 33 l (that's a small ell, not eye) Cursor block: [ 34 l (ell) Cursor line: [ 34 h Cursor on: [ ? 25 h Cursor off: [ ? 25 l (ell) [But see below...] =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= Newsgroups: comp.terminals Path: transfer.stratus.com!cam-news-feed2.bbnplanet.com !cam-news-hub1.bbnplanet.com!news.bbnplanet.com!news-feed1.tiac.net !newsfeed.internetmci.com!169.132.11.200!news.idt.net!newsfeed.nyu.edu !news.columbia.edu!watsun.cc.columbia.edu!jaltman Message-ID: <6gensr$921$1@apakabar.cc.columbia.edu> References: <01bd619d$a250b580$6c0f11ac@jblack.omnia.com> <6gdft0$6am@netaxs.com> <6geeip$6fm$1@clarknet.clark.net> Date: 8 Apr 1998 02:37:15 GMT From: jaltman@watsun.cc.columbia.edu (Jeffrey Altman) Subject: Re: VT100 cursor control In article <6geeip$6fm$1@clarknet.clark.net>, T.E.Dickey wrote: > > Well, that's interesting, but *not* VT100. (the 25 comes from VT320, and > I don't recognize the 33, 34 codes). Anyone? These are not private sequences, which means that they would have to be specified as part of ANSI X3.64-1979 or ISO-6429. However, they are not part of those specs. The answer is *Wyse* 350/370 emulation. CSI 33 l/h controls WYSTCURM (Wyse Steady Cursor Mode) CSI 34 l/h controls WYULCURM (Wyse Underline Cursor Mode) both of which, by not being private, violate ANSI X3.64 and ISO-6429. [And they are not part of VT100 emulation!] -- Jeffrey Altman * Sr.Software Designer * Kermit-95 for Win32 and OS/2 The Kermit Project * Columbia University 612 West 115th St #716 * New York, NY * 10025 http://www.kermit-project.org/k95.html * kermit-support@kermit-project.org =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= Newsgroups: vmsnet.pdp-11 Path: cs.utk.edu!gatech!swrinde!pipex!news.sprintlink.net!news.bluesky.net !solaris.cc.vt.edu!news.mathworks.com!mvb.saic.com!info-pdp11 From: John_Wilson@mts.rpi.edu Subject: CSI vs. ESC, and EAE Message-ID: <4850423@MTS.RPI.EDU> Date: Tue, 21 Mar 95 01:20:56 EST Organization: Info-Pdp11<==>Vmsnet.Pdp-11 Gateway Just my $.02 worth of useless information: as has been noted, the "CSI [ mumble" form is meaningless on a VT220 in 8-bit mode, so it would seem like a pointless sequence to transmit. But, at least on RSTS, this is a cheapskate way to keep the TTY driver's grubby paws off your ESC, since RSTS wants to turn it into a dollar sign even on output. You just set the high bit, RSTS doesn't mess with it because it isn't ESC any more, and your VT52 or VT100 likes it just fine. You could just do things right by writing a plain ESC to the TTY in binary mode, except that one of those annoying "feature patches" from the release notes makes binary mode require privs (this is V7.0-07), so a program that worked fine on a vanilla system wouldn't run on a system with this patch. But setting the high bit always worked... until the VT220 came along. Re EAE adding MUL, DIV, shift -- well sort of, it's a memory mapped device so rather than adding these instructions to the CPU instruction set, it just provides locations where you can write the operands and then read the result later. Like Doug Jones' MOV machine. John =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= Newsgroups: comp.terminals Message-ID: <6s8jka$mm$1@nnrp1.dejanews.com> References: <35E2EB6D.40FB2AE3@GSC.GTE.Com> <35E1D736.4335@cas.honeywell.com> NNTP-Posting-Host: 195.166.41.35 Date: Sat, 29 Aug 1998 10:02:51 GMT From: celigne@celigne.co.uk Subject: Re: Terminals that can be identified with ESC-Z In article , "Richard S. Shuford" wrote: > The ISO subsequently adopted a standard ISO DP 6429, which is mostly the > same as X3.64--the major addition you'd notice is text-color > specifications for the SGR Select Graphic Rendition control. There is > another flavor of the standard called ECMA-48: "Control Functions for > Coded Character Sets." According to the "Brief History" page of ECMA-48 fifth edition (June 1991), it has been submitted for adoption as the third edition of ISO/IEC 6429, so, hopefully, the flavour will be the same the world over. (Anyone mentioning McDonalds at this point will get a slap). The generous chaps and chapesses at the ECMA supply their standards free of charge. ECMA-48 can be downloaded in MS Word or PDF form from their web site at http://www.ecma.ch/. If you're interested in character sets and control sequences in general, pick up ECMA-6 and ECMA-35 while you're there. Paul ////////////////////////////////////////////////////////////////////////////// Newsgroups: comp.terminals Message-ID: <6uopkv$sra$1@apakabar.cc.columbia.edu> References: Date: 28 Sep 1998 19:56:15 GMT From: Jeffrey Altman Subject: Re: ANSI Emulation In article , James Rich wrote: : I'm working on an ANSI emulation, and I have a quick question. : : Does anyone know what character should be displayed when a terminal receives : a DLE (hex 10) from an ANSI host? I'm not sure whether a symbol should be : displayed or not, and if so, what symbol. : : Cheers, : jamesr@futuresoft.com : There is no such thing as an "ANSI" emulation. The term "ANSI" when applied to terminal really means a terminal whose definition is based upon ANSI Standard X3.64-1979 (since withdrawn). X3.64 was a framework upon which terminals could be designed. There is no list of required functions and very often quite a bit a leeway is provided for vendors to do their own thing. Examples of terminal based on X3.64 include: DEC VT100,101,102,220,240,320,340,420,510,520,525, DECTERM, ... XTERM Wyse 350 series many Unix console drivers (SCO, Unixware, AT386, Linux, Sun, ...) BeOS console IBM LFT, HFT, AIXTERM IBM PC-DOS ANSI.SYS and on and on ... I have never seen the DLE control character used for an X3.64 based terminal. DLE is used by some non-X3.64 terminals (also known as ASCII terminals, another misnomer) for Up arrow and Right arrow. Again, no consistency. DLE is also used by AVATAR which is often superimposed on top of an X3.64 data stream. Jeffrey Altman * Sr.Software Designer * Kermit-95 for Win32 and OS/2 The Kermit Project * Columbia University 612 West 115th St #716 * New York, NY * 10025 http://www.kermit-project.org/k95.html * kermit-support@kermit-project.org ////////////////////////////////////////////////////////////////////////////// Newsgroups: comp.terminals Message-ID: <6uq091$ce8$1@nnrp1.dejanews.com> References: Date: Tue, 29 Sep 1998 06:55:29 GMT From: celigne@celigne.co.uk Subject: Re: ANSI Emulation In article , "James Rich" wrote: > I'm working on an ANSI emulation, and I have a quick question. > > Does anyone know what character should be displayed when a terminal receives > a DLE (hex 10) from an ANSI host? I'm not sure whether a symbol should be > displayed or not, and if so, what symbol. Quick answer: Ignore DLE on input. Do not display a symbol. Longer answer: I doubt you will ever receive DLE nowadays. DLE was generally used to prefix another control character. For example, in the days when many comms lines were half-duplex (i.e., only one end could talk at a time), one or more control characters would be selected to perform "line turnaround", which pretty much meant "I've finished talking, you can have a babble now". On the VT102 and VT131, the control character End of Transmission (EOT, 4) could be selected as the disconnect character or the line turnaround character. If it was used as the turnaround character, the disconnect character would be DLE-EOT. The glossary of Digital's Terminals & Printers Handbook, 1983-84, has this to say about DLE: --quote-- A control character used exclusively to provide supplementary line control signals (contol character sequences or DLE sequences). These are two-character sequences where the first character is DLE. The second character varies according to the function desired and the code used. --end quote-- [Aside: this book is such a mine of information about ancient terminals and printers (the VT200 Series had just been introduced), I'm currently working on putting it on-line.] Regards, Paul ////////////////////////////////////////////////////////////////////////////// Newsgroups: comp.terminals Message-ID: <6v0rdt$8vh$1@callisto.clark.net> References: Date: 1 Oct 1998 21:15:41 GMT From: "T.E.Dickey" Subject: Re: finding number of lines on an xterm with vt100 emulation Sobhan K. Padamati wrote: > > Can anybody tell me the control sequence to get the number of lines on > an xterm with vt100 emulation? Not offhand--but the technique is simple: position the cursor (CUP) to a very-large position (such as 999,999) and use the cursor-position report (CPR) to ask where the cursor _really_ is. (the control sequences are listed in ctlseqs.ms - there's a copy in the xterm.tar.gz on my web page) -- Thomas E. Dickey dickey@clark.net http://www.clark.net/pub/dickey/ /////////////////////////////////////////////////////////////////////////////// Newsgroups: comp.terminals Message-ID: <7d2po8$ani$1@nnrp1.dejanews.com> References: <36F41058.F354325@bigfoot.com> <7d1l54$o89$1@newsmaster.cc.columbia.edu> Date: Sun, 21 Mar 1999 12:47:05 GMT From: Paul Williams Subject: Re: What does these ESC sequence do??? In article <36F41058.F354325@bigfoot.com>, Gunnar Jensen wrote: > In a brand new BIOS from General Software, I found the following > sequences > which I can't find in the VT220 programmers ref guide (or unsure of > validity). > > I found description for (2) in a Ref guide from Percon over > "unsupported" VT100 commands > > 1. ESC [ s (set Top & Bottom Margins to entire screen ???) > 2. ESC [ u (Set smooth scroll rate to ????) > > Could someone please confirm/deny/set me straight, WHAT are they ??? Neither of these control sequences are standardised. Control sequences with final bytes from "p" to "~" are available for private use, according to ECMA-48. In your case, they most probably mean (1) Save Cursor Position and (2) Restore Cursor Position. This is the PC "ANSI" meaning. Digital used ESC [ s to set left and right margins on devices that supported it. I don't remember whether ESC [ u was ever used. Regards, Paul /////////////////////////////////////////////////////////////////////////////// Newsgroups: comp.terminals Message-ID: <7d5eof$f3u$1@nnrp1.dejanews.com> References: <36F41058.F354325@bigfoot.com> <7d1l54$o89$1@newsmaster.cc.columbia.edu> <7d4qp1$uqs$1@nnrp1.dejanews.com> Date: Mon, 22 Mar 1999 12:57:55 GMT From: Paul Williams Subject: Re: What does these ESC sequence do??? In article <7d4qp1$uqs$1@nnrp1.dejanews.com>, I hadn't had my morning coffee before saying: > ESC [ s (DECSTBM) will reset the left and right margins on a VT420. ESC [ s is DECSLRM, not DECSTBM. -- Paul /////////////////////////////////////////////////////////////////////////////// Message-ID: <7esrnn$np4$1@newsmaster.cc.columbia.edu> References: Organization: Columbia University Date: 12 Apr 1999 13:16:39 GMT From: Jeffrey Altman Newsgroups: comp.terminals Subject: Re: What does ESC[0;10m mean for an ANSI terminal? In article , Rich Walker wrote: : Hi, : : What does ESC[0;10m mean for an ANSI terminal? I'm somewhat familiar : with the SGR : codes ESC[Xm, where X is in {0,1,4,5,7,8,22,24,25,27,28,30-49}. I also : understand : ESC[X;YH as positioning the cursor at X;Y, but I'm confused by ESC[0;10m : : Thanks for any help, : Rich Walker ANSI X3.64 describes CSI 10 m as "Select Primary Font". However, the method by which that is implemented is different for each ANSI X3.64 based termnial. Most terminals do not use the SGR font commands because they do not allow for the handling of multiple character-sets as per ISO 2022 . While one possible implementation of the SGR font selectors would be to use SGR to select a Font family and ISO 2022 to select the character sets I have never seen it used that way. Jeffrey Altman * Sr.Software Designer * Kermit-95 for Win32 and OS/2 The Kermit Project * Columbia University 612 West 115th St #716 * New York, NY * 10025 http://www.kermit-project.org/k95.html * kermit-support@kermit-project.org ////////////////////////////////////////////////////////////////////////////// Newsgroups: comp.terminals References: Organization: Mercer County Community College Date: Wed, 14 Apr 1999 10:34:34 -0400 From: Tom Kirk Subject: Re: What does ESC[0;10m mean for an ANSI terminal? Rich Walker wrote: > > Hi, > > What does ESC[0;10m mean for an ANSI terminal? I'm somewhat familiar > with the SGR > codes ESC[Xm, where X is in {0,1,4,5,7,8,22,24,25,27,28,30-49}. I also > understand > ESC[X;YH as positioning the cursor at X;Y, but I'm confused by ESC[0;10m > > Thanks for any help, > Rich Walker Rich, ********************************************************************* * Translation: " [ Ps... m" Where Ps... stands for selective * * parameters of the form * * number1 ; number2 ; number(n) * * * * thus: "ESC[0;10m" means: reset graphic attributes, * * then select primary font. * ********************************************************************* Long windy discussion follows: The following is extracted from: Standard ECMA-48 Fifth Edition - June 1991 Reprinted June 1998 * ************************************************************* * 3 - Final Bytes of control sequences without Intermediate Bytes m SGR * ************************************************************* * 7.2.8 GRCM - GRAPHIC RENDITION COMBINATION MODE REPLACING: Each occurrence of the control function SELECT GRAPHIC RENDITION (SGR) cancels the effect of any preceding occurrence. Any graphic rendition aspects that are to remain unchanged after an occurrence of SGR have to be re-specified by that SGR. CUMULATIVE: Each occurrence of the control function SELECT GRAPHIC RENDITION (SGR) causes only those graphic rendition aspects to be changed that are specified by that SGR. All other graphic rendition aspects remain unchanged. NOTE Control function affected is SGR. * ************************************************************* * g) (Ps): Control sequence with a single selective parameter h) (Ps1;Ps2): Control sequence with two selective parameters i) (Ps...): Control sequence with any number of selective parameters * ************************************************************* * SGR (Ps...) SELECT GRAPHIC RENDITION 8.3.117 * ************************************************************* * 8.3.117 SGR - SELECT GRAPHIC RENDITION Notation: (Ps...) Representation: CSI Ps... 06/13 Parameter default value: Ps = 0 ********************************************************************* * Translation: " [ Ps... m" Where Ps... stands for selective * * parameters of the form * * number1 ; number2 ; number(n) * * * * thus: "ESC[0;10m" means: reset graphic attributes, * * then select primary font. * ********************************************************************* SGR is used to establish one or more graphic rendition aspects for subsequent text. The established aspects remain in effect until the next occurrence of SGR in the data stream, depending on the setting of the GRAPHIC RENDITION COMBINATION MODE (GRCM). Each graphic rendition aspect is specified by a parameter value: 0 default rendition (implementation-defined), cancels the effect of any preceding occurrence of SGR in the data stream regardless of the setting of the GRAPHIC RENDITION COMBINATION MODE (GRCM) 1 bold or increased intensity 2 faint, decreased intensity or second colour 3 italicized 4 singly underlined 5 slowly blinking (less then 150 per minute) 6 rapidly blinking (150 per minute or more) 7 negative image 8 concealed characters 9 crossed-out (characters still legible but marked as to be deleted) 10 primary (default) font 11 first alternative font 12 second alternative font 13 third alternative font 14 fourth alternative font 15 fifth alternative font 16 sixth alternative font 17 seventh alternative font 18 eighth alternative font 19 ninth alternative font 20 Fraktur (Gothic) 21 doubly underlined 22 normal colour or normal intensity (neither bold nor faint) 23 not italicized, not fraktur 24 not underlined (neither singly nor doubly) 25 steady (not blinking) 26 (reserved for proportional spacing as specified in CCITT Recommendation T.61) 27 positive image 28 revealed characters 29 not crossed out 30 black display 31 red display 32 green display 33 yellow display 34 blue display 35 magenta display 36 cyan display 37 white display 38 (reserved for future standardization; intended for setting character foreground colour as specified in ISO 8613-6 [CCITT Recommendation T.416]) 39 default display colour (implementation-defined) 40 black background 41 red background 42 green background 43 yellow background 44 blue background 45 magenta background 46 cyan background 47 white background 48 (reserved for future standardization; intended for setting character background colour as specified in ISO 8613-6 [CCITT Recommendation T.416]) 49 default background colour (implementation-defined) 50 (reserved for cancelling the effect of the rendering aspect established by parameter value 26) 51 framed 52 encircled 53 overlined 54 not framed, not encircled 55 not overlined 56 (reserved for future standardization) 57 (reserved for future standardization) 58 (reserved for future standardization) 59 (reserved for future standardization) 60 ideogram underline or right side line 61 ideogram double underline or double line on the right side 62 ideogram overline or left side line 63 ideogram double overline or double line on the left side 64 ideogram stress marking 65 cancels the effect of the rendition aspects established by parameter values 60 to 64 NOTE The usable combinations of parameter values are determined by the implementation. * ************************************************************* * TomK 8^) ////////////////////////////////////////////////////////////////////////////// Message-ID: <7f2i92$9mv$1@callisto.clark.net> References: Organization: Clark Internet Services, Inc. User-Agent: tin/pre-1.4-19990413 ("Endemoniada") (UNIX) (SunOS/5.6 (sun4u)) Date: 14 Apr 1999 17:12:02 GMT From: "T.E.Dickey" Newsgroups: comp.terminals Subject: Re: What does ESC[0;10m mean for an ANSI terminal? Tom Kirk wrote: > 7.2.8 GRCM - GRAPHIC RENDITION COMBINATION MODE GRCM is not the default, btw, as I understand it (do any terminals support it?). -- Thomas E. Dickey dickey@clark.net http://www.clark.net/pub/dickey ////////////////////////////////////////////////////////////////////////////// Organization: ITS/MCIWorldCom Message-ID: <3730A023.7C25B6@wcom.com> Date: Wed, 05 May 1999 19:40:41 GMT From: Gaines Burns Newsgroups: comp.terminals Subject: VT CUP codes Hello, We have our own home grown incomplete vt api. We haven't implemented the complete vt set since we have a limited set of systems we connect to. Our problem is we are receiving codes that we have been unable to locate in our vt420 reference manual. These appear to be CUP codes since they are in the form of ESC[nnn;nnnH, however, several of the values we have received for the first parameter is in the ascii series ( thru / 28 thru 2f hex. Has anyone else seen these forms? Date: Wed, 05 May 1999 19:40:41 GMT From: Gaines Burns Newsgroups: comp.terminals Subject: VT CUP codes Hello, We have our own home grown incomplete vt api. We haven't implemented the complete vt set since we have a limited set of systems we connect to. Our problem is we are receiving codes that we have been unable to locate in our vt420 reference manual. These appear to be CUP codes since they are in the form of ESC[nnn;nnnH, however, several of the values we have received for the first parameter is in the ascii series ( thru / 28 thru 2f hex. Has anyone else seen these forms? Thanks. ////////////////////////////////////////////////////////////////////////////// Message-ID: <7grf2o$76c$1@nnrp1.deja.com> References: <3730A023.7C25B6@wcom.com> Date: Thu, 06 May 1999 07:07:06 GMT From: Paul Williams Newsgroups: comp.terminals Subject: Re: VT CUP codes In article <3730A023.7C25B6@wcom.com>, Gaines Burns wrote: > Our problem is we are receiving codes that we have been unable to locate > in our vt420 reference manual. These appear to be CUP codes since they > are in the form of ESC[nnn;nnnH, however, several of the values we have > received for the first parameter is in the ascii series ( thru / > 28 thru 2f hex. Let's be clear about this, have you received this kind of sequence: (1) ESC[/;9H or this: (2) ESC[9;9/H If your sequences are like (1), then they are invalid control sequences according to the standards followed by the VTxxx family. The general form of control sequences[1] is: CSI P...P I...I F where CSI can be represented as ESC [ in 7-bit environments. P...P are zero or more parameter bytes in the range 03/00 to 03/15 (ie. 0x30 to 0x3f) I...I are zero or more intermediate bytes in the range 02/00 to 02/15 and F is the final byte in the range 04/00 to 07/14. By this rule, sequence (2) above is correct, but currently unassigned and reserved for future standardisation. One particular thing to observe about sequence (2) is that it is NOT a valid way of making a private variant of the CUP control function. Private variants of standard functions are made by using a bit combination in the range 03/12 to 03/15 ('<', '=', '>' or '?') as the FIRST character of the parameter bytes. Digital used '?', '=' and '>' for making private sequences. What equipment is producing these sequences? [1] As defined by ECMA-48, which is the same as ISO/IEC 6429. Available free from http://www.ecma.ch/ Regards, Paul ////////////////////////////////////////////////////////////////////////////// Newsgroups: comp.terminals Organization: GTE Government Systems Message-ID: <37386F98.7391135@GSC.GTE.Com> References: <37351D84.56BB2377@hccnet.nl> Date: Tue, 11 May 1999 17:57:44 GMT From: "Scott G. Hall" To: Johan den Boer Subject: Re: Status Line Johan den Boer wrote: > > Is it possible to display a status line on any kind of terminal type > or can it only be displayed on terminals which supports status > lines such as Wyse Terminals. > I would like to display a status line on a xterm or on a vt100 > mode terminal. > Is it possible to display a status line on these displays ? Not explicitly. Not all terminals have the same dimensions on their screens, nor do they all define a "25th sticky line" (like DEC does). And not all users will have their sticky line turned on. Your best bet if you feel you really want it, is to funnel all output going to the user's port (stderr, stdout) such that you can control control addressing, and maintain a status line yourself. This is not without its problems (like vi and other editors, and anything that flips to an alternate screen buffer). -- Scott G. Hall GTE Government Systems North Carolina Systems Center email: Scott.Hall@GSC.GTE.Com ////////////////////////////////////////////////////////////////////////////// Newsgroups: comp.unix.solaris Message-ID: <3607C5F2.50889A5F@mdcl.com> From: Pady Srinivasan Date: Tue, 22 Sep 1998 10:44:50 -0500 Subject: vt100 & vt220 terminal emulation produce different PS1 I dont have PS1 set in /etc/profile or .profile of the user. I login as a user from a Win95 vt100 emulation, and using QvtTerm vt220 emulation. The vt220 produces the correct PS1 ( just the '$' ). But the vt100 emulation has PS1 set to the current PWD variable. This was set before. I have logged in and looged out many times. I checked all the /etc/rc* directories if anything is set, but nothing. Also, strangely the 'env' output from the two sessions are also different. There is a TERMCAP variable set in the vt100 'env' output. Any ideas/suggestions would be appresiated. I would appreciate if you could send an email to my personal address also. Thanks Pady pds@mdcl.com ////////////////////////////////////////////////////////////////////////////// Date: 30 Sep 1999 13:32:25 GMT Organization: Columbia University Newsgroups: comp.terminals Message-ID: <7svop9$f9u$1@newsmaster.cc.columbia.edu> From: Jeffrey Altman Subject: Re: Ansi Terminal Width Switching In article <7svl72$ekq$1@pegasus.csx.cam.ac.uk>, Ben Harris wrote: : In article , : Vince Rogers wrote: : >can anybody please help : >would like to send escape codes to switch ansi between 80 and 132 : >and back again : >does anybody know how : : There isn't one. There's a DEC private mode which does this, though. : : -------------------------------------------------------------------- : Mode: ?3 : Mnemonic: DECCOLM : Description: Column mode : : This is a private parameter to the SM and RM control sequences. : The reset state causes an 80 column screen to be used. : The set state causes a 132 column screen to be used. : -------------------------------------------------------------------- : : Thus, you can switch into 132-column mode with CSI ? 3 h, and back to : 80-column with CSI ? 3 l. : : ( CSI can also be represented as ESC [ ) The newer VT Terminals also support DECSCPP (Set columns per page). The Siemens 97801-5xx terminals use CSI 53 h - 132 cols CSI 53 l - 80 cols (note: they are not private) Jeffrey Altman * Sr.Software Designer * Kermit-95 for Win32 and OS/2 The Kermit Project * Columbia University 612 West 115th St #716 * New York, NY * 10025 http://www.kermit-project.org/k95.html * kermit-support@kermit-project.org/ ////////////////////////////////////////////////////////////////////////////// Newsgroups: comp.terminals Organization: Columbia University Lines: 58 Message-ID: <7t2fe1$gj0$1@newsmaster.cc.columbia.edu> References: <7t1e0u$3np$1@newsmaster.cc.columbia.edu> <7t1q3a$h17$1@nnrp1.deja.com> NNTP-Posting-Host: watsun.cc.columbia.edu X-Trace: newsmaster.cc.columbia.edu 938787073 16992 128.59.39.2 (1 Oct 1999 14:11:13 GMT) X-Complaints-To: postmaster@columbia.edu NNTP-Posting-Date: 1 Oct 1999 14:11:13 GMT Date: 1 Oct 1999 14:11:13 GMT From: jaltman@watsun.cc.columbia.edu (Jeffrey Altman) Subject: Re: Ansi Terminal Width Switching In article <7t1q3a$h17$1@nnrp1.deja.com>, Paul Williams wrote: : > DECSCPP is not private. : : Jeff, are you being picky about the exact wording? Like Tom I have had a long month. : I've listed the other DEC extensions that I know about at : http://vt100.net/ctrlseq_dec.html. I'd love to hear of additions to : the list. All of the DEC extensions and most of the SCO extensions are documented in the VT5xx Programmer's Reference Manual which I will not post to the web as it is still being actively sold by the current copyright holder (Boundless Technologies.) : Tom, regarding '<', '=', '>' and '?', this is another extension : mechanism, different from the "private final character" style above. : ECMA 48 explains that parameter strings which START with these : characters are for private or experimental use. In other words, the : first extension style ('p' to '~') is for new types of control : function, and this one is for overloading existing control functions, : like the Set Mode and Reset Mode sequences. Note that you cannot embed : '<', '=', '>' and '?' whereever you like in the sequence; they must : appear at the beginning. While these bytes are supposed to appear only at the beginning of a parameter sequence that is not how they have been implemented in many terminals including (I believe) the VT series. I am pretty sure that the VT series treats CSI 4 ; ? 7 h CSI ? 4 ; ? 7 h as valid 'private' sequences. (I'm not in front of a terminal at the moment so I can't check this. I am going by memory on this one.) The BA80 terminal used combinations of '?' and '=' to specify special operations: CSI = ? I - Screen Saver Off CSI ? = J - Screen Saver On and I can't find my notes but there are also other sequences that I have seen: CSI ? = m - Delete Line Up CSI = ? l - Insert Line Up Of course, once one of the extension characters is encountered all of the formatting rules for the rest of the sequence no longer has to obey the standards, so anything goes. Jeffrey Altman * Sr.Software Designer * Kermit-95 for Win32 and OS/2 The Kermit Project * Columbia University 612 West 115th St #716 * New York, NY * 10025 http://www.kermit-project.org/k95.html * kermit-support@kermit-project.org ////////////////////////////////////////////////////////////////////////////// Newsgroups: comp.terminals Path: transfer.stratus.com!cam-news-feed2.bbnplanet.com!cam-news-hub1.bbnplanet.com!paloalto-snf1.gtei.net!news.gtei.net!newsfeed.stanford.edu!remarQ73!supernews.com!remarQ.com!nuq-peer.news.verio.net!news.verio.net!iad-artgen.news.verio.net!dfw-read.news.v verio.net.POSTED!not-for-mail References: <5TMI3.413$SS2.14274@dfw-read.news.verio.net> <7t0aet$dqv$1@nnrp1.deja.com> <7t1e0u$3np$1@newsmaster.cc.columbia.edu> <7t1q3a$h17$1@nnrp1.deja.com> Organization: Clark Internet Services, Inc., Ellicott City, MD USA User-Agent: tin/pre-1.4-19990927 ("Nine While Nine") (UNIX) (SunOS/5.6 (sun4u)) Lines: 35 Message-ID: Date: Fri, 01 Oct 1999 09:45:54 GMT NNTP-Posting-Host: 168.143.0.8 X-Complaints-To: abuse@verio.net X-Trace: dfw-read.news.verio.net 938771154 168.143.0.8 (Fri, 01 Oct 1999 09:45:54 GMT) NNTP-Posting-Date: Fri, 01 Oct 1999 09:45:54 GMT From: "T.E.Dickey" Subject: Re: Ansi Terminal Width Switching Paul Williams wrote: >> DECSCPP is not private. > Jeff, are you being picky about the exact wording? > DECSCPP is, as Tom noted, the sequence with final character '|' and > intermediate character '$'. Sequences with final characters 'p' to '~' > (07/00 to 07/14) are reserved for private extensions to ISO 6429 > (= ECMA 48). So, DECSCPP uses the private extension mechanism. ah (thanks - I wasn't thinking about the final character - very long day). > I've listed the other DEC extensions that I know about at > http://vt100.net/ctrlseq_dec.html. I'd love to hear of additions to > the list. > Tom, regarding '<', '=', '>' and '?', this is another extension > mechanism, different from the "private final character" style above. > ECMA 48 explains that parameter strings which START with these > characters are for private or experimental use. In other words, the > first extension style ('p' to '~') is for new types of control > function, and this one is for overloading existing control functions, > like the Set Mode and Reset Mode sequences. Note that you cannot embed > '<', '=', '>' and '?' whereever you like in the sequence; they must > appear at the beginning. yes (I recall some discussion a few years about whether those could appear in positions other than the beginning of the string). But being told again doesn't hurt. (Terminology was never my strong point ;-) > Paul -- Thomas E. Dickey dickey@clark.net http://www.clark.net/pub/dickey ////////////////////////////////////////////////////////////////////////////// Date: 5 Oct 1999 13:57:54 GMT Organization: Columbia University Newsgroups: comp.terminals From: Jeffrey Altman Subject: Re: VT100 help In article , T.E.Dickey wrote: : Stephen Marchant wrote: : : > I need a little help with the following VT100 ESC code : : > ESC[>3;4;2;21;63J : : > Ok I know that J is clear screen but where do the rest fit in : : no - the '>' in the sequence makes it a private control sequence which : is not necessarily the same as any variant of ESC[J. Not only is it private, but the only company that I ever saw use '>' as the private indicator was Zenith Data Systems. However, I haven't seen one of their terminals using the 'J' final character with '>'. Given the values that are provided my guess is that this sequence is equivalent to CSI > 2 J CSI > 3 J CSI > 4 J CSI > 21 J CSI > 63 J In other words, it is being used to turn on/off some features of the terminal. Jeffrey Altman * Sr.Software Designer * Kermit-95 for Win32 and OS/2 ////////////////////////////////////////////////////////////////////////////// Newsgroups: comp.terminals Date: Tue, 05 Oct 1999 16:15:43 GMT Organization: Deja.com - Before you buy. From: Paul Williams Subject: Re: VT100 help In article <7td052$a34$1@newsmaster.cc.columbia.edu>, jaltman@watsun.cc.columbia.edu (Jeffrey Altman) wrote: > In article , > T.E.Dickey wrote: > : Stephen Marchant wrote: > : > : > I need a little help with the following VT100 ESC code > : > : > ESC[>3;4;2;21;63J > : > : > Ok I know that J is clear screen but where do the rest fit in > : > : no - the '>' in the sequence makes it a private control sequence which > : is not necessarily the same as any variant of ESC[J. > > Not only is it private, but the only company that I ever saw use > '>' as the private indicator was Zenith Data Systems. And DEC VT420 for Secondary DA Request: CSI > c or CSI > 0 c As CSI J is Erase in Display, my wild guess for this sequence would be a window erase command, with 3 indicating a difference from modes 0, 1 and 2, and the other four being rectangle coords. Paul ////////////////////////////////////////////////////////////////////////////// Newsgroups: comp.terminals Date: Tue, 05 Oct 1999 21:31:23 GMT Organization: Clark Internet Services, Inc., Ellicott City, MD USA From: T.E.Dickey Subject: Re: VT100 help Paul Williams wrote: >> Not only is it private, but the only company that I ever saw use >> '>' as the private indicator was Zenith Data Systems. > And DEC VT420 for Secondary DA Request: CSI > c or CSI > 0 c > As CSI J is Erase in Display, my wild guess for this sequence would be > a window erase command, with 3 indicating a difference from modes 0, 1 > and 2, and the other four being rectangle coords. but still not (I believe) DEC - they have something like that with the $ and { characters to end - but no > private-mode character (DECSERA). -- Thomas E. Dickey dickey@clark.net http://www.clark.net/pub/dickey/ ////////////////////////////////////////////////////////////////////////////// Newsgroups: comp.unix.solaris,comp.terminals,comp.windows.x.apps, comp.unix.questions References: <3B4225C4.FB86F2EC@to.gd-es.com> <3b425acd@news.uni-ulm.de> <20010704190000_rshu@stratagy.com> User-Agent: tin/1.4.5-20010409 ("One More Nightmare") (UNIX) (SunOS/5.8 (sun4u)) Organization: united xpiloteers Message-ID: <3b437542@news.uni-ulm.de> Supersedes: <3b437389@news.uni-ulm.de> Date: 4 Jul 2001 21:57:54 +0200 From: Sven Mascheck Subject: Re: resetting xterm under Solaris 8 [sorry, supersede: named original group, 2 typos] In comp.unix.solaris, Richard S. Shuford wrote: > > Allen M. Cohen wrote: >> Sometimes an xterm session gets stuck in either reverse video state >> and/or underline state. > However, I think Allen is *not* reporting a line-drawing character problem. Yup, thanks for pointing out, i confused underline with linedrawing! My reference [1]tried to cover this and all related stuff (xterm reset, using an alias to reset a VT like terminal, reason for linedrawing problems, as text really becomes unreadable, then) in detail with explanations. > I devised a C-shell hack that sends some appropriate control sequences to > an DEC-VT100/VT220-compatible terminal or emulator that should bring it to > a known good state. A uuencoded self-explanatory file "cls.uue" appears > below. Nice idea to use uuencoding to transfer the control sequences via Usenet. An alternative i had found in an old Usenet posting ('95) is something like the follwing (here bourne shell): alias vtn='echo "X[mX(BX)0OX[?5lX7X[rX8" | tr "XO" "\033\017"' This is even editable on the run when experimenting. BTW, about your control sequences: In XFree86/X11 xterm with TERM=xterm-xfree86/vt100, the last few characters are "left over" ("8J i"). Perhaps as there is a "nobreakspace" contained. When skipping this last control sequence for now, your version would read alias vtn='echo "X[4iX[?4iX[?38lX\X(BX)0OX[?5lX[0mX[rX[HX[JY[4iX[?4iX[?38lX\X(BX)0OX[?5lX[0mX[rX[H" | tr "XOY" "\033\017\203"' (line broken at end) [I am not sure about the FUP2, comp.terminals?] Sven -- [1] , tuned for critics ////////////////////////////////////////////////////////////////////////////// Newsgroups: comp.unix.solaris,comp.terminals,comp.windows.x.apps, comp.unix.questions Message-ID: <20010705163030_rshu@stratagy.com> References: <3B4225C4.FB86F2EC@to.gd-es.com> <3b425acd@news.uni-ulm.de> <20010704190000_rshu@stratagy.com> <3b437542@news.uni-ulm.de> Organization: Stratagy Users Group Expires: Wed, 15 Aug 2001 23:59:59 GMT Date: Thu, 5 Jul 2001 16:30:30 GMT From: "Richard S. Shuford" Subject: Re: resetting xterm under Solaris 8 Sven Mascheck wrote: > > BTW, about your control sequences: In XFree86/X11 xterm with > TERM=xterm-xfree86/vt100, the last few characters are "left over" > ("8J i"). Perhaps as there is a "nobreakspace" contained. This is puzzling. The sequence "8J i" does not appear in my file. Here again is the uuencoded form: ----------------------------------------------------------- begin 444 .cls J&ULT:1M;/S1I&UL_,SAL&UP;*$(;*3 /&UL_-6P;6S!M&UMR&UM(&UM* end ----------------------------------------------------------- When decoded and after the unprintables are rendered into printable tokens, it looks like this: ^[[4i^[[?4i^[[?38l^[\^[(B^[)0^O^[[?5l^[[0m^[[r^[[H^[[J There is nothing in there that should be interpreted as a "nobreakspace", if the ANSI X3.64 parsing rules are being properly followed. Is it possible that your "uudecode" program is decoding improperly? The XFree86/X11 distribution contains the "xterm" variant maintained by Thomas Dickey, and I certainly have tested my little hack with an earlier version of that package. I note that several people have contributed suggestions on how to reset xterm visual attributes using the "tput" command to extract codes from the "terminfo" database. This is arguably the "proper" way to do the job, but my cat-the-file hack does work even if the terminal type is set wrong, and it also resets some obscure modes of DEC-style terminals that may not be represented by codes in the terminfo database. (There are yet some people in the world who are using real VT420 character-cell terminals to connect to Solaris!) Other video-terminal information is archived at http://www.cs.utk.edu/~shuford/terminal_index.html (contains file you are now viewing) ...Richard S. Shuford .............................................................................. Newsgroups: comp.unix.solaris,comp.terminals,comp.windows.x.apps,comp.unix.questions Message-ID: <3b44af2d@news.uni-ulm.de> References: <3B4225C4.FB86F2EC@to.gd-es.com> <3b425acd@news.uni-ulm.de> <20010704190000_rshu@stratagy.com> <3b437542@news.uni-ulm.de> <20010705163030_rshu@stratagy.com> Organization: united xpiloteers User-Agent: tin/1.4.5-20010409 ("One More Nightmare") (UNIX) (SunOS/5.8 (sun4u)) NNTP-Posting-Host: wega.rz.uni-ulm.de Date: 5 Jul 2001 20:17:18 +0200 From: Sven Mascheck Subject: Re: resetting xterm under Solaris 8 In comp.terminals Richard S. Shuford wrote: > > The sequence "8J i" does not appear in my file. > Is it possible that your "uudecode" program is decoding improperly? It was actually broken, decoding the sequence properly and then appending more (similar) escape sequences. Some were just repeated, some were invalid, but actually still escape sequences with the usual length. This sharutils-4.2 uudecode version was generally working fine, but has apparently a problem with short files. Sorry for bugging you! (i should have become suspicious, anyway) > When decoded and after the unprintables are rendered into printable > tokens, it looks like this: > ^[[4i^[[?4i^[[?38l^[\^[(B^[)0^O^[[?5l^[[0m^[[r^[[H^[[J could also be $ echo "X[4iX[?4iX[?38lX\X(BX)0OX[?5lX[0mX[rX[HX[J" | tr "XO" "\033\017" Sven -- [fup2 poster] ////////////////////////////////////////////////////////////////////////////// Newsgroups: comp.unix.solaris, comp.terminals, comp.unix.shell NNTP-Posting-Host: list.stratagy.com References: <1123794301.408738.302390@g47g2000cwa.googlegroups.com> <20010704190000_rshu@stratagy.com> <42fc4124$0$18647$14726298@news.sunsite.dk> <42fc4c95$0$18497$636a15ce@news.free.fr> <42fcfd1a$0$7810$626a14ce@news.free.fr> Message-ID: Organization: The Late, Great Stratagy Users Group Date: Fri, 12 Aug 2005 18:20:30 -0400 From: Richard S. Shuford Subject: Re: how do i reset the terminal Sven Mascheck wrote: | | Jean-Louis Liagre wrote: | | > This is wrong, c is the original vt100 RIS (reset to | > initial state) escape sequence, works with vt100 and in fact | > all ANSI X3.64 compliant terminals and terminal emulators, | > which means most of them. | | Not to mention: properly documented in the VT100 manual. | I managed to miss that. But then what's the reason why | this hasn't been always used to simplify matters? Hi, Sven, This is very much like the discussion we had 4 years ago in "comp.unix.solaris". See message <20010704190000_rshu@stratagy.com>. The ANSI X3.64 "Reset to Initial State" (RIS) control sequence is the sledgehammer approach to resetting the terminal. I suspect that vendors of real video terminals (as opposed to emulations running in a GUI environment) discouraged routine use of RIS by software, because its effect is drastic: it does essentially what powering the terminal off and then back on does. Usually, invocation of RIS would cause a real character-cell video terminal to reread parameters from its PROM, and--given that the EEPROM chips in old terminals were fragile parts with a finite lifetime--I speculate that vendors did not want users exercising the PROM every time they wanted to clear the screen. (Maybe James Carlson knows for sure?) Even in a contemporary software terminal emulation, however, the hard RIS reset may clobber dynamic state you don't want to lose, such as selected character set and background color, custom function-key definitions, or perhaps the contents of a scroll-back buffer. My previous message today pointed to my shell hack, which does not use RIS, but tries to individually reset the parameters which often get set oddly when you "cat" a binary file. http://www.cs.utk.edu/~shuford/terminal/cls.uue Other background information on video terminals dwells here: http://www.cs.utk.edu/~shuford/terminal_index.html ...Richard S. Shuford -- "An anxious heart weighs a man down, but a kind word cheers him up." Prov 12:25 .............................................................................. Newsgroups: comp.unix.solaris, comp.terminals, comp.unix.shell NNTP-Posting-Host: 71.98.88.211 NNTP-Posting-Date: Fri, 12 Aug 2005 22:14:07 +0000 (UTC) References: <1123794301.408738.302390@g47g2000cwa.googlegroups.com> Message-ID: <1123884842.602625.229310@f14g2000cwb.googlegroups.com> Date: 12 Aug 2005 15:14:02 -0700 From: Chapman Flack Subject: Re: how do i reset the terminal > d_dave@my-deja.com wrote: > | > | Sometimes my terminal only outputs onto the top half of the screen. > | The bottom-half remains blank. how do I reset the terminal when > | this happens? tset doesn't work. Also how do I reset the terminal > | if the output turns to garbage, eg after cat'ing a binary file? For those who no longer feel the excitement of reinventing wheels, there's always $ tput reset which sends the proper reset sequence defined in the terminal database for the exact type of terminal you are using. :) -Chap ////////////////////////////////////////////////////////////////////////////// Newsgroups: comp.unix.solaris References: <1123794301.408738.302390@g47g2000cwa.googlegroups.com> <42fc4124$0$18647$14726298@news.sunsite.dk> <42fc4c95$0$18497$636a15ce@news.free.fr> Message-ID: Organization: united xpiloteers Date: Fri, 12 Aug 2005 19:50:05 +0200 (CEST) From: Sven Mascheck Subject: Re: how do i reset the terminal Jean-Louis Liagre wrote: > PM wrote: > > I found somewhere this piece: > > > > % echo "X[4iX[?4iX[?38lX\X(BX)0OX[?5lX[0mX[rX[HX[J" | tr "XO" "\033\017" > > > > which helps (don't ask me why 8-) in most cases. > > echo "\033c" is simpler for the same result. The latter is only available in xterm--while the former is/was helpful in vt100-related terminals (including xterm) if there's no such simple reset sequence available. [Archiver's note: "\033c" is the aforementioned RIS sequence, and Sven was mistaken: it is standard ANSI.] Once we actually sat in front of a messed up Auspex with the very last session on a video terminal, then somehow got the line drawing characters, and were so glad that ^O helped. The beforementioned ^O resets the "character set". Commands like the above include more attributes (mainly the "translation table" which is directly related to the "character set"). In fact i once posted the above echo command here as followup to Richard's complete uudecode-solution. Simple example: the following will prevent ^O from working because it changes /both/ settings, $ cat (0 )B ^D -- http://www.in-ulm.de/~mascheck/various/alternate_charset/ ////////////////////////////////////////////////////////////////////////////// Newsgroups: comp.terminals References: <9vqjcr$l4r$1@news.gte.com> <9vqkeb$5d6$1@pegasus.csx.cam.ac.uk> <9vqqob$l8q$1@news.gte.com> Message-ID: <9vqkeb$5d6$1@pegasus.csx.cam.ac.uk> Organization: University of Cambridge, England Date: 19 Dec 2001 17:57:31 GMT From: Ben Harris Subject: Re: VT100 to text utility In article <9vqjcr$l4r$1@news.gte.com>, Gary Dalton of GTE Laboratories Incorporated wrote: > >I need to remove all escape and control sequences from >a screen VT100 capture file. Does anyone know of a utility >or some regexes that will do the job? The fragment of Perl I use to do this goes: # Kill ANSI sequences s!(\e\[|\x9b)[0-?]*[ -/]*[@-~]!!g; s!\e[ -/]*[0-~]!!g; This matches any ANSI control sequence (beginning with CSI), and then any other ANSI escape sequence. It leaves in all other single-character controls, but you can easily strip out whichever ones you happen not to want (you probably want to keep LF, for instance. -- Ben Harris Unix Support, University of Cambridge Computing Service. If I wanted to speak for the University, I'd be in ucam.comp-serv.announce. ////////////////////////////////////////////////////////////////////////////// Newsgroups: comp.terminals References: Message-ID: Expires: 30 Oct 2002 20:43:01 -0400 Organization: Stratagy Users Group Date: Sat, 14 Sep 2002 16:50:01 EDT From: "Richard S. Shuford" Subject: Re: Unknown Escape sequences Pierre Goyette wrote | | I am looking for information regarding some unknown escape sequences being | sent to a VT320 by an IDX application which I cannot find anywhere include | Richard Shuford's great site. | | First, on the DA1 Primary Device Attribute reply, this particular emulator | is sending back: | | Esc [ ? 63 ; 1 ; 2 ; 6 ; 29 c | | I can't find any info on the value of '29'. And Ben Harris replied: || || My list says "ANSI text locator", which isn't terribly helpful. || || http://www.chiark.greenend.org.uk/~bjharris/all-escapes/all-escapes.txt I'll hazard an educated guess that the "text locator" description is merely standards jargon for something very common in this day and age: the '29' means that the terminal has a mouse attached. See: http://www.cs.utk.edu/~shuford/terminal/dec_vt_mouse.html (Of course, here "terminal" means "PC running the emulator program.") || Next, this host application is sending escape sequences which || I can't find anywhere. For example: || || Esc [ p1 ; p2 ; p3 ; p4 Y || Esc [ p1 ; p2 ; p3 ; p4 ; p5 W || Esc [ p1 ; p2 ; p3 ; p4 j || || Each of those _should_ be a sequence defined by ECMA-48 (CVT, CTC, and || HPB respectively), but the numbers of parameters are wrong. The first two are vertical and horizontal tab-setting: it may be going beyond the letter of what the standards committee originally had in mind, but I suspect that the additional parameters could be to set multiple tab stops in one fell swoop. However, I don't know what sane meaning could be assigned to multiple parameters in the HPB "Horizontal Character Position Backward" function. On the other hand, the original X3.64 standard reserved lowercase alphabetic final characters (such as 'j') to private functions, so some terminal vendor may have assigned some other, private meaning to such a sequence. If I am correctly reading the "DEC VT510 Terminal Function Checklist", DEC never implemented HPB, as such. See: http://www.cs.utk.edu/~shuford/terminal/dec_term_function_checklist.ps However, I think it unlikely that "Esc [ ps ; ps ; ps ; ps j" would have been a private code invented by DEC, because DEC used mostly "h" and "l" as the final characters of private sequences. Is it possible that the mystery sequence is a depraved mutation of "Esc [ Pn J", intended to simultaneously erase the displays of several virtual screens? DEC's terminal business is now under the control of Boundless Technologies, which might have information contrary to my guesses. While we are at it, I'll remind readers that a PDF file of the ECMA-48 device-control standard may be downloaded from: http://www.ecma.ch/ecma1/STAND/ECMA-048.HTM -- ...Richard S. Shuford shuford(at)list.stratagy.com ////////////////////////////////////////////////////////////////////////////// Newsgroups: comp.terminals NNTP-Posting-Host: 41.223.60.60 NNTP-Posting-Date: Wed, 18 Mar 2009 05:03:39 +0000 (UTC) Message-ID: Date: Tue, 17 Mar 2009 22:03:39 -0700 (PDT) From: Cov Subject: Rendering Boxes I have been using Plink to access a Linux box and have received output similar to the following: ^[[40m^[[37mmqqqqqqqqqqqqqqqqqqqqqqqqqqqj According to my research ^[[40m^[[37m (that is [40m[37m) sets the background colour to black and the forground colour to white, but I have not found anything which explains the 'mqqqqqqqqqqqqqqqqqqqqqqqqqqqj' string, although Putty appears to (correctly) render this as the top line for a box, some 20columns wide. Where can I get a listing of these codes? Many thanks, . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Newsgroups: comp.terminals NNTP-Posting-Host: fb370a0e.news.jtan.com References: Message-ID: <49c2e23a$0$29967$e4f62565@news.jtan.com> Organization: Jtan (jtan.com) Date: 20 Mar 2009 00:24:26 GMT From: Thomas E. Dickey Subject: Re: Rendering Boxes Cov wrote: > I have been using Plink to access a Linux box and have received output > similar to the following: > > ^[[40m^[[37mmqqqqqqqqqqqqqqqqqqqqqqqqqqqj > > According to my research ^[[40m^[[37m (that is [40m[37m) > sets the background colour to black and the forground colour to white, > but I have not found anything which explains the > 'mqqqqqqqqqqqqqqqqqqqqqqqqqqqj' string, although Putty appears to you're missing ^N/^O characters around the q's. > (correctly) render this as the top line for a box, some 20columns > wide. > > Where can I get a listing of these codes? man console_codes -- Thomas E. Dickey http://invisible-island.net/ ftp://invisible-island.net/ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Newsgroups: comp.terminals NNTP-Posting-Host: 6fc7cf78.newsspool3.arcor-online.net NNTP-Posting-Date: 20 Mar 2009 17:08:07 CET References: <49c2e23a$0$29967$e4f62565@news.jtan.com> Message-ID: Organization: Arcor Date: Fri, 20 Mar 2009 16:08:37 +0100 From: Jens Thiele Subject: Re: Rendering Boxes dickey@invisible-island.net (Thomas E. Dickey) writes: > Cov wrote: >> Where can I get a listing of these codes? > > man console_codes Additionally there are: http://www.ecma-international.org/publications/standards/Ecma-048.htm and so far the best site regarding terminals i have found: http://vt100.net/ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Newsgroups: comp.terminals NNTP-Posting-Host: 6fc7cf78.newsspool3.arcor-online.net NNTP-Posting-Date: 20 Mar 2009 17:08:07 CET References: <49c2e23a$0$29967$e4f62565@news.jtan.com> Message-ID: Organization: Arcor Date: Fri, 20 Mar 2009 16:08:37 +0100 From: Jens Thiele Subject: Re: Rendering Boxes dickey@invisible-island.net (Thomas E. Dickey) writes: > > Cov wrote: >> Where can I get a listing of these codes? > > man console_codes additionally there are: http://www.ecma-international.org/publications/standards/Ecma-048.htm and so far the best site regarding terminals i have found: http://vt100.net/ \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\ ////////////////////////////////////////////////////////////////////////////// Newsgroups: comp.os.vms References: <80d4088b.0211011113.56ead662@posting.google.com> Message-ID: Organization: PANIX Public Access Internet and UNIX, NYC Date: Sat, 2 Nov 2002 19:03:44 +0000 (UTC) From: John Forkosh Subject: Re: How to do inverse video, bold, etc. in Vax Pro-C? Z wrote: : stu wrote: : : Is there a way in Pro-C to display text in bold, : : inverse, etc. like VMS does? : As I recall ... : : ESC = escape ( ASCII 1B(hex), 33(octal), 27(decimal) or ctrl+[ ) : : Sending ESC[0m will turn off all attributes : Sending ESC[1m will turn on bold : Sending ESC[4m will turn on underline : Sending ESC[5m will turn on blink : Sending ESC[7m will turn on reverse : : And, IIRC, you can also use ESC[X;Ym ... such as ESC[0;4m to : turn off all previous attributes and to turn on underline. : : Once you turn on attributes, all chars printed to the terminal have : those attributes on until you turn them off. : : eg: In C, you can use "\033[0m" in a string to get ESC[0m. Some of the escape sequences I use are... /* ------------------------------------------------------------------------- * vt100.h (c)1989-1999, John Forkosh Associates VT-100 Graphics * ------------------------------------------------------------------------- */ #define bel printf("\007") #define esc printf("\033") #define csi printf("\033[") #define lscreen printf("\033[?5h") #define dscreen printf("\033[?5l") #define rev_vid printf("\033[7m") #define blink printf("\033[5m") #define under printf("\033[4m") #define bold printf("\033[1m") #define norm_vid printf("\033[0m") #define wide_vid printf("\033#6") #define high_vid2 printf("\033#4") #define high_vid1 printf("\033#3") #define graphic printf("\033(0") #define no_graph printf("\033(B") #define no_window printf("\033[1;24r") #define no_att printf("\033[0;22;24;25;27m") #define cup(row,col) printf("\033[%d;%dH",(row),(col)) #define stbm(top,bot) printf("\033[%d;%dr",(top),(bot)) #define ri printf("\033M") #define el printf("\033[K") #define ed0 printf("\033[0J") #define bar graphic;printf("x");no_graph #define wipe(row,col) cup(row,col);printf("\033[J") #define clr wipe(0,0);norm_vid /* ------------------------------------------------------------------------- * String equivalents ... Note: _cup() and _stbm() only accept literal args. * ------------------------------------------------------------------------- */ #define _bel "\007" #define _esc "\033" #define _csi "\033[" #define _lscreen "\033[?5h" #define _dscreen "\033[?5l" #define _rev_vid "\033[7m" #define _blink "\033[5m" #define _under "\033[4m" #define _bold "\033[1m" #define _norm_vid "\033[0m" #define _wide_vid "\033#6" #define _high_vid2 "\033#4" #define _high_vid1 "\033#3" #define _graphic "\033(0" #define _no_graph "\033(B" #define _no_window "\033[1;24r" #define _no_att "\033[0;22;24;25;27m" #define _cup(row,col) "\033[" #row ";" #col "\110" #define _stbm(top,bot) "\033[" #top ";" #bot "\162" #define _ri "\033M" #define _el "\033[K" #define _ed0 "\033[0J" #define _bar "\033(0x\033(B" #define _wipe_clr "\033[0;0H\033[2J" #define _clr "\033[0;0H\033[2J\033(B\033[0m\033[1;24r" /* ------------------------------------------------------------------------- */ -- John Forkosh ( mailto: j@f.com where j=john and f=forkosh ) ////////////////////////////////////////////////////////////////////////////// Newsgroups: alt.folklore.computers, alt.sys.pdp10 Date: 10 Apr 2003 12:51:36 GMT Organization: TSS Inc. Message-ID: References: <3e8ae086.45754328@news.m.iinet.net.au> From: Peter da Silva Subject: Re: Any DEC 340 Display System Doco ? In article , Brian Inglis wrote: > >A version [of Life] I did in RSTS/E BASIC+ on PDP-11/70 for the VT100 >(9600bps) needed a two-second sleep between generations to slow >it down enough to be able to see the changes. You have to remember how slow 9600 bps is, and how slow the vt100 is. 7 bit characters with no parity, 2 start and one stop bit is about the best case, and that's 960 cps with 80*24=1920 characters, the more common 7-bits-with-parity or 8-bits-with-no-parity were even slower. There's two seconds right there. On top of which a "clear screen" operation on the vt100 could take quite a while to complete. The termcap entry for the vt100 has 50ms delay there (:cl=50\E[;H\H[2J:). Even with flow control, the vt100 could get so busy there it'd lose characters, so a delay was essential just to accomodate it. -- Rev. Peter da Silva, ULC. 29.6852N 95.5770W WWFD? ////////////////////////////////////////////////////////////////////////////// Newsgroups: alt.folklore.computers, alt.sys.pdp10 Message-ID: <1825.230T1674T5474619@kltpzyxm.invalid> References: <3e8ae086.45754328@news.m.iinet.net.au> Date: 10 Apr 2003 09:07:33 -0800 From: Charlie Gibbs Subject: Re: Any DEC 340 Display System Doco ? In article peter@taronga.com (Peter da Silva) writes: >In article , >Brian Inglis wrote: > >>A version I did in RSTS/E BASIC+ on PDP-11/70 for the VT100 >>(9600bps) needed a two second sleep between generations to slow >>it down enough to be able to see the changes. > >You have to remember how slow 96o0 bps is, and how slow the vt100 is. > No, no, no. You're not optimizing it properly. My program determined the smallest rectangle of cells that contained the previous generation. It's only necessary to calculate and paint an area one cell larger than that rectangle on each side - and you never have to clear the screen, which eliminates a lot of flicker. Larger patterns (e.g. an R-pentomino that has run for a while) will slow things down again, but smaller patterns (even a glider, since the bounding rectangle simply moves across the screen) could be painted at 10 generations per second at 9600 bps. -- /~\ cgibbs@kltpzyxm.invalid (Charlie Gibbs) \ / I'm really at ac.dekanfrus if you read it the right way. X Top-posted messages will probably be ignored. See RFC1855. / \ HTML will DEFINITELY be ignored. Join the ASCII ribbon campaign! ////////////////////////////////////////////////////////////////////////////// \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\ Newsgroups: alt.folklore.computers, alt.sys.pdp10 Date: Thu, 10 Apr 2003 18:10:12 GMT Message-ID: <3E95B3FC.125F1A61@earthlink.net> References: <3e8ae086.45754328@news.m.iinet.net.au> <3E93558E.6894EBEF@ev1.net> From: jchausler Subject: Re: Any DEC 340 Display System Doco ? Peter da Silva wrote: > ... The first really > practical mice (with balls rather then two rubber wheels at 90 degrees to > each other, which was the original mechanism) didn't show up until well > into the seventies. The first light pen I saw in use was on an IBM 1130 in the late 60's. I had already used a "Rand Tablet" a few years before. The light pen was a 50's development which came out of the Project Whirlwind for the AN-FSQ/7 development and SAGE. I don't know when the "Rand Tablet" was developed. I used it attached to a Philco graphics controller being run by one of the Bendix G-20's at CMU in the 60's (as kind of a background task, the G-20 was doing other things as well). My question is when was the "track ball" invented? I recall seeing them in FAA control towers in the 70's if not earlier. I also first used one of those wheeled mice attached to a "storage scope" terminal (I can't remember HP or Tek but probably Tek) attached to a PDP-10 (KA) in 1970. Chris AN GETTO$;DUMP;RUN,ALGOL,TAPE $$ ////////////////////////////////////////////////////////////////////////////// Date: Thu, 10 Apr 2003 11:21:19 -0700 Organization: Apple Computer, Inc. Newsgroups: alt.folklore.computers, alt.sys.pdp10 Message-ID: References: <3e8ae086.45754328@news.m.iinet.net.au> <3E93558E.6894EBEF@ev1.net> <3E95B3FC.125F1A61@earthlink.net> From: Al Kossow Subject: Re: Any DEC 340 Display System Doco ? > I don't know when the "Rand Tablet" was developed. "The RAND Tablet: A Man-machine Graphical Communication Device" AFIPS Fall 1964 ////////////////////////////////////////////////////////////////////////////// Newsgroups: alt.folklore.computers, alt.sys.pdp10 Message-ID: References: <3e8ae086.45754328@news.m.iinet.net.au> <3E93558E.6894EBEF@ev1.net> <3E95B3FC.125F1A61@earthlink.net> Organization: Wheeler&Wheeler Date: Thu, 10 Apr 2003 18:43:02 GMT From: Anne & Lynn Wheeler Subject: Re: Any DEC 340 Display System Doco ? jchausler writes: > > The first light pen I saw in use was on an IBM 1130 > in the late 60's. I had already used a "Rand Tablet" > a few years before. The light pen was a 50's > development which came out of the Project Whirlwind > for the AN-FSQ/7 development and SAGE. I don't > know when the "Rand Tablet" was developed. I > used it attached to a Philco graphics controller being > run by one of the Bendix G-20's at CMU in the 60's > (as kind of a background task, the G-20 was doing > other things as well). light pen was on the 2250 ... there were several models of 2250s (any which could have light pen, tablet, some number of other things); ... 2250m1, controller that was direct 360 channel attach. 2250m4 had a 1130 as a controller. random past random past 1130/2250 refs: http://www.garlic.com/~lynn/97.html#2 IBM 1130 (was Re: IBM 7090--used for business or science?) http://www.garlic.com/~lynn/2000b.html#67 oddly portable machines http://www.garlic.com/~lynn/2000g.html#24 A question for you old guys -- IBM 1130 information http://www.garlic.com/~lynn/2001b.html#71 Z/90, S/390, 370/ESA (slightly off topic) http://www.garlic.com/~lynn/2001f.html#13 5-player Spacewar? http://www.garlic.com/~lynn/2001m.html#22 When did full-screen come to VM/370? http://www.garlic.com/~lynn/2002i.html#20 6600 Console was Re: CDC6600 - just how powerful a machine was http://www.garlic.com/~lynn/2002j.html#22 Computer Terminal Design Over the Years http://www.garlic.com/~lynn/2002o.html#17 PLX http://www.garlic.com/~lynn/2002p.html#29 Vector display systems http://www.garlic.com/~lynn/2003c.html#0 Wanted: Weird Programming Language http://www.garlic.com/~lynn/2003d.html#38 The PDP-1 - games machine? http://www.garlic.com/~lynn/2003f.html#39 1130 Games WAS Re: Any DEC 340 Display System Doco ? -- Anne & Lynn Wheeler | http://www.garlic.com/~lynn/ Internet trivia 20th anv http://www.garlic.com/~lynn/rfcietff.htm ////////////////////////////////////////////////////////////////////////////// Newsgroups: comp.terminals References: <20070507215136.GG3593@interface.famille.thibault.fr> Message-ID: <1340luvjj2uf49d@corp.supernews.com> Date: Tue, 08 May 2007 10:58:39 -0000 From: Thomas Dickey Subject: Re: Getting the cursor coordinates? Samuel Thibault wrote: > > Hi, > > How standard is the CSI 6 n combination for getting the cursor position? > Can we reasonnably expect usual virtual terminals (unix virtual > consoles, xterms, ...) to always have it? It doesn't work with Sun's console emulator. Can't test at the moment, but since I don't see the data for *BSD consoles, the same limitation may apply there as well. -- Thomas E. Dickey http://invisible-island.net/ ftp://invisible-island.net/ ////////////////////////////////////////////////////////////////////////////// Newsgroups: comp.terminals NNTP-Posting-Host: 198.173.15.250 Message-ID: <1178047363.809087.257420@h2g2000hsg.googlegroups.com> Date: Tue, 1 May 2007 12:22:43 -0700 From: dcmdcm@gmail.com Subject: PuTTY DECSED (Selective Erase) (Esc [ ? x J) I've been using PuTTY for a while in various applications. I really like it, so I reached for it again for this latest application. Unfortunately, this app requires being able to selectively erase text on the screen ("Clear Foreground" text). The VTxxx referes to this capability as DECSED ("Esc [ ? x J", where x specifies the area of erasure desired (I'm looking for x=2, the whole screen). (There's another similar facility called DECSEL). I did discover that this facility is implemented in xterm, but I can't use xterm here (sorry, it's on Windows -- not my choice). I have a few alternatives: 1) Change the application to not use this facility. I'd rather not, there's a lot of code in this app [that I "inherited"]. 2) Use a different terminal emulator. I suppose I could, but I'd rather do something else. If someone has a suggestion for one, please let me know. No, I don't want to pay an arm and a log for a commercial emulator that's otherwise not as good as PuTTY. 3) Modify PuTTY to do what I want. This is my preferred course of action. Not only will I benefit, but others will, too. I can change it myself or I can ask someone else to do it. I would change it myself, but I've not been in the PuTTY code and would take me an unknown amount of time to spin up. If someone has a few pointers as to how this capability could be added -- where in the code to start looking -- I'd appreciate it. Another option would be to ask someone else to do it. Yes, I could pay something, but not likely what the labor would be worth. If anyone has any ideas on this, please let me know! HELP! Thanks! Dave Madsen ---dcm dcmdcm@gmail.com ////////////////////////////////////////////////////////////////////////////// Newsgroups: comp.terminals NNTP-Posting-Host: 85-23-32-88-Rajakyla-TR1.suomi.net Message-ID: <87tzf5ncx4.fsf@Astalo.kon.iki.fi> Organization: FINNET customers Date: Sat, 05 Jul 2008 08:00:07 +0300 From: Kalle Olavi Niemitalo Subject: Does terminfo support SGR 9 (crossed-out)? ECMA-48 mentions parameter value 9 for the SGR (SELECT GRAPHIC RENDITION) control function: "crossed-out (characters still legible but marked as to be deleted". How would such a capability be represented in terminfo? I didn't find anything suitable in the terminfo(5) man page from ncurses 5.6+20070908. Is this a rare feature in terminals? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Newsgroups: comp.terminals NNTP-Posting-Host: 9ffd94c3.news.jtan.com References: <87tzf5ncx4.fsf@Astalo.kon.iki.fi> Message-ID: <486f54ef$0$2718$e4f62565@news.jtan.com> Organization: Jtan (jtan.com) Date: 05 Jul 2008 11:03:11 GMT From: Thomas E. Dickey Subject: Re: Does terminfo support SGR 9 (crossed-out)? Kalle Olavi Niemitalo wrote: > > ECMA-48 mentions parameter value 9 for the SGR (SELECT GRAPHIC > RENDITION) control function: "crossed-out (characters still > legible but marked as to be deleted". How would such a > capability be represented in terminfo? I didn't find anything > suitable in the terminfo(5) man page from ncurses 5.6+20070908. > Is this a rare feature in terminals? It might be rare (I've not encountered any terminals that use it). ECMA-48 describes several features that were simply proposals-- not describing features that had been implemented. You could in principle store a smxx and rmxx capability in terminfo using ncurses' extension (tic -x). But curses wouldn't know about the feature, only terminfo would. -- Thomas E. Dickey http://invisible-island.net/ ftp://invisible-island.net/ //////////////////////////////////////////////////////////////////////////////