HP3000-L Archives

October 2001, Week 4

HP3000-L@RAVEN.UTC.EDU

Options: Use Monospaced Font
Show Text Part by Default
Show All Mail Headers

Message: [<< First] [< Prev] [Next >] [Last >>]
Topic: [<< First] [< Prev] [Next >] [Last >>]
Author: [<< First] [< Prev] [Next >] [Last >>]

Print Reply
Subject:
From:
Wirt Atmar <[log in to unmask]>
Reply To:
Date:
Sun, 28 Oct 2001 20:50:50 EST
Content-Type:
text/plain
Parts/Attachments:
text/plain (192 lines)
I've put up a new version of QCTerm this weekend, Version 0.95, October 27,
2001. This new version has several new nice features:


SMART RETURN

The smart return feature that we talked about here on the list a week or so
ago is now the standard default configuration beginning with this version.
This won't have any impact on you if you've already downloaded a copy of
QCTerm. Downloading a new copy never changes your configuration settings, but
it will affect all new users.

If already have a copy of QCTerm loaded on your PC and you wish to set the
return key to be equal to the ENTER key when in block mode, simply go to the
Terminal/Preferences... pulldown menu and change the setting manually.

The action of the RETURN key becomes an ENTER key when block mode is turned
on and AutoLF is turned off. The second criterion is for Qedit users. This is
the same method that ScreenJet uses and I want to thank Alan Yeo for his
comments in this regard.

We were going to call this "smart return" feature the "Roy Brown Memorial Key
Function" in honor of Roy's long fight for this feature, but Roy said
something ugly about our "F12 kludge" for an ENTER key. Personally, I really
like the F12 key as a stable ENTER key. It's very reminiscent of the early
terminals that I grew up on. Nonetheless, because of Roy's untoward comment,
we voted here to rescind his chance at immortality and we will now just call
it the "smart return" feature instead.


REDEFINABLE KEYS

We've establish a new series of escape sequences so that the 10 keys on a PC
keyboard can now be defined to be something different than their standard
defaults. The keys are the INSERT, DELETE, HOME, END, PAGE UP, PAGE DOWN, UP
ARROW, DOWN ARROW, LEFT ARROW, and RIGHT ARROW. The sequences to define these
keys are:

     Esc %f<x>k<l>L<text>

where

      <x>
       45 = insert key
       46 = delete key
       36 = home key
       35 = end key
       33 = page up
       34 = page down
       38 = up arrow
       37 = left arrow
       40 = down arrow
       39 = right arrow

and

      <l> is the length of the following text string.

As an example, to program the HOME key to transmit a sequence to the HP3000,
the escape sequence might be:

     Esc %f36k6Lshowtime

The behavior of these new programmable keys are a hybrid of the "normal" and
"transmit" characteristics of the standard function keys. A carriage return
is *always* appended to the sequence of characters you program up, but
pressing the key a second time doesn't wait for a DC1 to be returned as a
"transmit" function key does before it transmits the text sequence again.
However, the text you specify is transmitted as a unit whole, rather than a
single character at a time, as a "normal" function key does.

We felt this behavior would be most useful on the widest range of host
computers.

To clear a programmed key, transmit a zero-length definition, in this manner:

     Esc %f36k0L

A hard reset will clear all of the key definitions.


AUTO-RECOGNIZATION OF ADVANCED TELNET

This is the coolest feature of the bunch and this note is as much for WRQ and
ScreenJet as anyone. Last weekend, I was getting ready to resubmit the draft
RFC for the advanced telnet feature, suppress local echo, telnet option 45,
when I started thinking, always dangerous in itself. Up to now, all option 45
information has been flowing from the host to the client terminal, but the
client hasn't been requesting (commanding) anything of the host.

By far, our single greatest support call has dealt with "why can I see my
passwords?" or "why do I get double echoing?" The answer in both cases was
that the user had the terminal set to "advanced" telnet while talking to a
host that didn't understand the protocol (which is of course virtually
everyone at the moment), and the corrective action was merely to put the
terminal back into "standard" telnet. Because this support call has been so
common, this remedy is the very first item in the support FAQ.

