• Please review our updated Terms and Rules here

Termcaps for VT100

Well from my remote login from my laptop via serial/ip converter I get "vt100" which is what I am using.. On the Altos III terminal I get "altos3". So basically in pconfig when you assign the terminal model based on the port setup that is what it sets that port as. It doesn't really read it from the ".profile" or /etc/profile files.
I think you may be slightly confused about how all the terminal selection stuff works.

Nothing reads a terminal type from .profile or /etc/profile. It's always read from the TERM environment variable. (If you're not clear that an environment variable is part of a process, not in a file, reading that link may help.) That environment can be set by the login process that eventually executes your shell, or by your shell itself sourcing its profile etc. information, or by you at the command line. When you start a program that uses termcap, it will use the value of the TERM environment variable it inherits as the terminal type to look up in termcap.

Note that in the above, nothing about the terminal type is associated with the particular serial port you're using. There may be a default initial value of TERM set by the login program based on the serial port, but nothing else ever reads that; other processes simply read the current value of TERM (or set it, if they wish).

So the real question here is, when you run a program that uses termcap, are you using a value of TERM that matches the actual terminal you're using? You need to get that right first before worrying about termcap entries.
 
Basically I have gotten the main /etc/termcap file working ok. There are absolutely no issues with the Altos3 terminal. It's when I use Hyperterminal with VT100 emulation on my laptop. I was able to fix the backspace and delete keys, as well as arrow keys. My issue is now is that if I scroll through a long text document with the word processor Uniplex I sometimes get characters just appear in the text. So if I scroll a "B" for instance will just appear in the text area.. So I think it has something to do with editing the termcap file and adding a time delay on scrolling. Looking at the instruction document I had posted there is mention of time delay. I know there are others out there that have written many termcaps back in the day and I just wanted to reach out to someone who had a lot of experience with this. The current definition probably could use some tweaking in it.
 
I think you may be slightly confused about how all the terminal selection stuff works.

Nothing reads a terminal type from .profile or /etc/profile. It's always read from the TERM environment variable. (If you're not clear that an environment variable is part of a process, not in a file, reading that link may help.) That environment can be set by the login process that eventually executes your shell, or by your shell itself sourcing its profile etc. information, or by you at the command line. When you start a program that uses termcap, it will use the value of the TERM environment variable it inherits as the terminal type to look up in termcap.

Note that in the above, nothing about the terminal type is associated with the particular serial port you're using. There may be a default initial value of TERM set by the login program based on the serial port, but nothing else ever reads that; other processes simply read the current value of TERM (or set it, if they wish).

So the real question here is, when you run a program that uses termcap, are you using a value of TERM that matches the actual terminal you're using? You need to get that right first before worrying about termcap entries.
Yes please ignore my original posts about the .profile or /etc/profile information. I understand now. The thing I am trying to fix is getting the right parameters correct in the VT100 termcap definition in the termcap file. See my post just before this reply.
 
If I understand it back in the day people sometimes had to modify termcap files to match the keyboard layouts of the terminal that they were using. And there is a lot of parameters that need to be adjusted based on the terminal that you are working on for it to work 100%. The termcap instruction file I posted has all this information. Since this is an old system it is not located in the /usr/share folder.. It's located in the /etc directory with this version of Xenix.
 
Basically I have gotten the main /etc/termcap file working ok. There are absolutely no issues with the Altos3 terminal. It's when I use Hyperterminal with VT100 emulation on my laptop. I was able to fix the backspace and delete keys, as well as arrow keys.
Ok, sounds as if you're on the right track, then. Note that for the backspace vs. delete thing, you should not have to change anything in the termcap definition: as mentioned in previous messages you need to make sure that your stty erase setting is appropriate for the terminal type, and then make sure that Hyperterm is correctly configured to have the "erase last character" and "delete" keys sending the correct values.

The issue there is that the backspace key traditionally sent ASCII BS (^H), and DEL (if it existed on the terminal) sent an ASCII DEL character (^?). DEC decided to change this at some point, and the VT100 "backspace" key (really, the key in the usual backspace position) sent DEL, with the separate delete key sending an escape code. IIRC, anyway.

