home *** CD-ROM | disk | FTP | other *** search
/ Columbia Kermit / kermit.zip / c / ucibmpc.doc < prev    next >
Text File  |  2020-01-01  |  14KB  |  397 lines

  1.  
  2.  
  3.  
  4.  
  5.  
  6.  
  7.  
  8.  
  9.  
  10.  
  11.  
  12.  
  13.           Implementation of KERMIT for Version IV of the UCSD p-System
  14.  
  15.                          Kate MacGregor / Steven Pacenka
  16.                                Cornell University
  17.  
  18.                           (Test) Version 0.1, May 1984
  19.  
  20.  
  21.             KERMIT-UCSD4 is a  program  which implements the KERMIT file-
  22.         transfer protocol for use under the Version IV.x UCSD p-System on
  23.         various computers.  The distributed version has been developed on
  24.         an  IBM  Personal  Computer   under  Network  Consulting,  Inc.'s
  25.         excellent adaptation of the p-System.
  26.  
  27.             This implementation was done by Steven Pacenka, based largely
  28.         on  an  implementation  by  Kate MacGregor of  Cornell  Computing
  29.         Services for the Version II.0 p-System on a Terak 8510a.
  30.  
  31.  
  32.  
  33.  
  34.                  USING KERMIT with the NCI p-SYSTEM on an IBM PC
  35.  
  36.  
  37.             You must  have  NCI release C1F or later to use this program.
  38.         Earlier  releases  suffered  from  bugs in the  serial  interface
  39.         support which caused incoming characters  to  be lost even at low
  40.         speeds.
  41.  
  42.             You need to do two things  with  your  boot  diskette  before
  43.         trying to execute the distributed .CODE file:
  44.  
  45.           -  Enable serial interrupts using the NCI CONFIG program; and
  46.  
  47.           -  Place the SYSTEM.SERIAL file on your boot disk.
  48.  
  49.             You need to reboot to get  these to take effect for the first
  50.         time.  Then and thereafter just eX(ecute the KERM.CODE program.
  51.  
  52.  
  53.  
  54.  
  55.  
  56.  
  57.  
  58.  
  59.  
  60.  
  61.  
  62.  
  63.                                       - 1 -
  64.  
  65.  
  66.  
  67.  
  68.  
  69.  
  70.  
  71.  
  72.  
  73.  
  74.  
  75.  
  76.  
  77.                             CONSTRUCTING A NEW KERMIT
  78.  
  79.  
  80.             The program consists of several  Pascal  source  files  which
  81.         need  to  be  compiled.   Also  required  is  a  REMUNIT.CODE  to
  82.         interface with your computer's serial port.
  83.  
  84.             The source files (and their short names on  the  distribution
  85.         tape) are:
  86.  
  87.            UCSD Name          KERMIT                     Contents
  88.                          Distribution Name
  89.         --------------   -----------------   --------------------------------
  90.         KERMIT.DOC.TEXT  UC4KRM.DOC          This documentation
  91.         KERMIT.TEXT      UC4KRM.PAS          Main program
  92.         SETSEND.TEXT     UC4STS.PAS          Include file for KERMIT.TEXT
  93.         RECEIVER.TEXT    UC4RCV.PAS          UNIT Receiver (file receiving)
  94.         SENDER.TEXT      UC4SND.PAS          UNIT Sender (file sending)
  95.         HELPER.TEXT      UC4KHP.PAS          UNIT Helper (online help info)
  96.         KERMPACK.TEXT    UC4PKT.PAS          UNIT KermPack (packet utilities)
  97.         KERMUTIL.TEXT    UC4KUT.PAS          UNIT KermUtil (misc utilities)
  98.         KERMGLOB.TEXT    UC4GLB.PAS          UNIT KermGlob (declarations)
  99.         PARSER.TEXT      UC4PRS.PAS          UNIT Parser (command parsing)
  100.         KERM.CODE        UC4NCI.COD          p-code file that will run with
  101.                                          NCI p-system release C1F on IBM PC
  102.  
  103.             The  .PAS  files are Pascal source files, and the  .DOC  file
  104.         (obviously) contains this user  documentation,  instructions  for
  105.         building UCSD Pascal Kermit for the IBM PC, and hints on adapting
  106.         it to other machines.  The .COD file is a p-code file for the NCI
  107.         p-System on an IBM PC.
  108.  
  109.             All  of  the .PAS modules should compile and execute  on  any
  110.         adaptation of Version IV of  the  UCSD p-System, provided that an
  111.         equivalent  of   the  REMUNIT.CODE  unit  is  available  for  the
  112.         particular computer being  used.   (This file implements the UCSD
  113.         Pascal Users' Society (USUS) "standard remote unit.")
  114.  
  115.             To generate a variant of this  KERMIT  for  another  computer
  116.         running the Version IV p-System:
  117.  
  118.           1.  Create  or  obtain  a  REMUNIT  that  implements  the  USUS
  119.               standard  remote unit.  Specifications and  implementations
  120.               for a variety of different  computers  are  available  from
  121.               USUS.  For  communications  above  300  baud,  the incoming
  122.               characters to REMIN: should be  processed  in  a  buffered,
  123.               interrupt-driven mode.  The  buffer  should be at least 256
  124.               characters long.
  125.  
  126.  
  127.  
  128.  
  129.                                       - 2 -
  130.  
  131.  
  132.  
  133.  
  134.  
  135.  
  136.  
  137.  
  138.  
  139.           2.  Gather all of the source  Pascal  files  onto  your  prefix
  140.               volume along with the REMUNIT.CODE file.
  141.  
  142.           3.  Compile the  Pascal  units  in  this  sequence: 1--KERMGLOB
  143.               2--KERMUTIL  3--KERMPACK  4--PARSER   5--HELPER   6--SENDER
  144.               7--RECEIVER 8--KERMIT.
  145.  
  146.           4.  At  this  point  you  can   use   the   standard   p-System
  147.               LIBRARY.CODE  program  to  combine  the  units   (including
  148.               REMUNIT) into one code file for easier and faster  loading,
  149.               or you can enter their individual .CODE file names into the
  150.               USERLIB.TEXT file on your root disk.
  151.  
  152.  
  153.  
  154.  
  155.                                    LIMITATIONS
  156.  
  157.  
  158.           1.  No wild card designations of file names are allowed.  Files
  159.               are transmitted and received individually.
  160.  
  161.           2.  No eight-bit character  quoting  is  allowed.  In practice,
  162.               this means that only text files can be transferred.
  163.  
  164.           3.  No character repeat counts are used in packets.
  165.  
  166.           4.  '?'  and <esc> cannot  be  used  when  entering  a  command
  167.               line.   Some  versions of Kermit parse  commands  from  the
  168.               keyboard character  by character as they are entered.  This
  169.               version interprets the line after it has been terminated by
  170.               a carriage return.  Use the  HELP  command in place of '?',
  171.               and type out the command names in full.
  172.  
  173.           5.  No server communications are supported.
  174.  
  175.           6.  Instead of using  a  clock  to  time out when waiting for a
  176.               packet, KERMIT-UCSD has a limit  on  the number of times it
  177.               will look for a response before giving up.
  178.  
  179.           7.  All  linefeed characters received during file transfer  are
  180.               stripped from the local file that is being  created,  since
  181.               the p-System does not recognize them in text  files.   This
  182.               may cause difficulties in files received from certain other
  183.               computers which omit carriage returns at the ends of lines,
  184.               particularly blank lines.
  185.  
  186.  
  187.  
  188.  
  189.  
  190.  
  191.  
  192.  
  193.  
  194.  
  195.                                       - 3 -
  196.  
  197.  
  198.  
  199.  
  200.  
  201.  
  202.  
  203.  
  204.  
  205.  
  206.  
  207.  
  208.  
  209.                                     COMMANDS
  210.  
  211.  
  212.             The commands recognized by KERMIT-UCSD are listed below.
  213.  
  214.         CONNECT         To make  a  "virtual  terminal"  connection  to a
  215.                         remote  system.   The  CONNECT  command  may   be
  216.                         abbreviated to 'C'.   When  in  CONNECT mode, all
  217.                         typed characters are sent to the serial interface
  218.                         except the  escape  character  (see  SET  ESCAPE,
  219.                         below).  The escape character  may be followed by
  220.                         another  character   which   is   interpreted  as
  221.                         follows:
  222.  
  223.                         c           Break  the  connection  and  "escape"
  224.                                     back to the micro
  225.  
  226.                         b           Send   a  "break"  signal  over   the
  227.                                     communications  line;  this  is  only
  228.                                     useful on mainframes such as the  IBM
  229.                                     3081/370/4341 et.  al.
  230.  
  231.                         s           Same as the  "show  all"  command  in
  232.                                     command  mode;  displays the  current
  233.                                     parameter  settings   for  the  local
  234.                                     KERMIT.
  235.  
  236.                         ?           Displays the possible  characters  to
  237.                                     follow the escape code
  238.  
  239.                         <Escape char>
  240.                                     Two consecutive  escapes are required
  241.                                     to send one  such  character  to  the
  242.                                     communications line
  243.  
  244.         EXIT            To return to main p-System command level.
  245.  
  246.         HELP            To get a list of KERMIT commands.   HELP  can  be
  247.                         followed by any  command,  in which case the help
  248.                         will refer only to that command.
  249.  
  250.         RECEIVE         To accept a file  from  the  remote system.  Note
  251.                         that ".TEXT" will be concatenated onto the end of
  252.                         the  received  file  name  if it is  not  already
  253.                         present.
  254.  
  255.  
  256.  
  257.  
  258.  
  259.  
  260.  
  261.                                       - 4 -
  262.  
  263.  
  264.  
  265.  
  266.  
  267.  
  268.  
  269.  
  270.  
  271.  
  272.         SEND            To send a file to the  remote  system.   Takes  a
  273.                         filename as a parameter.  In creating a file name
  274.                         for the remote Kermit,  all  periods  in the name
  275.                         except the rightmost  are  deleted.   This is for
  276.                         compatibility with most other operating systems.
  277.  
  278.         SET             To  establish  system-dependent parameters.   The
  279.                         SET options are as follows:
  280.  
  281.                         BAUD        To  set the communications baud  rate
  282.                                     to 110, 300,  1200,  2400,  4800,  or
  283.                                     9600 (default is 1200).
  284.  
  285.                         DEBUG       To set debug mode  ON or OFF (default
  286.                                     is OFF).
  287.  
  288.                         EMULATE     To set DataMedia 1520A screen control
  289.                                     code   interpretation   ON   or   OFF
  290.                                     (default is OFF).
  291.  
  292.                         END-OF-LINE
  293.                                     To change the character used  at  the
  294.                                     end  of  packets to  something  other
  295.                                     than the  default of CR. It must be a
  296.                                     digit between 0 and 31.
  297.  
  298.                         ESCAPE      To change  the  escape  sequence that
  299.                                     lets you return to the PC Kermit from
  300.                                     the  remote  host.   The  default  is
  301.                                     CTRL-] c.
  302.  
  303.                         FILE-WARNING
  304.                                     ON/OFF,  default  is   OFF.   If  ON,
  305.                                     Kermit  will rename an incoming  file
  306.                                     so as not  to  write over a file that
  307.                                     currently exists with the same name.
  308.  
  309.                         IBM         ON/OFF, default  is  OFF.   This flag
  310.                                     should be  ON  only  when transfering
  311.                                     files  between  the  PC  and  an  IBM
  312.                                     VM/CMS system.   It  also  causes the
  313.                                     parity to  be  set  appropriately and
  314.                                     activates local echoing.
  315.  
  316.                         LOCAL-ECHO
  317.                                     ON/OFF,  default  is OFF.   When  on,
  318.                                     this  causes characters typed at  the
  319.                                     keyboard during  connect  mode  to be
  320.                                     echoed to the screen.
  321.  
  322.  
  323.  
  324.  
  325.  
  326.  
  327.                                       - 5 -
  328.  
  329.  
  330.  
  331.  
  332.  
  333.  
  334.  
  335.  
  336.  
  337.  
  338.                         PARITY      EVEN,  ODD,  MARK,  SPACE,  or  NONE.
  339.                                     NONE is the  default  but  if the IBM
  340.                                     flag  is set, parity is set to  MARK.
  341.                                     This  flag  selects  the  parity  for
  342.                                     outgoing  and   incoming   characters
  343.                                     during  CONNECT and file transfer  to
  344.                                     match the requirements  of the remote
  345.                                     computer.
  346.  
  347.         SHOW            To  see  the  values  of parameters that  can  be
  348.                         modified via the SET command.  SHOW ALL shows all
  349.                         parameters; SHOW followed by a  parameter  listed
  350.                         under  SET  will  show  the  value  of only  that
  351.                         parameter.
  352.  
  353.  
  354.  
  355.  
  356.                           WISH LIST FOR FUTURE VERSIONS
  357.  
  358.  
  359.             If anyone  tries these, please consider portability and share
  360.         your work with the rest of the p-System community.
  361.  
  362.           1.  Increased memory buffering  of  sent  and received packets.
  363.               Now only the standard 512 character buffers provided by the
  364.               operating system  are utilized.  On floppy disk systems the
  365.               throughput is slowed considerably by frequent disk access.
  366.  
  367.           2.  Timing  of   file  transfers  using  the  system  clock  to
  368.               determine the effective transmission rate.
  369.  
  370.           3.  More intelligent handling of received linefeed characters.
  371.  
  372.           4.  Implementation  of  the  immediate '?'   (help)  and  <esc>
  373.               (abbreviate) commands in the parsing routines;
  374.  
  375.           5.  A DIR command to list a local volume directory.
  376.  
  377.           6.  Text  file  capture  with memory  buffering,  and  XON/XOFF
  378.               protocol.  (For remote computers not supporting Kermit.)
  379.  
  380.           7.  Text file transmission without protocol.
  381.  
  382.           8.  Eight-bit quoting for  sending  and receiving data and code
  383.               files.
  384.  
  385.           9.  Timeouts during  send and receive using the hardware clock,
  386.               and a related SET TIMEOUT command.
  387.  
  388.  
  389.  
  390.  
  391.  
  392.  
  393.                                       - 6 -
  394.  
  395.  
  396.  
  397.