But there is a very simple cure for this problem, and I am appalled and
embarassed that I didn't think of this earlier, but I only thought of the
right and proper solution this last weekend. Jeff Bandle was kind enough to
almost immediately create new telnet software on the HP3000 to handle the
autorecognition of whether or not the host supports advanced telnet by having
the MPE transmit back the sequence WILL 45 when the client queries DO 45, a
conversational feature that up to now hasn't been used.

It is standard telnet behavior for a host or client to return WONT X when
commanded to perform DO X if it doesn't know what X is. Consequently, every
other host in the world right at the moment will return WONT 45 to the DO 45
command, and thus based on that information, we can reliably set QCTerm into
a "standard" telnet mode of operation and completely eliminate the support
call.

But with Jeff's new telnet code, MPE (and everyone will get this version
shortly I understand) now responds WILL 45 to our DO 45 so that we can
reliably set QCTerm to "advanced" telnet, completely automatically. Blessedly
cool, actually.

The standard handshake procedure for a telnet logon is to perform function
negotiations and then (more or less) quit those negotiations when the host
transmits a WILL 1 (echo), although they don't have to. It has become
traditional that the client must necessarily respond with a DO 1 to the
server's WILL 1. To make QCTerm work simply and reliably, we now transmit a
DO 45 right after the DO 1, in this manner:

======================================

38.453          Telnet: <192.168.1.1 contacted>
38.562     SERVER   Do: 3
38.562     CLIENT Wont: 3
38.562     SERVER Will: 1
38.562     CLIENT   Do: 1
38.562     CLIENT   Do: 45   <--- QCTerm asks: "Can you do advanced?"
38.562     SERVER   Do: 33
38.562     CLIENT Will: 33
38.562     SERVER Dont: 3
38.562     CLIENT Wont: 3
38.562     SERVER Will: 45   <--- MPE responds "Yes"
38.625        Received: aics-research: '17
39.93      CLIENT Dont: 1    <--- QCTerm then suppresses host echo
39.93      Transmitted: h         and puts QCTerm into "advanced" mode
39.93      SERVER Wont: 1
40.102     Transmitted: e
40.102     Transmitted: l
40.266     Transmitted: l
40.43      Transmitted: o
40.594     Transmitted:
40.766     Transmitted: m
40.812     Transmitted: a
40.922     Transmitted: n
41.031     Transmitted: a
41.094     Transmitted: g
41.203     Transmitted: e
41.312     Transmitted: r
41.531     Transmitted: .
41.75      Transmitted: s
41.859     Transmitted: y
41.914     Transmitted: s
42.352     Transmitted: '13
42.414     SERVER   Do: 45
42.414     CLIENT Will: 45
42.461        Received: '10ENTER ACCOUNT (SYS) PASSWORD:'17
44.711     Transmitted: x
44.82      Transmitted: x
44.93      Transmitted: x
45.039     Transmitted: x
45.039     Transmitted: x
45.211     Transmitted: x
45.43      Transmitted: '13
45.43      SERVER Dont: 45
45.43      CLIENT Wont: 45
47.406        Received: '10'13'10
47.953        Received: HP3000  Release: C.55.03   User Version: C.55.03
                         SUN, OCT 28, 2001,  6:30 PM'13'10MPE/iX  HP31900
                        C.05.08  Copyright Hewlett-Packard 1987.  All righ
                        ts reserved.'13'10
48.016        Received: :'17

=======================================

The new version can be downloaded from:

     http://aics-research.com/qcterm

Be sure to unzip the downloaded file to the c:\ root, as it is primed to do.
QCTerm won't work anywhere else.

Wirt Atmar

* To join/leave the list, search archives, change list settings, *
* etc., please visit http://raven.utc.edu/archives/hp3000-l.html *

ATOM RSS1 RSS2