Regarding the scroll problems on Hyperterm, I would think that shouldn't see any issues with it needing delays as it's plenty fast and will have lots of buffering. But you might try taking the data rate down to, say, 1200 bps and see if you still experience the issue. If you still do, that looks to me like a problem elsewhere in the termcap definition (or, really, the Hyperterm VT-100 emulation).
 
Ok, sounds as if you're on the right track, then. Note that for the backspace vs. delete thing, you should not have to change anything in the termcap definition: as mentioned in previous messages you need to make sure that your stty erase setting is appropriate for the terminal type, and then make sure that Hyperterm is correctly configured to have the "erase last character" and "delete" keys sending the correct values.

The issue there is that the backspace key traditionally sent ASCII BS (^H), and DEL (if it existed on the terminal) sent an ASCII DEL character (^?). DEC decided to change this at some point, and the VT100 "backspace" key (really, the key in the usual backspace position) sent DEL, with the separate delete key sending an escape code. IIRC, anyway.

Regarding the scroll problems on Hyperterm, I would think that shouldn't see any issues with it needing delays as it's plenty fast and will have lots of buffering. But you might try taking the data rate down to, say, 1200 bps and see if you still experience the issue. If you still do, that looks to me like a problem elsewhere in the termcap definition (or, really, the Hyperterm VT-100 emulation).
Understood on the setting of stty erase.. I follow you.

Yes I agree on the baud rate and I thought of that as well... I tried via USB to serial direct and brought it down to 9600 but still the issue. But I will try 1200. I just don't see why it has the issue if a regular terminal connected running at 9600 has no issues when scrolling at all. I'm just trying to match up using my laptop instead of sitting at the crt terminal to make any modifications is a lot easier.
 
I just don't see why it has the issue if a regular terminal connected running at 9600 has no issues when scrolling at all.
Nor do I see any reason for issues involving lack of delay. But it works on a different terminal and terminal definition from the HyperTerminal setup you're using, so my guess would be that HyperTerminal is not doing exactly VT-100. (In fact, it's likely doing ANSI, which does have differences.)

You might also try using a TERM definition for a similar terminal, such as VT-102, changing the terminal emulation that HyperTerminal is using, or just trying a different terminal program such as Tera Term or PuTTY.
 
And there is a lot of parameters that need to be adjusted based on the terminal that you are working on for it to work 100%.
Most of it does not apply to you at all.

In the past, people had to edit termcaps because their terminals had issues which needed special care. Your HyperTerminal is fast, has large buffering, does not need any delays, and does not suffer from weird bugs. Just because people needed to edit termcaps to work around issues does not mean that you need to do the same; you have the luxury of changing your terminal (= HyperTerminal settings).

A true VT-100 terminal has no concept of time, you should never need delays at all (because HyperTerminal is fast). The "vi" editor does not handle ANSI cursor keys well, that's an application issue. Fiddling with the termcaps won't fix it, you just have to use h,j,k,l for cursor movement instead. Uniplex may suffer from the same issue. Nothing you can do except using a different terminal type; there are design issues with VT-100/ANSI style terminals which were never addressed.
 
  • Like
Reactions: cjs
Most of it does not apply to you at all.

In the past, people had to edit termcaps because their terminals had issues which needed special care. Your HyperTerminal is fast, has large buffering, does not need any delays, and does not suffer from weird bugs. Just because people needed to edit termcaps to work around issues does not mean that you need to do the same; you have the luxury of changing your terminal (= HyperTerminal settings).

A true VT-100 terminal has no concept of time, you should never need delays at all (because HyperTerminal is fast). The "vi" editor does not handle ANSI cursor keys well, that's an application issue. Fiddling with the termcaps won't fix it, you just have to use h,j,k,l for cursor movement instead. Uniplex may suffer from the same issue. Nothing you can do except using a different terminal type; there are design issues with VT-100/ANSI style terminals which were never addressed.
To build on this, the VT100 (and most terminal types) emulation in Hyperterminal is not perfect. Back in the day we had to use a different emulator that actually worked correctly to get around these issues. Hyperterminal's idiosyncracies were killing us.
 
Most of it does not apply to you at all.

In the past, people had to edit termcaps because their terminals had issues which needed special care. Your HyperTerminal is fast, has large buffering, does not need any delays, and does not suffer from weird bugs. Just because people needed to edit termcaps to work around issues does not mean that you need to do the same; you have the luxury of changing your terminal (= HyperTerminal settings).

