NetBSD-Users archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: vt100



On Sat, Dec 30, 2017 at 06:38:16PM +0100, Kamil Rytarowski wrote:
> On 30.12.2017 17:41, Thomas Dickey wrote:
> > On Sat, Dec 30, 2017 at 11:39:38AM -0500, Thomas Dickey wrote:
> >> On Sat, Dec 30, 2017 at 03:53:35PM +0100, Kamil Rytarowski wrote:
> >>> How to setup correctly vt100 in a terminal?
> >>>
> >>> I've set exported TERM=vt100, called tset and stty and I keep observing
> >>> artifacts.
> >>>
> >>> I was trying to run http://invisible-island.net/vttest/ and it does not
> >>> work well.
> >>>
> >>> I've tested py-terminator and xterm with the same results.
> >>>
> >>> I'm working around the problems with vt100 with putty right now and this
> >>> program works well.
> >>
> >> hmm - looking at this and followup, there's no information regarding
> >> what exactly is going wrong.
> >>
> >> That (plus the actual version number for vttest and xterm would help).
> >> For py-terminator - no help there.
> > 
> > For "artifacts", it helps to know that you can capture all of the characters
> > sent by a host to the terminal using the "script" program.  If you had
> > sent a bug report, I'd ask for that information, to point to the likely
> > problem.
> > 
> 
> I've uploaded screen shot of xterm and script(1) recording.
> 
> http://netbsd.org/~kamil/vt100/

The typescript shows that the remote host is using 8-bit controls.
None of the VTE-based terminals will work with that, likely never will.

xterm should do this -- you can see that using the menu at the bottom
of vttest:

	Menu 12: Modify test-parameters

but the host likely is not initializing the
terminal to do this -  it could be assuming you did that already.

Ignoring the padding nulls, "unmap"

	https://invisible-island.net/misc_tools/index.html#item:unmap

