home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Columbia Kermit
/
kermit.zip
/
archives
/
mskermit.tar.gz
/
mskermit.tar
/
msr313.upd
< prev
next >
Wrap
Text File
|
1993-07-12
|
25KB
|
371 lines
File MSR313.UPD
Update of features in MS-DOS Kermit version 3.13, compared to version 3.12.
23 June 1993
1. Emulation of a Data General D463 native mode terminal, minus graphics.
This is described cryptically in file msvibm.vt. Many Data General D463
specific keyboard verbs are included. Because the terminal is sophisticated
we recommend reference to the Data General manuals for full details.
However, file MSVIBM.VT lists the basic commands of it in short form.
2. Horizontally scrolling screen for up to 207 columns width. Scrolling is
automatic, so 132 columns are available for machines supporting less,
and it also is available for manual control. Keyboard verbs lfpage, lfone,
rtpage, rtone scroll by 20 or 1 columns, respectively; these are not
preassigned to keys.
3. Add WIDTH number, from 80 to 207, to the KERMIT= Environment section. This
determines the width of text held in the screen rollback buffer. Default
is 80 columns (to save memory).
4. Modify screen character attributes to display underlined text as a
distinctive change of coloring, versus the previous inverse video.
5. Multiple (6) Telnet sessions. Each is nearly independent of the other.
The dependence is the terminal setup conditions for the current session
are used when selecting a new session via SET PORT TCP/IP. See item 6
for greater control. Thus each session can maintain separate terminal
types and operating conditions as well as connect to separate hosts.
Each session not on the screen is blocked so that no information is lost.
6. Telnet session manager. SHOW SESSIONS to see the list. SET PORT TCP/IP
<host or session number 1..6> to select a session. Within Connect mode
keyboard verb \knethold is enhanced to toggle from one Telnet session
to the next cyclicly.
7. When starting Connect mode optional macros SESSION1..SESSION6 will be
invoked for Telnet sessions of those numbers. The contents are user
defined, may include anything, and should end with a new Connect command
to finally being terminal emulation. These macros are also invoked when
changing Telnet sessions by either \knethold or SET PORT TCP/IP digit.
8. Screens saved from Telnet sessions are compressed, to save memory.
9. Modify the Connect mode status line to display Telnet session information
as <digit>:host-name, where <digit> is the session number.
10. Kermit variable \v(session) reports the current Telnet session
as a digit between 1 and 6.
11. Add keyboard verb \kignore to cause that key to generate no output.
12. Add ISO 8829-2 (Eastern European) as a file transfer character set.
13. SET FLOW now has bidirectional selections, INCOMING-XON/XOFF and
OUTGOING-XON/XOFF, to control recognition and sending respectively.
14. More changes to support echos when transmitting to mainframe IBM
frontends which are far from being transparent.
15. Add slim text font for use by DG mode while in PC graphics mode. Font
is 5x14, applies only when using and EGA/VGA adapter, and provides 128
character cells across a 640 dot screen. 256 code points are present.
16. Add command SET TERMINAL COMPRESSED-TEXT {GRAPHICS | TEXT-132}. This
is specifically for the DG D463 terminal and determines whether to use
graphics emulation of text, the default, or to switch to 132 column
text mode. If the display adapter does not make the switch then graphics
mode is used automatically despite this command.
17. Add command SET TERMINAL HORIZONTAL-SCROLL {AUTOMATIC | MANUAL}, default
of automatic. This lets folks stop annoying jitter.
18. Further elaborate DG "text mode but emulated in graphics mode." Toggle
ALT - goes between real and fake text modes. Drawings are lost when
the screen is refreshed with text material. This item required major
changes to handling of writing to the screen so that graphics mode
looks very similar to text mode. CGA and Herc graphics use the Kermit
built-in Tek 8x8 characters, only 96 code points.
19. Add DG graphics commands for arc and polygon filling. Few words, much
labor. These should work on all display adapters. The DG manuals are
in error on these items, so Kermit does what the real terminals do.
Kermit's polygon filling works better than real DG terminals (which
have algorithm problems). The drawing commands do not need nor depend
upon the DG "Reserve Character" command, since the underlying mechanics
are completly different than on DG hardware.
20. Add support for DG "pointing device" of mouse and/or keypad, according
to host request. This generates and controls a full screen crosshair.
A Microsoft compatible mouse driver must be active to use the mouse.
21. Move screen rollback storage to expanded memory, if there is space. Else
do regular mallocs from 640K space. Increase the rollback limit to 8000
screens (figure 4KB per average screen). Revise rollback code to use
either expanded or regular memory. Works with LIM 3.2 expanded memory
schemes, and later, and it works fine in Windows.
22. Add support for Novell's SLIP_PPP ODI driver, as a transparent option.
Revised TCP MSS to track info from the ODI drivers and thus not overwhelm
the wire. For the time being the SLIP_ODI section of NET.CFG needs the
line Protocol IP 0800 SLIP (or PPP) to let Kermit target frames for the
LSL.
23. Redesign character transfer mechanism between the main body and TCP code
to be much more direct. Redesign socket buffers to be allocated outside
of Kermit's static storage. Enlarge receive window to 4KB and transmit
window to 2KB, and nominal MSS to 1KB. All together this produced a
marked jump in performance, and a smaller disk footprint.
24. Move Kermit packet buffers to malloc'd space. A consequence is the max
packet length is now 9034 bytes, and up to 31 windows may be used at
the same time and length (if memory permits).
25. Modify WAIT command to sense unexpected garbage text.
26. Modify serial port initialization code to wait 1 ms between bus in/out's
and thus let the new breed of modems initialize. Also add an unfortunate
full modem reset to help those which are unable to be commanded at speeds
the Bios uses at boot time. This was specifically for the Gateway
Telepath modem, but others share the same trouble.
27. Reduce speed of OUTPUT commands to 4 chars/sec, to help more modems which
have trouble with anything faster during commands.
28. Revise serial port initialzation to skip irq testing if the user gives
an override via SET COMx. For modems and noisy buses. Add automatic
fallback of com port addresses, \x03f8, \x02f8, \x03e8, \x02e8, if
no address is found in seg 40h. Note that this is basically a "force"
method, similar to what apparently the commercial programs do without
thought. This same mechanism lets Kermit steal the serial port from
SLIP_PPP to do dialing via SET PORT COMx, and then do TCP frames with
SET PORT TCP.
29. Redesign session switching to accomodate DG "text in graphics mode"
together with regular text and Tek graphics. Still some loose ends
here.
30. Modify DG D463 code to report out the graphics options upon host request.
Thus the terminal type is now D463 to the host, rather than D413.
31. Add command MPAUSE <number of milliseconds> to pause that short length
of time, without reading the communications channel.
32. Redesign calibration of 1 millisecond software timing loop, to avoid a
difficulty with a machine which only vaguely implemented the standard
8253/8254 system timer chip.
33. Modify item 27, OUTPUT rate, to be optionally slow. New command
SET OUTPUT PACING <0..65535> sets the millisecond delay between outgoing
bytes. Default is 0, for fast rates. Note that OUTPUT also monitors the
incoming stream and delays for a short time to gather <modem> responses
so the final output rate will not be faster than this command.
34. Add new command GETOK <optional prompt string> which accepts responses
of Yes, OK, or No and sets the general status variable \v(status) to
0 (success) for Yes and OK, or to 16 (general cmd failure) for No or
a Control-C abandonment of the command. The purpose it to facility asking
binary questions in scripts. If the optional prompt string is omitted
the default prompt becomes "Please respond Yes or No."
35. Add Documentation section to the main HELP text.
36. Add thermometer style bar, file type, and current path to file transfer
display.
37. Add terminal type of Data General D470. This is the color equivalent of
the D463 monochrome terminal. Screen graphics are revised accordingly.
38. Add keyboard verb \kNEXTSESSION to toggle among active Telnet sessions.
Keyboard verb \kNETHOLD reverts to placing non-Telnet network sessions
on hold, if they support that concept. Nextsession is preassigned to
IBM-PC key ALT-N, and Nethold is now unassigned.
39. Use version specific filename MSRxxx.PCH (xxx is 313 or equiv) as the
first filename to seek for patching, and use MSKERMIT.PCH if that file
is not found.
40. Add internal selection of Interconnections Inc TES with LAT API to
the SET PORT TES channel. This command uses the DECnet LAT API but DECnet
need not be installed. Both old and new v3.0 TES' are supported
transparently by the same SET PORT TES command, and both use Novell IPX
packets on the wire.
41. Improve Telnet session manager to ask for New/Resume only if the host
name already has an active session. Host names are converted to lower
case to ease testing. One may also choose an inactive session by number
(1..6) to reuse that host name.
42. Move command STATUS to SHOW STATUS.
43. Make small adjustments to the TCP/IP protocol stack to reduce the number
of window size change packets sent to the remote host. This should help
SLIP connnections.
44. Allow individual keyboard translator setup for each Telnet session.
45. Add variable \v(ntime) which replaces itself with the numerical string
of the number of seconds elapsed in the current day.
46. Change the keyboard translator to accept Control and ALT modifiers on
the space bar (contrary to DOS conventions but in agreement with DEC VT
ones). Control-space bar is defined to send a NULL (\0) byte. Control-,
ALT-, and Shift-space bar are now separate Kermit key identifications.
47. Correct usage of the high bit in a byte when emulating DG terminals to
remove it for D463's and place it under control of SET DISPLAY {7, 8}
for D470's.
48. Modify the command parser's help message reading "One of the following:"
to be "Use one of the following words in this position:". These msgs are
followed by the listing of a keyword table and a command line redisplay.
49. Try an experiment of not chaining unknown serial port interrupts, in an
attempt to prevent some Bios' from masking out that interrupt line when
they receive any stray. Masking out prevents further interrupt activity
and no more received characters by Kermit.
50. Add variable \v(dosversion) which is "500" for DOS 5.00.
51. For Data General terminals add a compressed font for Code Page CP850,
and extract the Code Page font for 8x14 cell characters (regular width)
when in graphics mode. The latter will use the Code Page reported by
DOS and it requires that DOS file EGA.CPI be in the current directory or
in one in the PATH string. If the file is not found or the Code Page is
not found in the file then the hardware CP437 font is used. The compressed
font for CP850 will be used if compressed fonts are requested and the
Code Page is not CP437. Code Pages can be used only on EGA/VGA and above
video display adapters, not on CGA, monochrome, nor Hercules.
52. Initialize Telnet echo status to be that found from the SET LOCAL-ECHO
command.
53. Add support for Beame and Whiteside TCP/IP stack. Some minor brushups on
Telnet Options needed are here. Syntax is SET PORT BWTCP IP-number.
The B&W TCP/IP stack must be loaded, typically as
Device=C:\BWTCP\ETHDEV.SYS
Device=C:\BWTCP\TCPIP.SYS 1514 <the number is locally tailored>
in file config.sys. The work was adapted from that by James Sturdevant.
54. Ensure for the internal TCP/IP stack the maximum transmission unit (MTU)
is limited to 576 bytes for hosts off the local network to avoid
unnecessary IP fragmentation. Note that for at least B&W TCP/IP Kermit
packets should be kept short so that accumulated material does not cause
that stack to send full media length frames across the Internet.
55. Add change of packet size in the presence of errors to receive a timely
ACK. Each failure reduces by half (40 bytes minimum) the size of sent
Attributes and Data packets and each success increases it by 25% (up to
the negotiated maximum). This is the same algorithm used in C Kermit
and IBM mainframe Kermit.
56. Extend use of compressed font (5 dots) simulating text in graphics mode
to the VT series of terminal emulators. Command SET TERM COMPRESSED-TEXT
{GRAPHICS, TEXT-132} controls this feature. The default for VT emulation
is TEXT-132. For VT emulation horizontal scrolling is set to manual
(SET TERM HORIZONTAL-SCROLLING) to avoid excessive time moving a graphics
screen left and right. The physical screen width is 128 columns (640 dots
/ 5 dot characters) and the logical screen is 132 columns. 80 column
material is done in regular text mode. Only CP437 and CP850 will produce
proper character sets using the 5 dot font.
57. Control the default settings for compressed text and horizontal scrolling
according to terminal type. For Data General terminals these defaults
are graphics and automatic, respectively. For other terminals they are
text-132 and manual. The default settings become effective when selecting
a terminal type with command SET TERMINAL type.
58. Add CTS/RTS flow control to the method of suspending hosts when Kermit
is suspended (shelled to DOS).
59. Change the mistake of using CP862 to be CP852. To solve some translation
errors between CP852 and Latin2 use the tables from C Kermit 5A. Transfer
Character Set Latin2 is for middle European languages and in this Kermit
its use forces Kermit to consider the File Character Set to be CP852 so
that special symbols can be translated.
60. Modify the file sending code to look for incoming response packets after
each outgoing packet is dispatched, rather than after the sending window
is full. This is to catch error and early termination responses from the
other end more quickly than otherwise, particularly on slow serial lines.
61. Add automatic passing of commands from host to Kermit by putting the
host's Kermit command strings inside an APC control sequence (APC is the
8-bit control character 9Fh, the 7-bit form is ESC underline). Such
sequences terminate with character ST (9Ch, 7-bit form is ESC \). 1024
bytes are allowed in the command string, with commas outside of curly
braces being recognized as command line separators, as in Macros and Take
files.
The command string is executed as an unnamed temporary macro, and obeys
rules of macros. Kermit appends ",Connect" to the end of the string, to
return to Connect mode automatically. Example:
ESC _ dir *.txt,run copy afile.txt c:,show terminal ESC \
Because there is NO USER VALIDATION of what the host sends this feature
is disabled by default and may be enabled by new command
SET TERMINAL APC-MACRO {ENABLE, DISABLE}.
APC stands for Applications Program Command, and it is recognized by the
VT200 and above Digital emulators.
62. APC-MACRO and macro PRODUCT are the ways of invoking Kermit commands
by the host sending information during Connect mode. Macros TERMINALR
and TERMINALS are removed; ESC [ ? 34 h and ESC [ ? 34 l now govern
only the direction of screen writing during Connect mode. This revision
is to comply with DEC usage in the new VT400 terminal series.
63. Revise internal details of Kermit packet processing to aid operations
with printable Start of Packet characters.
64. Add character set LATIN2 to terminal emulation. This presumes Code Page
CP852 is active and makes no checks for it (partly because DOS itself
has difficulties recognizing it).
65. Add provision to respond to DEC VTxxx Control-E Enquire. The response
is controlled by new command SET TERM ANSWERBACK {ON, OFF}, with
OFF being the default. When enabled Kermit responds with the fixed
string "MS-DOS KERMIT" (without the double quote marks). The Honeywell
response is unchanged. No user string is permitted.
66. Add more formal Hebrew support as per DEC VT420-Hebrew terminals. This
consists of several parts:
- Remove Macros TerminalR and TerminalS (invoked by CSI ? 34 h and l).
- CSI ? 34 h sets writing direction to be right-to-left, CSI ? 34 l
sets it back to left-to-right.
- CSI ? 35 h and l set (or l, reset) the keyboard to Hebrew mode by
invoking macros KeyboardS and KeyboardR, respectively. Neither is
predefined in Kermit.
_ CSI ? 36 h and l set Hebrew-7 NRC into G0..G3 for terminal emulation
and reset (l) DEC Multinational to G1/3 plus ASCII to G0/2.
- Add new NRC character set HEBREW-7 which has Hebrew characters in
columns 6 and 7 of the ASCII chart
- Add file transfer character set HEBREW-ISO (ISO 8859-8) which
forces Code Page 862. The Kermit identification is I6/138.
- Add file character set CP862 (Hebrew).
- Hebrew-ISO character set can be invoked during VT200/300 terminal
emulation by DCS 1 ! u H ST (identifier H), and a copy of this
can be placed into the DEC UPSS area by DCS 0 ! u " 4 ST (ident of
"4).
- Adjust writing direction on many internal operations to obey VT420
rules.
67. Add hidden synonyms Set xfer and xmit for Set TRANSFER and TRANSMIT, resp.
68. Disable execution of the following commands via the APC approach to
prevent malicious mischief from the host side.
DELETE, DISABLE, ENABLE, HANGUP, OUTPUT, RUN, SET SERVER
Howerver, these commands may be executed if SET TERMINAL APC-MACRO is
set to UNCHECKED. The default for APC-MACRO is now ON.
69. Add test for Japanese DOS so that internal workers can be conditioned
appropriately.
70. Add Ring Indicator, RI, to the modem signals available to the WAIT command.
71. Restrict the screen display of packet debugging to four lines so the
formatted screen is not scrolled nor does the sent packet overlap the
received packet display.
72. Add command SET CONTROL-CHARACTER {PREFIXED, UNPREFIXED} <code or ALL>,
where code is a number in the ranges 0..31 or 128..159, or is the word
ALL to mean all these values. One or mode codes may be used in the same
command. PREFIXED means these control codes are sent in Kermit packets
as normal prefixed form to be pure printable values. Prefixed is the
default and normal mode of operation, as it has been in the past.
UNPREFIXED means the codes are sent verbatim, with no protection. Thus
using unprefixed presumes the communications channel and remote host
will pass the codes intact. Kermit prefixes the codes XON/XOFF flow
control bytes if that is the kind of flow control used and when internal
Telnet is used bytes 127 and 255 are prefixed to avoid conflicts with
Telnet Options negotiations.
New command SHOW CONTROL-PREFIXING displays the codes being used in
unprefixed form, and the list will be updated internally after packet
exchange has begun.
Note that this feature affects what we send but does not inform the
remote host. Most Columbia Kermits will accept raw control codes in
place of their encoded form but many operating systems and comms black
boxes may react to bare control codes before the remote Kermit sees them.
73. Add TCP/IP command SET TCP/IP NEWLINE-MODE {ON, OFF}. ON means outgoing
carriage returns (CR) are sent as CR LF, the default. Off means CR is
sent as CR NUL. Because many Telnet daemons are broken on this point
you may have to experiment to find a workable setting. Also note that
CR (decimal 13) in Kermit packets should not be sent unprefixed over
Telnet unless you know it will work with one newline mode or the other.
74. To aid people using devices which speak the material written to the
screen add command SET TERMINAL VIDEO-WRITING {DIRECT, BIOS}. Direct is
the default. Selecting the Bios option forces all Connect mode screen
writing to use the slower video Bios and thus enables external TSRs
to sense what is being written. This command applies to only text-mode
material.
75. Allow Bootp requests to be used over SLIP and SLIP_PPP even though the
MAC level frame headers are missing for these approaches. Apparently
some terminal servers tolerate an empty hardware type and hardware
address in Bootp requests and respond correctly anyway.
76. Add Code Page 861 (Icelandic) as a file character set, in both readable
and invertable forms. Translation is to and from Latin-1 on the wire.
77. Add command SET TERMINAL EXPANDED-MEMORY {ON, OFF}, default is OFF. This
controls whether expanded memory is used to hold the screen rollback
buffer. Expanded memory can hold many more screens than the alternative
of regular (640K) memory. Extended (raw) memory is not used presently.
This command may be issued at any time, and changing the kind will remove
the existing rollback buffer and a new one will be created when Connect
mode is entered.
78. Add command SET TERMINAL CODE-PAGE <one of many Code Pages>. This selects
a Code Page indentification other than that provided by DOS, and it applies
only to terminal emulation processes. There is no support at this time
for Shift-JIS (Japanese) in the terminal emulator.
79. Add Kermit environment PATH, on the right side of a SET KERMIT= line.
PATH is followed by a space and a directory where Kermit will search if
a file is not located in the current directory. If the file is not in
this PATH directory then the search continues with DOS' PATH string.
80. Place keyboard verb \knethold (suspend certain classes of network
connections) on key ALT-Z (for snoozing). In previous editions it was
on ALT-N which is presently assigned to verb \knextsession.
81. Add Tseng Labs ET4000 SVGA video chips to the set known by Kermit for
switching to 132x25 text mode.
82. Allow EGA/VGA Tektronix graphics screens to be preserved in expanded
memory, if and only if the screen rollback buffer is allowed to use
expanded memory. Otherwise store screens in the upper half of video
memory as previously. Storing in expanded memory means 640x480 (VGA)
graphics images may be retained completely rather than losing the bottom
few lines from video memory storage limitations. An EGA (640x350) screen
requires 112KB and a VGA requires 160KB. If graphics work is changed from
one to the other then the old screen is lost when expanded memory is
used. CGA graphics screens are not preserved, nor are simulated text mode
screens.
82. Add VESA Bios compatible video boards to the kinds known for switching
to 132x25 terminal emulation screens.
83. Changes to the terminal emulation handling of dicritical marks and other
special output characters. Add keyboard verb \kCompose which is an alias
for existing \kdgSPCL. This key is a prefix which causes the next two
outgoing bytes to be compared to a translation table and a new byte is
sent instead. Data General D463 and D470 terminals use either DG
International or Latin-1 character sets, depending on which keyboard
language is active. Non-Data General terminal emulations in Kermit
use Latin-1 only. When the Compose key is pressed the terminal emulation
status line will show "C" at the far right until two more keystrokes
have been accumulated. If those keystrokes have a matching table entry
a new byte is sent and the "C" is removed; otherwise "C" is removed and
accumulated material is discarded (by DEC's rules on the matter). File
MSVIBM.VT has the table of keystrokes and what is sent. We do not yet
support the vast array of Digital Compose sequences.
84. Add command SET TCP/IP DEBUG-OPTIONS {ON, OFF}, default is off, to
display Telnet Options negotiations of the internal TCP/IP stack.