A true VT-100 terminal has no concept of time, you should never need delays at all (because HyperTerminal is fast). The "vi" editor does not handle ANSI cursor keys well, that's an application issue. Fiddling with the termcaps won't fix it, you just have to use h,j,k,l for cursor movement instead. Uniplex may suffer from the same issue. Nothing you can do except using a different terminal type; there are design issues with VT-100/ANSI style terminals which were never addressed.
Understood :)
 
To build on this, the VT100 (and most terminal types) emulation in Hyperterminal is not perfect. Back in the day we had to use a different emulator that actually worked correctly to get around these issues. Hyperterminal's idiosyncracies were killing us.
Gotcha... I did try out Putty and got it working for the most part ok.. The issue with the random characters still pops up.. so maybe it is an issue with the VT100 terminal type. I have tried various terminal types in the past with other issues.. What would be ideal is to maybe dump the ROM from the Altos 3 terminal somehow and build a terminal type based on that ROM? Just thinking outside of the box. I am by no means an expert on these terminal emulators.. As I've mentioned before I have tried a whole bunch of terminal emulator products to find one that works well. The one that worked the best for me was Hyperterminal as it displayed the menu system and other menu's properly. Hyperterminal only contains a few terminal types so it's not very robust. So besides a few glitches here and there the VT100 as I said works the best.. I have tried various Wyse and Televideo types with not the best success... of course I set the port to those terminal types to match.
 
For this Altos server these are my options for terminals already built in Xenix that I can set the port for, Any suggestions on what one I could try out and use and the best emulator to work with it that might enable more compatibility??

Device Type Description

dumb a "dumb" or unknown CRT
regent100 ADDS Regent 100
regent60 ADDS Regent 60
regent ADDS Regent series
viewpoint ADDS Viewpoint
altos2 Altos II
altos3 Altos III
altos4 Altos IV
altos5 Altos V
b-100 Beehive B-100/150
cdc CDC722
cdce CDC722 w/arrow keys
cdc722-10 CDC722-10
cdc752 CDC752
vt100 DEC VT100
vt125 DEC VT125
vt240 DEC VT240
vt52 DEC VT52
vt52h DEC VT52 with highlight
gt-100a General Terminal GT-100A/101
h1500 Hazeltine 1500
h1510 Hazeltine 1510
hesprit Hazeltine Esprit
h19 Heathkit h19
h19A Heathkit h19 ansi mode
adm21 LSI ADM21
adm31 LSI ADM31
adm3a LSI ADM3a
adm42 LSI ADM42
adm5 LSI ADM5
act4 Microterm act iv
tvi912 Old Televideo 912
tvi920 Old Televideo 920
pe-550b Perkin Elmer 550B/1100
soroc120 Soroc 120
tvi910 Televideo 910
tvi910+ Televideo 910+
tvi925 Televideo 925
tvi950 Televideo 950
wyse8 Wyse 85
wyse2 Wyse wy-100 no reverse video
wyse Wyse wy-100 w/reverse video
wyse3 Wyse wy-30
wyse5 Wyse wy-50
wyse7 Wyse wy-75
wyse95 Wyse wyse-95
z-zephyr Zentec Zephyr
 
I've had this server since 1994 or so and I always had Altos 3 terminals... so at that time laptops were not what they are today.. and I never needed a terminal emulator, not really sure how prevalent terminal emulator software even was at that time.. lol But with the age of time regular terminals especially the Altos brand are not easy to come by so I am trying to have an alternate solution that can simulate as close to the real terminal as possible.
 
vt125 DEC VT125
vt240 DEC VT240
The VT125 and VT240 entries are both probably closer to ANSI than VT100: I'd try both of them to see if anything improves.

Wyse terminals were also extremely popular; if you have a program that can emulate one of them, that's probably worth trying.
 
The VT125 and VT240 entries are both probably closer to ANSI than VT100: I'd try both of them to see if anything improves.

Wyse terminals were also extremely popular; if you have a program that can emulate one of them, that's probably worth trying.
Sounds good.. Any recommendations on a good term emulator that works well with those two the VT125 and VT240? I am not good with the emulator programs and I've messed around with a bunch of configurations in Putty and there are so many configurations.. I cannot find the right settings for each category.. With the particular menu system I have it draws lines for boxes around the applications. Most emulators I've tried use letters instead of the lines.. opposed to Hyperterminal.. I'll show you in these photos.. and when I run the Uniplex application in Putty it won't let me use function keys opposed to Hyperterminal.. There are just so many variables I have to configure.. I'm just not that proficient with Putty in that aspect.
 

