home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
ftp.barnyard.co.uk
/
2015.02.ftp.barnyard.co.uk.tar
/
ftp.barnyard.co.uk
/
cpm
/
walnut-creek-CDROM
/
CPM
/
TURBOPAS
/
QKKER25.ARK
/
QKKER.DOC
next >
Wrap
Text File
|
1986-11-25
|
36KB
|
784 lines
QK-KERMIT: QUCS KERMIT FOR MS-DOS AND CP/M SYSTEMS
VERSION: 2.5
Kermit is a protocol for transferring files between com-
puters over telecommunication lines. It does packetizing,
checksumming, and retransmission to ensure data integrity.
Microcomputer implementations of Kermit also provide termi-
nal connection at any speed allowed by both the micro and
the host. Kermit is like many other such protocols, but
with several differences:
It's free.
It's documented.
It's well tested and in wide use.
Implementations exist for many different systems, in-
cluding DEC and IBM mainframes and many microcomputers.
Each implementation is written in the language best
suited for a particular machine or operating system.
Kermit was developed at the Columbia University Center for
Computing Activities primarily to facilitate offline storage
of DECSYSTEM-20 files on microcomputer floppy disks. The
Kermit specification has since served as the basis for many
implementations of Kermits on a wide variety of systems.
Any Kermit can communicate with any other Kermit.
Kermit does not rely on any host system software or servers.
All actions are initiated explicitly by the user. Typi-
cally, the user:
starts Kermit on a microcomputer,
"connects" through Kermit to the remote host,
logs on,
starts Kermit on the remote host,
"escapes" back to the micro,
and issues SEND and RECEIVE commands to send files back
and forth between the two systems.
Kermit can transfer files singly or in wildcard groups.
QK-Kermit is a version of Kermit for MS-DOS and CP/M systems
written at Queen's University in Turbo-PASCAL. The CP/M
versions provide ADM3A terminal emulation; the MS-DOS ver-
sion emulates a VT-100 terminal. When using the MS-DOS ver-
sion with Queen's VM/CMS system, specify terminal type
IBMPC. For the KAYPRO version, specify terminal type
KAYPROK; for Apple IIe specify APPLE2E.
1
KERMIT -----------------------------------------------------------------------|
|-- Connect ----------------------| |
| |-- <set options> --| |
|-- SENd <local-filespec> --------------------------------------------|
| |-- AS <remote-filespec>------------------|
| |-- RAW --| |
|-- RECeive <remote-filespec> ----------------------------------------|
| |-- AS <local-filespec> ---------------|
| |-- REPLACE --|
|-- SET --------------------------------------------------------------|
| |-- <300|1200|2400|4800|9600> -----------| |
| |-- <Even|Odd|Mark|None> ----------------| |
| |-- <Full|Half> -------------------------| |
| |-- <STandard|Xon-xoff|SEries/1> --------| |
| |-- <A:|B:|C:|D:> -----------------------| |
| |-- <One|TWo> ---------------------------| |
| |-- <DIsk|PRinter> ----------------------| |
| |-- <PACketsize> ------------------------|
| |-- <TImeout> -----| |
| |-- <NUmpad> ------| |
| |-- <PAdchar> -----| |
| |-- <STartchar> ---|-- <decimal digit> --|
| |-- <ENdchar> -----| |
| |-- <CNtrlquote> --| |
| | |
| |-- <BIt8quote> ---|-- <ASCII Char> -----|
| |-- <CHecktype> ---|
| |-- <Repchar> -----|
|-- STatus -----------------------------------------------------------|
|-- DIrectory --------------------------------------------------------|
| |-- <local-filespec> --| |
|-- Erase <local-filespec> -------------------------------------------|
|-- REName <local-filespec> <local-newfilespec> ----------------------|
|-- TYpe <local-filespec> --------------------------------------------|
|-- RUn <local-filespec> ---------------------------------------------|
|-- MKdir -- <Directory name> ----------------------------------------|
|-- CHdir -- <Directory name> ----------------------------------------|
|-- RMdir -- <Directory name> ----------------------------------------|
|-- REMote <any command supported by the remote Kermit> --------------|
|-- Log --------------------------------------------------------------|
| |-- <filespec> --| |
|-- TAke <filespec> --------------------------------------------------|
|-- DEfine -----------------------------------------------------------|
| |-- <define-word> ------------------------| |
| |-- <define-string> --| |
|-- Audio-------------------------------------------------------------|
|-- Parms-------------------------------------------------------------|
|-- Quit -------------------------------------------------------------|
|-- Local ---|
|-- Remote --|
|-- Discon --|
|-- All -----|
2
QK-KERMIT COMMANDS
The Kermit commands may be abbreviated to the minimum number
of unique characters; i.e. CONNECT may be abbreviated to C
and STATUS may be abbreviated to ST, but SET has no abbre-
viation since there is a SEND command which also begins with
SE. Commands may be issued in a string as parameters to the
Kermit startup command to the operating system, or as
internal commands once Kermit is running.
All parameter specifications are optional. If the command
requires a parameter specification and one is not supplied,
then Kermit will prompt you for the required information.
CONNECT < option settings>
This command causes the micro to simulate a termi-
nal connected to another computer. This allows
one to sign on to the Host computer as a terminal.
The optional parameters specify the option setting
(See SET command for options).
To exit this terminal connect mode and return to
the Kermit command mode type in a CONTROL \ .
Note: When the connect command is issued, Kermit
checks the line for DTR and CTS signals and if it
does not find them it assumes the modem is not
connected. It then issues a message
'Please connect modem'
every few seconds until it finds the signal. It
may be, however, that your particular computer
does not detect the presence of these signals even
when the modem is connected. In this case we can
by pass the signal checking by hitting the SPACE
bar on the keyboard.
SEND <local-filename> AS <remote-filename> RAW
Sends a file to the remote host system. Wild-card
characters are permitted to send multiple files.
Normally only the local filename is specified if
you do not want a different file name on the host
system.
The RAW specification is only used if the remote
host does not have a Kermit, and we wish to send
the file as is (unpacketed).
For example:
SEND ABCD.FIL
SEND MYFILES.* AS YOURS.*
SEND A:WXYZ.DAT
3
Several single-character commands may be given
while a file transfer is in progress:
^Z Stop sending this file, and don't send any
further files.
^X (Control-X) Stop sending the current file and
go on to the next one, if any.
^E Like ^C, but send an Error packet to the re-
mote Kermit in an attempt to bring it back to
server or interactive command level.
^C Return to Kermit-MS command level immediately
without sending any kind of notification to
the remote system.
Control-X and Control-Z send the proper protocol
messages to the remote Kermit to bring it grace-
fully to the desired state. Control-C leaves the
remote Kermit in whatever state it happens to be
in. Control-E "aborts" any protocol that is tak-
ing place.
RECEIVE <remote-filename> as <local-filename> REPLACE
Gets a file from the remote host system and puts
it to the destination device (usually the disk).
If the local-filename is not specified then the
local filename is the same as the remote file name
with the remote filetype truncated to 3 char-
acters. If the local file name already exist the
local file name is modified with an '&'. If how-
ever the REPLACE option is specified then the old
file is replaced by the newly received file.
For example:
RECEIVE MYPROG.PASCAL
REC D:*.SCRIPT AS *.WS
Several single-character commands may be given
while a file transfer is in progress:
^Z Stop sending this file, and don't send any
further files.
^X (Control-X) Stop sending the current file and
go on to the next one, if any.
^E Like ^C, but send an Error packet to the re-
mote Kermit in an attempt to bring it back to
server or interactive command level.
^C Return to Kermit-MS command level immediately
without sending any kind of notification to
the remote system.
Control-X and Control-Z send the proper protocol
messages to the remote Kermit to bring it grace-
fully to the desired state. Control-C leaves the
remote Kermit in whatever state it happens to be
in. Control-E "aborts" any protocol that is tak-
ing place.
4
SET <option settings>
Set the various operational parameters.
Baud Rate Baud rate may be any standard rate
from 300 to 9600 bps. Normal maxi-
mum baud rate for MS-DOS version is
9600, and 2400 for CP/M systems.
Parity May be Even, Odd, Mark, or None.
Use even parity for Queen's VM/CMS
system.
Use parity none for VAX systems.
Duplex May be Full or Half. Use Full du-
plex if the remote system echos the
characters, Half duplex if it does
not.
Protocol May be STANDARD, XON-XOFF, or
SERIES/1. Use SERIES/1 for port
class VM (41), or VAX computers;
use XON-XOFF for port class
VMLINE(40 or 32);
use STANDARD for most other com-
puters.
Disk Drive Specify in the normal MS-DOS for-
mat, e.g. C: The default drive is
normally B:
Com Port May be either One or Two. Normally
Port One is used.
Destination May be either DISK or PRINTER.
Normally, received files go to the
disk, but they may be redirected to
the printer.
STATUS This command show the current setting of the above
option settings.
DIRECTORY display the local directory
ERASE erase a local file(s)
RENAME rename a local file(s)
TYPE display the contents of a local file
The above four commands are similar to the MS-DOS
and CP/M commands. "Local" refers to the MS-DOS
or CP/M system which you are directly using.
MKDIR Makes a directory
CHDIR Changes the directory
RMDIR Removes a directory
5
(See MS-DOS Manual to see how to use the above 3 directory
commands)
RUN <file spec>
Run a program under Kermit. This is only available
on the MS-DOS system and it is not implemented in
the CP/M systems.
REMOTE <remote-commands>
Issue remote server request. Although QK-Kermit
is able to issue all the remote server request as
documented in the Kermit standards, refer to the
Kermit documentation for the particular remote
version being used for supported commands.
Used as a remote Kermit, QK-Kermit only responds
to remote SEND and RECEIVE commands.
LOG <logfile name>
This command causes all incoming data to be re-
corded in a file as specified by the logfile name.
To close the current logfile simply reissue the
LOG command. If no logfile name is specified, log-
ging is terminated. If a new logfile name is
specified then the old logfile is closed and a new
logfile is opened.
TAKE <takefilename>
This command enables a series of Kermit commands,
which are stored in a file, to be executed. For
example one might typically have to run a series
of programs which create data which one wishes to
transfer to the other computer.
RUN PROG1
SEND DATA1.FIL
RUN PROG2
SEND DATA2.FIL
etc.
DEFINE <define-word> <define-string>
This command enables one to define a word equal to
a string. This is useful in alleviating the
necessity of typing in long command strings or it
can be used to provide a synonyms for other com-
mands. For example:
DEFINE VM CONNECT 9600 EVEN FULL SERIES/1 B:
ONE DISK
DEFINE DELETE ERASE
DEFINE BYE QUIT ALL
6
If no define-string is specified, the specified
define-word is deleted. If DEFINE is issued with
no parameters, a list of all define-words cur-
rently in effect are displayed.
Note: DEFINES are initialized from a file named
KERMIT.DEF when Kermit is initiated. If any new
DEFINES are specified during the Kermit session,
then at Kermit termination Kermit will attempt to
write a new Kermit.DEF file. Note that the read-
ing and writing of this Kermit.DEF file is to the
default disk drive. As a result, for new defines
to be created, the default disk must have the
write-protect tab removed.
As distributed, the KERMIT.DEF file contains the
following define-words.
DEFINE-WORD DEFINE-STRING
___________ _____________
VM Connect 9600 Even Full Series/1 B:
One Disk
VM1200 Connect 1200 Even Full Series/1 B:
One Disk
PC Connect 9600 Even Full STANDARD B:
One Disk
AUDIO This is a toggle command which when it is toggled
on will provide an audiable sound with each kermit
prompt.
PARMS This is a toggle command which when it is toggled
on will display the setting of the packet parmeter
when a STATUS command is issued.
QUIT <quit-option>
terminate the local and/or remote Kermit.
QUIT LOCAL or QUIT
will terminate QK-Kermit.
QUIT REMOTE will terminate the remote Kermit.
QUIT DISCON will terminate the remote Kermit
and log off the remote host com-
puter.
QUIT ALL will terminate the remote Kermit
and log off the remote host com-
puter and then terminates the local
QK-Kermit.
NOTE: "filespec" refers to a file specification in the form
d:name.ext
where 'd' is the disk drive designation, 'name' is the first
level file name (the filename for CP/M, MS-DOS, and VM/CMS
7
systems), and 'ext' is the file extension (a 3 character
extension for CP/M or MS-DOS systems, the 8 character
filetype for VM/CMS systems). If 'd:' is not specified, the
default disk drive is assumed.
APL CHARACTER SET
For PC's equipped with the APL character ROM, one may use
the APL character set. To invoke APL character set send an
ESC "{" sequence. Use ESC "}" to return to normal Character
set.
8
INSTALLING QK-KERMIT
QK-Kermit may be obtained on diskette from the Micro Infor-
mation Centre in Dupuis Hall or by downloading from the
VM/CMS system using either another version of Kermit sup-
porting binary file transfer or YTERM.
If you have the distribution diskette, simply copy the files
KERMIT.COM
KEYTABLE.DAT
KERMIT.DEF
to your working system disk.
To download the files from VM/CMS, first locate the files
with the command
LIST KERMIT COM* *
and note the filemode of the disk (it will be either R or
Y). There are three versions of the KERMIT.COM files on
this disk. They are as follows:
KERMIT COMMSDOS KERMIT.COM for MS-DOS
KERMIT COMKAYPR KERMIT.COM for Kaypro with CP/M
KERMIT COMAPPLE KERMIT.COM for Apple IIe with the
CP/M card
Download the appropriate Kermit file plus the KEYTABLE.DAT
and KERMIT.DEF files to your system disk using either YTERM
or KERMIT. Note that the KERMIT file MUST be downloaded us-
ing a binary transfer facility (subcommand DOWNBIN in YTERM,
SET TRANSLATE OFF in Kermit-CMS). KEYTABLE DAT and KERMIT
DEF must be downloaded as a normal file (subcommand DOWN in
YTERM, SET TRANSLATE ON in Kermit-CMS).
9
USING QK-KERMIT WITH KERMIT-CMS
The following is a suggested approach to do file transfer
between a micro and the Queen's mainframe computer.
Basic procedure:
1. Place the system disk created as above in drive A and
your data disk in drive B;
2. Type in "KERMIT" to start up QK-Kermit.
3. Type in "VM" which will configure Kermit at 9600 bps for
the VM/CMS system with files defaulting to the B: drive
and place QK-Kermit into terminal mode. The VM command
is a define-word provided in the distributed KERMIT.DEF
file.
4. Turn on the modem, and logon to the VM/CMS system as
normal using terminal types IBMPC, KAYPROK or APPLE2E
as appropriate for the version of QK-Kermit that you are
using.
5. After logging on, type "Kermit" on the VM/CMS system to
invoke CMS-Kermit and issue the SERVER command. This
command will automatically return you to QK-Kermit on
the micro.
6. Issue SEND or RECEIVE commands to send or get the files
desired.
7. You may also wish to issue a DIRECTORY command to see
what files you have on your floppy disk, or issue the
REMOTE DIRECTORY command to list files on the CMS sys-
tem.
8. If required, one can move back to terminal mode by issu-
ing a "Connect" command to QK-Kermit. When returning to
back to terminal mode from QK-Kermit command mode, with
Kermit-CMS still in SERVER mode, the first command you
issue is not displayed. Once the first command is exe-
cuted, Kermit-CMS returns to normal mode and all com-
mands are displayed.
9. When you are finished you can issue a QUIT ALL command
to logoff from the VM/CMS system and terminate your re-
mote Kermit.
10
SOME USEFUL HINTS:
1. Create a few DEFINE words for frequently used Kermit
commands. This will allow lengthy commands to be issued
with a single word. The following are some suggestions.
DEFINE VM Connect 9600 Even Full Series/1 B:
DEFINE VMLINE Connect 9600 Even Half Xon-Xoff B:
DEFINE LIST Remote Directory
DEFINE PUSH Run A:Command.Com
DEFINE BYE Set A: ; Quit All
For example, using the VM define above, you can con-
figure Kermit for the VM/CMS system and be put into
"connect" mode directly by simply issuing the command
KERMIT VM
2. The Kermit protocol is designed to recover automatically
from minor telecommunications line errors. However,
there are problems which may result in the file transfer
being "hung". If Kermit hangs up in the middle of file
transfer it may be necessary to issue several carriage
returns before one can get back the remote Kermit
prompt. It may occasionally be necessary to restart the
remote and/or local Kermit after this.
3. In the above section describing the use of QK-Kermit
with Kermit-CMS we basically issue QK-Kermit commands as
opposed to Kermit-CMS commands. If desired, one can
interact with Kermit-CMS by issuing SEND and RECEIVE
commands from Kermit-CMS instead of from QK-Kermit.
4. QK-Kermit will act as a server Kermit whenever QK-Kermit
is in the 'Connected ' mode; i.e. QK-Kermit does not re-
quire a SERVER command as does Kermit-CMS. QK-Kermit
will automatically assume there is a server request
whenever it see a SOH character.
11
KERMIT-CMS COMMANDS
Although Kermit-CMS is documented in a separate HELP file
(type HELP KERMIT), the following summary of Kermit-CMS re-
mote server commands is included for the convenience of the
the QK-Kermit user. Although QK-Kermit is able to issue all
the remote server request as documented in the Kermit stand-
ards, only some have been implemented on the Kermit-CMS
system here at Queen's. Some of the useful commands are
listed below.
REMOTE ---- DIRECTORY --------------------------------------------------------|
| |-- <remote-filespec> --| |
|-- TYPE <remote-filespec> -------------------------------------------|
|-- ERASE <remote-filespec> ------------------------------------------|
|-- RENAME <remote-filespec> -----------------------------------------|
|-- FINISH ----------------------------------------------------------|
|-- LOGOUT -----------------------------------------------------------|
|-- HELP -------------------------------------------------------------|
where
DIRECTORY displays the VM/CMS directory
TYPE displays the contents of a VM/CMS file
ERASE erases a VM/CMS file
RENAME renames a VM/CMS file. You will be prompted
for the new filespec.
FINISH terminates Kermit-CMS
LOGOUT terminates the remote Kermit and log off
VM/CMS
HELP displays help information
12
GENERAL COMMENTS
QK-Kermit is written in Turbo Pascal so it is relatively
easy to understand and modify if extensions are desired.
The source code is distributed with the diskette.
VERSION 2.5 IMPROVMENTS AND ADDITIONS
1. Automatic server mode. QK-Kermit will automatically en-
ter into server mode upon receipt of a SOH character.
This feature was inadvertently disabled in the 2.4 ver-
sion.
2. Insert Mode Indicator - When in insert mode the cursor
changes from a thin line to a fat block.
3. Sub directory commands - MKDIR, CHDIR and RMDIR were
added. Also Kermit allows the use of subdirectories in
the file specification.
4. Audio toggle - Kermit will now run quietly without any
audiable promp unless the audio toggle is turned on.
5. Packet parameters can now be specified at run time.
Note however that QKKERMIT will still automatically ad-
just the packet parameters to match the other Kermit it
connects with.
6. APL character set can be selected by entering a ESC {
character.
7. Fix bug-related to packet parameters when running with
VAX Kermit.
13
APPENDIX
-----------
Code assignments for Keys specified by KEYTABLE.DAT.
KEY ASCII HEX
------- ------- ------
backspace BS 08
tab HT 09
Return CR 0D
F1 ESC 1 1B 31
F2 ESC 2 1B 32
F3 ESC 3 1B 33
F4 ESC 4 1B 34
F5 ESC 5 1B 35
F6 ESC 6 1B 36
F7 ESC 7 1B 37
F8 ESC 8 1B 38
F9 ESC 9 1B 39
F10 ESC 0 1B 30
NumLock ESC - 1B 2D
ScrollLock ESC = 1B 3D
Shift F1 ESC Q 1B 51
Shift F2 ESC W 1B 57
Shift F3 ESC E 1B 45
Shift F4 ESC R 1B 52
Shift F5 ESC T 1B 54
Shift F6 ESC Y 1B 59
Shift F7 ESC U 1B 55
Shift F8 ESC I 1B 49
Shift F9 ESC O 1B 4F
Shift F10 ESC P 1B 50
Shift NumLock ESC [ 1B 5B
Shift ScrollLock ESC \ 1B 5C
KeyPad 7 home EM 19
KeyPad 8 up arrow US 1F
KeyPad 9 PgUp ESC 7 1B 37
KeyPad - minus VT 0B
KeyPad 4 left arrow BS 08
KeyPad 5 ESC 1B
KeyPad 6 right arrow FS 1C
KeyPad + plus FF 0C
KeyPad 1 end SI 0F
KeyPad 2 down arrow LF 0A
KeyPad 3 PgDn ESC 8 1B 38
KeyPad 0 Ins GS 1D
KeyPad . Del DEL 7F
Cntl \ Escape back to Kermit
Cntl ] Send a BREAK
Alt F09 Escape back to Kermit
14
Alt F10 Send a BREAK
15
QTEK10: A TEKTRONIX 4010 EMULATOR FOR ZENITH P.C.'S
QTEK10 is a Tektronix 4010 emulator designed to run on
Zenith P.C.'s with a Zenith Graphics Card. It is an exten-
sion to the file transfer facility Kermit, and all functions
available through Kermit are available through QTEK10.
These facilities are all well described in the Kermit
documentation.
Five files are necessary for running QTEK10:
QTEK10.COM
4X6.FON
ERROR.MSG
KEYTABLE.DAT
KERMIT.DEF
4X6.FON and ERROR.MSG must be available in the A drive
when using QTEK10 to produce graphics output.
USING QTEK10
Boot your system and run QTEK10. The Kermit prompt will
be displayed.
Enter the Kermit command CONNECT and press RETURN. You
will be prompted to turn on your modem.
Turn on your modem, and press RETURN again.
Log on to port class VM, specifying terminal type IBMPC.
You may now run any of the graphics packages, currently
available on the IBM 3081, specifying the appropriate code
for a device type of Tektronix 4010. Graphics output from
these programs will be displayed on your screen. To clear
the screen and continue on with the next graph, or to termi-
nate your program, press the ENTER key. You may also run
any non-graphics programs and commands as you normally
would.
NOTE: QTEK10 will not run with a monitor level less than
2.1. Enter [CTRL ALT INS] to determine your monitor level.
If it is less than 2.1, you must make arrangements to have
it upgraded before running QTEK10.