vtpckermt

advertisement
MSKERMIT.DOC
23-Aug-85
Differences Between IBM-PC Kermit-MS v2.27 and v2.27-11
DEC, TOPS, and VT are trademarks of Digital Equipment Corporation.
IBM is a trademark of International Business Machines Corporation.
MS is a trademark of Microsoft Corporation.
KERMIT is a trademark of Henson Associates, Inc. It is used by Columbia
University (by permission) as a name for the software described here.
KERMIT is not to be sold. It is distributed by:
Columbia University Center for Computing Activities
612 West 115th Street
New York, NY
10025
The copyright to the KERMIT software described belongs to the Trustees
of Columbia University in the City of New York.
Page 1
This document describes changes to Kermit for MS-DOS on the IBM-PC. The
modifications were made to Kermit-MS version 2.27, distributed by
Columbia University and received by IUPUI in January 1985. The modified
version is described as version 2.27-11 and is available at IUPUI. The
sources for the modified version will be sent to Columbia University so
that the modifications may be incorporated into the next version of
Kermit-MS released by Columbia.
Version 2.27-11 is only available in the IBM-PC version. This
version should run under PC-DOS or MS-DOS on any machine that is
reasonably software and hardware compatible with the PC (i.e., machine
will run MS-DOS, the BIOS looks (to the user) the same as the IBM-PC
BIOS, the interface to the communications port(s) (hardware register
functions and addresses) is similar, and the screen interface (hardware
registers and addresses, and mapping of the screen memory) is the same.
This version of Kermit-MS has been tested using the following
hardware and operating systems:
o
An IBM PC XT with a monochrome monitor, running IBM PC-DOS
version 2.10.
o
An IBM PC AT with a color monitor and an IBM color graphics
adaptor, running IBM PC-DOS version 3.0.
o
A Zenith Z-100 PC with a color monitor (using Zenith's
adaptor), running MS-DOS version 2.0.
The new Kermit-MS VT100 emulator was tested using the following
(mainframe) fullscreen programs:
1.0
o
IBM's XEDIT fullscreen editor, and also various fullscreen
utilities running on an IBM 4341 under CMS. This system (at
IUPUI) drives asynchronous terminals using an IBM 7171 protocol
converter.
o
The SED fullscreen editor, version 1.2(530), running on a
DEC-2060 under TOPS-20 version 5.1.
o
The EDT fullscreen editor, version 1(34), running on a DEC-2060
under TOPS-20 version 5.1. Also used with VAX-11 EDT version
3.0 on a VAX-11/780 running VMS version 4.1.
NEW FEATURES
New features provided by Kermit-MS version 2.27-11 include:
o
A screen-saver feature has been added. This feature may only
be turned on if Kermit-MS is running under PC-DOS version 2.0
or greater. The screen-saver is enabled with the command:
Page 2
SET SCREEN-SAVER ON
It is disabled with the command:
SET SCREEN-SAVER OFF
When the screen-saver feature is enabled, if no characters are
received from either the keyboard or the host for ten minutes,
the display will be blanked. If any characters are
subsequently received from the host or the keyboard, the screen
will be restored (note that if the screen is restored because
of keyboard input, that character is not sent to the host).
o
A VT100 terminal emulator has been added. The SET HEATH-19
ON/OFF command has been removed. The SET TERMINAL-EMULATION
terminal-type command has been added to replace it. Valid
terminal types are: (1) TTY (the original generic terminal
emulator), (2) HEATH-19 (equivalent to the old HEATH-19
emulator), and (3) the new one, VT100. For example, to use the
VT100 emulator, give the following command to Kermit-MS:
SET TERMINAL-EMULATION VT100
Details concerning the VT100 emulator are described in the next few
subsections.
1.1
VT100 Emulator Restrictions And Unimplemented Features
The VT100 terminal emulator provides a complete VT100 emulation,
with the following exceptions:
1.
There is no setup option (these are set up for the emulator
using the SET VT100 command) for VT52 compatibility mode (a
real VT100 has a setup option to turn this on and off). An
application program may set and reset this mode with the proper
escape sequences however, and pressing Alt-"-" while CONNECTed
will toggle between ANSI and VT52-compatible mode.
2.
Some of the display-hardware features of the VT100 are not
provided, including 132 column mode, double-width double-height lines, and smooth scroll.
3.
No SETUP mode is available. VT100 setups are done using the
SET VT100 command (see below) in Kermit-MS command mode.
4.
Hardware-dependent setups for the VT100, like selectable 50 60 Hz. power frequency, interlace - no interlace, etc., are not
provided for obvious reasons.
Page 3
All other features of the VT100 are emulated according to the
specifications in "VT100 User Guide", DEC document number
EK-VT100-UG-002, 2nd Edition, January 1979.
1.2
Kermit-MS Commands Affected By The VT100 Emulator
The output from the STATUS command has been extended to list the
VT100 setup information if the current TERMINAL-EMULATION type is VT100.
This information includes the following on/off setups:
o
ANSI-NEWLINE-MODE: If ON, the terminal sends a carriage-return
followed by a line-feed when the RETURN key is pressed, and a
line-feed received from the host causes the cursor to return to
the left margin in addition to the line-feed function. If OFF,
the terminal sends only a carriage-return when the RETURN key
is pressed, and a line-feed received from the host does not
cause the cursor to return to the left margin. The default is
OFF, which is expected by most DEC and IBM timesharing hosts.
o
CURSOR-STYLE: If BLOCK, the cursor appears as a blinking solid
block. If UNDERLINE, the cursor appears as a blinking
underline. The default is UNDERLINE, as this is what most
users expect to see on a PC. The cursor in Kermit command mode
always appears as a blinking underline.
o
DEFAULT-CHARACTER-SET: If UK-ASCII, the ASCII character 43
(octal) is displayed as an English pound sign. If US-ASCII,
the character is displayed as an American pound sign. The
default is US-ASCII.
o
KEYCLICK: If ON, the PC speaker clicks when keyboard input is
detected. If OFF, the speaker does not click. Since the stock
PC keyboard clicks anyway, the speaker is pretty hard to hear,
but some find the feature useful for listening to the
auto-repeat when using the cursor keys. The default is OFF.
o
LINE-WRAPAROUND: If ON, and a printing character is received
from the host when the cursor is at the rightmost column of the
screen, the cursor will "wrap" to the first position on the
next line (possibly causing a scroll up) and the character
received will be displayed there. If OFF, such a character is
displayed at the current cursor position, and the cursor does
not "wrap". The default is OFF, which is the default expected
by most DEC and IBM operating systems, and most full-screen
application programs.
o
MARGIN-BELL: If ON, the PC speaker beeps when the cursor is
caused (by the typist, not by characters received from the
host) to move past column 72. If OFF, the speaker does not not
beep if this condition is detected.
The default is OFF.
Page 4
o
SCREEN-BACKGROUND: If REVERSE, the terminal emulator screen
background is light (green on a IBM monochrome monitor,
off-white on a color monitor when using the color graphics
adaptor), and the displayed characters are dark. If NORMAL,
the screen background is dark and the displayed characters are
light. The default is NORMAL. Note that this setup does not
affect the display when in Kermit command mode. Because of
"flashing" effect of the IBM-PC color card scroll, NORMAL is
recommended if you are using the color card interface. (The
flashing is "required" by restrictions made on screen memory
access by the hardware implementation. Some PC-clones, such as
the Zenith Z-100, do not suffer from this defect, regardless of
the scrolling software used.)
The on/off setups are set and cleared using the SET VT100 command (and
the keywords described above). For example, to set the screen
background to reverse-video, use the following Kermit-MS command:
SET VT100 SCREEN-BACKGROUND REVERSE
The VT100 emulator also has settable tab stops. These are set and
cleared with the following new Kermit-MS commands:
SET VT100 TAB-STOPS AT n1, n2, ... n
SET VT100 TAB-STOPS CLEAR AT n1, n2,... n
SET VT100 TAB-STOPS CLEAR ALL
where the Ns are the column numbers for tab stops (1-80). Note that the
STATUS command displays the VT100 tab stops. The tab stop at column 80
is never displayed. (The VT100 never advances past column 80 upon
receipt of a tab anyway, and the emulator doesn't either. Tabs never
cause a VT100 (or the emulator) to "wrap", regardless of whether
LINE-WRAPAROUND is ON or OFF.)
1.3
VT100 Special "Graphics" Character Set
The special "graphics" character set for the VT100 is emulated,
with some small changes due to the character set available on the IBM
PC. This set is different from the US and UK sets for the characters
137-176 (octal). The following table gives the octal code received from
the host, a description of the graphic used on the VT100, and the
decimal code for the graphic used by the emulator (when the selected
character set is the special "graphics" set). Codes for which the
graphic (meaning the symbol) displayed by the emulator is different than
(perhaps entirely unrelated to) the graphic displayed by a real VT100
are noted with "(n/a)".
Page 5
Octal Code
137
140
141
142
143
144
145
146
147
150
151
152
153
154
155
156
157
160
161
162
163
164
165
166
167
170
171
172
173
174
175
176
1.4
VT100 Description
IBM PC Display Code
Blank
Diamond
Checkerboard (error ind.)
H/T symbol
F/F symbol
C/R symbol
L/F symbol
Degree symbol
Plus/minus
N/L symbol
V/T symbol
Lower-right corner
Upper-right corner
Upper-left corner
Lower-left corner
Crossing lines
Horizontal line - Scan 1
Horizontal line - Scan 3
Horizontal line - Scan 5
Horizontal line - Scan 7
Horizontal line - Scan 9
Left "T"
Right "T"
Bottom "T"
Top "T"
Vertical bar
Less than or equal to
Greater than or equal to
Pi
Not equal to
UK pound sign
Centered dot
32
4
177
26
23
27
25
248
241
21
18
217
191
218
192
197
196
196
196
196
196
195
180
193
194
179
243
242
227
157
156
250
(n/a)
(n/a)
(n/a)
(n/a)
(n/a)
(n/a)
(n/a)
(n/a)
(n/a)
(n/a)
(n/a)
VT100 Keypad Emulation
By default, the following IBM PC keys generate VT100 key sequences
as described in the table below. These defaults may be changed using
Kermit's SET KEY SCAN command.
Cursor Keys:
IBM PC Key
VT100 Key
VT100 Sequence with Cursor Key Mode:
Reset:
Set:
up-arrow
down-arrow
up-arrow
down-arrow
ESC [ A
ESC [ B
ESC O A
ESC O B
right-arrow
left-arrow
right-arrow
left-arrow
ESC [ C
ESC [ D
ESC O C
ESC O D
Page 6
Simulated Application Keypad:
IBM PC Key
VT100 Key
VT100 Sequence with Keypad Mode:
Numeric:
Application:
F1
F2
F3
F4
F5
F6
F7
F8
F9
F10
shift/F1
shift/F2
shift/F3
shift/F4
shift/F5
shift/F6
shift/F7
shift/F8
PF1
PF2
PF3
PF4
keypad-"7"
keypad-"8"
keypad-"9"
keypad-"-"
keypad-"4"
keypad-"5"
keypad-"6"
keypad-","
keypad-"1"
keypad-"2"
keypad-"3"
keypad-ENTER
keypad-"0"
keypad-"."
ESC O P
ESC O Q
ESC O R
ESC O S
(none)
(none)
(none)
(none)
(none)
(none)
(none)
(none)
(none)
(none)
(none)
(none)
(none)
(none)
ESC
ESC
ESC
ESC
ESC
ESC
ESC
ESC
ESC
ESC
ESC
ESC
ESC
ESC
ESC
ESC
ESC
ESC
O
O
O
O
O
O
O
O
O
O
O
O
O
O
O
O
O
O
P
Q
R
S
w
x
y
m
t
u
v
l
q
r
s
M
p
n
Note that the application keypad sequences are only generated when
the application has set the keypad mode to "application" (this is the
way a real VT100 behaves). Also, the sequences generated by arrow keys
are different depending on whether cursor keys mode is set or reset, as
on a real VT100. Third, if the VT100 emulator is in VT52 compatibility
mode, the corresponding VT52 sequences are generated (as described in
"VT100 User's Guide", pp 38-39). Note also that the SET KEY SCAN
command may be used to override these default sequences if desired.
1.5
Other Minor Features
The four VT100 LEDs are simulated with "happy faces" (IPM PC
display code 2) on the Kermit mode line. The "LED simulation" is not
active unless the mode line is enabled and the emulator is in ANSI mode
(i.e., VT100 mode as opposed to VT52 compatibility mode, see below).
The VT100 emulator may be reset by pressing Alt-"=" (i.e., hold
down the Alt key and press the equals-sign key). This function is
similar to pressing the RESET key on a real VT100. All settable modes
are reset to the current defaults and the screen is cleared. Note that
if you use SET KEY SCAN to redefine Alt-"=", there will be no way to
reset the emulator without either (1) doing it under program control
(with the sequence ESC c) or (2) by forcing the reinitialization by
changing terminal types or exiting and re-running Kermit-MS.
The VT100 emulator has a VT52 compatibility mode. There is no SET
VT100 command to control the default for this (the emulator is always
initialized to ANSI mode immediately after the first CONNECT), but the
Page 7
current mode may be toggled while CONNECTed by pressing Alt-"-". If the
mode line is enabled, "[VT52]" is displayed on the mode line (instead of
the "LED simulation") while the emulator is in VT52 compatibility mode.
2.0
BUG FIXES
Several minor bugs in the Kermit-MS command scanner have been
fixed. A few minor new features have been added also. A short
description of changes users might want to be aware of are listed below:
o
If the user has selected the generic "dumb-terminal" emulator
(SET TERMINAL-EMULATION TTY), the mode line is never displayed,
regardless of whether or not it is enabled. This restriction
has been made because DOS (used directly for the "dumb
terminal" emulator) scrolls all 25 lines on the screen, and the
presence of a mode line in reverse video would cause DOS to
scroll in reverse video lines after it reached the bottom of
the screen (it would also scroll the mode line up the screen).
The 25th line is still never saved with the rest of the screen
during terminal emulation. In general, it would probably be
best to avoid using the "generic" terminal emulator.
o
If a user attempts to enter a command longer than 120
characters, Kermit-MS will display the error message "Command
is too long for internal buffer" and ignore the command.
Earlier versions of Kermit-MS would overwrite memory past the
end of an internal buffer, causing a variety of problems.
o
If junk is typed when a confirm is expected, Kermit-MS will
display the error message "Not confirmed" and ignore the
command. Earlier versions would ignore the command without
giving an error message (for most commands).
o
Comments (starting with a semicolon and continuing to the end
of the line) are now allowed when command input is being gotten
from the keyboard, as well as in TAKE files. Comments that
stand alone on a line must be terminated with a carriage-return
(i.e. not line-feed or form-feed). Comments in TAKE files are
now properly displayed (TAKE files are not echoed to the
terminal unless SET TAKE-ECHO ON is in effect).
o
Several intra-line editing bugs have been fixed. The cursor
now erases to the beginning of a tab when a tab is deleted.
CTRL/W now only deletes at most one tab or space to the right
of a word before deleting the word (as it does in COMND-style
command scanners on TOPS-20). The delete character and delete
word functions also now delete past a line-wraparound. A new
intra-line editing command, CTRL/R (retype line) has been
added.
o
Several problems with echoing and keyboard input have been
corrected. Control characters are now echoed using the
corresponding IBM PC display graphic. Previous versions of
Page 8
Kermit-MS would echo a control-character as a space when it was
entered, and as the IBM PC display graphic if the command was
retyped for any reason (such as using "?" for help). Extended
keyboard input codes (the function keys for example) are now
ignored on input, with the exception of the DEL key, which is
converted to backspace.
o
3.0
If the help character "?" is typed during the entering of a
keyword, and only one keyword in the list of possible keywords
matches, Kermit-MS will now display the full keyword only as a
list of possible choices (as do COMND-style command scanners on
TOPS-20). Previous versions would display the help for the
next atom expected in the parse for this case. Also, an
obscure problem related to using "?" with keyword input which
could cause the PC to lock up has been corrected.
RESTRICTIONS
The new commands in which commas may be used to separate atoms in
the command (i.e., SET VT100 TAB-STOPS) may not be used in a command
macro definition (DEFINE command), nor may they be given on the DOS
command line that is used to run Kermit-MS. This is because commas are
used to separate individual commands in command macros (and on the DOS
command line).
A null command containing only a comment must be terminated by a
carriage return (line-feeds and form-feeds result in the error message:
"Invalid command").
4.0
KNOWN BUGS
None.
Download