Rterm for RSTS is pretty simplistic. It works essentially like telnet local echo line mode normally, but it detects a couple of state changes on the controlled terminal: if echo is disabled, the local echo is likewise disabled. And if the terminal driver goes into any kind of mode where line mode no longer works right -- ODT, binary mode, TECO mode, etc. -- it switches to no echo character at a time mode. So, for example, TECO works, but you can tell that it all of a sudden got slower.
Hmm. At least better than cterm... :-)
But how does it deal with things like XON/XOFF, ^O and stuff? Is that left to the client side to do however it want, so it don't neccesarily work the same as a local terminal to the RSTS/E system?
If I remember right, the answer is: on the sending host when in line mode, on the RSTS system when in character mode. Character mode essentially puts the local end in binary mode.
paul
On 2011-09-02 03.01, Paul_Koning at Dell.com wrote:
Yes, the goal of Cterm was to be very clever, which is why it looks like an abstraction of the VMS terminal QIO facilities. Or, I think, the union of those and the TOPS-20 terminal I/O facilities. And in spite of that extreme complexity it is really only good for those; it is such a bad fit for, say, RSTS, that the attempt was never made. (It's also a very big protocol, but the bad fit was at least 50% of the reason.)
In a way, it is surprising that DEC did cterm this way. After all, it is almost impossible to get things right in every detail for every situation. And cterm rather sucks on RSX as well. It would have been so much nicer to have kept the protocol stupid and allow the host OS to do whatever needed to get things right from its point of view, since only the OS knows the right behavior anyway, and it can change. Also, if cterm would have been stupid, it could have been hooked into the existing terminal drivers, instead of having its own implementation of a driver which tries to mimic all that the normal terminal driver do (atleast on RSX).
But I guess DEC thought they wanted to minimize network traffic and avoid latency issues... Oh well.
Rterm for RSTS is pretty simplistic. It works essentially like telnet local echo line mode normally, but it detects a couple of state changes on the controlled terminal: if echo is disabled, the local echo is likewise disabled. And if the terminal driver goes into any kind of mode where line mode no longer works right -- ODT, binary mode, TECO mode, etc. -- it switches to no echo character at a time mode. So, for example, TECO works, but you can tell that it all of a sudden got slower.
Hmm. At least better than cterm... :-)
But how does it deal with things like XON/XOFF, ^O and stuff? Is that left to the client side to do however it want, so it don't neccesarily work the same as a local terminal to the RSTS/E system?
Johnny
paul
-----Original Message-----
From: owner-hecnet at Update.UU.SE [mailto:owner-hecnet at Update.UU.SE] On Behalf Of Johnny Billquist
Sent: Thursday, September 01, 2011 7:51 PM
To: hecnet at Update.UU.SE
Subject: Re: [HECnet] DECnet performance problems (on TOPS-10)
On 2011-09-01 17:25, Bob Armstrong wrote:
TOPS-10 and RSTS (and RT-11) echo the keystrokes as they occur, while
RSX and VMS echo when the read occurs.
Ah, I never thought about it before, but that's very profound and
clearly true. And easily demonstrated too - do some command on VMS
that takes a minute to execute, and then type ahead. You won't see
anything echoed. On
TOPS10 in the same circumstance, you will. I don't remember offhand
how
TOPS20 behaved (it's been too many years ago).
A short experiment on TOPS-20 suggest that it only echoes once the character is actually read, which also would make sense since things would become rather weird and fouled up with completion, character recognition and so on in TOPS-20 if echo didn't take place at the right place and time. What a character actually will do depends on the context in TOPS-20.
But it was a simple test, and I might just have failed to cause enough of a delay...
And the same is somewhat true in RSX and VMS as well (well, it's actually true in any OS, but most don't take it into consideration).
As Paul also mentioned, the echoing of a newline is different in RSX than RSTS/E. Technically, this is not related to input at all, but only output. Whenever a CR+LF is output in RSX, the LF is surpressed until the next character is written, and only output when something else needs to be printed. The same is actually also true in VMS. However, this behavior is depending on you using the terminal drivers own newline processing function. If you just output the CF and LF characters in your text stream, the LF will not be surpressed.
Another point is the character-at-a-time mode. I don't know exactly how rterm (or whatever) does this, but it's not really comparably to telnet.
There is no "raw" mode in telnet (I only finished implementing my telnet client for RSX last week, so right now all the details are very fresh in my head :-) ).
However, it is probably fair to say that TOPS-20 in general reads each single character, and not a line at a time. So any terminal protocol needs to do the same for things to work right. In telnet, the most relevant part here is the echoing function, where you, for interactive sessions, normally have remote echo turned on. With local echo, you normally do a line at a time in telnet, but there is really no difference between doing line at a time and character at a time from the telnet protocol point of view. However, interactive users would not be impressed if you have remote echo, and only send the characters when you have entered a whole line (obviously).
If you want to do the same as TOPS-20 in Unix, however, you will turn on "raw" mode in Unix. :-)
Speaking of rterm by the way, I don't know much about it (obviously), but either it got to be a very clever protocol, or else it works the same as telnet with remote echo. If it's clever, then it needs not only be able to handle if you want to input without echoing, but also if you want binary reads (no terminators), special terminators, special keys meaning special functions, and god knows what else.
I think CTERM atleast tries to be clever here, which is why it is such a mess. Notice how VMS line editing partially works when doing SET HOST to a non-VMS system. Ugh!
Johnny
Yes, the goal of Cterm was to be very clever, which is why it looks like an abstraction of the VMS terminal QIO facilities. Or, I think, the union of those and the TOPS-20 terminal I/O facilities. And in spite of that extreme complexity it is really only good for those; it is such a bad fit for, say, RSTS, that the attempt was never made. (It's also a very big protocol, but the bad fit was at least 50% of the reason.)
Rterm for RSTS is pretty simplistic. It works essentially like telnet local echo line mode normally, but it detects a couple of state changes on the controlled terminal: if echo is disabled, the local echo is likewise disabled. And if the terminal driver goes into any kind of mode where line mode no longer works right -- ODT, binary mode, TECO mode, etc. -- it switches to no echo character at a time mode. So, for example, TECO works, but you can tell that it all of a sudden got slower.
paul
-----Original Message-----
From: owner-hecnet at Update.UU.SE [mailto:owner-hecnet at Update.UU.SE] On Behalf Of Johnny Billquist
Sent: Thursday, September 01, 2011 7:51 PM
To: hecnet at Update.UU.SE
Subject: Re: [HECnet] DECnet performance problems (on TOPS-10)
On 2011-09-01 17:25, Bob Armstrong wrote:
TOPS-10 and RSTS (and RT-11) echo the keystrokes as they occur, while
RSX and VMS echo when the read occurs.
Ah, I never thought about it before, but that's very profound and
clearly true. And easily demonstrated too - do some command on VMS
that takes a minute to execute, and then type ahead. You won't see
anything echoed. On
TOPS10 in the same circumstance, you will. I don't remember offhand
how
TOPS20 behaved (it's been too many years ago).
A short experiment on TOPS-20 suggest that it only echoes once the character is actually read, which also would make sense since things would become rather weird and fouled up with completion, character recognition and so on in TOPS-20 if echo didn't take place at the right place and time. What a character actually will do depends on the context in TOPS-20.
But it was a simple test, and I might just have failed to cause enough of a delay...
And the same is somewhat true in RSX and VMS as well (well, it's actually true in any OS, but most don't take it into consideration).
As Paul also mentioned, the echoing of a newline is different in RSX than RSTS/E. Technically, this is not related to input at all, but only output. Whenever a CR+LF is output in RSX, the LF is surpressed until the next character is written, and only output when something else needs to be printed. The same is actually also true in VMS. However, this behavior is depending on you using the terminal drivers own newline processing function. If you just output the CF and LF characters in your text stream, the LF will not be surpressed.
Another point is the character-at-a-time mode. I don't know exactly how rterm (or whatever) does this, but it's not really comparably to telnet.
There is no "raw" mode in telnet (I only finished implementing my telnet client for RSX last week, so right now all the details are very fresh in my head :-) ).
However, it is probably fair to say that TOPS-20 in general reads each single character, and not a line at a time. So any terminal protocol needs to do the same for things to work right. In telnet, the most relevant part here is the echoing function, where you, for interactive sessions, normally have remote echo turned on. With local echo, you normally do a line at a time in telnet, but there is really no difference between doing line at a time and character at a time from the telnet protocol point of view. However, interactive users would not be impressed if you have remote echo, and only send the characters when you have entered a whole line (obviously).
If you want to do the same as TOPS-20 in Unix, however, you will turn on "raw" mode in Unix. :-)
Speaking of rterm by the way, I don't know much about it (obviously), but either it got to be a very clever protocol, or else it works the same as telnet with remote echo. If it's clever, then it needs not only be able to handle if you want to input without echoing, but also if you want binary reads (no terminators), special terminators, special keys meaning special functions, and god knows what else.
I think CTERM atleast tries to be clever here, which is why it is such a mess. Notice how VMS line editing partially works when doing SET HOST to a non-VMS system. Ugh!
Johnny
--
Johnny Billquist || "I'm on a bus
|| on a psychedelic trip
email: bqt at softjar.se || Reading murder books
pdp is alive! || tryin' to stay hip" - B. Idol
On 2011-09-01 17:25, Bob Armstrong wrote:
TOPS-10 and RSTS (and RT-11) echo the keystrokes as they occur,
while RSX and VMS echo when the read occurs.
Ah, I never thought about it before, but that's very profound and clearly
true. And easily demonstrated too - do some command on VMS that takes a
minute to execute, and then type ahead. You won't see anything echoed. On
TOPS10 in the same circumstance, you will. I don't remember offhand how
TOPS20 behaved (it's been too many years ago).
A short experiment on TOPS-20 suggest that it only echoes once the character is actually read, which also would make sense since things would become rather weird and fouled up with completion, character recognition and so on in TOPS-20 if echo didn't take place at the right place and time. What a character actually will do depends on the context in TOPS-20.
But it was a simple test, and I might just have failed to cause enough of a delay...
And the same is somewhat true in RSX and VMS as well (well, it's actually true in any OS, but most don't take it into consideration).
As Paul also mentioned, the echoing of a newline is different in RSX than RSTS/E. Technically, this is not related to input at all, but only output. Whenever a CR+LF is output in RSX, the LF is surpressed until the next character is written, and only output when something else needs to be printed. The same is actually also true in VMS. However, this behavior is depending on you using the terminal drivers own newline processing function. If you just output the CF and LF characters in your text stream, the LF will not be surpressed.
Another point is the character-at-a-time mode. I don't know exactly how rterm (or whatever) does this, but it's not really comparably to telnet. There is no "raw" mode in telnet (I only finished implementing my telnet client for RSX last week, so right now all the details are very fresh in my head :-) ).
However, it is probably fair to say that TOPS-20 in general reads each single character, and not a line at a time. So any terminal protocol needs to do the same for things to work right. In telnet, the most relevant part here is the echoing function, where you, for interactive sessions, normally have remote echo turned on. With local echo, you normally do a line at a time in telnet, but there is really no difference between doing line at a time and character at a time from the telnet protocol point of view. However, interactive users would not be impressed if you have remote echo, and only send the characters when you have entered a whole line (obviously).
If you want to do the same as TOPS-20 in Unix, however, you will turn on "raw" mode in Unix. :-)
Speaking of rterm by the way, I don't know much about it (obviously), but either it got to be a very clever protocol, or else it works the same as telnet with remote echo. If it's clever, then it needs not only be able to handle if you want to input without echoing, but also if you want binary reads (no terminators), special terminators, special keys meaning special functions, and god knows what else.
I think CTERM atleast tries to be clever here, which is why it is such a mess. Notice how VMS line editing partially works when doing SET HOST to a non-VMS system. Ugh!
Johnny
--
Johnny Billquist || "I'm on a bus
|| on a psychedelic trip
email: bqt at softjar.se || Reading murder books
pdp is alive! || tryin' to stay hip" - B. Idol
TOPS-10 and RSTS (and RT-11) echo the keystrokes as they occur,
while RSX and VMS echo when the read occurs.
Ah, I never thought about it before, but that's very profound and clearly
true. And easily demonstrated too - do some command on VMS that takes a
minute to execute, and then type ahead. You won't see anything echoed. On
TOPS10 in the same circumstance, you will. I don't remember offhand how
TOPS20 behaved (it's been too many years ago).
Bob
TOPS-10 and RSTS (and RT-11) echo the keystrokes as they occur, while RSX and VMS echo when the read occurs. Also, RSX, if I remember right, echoes <ret> as carriage return, and the line feed occurs at the start of the next input, while RSTS echoes <ret> as CRLF.
I think TOPS-20 is like TOPS-10/RSTS, but it's handled differently in Rterm. The reason is that TOPS-20 does a lot with command completion, so its Rterm mode is essentially single character mode (what Telnet would call "raw"). RSTS/TOPS-10 mode gathers a whole line locally then sends that over (unless you're in a screen editor or other application that turns on character at a time mode -- which RSTS calls "ODT mode" because of the debugger that uses it).
paul
-----Original Message-----
From: owner-hecnet at Update.UU.SE [mailto:owner-hecnet at Update.UU.SE] On Behalf Of Bob Armstrong
Sent: Thursday, September 01, 2011 11:03 AM
To: hecnet at Update.UU.SE
Subject: RE: [HECnet] DECnet performance problems (on TOPS-10)
but echoes TOPS-10 style (which is also RSTS style) not VMS/RSX style.
Ok, I'll bite - what's the difference in echo style between TOPS10/RSTS and VMS/RSX? And which category does TOPS20 belong to?
Bob
but echoes TOPS-10 style (which is also RSTS style) not VMS/RSX style.
Ok, I'll bite - what's the difference in echo style between TOPS10/RSTS
and VMS/RSX? And which category does TOPS20 belong to?
Bob
And just fyi: in RSX, you have different programs for connecting to different systems, when using "rterm".
RMT.TSK is for connecting to RSX systems.
RVT.TSK is for connecting to VMS.
RRS.TSK is for connecting to RSTS/E.
HOST.TSK is for connecting to TOPS-20.
Johnny
On 2011-09-01 12.47, Paul_Koning at Dell.com wrote:
The pre-cterm remote terminal protocol is not actually a single protocol, but rather a set of protocols specific to the destination OS. That's why it works well: instead of trying to fit the OS native terminal behavior into a VMS-centric model as is done in Cterm, the rterm protocols simply express a terminal behavior that matches what the OS wants. The reason Cterm is so bad for TOPS-10 is that there is really nothing that matches -- just for starters, TOPS-10 echoes differently.
The reason you may see failure for one destination OS type and not others is that you're going through completely different code, because you have a different rterm flavor. There are four flavors (according to the RSTS code I have that implements them): VMS, RSX, RSTS, and TOPS-20. If I remember right, TOPS-10 uses the RSTS flavor, and RT-11 perhaps does as well. The RSTS flavor is line oriented (as is Cterm) but echoes TOPS-10 style (which is also RSTS style) not VMS/RSX style. The VMS and RSX ones are somewhat like Cterm except that they more closely copy the actual set of I/O operations implemented in the terminal drivers of those two.
You can find implementations of several of these in DECnet/Linux -- if you're having trouble with the standard one on VMS, you might be able to lift the Linux one and port it to VMS...
paul
-----Original Message-----
From: owner-hecnet at Update.UU.SE [mailto:owner-hecnet at Update.UU.SE] On Behalf Of gerry77 at mail.com
Sent: Wednesday, August 31, 2011 10:13 PM
To: hecnet at Update.UU.SE
Subject: Re: [HECnet] DECnet performance problems (on TOPS-10)
On Wed, 31 Aug 2011 15:18:25 +0200, you wrote:
SET HOST from a VMS system implies you use CTERM. CTERM is a horrible
protocol, and only really works fine between VMS systems. Using it to
connect to anything else usually means you can expect all kind of
behavior and performance problems.
It might be something else, but I would suspect CTERM as such first
and foremost.
I think you are quite right: I've just tried a connection using the old RTERM protocol (SET HOST/APP=R) and it works very fine! :-O I'll try anyway to fiddle with a couple of emulator parameters, but...
BTW, since here there are many people that run things like RSX and such, I'll take advantage of this message to ask: did you ever had problems using RTERM? I ask this because I've noticed that SET HOST/APP=R on OpenVMS Alpha
V8.3 bombs with an ACCVIO whenever I try to connect to RSTS or TOPS-10, but not when I use it with VAX/VMS V4.7 (or OpenVMS V7.2 VAX, for that matter).
In other words, I have not so much different versions to try with, but it seems that RTPAD.EXE does not like very old RTERM implementations like ones found in OSes different from VMS, no matter how much vintage it can be.
The system showing this problem is not mine, but at a quick check it appears to have every possible patch kit installed.
This is the relevant image data:
image name: "RTPAD"
image file identification: "X-10"
image file build identification: "XBC4-0080060000"
link date/time: 29-JUN-2006 18:18:54.69
linker identification: "A13-03"
And this is the error:
%SYSTEM-F-ACCVIO, access violation, reason mask=00, virtual address=0000517000008AA4, PC=0000517000008AA4, PS=0000001B
Improperly handled condition, image exit forced.
Signal arguments: Number = 0000000000000005
Name = 000000000000000C
0000000000010000
0000517000008AA4
0000517000008AA4
000000000000001B
Register dump:
R0 = 0000000000000003 R1 = 0000000000008F50 R2 = 0000000000008134
R3 = 0000000000034804 R4 = 000000007FFCF814 R5 = 0000000000009AEF
R6 = 0000000000000000 R7 = 0000000000000001 R8 = 000000000003481B
R9 = 000000007FF9DDF0 R10 = 000000007FFA4F28 R11 = 000000007FFCDC18
R12 = 000000007FFCDA98 R13 = 0000000000005170 R14 = 0000000000008E28
R15 = 0000000000008E28 R16 = 0000000002A83089 R17 = 0000000000200000
R18 = FFFFFFFF80903360 R19 = FFFFFFFF820EFA56 R20 = 0000000000000002
R21 = 0000000000000000 R22 = 000000007AD69A54 R23 = FFFFFFFF801877D0
R24 = 0000000000000001 R25 = 0000000000000003 R26 = FFFFFFFF8018780C
R27 = 000000007AD69A54 R28 = 0000000000000006 R29 = 000000007AD69A60
SP = 000000007AD69A30 PC = 0000517000008AA4 PS = 300000000000001B
Any info about it?
Thanks,
G.
The pre-cterm remote terminal protocol is not actually a single protocol, but rather a set of protocols specific to the destination OS. That's why it works well: instead of trying to fit the OS native terminal behavior into a VMS-centric model as is done in Cterm, the rterm protocols simply express a terminal behavior that matches what the OS wants. The reason Cterm is so bad for TOPS-10 is that there is really nothing that matches -- just for starters, TOPS-10 echoes differently.
The reason you may see failure for one destination OS type and not others is that you're going through completely different code, because you have a different rterm flavor. There are four flavors (according to the RSTS code I have that implements them): VMS, RSX, RSTS, and TOPS-20. If I remember right, TOPS-10 uses the RSTS flavor, and RT-11 perhaps does as well. The RSTS flavor is line oriented (as is Cterm) but echoes TOPS-10 style (which is also RSTS style) not VMS/RSX style. The VMS and RSX ones are somewhat like Cterm except that they more closely copy the actual set of I/O operations implemented in the terminal drivers of those two.
You can find implementations of several of these in DECnet/Linux -- if you're having trouble with the standard one on VMS, you might be able to lift the Linux one and port it to VMS...
paul
-----Original Message-----
From: owner-hecnet at Update.UU.SE [mailto:owner-hecnet at Update.UU.SE] On Behalf Of gerry77 at mail.com
Sent: Wednesday, August 31, 2011 10:13 PM
To: hecnet at Update.UU.SE
Subject: Re: [HECnet] DECnet performance problems (on TOPS-10)
On Wed, 31 Aug 2011 15:18:25 +0200, you wrote:
SET HOST from a VMS system implies you use CTERM. CTERM is a horrible
protocol, and only really works fine between VMS systems. Using it to
connect to anything else usually means you can expect all kind of
behavior and performance problems.
It might be something else, but I would suspect CTERM as such first
and foremost.
I think you are quite right: I've just tried a connection using the old RTERM protocol (SET HOST/APP=R) and it works very fine! :-O I'll try anyway to fiddle with a couple of emulator parameters, but...
BTW, since here there are many people that run things like RSX and such, I'll take advantage of this message to ask: did you ever had problems using RTERM? I ask this because I've noticed that SET HOST/APP=R on OpenVMS Alpha
V8.3 bombs with an ACCVIO whenever I try to connect to RSTS or TOPS-10, but not when I use it with VAX/VMS V4.7 (or OpenVMS V7.2 VAX, for that matter).
In other words, I have not so much different versions to try with, but it seems that RTPAD.EXE does not like very old RTERM implementations like ones found in OSes different from VMS, no matter how much vintage it can be.
The system showing this problem is not mine, but at a quick check it appears to have every possible patch kit installed.
This is the relevant image data:
image name: "RTPAD"
image file identification: "X-10"
image file build identification: "XBC4-0080060000"
link date/time: 29-JUN-2006 18:18:54.69
linker identification: "A13-03"
And this is the error:
%SYSTEM-F-ACCVIO, access violation, reason mask=00, virtual address=0000517000008AA4, PC=0000517000008AA4, PS=0000001B
Improperly handled condition, image exit forced.
Signal arguments: Number = 0000000000000005
Name = 000000000000000C
0000000000010000
0000517000008AA4
0000517000008AA4
000000000000001B
Register dump:
R0 = 0000000000000003 R1 = 0000000000008F50 R2 = 0000000000008134
R3 = 0000000000034804 R4 = 000000007FFCF814 R5 = 0000000000009AEF
R6 = 0000000000000000 R7 = 0000000000000001 R8 = 000000000003481B
R9 = 000000007FF9DDF0 R10 = 000000007FFA4F28 R11 = 000000007FFCDC18
R12 = 000000007FFCDA98 R13 = 0000000000005170 R14 = 0000000000008E28
R15 = 0000000000008E28 R16 = 0000000002A83089 R17 = 0000000000200000
R18 = FFFFFFFF80903360 R19 = FFFFFFFF820EFA56 R20 = 0000000000000002
R21 = 0000000000000000 R22 = 000000007AD69A54 R23 = FFFFFFFF801877D0
R24 = 0000000000000001 R25 = 0000000000000003 R26 = FFFFFFFF8018780C
R27 = 000000007AD69A54 R28 = 0000000000000006 R29 = 000000007AD69A60
SP = 000000007AD69A30 PC = 0000517000008AA4 PS = 300000000000001B
Any info about it?
Thanks,
G.
On 11-08-30 05:25 PM, Sampsa Laine wrote:
MMJ - MMJ
RX, TX, GND
6' (2m) long enough?
Qty 4
Done. I actually wired all 6 lines as crossover cables because it was easier. Hack them up at will.
Send me a snail-mail address, and I'll give you the total after I pop them in the post tomorrow.
How fast a service are you willing to spring for?
Phil