home *** CD-ROM | disk | FTP | other *** search
/ Columbia Kermit / kermit.zip / archives / msr313src.zip / mskerm.upd < prev    next >
Text File  |  1994-06-22  |  57KB  |  1,248 lines

  1. File KERMIT.UPD (MSKERM.UPD)                            June 1993
  2.  
  3.  
  4.              SUPPLEMENT TO "USING MS-DOS KERMIT":
  5.          CHANGES AND NEW FEATURES SINCE VERSION 3.11
  6.  
  7.  
  8. Most recent update: Mon Nov 29 10:34:57 1993
  9.  
  10.   Copyright (C) 1985, 1993, Trustees of Columbia University in the City of New
  11.   York.     The MS-DOS Kermit software may be reproduced and shared without
  12.   restriction as long as this copyright notice is retained, except that it may
  13.   not be licensed or sold for profit as a software product itself, and it may
  14.   not be included in or distributed with commercial products or otherwise
  15.   distributed by commercial concerns to their clients or customers without
  16.   written permission of the Office of Kermit Development and Distribution,
  17.   Columbia University.
  18.  
  19. MS-DOS Kermit is a product of Kermit Distribution, Columbia University Center
  20. for Computing Activities.  The principal author of the program is Professor
  21. Joe R. Doupnik of Utah State University, with help from other volunteer
  22. programmers all over the world.     The software is copyright by the Trustees of
  23. Columbia University in the City of New York, with portions of the source code
  24. also copyright by other institutions including Waterloo University (Ontario,
  25. Canada) and the (US) National Center for Supercomputing Applications (NCSA).
  26.  
  27. Kermit software is written by volunteer programmers as a public service, and
  28. is furnished without warranty of any kind.  Neither Columbia University, nor
  29. the individual authors, nor Digital Equipment Corporation, nor Digital Press,
  30. nor Data General Corporation, nor any other institution or individual that has
  31. contributed to the development and documentation warrant the software in any
  32. way.
  33.  
  34. See the file KERMIT.HLP (MSKERM.HLP) for contact information.
  35.  
  36.  
  37. UPDATES
  38.  
  39. MS-DOS Kermit 3.11 was released September, 1991, and is fully described in
  40. "Using MS-DOS Kermit", second edition. MS-DOS Kermit 3.13 has several features
  41. not described in the book.  This file describes these new features.
  42.  
  43. MS-DOS Kermit 3.12 was released in September, 1992.  It is a maintenance
  44. release, but with several new features added, including:
  45.  
  46.  . Networking and communications improvements, including ODI support.
  47.  . Japanese Kanji text-file transfer translation.
  48.  . Locking-shift protocol for file transfer.
  49.  . A new method for transferring files with IBM mainframes.
  50.  . Ability to SET PORT TCP/IP to non-TELNET ports.
  51.  
  52. MS-DOS Kermit 3.13 was released in July 1993 with the following new features:
  53.  
  54.  . A new faster method for transferring binary and precompressed files
  55.  . Larger packets and windows allowed, up to 9024 x 31.
  56.  . Switching among multiple simultaneous TCP/IP sessions
  57.  . Data General DASHER terminal emulation
  58.  . Graphics-mode support for 132-column operation on EGA and VGA video adapters
  59.  . Text-mode support for 132-column operation on ET4000 and other VESA adapters
  60.  . Horizontal scrolling
  61.  . Expanded-memory option for screen rollback and graphics image retention
  62.  . Hebrew character-set translation and Hebrew terminal emulation
  63.  . East European character-set translation
  64.  . Icelandic CP861 code page support
  65.  . Separate code page selection for terminal emulation and file transfer
  66.  . Compose-key sequences for entering accented characters
  67.  . New KERMIT PATH environment variable
  68.  . Support for Novell SLIP_PPP ODI driver and other networking improvements
  69.  . BOOTP improvements
  70.  . TELNET improvements, including option negotiation display
  71.  . DIAL-command support for additional modem types
  72.  
  73. UPDATE: KERMIT ENVIRONMENT VARIABLE
  74.  
  75.   The DOS environment variable KERMIT may be used for setting certain
  76.   parameters, even if Kermit doesn't read its initialization file.
  77.   Set this environment variable in your AUTOEXEC.BAT file:
  78.  
  79.     SET KERMIT=text
  80.  
  81.   <text> can be one or more MS-DOS Kermit startup parameters of the form
  82.   <name> <value>, separated by semicolons.  Startup parameters include:
  83.  
  84.     INPBUT <number>         (allocates storage for INPUT command buffer)
  85.     ROLLBACK <number>         (allocates storage for <number> rollback screens)
  86.     WIDTH <number>         (allocates sorage for given screen width, 80-207)
  87.     COMn <address> <irq>     (sets COM1, COM2, COM3, or COM4 address and IRQ)
  88.     PATH <path>             (where Kermit looks for TAKE files)
  89.  
  90.   PATH and WIDTH are new to version 3.13.  WIDTH defines the width of the
  91.   terminal-screen rollback memory.  If you want to roll back wide screens,
  92.   you should specify the width, e.g. 132.  AUTOEXEC.BAT Example:
  93.  
  94.     SET KERMIT=ROLLBACK 50;WIDTH 132;PATH C:\KERMIT  
  95.  
  96.   PATH affects the initialization-file search, the TAKE command, and
  97.   the IF INPATH command.
  98.  
  99. UPDATE: DIALING AND THE DIALING DIRECTORY
  100.  
  101. MS-DOS Kermit does not have a built-in DIAL command, but if you installed
  102. Kermit from the distribution disk according to instructions, you'll be able to
  103. use the DIAL macro defined in Kermit's initialization file, MSKERMIT.INI.
  104. DIAL uses two additional files: xxxxx.SCR, a script program for dialing your
  105. modem ("xxxxx" is HAYES, T3000, ROLM, etc, see below for a list), and
  106. DIALUPS.TXT, your dialing directory (see MODEMS.HLP).
  107.  
  108. If you do not have a modem for which a dialing script is provided, you can
  109. write a new script program for dialing, modelled after one of the other
  110. dialing scripts (see Chapter 14 of "Using MS-DOS Kermit) and set a DOS
  111. environment variable, MODEM, to be the name of your modem; the dialing script
  112. should have the same name, with a filetype of .SCR.  For example, for dialing
  113. an XYZV32 modem, put the following line your AUTOEXEC.BAT file:
  114.  
  115.   SET MODEM=XYZV32
  116.  
  117. and install a XYZV32.SCR file in the same directory as your MSKERMIT.INI file.
  118.  
  119. If you don't have a dialing script for your type of modem, you can also dial
  120. it "manually" in CONNECT mode.
  121.  
  122. To use a dialing directory, create a plain text file called DIALUPS.TXT.  The
  123. file contains one line per entry:
  124.  
  125.   name     number      speed       parity   comments
  126.  
  127. The "name" is the name you want to use for this entry in your DIAL commands.
  128. "number" is the telephone number; "speed" is the dialing speed in bits per
  129. second, "parity" is the parity to use (even, odd, mark, space, or none).  The
  130. name, number, speed, and parity are separated from each other by one or more
  131. spaces.     Any words after the parity are ignored, so you can use them for
  132. comments.  If trailing fields (speed, parity) are omitted, Kermit's current
  133. values are used (but then you can't have a comment).  If you want to tell
  134. Kermit explicitly to use its current value for speed or parity, use an equal
  135. sign (=).  Examples:
  136.  
  137.   sprintnet  7654321      2400     mark
  138.   oofanet    6543210      1200     odd    This entry has a comment.
  139.   tymnet     93,876-5432  2400     even    You can put punctuation in the phone #.
  140.   hometone   T5551212      1200     none    T in number forces tone dialing
  141.   homepulse  P5551212      1200     none    P in number forces pulse dialing
  142.   anyspeed   999-9999      =     none    Use current speed, whatever it is.
  143.   anyparity  888-8888      9600     =    Use current parity, whatever it is.
  144.   whocares   777-7777      =     =    Use current speed and parity.
  145.   defaults   987-6543
  146.  
  147. To use the dialing directory, just type DIAL followed by the name, spelled out
  148. in full (case doesn't matter), for example:
  149.  
  150.   MS-Kermit>dial tymnet
  151.  
  152. If you type a name or number that is not in the directory, Kermit dials exactly
  153. the characters you type, for example DIAL 5552370 dials the number 5552370.
  154. DIAL FRED (if FRED is not in the directory) tells Kermit to dial the letters
  155. FRED, which won't accomplish anything useful with most modems.
  156.  
  157. To view your dialing directory, type LIST.  To view particular entries in your
  158. dialing directory, type LIST XXX, where XXX is a sequence of characters that
  159. appears in the desired entries (usually the name).  In the LIST command, case
  160. is important because it uses the DOS FIND program to list the entries:
  161.  
  162.   MS-Kermit>list tymnet
  163.   tymnet     93,876-5432  2400     even    You can put punctuation in the phone #.
  164.  
  165. In your dialing directory, you can include spaces in the name or number by
  166. enclosing it in braces, as in these examples:
  167.  
  168.   {my computer}     555-4321         2400   none
  169.   your-computer     {9 1 800 555 1234}  1200   odd
  170.   {our computer} {212 701 0000}        19200   space
  171.  
  172. Now you can type commands like DIAL MY COMPUTER, DIAL OUR COMPUTER.
  173.  
  174. The DIAL command assumes your dialing directory is stored on your PC as
  175. C:\KERMIT\DIALUPS.TXT.    If you want to keep it someplace else or you need to
  176. use some other name, create a DOS environment variable in your AUTOEXEC.BAT
  177. file:
  178.  
  179.   SET DIALFILE=C:\PHONES\DIALING.DIR
  180.  
  181. If you want to use the directory sometimes but not others, define a separate
  182. macro for dialing without it:
  183.  
  184.   define call take \m(_modem).SCR
  185.  
  186. (where _modem is defined as your modem type, e.g. HAYES, and you have an
  187. appropriate dialing script file in your PATH, e.g. HAYES.SCR).    The _modem
  188. variable is set automatically from your DOS environment variable, MODEM, and
  189. is HAYES by default (i.e. if there is no MODEM environment variable).
  190.  
  191. As of MS-DOS Kermit 3.13, the DIAL command now supports the following modems:
  192.  
  193.    Hayes 1200 and 2400 
  194.    Hayes ULTRA 14400
  195.    Penril Alliance V.32 
  196.    Practical Peripherals 14400
  197.    Rolm CBX DCM 
  198.    SupraFAXmodem V.32bis 
  199.    Telebit QBlazer V.32 
  200.    Telebit T3000 V.32bis 
  201.    Vadic VA2400PA 
  202.  
  203. See MODEMS.DOS (MSMAAA.DOC) for further information.
  204.  
  205.  
  206. UPDATE: NEW FASTER METHOD FOR TRANSFERRING BINARY FILES
  207.  
  208. This feature allows you to improve MS-DOS Kermit's file transfer performance
  209. on connections that you know are transparent to a certain set of control
  210. characters.  It lets you tell MS-DOS Kermit exactly which control characters
  211. need to be prefixed and which ones do not when it is sending files.
  212.  
  213. SET CONTROL-CHARACTER UNPREFIXED { <code>..., ALL }
  214.   Says that you think it is safe to include the control character represented
  215.   by <code> without prefixing in packets which MS-DOS Kermit sends.  The
  216.   <code> is the numeric ASCII code for a control character, 0-31, 127-159, or
  217.   255.    For example, linefeed (code 10) is normally sent as two printable
  218.   characters, #J.  SET CONTROL UNPREFIXED 10 lets linefeed be sent literally.
  219.   You can include the word ALL to unprefix all control characters, or you can
  220.   specify a list of one or more numeric values, separated by spaces.  Examples:
  221.  
  222.      SET CONTROL UNPREFIXED 31         ; A single control character
  223.      SET CONTROL UNPREFIXED 2 4 5 18 20     ; A list of control characters
  224.      SET CONTROL UNPREFIXED ALL         ; All control characters
  225.  
  226.   If you can safely declare a lot of control characters to be UNPREFIXED, you
  227.   can send binary files (particularly precompressed ones) up to about 20-25
  228.   percent faster.  If you include a control character in this category that
  229.   causes trouble, however, the transfer will fail, so experimentation is
  230.   necessary.  NOTE: This command will not allow you to "unprefix" the
  231.   following characters if MS-DOS Kermit's current FLOW-CONTROL setting is
  232.   XON/XOFF: 17, 19, 145, 147; nor will it let you unprefix characters 127 or
  233.   255 on a TELNET (SET PORT TCP/IP) connection.
  234.  
  235. SET CONTROL-CHARACTER PREFIXED { <code>..., ALL }
  236.   Says that the given control character(s) must be prefixed in Kermit packets.
  237.   By default, all control characters, 0-31, 127-159, and 255, are prefixed.
  238.   NOTE: when sending files *to* MS-DOS Kermit, you must SET CONTROL
  239.   PREFIXED (at least) 1 129 (assuming the start-of-packet character is
  240.   Ctrl-A).
  241.  
  242. SHOW CONTROL-PREFIXING
  243.   Displays the code values of the control characters that are currently
  244.   UNPREFIXED.
  245.  
  246. The purpose of the SET CONTROL UNPREFIX command is to UNILATERALLY configure
  247. MS-DOS Kermit to skip prefixing and printable encoding of selected control
  248. characters to achieve higher performance when sending files.  This feature
  249. takes advantage of the fact that most (not all) Kermit programs will accept
  250. control characters within packet data-fields literally, provided they get
  251. through at all, and provided they do not have a special meaning to the
  252. receiving Kermit program (such as, in many cases, the packet-start and
  253. packet-end characters).
  254.  
  255. There is no protocol negotiation between the two Kermit programs to determine
  256. a "safe set" of control characters, and in fact any such negotiation would be
  257. largely meaningless, because in most cases the two Kermit programs don't have
  258. all the needed information.  For example, there might be a terminal server or
  259. PAD between them that is sensitive to a particular control character, even
  260. though the two Kermit programs are not.
  261.  
  262. If you include in your SET CONTROL UNPREFIXED list one or more control
  263. characters that are unsafe, any of several things might happen:
  264.  
  265.  1. Transfer of any file containing these characters will fail.
  266.  
  267.  2. The receiving Kermit program might be interrupted or halted.
  268.  
  269.  3. Your connection might become hung, stuck, or broken.  This includes the
  270.     situation where a control character causes a PAD, terminal server, or
  271.     similar device to change modes -- e.g. to go from online mode to command
  272.     mode.
  273.  
  274. The set of safe control characters depends on the two Kermit programs, their
  275. settings, the host operating systems and their settings, the communication and
  276. flow control methods, and all the devices, drivers, and protocols that lie
  277. between the two Kermit programs.  You must be willing to experiment in order
  278. to achieve the optimal safe set.
  279.  
  280. Under ideal conditions (totally transparent and clean serial connection, no
  281. Xon/Xoff, MS-DOS Kermit is not in SERVER mode, and C-Kermit has been told to
  282. SET TRANSFER CANCELLATION OFF), the minimum set of control characters that
  283. needs to be prefixed is:
  284.  
  285.   SENDER      RECEIVER       PREFIXED CONTROLS
  286.    MS-DOS Kermit   MS-DOS Kermit    1, 129
  287.    MS-DOS Kermit   C-Kermit        0
  288.    C-Kermit       MS-DOS Kermit    0, 1, 129
  289.    C-Kermit       C-Kermit        0
  290.  
  291. For example, to set up C-Kermit to unprefix the minimum set of prefixed
  292. control characters for sending files to MS-DOS Kermit, tell C-Kermit to:
  293.  
  294.   SET FLOW NONE           ; Or SET FLOW RTS/CTS
  295.   SET CONTROL UNPREFIX ALL
  296.   SET CONTROL PREFIX 1 129 ; C-Kermit always prefixes character 0
  297.  
  298. When the mininum set doesn't work, use the SET CONTROL PREFIX command to
  299. prefix additional control characters.  Some experimentation will be required.
  300. Here is the list of control characters that are apt to cause trouble and
  301. therefore likely candidates for prefixing:
  302.  
  303. set con p 0   ; Ctrl-@ = NUL, internal string terminator in C-Kermit.
  304.           ;         Also, often discarded as padding.
  305. set con p 1   ; Ctrl-A = Packet-start character.
  306. set con p 3   ; Ctrl-C = Packet breakout for remote-mode C-Kermit,
  307.           ;         packet breakout for server-mode MS-DOS Kermit,
  308.           ;         likely to cause interruptions on other systems.
  309. set con p 13  ; Ctrl-M = Carriage return, always prefix on TELNET connections.
  310. set con p 14  ; Ctrl-N = Shift Out
  311. set con p 15  ; Ctrl-O = Shift In
  312. set con p 16  ; Ctrl-P = Commonly-used X.25/X.3 PAD escape character
  313. set con p 17  ; Ctrl-Q = XON, must be prefixed with Xon/Xoff flow control
  314. set con p 19  ; Ctrl-S = XOFF, must be prefixed with Xon/Xoff flow control
  315. set con p 27  ; Ctrl-[ = ESC, prefix if going through some kind of ANSI device
  316. set con p 28  ; Ctrl-\ = CONNECT-mode escape for C-Kermit
  317. set con p 29  ; Ctrl-] = CONNECT-mode escape for TELNET
  318. set con p 30  ; Ctrl-^ = Cisco terminal server escape.
  319. set con p 127 ; Ctrl-? = DEL, often discarded as padding.
  320.           ;         Also becomes TELNET IAC if parity bit is added.
  321. set con p 128 ; = NUL     + 128
  322. set con p 129 ; = Ctrl-A + 128
  323. set con p 131 ; = Ctrl-C + 128
  324. set con p 141 ; = CR + 128
  325. set con p 145 ; = XON + 128
  326. set con p 147 ; = XOFF + 128
  327. set con p 255 ; 255 = TELNET IAC, use P on TCP/IP TELNET connections
  328.  
  329. Notes:
  330.  
  331.  . If MS-DOS Kermit has initiated a TCP/IP connection, prefixing of 255
  332.    (TELNET IAC) is forced automatically.
  333.  
  334.  . Kermit will not let you unprefix XON (17), XOFF (19), XON+128 (145), or
  335.    XOFF+128 (147) if its FLOW-CONTROL setting is XON/XOFF.  If you want to
  336.    unprefix these, make sure *both* Kermits have been told to SET FLOW NONE
  337.    (or RTS/CTS), and that XON/XOFF flow control is not in effect anywhere
  338.    along the communication path between the two Kermits.
  339.  
  340.  . When sending files to C-Kermit, you should normally SET CONTROL PREFIX 3
  341.    and SET CONTROL PREFIX 131, because C-Kermit (by default) takes two
  342.    Ctrl-C's (3 or 131) in a row as cancellation of packet-mode.     However, you
  343.    can UNPREFIX these characters if you know your file does not contain two
  344.    Ctrl-C's in a row, or if you tell C-Kermit to SET TRANSFER CANCELLATION
  345.    OFF, or SET TRANSFER CANCELLATION ON <code> <number> when you know that
  346.    <number> copies of <code> do not occur in a row in the data.
  347.  
  348. UPDATE: OTHER FILE TRANSFER IMPROVEMENTS
  349.  
  350.  . Bigger file transfer window sizes and packet buffers, depending on
  351.    available memory.  Packets may be up to 9024 bytes in length, and the
  352.    window can contain up to 31 packets of the maximum length.  Use the 
  353.    regular commands to select these sizes: SET RECEIVE PACKET-LENGTH and
  354.    SET WINDOW.    Also see the Memory Management section of KERMIT.BWR
  355.    (MSKERM.BWR). 
  356.  
  357.  . Locking shifts for more efficient transfer of 8-bit text on 7-bit
  358.    connections (important for Cyrillic, Hebrew, and Japanese text).  New
  359.    command:
  360.  
  361.    SET TRANSFER LOCKING-SHIFT { OFF, ON, FORCED }
  362.      The default setting is ON, meaning that MS-DOS Kermit will attempt to
  363.      negotiate use of this feature with the other Kermit if the parity is not
  364.      NONE, in which case locking shifts will be used if the other Kermit
  365.      agrees (C-Kermit 5A and IBM Mainframe Kermit 4.2.4 will agree, others
  366.      will not).     OFF means don't negotiate locking shifts, and FORCED means to
  367.      use them regardless of negotiations.
  368.  
  369.  . Dynamically variable packet length to adapt automatically to changing noise
  370.    conditions.    This happens automatically when MS-DOS Kermit is sending
  371.    files.  No commands are needed.  If packets are damaged by noise or
  372.    timeouts occur, MS-DOS Kermit cuts the packet length in half and then
  373.    gradually grows it back to the maximum negotiated size as (and if)
  374.    transmission errors subside.
  375.  
  376.  . A new file transfer "thermometer", improved statistics reporting including,
  377.    for serial connections only, the efficiency of the transfer expressed as a
  378.    percent.  This is the ratio of actual file characters transferred per
  379.    second to the connection speed.
  380.  
  381.  
  382. UPDATE: NEW CHARACTER-SET SUPPORT
  383.  
  384. A new command is available to tell MS-DOS Kermit what your actual code page
  385. is, for purposes of character-set translation during terminal emulation:
  386.  
  387.   SET TERMINAL CODE-PAGE CPnnn
  388.  
  389. where nnn are digits.  This command is necessary because most PCs fail to
  390. report active code pages other than CP437 and CP850 correctly, and so Kermit
  391. generally has no way to find out when you have some other code page loaded.
  392. This command is distinct from SET FILE CHARACTER-SET, so you can select
  393. translations for terminal emulation and file transfer separately if you want
  394. to.  MS-DOS Kermit knows about the following code pages:
  395.  
  396.  Code Page  File-Xfer  Term-Emul  Comments
  397.    CP437    Y       Y      Original PC, and usually hardware, code page
  398.    CP850    Y       Y      Multilingual West European code page
  399.    CP852*    Y       Y      Multilingual East European code page
  400.    CP860    Y       Y      Portuguese code page
  401.    CP861*    Y       Y      Icelandic code page
  402.    CP862*    Y       Y      Hebrew code page
  403.    CP863    Y       Y      Canadian-French code page
  404.    CP865    Y       Y      Norwegian/Danish code page
  405.    CP866    Y       N      Cyrillic code page
  406.  Shift-JIS**    Y       N      Japanese Kanji multibyte code page = CP982
  407.  
  408. ** New to version 3.12
  409. *  New to version 3.13
  410.  
  411. Roman character sets for East European languages (Czech, Polish, Hungarian,
  412. Romanian, etc) (version 3.13).    Commands:
  413.  
  414.    SET TERMINAL CHARACTER-SET LATIN2 ; ISO 8859-2 Latin Alphabet 2
  415.    SET TRANSFER CHARACTER-SET LATIN2 ; ISO 8859-2 Latin Alphabet 2
  416.    SET TERMINAL CODE-PAGE CP852         ; Code page 852
  417.    SET FILE CHARACTER-SET CP852         ; Code page 852
  418.  
  419.    MS-DOS 5.0 and later include the East European Code Page, CP852.
  420.    To use this code page:
  421.  
  422.    1. Add the following lines to your AUTOEXEC.BAT file and then reboot:
  423.  
  424.       C:\DOS\MODE CON: CP PREPARE=((850,,437,852) C:\DOS\EGA.CPI)
  425.  
  426.    4. To load the East European code page, use this DOS command:
  427.  
  428.       C:\DOS\MODE CON: CP SELECT=852
  429.  
  430. New Icelandic code page support (version 3.13).     Commands:
  431.  
  432.   SET TERMINAL CHARACTER-SET LATIN1 (or DEC-MCS, or whatever)
  433.   SET TRANSFER CHARACTER-SET LATIN1
  434.   SET TERMINAL CODE-PAGE CP861
  435.   SET FILE CHARACTER-SET CP861
  436.  
  437.   Use MODE CON CP PREPARE, if necessary, to install this code page.
  438.   Use MODE CON CP SELECT=861 to load it.
  439.  
  440. Cyrillic terminal emulation and file transfer (version 3.11):
  441.  
  442.   For terminal emulation, CP866 or equivalent must be loaded, SET
  443.   TRANSLATE INPUT tables are needed for host-to-screen character
  444.   translation (samples available on request), and you'll need
  445.   a Cyrillic keyboard and driver, or SET KEY commands to configure
  446.   your Roman keyboard.  For file transfer use these commands:
  447.  
  448.   SET FILE CHARACTER-SET CP866
  449.   SET TRANSFER CHARACTER-SET CYRILLIC
  450.  
  451. Japanese Kanji file transfer (version 3.12).  Commands:
  452.  
  453.   SET TRANSFER CHARACTER-SET JAPANESE-EUC
  454.   SET FILE CHARACTER-SET SHIFT-JIS
  455.  
  456.   Kanji character-set translation during terminal emulation is not yet
  457.   available, but Kermit CONNECT mode works in Kanji mode on Japanese DOS/V
  458.   computers, which is useful if the remote host uses the same Shift-JIS
  459.   character set as MS-DOS Kermit. 
  460.  
  461. Hebrew terminal emulation and file transfer (version 3.13).  Commands:
  462.  
  463.   SET TRANSFER CHARACTER-SET HEBREW
  464.   SET FILE CHARACTER-SET CP862
  465.   SET TERMINAL CHARACTER-SET { HEBREW-ISO, HEBREW-7 }
  466.   SET TERMINAL DIRECTION { RIGHT-TO-LEFT, LEFT-TO-RIGHT }
  467.   SET TERMINAL CODE-PAGE CP862
  468.  
  469.   Terminal direction is controlled in two different ways: (1) by
  470.   host-generated escape sequences (automatic, see below) and (2) by the
  471.   SET TERMINAL DIRECTION command.  When the writing direction is changed by
  472.   escape sequences from the host, the cursor-positioning coordinate system
  473.   is not changed.  For example, if Kermit was in left-to-right mode and the
  474.   host send ESC [ ? 34 h, position (1,1) would still be in the upper left.
  475.   This is how a real Hebrew-model VT terminal works.  If, however, you command
  476.   Kermit into RIGHT-TO-LEFT mode, the coordinate system flips right to left
  477.   so the origin (1,1) is at the upper right corner, which is useful for 
  478.   viewing and composing some right to left text. The host can override the 
  479.   user setting, and the user can later override the host setting.
  480.  
  481.   Hebrew character sets:
  482.  
  483.   . CP862 is the PC Hebrew code page, available from IBM as EGAHE.COM, or
  484.     perhaps as a hardware code page on Hebrew-model PCs.  We cannot distribute
  485.     this code page because it is proprietary.  You must have this code page
  486.     loaded in order to see Hebrew characters on your screen.
  487.  
  488.   . HEBREW-ISO is the 8-bit standard ISO 8859-8 Latin/Hebrew alphabet.
  489.  
  490.   . HEBREW-7 is the 7-bit Hebrew "National Replacement Character Set" (NRC),
  491.     ASCII with the lowercase Roman letters replaced by Hebrew letters,
  492.     often used in e-mail.
  493.  
  494.   MS-DOS Kermit 3.13 supports:
  495.  
  496.   . Automatic selection of writing direction by host escape sequence.
  497.   . ISO 2022-compliant terminal character-set designation and invocation.
  498.   . Hebrew keyboard mode.
  499.  
  500.   Hebrew-specific escape sequences recognized by the VT220 and 320 terminal
  501.   emulators: 
  502.  
  503.     ESC ) H        Designates right half of Latin/Hebrew to G1   
  504.     ESC * H        Designates right half of Latin/Hebrew to G2   
  505.     ESC + H        Designates right half of Latin/Hebrew to G3   
  506.     ESC ( % =        Designates 7-bit Hebrew NRC to G0-G3          
  507.     ESC ) " 4        Designates DEC supplement Hebrew letters to G1
  508.     ESC * " 4        Designates DEC supplement Hebrew letters to G2
  509.     ESC + " 4        Designates DEC supplement Hebrew letters to G3
  510.     DCS 0 ! u " 4 ST    Assigns DEC supplement Hebrew as UPSS
  511.     DCS 0 ! u H ST    Assigns Latin/Hebrew as UPSS
  512.     CSI ? 34 h        Sets right-to-left screen-writing mode
  513.     CSI ? 34 l        Sets left-to-right screen-writing mode
  514.     CSI ? 35 h        Sets Hebrew keyboard mapping via Kermit macros
  515.     CSI ? 35 l        Sets Roman (North American) keyboard mapping, ditto
  516.     CSI ? 36 h        Hebrew encoding mode is 7-bit Hebrew-7 "National mode"
  517.     CSI ? 36 l        Hebrew encoding mode is 8-bit ISO Latin/Hebrew
  518.  
  519.   Hebrew keyboard mapping:
  520.  
  521.     CSI ? 35 h invokes the macro KEYBOARDS, which you must define to set up
  522.     your keyboard for entering Hebrew characters.  If this macro is not
  523.     defined, nothing happens.
  524.  
  525.     CSI ? 35 l invokes the macro KEYBOARDR, which you must define to set up
  526.     your keyboard for entering Roman (North American) characters.  If this
  527.     macro is not defined, nothing happens.
  528.  
  529.     Note: do not define KEYBOARDS without also defining KEYBOARDR to undo
  530.     its effects!
  531.  
  532.   The various reports furnished by MS-DOS Kermit also include Hebrew-
  533.   specific information, and the following host-initiated operations work
  534.   in both left-to-right and right-to-left mode: Insert/Replace Mode, Autowrap,
  535.   Backspace, Carriage Return, Linefeed, Formfeed, Vertical Tab, Horizontal Tab.
  536.  
  537.   The keyboard mapping sequences invoke the user-defined macros KEYBOARDS (h)
  538.   and KEYBOARDR (l).  Users should define these macros to accomplish the
  539.   desired keyboard mappings with SET KEY commands.
  540.  
  541.   In VT100 and VT102 mode, the following functions are supported:
  542.  
  543.     ESC ) 1        Enter Hebrew mode
  544.     ESC ) B        Exit Hebrew mode
  545.  
  546. West European (including Icelandic), East European, Cyrillic, Hebrew, and
  547. Kanji file transfer work in conjunction with C-Kermit 5A(189) and IBM
  548. Mainframe Kermit 4.2.4.     Hebrew file transfer is not available in C-Kermit
  549. 5A(188) or earlier.
  550.  
  551. Character-set translation goal selection:
  552.  
  553. SET TRANSLATION CHARACTER-SET { READABLE, INVERTIBLE }
  554.   Default is READABLE. INVERTIBLE attempts to use code points as much in
  555.   common between the transfer and file character sets as possible, with the
  556.   transfer character set having priority.  Thus INVERTIBLE can create code
  557.   points which do not display correctly on the destination machine but yield
  558.   the closest match when a file is sent back to the originator.
  559.  
  560. Terminal-to-host keyboard character shifting:
  561.  
  562. SET TERMINAL OUTPUT-SHIFT { NONE, AUTOMATIC, SI/SO, SS2, SS3 }
  563.   Allows you to type 8-bit characters on a 7-bit terminal connection.
  564.   MS-DOS Kermit supplies the selected type of shifting:
  565.  
  566.     NONE  - (Default) No shifting
  567.     SI/SO - Shift-In Shift-Out around each 8-bit character (GR = G1)
  568.     SS2      - Single-Shift 2 before each 8-bit character (GR = G2)
  569.     SS3      - Single-Shift 3 before each 8-bit character (GR = G3)
  570.     AUTO  - Shift type depends on current character set GR assignment     
  571.  
  572.  
  573. UPDATE: IBM MAINFRAME FILE TRANSFER
  574.  
  575. Correct implementation of "Doomsday Kermit" (DDK) techniques for transferring
  576. files with IBM mainframes through 3270 protocol converters that do NOT support
  577. transparent mode, to be used in conjunction with IBM Mainframe Kermit's SET
  578. CONTROLLER FULLSCREEN command on VM/CMS, MVS/TSO, or CICS.  IBM Mainframe
  579. Kermit 4.2.3 or later required.     Commands:
  580.     
  581.   SET PARITY EVEN     ; Or whatever
  582.   SET FLOW XON/XOFF     ; Or whatever
  583.   SET SEND START 62     ; Greater-than sign
  584.   SET RECEIVE START 62     ; Ditto
  585.   SET BLOCK BLANK-FREE-2 ; New block-check type
  586.   SET HANDSHAKE NONE
  587.  
  588. BLANK-FREE-2 is a new block-check type, exactly like type 2, except encoded
  589. to never contains blanks.  Give IBM Mainframe Kermit the following commands:
  590.  
  591.   SET CONTROLLER FULL
  592.   SET SEND START 62
  593.   SET RECEIVE START 62
  594.   SET BLOCK BLANK-FREE-2
  595.   SET HANDSHAKE 0
  596.  
  597. Doomsday Kermit file transfers are not as reliable as regular Kermit protocol
  598. transfers, and they are much slower.  Use this method only as a last resort.
  599.  
  600.  
  601. UPDATE: THE APC ESCAPE SEQUENCE
  602.  
  603. The handling of the CSI ? 34 h / l escape sequences by the VT220 and VT320
  604. terminal emulators changed between versions 3.12 and 3.13 in order to support
  605. Hebrew VT220/320/420 terminal emulation, and because DEC software such as
  606. DECforms expects to use these sequences to control screen-writing direction.
  607.  
  608. Old way (described on pages 180-181 of "Using MS-DOS Kermit"): CSI ? 34 h / l
  609. invoked the TERMINALR and TERMINALS macros, if you had them defined.  This
  610. required each Kermit user to define them, for example in their MSCUSTOM.INI
  611. files, a big management problem for large user communities.
  612.  
  613. New way: CSI ? 34 h / l controls screen-writing direction, left-to-right or
  614. right-to-left (for Hebrew and Arabic), as it does on real Hebrew-model VT
  615. terminals (see Hebrew section above).
  616.  
  617. To replace the TERMINALR/TERMINALS function, MS-DOS Kermit 3.13 now supports
  618. the Application Program Command (APC) escape sequence, which is accepted by
  619. MS-DOS Kermit 3.13's VT emulators, VT100 and above:
  620.  
  621.   APC <string> ST
  622.  
  623. In the 7-bit environment, APC is ESC _ and ST (string terminator) is ESC \.
  624. In the 8-bit environment, APC is decimal 159 and ST is 156 decimal.  The
  625. <string> can be any MS-DOS Kermit command or list of commands, separated by
  626. commas, and can be up to 1024 bytes in length.    Upon receipt of this escape
  627. sequence, MS-DOS Kermit executes the command(s) in the string and then
  628. automatically resumes CONNECT mode.
  629.  
  630.   NOTE: In this respect, APC differs from the old TERMINALR/TERMINALS
  631.   mechanism, which did NOT automatically re-enter CONNECT mode.  Thus, if
  632.   you are recycling your TERMINALR/TERMINALS macros for APC use, be sure
  633.   to remove the ", connect" from the end of their definitions, or else you
  634.   will have to escape back twice the next time you want the MS-Kermit> prompt.
  635.  
  636. For safety, the APC mechanism cannot be used to invoke certain MS-DOS Kermit
  637. commands that might do damage, like deleting your files.  Included in this
  638. category is the RUN command, which provides access to DOS and to other
  639. applications.  This new MS-DOS Kermit command regulates the APC mechanism:
  640.  
  641.   SET TERMINAL APC { ON, OFF, UNCHECKED }
  642.  
  643. ON (the default) means that Kermit will execute only safe commands.  OFF means
  644. Kermit will not execute any commands and will ignore APCs.  UNCHECKED means
  645. Kermit will execute ANY commands sent via APC.    Use UNCHECKED at your own risk.
  646.  
  647. APC is much more flexible than the old TERMINALS/TERMINALR mechanism, and can
  648. be used for any purpose at all.     For example, it can be used to configure
  649. MS-DOS Kermit for use with a particular host or application by sending the
  650. appropriate list of SET commands: communication parameters like parity,
  651. protocol parameters like packet-length and window size, key mappings, etc.
  652.  
  653. It can also be used to initiate file transfers automatically from the host
  654. without having to escape back to MS-DOS Kermit.     Here's an example you can use
  655. with C-Kermit 5A.  In your C-Kermit 5A customization file (.mykermrc or
  656. CKERMOD.INI), add commands like this:
  657.  
  658.   define autosend set delay 0, apc receive, send \%1 \%2, statistics
  659.   define autoreceive apc {send \%1 \%2}, receive, statistics
  660.  
  661. Try it!     Nothing special is required on the PC side.  Note: The APC command is
  662. new to C-Kermit 5A(189); if you have an earlier release you can define APC as
  663. a macro:
  664.  
  665.   define apc output \27_\%1\27\92
  666.  
  667. You can set up similar procedures with IBM mainframe Kermit, e.g. in VM/CMS by
  668. stacking commands and using XECHO to emit the escape sequences.
  669.  
  670. You can expand these commands to handle text and binary mode if you want to:
  671.  
  672.   ; Text transfers
  673.   define tsend set del 0, set file type text, apc receive, send \%1, stat
  674.   define treceive apc {set fil typ text, send \%1 \%2}, stat
  675.   ;
  676.   ; Binary transfers
  677.   define bsend set del 0, set file type binary, apc receive, send \%1, stat
  678.   define breceive apc {set fil typ binary, send \%1 \%2}, stat
  679.  
  680. Use your imagination, the possibilities are endless!
  681.  
  682.  
  683. UPDATE: DATA GENERAL DASHER TERMINAL EMULATION
  684.  
  685. MS-DOS Kermit 3.13 includes built-in emulation of the Data General DASHER
  686. D463 (monochrome) and D470 (color) text/graphics terminals:
  687.  
  688.   SET TERMINAL TYPE { D463, D470 }
  689.  
  690. Because DASHER escape sequences can include XON and XOFF characters, you must
  691. also tell MS-DOS Kermit not to use regular bidirectional Xon/Xoff flow
  692. control.  Instead, on network connections, SET FLOW NONE; on serial
  693. connections, SET FLOW RTS/CTS if available, or else use unidirectional
  694. Xon/Xoff with the new command:
  695.  
  696.   SET FLOW OUTGOING-XON/XOFF
  697.  
  698. If the remote host echos these characters Kermit will accept them as data
  699. instead and that will confuse interpretation of following control sequences.
  700.  
  701. For using Western European languages on a Data General host:
  702.  
  703.   SET TERMINAL CHARACTER-SET DG-INTERNATIONAL
  704.  
  705. DG function and special keys are supported via new keyboard verbs, which can
  706. be assigned as desired with SET KEY: \KdgF1..F15, \KdgC1..C4, arrow keys,
  707. Home, \KdgPoint, \KdgSPCL, \KdgNC.  These verbs are not assigned
  708. automatically, you must assign them yourself.  Here, for example, is a sample
  709. macro that assigns the DG F1-F12 keys to the PC's F1-F12 keys:
  710.  
  711. define dasher set key cle,set flow outgoing-xon/xoff,set term type d463,-
  712.   set ke \315 \kdgf1,set ke \316 \kdgf2,set ke \317 \kdgf3,-
  713.   set ke \318 \kdgf4,set ke \319 \kdgf5,set ke \320 \kdgf6,-
  714.   set ke \321 \kdgf7,set ke \322 \kdgf8,set ke \323 \kdgf9,-
  715.   set ke \324 \kdgf10,set ke \389 \kdgf11,set ke \390 \kdgf12
  716.  
  717. Arrow-key codes (\Klfarr, etc) are adjusted automatically according to the
  718. terminal type (VT52/Heath, VT100/102, VT220/320, or Data General).
  719.  
  720. For SPCL key operation, see the next section.
  721.  
  722. A comprehensive set of DG DASHER key assignments is given in the DASHER.INI
  723. (MSIDASH.INI) file, supplied by a volunteer at Data General Corporation.  This
  724. mapping follows that used in DG's CEO Connection product.
  725.  
  726. Compressed text (see section on compressed text below) is supported in either
  727. text or graphics mode, depending on your video adapter and preferences; in
  728. graphics mode, regular and compressed text can be mixed on the same screen.
  729. Full-color DG graphics are also supported including polygon fill, and the
  730. mouse (Microsoft or compatible) is supported for CEO Drawing Board and other
  731. graphics applications; mouse movements control the crosshair cursor and the
  732. left mouse button sends \KdgF1.
  733.  
  734. The DG International Character Set (DGI) is supported during terminal
  735. emulation, with conversion to CP437 if CP437 is active, otherwise to CP850.
  736. CP850 is recommended, since it is the closest match to DGI.  Other code
  737. pages are not supported in DG terminal emulation.  Hebrew, Latin/2, and Kanji
  738. terminal emulation are not supported in DG terminal emulation.
  739.  
  740. Also not supported for DG terminal emulation: downloadable
  741. fonts/character-sets; retention of graphics screens after escaping back or
  742. switching to text mode; compressed fornts for monochrome, CGA, or Hercules
  743. video adapters.
  744.  
  745.  
  746. UPDATE: COMPOSE-KEY SEQUENCES FOR ENTERING SPECIAL CHARACTERS
  747.  
  748. Special characters (accented letters, etc) may be entered in the normal ways
  749. described in "Using MS-DOS Kermit", second edition, Chapter 13, and now also
  750. as compose-key sequences.  There are two new compose-key verbs:
  751.  
  752.   \Kcompose ; DEC Compose key
  753.   \KdgSPCL  ; Data General SPCL ("special") key
  754.  
  755. In fact, these two verbs are identical.     Neither one of them is assigned to
  756. any key by default, so to use compose-key sequences, you must first make the
  757. appropriate assigment, for example:
  758.  
  759.   SET KEY \2334 \KdgSPCL ; Make Alt-a the SPCL / Compose key
  760.  
  761. Now to enter a special character, press this key followed by two more keys.
  762. For example, you can enter A-acute like this:
  763.  
  764.   Alt-a ' A
  765.  
  766. That is, press Alt-a (or whichever key or key combination you have assigned
  767. \Kcompose or \KdgSPCL to), then acute accent (apostrophe), then capital A.
  768. See below for a complete listing of compose-key combinations.  In general,
  769. however, they are intuitive: letter + grave accent ("backquote"), letter +
  770. acute accent (apostrophe), letter + doublequote (for umlaut or diaeresis),
  771. letter + asterisk (ring above), etc.
  772.  
  773. When you press the compose key, the letter C appears at the right of the
  774. terminal-emulation status line and remains there until you type the next two
  775. keys.  If the two keys form a valid compose sequence, the corresponding
  776. character is sent to the host.    If not, Kermit beeps.  In both cases, the C
  777. disappears from the status line at the end of the compose sequence.  To cancel
  778. a compose sequence in progress, just type one or two Ctrl-C characters (or, in
  779. fact, any two characters that are not a legal compose sequence).
  780.  
  781. Compose sequences are available only for those 8-bit Latin1-class (i.e.
  782. Western European) terminal character-sets that are valid for Kermit's current
  783. terminal emulation:
  784.  
  785. Terminal Type:     Character Sets:
  786.  VT220 or 320      LATIN1, DEC-MCS
  787.  D463 or D470      LATIN1, DG-INTERNATIONAL
  788.  
  789. Compose sequences are entirely independent of your PC's current code page.
  790.  
  791. Here is the complete table of MS-DOS Kermit's compose-key sequences:
  792.  
  793. Case and order insensitive:
  794.   Input pair        DG Int    Latin1    Graphic            
  795.   ++            23h    n/a    #            
  796.   AA            40h    n/a    @            
  797.   ((            5Bh    n/a    [            
  798.   // or /<        5Ch    n/a    \            
  799.   ))            5Dh    n/a    ]            
  800.   ^<space>        7Eh    n/a    ^            
  801.   (-            7Bh    n/a    {            
  802.   /^            7Ch    n/a    |            
  803.   )-            7Dh    n/a    }
  804.   <<            B1h    ABh    << (Left guillemot)
  805.   0^ or *<space>    BCh    B0h    Degree, ring above
  806.   +-            B6h    B1h    +-
  807.   >>            B0h    BBh    >> (Right guillemot)
  808.   SS            FCh    DFh    German double s (Ess-Zet)
  809.   /U            A3h    B5h    Greek mu
  810.   2^            A4h    B2h    2 superscript
  811.   3^            A5h    B3h    3 superscript
  812.   C/ or C|        A7h    A2h    Cent sign
  813.   L- or L=        A8h    A3h    Pound Sterling
  814.   Y- or Y=        B5h    A5h    Yen sign
  815.   SO or S! or S0    BBh    A7h    Paragraph sign
  816.   XO or X0        A6h    A5h    Currency sign
  817.   A-            A9h    A4h    Feminine ordinal
  818.   CO or C0        ADh    A9h    Copyright sign
  819.   PP or P!        B2h    B6h    Pilcrow sign
  820.   .^            B9h    B7h    Middle dot
  821.   O-            AAh    BAh    Masculine ordinal
  822.   12            A2h    BDh    Fraction one-half
  823.   !!            ABh    A1h    Inverted exclamation
  824.   ??            ACh    BFh    Inverted query mark
  825.   T-            AFh    n/a    Not equals sign
  826.   TM            B3h    AEh    Trademark sign
  827.   FF            B4h    n/a    Florin sign (DGI only)
  828.   <=            B7h    n/a    Less than or equals sign (DGI only)
  829.   >=            B8h    n/a    Greater than or equals sign (DGI only)
  830.   ,-            A1h    ACh    Not sign
  831.   ""            BDh    A8h    Diaeresis
  832.   ''            BEh    B4h    Accent acute
  833.   RO            AEh    AEh    Registered sign
  834.   ||            n/a    A6h    Vertical broken bar
  835.   --            n/a    ADh    Soft hyphen
  836.   -^            n/a    AFh    Macron
  837.   ,,            n/a    B8h    Cedilla
  838.   34            n/a    BEh    Fraction three-fourths
  839.   XX            n/a    D7h    Multiplication sign
  840.   -:            n/a    F7h    Division sign
  841.   1^            n/a    B9h    Superscript 1
  842.   14            n/a    BCh    Fraction one-fourth
  843.  
  844. Case and order sensitive:
  845.   Input pair        DG Int    Latin1    Graphic            
  846.   EO            D7h    n/a    OE digraph
  847.   AE            C6h    C6h    AE digraph
  848.   ae            E6h    E6h    ae digraph
  849.   ,C            C7h    C7h    Cedilla
  850.   ,c            E7h    E7h    cedilla
  851.   /O            D6h    D8h    O oblique stroke
  852.   /o            F6h    F8h    o oblique stroke
  853.   HT            n/a    DEh    Icelandic Thorn (yes, HT, not TH)
  854.   ht            n/a    FEh    Icelandic thorn (ht, not th)
  855.   -D            n/a    D0h    Icelandic Eth
  856.   -d            n/a    F0h    Icelandic eth
  857.  
  858. Case sensitive, order insensitive:
  859.   Input pair        DG Int    Latin1    Graphic            
  860.   'A            C0h    C1h    A-acute
  861.   'a            E0h    E1h    a-acute
  862.   `A            C1h    C0h    A-grave
  863.   `a            E1h    E0h    a-grave
  864.   ^A            C2h    C2h    A-circumflex
  865.   ^a            E2h    E2h    a-circumflex
  866.   "A            C3h    C4h    A-diaeresis
  867.   "a            E3h    E4h    a-diaeresis
  868.   ~A            C4h    C3h    A-tilde
  869.   ~a            E4h    E3h    a-tilde
  870.   *A            C5h    C5h    A-ring
  871.   *a            E5h    E5h    a-ring
  872.   'E            C8h    C9h    E-acute
  873.   'e            E8h    E9h    e-acute
  874.   `E            C9h    C8h    E-grave
  875.   `e            E9h    E8h    e-grave
  876.   ^E            CAh    CAh    E-circumflex
  877.   ^e            EAh    EAh    e-circumflex
  878.   "E            CBh    CBh    E-diaeresis
  879.   "e            EBh    EBh    e-diaeresis
  880.   'I            CCh    CDh    I-acute
  881.   'i            ECh    EDh    i-acute
  882.   `I            CDh    CCh    I-grave
  883.   `i            EDh    ECh    i-grave
  884.   ^I            CEh    CEh    I-circumflex
  885.   ^i            EEh    EEh    i-circumflex
  886.   "I            CFh    CFh    I-diaeresis
  887.   "i            EFh    EFh    i-diaeresis
  888.   ~N            D0h    D1h    N-tilde
  889.   ~n            F0h    F1h    n-tilde
  890.   'O            D1h    D3h    O-acute
  891.   'o            F1h    F3h    o-acute
  892.   `O            D2h    D2h    O-grave
  893.   `o            F2h    F2h    o-grave
  894.   ^O            D3h    D4h    O-circumflex
  895.   ^o            F3h    F4h    o-circumflex
  896.   "O            D4h    D6h    O-diaeresis
  897.   "o            F4h    F6h    o-diaeresis
  898.   ~O            D5h    D5h    O-tilde
  899.   ~o            F5h    F5h    o-tilde
  900.   'U            D8h    DAh    U-acute
  901.   'u            F8h    FAh    u-acute
  902.   `U            D9h    D9h    U-grave
  903.   `u            F9h    F9h    u-grave
  904.   ^U            DAh    D8h    U-circumflex
  905.   ^u            FAh    F8h    u-circumflex
  906.   "U            DBh    DCh    U-diaeresis
  907.   "u            FBh    FCh    u-diaeresis
  908.   "Y            DDh    n/a    Y-diaeresis
  909.   "y            FDh    FFh    y-diaeresis
  910.   'Y            n/a    DDh    Y-acute
  911.   'y            n/a    FDh    y-acute
  912.   
  913.  
  914. UPDATE: WIDE SCREENS AND HORIZONTAL SCROLLING
  915.  
  916. As explained in "Using MS-DOS Kermit", Kermit changes between 80 and 132
  917. column mode upon host request (CSI ? 3 h / l) or when you give an explicit SET
  918. TERMINAL WIDTH { 80, 132 } command.  Until now, 132-column screens were
  919. possible only on PCs with video adapters that provide a 132-column text mode.
  920. As of version 3.13, MS-DOS Kermit also includes support for DEC VT 132-column
  921. mode and Data General compressed text on EGA and VGA video adapters, which do
  922. not provide 132 columns in text mode, by entering graphics mode and writing
  923. the characters dot-by-dot. 128 columns are displayed rather than 132 due to
  924. the PC's screen geometry but you can use MS-DOS Kermit 3.13's new horizontal
  925. scrolling feature to see the rightmost 4 columns (see below).
  926.  
  927. Normally, Kermit only keeps 80 columns in its screen-rollback memory.  If you
  928. want to be able to roll back screens of 132 (or, for DG terminal emulation,
  929. up to 207) columns, you must set the KERMIT environment variable WIDTH to 132
  930. (or the desired number) in your AUTOEXEC.BAT file, for example:
  931.  
  932.   SET KERMIT=WIDTH 132
  933.  
  934. The KERMIT environment variable must contain a WIDTH definition before you
  935. start MS-DOS Kermit in order for it to take effect.
  936.  
  937. NOTE: The KERMIT=WIDTH value and SET TERMINAL WIDTH value are two different
  938. things.     The former controls memory allocation in the rollback buffer, the
  939. latter controls the actual display width (virtual or real) of your screen.
  940.  
  941. You can specify whether Kermit should use text (fast) or graphics (slow) mode
  942. for compressed text with the new command:
  943.  
  944.   SET TERMINAL COMPRESSED-TEXT { GRAPHICS, TEXT }
  945.  
  946. Text mode will not actually display compressed text unless your video adapter
  947. supports this function (see below), but Kermit's virtual screen is adjusted to
  948. the terminal-emulation width.  For example, if your screen shows 80 characters
  949. per line, but your terminal width is 132, then wrapping occurs at column 132
  950. (perhaps off the screen) rather than column 80, and Kermit reports its screen
  951. width as 132 (e.g. in response to a report-request escape sequence).
  952.  
  953. If your logical screen width is greater than the physical screen width, MS-DOS
  954. Kermit 3.13 lets you scroll the screen horizontally by pushing keys.  The new
  955. keyboard verbs are:
  956.  
  957.   \Klfpage    Scroll left one "page" (= 20 columns) (screen moves right)
  958.   \Klfone     Scroll left one column
  959.   \Krtpage    Scroll right one page (screen moves left)
  960.   \Krtone     Scroll right one column
  961.  
  962. These verbs are unassigned by default.    Here are the commands you could add to
  963. your MSCUSTOM.INI file if you wanted to assign them to the gray (T-pad) arrow
  964. keys on the extended (101) PC keyboard:
  965.  
  966.   SET KEY \4427 \Krtpage  ; Left arrow makes screen move left on page
  967.   SET KEY \5491 \Krtone      ; Ctrl-Left arrow moves screen one column to left
  968.   SET KEY \4429 \Klfpage  ; Right arrow makes screen move right one page  
  969.   SET KEY \5492 \Klfone      ; Ctrl-Right arrow moves screen one column right
  970.  
  971. When these keys are used in combination with the PageUp/Down keys, your screen
  972. becomes a "virtual window" on your session, which you can move around in
  973. arbitrary directions.
  974.  
  975. By analogy with SET TERMINAL ROLLBACK { ON, OFF }, which tells Kermit whether
  976. to move a rolled-back screen automatically to the bottom when new characters
  977. arrive from the host, the new command:
  978.  
  979.   SET TERMINAL HORIZONTAL-SCROLL { AUTOMATIC, MANUAL }
  980.  
  981. tells Kermit whether to scroll horizontally when a character arrives that
  982. would be displayed to the left or right of the visible screen.    By default,
  983. horizontal scrolling is MANUAL during VT terminal emulation, and AUTOMATIC
  984. during DASHER emulation.  MANUAL means you have to push keys to scroll the
  985. screen horizontally, AUTOMATIC means that Kermit moves the screen to "catch"
  986. incoming characters.
  987.  
  988. Of course, for 132-column operation, it is always better if your video adapter
  989. supports 132 columns directly -- the video board does all the work, which is
  990. much faster than writing screen dots in software!  This works if Kermit knows
  991. which kind of video adapter you have (Kermit determines this from a hopefully
  992. unique "signature" in the video BIOS) and it knows how to set the desired
  993. video modes.  Here is a list of such boards:
  994.  
  995.   ATI EGA and VGA Wonder
  996.   AST, Dell, and other boards based on Western Digital VGA boards
  997.   AT&T / Olivetti
  998.   Everex Viewpoint EV-659, FVGA-673, EV-678, Micro Enhancer Deluxe
  999.   IBM SVGA (= Tseng ET4000, e.g. on PS/ValuePoint)
  1000.   IBM XGA
  1001.   Paradise AutoSwitch EGA Mono
  1002.   Paradise Professional
  1003.   Paradise VGA Plus 16 (ROM BIOS 003056-xxx firmware)
  1004.   Paradise VGA Plus (ROM BIOS 003056-xxx firmware)
  1005.   Paradise VGA Professional (ROM BIOS 003056-xxx firmware)
  1006.   Paradise VGA1024
  1007.   STB VGA/EM (Tseng TVGA)
  1008.   STB VGA/EM Plus (Tseng 4000), VGA/EM-16, VGA/EM-16 Plus
  1009.   Tseng Labs EVA board with 132-column kit installed
  1010.   Tseng Labs UltraPAK mono/Hercules with 132 column modes
  1011.   Tseng Labs ET4000 SVGA
  1012.   VESA-compatible video BIOS
  1013.   Video 7 Vega Deluxe with 132X25.COM driver installed and Video 7 VGA
  1014.  
  1015. If you have an adapter capable of 132-column operation, but Kermit does not
  1016. know how to activate it, set up your COLS132.BAT and COLS80.BAT files to do
  1017. the switching, as described in "Using MS-DOS Kermit".
  1018.  
  1019. For Data General DASHER terminal emulation, screen widths up to 207 are
  1020. supported for purposes of horizontal scrolling, but no more than 128 can be
  1021. shown across the screen at a time.  DG terminal emulation is in text mode by
  1022. default.  As soon as the host commands the terminal to display compressed
  1023. text, Kermit switches the entire screen to 132-column text mode if your video
  1024. adapter supports it, and otherwise switches to (slower) graphics mode.    As in
  1025. VT terminal emulation, this behavior is controlled by the SET TERMINAL
  1026. COMPRESSED-TEXT command.  Unlike VT terminals, DASHER terminals (and MS-DOS
  1027. Kermit, when in graphics mode) can display compressed and regular text on the
  1028. screen at the same time.
  1029.  
  1030.  
  1031. UPDATE: EXPANDED MEMORY
  1032.  
  1033. Graphics screens and terminal rollback screens can now be kept in expanded
  1034. memory (EMS), and the size of the screen rollback buffer can selected and
  1035. changed at runtime.  When sufficient expanded memory is available, you can
  1036. have up to 8000 rollback screens.
  1037.  
  1038. SET ROLLBACK <number>
  1039.   Specifies the number of text screens to be kept in the rollback buffer.
  1040.   Each 24x80 screen occupies about 4K; bigger screens need more space.    Don't
  1041.   confuse this command with SET TERMINAL ROLLBACK, which tells what to do when
  1042.   characters arrive for the screen while it is rolled back.
  1043.  
  1044. SET TERMINAL EXPANDED-MEMORY { ON, OFF }
  1045.   Whether to use expanded memory for retention of graphics screens and for
  1046.   text terminal-emulation rollback screens.  The default is OFF, to use
  1047.   conventional memory.    ON leaves extra room in conventional memory for
  1048.   running other programs, does not rely on your video adapter's memory for
  1049.   storing graphics images, and allows more rollback screens, limited only by
  1050.   the size of your PC's available physical memory.  ON requires that an
  1051.   expanded memory manager, such as EMM386 or QEMM, be correctly installed.
  1052.   Also see SET ROLLBACK, which tells how many screens are to be saved in the
  1053.   rollback buffer.
  1054.  
  1055. See the Memory Management section of KERMIT.BWR (MSKERM.BWR) for further
  1056. information.
  1057.  
  1058.  
  1059. UPDATE: NEW SCRIPT PROGRAMMING COMMANDS AND FEATURES
  1060.  
  1061. OUTPUT \L
  1062.   Sends a Long BREAK (1.5 sec).  OUTPUT \B continues to send a regular
  1063.   BREAK (250 msec).
  1064.  
  1065. IF [ NOT ] EXIST <filename>
  1066.   Succeeds if the given file exists, fails otherwise.
  1067.  
  1068. IF [ NOT ] INPATH <filename>
  1069.   Succeeds if the given file can be found by normal DOS search rules,
  1070.   i.e. if it is in the current disk/directory, or in the DOS PATH.
  1071.  
  1072. INCREMENT <variable> [ <value> ]
  1073.   Adds the <value>, which must be a positive number (or a variable that
  1074.   evaluates to a positive number), to the value of the given variable.    If the
  1075.   <value> is not specified, then 1 is added.  If the <variable> is not defined
  1076.   or has a non numeric value, the command fails and the value of the variable
  1077.   is not altered.
  1078.  
  1079. DECREMENT <variablename> [ <value> ]
  1080.   Subtracts the <value>, which must be a positive number (or a variable that
  1081.   evaluates to a positive number), from the value of the given variable.  If
  1082.   the <value> is not specified, then 1 is subtracted.  If the <variable> is
  1083.   not defined or has a non numeric value, the command fails and the value of
  1084.   the variable is not altered.
  1085.  
  1086. STOP [ <number> [ <text> ] ]
  1087.   Stops execution of the current macro or TAKE file and returns immediately
  1088.   to top command level.      The <number> and <text> operands are new.  <number>
  1089.   is a return code that can be tested by IF SUCCESS.  It is also assigned to
  1090.   \v(status).  Text is an optional message to be printed.
  1091.  
  1092. END [ <number> [ <text> ] ]
  1093.   Stops execution of the current macro or TAKE file and returns immediately to
  1094.   the level which invoked it, i.e. the next higher level.  <number> and <text>
  1095.   are used as in the STOP command.  POP is a synonym for END.
  1096.  
  1097. \L in an OUTPUT string sends a Long (1.5 second) BREAK.     On a network
  1098. connection, it sends the same thing that \B (regular BREAK) would send, such
  1099. as a TELNET BREAK command.
  1100.  
  1101. New variables:
  1102.  
  1103.   \v(dosversion) - MS-DOS version, e.g. 500 for DOS 5.00.
  1104.   \v(line)     - Current SET PORT value: COM1, COM2, TCP/IP, etc.
  1105.   \v(ntime)     - Numeric representation of current clock time: hhmmss
  1106.   \v(port)     - Same as \v(line)
  1107.   \v(session)     - Current TCP/IP session number
  1108.   \v(terminal)     - Current terminal emulation type
  1109.  
  1110. Note: \v(ndate) and \v(ntime) are suitable for construction of filenames.
  1111.  
  1112.  
  1113. UPDATE: TCP/IP NETWORKING
  1114.  
  1115. See the networks sections in MSKERM.HLP (KERMIT.HLP) and MSKERM.BWR
  1116. (KERMIT.BWR) for additional information.  New networking features since
  1117. "Using MS-DOS Kermit", second edition, was published include:
  1118.  
  1119.  . Support for ODI, SLIP, and Novell SLIP_PPP drivers.
  1120.  
  1121.  . Up to six simultaneous TCP/IP sessions.  See below.
  1122.  
  1123.  . TCP/IP network connections thru Beame & Whiteside TCP/IP, via SET PORT
  1124.    BWTCP <ip-address>.    IP host names are not supported.
  1125.  
  1126.  . Ability to specify a particular packet-driver interrupt:
  1127.  
  1128.    SET TCP/IP PACKET-DRIVER-INTERRUPT { <number>, ODI }
  1129.      Normally Kermit searches from 0x60 to 0x7e for a packet driver.
  1130.      This command allows you to (a) specify a particular interrupt,
  1131.      in case you have more than one packet driver loaded, or (b) tell
  1132.      Kermit to skip the packet-driver interrupt search and use the ODI
  1133.      interface.     Note: the ODI interface is used by default for TCP/IP
  1134.      connections if a packet driver cannot be found.
  1135.  
  1136.  . The ability to select a particular TCP port when making a connection:
  1137.  
  1138.    SET PORT TCP/IP <ip-name-or-address> [ <tcp-port-number> ]
  1139.      The default TCP port number is 23, which is the TELNET protocol socket.
  1140.      You can specify any other port number except 25.
  1141.  
  1142.  . New TCP/IP server mode accepts incoming TCP/IP connections:
  1143.  
  1144.    SET PORT TCP/IP * [ <tcp-port-number> ]
  1145.      If you specify asterisk (*) instead of an IP host name or address,
  1146.      MS-DOS Kermit waits for an incoming connection on the specified TCP
  1147.      port (23 by default).  This connection is useful only when MS-DOS Kermit
  1148.      is in SERVER mode or, for chatting, CONNECT mode.    It does not give
  1149.      clients a DOS command processor.
  1150.  
  1151.  . RFC 1395 BOOTP compliance allows MS-DOS Kermit to receive its fully
  1152.    qualified domain name from a BOOTP server.  Also, MS-DOS Kermit's SHOW
  1153.    COMMUNICATIONS command now displays the IP address of the BOOTP server
  1154.    from which its TCP/IP parameters were received.
  1155.  
  1156.  . New commands to govern TELNET protocol:
  1157.  
  1158.    SET TCP/IP TELNET-TERM-TYPE <text>
  1159.      Normally, MS-DOS Kermit sends its actual terminal-emulation type when
  1160.      the remote TELNET server asks for a terminal type report.    But the
  1161.      remote host computer might not support your current terminal type, or
  1162.      might know it by a different name.     This command lets you specify a
  1163.      terminal-type name for Kermit to send instead of the default name.
  1164.  
  1165.    SET TCP/IP NEWLINE-MODE {OFF, ON}
  1166.      During terminal emulation on a TCP/IP connection, MS-DOS Kermit follows
  1167.      the TELNET specification and transmits carriage and line feed (CRLF)
  1168.      whenever you type carriage return (the Enter key).     If the remote TELNET
  1169.      server is confused by this (i.e. it does not follow the TELNET
  1170.      specification), use SET TCP/IP NEWLINE-MODE OFF to make Kermit omit the
  1171.      line feed.
  1172.  
  1173.    SET TCP/IP DEBUG-OPTIONS { ON, OFF } 
  1174.      Whether to display TELNET options negotiation on the screen.  Default is
  1175.      OFF, don't display them.  When ON, you can view the negotiations on the
  1176.      screen, and you can capture them in screen dump or session log files, or
  1177.      print them, just like any other CONNECT-mode screen text.    DEBUG-OPTIONS
  1178.      is useful for debugging misbehaving TELNET sessions.  Refer to the
  1179.      TELNET RFCs, or a TCP/IP book, for an explanation of what they mean.
  1180.  
  1181.  . MS-DOS Kermit now replies to traceroute requests, handles ICMP redirects.
  1182.  
  1183.  . TELNET window (i.e. screen) size (NAWS) negotiation.
  1184.  
  1185.  
  1186. UPDATE: MULTIPLE TCP/IP SESSIONS -- KERMIT'S TCP/IP SESSION MANAGER
  1187.  
  1188. MS-DOS Kermit 3.13 supports up to six simultaneous TCP/IP sessions.  Each
  1189. session is identified by a digit, 1 to 6.  The new commands (or new features
  1190. of old commands) are:
  1191.  
  1192. SET PORT TCP <ip-hostname-or-address> [ <tcp-port-number> ]
  1193.   Starts a new session and assigns it a session number, 1 to 6.
  1194.    
  1195. \v(session)
  1196.   This new variable contains the current TCP/IP session number, 1 to 6.
  1197.  
  1198. \KnextSession
  1199.   New keyboard verb to toggle instantaneously among active TCP/IP sessions,
  1200.   round-robin style. 
  1201.  
  1202. Alt-n
  1203.   This is the default key assignment for the \KnextSession verb.
  1204.  
  1205. SHOW SESSIONS
  1206.   Displays current sessions.
  1207.  
  1208. SET PORT TCP <digit>
  1209.   Switches to a specific session, 1 to 6.
  1210.  
  1211. DEFINE SESSION1 <text>
  1212.   Defines a macro to be executed when switching to session 1.
  1213.  
  1214. DEFINE SESSION2 <text>
  1215.   Defines a macro to be executed when switching to session 2.
  1216.   And so on, through SESSION6.
  1217.  
  1218. The terminal-emulation mode line shows current session number and name.
  1219. Most communication- and terminal-related settings are preserved for each
  1220. session, including the last terminal screen, the key map, the terminal type,
  1221. echoing, etc.  Use the SESSIONn macros to take care of any items that are not
  1222. preserved.  The screen rollback buffer is common to all sessions.
  1223.  
  1224. Suppose you normally access two TCP/IP hosts, a DEC VAX and a Data General
  1225. AOS/VS system, and you would like to keep sessions to both alive at once.
  1226. Alt-n switches between them instantaneously, and you can also define
  1227. convenient macros for use at the command prompt or in script programs, such as
  1228. the following, which make the initial connection to each host, and then
  1229. redefine themselves to continue the same session thereafter:
  1230.  
  1231. define vax -
  1232.   telnet vax 23 vt320,-
  1233.   if success assign vax telnet \v(session)
  1234.  
  1235. define dg -
  1236.   telnet dg 23 d463,-
  1237.   if success assign dg telnet \v(session)
  1238.  
  1239. Note: TELNET is a macro defined in the MS-DOS Kermit 3.13 MSCUSTOM.INI file.
  1240. See MSKERM.HLP (KERMIT.HLP) for more information.
  1241.  
  1242. Also note that when a connection is closed, the port number is lost.  So if
  1243. you had a TCP/IP session to a non-TELNET port (i.e. not 23), and you continue
  1244. the session, it will connect to port 23 rather than to the session's previous
  1245. port.
  1246.  
  1247. ( End of MSKERM.UPD / KERMIT.UPD )
  1248.