home *** CD-ROM | disk | FTP | other *** search
/ Columbia Kermit / kermit.zip / c / qk3ker.doc < prev    next >
Text File  |  2020-01-01  |  45KB  |  1,075 lines

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