home *** CD-ROM | disk | FTP | other *** search
/ Programmer 7500 / MAX_PROGRAMMERS.iso / PASCAL / QK3KER.ZIP / QK3KER.DOC < prev    next >
Encoding:
Text File  |  1988-05-17  |  44.2 KB  |  997 lines

  1. SCRIPT/VS 3.1.1: DEVICE 1403QUCS CHARS MONO
  2.  
  3.  
  4.  
  5.  
  6.  
  7.                             QK-Kermit   Version 3.0
  8.  
  9.                         QUCCS Kermit for MS-DOS systems
  10.  
  11.                                  April 28, 1988
  12.  
  13.  
  14.  
  15.  
  16.           Introduction   . . . . . . . . . . . . . . . . . . . . . . 1
  17.           QK-Kermit Commands   . . . . . . . . . . . . . . . . . . . 4
  18.           APL Character Set  . . . . . . . . . . . . . . . . . . . . 9
  19.           Installing QK-Kermit   . . . . . . . . . . . . . . . . .  10
  20.           Recompiling QK-Kermit 3.0  . . . . . . . . . . . . . . .  10
  21.           Using QK-Kermit with Kermit-CMS  . . . . . . . . . . . .  12
  22.           Some useful hints:   . . . . . . . . . . . . . . . . . .  13
  23.           Kermit-CMS commands  . . . . . . . . . . . . . . . . . .  14
  24.           General Comments   . . . . . . . . . . . . . . . . . . .  15
  25.           Version 2.5 Improvments and Additions  . . . . . . . . .  15
  26.           Version 2.6 Improvments and Additions  . . . . . . . . .  15
  27.           Version 2.7 Improvments and Additions  . . . . . . . . .  16
  28.           Version 2.8 Improvments and Additions  . . . . . . . . .  16
  29.           Version 3.0 Improvments and Additions  . . . . . . . . .  17
  30.           KEYTABLE Specifications  . . . . . . . . . . . . . . . .  18
  31.           Appendix A.    . . . . . . . . . . . . . . . . . . . . .  19
  32.  
  33.  
  34.           Introduction
  35.  
  36.           Kermit  is  a  protocol  for transferring files between com-
  37.           puters over telecommunication lines.   It does  packetizing,
  38.           checksumming,  and  retransmission to ensure data integrity.
  39.           Microcomputer implementations of Kermit also provide  termi-
  40.           nal  connection  at  any speed allowed by both the micro and
  41.           the host.  Kermit is like many  other  such  protocols,  but
  42.           with several differences:
  43.  
  44.           
  45.   It's free.
  46.           
  47.   It's documented.
  48.           
  49.   It's well tested and in wide use.
  50.           
  51.   Implementations  exist  for  many different systems, in-
  52.               cluding DEC and IBM mainframes and many  microcomputers.
  53.               Each  implementation  is  written  in  the language best
  54.               suited for a particular machine or operating system.
  55.  
  56.           Kermit was developed at the Columbia University  Center  for
  57.           Computing Activities primarily to facilitate offline storage
  58.           of  DECSYSTEM-20  files  on microcomputer floppy disks.  The
  59.           Kermit specification has since served as the basis for  many
  60.           implementations  of  Kermits  on  a wide variety of systems.
  61.           Any Kermit can communicate with any other Kermit.
  62.  
  63.           Kermit does not rely on any host system software or servers.
  64.           All actions are initiated explicitly by  the  user.    Typi-
  65.           cally, the user:
  66.  
  67.           
  68.   starts Kermit on a microcomputer,
  69.           
  70.   "connects" through Kermit to the remote host,
  71.           
  72.   logs on,
  73.           
  74.   starts Kermit on the remote host,
  75.           
  76.   "escapes" back to the micro,
  77.           
  78.   and  issues SEND and RECEIVE commands to send files back
  79.               and forth between the two systems.
  80.  
  81.           Kermit can transfer files singly or in wildcard groups.
  82.  
  83.           QK-Kermit is a version of Kermit for MS-DOS and CP/M systems
  84.           written at Queen's University in  Turbo-PASCAL.    The  CP/M
  85.           versions  provide  ADM3A terminal emulation; the MS-DOS ver-
  86.           sion emulates a VT-100 terminal.  When using the MS-DOS ver-
  87.           sion with  Queen's  VM/CMS  system,  specify  terminal  type
  88.           IBMPC.    For  the  KAYPRO  version,  specify  terminal type
  89.           KAYPROK; for Apple IIe specify APPLE2E.
  90.  
  91.           Version 3.0 is for MsDos systems only. For CP/M systems  use
  92.           version 2.8
  93.  
  94.  
  95.  
  96.                                                                      1
  97.  
  98.  
  99.  KERMIT -----------------------------------------------------------------------|
  100.  ------->|-- Connect ----------------------|                                   |
  101.          |             |-- <set options> --|                                   |
  102.          |-- Wait -------------------------|                                   |
  103.          |-- SENd <local-filespec> --------------------------------------------|
  104.          |                           |-- AS <remote-filespec>------------------|
  105.          |                                                     |-- RAW --|     |
  106.          |-- RECeive <remote-filespec> ----------------------------------------|
  107.          |                              |-- AS <local-filespec> ---------------|
  108.          |                                                       |-- REPLACE --|
  109.          |-- SET --------------------------------------------------------------|
  110.          |        |-- <300|1200|2400|4800|9600> -----------|                   |
  111.          |        |-- <Even|Odd|Mark|None> ----------------|                   |
  112.          |        |-- <Full|Half> -------------------------|                   |
  113.          |        |-- <STandard|IBM-Xon|NoEcho>------------|                   |
  114.          |        |-- <A:|B:|C:|D:> -----------------------|                   |
  115.          |        |-- <One|TWo> ---------------------------|                   |
  116.          |        |-- <DIsk|PRinter> ----------------------|                   |
  117.          |        |-- <PACketsize> ------------------------|
  118.          |        |-- <TImeout> -----|                     |
  119.          |        |-- <NUmpad> ------|                     |
  120.          |        |-- <PAdchar> -----|                     |
  121.          |        |-- <STartchar> ---|-- <decimal digit> --|
  122.          |        |-- <ENdchar> -----|                     |
  123.          |        |-- <CNtrlquote> --|                     |
  124.          |        |                                        |
  125.          |        |-- <BIt8quote> ---|-- <ASCII Char> -----|
  126.          |        |-- <CHecktype> ---|
  127.          |        |-- <Repchar> -----|
  128.          |-- STatus -----------------------------------------------------------|
  129.          |-- DIrectory --------------------------------------------------------|
  130.          |               |-- <local-filespec> --|                              |
  131.          |-- Erase <local-filespec> -------------------------------------------|
  132.          |-- REName <local-filespec> <local-newfilespec> ----------------------|
  133.          |-- TYpe <local-filespec> --------------------------------------------|
  134.          |-- RUn <local-filespec> ---------------------------------------------|
  135.          |-- MKdir -- <Directory name> ----------------------------------------|
  136.          |-- CHdir -- <Directory name> ----------------------------------------|
  137.          |-- RMdir -- <Directory name> ----------------------------------------|
  138.          |-- REMote <any command supported by the remote Kermit> --------------|
  139.          |-- Log --------------------------------------------------------------|
  140.          |         |-- <filespec> --|                                          |
  141.          |-- TAke ---<filespec> -----------------------------------------------|
  142.          |-- CLear ------------------------------------------------------------|
  143.          |-- INput ---<seconds>---<string>-------------------------------------|
  144.          |-- Output---<string>-------------------------------------------------|
  145.          |-- PAUse ---<seconds>------------------------------------------------|
  146.          |-- Echo ----<string>-------------------------------------------------|
  147.          |-- DEfine -----------------------------------------------------------|
  148.          |            |-- <define-word> ------------------------|              |
  149.          |                                |-- <define-string> --|              |
  150.          |-- Audio-------------------------------------------------------------|
  151.          |-- Parms-------------------------------------------------------------|
  152.          |-- Quit -------------------------------------------------------------|
  153.                     |-- Local ---|
  154.  
  155.                                                           2
  156.  
  157.  
  158.                     |-- Remote --|
  159.                     |-- Discon --|
  160.                     |-- All -----|
  161.  
  162.  
  163.  
  164.  
  165.  
  166.  
  167.  
  168.  
  169.  
  170.  
  171.  
  172.  
  173.  
  174.  
  175.  
  176.  
  177.  
  178.  
  179.                                                                      3
  180.  
  181.  
  182.           QK-Kermit Commands
  183.  
  184.           The Kermit commands may be abbreviated to the minimum number
  185.           of  unique  characters; i.e. CONNECT may be abbreviated to C
  186.           and STATUS may be abbreviated to ST, but SET has  no  abbre-
  187.           viation since there is a SEND command which also begins with
  188.           SE.  Commands may be issued in a string as parameters to the
  189.           Kermit  startup  command  to  the  operating  system,  or as
  190.           internal commands once Kermit is running.
  191.  
  192.           All parameter specifications are optional.   If the  command
  193.           requires  a parameter specification and one is not supplied,
  194.           then Kermit will prompt you for the required information.
  195.  
  196.           CONNECT < option settings>
  197.                     This command causes the micro to simulate a termi-
  198.                     nal connected to another computer.    This  allows
  199.                     one to sign on to the Host computer as a terminal.
  200.                     The optional parameters specify the option setting
  201.                     (See SET command for options).
  202.  
  203.                     To  exit  this terminal connect mode and return to
  204.                     the Kermit command mode type in a CONTROL \ .
  205.  
  206.                     Note: When the connect command is  issued,  Kermit
  207.                     checks  the line for DSR and CTS signals and if it
  208.                     does not find them it assumes  the  modem  is  not
  209.                     connected.  It then issues a message
  210.  
  211.                       Please connect modem
  212.  
  213.                     every  few  seconds until it finds the signal.  It
  214.                     may be, however,  that  your  particular  computer
  215.                     does not detect the presence of these signals even
  216.                     when  the modem is connected.  In this case we can
  217.                     by pass the  signal checking by hitting the  SPACE
  218.                     bar on the keyboard.
  219.  
  220.           WAIT      This command is similar to the CONNECT command ex-
  221.                     cept in this case it waits for some  to connect to
  222.                     it.  You  may  consider WAIT as answering, and the
  223.                     CONNECT as originating.
  224.  
  225.           SEND <local-filename> AS <remote-filename> RAW
  226.                     Sends a file to the remote host system.  Wild-card
  227.                     characters  are  permitted to send multiple files.
  228.                     Normally only the local filename is  specified  if
  229.                     you  do not want a different file name on the host
  230.                     system.
  231.  
  232.                     The RAW specification is only used if  the  remote
  233.                     host  does  not have a Kermit, and we wish to send
  234.                     the file as is (unpacketed).
  235.  
  236.                     For example:
  237.  
  238.                                                                      4
  239.  
  240.  
  241.                       SEND ABCD.FIL
  242.                       SEND MYFILES.* AS YOURS.*
  243.                       SEND A:WXYZ.DAT
  244.  
  245.                     Several  single-character  commands  may  be given
  246.                     while a file transfer is in progress:
  247.                     ^Z   Stop sending this file, and  don't  send  any
  248.                          further files.
  249.                     ^X   (Control-X) Stop sending the current file and
  250.                          go on to the next one, if any.
  251.                     ^E   Like  ^C, but send an Error packet to the re-
  252.                          mote Kermit in an attempt to bring it back to
  253.                          server or interactive command level.
  254.                     ^C   Return to Kermit-MS command level immediately
  255.                          without sending any kind of  notification  to
  256.                          the remote system.
  257.                     Control-X  and  Control-Z send the proper protocol
  258.                     messages to the remote Kermit to bring  it  grace-
  259.                     fully  to the desired state.  Control-C leaves the
  260.                     remote Kermit in whatever state it happens  to  be
  261.                     in.   Control-E "aborts" any protocol that is tak-
  262.                     ing place.
  263.  
  264.           RECEIVE <remote-filename> as <local-filename> REPLACE
  265.                     Gets a file from the remote host system  and  puts
  266.                     it  to  the destination device (usually the disk).
  267.                     If the local-filename is not  specified  then  the
  268.                     local filename is the same as the remote file name
  269.                     with  the  remote  filetype  truncated  to 3 char-
  270.                     acters.  If the local file name already exist  the
  271.                     local  file name is modified with an '&'.  If how-
  272.                     ever the REPLACE option is specified then the  old
  273.                     file is replaced by the newly received file.
  274.  
  275.                     For example:
  276.  
  277.                       RECEIVE  MYPROG.PASCAL
  278.                       REC      D:*.SCRIPT AS *.WS
  279.  
  280.                     Several  single-character  commands  may  be given
  281.                     while a file transfer is in progress:
  282.                     ^Z  Stop sending this file,  and  don't  send  any
  283.                         further files.
  284.                     ^X  (Control-X)  Stop sending the current file and
  285.                         go on to the next one, if any.
  286.                     ^E  Like ^C, but send an Error packet to  the  re-
  287.                         mote  Kermit in an attempt to bring it back to
  288.                         server or interactive command level.
  289.                     ^C  Return to Kermit-MS command level  immediately
  290.                         without  sending  any  kind of notification to
  291.                         the remote system.
  292.                     Control-X and Control-Z send the  proper  protocol
  293.                     messages  to  the remote Kermit to bring it grace-
  294.                     fully to the desired state.  Control-C leaves  the
  295.                     remote  Kermit  in whatever state it happens to be
  296.  
  297.                                                                      5
  298.  
  299.  
  300.                     in.  Control-E "aborts" any protocol that is  tak-
  301.                     ing place.
  302.  
  303.           SET <option settings>
  304.                     Set the various operational parameters.
  305.  
  306.                     Baud Rate      Baud  rate may be any standard rate
  307.                                    from 300 to 9600 bps.  Normal maxi-
  308.                                    mum baud rate for MS-DOS version is
  309.                                    9600, and 2400 for CP/M systems.
  310.                     Parity         May be Even, Odd,  Mark,  or  None.
  311.                                    Use  even parity for Queen's VM/CMS
  312.                                    system.
  313.                                    Use parity none for VAX systems.
  314.                     Duplex         May be Full or Half.  Use Full  du-
  315.                                    plex if the remote system echos the
  316.                                    characters,  Half duplex if it does
  317.                                    not.
  318.                     Protocol       May  be   STANDARD,   IBM-Xon,   or
  319.                                    NoEcho.   Use NoEcho for port class
  320.                                    VM (41), or VAX computers which  do
  321.                                    not echo the packet characters.
  322.                                    use   XON-XOFF   for   port   class
  323.                                    VMLINE(40 or 32);
  324.                                    use STANDARD  for  computers  which
  325.                                    echo packet characters.
  326.                     Disk Drive     Specify  in  the normal MS-DOS for-
  327.                                    mat, e.g. C:  The default drive  is
  328.                                    normally B:
  329.                     Com Port       May be either One or Two.  Normally
  330.                                    Port One is used.
  331.                     Destination    May  be  either  DISK  or  PRINTER.
  332.                                    Normally, received files go to  the
  333.                                    disk, but they may be redirected to
  334.                                    the printer.
  335.  
  336.           STATUS    This command show the current setting of the above
  337.                     option settings.
  338.  
  339.           DIRECTORY display the local directory
  340.  
  341.           ERASE     erase a local file(s)
  342.  
  343.           RENAME    rename a local file(s)
  344.  
  345.           TYPE      display the contents of a local file
  346.  
  347.                     The  above four commands are similar to the MS-DOS
  348.                     and CP/M commands.  "Local" refers to  the  MS-DOS
  349.                     or CP/M system which you are directly using.
  350.  
  351.           MKDIR     Makes a directory
  352.  
  353.           CHDIR     Changes the directory
  354.  
  355.                                                                      6
  356.  
  357.  
  358.           RMDIR     Removes a directory
  359.  
  360.           (See  MS-DOS  Manual to see how to use the above 3 directory
  361.           commands)
  362.  
  363.           RUN <file spec>
  364.                     Run a program under Kermit. This is only available
  365.                     on the MS-DOS system and it is not implemented  in
  366.                     the CP/M systems.
  367.  
  368.           REMOTE <remote-commands>
  369.                     Issue  remote  server request.  Although QK-Kermit
  370.                     is able to issue all the remote server request  as
  371.                     documented  in  the Kermit standards, refer to the
  372.                     Kermit documentation  for  the  particular  remote
  373.                     version being used for supported commands.
  374.  
  375.                     Used  as  a remote Kermit, QK-Kermit only responds
  376.                     to remote SEND and RECEIVE commands.
  377.  
  378.           LOG <logfile name>
  379.                     This command causes all incoming data  to  be  re-
  380.                     corded in a file as specified by the logfile name.
  381.                     To  close  the  current logfile simply reissue the
  382.                     LOG command. If no logfile name is specified, log-
  383.                     ging is terminated.    If a new  logfile  name  is
  384.                     specified then the old logfile is closed and a new
  385.                     logfile is opened.
  386.  
  387.           TAKE <takefilename>
  388.                     This  command enables a series of Kermit commands,
  389.                     which are stored in a file, to be executed.    For
  390.                     example  one  might typically have to run a series
  391.                     of programs which create data which one wishes  to
  392.                     transfer to the other computer.
  393.  
  394.                       RUN PROG1
  395.                       SEND DATA1.FIL
  396.                       RUN PROG2
  397.                       SEND DATA2.FIL
  398.                       etc.
  399.  
  400.            CLEAR      This command clears the input buffer for the IN-
  401.                     PUT command after it has checked to see  that  the
  402.                     Modem is connected.
  403.  
  404.            INPUT <seconds> <string>
  405.                       This  command  will read the incoming characters
  406.                     until it finds a match with the  string  specified
  407.                     in  the parameter.  It will timeout after the num-
  408.                     ber of seconds specified in the parameter.
  409.  
  410.            OUTPUT <string>
  411.                      This command will send the  string  specified  in
  412.                     the parameter to the serial port.
  413.  
  414.                                                                      7
  415.  
  416.  
  417.            PAUSE  <seconds>
  418.                       This    command will delay the execution for the
  419.                     number of seconds specified in the parameter.
  420.  
  421.            ECHO <string>
  422.                      This command will display the string specified in
  423.                     the parameter to the console screen.
  424.  
  425.           DEFINE <define-word> <define-string>
  426.                     This command enables one to define a word equal to
  427.                     a  string.    This  is  useful  in alleviating the
  428.                     necessity of typing in long command strings or  it
  429.                     can  be  used to provide a synonyms for other com-
  430.                     mands.  For example:
  431.  
  432.                     DEFINE VM              CONNECT  9600   EVEN   FULL
  433.                                            NoEcho B: ONE DISK
  434.                     DEFINE DELETE          ERASE
  435.                     DEFINE BYE             QUIT ALL
  436.  
  437.                     If  no  define-string  is specified, the specified
  438.                     define-word is deleted.  If DEFINE is issued  with
  439.                     no  parameters,  a  list  of all define-words cur-
  440.                     rently in effect are displayed.
  441.  
  442.                     NOTE: DEFINES are initialized from  a  file  named
  443.                     KERMIT.DEF  when  Kermit is initiated.  If any new
  444.                     DEFINES are specified during the  Kermit  session,
  445.                     then  at Kermit termination Kermit will attempt to
  446.                     write a new Kermit.DEF file.  Note that the  read-
  447.                     ing  and writing of this Kermit.DEF file is to the
  448.                     default disk drive.  As a result, for new  defines
  449.                     to  be  created,  the  default  disk must have the
  450.                     write-protect tab removed.
  451.  
  452.                     As distributed, the KERMIT.DEF file  contains  the
  453.                     following define-words.
  454.  
  455.                     Define-word    Define-string
  456.                     VM             Connect  9600  Even  Full NoEcho B:
  457.                                    One Disk
  458.                     VM1200         Connect 1200 Even  Full  NoEcho  B:
  459.                                    One Disk
  460.                     PC             Connect  9600  Even  Full NoEcho B:
  461.                                    One Disk
  462.  
  463.           AUDIO     This is a toggle command which when it is  toggled
  464.                     on will provide an audiable sound with each kermit
  465.                     prompt.
  466.  
  467.           PARMS     This  is a toggle command which when it is toggled
  468.                     on will display the setting of the packet parmeter
  469.                     when a STATUS command is issued.
  470.  
  471.                                                                      8
  472.  
  473.  
  474.           QUIT <quit-option>
  475.                     terminate the local and/or remote Kermit.
  476.  
  477.                     QUIT LOCAL or QUIT
  478.                                    will terminate QK-Kermit.
  479.                     QUIT REMOTE    will terminate the remote Kermit.
  480.                     QUIT DISCON    will  terminate  the  remote Kermit
  481.                                    and log off the  remote  host  com-
  482.                                    puter.
  483.                     QUIT ALL       will  terminate  the  remote Kermit
  484.                                    and log off the  remote  host  com-
  485.                                    puter and then terminates the local
  486.                                    QK-Kermit.
  487.  
  488.           NOTE: "filespec" refers to a file specification of the form
  489.  
  490.             d:name.ext
  491.  
  492.           where 'd' is the disk drive designation, 'name' is the first
  493.           level  file  name (the filename for CP/M, MS-DOS, and VM/CMS
  494.           systems), and 'ext' is the file  extension  (a  3  character
  495.           extension  for  CP/M  or  MS-DOS  systems,  the  8 character
  496.           filetype for VM/CMS systems).  If 'd:' is not specified, the
  497.           default disk drive is assumed.
  498.  
  499.           APL Character Set
  500.  
  501.           For PC's equipped with the APL character ROM,  one  may  use
  502.           the  APL character set.  To invoke APL character set send an
  503.           ESC "{" sequence.  Use ESC "}" to return to normal Character
  504.           set.
  505.  
  506.  
  507.  
  508.  
  509.  
  510.  
  511.  
  512.  
  513.                                                                      9
  514.  
  515.  
  516.           Installing QK-Kermit
  517.  
  518.           QK-Kermit  may be obtained on diskette from the Micro Infor-
  519.           mation Centre in Dupuis Hall.
  520.  
  521.           If you have the distribution diskette, simply copy the  fol-
  522.           lowing files to your working system disk:
  523.  
  524.               KERMIT.EXE
  525.               KEYTABLE.DAT
  526.               KERMIT.DEF
  527.  
  528.           Recompiling QK-Kermit 3.0
  529.  
  530.           Compiling  QK-Kermit  3.0 requires Turbo Pascal version 4.0.
  531.           QK-Kermit 3.0 consist of a main program  KERMIT.PAS  and  14
  532.           separately compiled units which are as follows:
  533.  
  534.                        1. DRIVER.PAS
  535.                        2. FONTS.PAS
  536.                        3. KGLOBALS.PAS
  537.                        4. MODEMPRO.PAS
  538.                        5. SYSFUNC.PAS
  539.                        6. DEFWORDS.PAS
  540.                        7. LOCAL.PAS
  541.                        8. PACKETS.PAS
  542.                        9. SENDRECV.PAS
  543.                       10. MISCCOMM.PAS
  544.                       11. REMOTEU.PAS
  545.                       12. TEK4010.PAS
  546.                       13. VT100.PAS
  547.                       14. SETSHOW.PAS
  548.  
  549.               The  first  2  unit  DRIVER and FONTS are from     Turbo
  550.           Pascal 4.0 but are supplied as source so they both  need  to
  551.           be    compiled  into  a  TPU  file.   Before you compile the
  552.           DRIVER.PAS file you must convert  the  BGI  files  into  OBJ
  553.           files,  and similary before compiling the FONTS.PAS file you
  554.           must  convert  the  CHR  files  into  OBJ  files.  See   the
  555.           RegisterBGIdriver  and  RegisterBGIfonts function in Chapter
  556.           27 of the Turbo Pascal 4.0 which  describs  how  to  compile
  557.           these two units.
  558.  
  559.           Specify KERMIT.PAS as the primary file in the COMPILER menu.
  560.           And  in  the  OPTIONS - COMPILER - MEMORY SIZE menus specify
  561.           the stack size as 32768 and the heap limit to 131072.    Use
  562.           the  MAKE  option  in the COMPILE menu to compile the kermit
  563.           into a KERMIT.EXE file.
  564.  
  565.           If you are only using 5.25 inch floppies you will find  that
  566.           the  source files and the compiled TPU files will not fit on
  567.           the same disk, so  you  will  have  to  compile  the    file
  568.           seperately  and move the files you need onto a floppy as you
  569.           need them.
  570.  
  571.                                                                     10
  572.  
  573.  
  574.  
  575.  
  576.  
  577.  
  578.  
  579.  
  580.  
  581.  
  582.  
  583.  
  584.  
  585.  
  586.  
  587.  
  588.  
  589.  
  590.  
  591.  
  592.  
  593.                                                                     11
  594.  
  595.  
  596.           Using QK-Kermit with Kermit-CMS
  597.  
  598.           The  following  is  a suggested approach to do file transfer
  599.           between a micro and the Queen's mainframe computer.
  600.  
  601.           Basic procedure:
  602.  
  603.           1.  Place the system disk created as above in  drive  A  and
  604.               your data disk in drive B;
  605.           2.  Type in "KERMIT" to start up QK-Kermit.
  606.           3.  Type in "VM" which will configure Kermit at 9600 bps for
  607.               the  VM/CMS system with files defaulting to the B: drive
  608.               and place QK-Kermit into terminal mode.  The VM  command
  609.               is  a define-word provided in the distributed KERMIT.DEF
  610.               file.
  611.           4.  Turn on the modem, and logon to  the  VM/CMS  system  as
  612.               normal.  Use terminal type  IBMPC.
  613.           5.  After  logging on, type "Kermit" on the VM/CMS system to
  614.               invoke CMS-Kermit and issue the SERVER  command.    This
  615.               command  will  automatically  return you to QK-Kermit on
  616.               the micro.
  617.           6.  Issue SEND or RECEIVE commands to send or get the  files
  618.               desired.
  619.           7.  You  may  also  wish to issue a DIRECTORY command to see
  620.               what files you have on your floppy disk,  or  issue  the
  621.               REMOTE  DIRECTORY  command to list files on the CMS sys-
  622.               tem.
  623.           8.  If required, one can move back to terminal mode by issu-
  624.               ing a "Connect" command to QK-Kermit.  When returning to
  625.               back to terminal mode from QK-Kermit command mode,  with
  626.               Kermit-CMS  still  in SERVER mode, the first command you
  627.               issue is not displayed.  Once the first command is  exe-
  628.               cuted,  Kermit-CMS  returns  to normal mode and all com-
  629.               mands are displayed.
  630.           9.  When you are finished you can issue a QUIT  ALL  command
  631.               to  logoff from the VM/CMS system and terminate your re-
  632.               mote Kermit.
  633.  
  634.  
  635.  
  636.  
  637.  
  638.  
  639.                                                                     12
  640.  
  641.  
  642.           Some useful hints:
  643.  
  644.           1.  Create  a  few  DEFINE  words for frequently used Kermit
  645.               commands.  This will allow lengthy commands to be issued
  646.               with a single word.  The following are some suggestions.
  647.  
  648.               DEFINE VM           Connect 9600 Even Full NoEcho B:
  649.               DEFINE VMLINE       Connect 9600 Even Half IBM-Xon B:
  650.               DEFINE LIST         Remote Directory
  651.               DEFINE PUSH         Run A:Command.Com
  652.               DEFINE BYE          Set A: ; Quit All
  653.  
  654.               For example, using the VM define  above,  you  can  con-
  655.               figure  Kermit  for  the  VM/CMS  system and be put into
  656.               "connect" mode directly by simply issuing the command
  657.  
  658.                 KERMIT VM
  659.  
  660.           2.  The Kermit protocol is designed to recover automatically
  661.               from minor telecommunications  line  errors.    However,
  662.               there are problems which may result in the file transfer
  663.               being  "hung".  If Kermit hangs up in the middle of file
  664.               transfer it may be necessary to issue  several  carriage
  665.               returns  before  one  can  get  back  the  remote Kermit
  666.               prompt.  It may occasionally be necessary to restart the
  667.               remote and/or local Kermit after this.
  668.  
  669.           3.  In the above section describing  the  use  of  QK-Kermit
  670.               with Kermit-CMS we basically issue QK-Kermit commands as
  671.               opposed  to  Kermit-CMS  commands.   If desired, one can
  672.               interact with Kermit-CMS by  issuing  SEND  and  RECEIVE
  673.               commands from Kermit-CMS instead of from QK-Kermit.
  674.  
  675.           4.  QK-Kermit will act as a server Kermit whenever QK-Kermit
  676.               is in the 'Connected ' mode; i.e. QK-Kermit does not re-
  677.               quire  a  SERVER  command as does Kermit-CMS.  QK-Kermit
  678.               will automatically assume  there  is  a  server  request
  679.               whenever it see a SOH character.
  680.  
  681.           5.    QK-Kermit 3.0 has the ability to send and receive long
  682.               packets.  However the default packet size is set  to  94
  683.               byte packets.  In order to receive long packets one must
  684.               specify  a  large packetsize.  To set a large packetsize
  685.               one must first toggle the PARMS toggle  on,  then  issue
  686.               the SET PACKETSIZE  command.   In order for QK-Kermit to
  687.               send   long   packets,  the  other  Kermit  must  inform
  688.               QK-Kermit as to the size of packet it can  receive.  The
  689.               maximum length of a packet is 9024 bytes.
  690.  
  691.  
  692.                                                                     13
  693.  
  694.  
  695.           Kermit-CMS commands
  696.  
  697.           Although  Kermit-CMS  is  documented in a separate HELP file
  698.           (type HELP KERMIT), the following summary of Kermit-CMS  re-
  699.           mote  server commands is included for the convenience of the
  700.           the QK-Kermit user.  Although QK-Kermit is able to issue all
  701.           the remote server request as documented in the Kermit stand-
  702.           ards, only   some have been implemented  on  the  Kermit-CMS
  703.           system  here  at  Queen's.   Some of the useful commands are
  704.           listed below.
  705.  
  706.             REMOTE ---- DIRECTORY --------------------------------------------------------|
  707.                     |               |-- <remote-filespec> --|                             |
  708.                     |-- TYPE <remote-filespec> -------------------------------------------|
  709.                     |-- ERASE <remote-filespec> ------------------------------------------|
  710.                     |-- RENAME <remote-filespec> -----------------------------------------|
  711.                     |-- FINISH  ----------------------------------------------------------|
  712.                     |-- LOGOUT -----------------------------------------------------------|
  713.                     |-- HELP -------------------------------------------------------------|
  714.  
  715.           where
  716.  
  717.           DIRECTORY      displays the VM/CMS directory
  718.           TYPE           displays the contents of a VM/CMS file
  719.           ERASE          erases a VM/CMS file
  720.           RENAME         renames a VM/CMS file.  You will be  prompted
  721.                          for the new filespec.
  722.           FINISH         terminates Kermit-CMS
  723.           LOGOUT         terminates  the  remote  Kermit  and  log off
  724.                          VM/CMS
  725.           HELP           displays help information
  726.  
  727.  
  728.  
  729.  
  730.  
  731.  
  732.  
  733.  
  734.  
  735.                                                                     14
  736.  
  737.  
  738.           General Comments
  739.  
  740.           QK-Kermit  is  written  in  Turbo Pascal so it is relatively
  741.           easy to understand and modify  if  extensions  are  desired.
  742.           The source code is distributed with the diskette.
  743.  
  744.           Version 2.5 Improvments and Additions
  745.  
  746.           1.  Automatic server mode.  QK-Kermit will automatically en-
  747.               ter  into  server  mode upon receipt of a SOH character.
  748.               This feature was inadvertently disabled in the 2.4  ver-
  749.               sion.
  750.  
  751.           2.  Insert  Mode  Indicator - When in insert mode the cursor
  752.               changes from a thin line to a fat block.
  753.  
  754.           3.  Sub directory commands - MKDIR,  CHDIR  and  RMDIR  were
  755.               added.   Also Kermit allows the use of subdirectories in
  756.               the file specification.
  757.  
  758.           4.  Audio toggle - Kermit will now run quietly  without  any
  759.               audiable promp unless the audio toggle is turned on.
  760.  
  761.           5.  Packet  parameters  can  now  be  specified at run time.
  762.               Note however that QKKERMIT will still automatically  ad-
  763.               just  the packet parameters to match the other Kermit it
  764.               connects with.
  765.  
  766.           6.  APL character set can be selected by entering  a  ESC  {
  767.               character.
  768.  
  769.           7.  Fix  bug-related  to packet parameters when running with
  770.               VAX Kermit.
  771.  
  772.           Version 2.6 Improvments and Additions
  773.  
  774.           1.  VT100 simulation upgraded.  Many of the  VT100  features
  775.               that  were  missing  in  the  2.5  version have now been
  776.               added.
  777.  
  778.           2.  Fixed a bug which caused keyboard input to interfer with
  779.               modem data when transferring data at lower baud rates.
  780.  
  781.           3.  Implemented  overlays  for  the   QKTEK10   version   of
  782.               QKKERMIT.
  783.  
  784.           4.  Printer  option. Enable QKKERMIT to accept an escape se-
  785.               quence which will direct  the  output  to  the  printer.
  786.               i.e. one can now use the TPRINT command in CMS to direct
  787.               output to printer.
  788.  
  789.           5.  Enable the sending of commands for the remote Kermit the
  790.               execute.  Along with changes to KERMIT-CMS this will al-
  791.  
  792.                                                                     15
  793.  
  794.  
  795.               low  the TRANSLATION option to be turned on and off.  By
  796.               specifying an appropriate define for BINARY one can  now
  797.               transmit a binary file as follows:
  798.  
  799.                 BINARY SEND    filename.filetype       or
  800.                 BINARY RECEIVE filename filetype
  801.  
  802.               Prior  to  the implementation of this feature one had to
  803.               connect to KERMIT-CMS and turn the translation  off  and
  804.               then  go  back  into server mode before transferring the
  805.               file.
  806.  
  807.           6.  Enable the downline loading of DATE and  TIME  from  the
  808.               host  system.  Two define words DATE and TIME will cause
  809.               this information to be loaded.
  810.  
  811.           7.  Insert Mode indicator bug (Fat cursor). Enable  the  Fat
  812.               cursor to appear on a variety of video boards.
  813.  
  814.           8.  Fix  bug  in RECVFILE. The disk specification in the re-
  815.               mote filename was incorrectly used  in  the  local  file
  816.               name.
  817.  
  818.           Version 2.7 Improvments and Additions
  819.  
  820.           1.  Fix miscellaneous VT100 emulation bugs.
  821.  
  822.           2.  Fix system calls for MS-DOS version 3.
  823.  
  824.           3.  Fix repeat count bug for control character.
  825.  
  826.           4.  Buffered disk IO for MS-DOS version.
  827.  
  828.           5.  Distinguish between send and receive packet parameters.
  829.  
  830.           6.  TEK4010  Emulation  which  does  not  require the use of
  831.               overlays or the use of the Graphic Toolbox.
  832.  
  833.           Version 2.8 Improvments and Additions
  834.  
  835.           1.  Put the Tek4010 emulation code into a separate file  and
  836.               create different include files for CGA, EGA and Hercules
  837.               cards.
  838.  
  839.           2.  Add graphics input (GIN) to the Tek4010 emulation.
  840.  
  841.           3.  Fix  Sendfile procedure to enable it to send file from a
  842.               non-default drive.
  843.  
  844.           4.  Add fix and  changes  provided  by  G.W.Selke  -  change
  845.               PutInitPacket,  closefile  in abort state,range checking
  846.               for    parms,    MkDir/RmDir/ChDir    error    handling,
  847.  
  848.                                                                     16
  849.  
  850.  
  851.               displaydiskstatus  for  non default drives, break handl-
  852.               ing, upgrade directory display.
  853.  
  854.           5.  Add  DIR  option   /P to allow user to see the filesize,
  855.               date and time for each file.
  856.  
  857.           Version 3.0 Improvments and Additions
  858.  
  859.           1.  Version 3.0 takes advantage of the modularity feature of
  860.               Turbo Pascal 4.0 which enables QK-Kermit  to  be  easily
  861.               modified  and  upgraded  without having to recompile the
  862.               entire source code each time.
  863.  
  864.           2.  Version 3.0 takes advantage  of  the  improved  graphics
  865.               features of Turbo Pascal 4.0.  This make the source code
  866.               for the TEK4010 portion of the code simplier and faster.
  867.               It is no longer necessary to have a separate version for
  868.               each of the various graphics card adapters.  This single
  869.               version  should  handle  the  following graphics cards :
  870.               CGA,EGA,Hercules,MCGA,VGA,AT&T and PC3270.
  871.  
  872.           3.  Long packet size .  One can now specify packet sizes  up
  873.               to    9024  bytes.  Note however the maximum packet size
  874.               used is also dependent on the other Kermit to which  you
  875.               are transfer data with.
  876.  
  877.           4.  New  commands add to allow the creation of "logon script
  878.               files".  The new commands  are  CLEAR,INPUT,OUTPUT,PAUSE
  879.               and  ECHO.  These  command can be placed into a file and
  880.               issued using the TAKE command.
  881.  
  882.  
  883.  
  884.  
  885.  
  886.  
  887.  
  888.  
  889.  
  890.                                                                     17
  891.  
  892.  
  893.           KEYTABLE Specifications
  894.  
  895.           The  following  describs the layout of the KEYTABLE.DAT file
  896.           used by QK-KERMIT to assign the keyboard.
  897.  
  898.           Each record in the file corresponds  to  the  key  position.
  899.           e.g. the escape key is the first keyposition and the data is
  900.           located in record 1.
  901.  
  902.           Only columns 1 and 2 , or columns 4-5 and 6-7 contain useful
  903.           data,  the  rest  of the record is treated as comments only.
  904.           If all the data for a key is blank then the value of the key
  905.           is send unchanged.
  906.  
  907.           Column 1 and 2 may contain one or two ascii  characters.  If
  908.           column  1  contains  a  non  blank  ascii character then and
  909.           ESCape character is sent followed by the characters found in
  910.           columns 1 and 2. If column 1 is blank and column  2  is  non
  911.           blank  then  only  the character in column 2 is sent with no
  912.           preceding ESCape character.  Thus we can  specify  for  each
  913.           key the following possibilities:
  914.  
  915.                   column1  column2        Sequence sent
  916.                    blank    blank           char of key
  917.                    char1    blank           ESC - char1
  918.                    char1    char2           ESC - char1 - char2
  919.                    blank    char2           char2
  920.  
  921.            Since  this  file was to be created by a text editor it was
  922.           impossible to place control characters in columns 1  and  2,
  923.           we allow the equivalent data character specification in hex.
  924.           So  that columns 4-5 is the hex equivalence of what would be
  925.           placed in column1 and columns 6-7 the equiv- alence of  col-
  926.           umn 2.  e.g. If we wish to send a DEL (7F), we would place a
  927.           7F in column 6-7.
  928.  
  929.           Note  that  if we wish to specify data in column 4-5 and 6-7
  930.           then columns 1 and 2 must be blank.
  931.  
  932.  
  933.  
  934.  
  935.  
  936.  
  937.                                                                     18
  938.  
  939.  
  940.           Appendix A.
  941.  
  942.           Code assignments for Keys specified by KEYTABLE.DAT.
  943.  
  944.                 KEY                      ASCII     HEX
  945.                -------                  -------   ------
  946.                 backspace                BS        08
  947.                 tab                      HT        09
  948.                 Return                   CR        0D
  949.  
  950.                 F1                       ESC 1     1B 31
  951.                 F2                       ESC 2     1B 32
  952.                 F3                       ESC 3     1B 33
  953.                 F4                       ESC 4     1B 34
  954.                 F5                       ESC 5     1B 35
  955.                 F6                       ESC 6     1B 36
  956.                 F7                       ESC 7     1B 37
  957.                 F8                       ESC 8     1B 38
  958.                 F9                       ESC 9     1B 39
  959.                 F10                      ESC 0     1B 30
  960.                 NumLock                  ESC -     1B 2D
  961.                 ScrollLock               ESC =     1B 3D
  962.  
  963.                 Shift F1                 ESC Q     1B 51
  964.                 Shift F2                 ESC W     1B 57
  965.                 Shift F3                 ESC E     1B 45
  966.                 Shift F4                 ESC R     1B 52
  967.                 Shift F5                 ESC T     1B 54
  968.                 Shift F6                 ESC Y     1B 59
  969.                 Shift F7                 ESC U     1B 55
  970.                 Shift F8                 ESC I     1B 49
  971.                 Shift F9                 ESC O     1B 4F
  972.                 Shift F10                ESC P     1B 50
  973.                 Shift NumLock            ESC [     1B 5B
  974.                 Shift ScrollLock         ESC \     1B 5C
  975.  
  976.                 KeyPad  7   home         EM        19
  977.                 KeyPad  8   up arrow     US        1F
  978.                 KeyPad  9   PgUp         ESC 7     1B 37
  979.                 KeyPad  -   minus        VT        0B
  980.                 KeyPad  4   left arrow   BS        08
  981.                 KeyPad  5                ESC       1B
  982.                 KeyPad  6   right arrow  FS        1C
  983.                 KeyPad  +   plus         FF        0C
  984.                 KeyPad  1   end          SI        0F
  985.                 KeyPad  2   down arrow   LF        0A
  986.                 KeyPad  3   PgDn         ESC 8     1B 38
  987.                 KeyPad  0   Ins          GS        1D
  988.                 KeyPad  .   Del          DEL       7F
  989.  
  990.                 Cntl \                   Escape back to Kermit
  991.                 Cntl ]                   Send a BREAK
  992.  
  993.                 Alt   F9                 Escape back to Kermit
  994.                 Alt   F10                Send a BREAK
  995.  
  996.                                                                     19
  997.