*****************************CONKER.DOC***************************** Kermit-CO Version 2.1 ...

advertisement
*****************************CONKER.DOC*****************************
Kermit-CO
Version 2.1
8/15/86
-- Configured for the CONCURRENT Computer Co. 3200 series
under OS/32, Rev. level 7.2.1 and up, by:
Paul Mamelka
Population Genetics Lab
Southwest Foundation for Biomedical Research
Box 28147
San Antonio, TX
(512) 674-1410
-- Current versions are available thru INTERCHANGE library,
and Columbia University
-- Other contributors to the Kermit kause include David MacPhee,
Tom Funke, John Cooley, Rick MacDonald, and Walter Shevchuk.
-- Kermit-CO is a revised, and much expanded, version of a Kermit
written for the Hewlett-Packard 1000:
RTE-6/VM KERMIT, implemented by John Lee of RCA Laboratories
Permission is granted to any individual or institution to copy
or use this program, except for explicitly commerical purpose.
John Lee
6/29/84
RCA Laboratories
(609) 734-3157
--------------------------------------------------------------------- KERMIT-CO Release Files -The Columbia release consists of three files:
1) CONKER.DOC
- This file, describing Kermit-CO 2.1
2) CONKER.FTN
- Fortran source (4039 lines)
3) CONKER.ETC
- Contains the following short files:
KERMLINK.CSS
KERMIT.CSS
KERMIT.HLP
KERDEF
KERCOM
-
Link file with XSVC1 option specified
Run time Command file
Help file of KERMIT-CO commands
INCLUDE file of Symbol, Parameter definitions
INCLUDE file of COMMON area housing globals
The files on 3) should be seperated and named as specified.
Note:
Those using OS/32 at release levels below 7.2 will need
to update their drivers to use the current BIOC driver.
This is available, along with a more complete release
of this Kermit (includes .TSK files etc.) from:
INTERCHANGE Program Library
2 Crescent Place
Oceanport, NJ
07757
--------------------------------------------------------------------- Kermit-CO 2.1 Update Summary -These are the major fixes and enhancements incorporated in
Kermit-CO 2.1 under OS/32. For more detail, please refer to the
last section of this document.
New program features:
- Optional file renaming when name collisions occur
- Automatic settings initialization from a user file at startup
- Improved data transfer using SYSIO "Image" read/writes.
- "Text" & "Binary" file modes, the latter allowing application files
and other "8th bit significant" files to be exchanged among different
operating systems.
- Kermit
commands are now 3-letter significant
- Typeahead buffer usage is stable (and highly recommended)
- Several End-of-record delimiters are available for outgoing files
- Transmission error logging is now automatic
Please note:
If you are using Version 2.0 successfully and have no need of the
added features in 2.1, or have tailored the program in such a way that
you'd be loathe to go thru another revision cycle, please review Item
2) in the last section. It describes a program bug left over from
the original Hewlett-Packard 1000 version. This bug affects mainframe
to micro downloading only, but usually results in a program crash at
the OS/32 end when the Typeahead buffer is enabled, and can produce
other side effects as well, particularly in MS-DOS Kermit. If
you decide to stay with Version 2.0, making this correction may save
you much head-scratching and general consternation.
---------------------------------------------------------------------- Logical Unit Assignments-1
2
3 - 12
15
-
Comm. Input (LOCAL/RMTINFD) (CSS assigned)
Comm. Output (LOCAL/RMTOUTFD) (CSS assigned)
Transfer/Directory(MOREFILE)/Scratch files (BUFFCHAN)
Command Summary: KERMIT.HLP (CSS assigned)
16
20
Note:
-
Initial Settings: KERMIT.INI or User-specified in CSS
Session log file KERMIT.LOG
Kermit-CO tries to open output files MOREFILE & KERMIT.LOG
on the account in use; consequently, concurrent use of the
program by more than one user on the same account will cause
problems, since OS/32 quite properly refuses to "RENEW" a file
already in use. If this is a critical limitation for enough
users, it may be changed; but for the present it's recommended
that simultaneous Kermit sessions take place from different
accounts. This also prevents one user from accidentally
(or maliciously) overwriting another's file when the
FCHEK name collision option is OFF.
--------------------------------------------------------------------- Installation and Use ---> Setting up Kermit-CO:
1) Install KERMIT.TSK and KERMIT.HLP in a general purpose
account 'n'. Modify the KERMIT.CSS statements:
LOAD KERMIT.TSK
AS 15,KERMIT.HLP
to read:
LOAD KERMIT.TSK/n
AS 15,KERMIT.HLP/n
2) Install the modified KERMIT.CSS in a system account so it
can be accessed by any user as "KERMIT".
--> Using Kermit-CO:
With the above setup, one evokes Kermit-CO by signing on as
a terminal user from another Kermit (Micro or Mainframe, at
1200, 9600 BAUD) and entering "KERMIT" at the OS/32 prompt.
An ID line, followed by the prompt "Kermit-CO>", will appear
and the program is ready to roll. Be sure the parity settings
on your local Kermit match those on the OS/32 device port
thru which your connection was made. While terminal emulation
may work if you sign on to an 8 bit port with 7 bit settings,
attempts to transfer files usually fail.
If a file named "KERMIT.INI" exists, Kermit-CO will read
it for commands to execute before turning over control to
the user at the prompt. KERMIT.INI should be an ASCII text file
with one Kermit command (and appropriate parameter values)
per line. Alternately, one can create a .INI file , rename
it "MyOpts" (or whatever you like), and start up the program
with "KERMIT MyOpts". Kermit-CO will then take it's startup
commands from the file specified.
If the file "KERMIT.HLP" has been installed, entering "HELP"
will display the following information on your screen:
-- Kermit-CO Command Summary -Command
Explanation
EXIT/QUIT
- End Kermit session
HELP
- Display Command Summary
RECEIVE n
- Prepare Kermit to receive file(s). For TEXT or BINARY
files, n = record size; for CONTIG files, n = sectors
SEND FILENAME
- Send the contents of FILENAME to remote Kermit
SEND @FILENAME - Treat FILENAME as directory, send files listed
STATUS
- Display current option settings
SERVER
- Initiate Server mode
SET
{Option}
(Currently N/A)
{New Value}
DEBUG ON/OFF - Start/stop recording of Packets to Kermit.LOG
DELAY n
- Specify 'n' second wait before first packet sent
FCHEK ON/OFF - If ON, incoming file names are made unique
FILE TEXT/BIN/CONTIG - Mode of incoming/outgoing files
MYQUOTE n
- Control character quoting prefix (Default = # (35))
NPADS n
- Request remote Kermit prefix packet with 'n' nulls
8BIT ON/OFF
- If ON, 8-bit prefixing is done (For Even parity)
PACKET n
- Size, in bytes, of Kermit packet (30 < n < 95)
PARITY
- Line parity: EVEN/ODD = ASCII I/O, NONE = IMAGE I/O
SEOR CRLF/CR/LF/NONE - End-of-Record delimiter used for SEND
SOH n
- 'Start of packet' ASCII code (Default = 01)
--> For a more detailed description of Kermit usage in general,
please consult the User manual on "KUSER.DOC". The manual
"KPROTO.DOC" describes the technical aspects of the Kermit
protocol.
--------------------------------------------------------------------- Summary of Capabilities -Kermit-CO 2.1 provides the basic Kermit protocol plus:
1) "TEXT/ASCII" and "BINARY" file transfers.
2) The ability to SET 0-20 "NULL"'s as padding characters
before each packet.
3) 8 Bit prefix encoding, controlled via the SET 8BIT ON/OFF
option. This option is enabled automatically when
PARITY=EVEN, and disabled for PARITY=NONE. It may be
changed manually after the PARITY setting is selected.
Use of 8th-bit prefixing allows a Binary file to be
pushed thru a 7-bit line.
4) A PARITY option that tells the program whether it's
operating in a 7-Bit or 8-Bit environment. If
Parity=NONE, 8 bit bytes are sent and received under
SYSIO's Image/Binary mode. For ODD/EVEN settings,
SYSIO's ASCII/Formatted mode is used. In this case,
the 8th bit will be sent only if 8BIT=ON, otherwise it
is simply stripped off.
5) A DEBUG option, which allows incoming/outgoing packets to
be written to the file "KERMIT.LOG" (LU 20).
6) The ability to set the Record/Sector size to use in writing
a file RECEIVEd. From 10-256 bytes can be specified,
either on the command line ("RECEIVE 132", for example), or
by replying to Kermit's query after "RECEIVE" is entered.
If no size is specified directly, Kermit-CO uses defaults:
for TEXT files, 80 bytes/record; for BINARY files, a physical
sector size is specified, and the default is 256 bytes. In
the case of CONTIG files, sequential 256 character sectors
are used, so the program requests the number of sectors to
allocate.
7) File name collision avoidance. IF FCHEK=ON, an
incoming name in conflict with an existing file
will be suffixed with a 3 digit number that creates
a unique name. If FCHEK=OFF,the existing file will be
overwritten.
8) Procedure file usage via "KERMIT.INI" or user file of KERMIT
commands and start up. This allows commonly used startup and
transfer sessions to be automated. (See KERMIT.INI for ex.)
--------------------------------------------------------------------- OS/32 Notes -1) Kermit-CO uses SYSIO for all I/O with the "other Kermit",
particularly the Extended SVC1 features available in OS/32
releases since 7.2.1.
For those at earlier
OS/32 levels, Kermit-CO can be gotten to work after a little
surgery on your Terminal Driver to shut off the Echo on Read.
If you're using the BIOC driver, there are some updates
available thru the INTERCHANGE that allow some of the
Extended SVC1 features to be added to earlier OS releases.
2) If you make changes to KERMIT.FTN and recompile/link it,
the "XSVC1" OPTION must be specified to ensure that
the new SVC1 functions are enabled. The file KERMLINK.CSS
illustrates this option. The routines that use SYSIO are
clustered at the end of the source code file so they
can be easily chopped off into a seperate file for update
and testing.
Routines using SYSIO:
GETLIN - Reads, a packet from the input line (CON:)
PUTLIN - Writes the raw packet to the output line (CON:)
GETKYBD - Gets Keyboard data from User
TGETCH, TPUTCH - Character I/O to IBM (Deactiviated)
PUTSTRNG - Handles Keyboard prompt output
3) Kermit-CO is set up for a system running with 7-bit/Even
Parity ports. In such an environment, take care not to
enter "SET PARITY NONE". Kermit will attempt to used Image
I/O in this case, resulting in a "hung" port. In this case,
using the ".MTM TERMINATE" command at the console will be
necessary to clear the line again.
4) Use of 8 Bit/No parity lines requires setting port drivers
at SYSGEN time to turn on "full" BIOC mode, and to specify
that CR's (ASCII 13) be recognized as End-Of-Record on
Image reads.
Sample device statements:
(OS/32 Release 7.2.1
DEV:,addr,34,XDCOD=X0BF0,REC=132)
DEV:,addr,34,XDCOD=X0B70,REC=132)
and up)
9600/8 Bit/None
1200/8 Bit/None
DEV:,addr,39,XDCOD=X0BF0,REC=132,USER=(MASK=FF)) 9600/8 Bit/None
DEV:,addr,39,XDCOD=X0B70,REC=132,USER=(MASK=FF)) 1200/8 Bit/None
The extended driver code (XDCOD) was derived thusly:
X0200
X0800
X0100
X0070
(X00F0
-
Terminate image reads on CR
Full BIOC capabilities enabled
CMD2 is specified by low order byte of XDCOD;
and is set as follows:
B'01xxxxxx'
B'11xxxxxx'
B'xx11xxxx'
B'xxxx0xxx'
-
1200 BAUD (Clock B)
9600 BAUD)
8 Data bits
1 Stop bit
B'xxxxx00x'
B'xxxxxxx0'
-
No Parity
Reserved (must be 0)
For Driver 39, MASK=FF indicates the 8th bit is not stripped,
allowing binary transfers to occur.
Caveat: These settings have worked in our fairly standard OS
enviroment, and at other Beta test sites, but may require
modification depending on equipment used, clock speeds etc.
Consult OS/32 Sysgen manual and old Interchange newsletters
for more information. Or call up Concurrent and ask why
the manuals aren't more helpful where BIOC is concerned.
5) As of OS/32 Release 8.2, the Typahead Buffer size may be
increased. Since Kermit's maximum packet size is 94, using a
larger buffer removes a potential source of packet
re-transmittals caused by typeahead buffer overflow.
To increase buffer size, add "TYPBLEN=n" to the device macro,
where "n" represents the number of bytes to allocate, as in
DEV:,addr,34,XDCOD=X0BF0,REC=132,USER=(TYPBLEN=160)
--------------------------------------------------------------------- Troubleshooting -If you have problems getting 2 Kermits to "talk" to each other:
1) Make sure PARITY and Bit settings match up between Kermit-CO
and whatever local Kermit you are using.
2) Try it again. Noise, OS/32 slowdowns etc. can cause
transmission problems serendipitously.
3) Request more PAD characters in front of incoming packets
4) Adjust the packet size up or down
In general, Kermit-CO should function with 94 character packet
size, No Padding, and Typeahead Buffer enabled under most
system conditions.
-------------------------------------------------------------------As of June 1,1986, Kermit-CO has exchanged files successfully
with the following systems: (at both 1200 and 9600 BAUD)
IBM PC-XT/AT
Apple Macintosh
Morrow Micro-Decision
North Star Horizion
Zenith-100
(MS-DOS
(Finder
(CP/M
(CP/M
(CP/M
3.1
5.3
2.2
2.2
2.2
-
MS-Kermit 2.27; Mirror; Procom)
MacKermit; Red Ryder 9.2)
Kermit-80)
Kermit-80)
using KermitHZ-80)
Both TEXT and BINARY files have been "inverted" successfully
between most of the systems listed. (This includes .OBJ,.TSK
files from OS/32; .COM files from CP/M; .COM, .EXE files from
MS/DOS; and WordStar files between MS-DOS and CP/M. I've been
able to invert Macintosh applications using Red Ryder 9.2,
which understands the "MacBinary" protocol in addition to Kermit,
as well as Columbia's "MacKermit", using the Binary/Resource
mode.)
--------------------------------------------------------------------- Shape of Things to Come -Projected enhancements for Kermit-CO 3.0:
-
LOCAL mode for originating Mainframe-to-Mainframe transfers
Activation of special IBM-Link features (Local mode dependant)
SERVER functions for simpler file transfer
Cyclical Redundancy Error Checking
Incorporation of all this info into a coherent user manual
**********************************************************************
-- Kermit-CO 2.1 - What's New -These are the major changes introduced in Kermit 2.1.
to continue using Version 2.0, please check item 2).
If you decide
1) The name and prompt "Kermit-PE" are no more. Instead we have
the up-to-date "Kermit-CO", in honor of recent corporate shuffles in
New Jersey.
2) In the routine SDATA, an erroneous variable name caused by a
2-letter transposition has been corrected. For those who may wish to
update their copies of Version 2.0, these are the sordid details:
The second call to the routine RPACK to receive an ACK/NAK from
the remote Kermit used to read:
STATUS=RPACK(LEN,NUM,RECKPT)
and has been changed to:
STATUS=RPACK(LEN,NUM,RECPKT)
The original version went undetected by the compiler because of the
use of IMPLICIT INTEGER*2 in the KERCOM declarations. The result:
a simple scalar address was sent to a routine expecting the address
of the array containing the packet just received. The rest I leave
to your imagination. Suffice to say that this change stabilizes use
of the Typeahead buffer (which adds greatly to Kermit-CO's efficency)
and eliminates redundant ACK packets sent by the remote Kermit in
response to Kermit-CO's NAKs of the unpredictable data pointed to by
"RECKPT". It also points out the dangers of using sweeping IMPLICIT
declarations that give misspelled variable names legitimacy.
3) Various other minor bugs and inconsistencies have been cleaned
up, none quite as nasty as 2), but good riddance etc. Thanks are due
David MacPhee for his unflagging vigilance in ferreting out some of
the more esoteric of these.
4) Kermit-CO's command parser is now satisfied with just the first
three letters of a command or SET option. It also will pick up the
record length of an incoming file if specified on the command line, as
in: "RECEIVE 126" (or "REC 126").(See item 6) for an exception to
this usage)
5) The PARITY setting now controls the "flavor" of I/O operations
under SYSIO. If set to EVEN, Formatted/ASCII SYSIO calls are used
(the default in Ver 2.0) while PARITY=NONE signals Kermit to make
use of SYSIO's Image/Binary transfer mode.
6) OS/32 files can be specified as either BINARY, TEXT, or CONTIG
(for contiguous) using the SET FILE TEX/BIN/CON command. Typically,
BINARY usage would be specified when transferring files where the 8th
bit is significant, and no particular character sequence is used for
End-Of-Record. Using the BINARY file mode on a No Parity line (or on
an Even parity line with 8th Bit prefixing enabled; see 9) for an
example), one can transfer .TSK, .OBJ etc. files from OS/32 to a
local Kermit and back. CONTIG mode provides a 'special case' binary
file handler for receiving .TSK files; instead of requesting a record
length when RECEIVE is entered, it asks for the number of contiguous
sectors to allocate for the incoming file. It's admittedly a crude way
to do this, but the Kermit protocol allowing file attributes
to be sent between Kermits is not widely available.
".TSK"
files will work when received as plain Binary files; the CONTIG is
necessary only if one wants to guarantee that contiguous space will be
allocated. This approach may be improved if there is enough demand,
it was a last-minute add-on.
Transfers of applications software have been done successfully
between Kermit-CO 2.1, and Kermits for MS-DOS, Macintosh (Red
Ryder,Columbia's MacKermit), and CP/M. Special purpose files such
as WordStar documents or NCAR meta files can also be tranferred.
7) In connection with 6), a new option (SET SEOR
CR/LF/CRLF/NONE) is available to allow flexibility in specifying the
End-Of-Record delimiter used by Kermit-CO when SENDing files. It is
set automatically to CR/LF (Carriage Return (ASCII 13), Line Feed
(ASCII 10)) for TEXT files, and NONE for binary; but can be expressly
set to NONE, CR, LF or CR/LF after file mode is selected. CR could be
set to send Text files to a Macintosh, for example, which is all that
system requires, while LF might be used when sending to a UNIX Kermit
Kermit. In RECEIVE mode, Kermit-CO expects CR/LF to delimit Text file
records. Binary files are read as a continuous "stream" of bytes
and broken up into records of the length specified by the user, so no
record delimiter is required.
8) A 'File Name Check'
(SET FCHEK ON/OFF) option has been added
for name collision handling at the OS/32 end. When enabled
(FCHEK=ON), Kermit-CO will create a new file name if an incoming file
name is already in use. The new name is constructed by adding a
numeric suffix of the series .001, .002, ... .999 to the first 1-8
digits of the name in conflict. Kermit works thru the series until it
comes up with a unique name. If disabled, an existing file will be
overwritten by an incoming file with the same name.
9) Startup option initialization can now be done automatically using
a text file of Kermit commands in the same format as those entered at
the "Kermit-CO>" prompt. This file can be named "KERMIT.INI", which
will be opened and read automatically. Alternately, it may be given
any name the user likes, and be specified on the command line when
first starting up the program, as in:
*KERMIT
UserFile
Since any Kermit command can be put in this file, one can set up
several startup procedure files of routine operations, reducing the
amount of interaction required to simply initiating SEND and
RECEIVE commands at the local Kermit in response to Kermit-CO. For
example, the procedure file:
SET PARITY EVEN
SET MODE BINARY
SET FCHEK OFF
SEND MyFile1.obj
REC 126
EXIT
(User asked to perform local RECEIVE)
(User asked to perform local SEND)
instructs Kermit-CO to configure itself, send an object file to local
Kermit, receive a file back, (stored with record length = 126), and
shut itself down. The user's role is reduced to initiating a RECEIVE,
followed by a SEND at the Local level when prompted by Kermit-CO.
10) The KERMIT.LOG file is now opened at the beginning of a Kermit
session independantly of the DEBUG option. If errors occur
during a transmission, they are noted on this file; otherwise the file
is deleted when the program is EXITed. If DEBUG is set ON, then each
packet SENT or RECEIVED will be written to KERMIT.LOG, along with
any error messages. The DEBUG option also controls the amount of
information listed by the STATUS command: if ON , the full listing is
displayed, but when OFF, Packet delimiters, quote character etc. are
not shown.
These are the major changes. Please report any problems
enountered, or features you think should be incorporated in
Version 3.0.
Paul Mamelka
Genetics Department
Southwest Foundation for Biomedical Research
Box 28147
San Antonio
TX
78284
(512) 674-1410
(Ext. 353)
********************** End of KERMIT.DOC *****************************
Download