Attachments

  • VT100.jpg
    VT100.jpg
    166.3 KB · Views: 4
  • puttyvt100.jpg
    puttyvt100.jpg
    146.3 KB · Views: 4
The box drawing characters turning into letters is a character set issue; this is entirely independent of the termcap. It looks above as if HyperTerminal is using the actually VT100 character set, and Putty is just doing ANSI/VT100 controls, but using whatever character set it's using. You can play around with this in the Putty configuration menu under Window / Translation; it has a whole load of setting there, including one related to using VT100 line drawing characters in UTF-8 mode.

There are also various other terminal emulators, old and new, kicking around, but I don't use Windows much so I can't really comment on any of them. Possibly Dave's Telnet is worth checking out, just from the description (it supports VT220, amongst others, which should be about the same as VT240.)
 
The box drawing characters turning into letters is a character set issue; this is entirely independent of the termcap. It looks above as if HyperTerminal is using the actually VT100 character set, and Putty is just doing ANSI/VT100 controls, but using whatever character set it's using. You can play around with this in the Putty configuration menu under Window / Translation; it has a whole load of setting there, including one related to using VT100 line drawing characters in UTF-8 mode.

There are also various other terminal emulators, old and new, kicking around, but I don't use Windows much so I can't really comment on any of them. Possibly Dave's Telnet is worth checking out, just from the description (it supports VT220, amongst others, which should be about the same as VT240.)
Thank you for your help... Ok I am trying Emtec Zoc8 now.. But I have this same issue with Putty.. I have a feeling it has something to do with CR or LF stuff... again I am not proficient at these emulator programs... It doubles the login text and doubles the hash sign.. Any idea what category area that is located in??? Picture is worth a thousand words so I attached it :)
 

Attachments

  • ZOC.jpg
    ZOC.jpg
    104.5 KB · Views: 5
I've had to have tried about 20 emulators... I have to say Hyperterminal in VT100 mode seems to work the best.. I've tried also using different terminal setup's.. such as VT125, VT240, and Wyse 50.... I have tried this a while back before and tried in all different ways to get a decent emulation with as much functionality as possible. Besides today I have spent hours and hours trying to get a different terminal type to work properly. I have to really honestly say as basic as Hyperterminal is, it really works well for this server I am using it on, and with the applications I am using.

This is the glitch I am really trying to get rid of. If I am in a document within the Uniplex word processor program and I use arrow down to scroll down as I said sometimes miscellaneous characters appear (See photo). I'm just thinking maybe there is a configuration somewhere where I could add a delay to the arrow down and up keys.. I just recall seeing in the termcaps a section about the delay factor in milliseconds or something to that nature that perhaps would tweak this. I just have this hunch it is possible through the termcap file. Remember this is an old setup and similar to linux and Unix today.. so it's a bit different. Here is an example while scrolling down it threw in a few characters on the left side of the screen. You can see the "{0c" it threw in there. It can be any characters.. It's when I am toggling down with the arrow keys to move within the document. Even if I press the carriage return button I have the same results..
 

Attachments

  • arrowdown.jpg
    arrowdown.jpg
    57.4 KB · Views: 4
  • characters.jpg
    characters.jpg
    74.2 KB · Views: 4
Just thought I would add these are the settings on the local Altos III Terminal:

Display = Norm
Wrap = On
Scroll = Jump
Cursor = Blink Blk
Attribute = Reverse
Databit = 8
Stop Bit = 1
Parity = Off
Handshake = DTR
Newline = CR
Transmission Mode = FDX
Terminal Mode = ANSI
Columns = 80
 
Ok so after all that.... Uniplex apparently has it's own terminal definition file "termcap" in it's own directory.. /usr/UII So I updated my working VT100 termcap to match in that termcap file. It seems like in these old systems many applications have their own termcap files. I added a definition in the main termcap file for a VT220 and when I launched Uniplex it crashed because it could not find a VT220.. that's because it wasn't in it's own termcap file... craziness... let's see if I can get this thing working properly..
 
Back
Top