shows this:
--------------------------------------------------------------------------------
\n4\372\313GZ<1^NoConnected to localhost.\r
\nEscape character is '\^]'.\r
\n@^A\314GZ\260\376^Do
\n\r
\nConnected to the MicroVAX 3900 simulator CON-TELNET device\r
\n
\n^A^G\314GZl\270i\r^A^G\314GZ7\273o\r^E^G\314GZ\264\275^Co
\n\r$ ^A\t\314GZ\330\360^Aid^A\t\314GZm\364^Aod^A\t\314GZ\277\330^Eii^A\t\314GZ\267\354^Eoi^A
\n\314GZ&^\ir^A
\n\314GZh^\or^A
\n\314GZD^]^Ei\r^A
\n\314GZU#^Eo\r^D
\n\314GZ\2520\bo
\n\r
\nDirectory SYS$SYSROOT:[SYSMGR]\r
\n\r
\nACCOUNTNG.DAT;1     CLUE$HISTORY.DATA;1 CLUE$LAST_MYVAX.LIS;1\r
\nLAN$ACP.LOG;5       LAN$ACP.LOG;4       LAN$ACP.LOG;3       LAN$ACP.LOG;2      \r
\nLAN$ACP.LOG;1       OPERATOR.LOG;5      OPERATOR.LOG;4      OPERATOR.LOG;3     \r
\nOPERATOR.LOG;2      OPERATOR.LOG;1      VMSIMAGES.DAT;1     \r
\n\r
\nTotal of 14 files.\r
\n\r
\nDirectory SYS$COMMON:[SYSMGR]\r
\n\r
\nAGEN$NEW_NODE_DEFAULTS.DAT;1            AGEN$NEW_NODE_DEFAULTS.TEMPLATE;1\r
\nAGEN$NEW_SATELLITE_DEFAULTS.DAT;1       AGEN$NEW_SATELLITE_DEFAULTS.TEMPLATE;1\r
\nAGENPARAMS.EXE;1    ALFMAINT.COM;1      AMDS$DRIVER_ACCESS.DAT;1\r
\nAMDS$DRIVER_ACCESS.TEMPLATE;1           AMDS$LOGICALS.COM;1 AMDS$LOGICALS.TEMPLATE;1\r
\nAMDS$SYSTARTUP.TEMPLATE;1               CLUSTER_CONFIG.COM;1\r
\nCLUSTER_CONFIG_LAN.COM;1                CTF$STARTUP.COM;1   DBLSTRTUP.COM;1    \r
\nDCE$RPC_SHUTDOWN.COM;1                  DCE$RPC_STARTUP.COM;1\r
\nDECNET_DNS_REGISTER.COM;1               DECNET_DNS_TOWERS.COM;1\r
\nDECNET_LOC_REGISTER.COM;1               DECNET_REGISTER_DECDNS.CO^D
\n\314GZ\3120\boM;1\r
\nDECW$DEVICE.COM;1   DECW$DEVICE_GE.COM;1                    DECW$DEVICE_GF.COM;1\r
\nDECW$DEVICE_GG.COM;1                    DECW$PRIVATE_SERVER_SETUP.TEMPLATE;1\r
\nDECW$RGB.DAT;1      DECW$STARTSERVER.COM;1                  DECW$STARTXTERMINAL.COM;1\r
\nDNS$CHANGE_DEF_FILE.COM;1               DNS$CLERK_CLUSTER.NCL;1\r
\nDNS$CLIENT_STARTUP.COM;1                DNS$CLIENT_STOP.COM;1\r
\nDNS$CONFIGURE.COM;1 DTSS$CONFIG.COM;1   DTSS$CONFIG_TEMPLATE.DAT;1\r
\nEDTINI.TEMPLATE;1   ICC$ADD_REGISTRY_TABLE.COM;1            ICC$CREATE_SECURITY_OBJECT.COM;1\r
\nLAT$SYSTARTUP.COM;1 LAT$SYSTARTUP.TEMPLATE;1                LIB$DT_STARTUP.COM;1\r
\nLOGIN.COM;1         LOGIN.TEMPLATE;1    LPA11STRT.COM;1     LTLOAD.COM;1       \r
\nMAKEROOT.COM;1      NET$AUTOGEN.COM;1   NET$CONFIGURE.COM;1 NET$DNS_CLERK_STARTUP.NCL;1\r
\nNET$DNS_CLERK_STOP.NCL;1                NET$DTSS_CLERK_STARTUP.NCL;1\r
\nNET$EVENT_LOCAL.TEMPLATE;1              NET$LOGICALS.TEMPLATE;1\r
\nNET$SHUTDOWN.COM;1  NETTRACE_INSTALL.COM;1                  NETTRACE_SECURITY.COM;1\r
\nRTTLOAD.CO^Q^C
\n\314GZ\3400\boM;1       SECURITY.AUDIT$JOURNAL;1                SMISERVER.COM;1    \r
\nSYCONFIG.COM;1      SYCONFIG.TEMPLATE;1 SYLOGICALS.COM;1    SYLOGICALS.TEMPLATE;1\r
\nSYLOGIN.COM;1       SYLOGIN.TEMPLATE;1  SYPAGSWPFILES.COM;1 SYPAGSWPFILES.TEMPLATE;1\r
\nSYSECURITY.COM;1    SYSECURITY.TEMPLATE;1                   SYSHUTDWN.COM;1    \r
\nSYSHUTDWN.TEMPLATE;1                    SYSTARTUP_V5.COM;1  SYSTARTUP_VMS.COM;1\r
\nSYSTARTUP_VMS.TEMPLATE;1                TFF$STARTUP.COM;1   TNT$UTILITY.COM;1  \r
\nUTC$CONFIGURE_TDF.COM;1                 UTC$TIMEZONE_SETUP.COM;1\r
\nUTC$TIME_SETUP.COM;1                    VMS$AUDIT_SERVER.DAT;1\r
\nVMS$IMAGES_MASTER.DAT;1                 VMSIMAGES.DAT;1     WELCOME.TEMPLATE;1 \r
\nWELCOME.TXT;1       \r
\n\r
\nTotal of 85 files.\r
\n\r
\nGrand total of 2 directories, 99 files.\r
\n\r$ ^A^P\314GZ\304^^
\ni!^A^P\314GZb7
\no!^A^Q\314GZ\220\327i ^A^Q\314GZ \342o ^A^S\314GZ<\201^Dib^A^S\314GZ\225\217^Dob^A^S\314GZr^K\bia^A^S\314GZ&^W\boa^A^S\314GZ\204|
\nic^A^S\314GZ%\207
\noc^A^S\314GZgp\fik^A^S\314GZ`\201\fok^A^S\314GZ\215\341^Nis^A^S\314GZe\360^Nos^A^T\314GZE/^Bip^A^T\314GZ]D^Bop^A^T\314GZ^Q\207^Cia^A^T\314GZ&\243^Coa^A^T\314GZ\274\330^Eic^A^T\314GZ^U\353^Eoc^A^T\314GZ8\216^Gie^A^T\314GZ\310\226^Goe^A^T\314GZ\305\306\bi ^A^T\314GZb\317\bo ^A^T\314GZ\261^X^Kii^A^T\314GZr=^Koi^A^T\314GZ8p\fis^A^T\314GZ\273t\fos^A^T\314GZ\250\250\ri ^A^T\314GZ\306\253\ro ^A^U\314GZ\223^Aib^A^U\314GZ+\232^Aob^A^U\314GZ\2320^Gir^A^U\314GZ^Z>^Gor^A^U\314GZG\202\tio^A^U\314GZK\214\too^A^U\314GZ\270\217\fik^A^U\314GZ\344\234\fok^A^U\314GZ\367D^Nie^A^U\314GZ\264L^Noe^A^V\314GZ~\327in^A^V\314GZo\341on^A^V\314GZO\310\ri\r^A^V\314GZ^T\330\ro\r^E^W\314GZ^X\220^Ao
\n\r$ ^A^X\314GZ\216\216^Gia^A^X\314GZ\277\240^Goa^A^X\314GZ\246^R\fib^A^X\314GZ\3063\fob^A^Y\314GZ\236T^Aic^A^Y\314GZ\256U^Aoc^A^Y\314GZ^C\376^Did^A^Y\314GZ\^ ^Eod^A^Y\314GZ\342=
\ni-^A^Y\314GZn\\
\no-^A
\E\314GZ\313\255^Gi1^A
\E\314GZ^\\271^Go1^A
\E\314GZ\315\272
\ni2^A
\E\314GZ\314\314
\no2^A
\E\314GZ\335\250\ri3^A
\E\314GZ\202\261\ro3^A^\\314GZ^^^P^Bi4^A^\\314GZ\313^W^Bo4^A^\\314GZ c\ti\b^A^\\314GZ|i\to\r^C^\\314GZ\227o\fo$ ^A^^\314GZ^S8^Ki\r^A^^\314GZ\274@^Ko\rW^^\314GZ^]H^No
\n\r%DCL-W-IVVERB, unrecognized command verb - check validity and spelling\r
\n \\ABCD\\\r
\n\r$ ^A#\314GZ\317^F^Ni!^A#\314GZ\255#^No!^A$\314GZ\341\352^Bi ^A$\314GZ<\376^Bo ^A%\314GZW\302^Nie^A%\314GZ/\351^Noe^A&\314GZ'\207^Cid^A&\314GZH\240^Cod^A&\314GZ^^\362^Fii^A&\314GZ\360\374^Foi^A&\314GZ6\340\tit^A&\314GZ\223\343\tot^A&\314GZ\225^R\fio^A&\314GZ\220-\foo^A&\314GZ^Y\310\rir^A&\314GZ
\E\333\ror^A'\314GZM\270i ^A'\314GZ\320\273o ^A'\314GZ[#^Dii^A'\314GZ\242>^Doi^A'\314GZW\224^Fis^A'\314GZ\376\256^Fos^A'\314GZ\220*\bi ^A'\314GZ\3564\bo ^A'\314GZ)\332
\nib^A'\314GZ^S\363
\nob^A'\314GZ~d^Nir^A'\314GZ\bt^Nor^A(\314GZ#\207^Cio^A(\314GZ_\234^Coo^A(\314GZ\342\322^Fik^A(\314GZ\226\367^Fok^A(\314GZ\363I\bie^A(\314GZ\320W\boe^A(\314GZ^W]
\nin^A(\314GZ<{
\non^A*\314GZ\343N^Bi\r^A*\314GZ\336j^Bo\r^E*\314GZ\276[^Eo
\n\r$ ^A*\314GZ^P\273
\nie^A*\314GZ\267\315
\noe^A*\314GZ^B\243^Nid^A*\314GZ\336\302^Nod^A+\314GZ\247N^Bii^A+\314GZ\246e^Boi^A+\314GZ\244\255^Git^A+\314GZ2\274^Got^A+\314GZ@\324^Ki ^A+\314GZ\b\334^Ko ^A,\314GZ \243^Ni1^A,\314GZ\272\305^No1^A-\314GZn)^Ci2^A-\314GZ\255-^Co2^A.\314GZ(\331^Ei3^A.\314GZ \361^Eo3^A.\314GZ+c\ti4^A.\314GZfw\to4^A/\314GZi]
\ni\r^A/\314GZ\324\200
\no\r\210/\314GZ\366{\ro
\n
\E\\\2330m\23320l
\E)0^O
\E*<
\E}\233m\2332J\233?3h\233;24r\2334l
\E=\233?6l\233?7l\233?8h\2331;2'z\2331;3'{\23324;H\233J\233K\233;7mEditing new file.  Could not find: SYS$SYSROOT:[SYSMGR]1234.;^A0\314GZE\355^Do\r\3660\314GZ\307\327^Go\233mEditing new file.  Could not find: SYS$SYSROOT:[SYSMGR]1234.;\23321;132H
\E[1J\233;H[End of file]\233K\23322;H\233;7m Buffer: 1234.                                                                                           | Write | Insert | Forward \233m\r
\n\233K\233K\23322A^A4\314GZ3\315^GiH^A4\314GZ^K\345^GoH^X4\314GZv\354
\no\233K\r
\n[End of file]\233K\2331;2H^A4\314GZ~\355\fie^A4\314GZ\227\356\foe^A5\314GZ\244p\fil^A5\314GZ!\200\fol^A6\314GZE\231il^A6\314GZ\274\277ol^A6\314GZ\^\340\tio^A6\314GZ,\344\too^A6\314GZr\355\fi ^A6\314GZ\311\356\fo ^A7\314GZ\311T^Aiw^A7\314GZzy^Aow^A7\314GZ\345\352^Bio^A7\314GZ\245\376^Boo^A7\314GZ\361\336^Dir^A7\314GZ\241\370^Dor^A7\314GZ\276\263^Fil^A7\314GZN\316^Fol^A7\314GZ^Wi\bid^A7\314GZ&}\bod^A7\314GZk\316\fi\r^A7\314GZJ\360\fo\r^W8\314GZ1\271o
\n\233K
\n[End of file]\233K\2332;H^A9\314GZ\347\225^Ki^Z^A9\314GZ^E\333^Ko\233W9\314GZ]\306^No22B2 lines written to file SYS$SYSROOT:[SYSMGR]1234.;1\233K\2332;H
\E>\233?7h\2330'z\233;r\233m\23324;H\r
\n\r
\n$ ^AJ\314GZ^Q\226^Ki!^AJ\314GZ\?\266^Ko!^AK\314GZ\340T^Ai ^AK\314GZ\364U^Ao ^AK\314GZ\232{^Eit^AK\314GZ^]\234^Eot^AK\314GZ\263c\tia^AK\314GZ\215n\toa^AK\314GZ\320j\rik^AK\314GZ\321\214\rok^AL\314GZ\2405^Aii^AL\314GZ\250W^Aoi^AL\314GZ^N\306^Cin^AL\314GZ\264\310^Con^AL\314GZF{^Eig^AL\314GZ^U\235^Eog^AL\314GZ&J\bi ^AL\314GZ\266\^\bo ^AL\314GZ\227\362
\nis^AL\314GZ|\365
\nos^AL\314GZ0&^Nic^AL\314GZq'^Noc^AM\314GZ\352\254^Bir^AM\314GZ\375\263^Bor^AM\314GZh\370^Eie^AM\314GZ\f^N^Foe^AM\314GZ^SJ\bie^AM\314GZ^\W\boe^AM\314GZ\271^^
\nin^AM\314GZ\3270
\non^AM\314GZ\206\363^Ki ^AM\314GZ\333^D\fo ^AM\314GZuj\ris^AM\314GZ\376\212\ros^AM\314GZ4\302^Nih^AM\314GZ^]\303^Noh^AN\314GZ_
\n^Cio^AN\314GZ+)^Coo^AN\314GZ\340B^Dit^AN\314GZEa^Dot^AN\314GZSu^Fi ^AN\314GZ~\203^Fo ^AN\314GZ\270^E\tih^AN\314GZ\257
\E\toh^AN\314GZ^Z2\fie^AN\314GZ\333N\foe^AN\314GZ\307^F^Nir^AN\314GZ\340"^Nor^AN\314GZ??^Oie^AO\314GZ\337^Xoe^AP\314GZ\232\201^Di\r^AP\314GZ\345\210^Do\r^EP\314GZft^Go
\n\r$ ^Ac\314GZ\213\361^Aie^Ac\314GZ\233\362^Aoe^Ac\314GZ\266\246^Cix^Ac\314GZv\306^Cox^Ac\314GZQ\\^Eii^Ac\314GZ\275s^Eoi^Ac\314GZ$\256^Git^Ac\314GZ^R\275^Got^Ad\314GZA\220\fi\b^Ad\314GZ\224\236\fo\r^Ae\314GZ\220^\i\b^Ce\314GZ\247^\o$ ^Ae\314GZ#\314^Bi\b^De\314GZ9\314^Bo\r$ ^De\314GZ\300\304^Eo\r$ ^Ag\314GZ\264\216\bi~^Ag\314GZr\246\bo~^Ag\314GZH^A^Oi.^Ag\314GZ.^O^Oo.^Ah\314GZ\202J\bi\b^Ah\314GZ=Y\bo\r^Ah\314GZp^Y^Ki\b^Ch\314GZ\206^Y^Ko$ ^Dh\314GZn\b^No\r$ ^Al\314GZ\227\353^Bi^]^Bl\314GZ\327\353^Bo\r
\n\bl\314GZ\f\354^Botelnet> ^Am\314GZ\200\331^Eie^Am\314GZ\210\331^Eoe^Am\314GZK+\bix^Am\314GZQ+\box^Am\314GZ\264\332
\nii^Am\314GZ\271\332
\noi^An\314GZ\372\270it^An\314GZ\271ot^An\314GZ\200\323^Fi\r^Bn\314GZ\210\323^Fo\r
\n^Rn\314GZ\247\323^Fo?Invalid command\r
\n\bn\314GZ\253\323^Fotelnet> ^Ao\314GZ\366\232^Eiq^Ao\314GZ\374\232^Eoq^Ao\314GZ)\264^Fiu^Ao\314GZ.\264^Fou^Ao\314GZ\315\340\tii^Ao\314GZ\323\340\toi^Ao\314GZ\376^X^Kit^Ao\314GZ^D^Y^Kot^Ao\314GZ;\212\ri\r^Bo\314GZB\212\ro\r
\n^To\314GZm\212\roConnection closed.\r
\n
\no\314GZ8\214\rochieftec$ ^Aq\314GZ&^R^Gie^Aq\314GZB^R^Goe^Aq\314GZ\b\211\bix^Aq\314GZ"\211\box^Aq\314GZ\236]
\nii^Aq\314GZ\267]
\noi^Aq\314GZP\265^Kit^Aq\314GZg\265^Kot^Aq\314GZ\354\341^Ni\r^Cq\314GZ^T\342^No\r\r
\nq\314GZ
\E*^Oe
--------------------------------------------------------------------------------

All of those backslashed numbers are octal, and include what's known as C1
controls (decimal 128 to 159, or octal 200 to 237).  VT100 didn't do that,
it was a feature of VT220 and up.

233 is the control-sequence initiator (which you may see in the trace
as the 7-bit "\E[" or "\033["):

\E[1J\233;H[End of file]\233K\23322;H\233;7m Buffer: 1234.                                                                                           | Write | Insert | Forward \233m\r

Thinking about it, there's some problem on the host side, since
switching modes between 7-bit and 8-bit (C1) controls should make
_all_ communication switch between the two modes.  (Offhand, I
don't recall if xterm would/should honor 7-bit controls in 8-bit
mode, but suppose it might...).

In xterm's controls-sequences, the two modes are listed here:

	https://invisible-island.net/xterm/ctlseqs/ctlseqs.html#h2-Controls-beginning-with-ESC

Controls beginning with ESC
This excludes controls where ESC  is part of a 7-bit equivalent to 8-bit
C1 controls, ordered by the final character(s).
ESC SP F  7-bit controls (S7C1T).
ESC SP G  8-bit controls (S8C1T).

That is (on Linux)

	printf '\033 F'
	printf '\033 G'

-- 
Thomas E. Dickey <dickey%invisible-island.net@localhost>
https://invisible-island.net
ftp://ftp.invisible-island.net

Attachment: signature.asc
Description: Digital signature



Home | Main Index | Thread Index | Old Index