Article 115343 of comp.os.vms: Path: cs.utk.edu!nntp.memphis.edu!nntp.msstate.edu!gatech!swrinde!ihnp4.ucsd.edu!mvb.saic.com!info-vax Newsgroups: comp.os.vms Subject: Re: Question: VT-100 and ANSI escape se Message-ID: <95053013402750@topdog.mis.semi.harris.com> From: TMAROSITES "smtp%"tmarosites@topdog.mis.semi.harris.com"" Date: Tue, 30 May 1995 13:40:27 -0400 Organization: Info-Vax<==>Comp.Os.Vms Gateway X-Gateway-Source-Info: Mailing List Lines: 210 chrisr@aurigor.com (Chris Riordon) writes: > >As the title suggests, I'm looking for any information on VT-100 >(and VT-52) escape sequences for terminal control. I have a >brief outline of the ANSI standard (which I recall differs... >though by how much I don't remember). > >Any pointers to references (preferably via net) but otherwise in >books would be helpful. Ideally I'm looking for a table that >simply lists the sequences for the VT-100 (as well as '52 and >ANSI if possible). I've talked to DEC but haven't been able to >get anything from them. > >Emailing would probably make more sense since I doubt that this >request will generate any "me-toos" :) > >Thanks very much, >Chris (wishing he hadn't finally thrown out his DEC VT-100 >manual last year) Riordon. > --------------------------------------------------------- My 2 Cents, Make of it what you want. Terry . . These control sequences are as used in the Epson MX-80 dot-matrix printer and its successors. Some DEC printers, such as the LA210, can be set to a mode to respond to Epson printer codes. U0 SET BIDIRECTIONAL PRINTING U1 SET UNIDIRECTIONAL PRINTING (LEFT TO RIGHT ONLY) F DISABLE BOLD E ENABLE BOLD F SET LOW RESOLUTION E SET HIGH RESOULTION _1 SET UNDERLINE _0 RESET UNDERLINE S1 ENABLE SUBSCRIPT T RESET SCRIPT AND DIRECTIOAL PRINTING 6 SELECT CHARACTER SET 2 7 SELECT CHARACTER SET 1 8 DISABLE PAPER OUT ( DOESN'T STOP PRINTING WHEN OUT OF PAPER) 9 DISABLE PAPER OUT ( DOES STOP PRINTING WHEN OUT OF PAPER) < CHARAGE RETURN W1 SET DOUBLE WIDTH CHARACTERS W0 SET SINGLE WIDTH CHARACTERS =========================================================================== =========================================================================== =========================================================================== $! COMMAND FILE TO TEST TERMINAL SETTINGS $! $ SET NOVERIFY $ CLEAR :=="[H[2J" $ LF :==" " $ LF9 :==" " $ ULINE :=="[4m" $ BOLD :=="[1m" $ RESET :=="[0m" $ REVERSE :=="[7m" $ BLINK :=="[5m" $ WIDE :=="#6" $ DTOP :=="#3" $ DBOT :=="#4" $ BELL :=="" $ BELL2 :=="" $ BELL3 :=="" $ BEEP :=="" $ BEEP2 :=="" $ BEEP3 :=="" $! $! $WS:=="WRITE SYS$OUTPUT" $! $! $! EXIT $WS CLEAR+"TOP OF SCREEN" $WS LF9+LF9+LF4+"BOTTOM OF SCREEN" $WS BOLD+"BOLDLINE?"+PLAIN+LF $WS BLINK+"BLINKLINE?"+PLAIN+LF $WS ULINE+"UNDERLINE?"+PLAIN+LF $WS REVERSE+"REVERSELINE?"+PLAIN+LF $WS WIDE+"WIDELINE?" $WS DTOP+"DOUBLELINE?" $WS DBOT+"DOUBLELINE?" $WS "TEST TEST TEST" $! ERASING THE SCREEN --------------------------------------------------------- $! CLEARS ALL OF THE SCREEN $ CLR == "[2J" $ ED2 == "[2J" $! ERASE THE SCREEN FROM THE CURSOR THROUGH THE END OF THE DISPLAY $ ED0 == "[0J" $! ERASE THE SCREEN FROM THE BEGINNING OF THE DISPLAY THROUGH THE CURSOR $ ED1 == "[1J" $! $! ERASING THE LINE ---------------------------------------------------------- $! CLEARS ALL OF THE LINE THE CURSOR IS ON $ EL2 == "[2K" $! CLEARS THE LINE FROM THE CURSOR THROUGH THE END OF THE LINE $ EL0 == "[0J" $! CLEARS THE LINE FROM THE BEGINNING OF THE LINE THROUGH THE CURSOR $ EL1 == "[1J" $! $! $! DELETING CHARACTERS TO THE RIGHT ----------------------------------------- $! These control functions deletes 1 or many characters , from $! the cursor position to the right. $ DCH1 == "[1P" $ DCH2 == "[2P" $ DCH5 == "[5P" $ DCH10 == "[10P" $ DCH20 == "[20P" $! $! DELETING LINES STARTING AT THE LINE THE CURSOR IS ON AND ---------------- $! SCROLLING THE PAGE UP. $ DL == "[1M" $ DL1 == "[1M" $ DL2 == "[2M" $ DL5 == "[5M" $ DL10 == "[10M" $ DL15 == "[15M" $ DL18 == "[18M" $! $! INSERTING CHARACTERS (vt300 mode only)---------------------------------- $ ICH1 == "[1@" $ ICH2 == "[2@" $ ICH5 == "[5@" $ ICH10 == "[10@" $ ICH20 == "[20@" $ ICH40 == "[40@" $! $! ERASES 1 OR MORE CHARACTERS TO THE RIGHT (vt300 mode only)---------------------------------- $ ICH1 == "[1X" $ ICH2 == "[2X" $ ICH5 == "[5X" $ ICH10 == "[10X" $ ICH20 == "[20X" $ ICH40 == "[40X" $! $! PROGRAM UTL012_HSS.COM $ CR := "" $ VT := " " $ ESC := "" $ CSI := "[" $ CENTS := """ $ POWER2 := "2" $ SQUARED := "2" $ POWER3 := "3" $ CUBED := "3" $ PLUS_MINUS := "1" $! $PRINTER_ATTRIBUTES: $!=========================================================================== $! $! THIS is FOR THE LA210 PRINTER $! $! SET BIDIRCTIONAL PRINTING $ SET_BI := "U0" $ SET_NO_BI := "U1" $! $ P_BOLD := "E" $ P_NO_BOLD := "F" $! $ LO_RES := "F" SET LOW RESOLUTION $ HI_RES := "E" SET HIGH RESOULTION $ P_UNDER := "_1" SET UNDERLINE $ P_UNDER_OFF := "_0" RESET UNDERLINE $ P_SUB_SCRIPT := "S1" ENABLE SUBSCRIPT $! $! RESET SCRIPT AND DIRECTIOAL PRINTING $ RESET_S_D := "T" $! $! SELECT CHARACTER SET 1 OR 2 $ SEL_CHAR_1 := "7" $ SEL_CHAR_2 := "6" $! $! DISABLE PAPER OUT #1 ( DOESN'T STOP PRINTING WHEN OUT OF PAPER) $ DPO1 := "8" $! $!DISABLE PAPER OUT #2 = ( DOES STOP PRINTING WHEN OUT OF PAPER) $ DPO2 := "9" $! $! CHARAGE RETURN $ P_CR := "<" $! $! SET DOUBLE WIDTH CHARACTERS $ PDW := "W1" $! $! SET SINGLE WIDTH CHARACTERS $ PSW := "W0" $! $ PRINTER_ON := "[5i" $ PRINTER_off := "[4i" $ AUTO_PRINT_ON := "[?5i" $ AUTO_PRINT_off := "[?4i" $ PRINT_screen := "[i" $ PRINT_cursor_line := "[?1i" $!===========================================================================