home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Columbia Kermit
/
kermit.zip
/
archives
/
hp86.tar.gz
/
hp86.tar
/
hp8insdoc.txt
< prev
next >
Wrap
Text File
|
1988-08-16
|
27KB
|
977 lines
HH HH PPPPPPPP 8888888 6666666
HH HH PP PP 88 88 66
HH HH PP PP 88 88 66
HHHHHHHHH PPPPPPPP 8888888 66666666
HH HH PP 88 88 66 66
HH HH PP 88 88 66 66
HH HH PP 8888888 6666666
KK KKK EEEEEEEE RRRRRRRR MMM MMM IIIIII TTTTTTTTTT
KK KKK EE RR RR MMMM MMMM II TT
KK KKK EE RR RR MM MM MM MM II TT
KKKKK EEEEEEE RRRRRRRR MM MMM MM II TT
KKKKKK EE RR RRR MM M MM II TT
KK KKK EE RR RRR MM MM II TT
KK KKK EEEEEEEE RR RRR MM MM IIIIII TT
====================================================================
IIIII N N SSSSS TTTTT AA L L AA TTTTT IIIII OOO N N
I NN N S T A A L L A A T I O O NN N
I N N N SSSSS T AAAA L L AAAA T I O O N N N
I N NN S T A A L L A A T I O O N NN
IIIII N N SSSSS T A A LLLL LLLL A A T IIIII OOO N N
====================================================================
HP86 Kermit Installation Manual
Edition 1.00
This Manual applies to version 1.00
- 1 -
===============================
HP86 Kermit Installation Manual
===============================
Edition 1.00
This Manual applies to version 1.00
CONTENTS
--------
1. Introduction.
1.1. Software requirments.
1.2. File name convention.
2. Installation of HP86 Kermit version 1.00
2.1 Try again to find a Kermit disk.
2.2 Bootstrapping from the communication line.
2.2.1 Using an existing file capture system.
2.2.2 Type in your own bootstrap.
Appendix A: Program listings.
Appendix B: RS232 settings.
Appendix C: Modifying the program.
- 2 -
1. INTRODUCTION
------------
This manual describes what software is needed to run HP86 Kermit on
the HP86 microcomputer and how to obtain this software. Two
bootstrapping programs, for downloading Kermit from a mainframe, are
supplied for use if necessary. Also information is given on how to
modify the Kermit program.
The HP86 Kermit program was written by Martin Rootes of the Computer
Services Department, Sheffield City Polytechnic. The two bootstrapping
programs (HP8BOO.BAS & HP8BOO.FOR) are adaptions of two programs,
written by Bill Catchings of Columbia University, for MS-DOS Kermit.
- 3 -
1.1 SOFTWARE REQUIREMENTS
-------------------------
To have a working version of Kermit for your HP86 you will need a
disk with at least the following two files on it:
KERMIT - The actual Kermit BASIC program.
UTIL/1 - A binary program containing various utilities.
Also if you wish to transfer BASIC programs you will need:
GETSAVE - Binary program giving utilities to save BASIC programs
as DATA files, and load DATA files into memory as BASIC
programs (GET)
The two utility programs can be found on the HP86 DEMO disk supplied
with each machine. The rest of this document describes how you can
obtain a copy of the Kermit program, and gives information on how to
modify the program.
1.2 FILE NAME CONVENTIONS
-------------------------
The file names of kermit files have a slightly different format
depending on whether they are on a mainframe or on the HP86. when
referring to files on a mainframe the following convention is used:
name.type , where name is 6 characters and type 3. When referring to
files on the HP86 the '.' separator is replaced by a space, thus :
HP8KER.BAS would be translated to HP8KER BAS
Also all the files on the remote are stored as ASCII strings, so in
the case of BASIC programs once they are transferred to the HP86 they
should be translated to BASIC files, using GETSAVE. The files once
translated will be referred to by dropping the type part of the name,
except HP8KER BAS which is renamed as KERMIT, for example:
HP8BOO BAS would after conversion become HP8BOO
- 4 -
2. INSTALLATION OF HP86-KERMIT VERSION 1.00
----------------------------------------
Modified from a document for MS-DOS Kermit by Bill Catchings, CUCCA
by M.J.Rootes, Sheffield City Polytechnic.
To obtain a copy of Kermit for your HP86 you will need to do one of
the following, borrow a floppy disk containing Kermit and copy it, use
a file capture program to download it from the mainframe at your site,
or use the following instructions to 'bootstrap' Kermit from the
mainframe.
There are at least three methods of initially getting HP86 Kermit onto
your HP86:
1. Try again to find a copy on diskette.
2. Use another file capture facility to get it.
3. Type in and run a bootstrapping program.
2.1. Try Again To Find A Kermit Disk
------------------------------------
Before explaining how to bootstrap Kermit onto your HP86, a disclaimer
must be made. Although a fair amount of thought and time has gone into
these procedures, they are far from error free. If they were
foolproof, there would be no need for a protocol such as Kermit. There
are many places where things can go wrong, from something as simple as
a typing mistake to something as unavoidable and probably inevitable
as a communications line failure. By far the easiest and best way to
install Kermit is from a floppy disk. Before you embark on any of the
following procedures it is a good idea to check once again for a
diskette to copy, even it it contains an old version of Kermit. The
time you spend searching is likely to be far less frustrating than the
time you spend trying to bootstrap Kermit by the methods described
below.
2.2. Bootstrapping From the Communication Line
----------------------------------------------
If you can't find a disk with Kermit on it, there are two other
methods available for bootstrapping HP86 Kermit onto your HP. The
first method is to use a file capture method or other file transfer
protocol to transfer the file to your HP86. The second method
requires you to type in your own downloading program.
- 5 -
In either case, you must transmit the file from the system where it
resides over a communication line and into your HP86.
The HP8KER.BOO file contains only printable ASCII characters, to
ensure that downloading can take place regardless of parity or other
peculiarities of the communication channel.
2.2.1. Use An Existing File Capture Facility
--------------------------------------------
Use your file capture facility, whatever it may be, to get the file
HP8KER.BAS onto your HP's disk, but first make sure you have enough
room for it (approx 30k). Once the file is on your disk, you must
convert it in to a BASIC program using the GETSAVE utility program,
supplied on the HP86's demo disk. The utility program UTIL/1 must be
present in the HP86's memory before GETTING 'KERMIT BAS'.
LOADBIN "UTIL/1" <- Load the utility program.
LOADBIN "GETSAVE" <- Load the DATA - BASIC conversion utility.
GET "HP8KER BAS" <- Load the DATA file 'HP8KER BAS' as a BASIC
program.
.....If successful, no lines should be displayed during GET.....
STORE "KERMIT" <- Save the BASIC program on your disk.
2.2.2. Type In Your Own Bootstrap
---------------------------------
If you can't find some method for downloading the HP8KER.BOO file, the
second way of bootstrapping Kermit is to use the programs 'HP8BOO BAS'
and HP8BOO.FOR to download via your HP86's serial port from your host
You run the program HP8BOO.FOR on your host and then run the program
'HP8BOO BAS' on your HP86.
The FORTRAN program sends the HP8KER.BOO file to the BASIC program,
which stores it as string data on your current disk as 'KERMIT BOO'.
A very rudimentary form of error checking is done to allow obviously
corrupted records to be retransmitted. Follow this procedure:
1. First, you must establish a connection from your HP86 to the host
system. A high speed connection is preferable; a "clean" line is
preferable to a noisy one. In fact, a clean line is essential for
this procedure. You must be able to log in to the host system
over this connection. If your HP86 already has a terminal
emulation facility, use that. If not, you might need to put your
HP86 next to a real terminal and use that for logging in, then
switch the connector to the HP86 at the critical moment. If you
are using a terminal, make sure the terminal and HP86 have their
communication ports set to the same speed.
- 6 -
2. Ensure that the files HP8BOO.FOR and HP8KER.BOO are present on
the host system. HP8BOO.FOR is listed below, in case you need to
type it in.
3. Get back to your HP86 and type in 'HP8BOO BAS' on your HP86; a
listing appears below. There is no need to type in the comments
(anything following an exclamation mark); they are only there to
clarify what the program is doing. Check very carefully for
errors. You should check the RS232 settings in the program (lines
2000 - 2180) to see that it reflects the way your system is
actually set up. If necessary, change the control register
settings (see appendix B). The settings are correct for
downloading from an IBM 4341. For half-duplex systems, leave
line 1000 as it is; otherwise, replace it by a RETURN statement.
If you type it in directly to BASIC make sure you save the
program before you run it, so you won't have to type it in again
in case of error.
4. Get back to your host system and compile HP8BOO.FOR, if it needs
compiling. Define logical unit numbers 5 and 6 to be the
controlling terminal, and logical unit 7 to be the file
HP8KER.BOO. On VAX/VMS systems, for example, use these commands:
$assign sys$input for005
$assign sys$output for006
$assign hp8ker.boo for007
On a DECSYSTEM-20, do:
define 5: tty:
define 6: tty:
define 7: hp8ker.boo
On an IBM system under VM/CMS, do this:
.filedef 5 term ( lrecl 80 recfm v
.filedef 6 term ( lrecl 80 recfm f
.filedef 7 disk hp8ker boo ( lrecl 80 recfm f perm
5. Set your host system up for downloading:
- Ensure that your terminal does not automatically pause at the
end of a screenful of output. For instance, on a DEC-20 you
would issue the command "terminal no pause end-of-page".
- Do whatever you can to disable messages from appearing at your
terminal while these programs are running. This would include
messages from other users, mail notification, alarms or alerts,
system messages, and so forth. Such messages will interfere
with the procedure, and probably render the result useless.
- 7 -
- You should put your host terminal in "local echo" or "half
duplex" mode, if possible.
6. Start the HP8BOO program on your host system.
7. Get back to the HP86. If you have been using a terminal, switch
the connector to the HP86.
8. Now run the BASIC program, 'HP8BOO BAS'. This procedure will take
at least twenty minutes and possibly longer depending on line
speed. Watch your disk lights for reassurance that something is
happening.
9. The file 'KERMIT BOO' should now exist on the current HP86 disk
this should be converted into a BASIC program using the GETSAVE
utility.
LOADBIN "UTIL/1" <- This must be loaded otherwise getsave
will not convert the file correctly.
LOADBIN "GETSAVE" <- Load the conversion utility.
GET "KERMIT BOO" <- Load the data file 'KERMIT BOO' and
convert to a BASIC program.
.....When the conversion has completed successfully.........
STORE "KERMIT" <- Store the Kermit BASIC program.
10. Before finishing remember to log off from the host system, you
may of course now use the HP86 Kermit to achieve this.
By using one of these installation methods, you should now have a
working version of Kermit. If you experience any problems or quirky
behavior with the program, it's possible that some part of it was
corrupted during the downloading procedure. Perhaps enough usable code
remains to allow you to transfer HPKERMIT.BAS from the host. If not,
you will have to repeat the downloading procedure.
Once you have HP86 Kermit on your disk, you should make the disk
available to other users for copying, so that they can be spared the
tedium of this bootstrap procedure.
- 8 -
Appendix A: Program listings
----------------------------
Here is a listing of 'HP8BOO BAS'. The DISP statements with line
numbers 140 & 350 may be included if you want incoming records to be
displayed on the screen. You don't need to include the comments.
1 ! Run this program on the HP86 in conjunction with a FORTRAN program
2 ! (HP8BOO.FOR) on the mainframe to download kermit to the HP86. This
3 ! program will run for about thirty minutes, depending on line speed
4 ! Original program, for use with a PC running MS-DOS, by:-
5 ! Bill Catchings, June 1984 (revised Sept 1984)
6 ! Columbia University Center for Computing Activities
7 ! Converted for use on HP86 by:-
8 ! M.J.Rootes, Sheffield City Polytechnic, Apr 1986.
9 !
10 INTEGER n,s
20 DIM x$[88],f$[20]
30 SETTIME 0,0
40 GOSUB 2000 ! Set RS232 interface
100 OUTPUT 10 ;"O ,2"
110 ENTER 10 ; f$
120 IF LEN (f$)<5 THEN 110 ! in case of echo repeat
130 ENTER 10 ; n
140 DISP f$&" "&VAL$ (n)
150 IF n>10 THEN 900 ! incorrect filename
160 CREATE f$,110
165 ASSIGN# 1 TO f$
170 DISP "Outputting to "&f$
180 GOTO 300
200 GOSUB 1000 ! Turnaround processing
210 OUTPUT 10 ;"N" ! Data incorrect
220 GOTO 320
300 GOSUB 1000 ! Turnaround
310 OUTPUT 10 ;"O" ! data Ok
320 ENTER 10 ; x$
330 IF LEN (x$)<5 THEN 320 ! in case of echo
340 ENTER 10 ; n
350 DISP x$&" "&VAL$ (n)
360 IF LEN (x$)#n THEN 200 ! length wrong - nak
370 IF x$="&&&&&&&&&&" THEN 800 ! end of file
400 PRINT# 1 ; x$
410 GOTO 300
800 DISP "Processing complete, file transferred"
805 DISP "Time taken "&VAL$ (TIME )&"secs"
810 ASSIGN# 1 TO *
820 END
- 9 -
900 DISP "Filename incorrect"
910 GOTO 820
1000 STATUS 10,9 ; s ! return for full duplex
1010 IF s<128 THEN 1000 ! wait for transmitter to be enabled
1020 RETURN
2000 ! SET RS232 INTERFACE
2020 CONTROL 10,3 ; 6 ! Set baud rate 300 baud
2040 CONTROL 10,4 ; 42 ! Set parity to MARK
2060 CONTROL 10,5 ; 0 ! Set auto handshake (DTR/RTS) off
2080 CONTROL 10,9 ; 225 ! Strip Nulls, backspace & enable transmit &
receive
2100 CONTROL 10,11 ; 192 ! Set handshake/flow-control on
2105 CONTROL 10,14 ; 19 ! Set XOFF
2110 CONTROL 10,15 ; 17 ! Handshake character XON
2120 CONTROL 10,16 ; 67 ! EOL transmit disable & 3 char EOL count
2140 CONTROL 10,17 ; 13 ! CR
2160 CONTROL 10,18 ; 17 ! XON
2170 CONTROL 10,19 ; 46 ! '.'
2180 RETURN
- 10 -
Here is a listing of HP8BOO.FOR, in case you can't find it on your
host system:
C This Fortran program should be run on the mainframe in conjunction
C with a BASIC program ('HP8BOO BAS') on the HP86 to transfer
C HP8KER.BOO to the HP86 and store it as 'KERMIT BOO'. this
C program uses a very rudimentary technique to try to insure that
C the characters it sends arrive correctly. It just sends a count
C of the number of characters sent after each line. In this way any
C errors of character loss or insertion will be caught. If a
C character is just corrupted it will not be caught. Hopefully if
C this happens it will be in a non-critical part of the 'KERMIT BOO'
C file. The reason a simple checksum was not used was so that this
C program could run on machines using either EBCDIC or ASCII
C characters. This program should take about thirty minutes to run.
C
C This program assumes that 5 and 6 are directed to the terminal and
C 7 is directed to the file HP8KER.BOO.
C
C *Original Program* for use with a PC running MS-DOS by:-
C Bill Catchings,
C Columbia University Center for Computing Activities
C June 1984 (Revised September 1984)
C
C *REVISED* at Sheffield City Polytechnic by R.L.Horton 22Aug85:-
C 1) FORTRAN G1 cannot accept "I-1" on a WRITE statement.
C 2) Insert a call to NULIN and to RETYPE.
C *REVISED* at Sheffield City Polytechnic by R.L.Horton 10Apr86:-
C 1) NULIN has been rename to NULLIN.
C 2) For some unknown reason this program started issuing a double
C read to the terminal at statement 100/3 (at start-up)!
C The FORMAT statement 200 has been corrected to stop it.
C 3) The FILEDEF for the terminal has been changed to RECFM F80.
C
C *CHANGED* for use with 'HP8BOO BAS' at Sheffield City Polytechnic
C By M.J.Rootes 11Apr86:-
C 1) Accept lines up to 79 characters long
C 2) Reverse character count as HP86 BASIC lines contain spaces
C 3) Insert Linefeed between Line and character count
C
INTEGER LINE(79), ACK(4), CHECK, OK, SPACE, COMMA
CALL NULLIN
CALL RETYPE
WRITE(6,100)
100 FORMAT(' Ready to transfer, now run 'HP8BOO BAS' on the HP86.')
C Get characters for constants (character constants are rough in
C some FORTRANs).
- 11 -
READ (5,200) OK, SPACE, COMMA, ACK
200 FORMAT(A1,A1,A1,4A1)
C The following statement has been changed from GO TO 30.
GO TO 20
C Get terminal handshake.
10 READ (5,200)ACK
C Did the other side like it? (Did they send OK?)
IF (ACK(1) .NE. OK) GO TO 50
C Yes, get new line from file.
20 READ (7,300,END=99)LINE
300 FORMAT(79A1)
C Count the characters as some rudimentary check for noise.
I = 79
30 IF (LINE(I) .NE. SPACE) GO TO 50
I = I - 1
GO TO 30
C Put in a comma followed by the count.
C 40 LINE(I) = COMMA
C Write to TTY.
50 WRITE (6,400)LINE,I
400 FORMAT(79A1/I2)
GOTO 10
C Send good-bye message.
99 WRITE (6,500)
500 FORMAT(10('&')/'10')
STOP
END
- 12 -
Appendix B: RS232 settings
--------------------------
The following is a list of certain control registers for the RS232
interface and there effect on its characteristics for use when
adapting 'HP8BOO BAS' to systems other than the IBM 4341 (Mark parity,
XON handshake, on 300 baud line). Please read the I/O programming
manual for a more detailed explanations of these registers.
CONTROL 10,3 ; - Gives baud rate 110 - 2
300 - 6
1200 - 8
CONTROL 10,4 ; - Parity None - 3
Odd - 10
Even - 26
Mark - 42
Space - 58
CONTROL 10,5 ; - DTR/RTS handshake Off - 0
On - 48
CONTROL 10,11 ; - XON/XOFF control None - 0
XON - 128
XON/XOFF - 192
CONTROL 10,14 ; - XOFF character XOFF - 19
CONTROL 10,15 ; - XON character XON - 17
CONTROL 10,16 ; - End of line No of characters - bits 0 - 4
Transmit disable - bit 5
Auto RTS enable - bit 7
CONTROL 10,17 - CONTROL 10,23 - Hold end of line character sequence
- 13 -
Appendix C: Modifying the program
---------------------------------
HP86 Kermit version 1.00 is a very basic implementation of the
Kermit protocol, most of the advanced facilities having been left out.
Due to the basic nature of version 1.00 it is anticipated that other
users may want to upgrade this version to include facilities such as
server support. Also users may wish to modify the program to give
different default values.
To enable easy modification a fully commented version is available
(HP8KRC.BAS), however this program is to large to run in the (64k)
memory of the HP86. To circumvent the memory problem the commented
program is also available split into various logical sections, the
relevant section can then be loaded over the non commented version
using the GET utility. Once modified the new version of that section
should be saved (SAVE) and then the comments stripped from the new
program.
To overlay a commented section of program use the following procedure
LOAD "KERMIT" <- Load kermit program if not already done.
LOADBIN "UTIL/1" <- '' utilities '' '' '' '' .
LOADBIN "GETSAVE" <- Load the GETSAVE utility program.
GET "HP8xxx BAS" <- Load the desired section.
When any modification is complete SAVE the program as it is, delete
all lines except those in the modified section and SAVE it. Now use
the 'HP8CSU BAS' comment strip utility to remove the comments from the
saved program.
LOADBIN "GETSAVE" <- Load GETSAVE utility if not present.
SAVE "TEMP" <- Save the complete program as a data file.
DELETE 1,nnnn <- Delete lines before changed section.
DELETE mmmm,99999 <- '' '' after '' '' .
SAVE "HP8xxx BAS" <- Save the desired section.
... If 'HP8CSU BAS' has not been converted to a BASIC file then
DELETE 1,99999 <- Remove any existing program.
GET "HP8CSU BAS" <- Get DATA file and convert to BASIC.
... Else
LOAD "HP8CSU" <- Load basic program.
RUN
'Enter old name, new name, size of file ?'
TEMP,HP8KER BAS,120 <- Enter names and size of the new file.
A new version of the commented program can be produced by using
GETSAVE. GET the old file 'HP8KER BAS', delete the section that has
been changed, then GET the new commented section, and finally save the
complete program.
- 14 -
LOADBIN "UTIL/1" <- Load utilities if not present.
LOADBIN "GETSAVE" <- '' GETSAVE '' '' '' .
GET "HP8KRC BAS" <- GET old version.
DELETE nnnn,mmmm <- Delete the section that was changed.
GET "HP8xxx BAS" <- GET the new version of that section.
SAVE "HP8KRC BAS" <- SAVE the complete commented program.
HP86 Kermit version 1.00 : Program sections:-
Name Line numbers Description
---- ------------ -----------
HP8DEF BAS 1 - 499 Define arrays, variables & constants.
HP8CPR BAS 500 - 999 Command processor.
HP8TRM BAS 1000 - 1999 Terminal mode (CONNECT command)
HP8SND BAS 2000 - 3999 SEND command.
HP8REC BAS 4000 - 4999 RECEIVE command.
HP8SSC BAS 5000 - 6999 SET and SHOW commands.
HP8COM BAS 10000 - 12999 Subroutines for sending & receiving packets
HP8CDF BAS 20000 - 20999 Functions for coding & decoding packets.
HP8DSP BAS 30000 - 30999 Subroutines for displaying current state.
HP8FSS BAS 40000 - 42999 Filling system subroutines
HP8MSC BAS 50000 - 52999 Miscellaneous subroutines.
- 15 -