home *** CD-ROM | disk | FTP | other *** search
/ Columbia Kermit / kermit.zip / hp86 / hp8insdoc.txt < prev    next >
Text File  |  2020-01-01  |  27KB  |  977 lines

  1.  
  2.  
  3.  
  4.  
  5.  
  6.  
  7.  
  8.  
  9.  
  10.  
  11.  
  12.  
  13.  
  14.  
  15.  
  16.  
  17.  
  18.  
  19.  
  20.  
  21.                    HH     HH  PPPPPPPP    8888888    6666666
  22.                    HH     HH  PP     PP  88     88  66
  23.                    HH     HH  PP     PP  88     88  66
  24.                    HHHHHHHHH  PPPPPPPP    8888888   66666666
  25.                    HH     HH  PP         88     88  66     66
  26.                    HH     HH  PP         88     88  66     66
  27.                    HH     HH  PP          8888888    6666666
  28.  
  29.  
  30.  
  31.         KK    KKK  EEEEEEEE  RRRRRRRR    MMM     MMM  IIIIII  TTTTTTTTTT
  32.         KK   KKK   EE        RR     RR   MMMM   MMMM    II        TT
  33.         KK  KKK    EE        RR     RR   MM MM MM MM    II        TT
  34.         KKKKK      EEEEEEE   RRRRRRRR    MM  MMM  MM    II        TT
  35.         KKKKKK     EE        RR RRR      MM   M   MM    II        TT
  36.         KK  KKK    EE        RR   RRR    MM       MM    II        TT
  37.         KK    KKK  EEEEEEEE  RR     RRR  MM       MM  IIIIII      TT
  38.  
  39.  
  40.  
  41.  
  42.  
  43.  
  44.  
  45.       ====================================================================
  46.  
  47.       IIIII N   N SSSSS TTTTT  AA  L    L     AA   TTTTT IIIII  OOO  N   N
  48.         I   NN  N S       T   A  A L    L    A  A    T     I   O   O NN  N
  49.         I   N N N SSSSS   T   AAAA L    L    AAAA    T     I   O   O N N N
  50.         I   N  NN     S   T   A  A L    L    A  A    T     I   O   O N  NN
  51.       IIIII N   N SSSSS   T   A  A LLLL LLLL A  A    T   IIIII  OOO  N   N
  52.  
  53.       ====================================================================
  54.  
  55.  
  56.                         HP86 Kermit Installation Manual
  57.                                 Edition 1.00
  58.  
  59.                       This Manual applies to version 1.00
  60.  
  61.  
  62.  
  63.  
  64.  
  65.                                      - 1 -
  66.  
  67.  
  68.  
  69.  
  70.  
  71.  
  72.  
  73.  
  74.  
  75.  
  76.                         ===============================
  77.                         HP86 Kermit Installation Manual
  78.                         ===============================
  79.                                 Edition 1.00
  80.  
  81.                       This Manual applies to version 1.00
  82.  
  83.                                    CONTENTS
  84.                                    --------
  85.  
  86.       1. Introduction.
  87.          1.1. Software requirments.
  88.          1.2. File name convention.
  89.  
  90.       2. Installation of HP86 Kermit version 1.00
  91.          2.1 Try again to find a Kermit disk.
  92.          2.2 Bootstrapping from the communication line.
  93.              2.2.1 Using an existing file capture system.
  94.              2.2.2 Type in your own bootstrap.
  95.  
  96.       Appendix A: Program listings.
  97.  
  98.       Appendix B: RS232 settings.
  99.  
  100.       Appendix C: Modifying the program.
  101.  
  102.  
  103.  
  104.  
  105.  
  106.  
  107.  
  108.  
  109.  
  110.  
  111.  
  112.  
  113.  
  114.  
  115.  
  116.  
  117.  
  118.  
  119.  
  120.  
  121.  
  122.  
  123.  
  124.  
  125.  
  126.  
  127.  
  128.  
  129.  
  130.                                      - 2 -
  131.  
  132.  
  133.  
  134.  
  135.  
  136.  
  137.  
  138.  
  139.  
  140.  
  141.      1. INTRODUCTION
  142.         ------------
  143.  
  144.         This manual describes what software is needed to run HP86 Kermit on
  145.      the  HP86  microcomputer  and  how  to  obtain  this  software.    Two
  146.      bootstrapping  programs,  for downloading Kermit from a mainframe, are
  147.      supplied for use if necessary. Also information is  given  on  how  to
  148.      modify the Kermit program.
  149.  
  150.        The HP86 Kermit program was written by Martin Rootes of the Computer
  151.      Services Department, Sheffield City Polytechnic. The two bootstrapping
  152.      programs  (HP8BOO.BAS  &  HP8BOO.FOR)  are  adaptions of two programs,
  153.      written by Bill Catchings of Columbia University, for MS-DOS Kermit.
  154.  
  155.  
  156.  
  157.  
  158.  
  159.  
  160.  
  161.  
  162.  
  163.  
  164.  
  165.  
  166.  
  167.  
  168.  
  169.  
  170.  
  171.  
  172.  
  173.  
  174.  
  175.  
  176.  
  177.  
  178.  
  179.  
  180.  
  181.  
  182.  
  183.  
  184.  
  185.  
  186.  
  187.  
  188.  
  189.  
  190.  
  191.  
  192.  
  193.  
  194.  
  195.                                      - 3 -
  196.  
  197.  
  198.  
  199.  
  200.  
  201.  
  202.  
  203.  
  204.  
  205.  
  206.       1.1 SOFTWARE REQUIREMENTS
  207.       -------------------------
  208.  
  209.        To have a working version of Kermit for your HP86 you  will  need  a
  210.      disk with at least the following two files on it:
  211.  
  212.        KERMIT   -   The actual Kermit BASIC program.
  213.        UTIL/1   -   A binary program containing various utilities.
  214.  
  215.        Also if you wish to transfer BASIC programs you will need:
  216.  
  217.        GETSAVE  -   Binary program  giving utilities to save BASIC programs
  218.                     as DATA files, and load DATA files into memory as BASIC
  219.                     programs (GET)
  220.  
  221.        The two utility programs can be found on the HP86 DEMO disk supplied
  222.      with  each  machine.  The  rest of this document describes how you can
  223.      obtain a copy of the Kermit program, and gives information on  how  to
  224.      modify the program.
  225.  
  226.  
  227.       1.2 FILE NAME CONVENTIONS
  228.       -------------------------
  229.  
  230.          The  file  names  of kermit files have a slightly different format
  231.      depending on whether they are on a mainframe  or  on  the  HP86.  when
  232.      referring  to  files  on a mainframe the following convention is used:
  233.      name.type , where name is 6 characters and type 3. When  referring  to
  234.      files on the HP86 the '.' separator is replaced by a space, thus :
  235.  
  236.         HP8KER.BAS would be translated to HP8KER BAS
  237.  
  238.        Also  all the files on the remote are stored as ASCII strings, so in
  239.      the case of BASIC programs once they are transferred to the HP86  they
  240.      should  be  translated  to  BASIC files, using GETSAVE. The files once
  241.      translated will be referred to by dropping the type part of the  name,
  242.      except HP8KER BAS which is renamed as KERMIT, for example:
  243.  
  244.         HP8BOO BAS would after conversion become HP8BOO
  245.  
  246.  
  247.  
  248.  
  249.  
  250.  
  251.  
  252.  
  253.  
  254.  
  255.  
  256.  
  257.  
  258.  
  259.  
  260.                                      - 4 -
  261.  
  262.  
  263.  
  264.  
  265.  
  266.  
  267.  
  268.  
  269.  
  270.  
  271.      2. INSTALLATION OF HP86-KERMIT VERSION 1.00
  272.         ----------------------------------------
  273.  
  274.         Modified from a document for MS-DOS Kermit by Bill Catchings, CUCCA
  275.         by M.J.Rootes, Sheffield City Polytechnic.
  276.  
  277.         To obtain a copy of Kermit for your HP86 you will need to do one of
  278.      the following, borrow a floppy disk containing Kermit and copy it, use
  279.      a file capture program to download it from the mainframe at your site,
  280.      or use the following  instructions  to  'bootstrap'  Kermit  from  the
  281.      mainframe.
  282.  
  283.      There are at least three methods of initially getting HP86 Kermit onto
  284.      your HP86:
  285.  
  286.         1. Try again to find a copy on diskette.
  287.  
  288.         2. Use another file capture facility to get it.
  289.  
  290.         3. Type in and run a bootstrapping program.
  291.  
  292.  
  293.       2.1. Try Again To Find A Kermit Disk
  294.       ------------------------------------
  295.  
  296.      Before explaining how to bootstrap Kermit onto your HP86, a disclaimer
  297.      must be made. Although a fair amount of thought and time has gone into
  298.      these  procedures,  they  are  far  from  error  free.  If  they  were
  299.      foolproof, there would be no need for a protocol such as Kermit. There
  300.      are many places where things can go wrong, from something as simple as
  301.      a typing mistake to something as unavoidable and  probably  inevitable
  302.      as  a  communications line failure. By far the easiest and best way to
  303.      install Kermit is from a floppy disk. Before you embark on any of  the
  304.      following  procedures  it  is  a  good  idea to check once again for a
  305.      diskette to copy, even it it contains an old version  of  Kermit.  The
  306.      time you spend searching is likely to be far less frustrating than the
  307.      time  you  spend  trying  to bootstrap Kermit by the methods described
  308.      below.
  309.  
  310.  
  311.       2.2. Bootstrapping From the Communication Line
  312.       ----------------------------------------------
  313.  
  314.      If you can't find a disk with  Kermit  on  it,  there  are  two  other
  315.      methods  available  for  bootstrapping  HP86  Kermit onto your HP. The
  316.      first method is to use a file capture method or  other  file  transfer
  317.      protocol  to  transfer  the  file  to  your  HP86.   The second method
  318.      requires you to type in your own downloading program.
  319.  
  320.  
  321.  
  322.  
  323.  
  324.  
  325.                                      - 5 -
  326.  
  327.  
  328.  
  329.  
  330.  
  331.  
  332.  
  333.  
  334.  
  335.  
  336.      In either case, you must transmit the file from the  system  where  it
  337.      resides over a communication line and into your HP86.
  338.  
  339.      The  HP8KER.BOO  file  contains  only  printable  ASCII characters, to
  340.      ensure that downloading can take place regardless of parity  or  other
  341.      peculiarities of the communication channel.
  342.  
  343.  
  344.       2.2.1. Use An Existing File Capture Facility
  345.       --------------------------------------------
  346.  
  347.      Use  your  file  capture facility, whatever it may be, to get the file
  348.      HP8KER.BAS onto your HP's disk, but first make sure  you  have  enough
  349.      room  for  it  (approx  30k).  Once the file is on your disk, you must
  350.      convert it in to a BASIC program using the  GETSAVE  utility  program,
  351.      supplied  on  the HP86's demo disk. The utility program UTIL/1 must be
  352.      present in the HP86's memory before GETTING 'KERMIT BAS'.
  353.  
  354.        LOADBIN "UTIL/1"     <- Load the utility program.
  355.        LOADBIN "GETSAVE"    <- Load the DATA - BASIC conversion utility.
  356.        GET "HP8KER BAS"     <- Load the DATA file 'HP8KER BAS' as a BASIC
  357.                                program.
  358.  
  359.        .....If successful, no lines should be displayed during GET.....
  360.  
  361.        STORE "KERMIT"       <- Save the BASIC program on your disk.
  362.  
  363.       2.2.2. Type In Your Own Bootstrap
  364.       ---------------------------------
  365.  
  366.      If you can't find some method for downloading the HP8KER.BOO file, the
  367.      second way of bootstrapping Kermit is to use the programs 'HP8BOO BAS'
  368.      and HP8BOO.FOR to download via your HP86's serial port from your  host
  369.      You  run  the program HP8BOO.FOR on your host and then run the program
  370.      'HP8BOO BAS' on your HP86.
  371.  
  372.      The FORTRAN program sends the HP8KER.BOO file to  the  BASIC  program,
  373.      which  stores  it as string data on your current disk as 'KERMIT BOO'.
  374.      A very rudimentary form of error checking is done to  allow  obviously
  375.      corrupted records to be retransmitted. Follow this procedure:
  376.  
  377.        1. First, you must establish a connection from your HP86 to the host
  378.           system.  A high speed connection is preferable; a "clean" line is
  379.           preferable to a noisy one. In fact, a clean line is essential for
  380.           this procedure. You must be able to log in  to  the  host  system
  381.           over  this  connection.  If  your  HP86  already  has  a terminal
  382.           emulation facility, use that. If not, you might need to put  your
  383.           HP86  next  to  a real terminal and use that for logging in, then
  384.           switch the connector to the HP86 at the critical moment.  If  you
  385.           are  using a terminal, make sure the terminal and HP86 have their
  386.           communication ports set to the same speed.
  387.  
  388.  
  389.  
  390.                                      - 6 -
  391.  
  392.  
  393.  
  394.  
  395.  
  396.  
  397.  
  398.  
  399.  
  400.  
  401.        2. Ensure that the files HP8BOO.FOR and HP8KER.BOO  are  present  on
  402.           the host system.  HP8BOO.FOR is listed below, in case you need to
  403.           type it in.
  404.  
  405.        3. Get  back  to  your HP86 and type in 'HP8BOO BAS' on your HP86; a
  406.           listing appears below. There is no need to type in  the  comments
  407.           (anything  following an exclamation mark); they are only there to
  408.           clarify what the program  is  doing.  Check  very  carefully  for
  409.           errors. You should check the RS232 settings in the program (lines
  410.           2000  -  2180)  to  see  that  it reflects the way your system is
  411.           actually set  up.  If  necessary,  change  the  control  register
  412.           settings  (see  appendix  B).    The  settings  are  correct  for
  413.           downloading from an IBM 4341.   For  half-duplex  systems,  leave
  414.           line  1000 as it is; otherwise, replace it by a RETURN statement.
  415.           If you type it in directly  to  BASIC  make  sure  you  save  the
  416.           program  before you run it, so you won't have to type it in again
  417.           in case of error.
  418.  
  419.        4. Get back to your host system and compile HP8BOO.FOR, if it  needs
  420.           compiling.  Define  logical  unit  numbers  5  and  6  to  be the
  421.           controlling  terminal,  and  logical  unit  7  to  be  the   file
  422.           HP8KER.BOO. On VAX/VMS systems, for example, use these commands:
  423.  
  424.               $assign sys$input for005
  425.               $assign sys$output for006
  426.               $assign hp8ker.boo for007
  427.  
  428.              On a DECSYSTEM-20, do:
  429.  
  430.                define 5: tty:
  431.                define 6: tty:
  432.                define 7: hp8ker.boo
  433.  
  434.              On an IBM system under VM/CMS, do this:
  435.  
  436.               .filedef 5 term ( lrecl 80 recfm v
  437.               .filedef 6 term ( lrecl 80 recfm f
  438.               .filedef 7 disk hp8ker boo ( lrecl 80 recfm f perm
  439.  
  440.        5. Set your host system up for downloading:
  441.  
  442.           - Ensure  that  your terminal does not automatically pause at the
  443.             end of a screenful of output. For instance,  on  a  DEC-20  you
  444.             would issue the command "terminal no pause end-of-page".
  445.  
  446.           - Do  whatever you can to disable messages from appearing at your
  447.             terminal while these programs are running. This  would  include
  448.             messages from other users, mail notification, alarms or alerts,
  449.             system  messages,  and  so  forth. Such messages will interfere
  450.             with the procedure, and probably render the result useless.
  451.  
  452.  
  453.  
  454.  
  455.                                      - 7 -
  456.  
  457.  
  458.  
  459.  
  460.  
  461.  
  462.  
  463.  
  464.  
  465.  
  466.           - You should put your host terminal  in  "local  echo"  or  "half
  467.             duplex" mode, if possible.
  468.  
  469.        6. Start the HP8BOO program on your host system.
  470.  
  471.        7. Get  back  to the HP86. If you have been using a terminal, switch
  472.           the connector to the HP86.
  473.  
  474.        8. Now run the BASIC program, 'HP8BOO BAS'. This procedure will take
  475.           at least twenty minutes and possibly  longer  depending  on  line
  476.           speed.   Watch your disk lights for reassurance that something is
  477.           happening.
  478.  
  479.        9. The file 'KERMIT BOO' should now exist on the current  HP86  disk
  480.           this  should  be converted into a BASIC program using the GETSAVE
  481.           utility.
  482.  
  483.              LOADBIN "UTIL/1"     <-  This must be loaded otherwise getsave
  484.                                       will not convert the file correctly.
  485.              LOADBIN "GETSAVE"    <-  Load the conversion utility.
  486.              GET "KERMIT BOO"     <-  Load the  data file  'KERMIT BOO' and
  487.                                       convert to a BASIC program.
  488.              .....When the conversion has completed successfully.........
  489.              STORE "KERMIT"       <-  Store the Kermit BASIC program.
  490.  
  491.       10. Before finishing remember to log off from the  host  system,  you
  492.           may of course now use the HP86 Kermit to achieve this.
  493.  
  494.      By  using  one  of  these  installation methods, you should now have a
  495.      working version of Kermit. If you experience any  problems  or  quirky
  496.      behavior  with  the  program,  it's  possible that some part of it was
  497.      corrupted during the downloading procedure. Perhaps enough usable code
  498.      remains to allow you to transfer HPKERMIT.BAS from the host.  If  not,
  499.      you will have to repeat the downloading procedure.
  500.  
  501.      Once  you  have  HP86 Kermit  on  your  disk, you should make the disk
  502.      available to other users for copying, so that they can be  spared  the
  503.      tedium of this bootstrap procedure.
  504.  
  505.  
  506.  
  507.  
  508.  
  509.  
  510.  
  511.  
  512.  
  513.  
  514.  
  515.  
  516.  
  517.  
  518.  
  519.  
  520.                                      - 8 -
  521.  
  522.  
  523.  
  524.  
  525.  
  526.  
  527.  
  528.  
  529.  
  530.  
  531.       Appendix A: Program listings
  532.       ----------------------------
  533.  
  534.      Here  is  a  listing  of  'HP8BOO  BAS'. The DISP statements with line
  535.      numbers 140 & 350 may be included if you want incoming records  to  be
  536.      displayed on the screen. You don't need to include the comments.
  537.  
  538.      1 ! Run this program on the HP86 in conjunction with a FORTRAN program
  539.      2 ! (HP8BOO.FOR) on the mainframe to download kermit to the HP86. This
  540.      3 ! program will run for about thirty minutes, depending on line speed
  541.      4 ! Original program, for use with a PC running MS-DOS, by:-
  542.      5 !   Bill Catchings, June 1984 (revised Sept 1984)
  543.      6 !   Columbia University Center for Computing Activities
  544.      7 !  Converted for use on HP86 by:-
  545.      8 !   M.J.Rootes, Sheffield City Polytechnic, Apr 1986.
  546.      9 !
  547.      10 INTEGER n,s
  548.      20 DIM x$[88],f$[20]
  549.      30 SETTIME 0,0
  550.      40 GOSUB 2000 ! Set RS232 interface
  551.  
  552.      100 OUTPUT 10 ;"O ,2"
  553.      110 ENTER 10 ; f$
  554.      120 IF LEN (f$)<5 THEN 110 !   in case of echo repeat
  555.      130 ENTER 10 ; n
  556.      140 DISP f$&" "&VAL$ (n)
  557.      150 IF n>10 THEN 900 !         incorrect  filename
  558.      160 CREATE f$,110
  559.      165 ASSIGN# 1 TO  f$
  560.      170 DISP "Outputting to "&f$
  561.      180 GOTO 300
  562.  
  563.      200 GOSUB 1000 !   Turnaround processing
  564.      210 OUTPUT 10 ;"N" ! Data incorrect
  565.      220 GOTO 320
  566.  
  567.      300 GOSUB 1000 !  Turnaround
  568.      310 OUTPUT 10 ;"O" ! data Ok
  569.  
  570.      320 ENTER 10 ; x$
  571.      330 IF LEN (x$)<5 THEN 320 ! in case of echo
  572.      340 ENTER 10 ; n
  573.      350 DISP x$&" "&VAL$ (n)
  574.      360 IF LEN (x$)#n THEN 200 ! length wrong - nak
  575.      370 IF x$="&&&&&&&&&&" THEN 800 ! end of file
  576.      400 PRINT# 1 ; x$
  577.      410 GOTO 300
  578.  
  579.      800 DISP "Processing complete, file transferred"
  580.      805 DISP "Time taken "&VAL$ (TIME )&"secs"
  581.      810 ASSIGN# 1 TO  *
  582.      820 END
  583.  
  584.  
  585.                                      - 9 -
  586.  
  587.  
  588.  
  589.  
  590.  
  591.  
  592.  
  593.  
  594.  
  595.  
  596.  
  597.      900 DISP "Filename incorrect"
  598.      910 GOTO 820
  599.  
  600.      1000 STATUS 10,9 ; s ! return for full duplex
  601.      1010 IF s<128 THEN 1000 ! wait for transmitter to be enabled
  602.      1020 RETURN
  603.  
  604.      2000 ! SET RS232 INTERFACE
  605.      2020 CONTROL 10,3 ; 6 ! Set baud rate 300 baud
  606.      2040 CONTROL 10,4 ; 42 ! Set parity to MARK
  607.      2060 CONTROL 10,5 ; 0 ! Set auto handshake (DTR/RTS) off
  608.      2080 CONTROL 10,9 ; 225 ! Strip Nulls, backspace & enable transmit &
  609.           receive
  610.      2100 CONTROL 10,11 ; 192 ! Set handshake/flow-control on
  611.      2105 CONTROL 10,14 ; 19 !  Set XOFF
  612.      2110 CONTROL 10,15 ; 17 !  Handshake character XON
  613.      2120 CONTROL 10,16 ; 67 !  EOL transmit disable & 3 char EOL count
  614.      2140 CONTROL 10,17 ; 13 ! CR
  615.      2160 CONTROL 10,18 ; 17 ! XON
  616.      2170 CONTROL 10,19 ; 46 ! '.'
  617.      2180 RETURN
  618.  
  619.  
  620.  
  621.  
  622.  
  623.  
  624.  
  625.  
  626.  
  627.  
  628.  
  629.  
  630.  
  631.  
  632.  
  633.  
  634.  
  635.  
  636.  
  637.  
  638.  
  639.  
  640.  
  641.  
  642.  
  643.  
  644.  
  645.  
  646.  
  647.  
  648.  
  649.  
  650.                                      - 10 -
  651.  
  652.  
  653.  
  654.  
  655.  
  656.  
  657.  
  658.  
  659.  
  660.  
  661.      Here  is a listing  of HP8BOO.FOR,  in case you can't  find it on your
  662.      host system:
  663.  
  664.      C   This Fortran program should be run on the mainframe in conjunction
  665.      C   with a BASIC program ('HP8BOO BAS') on the HP86 to transfer
  666.      C   HP8KER.BOO to the HP86 and store it as 'KERMIT BOO'.  this
  667.      C   program uses a very rudimentary technique to try to insure that
  668.      C   the characters it sends arrive correctly.  It just sends a count
  669.      C   of the number of characters sent after each line.  In this way any
  670.      C   errors of character loss or insertion will be caught.  If a
  671.      C   character is just corrupted it will not be caught.  Hopefully if
  672.      C   this happens it will be in a non-critical part of the 'KERMIT BOO'
  673.      C   file.  The reason a simple checksum was not used was so that this
  674.      C   program could run on machines using either EBCDIC or ASCII
  675.      C   characters.  This program should take about thirty minutes to run.
  676.      C
  677.      C   This program assumes that 5 and 6 are directed to the terminal and
  678.      C   7 is directed to the file HP8KER.BOO.
  679.      C
  680.      C   *Original Program* for use with a PC running MS-DOS by:-
  681.      C   Bill Catchings,
  682.      C   Columbia University Center for Computing Activities
  683.      C   June 1984 (Revised September 1984)
  684.      C
  685.      C   *REVISED* at Sheffield City Polytechnic by R.L.Horton 22Aug85:-
  686.      C    1) FORTRAN G1 cannot accept "I-1" on a WRITE statement.
  687.      C    2) Insert a call to NULIN and to RETYPE.
  688.      C   *REVISED* at Sheffield City Polytechnic by R.L.Horton 10Apr86:-
  689.      C    1) NULIN has been rename to NULLIN.
  690.      C    2) For some unknown reason this program started issuing a double
  691.      C       read to the terminal at statement 100/3 (at start-up)!
  692.      C       The FORMAT statement 200 has been corrected to stop it.
  693.      C    3) The FILEDEF for the terminal has been changed to RECFM F80.
  694.      C
  695.      C   *CHANGED* for use with 'HP8BOO BAS' at Sheffield City Polytechnic
  696.      C     By M.J.Rootes 11Apr86:-
  697.      C      1) Accept lines up to 79 characters long
  698.      C      2) Reverse character count as HP86 BASIC lines contain spaces
  699.      C      3) Insert Linefeed between Line and character count
  700.      C
  701.  
  702.            INTEGER LINE(79), ACK(4), CHECK, OK, SPACE, COMMA
  703.            CALL NULLIN
  704.            CALL RETYPE
  705.  
  706.            WRITE(6,100)
  707.      100   FORMAT(' Ready to transfer, now run 'HP8BOO BAS' on the HP86.')
  708.  
  709.      C     Get characters for constants (character constants are rough in
  710.      C     some FORTRANs).
  711.  
  712.  
  713.  
  714.  
  715.                                      - 11 -
  716.  
  717.  
  718.  
  719.  
  720.  
  721.  
  722.  
  723.  
  724.  
  725.  
  726.            READ (5,200) OK, SPACE, COMMA, ACK
  727.      200   FORMAT(A1,A1,A1,4A1)
  728.      C     The following statement has been changed from GO TO 30.
  729.            GO TO 20
  730.  
  731.      C     Get terminal handshake.
  732.      10    READ (5,200)ACK
  733.  
  734.      C     Did the other side like it?  (Did they send OK?)
  735.            IF (ACK(1) .NE. OK) GO TO 50
  736.  
  737.      C     Yes, get new line from file.
  738.      20    READ (7,300,END=99)LINE
  739.      300   FORMAT(79A1)
  740.  
  741.      C           Count the characters as some rudimentary check for noise.
  742.            I = 79
  743.      30    IF (LINE(I) .NE. SPACE) GO TO 50
  744.            I = I - 1
  745.            GO TO 30
  746.  
  747.      C           Put in a comma followed by the count.
  748.      C     40    LINE(I) = COMMA
  749.  
  750.      C     Write to TTY.
  751.      50    WRITE (6,400)LINE,I
  752.      400   FORMAT(79A1/I2)
  753.            GOTO 10
  754.  
  755.      C     Send good-bye message.
  756.      99    WRITE (6,500)
  757.      500   FORMAT(10('&')/'10')
  758.  
  759.            STOP
  760.            END
  761.  
  762.  
  763.  
  764.  
  765.  
  766.  
  767.  
  768.  
  769.  
  770.  
  771.  
  772.  
  773.  
  774.  
  775.  
  776.  
  777.  
  778.  
  779.  
  780.                                      - 12 -
  781.  
  782.  
  783.  
  784.  
  785.  
  786.  
  787.  
  788.  
  789.  
  790.  
  791.       Appendix B: RS232 settings
  792.       --------------------------
  793.  
  794.        The following is a list  of certain control registers  for the RS232
  795.      interface  and  there  effect  on  its  characteristics  for  use when
  796.      adapting 'HP8BOO BAS' to systems other than the IBM 4341 (Mark parity,
  797.      XON handshake,  on  300 baud line).  Please  read the  I/O programming
  798.      manual for a more detailed explanations of these registers.
  799.  
  800.      CONTROL 10,3 ;  - Gives baud rate       110 - 2
  801.                                              300 - 6
  802.                                             1200 - 8
  803.  
  804.      CONTROL 10,4 ;  - Parity               None  -  3
  805.                                             Odd   - 10
  806.                                             Even  - 26
  807.                                             Mark  - 42
  808.                                             Space - 58
  809.  
  810.      CONTROL 10,5 ;  - DTR/RTS handshake    Off - 0
  811.                                             On  - 48
  812.  
  813.      CONTROL 10,11 ; - XON/XOFF control     None     -   0
  814.                                             XON      - 128
  815.                                             XON/XOFF - 192
  816.  
  817.      CONTROL 10,14 ; - XOFF character       XOFF - 19
  818.      CONTROL 10,15 ; - XON  character       XON  - 17
  819.  
  820.      CONTROL 10,16 ; - End of line          No of characters - bits 0 - 4
  821.                                             Transmit disable - bit 5
  822.                                             Auto RTS enable  - bit 7
  823.  
  824.      CONTROL 10,17 - CONTROL 10,23  -  Hold end of line character sequence
  825.  
  826.  
  827.  
  828.  
  829.  
  830.  
  831.  
  832.  
  833.  
  834.  
  835.  
  836.  
  837.  
  838.  
  839.  
  840.  
  841.  
  842.  
  843.  
  844.  
  845.                                      - 13 -
  846.  
  847.  
  848.  
  849.  
  850.  
  851.  
  852.  
  853.  
  854.  
  855.  
  856.       Appendix C: Modifying the program
  857.       ---------------------------------
  858.  
  859.          HP86  Kermit  version  1.00  is a very basic implementation of the
  860.      Kermit protocol, most of the advanced facilities having been left out.
  861.      Due to the basic nature of version 1.00 it is anticipated  that  other
  862.      users  may  want to upgrade this version to include facilities such as
  863.      server support. Also users may wish to  modify  the  program  to  give
  864.      different default values.
  865.  
  866.          To enable easy modification a fully commented version is available
  867.      (HP8KRC.BAS), however this program is to large to  run  in  the  (64k)
  868.      memory  of  the  HP86.  To circumvent the memory problem the commented
  869.      program is also available split into  various  logical  sections,  the
  870.      relevant  section  can  then  be loaded over the non commented version
  871.      using the GET utility.  Once modified the new version of that  section
  872.      should  be  saved  (SAVE)  and then the comments stripped from the new
  873.      program.
  874.  
  875.       To overlay a commented section of program use the following procedure
  876.  
  877.        LOAD "KERMIT"          <- Load kermit program if not already done.
  878.        LOADBIN "UTIL/1"       <-  ''  utilities      ''  ''   ''     '' .
  879.  
  880.        LOADBIN "GETSAVE"      <- Load the GETSAVE utility program.
  881.        GET "HP8xxx BAS"       <- Load the desired section.
  882.  
  883.        When any modification is complete SAVE the program as it is,  delete
  884.      all  lines  except  those in the modified section and SAVE it. Now use
  885.      the 'HP8CSU BAS' comment strip utility to remove the comments from the
  886.      saved program.
  887.  
  888.        LOADBIN "GETSAVE"      <- Load GETSAVE utility if not present.
  889.        SAVE "TEMP"            <- Save the complete program as a data file.
  890.        DELETE 1,nnnn          <- Delete lines before changed section.
  891.        DELETE mmmm,99999      <-   ''    ''   after    ''      ''   .
  892.        SAVE "HP8xxx BAS"      <- Save the desired section.
  893.  
  894.        ... If 'HP8CSU BAS' has not been converted to a BASIC file then
  895.        DELETE 1,99999         <- Remove any existing program.
  896.        GET "HP8CSU BAS"       <- Get DATA file and convert to BASIC.
  897.        ... Else
  898.        LOAD "HP8CSU"          <- Load basic program.
  899.  
  900.        RUN
  901.       'Enter old name, new name, size of file ?'
  902.        TEMP,HP8KER BAS,120    <- Enter names and size of the new file.
  903.  
  904.        A new version of the commented program  can  be  produced  by  using
  905.      GETSAVE.    GET the old file 'HP8KER BAS', delete the section that has
  906.      been changed, then GET the new commented section, and finally save the
  907.      complete program.
  908.  
  909.  
  910.                                      - 14 -
  911.  
  912.  
  913.  
  914.  
  915.  
  916.  
  917.  
  918.  
  919.  
  920.  
  921.  
  922.        LOADBIN "UTIL/1"       <- Load utilities if not present.
  923.        LOADBIN "GETSAVE"      <-  ''  GETSAVE   '' ''    ''   .
  924.  
  925.        GET "HP8KRC BAS"       <- GET old version.
  926.        DELETE nnnn,mmmm       <- Delete the section that was changed.
  927.        GET "HP8xxx BAS"       <- GET the new version of that section.
  928.        SAVE "HP8KRC BAS"      <- SAVE the complete commented program.
  929.  
  930.  
  931.  
  932.       HP86 Kermit version 1.00 : Program sections:-
  933.  
  934.       Name        Line numbers  Description
  935.       ----        ------------  -----------
  936.       HP8DEF BAS     1 -   499  Define arrays, variables & constants.
  937.       HP8CPR BAS   500 -   999  Command processor.
  938.       HP8TRM BAS  1000 -  1999  Terminal mode (CONNECT command)
  939.       HP8SND BAS  2000 -  3999  SEND command.
  940.       HP8REC BAS  4000 -  4999  RECEIVE command.
  941.       HP8SSC BAS  5000 -  6999  SET and SHOW commands.
  942.       HP8COM BAS 10000 - 12999  Subroutines for sending & receiving packets
  943.       HP8CDF BAS 20000 - 20999  Functions for coding & decoding packets.
  944.       HP8DSP BAS 30000 - 30999  Subroutines for displaying current state.
  945.       HP8FSS BAS 40000 - 42999  Filling system subroutines
  946.       HP8MSC BAS 50000 - 52999  Miscellaneous subroutines.
  947.  
  948.  
  949.  
  950.  
  951.  
  952.  
  953.  
  954.  
  955.  
  956.  
  957.  
  958.  
  959.  
  960.  
  961.  
  962.  
  963.  
  964.  
  965.  
  966.  
  967.  
  968.  
  969.  
  970.  
  971.  
  972.  
  973.  
  974.  
  975.                                      - 15 -
  976. 
  977.