2159 lines
103 KiB
Plaintext
2159 lines
103 KiB
Plaintext
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
APPLE II KERMIT USER GUIDE
|
|||
|
|
|||
|
|
|||
|
VERSION 3.87
|
|||
|
|
|||
|
Ted Medin, NOSC
|
|||
|
|
|||
|
|
|||
|
|
|||
|
1990 Oct 10
|
|||
|
|
|||
|
|
|||
|
|
|||
|
Copyright (C) 1981,1989
|
|||
|
Trustees of Columbia University in the City of New York
|
|||
|
|
|||
|
Permission is granted to any individual or institution to use, copy,
|
|||
|
or redistribute this document so long as it is not sold for profit, and
|
|||
|
provided this copyright notice is retained.
|
|||
|
1. Apple II Kermit Page 1
|
|||
|
|
|||
|
-------------------------------------------------------------------------------
|
|||
|
1. Apple II Kermit
|
|||
|
|
|||
|
Authors: Antonino N. J. Mione (Stevens Institute of Technology),
|
|||
|
Peter Trei (Columbia University),
|
|||
|
Ted Medin (NOSC),
|
|||
|
Bob Holley (SERDAC)
|
|||
|
|
|||
|
Version: 3.87
|
|||
|
|
|||
|
Date: 1990 Oct
|
|||
|
|
|||
|
Kermit-65 Capabilities At A Glance:
|
|||
|
|
|||
|
Local operation: Yes
|
|||
|
Remote operation: Yes
|
|||
|
Transfers text files: Yes
|
|||
|
Transfers binary files: Yes
|
|||
|
Wildcard send: Yes
|
|||
|
^X/^Y interruption(Q): Yes
|
|||
|
Filename collision avoidance: Yes
|
|||
|
Can time out: Yes
|
|||
|
8th-bit prefixing: Yes
|
|||
|
Repeat count prefixing: No
|
|||
|
Alternate block checks: No
|
|||
|
Terminal emulation: Yes (VT52, VT100)
|
|||
|
Communication settings: Yes
|
|||
|
Transmit BREAK: Yes
|
|||
|
IBM communication: Yes
|
|||
|
Transaction logging: No
|
|||
|
Session logging (raw download): Yes
|
|||
|
Raw upload: No
|
|||
|
Act as server: Yes
|
|||
|
Talk to server: Yes
|
|||
|
Advanced commands for servers: Yes
|
|||
|
Long packets: Yes
|
|||
|
Sliding windows: No
|
|||
|
Local file management: Yes
|
|||
|
Handle file attributes: Yes
|
|||
|
Command/init files: Yes
|
|||
|
Printer control: Yes
|
|||
|
|
|||
|
Kermit-65 is a program that implements the Kermit file transfer protocol for
|
|||
|
the Motorola 6502 processor family (hence the name, Kermit-65) on the Apple II
|
|||
|
microcomputer system. It is written in 6502 assembly language and should run
|
|||
|
on any Apple II or compatible running DOS 3.3 or PRODOS. This section will
|
|||
|
describe the things you should know about the file system in order to make ef-
|
|||
|
fective use of Kermit, and then it will describe the special features of the
|
|||
|
Kermit-65 program.
|
|||
|
1.1. Supported Systems and Devices Page 2
|
|||
|
|
|||
|
-------------------------------------------------------------------------------
|
|||
|
1.1. Supported Systems and Devices
|
|||
|
|
|||
|
There are several different Apple II's which can run Kermit-65. Kermit will
|
|||
|
have no problems running on an Apple II, II+, //e, //c or //gs system. Of the
|
|||
|
different communication devices available for the Apple II, Kermit-65 supports
|
|||
|
the ones shown in Table 1-1.
|
|||
|
|
|||
|
-------------------------------------------------------------------------------
|
|||
|
|
|||
|
|
|||
|
|
|||
|
AE Serial Pro (super serial driver - sw 1 & 3 open 2 & 4 closed)
|
|||
|
AIO II (Uses the Apple Com Card driver??? - untested)
|
|||
|
ALS dispatcher (Uses the Apple Com Card driver)
|
|||
|
Apple Cat Serial Card
|
|||
|
Apple Com Serial Card
|
|||
|
ASIO (Uses the Apple Com Card driver??? - untested)
|
|||
|
Apple Super Serial Card & //c Serial Port
|
|||
|
Apple //gs Serial Port
|
|||
|
CCS 7710 Serial Card
|
|||
|
CCS 7711 (Uses the Apple Com Card driver??? - untested)
|
|||
|
D.C. Hayes Micromodem.
|
|||
|
Microtek sv-622 Card
|
|||
|
Prometheus Versacard (Uses the Apple Com Card driver)
|
|||
|
SSM AIO (Uses the Apple Com Card driver??? - untested)
|
|||
|
|
|||
|
Table 1-1: Apple II Communication Cards Supported by Kermit-65
|
|||
|
|
|||
|
-------------------------------------------------------------------------------
|
|||
|
|
|||
|
It is possible that other cards may have operational characteristics very
|
|||
|
similar or identical to one of the devices above. If this is the case, it may
|
|||
|
work using one of the currently available device drivers. The user may want to
|
|||
|
try each of the above options to see if any of them work. Kermit-65 must be
|
|||
|
told in which slot the card resides. This may be done with the 'SET' command
|
|||
|
(documented below).
|
|||
|
|
|||
|
|
|||
|
1.2. The DOS 3.3 File System
|
|||
|
|
|||
|
Items of importance which will be discussed in this section include filenames
|
|||
|
and file characteristics.
|
|||
|
|
|||
|
|
|||
|
Apple DOS Filenames
|
|||
|
|
|||
|
Filenames under Apple DOS may contain almost any ASCII character (including
|
|||
|
space). It is not recommended that special characters, (i.e. control characters
|
|||
|
or spaces) be used in a filename to be transferred by Kermit-65 since they may
|
|||
|
cause problems when parsing the filename. Filenames may be up to 40 characters
|
|||
|
in length.
|
|||
|
|
|||
|
|
|||
|
Apple DOS File Characteristics
|
|||
|
|
|||
|
All files in Apple DOS have a file type associated with them which is contained
|
|||
|
1.2. The DOS 3.3 File System Page 3
|
|||
|
|
|||
|
-------------------------------------------------------------------------------
|
|||
|
in the directory entry for the file but is not part of the filename itself.
|
|||
|
There are four types of files in DOS 3.3. They are:
|
|||
|
|
|||
|
1. APPLESOFT BASIC
|
|||
|
2. INTEGER BASIC
|
|||
|
3. BINARY
|
|||
|
4. TEXT
|
|||
|
|
|||
|
All file types have their data stored in eight-bit bytes although not all of
|
|||
|
them need the eighth bit. The two file types containing basic programs required
|
|||
|
the eighth bit due to the nature of the data being stored. BINARY files are
|
|||
|
images of memory copied into a file. Often, these are machine code programs.
|
|||
|
These files require all eight bits. TEXT files normally contain only printable
|
|||
|
or carriage control characters. They are stored in the form of seven-bit ASCII
|
|||
|
characters but the eighth bit should always be set since Apples manipulate all
|
|||
|
text internally as 'Negative ASCII'. When transmitting non-text files the user
|
|||
|
must insure that both Kermits are handling eight-bit data so that no infor-
|
|||
|
mation is lost. If an eight-bit data path is not available (i.e. the remote
|
|||
|
Kermit needs to do parity checking with the eighth bit), then eight-bit quoting
|
|||
|
should be used. Of course, BINARY files as well as Apple BASIC files will not
|
|||
|
have much meaning on a different system. If the user desires to edit a BASIC
|
|||
|
file on a mainframe, for instance, s/he must convert it to a TEXT file before
|
|||
|
sending it over. After receiving the file back on the Apple, the user may con-
|
|||
|
vert it back to BASIC once again. The reason BASIC files would be meaningless
|
|||
|
to a different machine is that the Apple stores BASIC keywords as single
|
|||
|
character tokens to save space and processing time. To convert a BASIC program
|
|||
|
to and from a TEXT file, consult the Apple DOS 3.3 Manual. File information
|
|||
|
can be obtained by issuing the CATALOG command. For example:
|
|||
|
|
|||
|
]CATALOG
|
|||
|
|
|||
|
DISK VOLUME 010
|
|||
|
|
|||
|
*A 002 HELLO
|
|||
|
B 078 KERMIT
|
|||
|
A 002 READER
|
|||
|
T 005 TESTFILE
|
|||
|
|
|||
|
]
|
|||
|
|
|||
|
When Kermit-65 is receiving a file, the file it creates on diskette will be of
|
|||
|
the type indicated by the FILE-TYPE parameter. The file will always be left in
|
|||
|
an unlocked state after it is closed by Kermit-65. When sending a file,
|
|||
|
Kermit-65 will use the FILE-TYPE parameter to determine how to detect an
|
|||
|
End-of-file condition. Thus, it is important to have this set properly in all
|
|||
|
cases.
|
|||
|
|
|||
|
|
|||
|
Recommendations for Archiving Files
|
|||
|
|
|||
|
When using a large system for archiving purposes, there is no reason to convert
|
|||
|
Apple Basic programs into text files before sending them if there is no need to
|
|||
|
edit them on the mainframe. The FILE-TYPE parameter must always be set cor-
|
|||
|
rectly when sending and receiving files. The procedure for archiving files is:
|
|||
|
|
|||
|
1. Run Kermit on remote system.
|
|||
|
1.2. The DOS 3.3 File System Page 4
|
|||
|
|
|||
|
-------------------------------------------------------------------------------
|
|||
|
2. SET FILE-TYPE TEXT (or APPLESOFT or ...) on Kermit-65.
|
|||
|
|
|||
|
3. Send the files.
|
|||
|
|
|||
|
|
|||
|
1.3. The PRODOS File System
|
|||
|
|
|||
|
The PRODOS system is essentially the same as the DOS system with the exception
|
|||
|
that performance has been improved, hardware usage has been expanded and file
|
|||
|
names have different syntax. File names are the major importance to the Kermit
|
|||
|
system. File names have the following syntax:
|
|||
|
|
|||
|
/volname/subdirectory1/.../subdirectoryn/filename
|
|||
|
|
|||
|
where "volname" is the volume name where the file is located. Subdirectory(n)
|
|||
|
is a subdirectory on the volume and may be omitted. Filenames are much more
|
|||
|
restrictive than DOS filenames. PRODOS filenames are limited to 15 characters
|
|||
|
with no embedded spaces and few special characters, and must begin with an al-
|
|||
|
phabetic character. /volname/sub ... may be omitted from the filename by use
|
|||
|
of the SET PREFIX command.
|
|||
|
|
|||
|
Binary file transfer using PRODOS has its dangers when creating new files.
|
|||
|
PRODOS keeps the file's size and starting location in the directory which is of
|
|||
|
course not transferred. Therefore a new binary file will have its starting
|
|||
|
location 0 which can cause some interesting problems if you try and BRUN the
|
|||
|
file. Basic files all start at $801 (it says here) so Kermit creates new basic
|
|||
|
files with a starting address of $801.
|
|||
|
|
|||
|
|
|||
|
1.4. Program Operation
|
|||
|
|
|||
|
Prior to using Kermit-65 for transferring files, the modem interface must be
|
|||
|
set to handle data in a certain manner. First, the data format should be 8
|
|||
|
data bits and 1 stop bit. Second, the card should be set to no parity. The
|
|||
|
baud rate (if adjustable) must be set to whatever rate the modem can handle.
|
|||
|
For the D.C. Hayes Micromodem, these parameters are set correctly by default,
|
|||
|
so very little has to be done. For the Apple Super Serial Card these are set
|
|||
|
from within Kermit-65 except the interrupt switch (sw6-2) which must be set for
|
|||
|
interrupts on. For the Microtek SV-622, all applicable parameters are set by
|
|||
|
Kermit-65. Some mainframes may need parity checking (i.e. most IBM machines).
|
|||
|
In this case some parity setting (other than none) will usually work. When
|
|||
|
talking with such mainframes, binary and basic files on the Apple cannot be
|
|||
|
transferred unless Eighth-bit-quoting is acceptable to the host. If you have
|
|||
|
the parameters set correctly then the "CONNECT" command will start Kermit talk-
|
|||
|
ing out the communication port.
|
|||
|
|
|||
|
File transfer is very dependent upon parity. Make sure the host and local
|
|||
|
parity are the same. Following are a couple of site's method for file transfer.
|
|||
|
|
|||
|
We have an IBM 3033 and 4381 and use both 3705/3725 and 7171 or Series/1 front
|
|||
|
ends. The differences in front ends as far as any microcomputer Kermit is con-
|
|||
|
cerned duplex (local-echo on for the 3705, local-echo off for the 7171 or
|
|||
|
Series/1), parity (the two front ends might use different parity, e.g. Mark for
|
|||
|
the 3705 and Even for the 7171), and flow control (None for the 3705, XON/XOFF
|
|||
|
for the 7171).
|
|||
|
|
|||
|
In Kermit-65, IBM mainframe users need to set the following parameters:
|
|||
|
1.4. Program Operation Page 5
|
|||
|
|
|||
|
-------------------------------------------------------------------------------
|
|||
|
BAUD Whatever is supported.
|
|||
|
|
|||
|
PARITY EVEN, ODD, or MARK, whatever your front end requires.
|
|||
|
|
|||
|
FLOW XON for the 7171, NONE for the 3705.
|
|||
|
|
|||
|
FLOW DELAY 00
|
|||
|
|
|||
|
LOCAL-ECHO OFF for 7171, ON for 3705
|
|||
|
|
|||
|
In Kermit-65, SERDAC VAX 8800 users need to set the following parameters:
|
|||
|
|
|||
|
BAUD SERDAC Dial-up & 300, 1200, or 2400 baud
|
|||
|
FIRN Dialup:(the highest your modem and the dial-up connec-
|
|||
|
tion will support) )
|
|||
|
Ethernet Hardwire: 300, 1200, 2400, or 4800 baud.
|
|||
|
|
|||
|
PARITY NONE
|
|||
|
|
|||
|
FLOW XON
|
|||
|
|
|||
|
FLOW DELAY 00 (higher for printers, logging, or "slow" Apples)
|
|||
|
|
|||
|
LOCAL-ECHO OFF
|
|||
|
|
|||
|
NOTE: If you want to do a binary file transfer (Apple binary or BASIC
|
|||
|
files) via a FIRN Network connection to the SERDAC VAX
|
|||
|
8800, you must SET PARITY SPACE before the transfer is in-
|
|||
|
itiated; that will insure that eight-bit quoting is used.
|
|||
|
If you dial directly into the VAX 8800, SET PARITY NONE;
|
|||
|
eight-bit quoting (which is less efficient) is not re-
|
|||
|
quired.
|
|||
|
|
|||
|
|
|||
|
Conversing With Kermit-65
|
|||
|
|
|||
|
Kermit-65 reads file KERMIT.INIT from the default drive when started. The
|
|||
|
lines of this file are executed one at a time starting at the beginning. This
|
|||
|
file should be an ASCII text file and contain commands to set up Kermit's
|
|||
|
parameters as desired. It will also execute Kermit's other commands. However,
|
|||
|
any command which reads a file (like MODEM) or leaves local mode (like CONNECT)
|
|||
|
will terminate reading of this file and continue with the command specified.
|
|||
|
Use your favorite editor to produce this file. Here's a sample:
|
|||
|
|
|||
|
set display 80 3
|
|||
|
set keyboard 2e
|
|||
|
set baud 4800
|
|||
|
modem
|
|||
|
|
|||
|
Kermit-65's prompt is "Kermit-65>". To run Kermit-65 and issue commands to it,
|
|||
|
type "brun kermit". Example:
|
|||
|
|
|||
|
]BRUN KERMIT
|
|||
|
|
|||
|
NOSC/STEVENS/CU - APPLE ][ KERMIT-65 - VER 3.87
|
|||
|
|
|||
|
Kermit-65>send testfile
|
|||
|
1.4. Program Operation Page 6
|
|||
|
|
|||
|
-------------------------------------------------------------------------------
|
|||
|
(file is sent...)
|
|||
|
|
|||
|
Kermit-65>status
|
|||
|
|
|||
|
(performance statistics are printed...)
|
|||
|
|
|||
|
Kermit-65>(other commands...)
|
|||
|
.
|
|||
|
.
|
|||
|
.
|
|||
|
Kermit-65>exit
|
|||
|
]
|
|||
|
|
|||
|
Like many Kermit programs, Kermit-65 uses a DEC-20 style command parser.
|
|||
|
During interactive operation, you may use the ?-prompting help feature ("?")
|
|||
|
and recognition (ESC) features while typing commands. A question mark typed at
|
|||
|
any point in a command displays the options available at that point; typing an
|
|||
|
ESC character causes the current keyword to be completed (or default value to
|
|||
|
be supplied). If you have not typed sufficient characters to uniquely specify
|
|||
|
the keyword (or if there is no default value) then a beep will be sounded and
|
|||
|
you may continue typing. Keywords may be abbreviated to any prefix that is
|
|||
|
unique.
|
|||
|
|
|||
|
|
|||
|
Remote and Local Operation
|
|||
|
|
|||
|
Kermit-65 is normally run in local mode. It may be run as a remote Kermit as
|
|||
|
well although there is no advantage to doing things that way. Kermit-65 sup-
|
|||
|
ports User-mode commands for talking to a Server, and it does support a limited
|
|||
|
server mode.
|
|||
|
|
|||
|
|
|||
|
1.5. Kermit-65 Commands
|
|||
|
|
|||
|
|
|||
|
1.5.1. The CATALOG Command
|
|||
|
|
|||
|
Syntax: CATALOG
|
|||
|
or LS
|
|||
|
|
|||
|
Typing CATALOG produces a catalog (directory) listing of your default drive.
|
|||
|
|
|||
|
|
|||
|
1.5.2. The CONNECT Command
|
|||
|
|
|||
|
Syntax: CONNECT
|
|||
|
|
|||
|
Establish a terminal connection to the remote system using all the current SET
|
|||
|
parameters for terminal type, speed, parity, etc. Get back to Kermit-65 by
|
|||
|
typing the escape character followed by the letter C. The escape character is
|
|||
|
Control-@ by default. When you type the escape character, several
|
|||
|
single-character commands are possible. These are shown in Table 1-2.
|
|||
|
|
|||
|
You can use the SET ESCAPE command to define a different escape character.
|
|||
|
When CONNECTed, Kermit-65 will be passing characters entered on the keyboard to
|
|||
|
the remote system, and passing characters from the remote system to the Apple
|
|||
|
1.5.2. The CONNECT Command Page 7
|
|||
|
|
|||
|
-------------------------------------------------------------------------------
|
|||
|
-------------------------------------------------------------------------------
|
|||
|
|
|||
|
|
|||
|
|
|||
|
? List all the possible single-character arguments.
|
|||
|
B send a Break signal.
|
|||
|
C Command mode (returning to kermit-65).
|
|||
|
D Drop the phone line to the remote and return to Kermit-65.
|
|||
|
E Erase the screen (useful for clearing garbage on screen).
|
|||
|
K toggle Keypad application-mode on/off.
|
|||
|
M execute the Modem command.
|
|||
|
P toggle the Printer on/off.
|
|||
|
Q execute the Quit command.
|
|||
|
R pRint the screen, >= //e required
|
|||
|
S show Status of the connection.
|
|||
|
V cursor-keys-Vt100 toggle.
|
|||
|
W sWap the del and backspace key.
|
|||
|
0 send a null (ASCII 0).
|
|||
|
^@ (or whatever the Connect-Escape character is): send the
|
|||
|
Connect-Escape character itself.
|
|||
|
|
|||
|
Table 1-2: Kermit-65 Single-Character CONNECT Escape Commands
|
|||
|
|
|||
|
-------------------------------------------------------------------------------
|
|||
|
|
|||
|
screen. Incoming characters are interpreted according the selected terminal
|
|||
|
type (see SET TERMINAL).
|
|||
|
|
|||
|
On an Apple II+ with an incomplete keyboard, special characters can be typed by
|
|||
|
prefixing regular characters with a right-arrow. On uppercase-only screens,
|
|||
|
uppercase characters are shown in inverse and lowercase characters are dis-
|
|||
|
played as normal uppercase characters.
|
|||
|
|
|||
|
Here are the rules for using the special 2/2+ input, to get all printable ASCII
|
|||
|
characters, and how they appear on the screen. Special meanings are applied in
|
|||
|
various contexts to certain characters. The left and right arrow keys do spe-
|
|||
|
cial things, and sometimes the escape key does as well. For letters, the
|
|||
|
keyboard is always in either default UPPERCASE mode or default lowercase mode.
|
|||
|
When in UPPERCASE, all letters typed are sent out as uppercase. In lowercase,
|
|||
|
all letters are sent as lowercase. To reverse the case for the next character
|
|||
|
only, hit the right-arrow ("prefix") key. To switch the default case, hit the
|
|||
|
prefix-key twice in a row. For funny characters, the prefix key is also used
|
|||
|
to get the unusual punctuation characters which are not on the Apple keyboard.
|
|||
|
Table 1-3 shows the Apple II/II+ keyboard escapes; the letter "p" represents
|
|||
|
the prefix character.
|
|||
|
|
|||
|
The left-arrow key sends a rubout (ASCII 127). With left-arrow and right arrow
|
|||
|
doing special things, it's a little hard to enter their characters (^H and ^U
|
|||
|
respectively). There is therefore an escape from prefix mode sequence. If you
|
|||
|
type prefix-ESC, the next character is sent without any interpretation. If you
|
|||
|
have the capability for upper/lower case, etc, then use the 'SET KEYBOARD' and
|
|||
|
'SET DISPLAY' commands to specify complete keyboards.
|
|||
|
|
|||
|
While in connect mode if you have a //e or better with 80 column display, the
|
|||
|
cursor will blink. The rate of blink is tied to the "SET TIMING" constant.
|
|||
|
Also the screen will be restored to state of the previous connect(if any).
|
|||
|
1.5.3. The DELETE Command Page 8
|
|||
|
|
|||
|
-------------------------------------------------------------------------------
|
|||
|
-------------------------------------------------------------------------------
|
|||
|
|
|||
|
|
|||
|
|
|||
|
To Get Type Appearance
|
|||
|
Left Square Bracket p( [
|
|||
|
Right Square Bracket p) ]
|
|||
|
Left Curly Bracket p< {
|
|||
|
Right Curly Bracket p> }
|
|||
|
Underline p- _
|
|||
|
Backslash p/ \
|
|||
|
Tilde (wiggle) p^ ~
|
|||
|
Vertical Line p. |
|
|||
|
|
|||
|
Table 1-3: Apple II/II+ Keyboard Escapes
|
|||
|
|
|||
|
-------------------------------------------------------------------------------
|
|||
|
|
|||
|
|
|||
|
1.5.3. The DELETE Command
|
|||
|
|
|||
|
Syntax: DELETE filespec
|
|||
|
or RM filespec
|
|||
|
|
|||
|
Typing DELETE causes the file specified to be deleted.
|
|||
|
|
|||
|
|
|||
|
1.5.4. The EXIT and QUIT Commands
|
|||
|
|
|||
|
Syntax: EXIT or QUIT
|
|||
|
|
|||
|
Exit from Kermit-65. When using dos 3.3 you can probably restart the program,
|
|||
|
provided you haven't run anything else, by typing 'CALL 4096'.
|
|||
|
|
|||
|
|
|||
|
1.5.5. The GET Command
|
|||
|
|
|||
|
Syntax: GET remote-filespec[,local-filespec]
|
|||
|
|
|||
|
The GET command requests a remote Kermit server to send the file or file group
|
|||
|
specified by remote-filespec. This command can be used with a Kermit server on
|
|||
|
the other end. The remote filespec is any string that can be a legal file
|
|||
|
specification for the remote system; it is not parsed or validated locally. So
|
|||
|
if the remote Kermit supports wildcards you can specify them in the
|
|||
|
remote-filespec. Local-filespec is optional and is the file name to be used
|
|||
|
locally. The "\" escape character may be used to accept the next character of
|
|||
|
the filespec asis and two escape characters will parse to a single "\". If the
|
|||
|
remote Kermit is not capable of server functions, then you will probably get an
|
|||
|
error message back from it like "Illegal packet type". In this case, you must
|
|||
|
connect to the other Kermit, give a SEND command, escape back, and give a
|
|||
|
RECEIVE command. Currently, a packet can be retransmitted manually by typing
|
|||
|
anything on the keyboard. If a 'Q' is typed, the entire transmission will be
|
|||
|
canceled. During file transfer if the remote kermit supports file attributes
|
|||
|
then the percent of the file transferred will be accurate else 0.
|
|||
|
1.5.6. The HELP Command Page 9
|
|||
|
|
|||
|
-------------------------------------------------------------------------------
|
|||
|
1.5.6. The HELP Command
|
|||
|
|
|||
|
Syntax: HELP
|
|||
|
|
|||
|
Typing HELP alone prints a brief summary of the Kermit-65 commands.
|
|||
|
|
|||
|
|
|||
|
1.5.7. The LOCK Command
|
|||
|
|
|||
|
Syntax: LOCK filespec
|
|||
|
|
|||
|
LOCK will file lock the given filespec on the default drive.
|
|||
|
|
|||
|
|
|||
|
1.5.8. The LOG Command
|
|||
|
|
|||
|
Syntax: LOG filespec
|
|||
|
|
|||
|
When connected to a remote site, log the remote session's output to the
|
|||
|
specified file. The file type and file warning protocols are observed. This
|
|||
|
command is dependent upon the flow control (XON/XOFF) working. Without flow
|
|||
|
control there is little possibility of getting a correct copy of the terminal
|
|||
|
session. The logging begins when you connect to the remote and is terminated
|
|||
|
when you escape back to the local Kermit with the ESCAPE character followed by
|
|||
|
the "C" command.
|
|||
|
|
|||
|
|
|||
|
1.5.9. The MODEM Command
|
|||
|
|
|||
|
Syntax: MODEM
|
|||
|
|
|||
|
This command is designed for the hayes smart modem. Typing MODEM causes the
|
|||
|
file KERMIT.MODEM in the default drive/path to be used as a menu. You will be
|
|||
|
able to select any line in the file to be sent to the modem. Sorry, you can't
|
|||
|
back up to a previous menu, you will have to Quit and execute MODEM again. A
|
|||
|
"CONNECT" response from the smart modem will cause Kermit to leave the modem
|
|||
|
command and execute the CONNECT command. The Hayes smart modem must reply with
|
|||
|
text status responses (not numbers). One command per line with comments al-
|
|||
|
lowed after the first space (blank). Use your favorite editor to produce this
|
|||
|
ASCII text file. Since the attention Hayes command (AT) requires a delay the
|
|||
|
"&" character becomes the time delay for Kermit. Each "&" causes a delay of
|
|||
|
one second on a 6502 chip. If you have a //gs or an accelerator board you may
|
|||
|
have to use the SET TIMING command to produce a one second delay. If you
|
|||
|
really need to send the "&" character to the modem then the "\" is the escape
|
|||
|
character. Put a "\" before any character and that character will be sent as
|
|||
|
is. Of course two "\"'s will produce one "\". Normally Kermit will wait for 27
|
|||
|
seconds (again on a 6502 chip) for the modem to respond, but any character
|
|||
|
typed on the keyboard will terminate this wait. You may hear the busy signal
|
|||
|
and there is no sense waiting any longer, so hit (ouch!-not so hard) any key on
|
|||
|
the keyboard.
|
|||
|
|
|||
|
Following is an example of the KERMIT.MODEM file:
|
|||
|
|
|||
|
+++&&ATH Get the Hayes Smartmodem's attention and then hang up.
|
|||
|
ATDP1234567 Call your local BBS with pulse dialing.
|
|||
|
ATDT8901234 Call your work dialup phone with touch tone dialing.
|
|||
|
1.5.10. The RECEIVE Command Page 10
|
|||
|
|
|||
|
-------------------------------------------------------------------------------
|
|||
|
1.5.10. The RECEIVE Command
|
|||
|
|
|||
|
Syntax: RECEIVE [filespec]
|
|||
|
|
|||
|
The RECEIVE command tells Kermit-65 to receive a file or file group from the
|
|||
|
other system. If only one file is being received, you may include the optional
|
|||
|
filespec as the name to store the incoming file under; otherwise, the name is
|
|||
|
taken from the incoming file header. If the name in the header is not a legal
|
|||
|
filename, Kermit-65 will attempt to change it into something legal. If
|
|||
|
FILE-WARNING is on and an incoming file has a name identical to a file already
|
|||
|
existing on the diskette, Kermit-65 will issue a warning to the user and at-
|
|||
|
tempt to modify the filename to make it unique. Currently, a packet can be
|
|||
|
retransmitted manually by typing anything on the keyboard. If a 'Q' is typed,
|
|||
|
the entire transmission will be aborted. During file transfer if the remote
|
|||
|
kermit supports file attributes then the percent of the file transferred will
|
|||
|
be accurate else 0. Filespec is required when xmodem protocol is used.
|
|||
|
|
|||
|
|
|||
|
1.5.11. The REMOTE Command
|
|||
|
|
|||
|
Syntax: REMOTE [option character-string]
|
|||
|
|
|||
|
The only option currently is "kermit". This command submits the command
|
|||
|
"character-string" to the remote Kermit's command processor. Long replies are
|
|||
|
not paged so you will have to use ^S to stop the screen. The obvious usage is
|
|||
|
for setting and showing parameters on the remote Kermit.
|
|||
|
|
|||
|
|
|||
|
1.5.12. The RENAME Command
|
|||
|
|
|||
|
Syntax: RENAME filespec,new-filespec
|
|||
|
|
|||
|
RENAME will rename filespec to new-filespec on the default drive.
|
|||
|
|
|||
|
|
|||
|
1.5.13. The SEND Command
|
|||
|
|
|||
|
Syntax: SEND filespec[,remote-filespec]
|
|||
|
|
|||
|
The SEND command causes a file to be sent from the Apple to the remote system.
|
|||
|
The Filespec is the name of the file on the Apple diskette to be sent. The
|
|||
|
parser will not accept control characters and certain special characters in a
|
|||
|
filename (like comma). The "\" escape character may be used to accept the next
|
|||
|
character of the filespec asis and two escape characters will parse to a single
|
|||
|
"\". Remote-filespec is optional and is the name of the file on the remote
|
|||
|
kermit. Thanks to Dick Atlee, wildcards are now acceptable when sending files
|
|||
|
(they have always been acceptable when receiving files). The "*" is a multiple
|
|||
|
character wildcard and the "=" is a single character wildcard.
|
|||
|
|
|||
|
The default disk drive is used for file transfers this can be changed with the
|
|||
|
'SET DEFAULT-DISK'(DOS) or 'SET PREFIX'(PRODOS) command (explained below). As
|
|||
|
a file is being sent, the screen displays 'RECEIVING NUMBER OF BYTES' and
|
|||
|
'SENDING NUMBER OF BYTES' with the decimal number of bytes transferred since
|
|||
|
start of transmission. If a packet must be transmitted several times and it
|
|||
|
reaches the maximum retry count, the transfer will fail and the 'Kermit-65>'
|
|||
|
prompt will return. If the remote Kermit sends an error packet, the text of the
|
|||
|
1.5.13. The SEND Command Page 11
|
|||
|
|
|||
|
-------------------------------------------------------------------------------
|
|||
|
packet will be displayed on the screen, the transfer will fail, and the prompt
|
|||
|
will return. Currently, a packet can be retransmitted manually by typing any-
|
|||
|
thing on the keyboard. If a 'Q' is typed, the entire transmission will be
|
|||
|
aborted.
|
|||
|
|
|||
|
|
|||
|
1.5.14. The SERVER Command
|
|||
|
|
|||
|
Syntax: SERVER
|
|||
|
|
|||
|
Typing SERVER alone turns Kermit into a file server to a remote Kermit. Cur-
|
|||
|
rently server mode will handle remote "send", "get", "remote" and "fin" com-
|
|||
|
mands. Variants of the above commands will probably work but file serving is
|
|||
|
very limited at present. Because the Apple requires knowledge of file types
|
|||
|
you can use the "remote Kermit" (or whatever the remote Kermit's syntax is)
|
|||
|
command to set the file-type on the server. Yes, the server will execute any
|
|||
|
command so you can really get the server into trouble (this is not a BBS). You
|
|||
|
must have the appropriate file type set before transferring files. You can
|
|||
|
exit server mode by typing Control-C (^C) when not doing file transfers or the
|
|||
|
remote can of course terminate via the "fin" command.
|
|||
|
|
|||
|
|
|||
|
1.5.15. The SET Command
|
|||
|
|
|||
|
Syntax: SET parameter [option [value]]
|
|||
|
|
|||
|
Establish or modify various parameters for file transfer or terminal connec-
|
|||
|
tion. You can examine their values with the SHOW command. The following
|
|||
|
parameters may be SET:
|
|||
|
|
|||
|
|
|||
|
APPLICATION-MODE Set VT100 gs keypad in/out of application mode.
|
|||
|
BAUD Which baud rate should the com card use?
|
|||
|
CLEAR-SCREEN Should screen be cleared when returning from connect?
|
|||
|
CURSOR-KEYS-VT100 In VT100 mode cursor keys give VT100 sequences.
|
|||
|
DEBUGGING TERSE or VERBOSE packet information.
|
|||
|
DEFAULT-DISK Which Diskette drive is used for DOS 3.3 file transfer?
|
|||
|
DISPLAY Which type of screen display is being used?
|
|||
|
ESCAPE Character for terminal connection.
|
|||
|
FILE-TYPE Type of Apple file being sent/received.
|
|||
|
FILE-WARNING Warn users if incoming file exists?
|
|||
|
FLOW Should xon/xoff flow control be used to the remote?
|
|||
|
KEYBOARD II+ or //e keyboard.
|
|||
|
LOCAL-ECHO Full or half duplex switch.
|
|||
|
PARITY Character parity to use
|
|||
|
PREFIX Which default prefix to use with PRODOS?
|
|||
|
PRINTER Should the printer be used for the display?
|
|||
|
PROTOCOL Which protocol is to be used for file transfer.
|
|||
|
RECEIVE Various parameters for receiving files
|
|||
|
SEND Various parameters for sending files
|
|||
|
SLOT Which slot # is communication device in?
|
|||
|
SWAP Swap the del and backspace key?
|
|||
|
TIMER Should Kermit observe the receive timeout value?
|
|||
|
TIMING Change the time loop for 1 ms. delays.
|
|||
|
TERMINAL Which type of terminal should Kermit emulate?
|
|||
|
1.5.15. The SET Command Page 12
|
|||
|
|
|||
|
-------------------------------------------------------------------------------
|
|||
|
SET APPLICATION-MODE
|
|||
|
|
|||
|
Syntax: SET APPLICATION-MODE {ON, OFF}
|
|||
|
|
|||
|
For VT100 emulation with a gs keypad you can set the keypad in or out of ap-
|
|||
|
plication mode. Some computer systems set this via escape sequences so it may
|
|||
|
not be necessary to use this command.
|
|||
|
|
|||
|
|
|||
|
SET BAUD
|
|||
|
|
|||
|
Syntax: SET BAUD value
|
|||
|
|
|||
|
Value is the baud rate for your communication card. For the super serial and
|
|||
|
the microtek it can be 300 to 19200. The actual values will depend upon the
|
|||
|
com card you are running with.
|
|||
|
|
|||
|
|
|||
|
SET CLEAR-SCREEN
|
|||
|
|
|||
|
Syntax: SET CLEAR-SCREEN {ON, OFF}
|
|||
|
|
|||
|
When returning from a connect the screen will be cleared if on. This is for a
|
|||
|
//e or better machine.
|
|||
|
|
|||
|
|
|||
|
SET CURSOR-KEYS-VT100
|
|||
|
|
|||
|
Syntax: SET CURSOR-KEYS-VT100 {ON, OFF}
|
|||
|
|
|||
|
In VT100 emulation the cursor keys can also emulate the VT100 cursor keys.
|
|||
|
|
|||
|
|
|||
|
SET DEBUGGING
|
|||
|
|
|||
|
Syntax: SET DEBUGGING {TERSE, VERBOSE, OFF}
|
|||
|
|
|||
|
Record the packet traffic on your terminal. Options are: TERSE, Show packet
|
|||
|
info only (brief). VERBOSE displays packet field descriptions with packet info
|
|||
|
(lengthy). OFF disables display of debugging information (this is the
|
|||
|
default).
|
|||
|
|
|||
|
|
|||
|
SET DEFAULT-DISK
|
|||
|
|
|||
|
Syntax: SET DEFAULT-DISK {SLOT, VOLUME, DRIVE} value
|
|||
|
|
|||
|
This DOS command will tell Kermit-65 which disk drive should be used for file
|
|||
|
transfers. The three parameters which may be set separately are SLOT, VOLUME
|
|||
|
and DRIVE. The value for SLOT ranges from 1 to 7. The value for DRIVE is ei-
|
|||
|
ther 1 or 2. The value for VOLUME ranges from 0 to 255.
|
|||
|
|
|||
|
|
|||
|
SET DISPLAY
|
|||
|
|
|||
|
Syntax: SET DISPLAY {2E, 2P}
|
|||
|
1.5.15. The SET Command Page 13
|
|||
|
|
|||
|
-------------------------------------------------------------------------------
|
|||
|
or SET DISPLAY 80-COL number
|
|||
|
|
|||
|
This command will tell Kermit-65 which kind of screen display you want to use.
|
|||
|
If you have an Apple II or II+ without an 80 column card, use the first syntax.
|
|||
|
If you have any kind of an Apple with an 80 column card, enter: SET DISPLAY 80,
|
|||
|
followed by a space and the slot number where the card resides (if you don't
|
|||
|
know the slot number, or the card is built-in to the set, try 3 ).
|
|||
|
|
|||
|
|
|||
|
SET ESCAPE
|
|||
|
|
|||
|
Syntax: SET ESCAPE hexadecimal-number
|
|||
|
|
|||
|
Specify the control character you want to use to "escape" from remote connec-
|
|||
|
tions back to Kermit-65. The default is 0 (Control-@). The number is the hex
|
|||
|
value of the ASCII control character, 1 to 37, for instance 2 is Control-B, B
|
|||
|
is Control-K.
|
|||
|
|
|||
|
|
|||
|
SET FILE-TYPE
|
|||
|
|
|||
|
Syntax: SET FILE-TYPE {APPLESOFT, INTEGER, TEXT, BINARY, OTHER hex-value}
|
|||
|
|
|||
|
This will inform Kermit-65 what type of file is being sent or received. It is
|
|||
|
important that this is set correctly since Kermit-65 must create a file of the
|
|||
|
appropriate type when receiving. With the advent of file attributes (if the
|
|||
|
other kermit does them) this has been improved somewhat but since file at-
|
|||
|
tributes usually only knows about text and binary one may endup with the wrong
|
|||
|
type. So keep your type changing utility handy. When Kermit-65 is sending, it
|
|||
|
will know the type of file but again be careful of file attributes (assuming
|
|||
|
the other kermit does them) for the file may end up as binary on the other end.
|
|||
|
The keywords for this parameter are listed below. OTHER includes an added
|
|||
|
hex-value so that the user may specify the hex value of the file-type. This
|
|||
|
has meaning only in PRODOS and allows the user to specify any of the many dif-
|
|||
|
ferent file types used in PRODOS, see Tables 1-5 and 1-6 (thanks to Phil Chien,
|
|||
|
M L Stier et al).
|
|||
|
|
|||
|
APPLESOFT The file being transferred is an Applesoft Basic program.
|
|||
|
|
|||
|
INTEGER The file being sent/received is an Integer Basic program.
|
|||
|
|
|||
|
TEXT The file being sent/received is an ASCII Text file.
|
|||
|
|
|||
|
BINARY The file being sent/received is a Binary image.
|
|||
|
|
|||
|
OTHER The type of file being sent/received is specified by the
|
|||
|
hex-value.
|
|||
|
|
|||
|
|
|||
|
SET FILE-WARNING
|
|||
|
|
|||
|
Syntax: SET FILE-WARNING {ON, OFF}
|
|||
|
|
|||
|
This tells Kermit-65 whether to warn the user about incoming filenames con-
|
|||
|
flicting with existing files or not. If there is a conflict Kermit-65 will at-
|
|||
|
tempt to change the file name to something unique.
|
|||
|
1.5.15. The SET Command Page 14
|
|||
|
|
|||
|
-------------------------------------------------------------------------------
|
|||
|
SET FLOW
|
|||
|
|
|||
|
Syntax: SET FLOW {OFF, XON, DELAY number}
|
|||
|
|
|||
|
SET FLOW allows one to use the XON/XOFF protocol when connected to a remote
|
|||
|
site. Delay timings are part of this command. Using delay times is probably a
|
|||
|
desperation move to keep the screen/printer from losing characters. Setting
|
|||
|
the timings will have to be set by experience. Perhaps the best way to set the
|
|||
|
timings is to bring the values down until you get failures and then double the
|
|||
|
timing figure. Both LOG and SET PRINTER will probably depend on flow control.
|
|||
|
|
|||
|
OFF Turn off flow control
|
|||
|
|
|||
|
XON Turn on xon/xoff flow control with the remote
|
|||
|
|
|||
|
DELAY number Delay the micro until XOFF takes effect
|
|||
|
|
|||
|
Delay followed by a number (including 0) delays the program for that many mil-
|
|||
|
liseconds after the XOFF is given to the remote. This delay allows the XOFF to
|
|||
|
take effect before the program continues.
|
|||
|
|
|||
|
NOTE: Except for printing and logging, most Apples will not require you to use
|
|||
|
a flow delay, even at rates up thru 19200 baud; for proper screen control,
|
|||
|
however, certain older Apple IIe's may require a fairly high delay (120-160
|
|||
|
dec), even at 300 baud.
|
|||
|
|
|||
|
|
|||
|
SET KEYBOARD
|
|||
|
|
|||
|
Syntax: SET KEYBOARD {2P, 2E}
|
|||
|
|
|||
|
SET KEYBOARD tells Kermit-65 if the user has a full keyboard (2E) or not (2P).
|
|||
|
If the user is on an Apple II+, this should be set to 2P (which is the
|
|||
|
default). When set to that, character translations are available by using the
|
|||
|
right-arrow key as a prefix character, as shown in Table 1-3.
|
|||
|
|
|||
|
|
|||
|
SET LOCAL-ECHO
|
|||
|
|
|||
|
Syntax: SET LOCAL-ECHO {ON,OFF} [Default: OFF]
|
|||
|
|
|||
|
This command tells Kermit-65 to echo to the screen characters you type on the
|
|||
|
keyboard (LOCAL-ECHO = ON), or to let the remote system echo the typed charac-
|
|||
|
ters (LOCAL-ECHO = OFF). If, when CONNECTed to the remote, you see a duplicate
|
|||
|
of every character you type, escape back to Kermit-65, and SET LOCAL-ECHO OFF.
|
|||
|
If, when CONNECTed to the remote, you see nothing echoed to the screen, escape
|
|||
|
back to Kermit-65, and SET LOCAL-ECHO ON.
|
|||
|
|
|||
|
|
|||
|
SET PARITY
|
|||
|
|
|||
|
Syntax: SET PARITY {NONE, EVEN, ODD, MARK, SPACE} [Default: NONE]
|
|||
|
|
|||
|
This command tells Kermit-65 which parity you want to use while communicating
|
|||
|
with the remote. Most remotes use NONE; some use EVEN, a few may use the other
|
|||
|
possible values. If you have a choice of parity to use with a remote machine,
|
|||
|
1.5.15. The SET Command Page 15
|
|||
|
|
|||
|
-------------------------------------------------------------------------------
|
|||
|
if possible, choose NONE.
|
|||
|
|
|||
|
|
|||
|
SET PREFIX
|
|||
|
|
|||
|
Syntax: SET PREFIX string [Default: boot volume]
|
|||
|
or CD string
|
|||
|
|
|||
|
This command allows you to specify a ProDOS volume/file prefix.
|
|||
|
|
|||
|
|
|||
|
SET PRINTER
|
|||
|
|
|||
|
Syntax: SET PRINTER {ON, SLOT} number
|
|||
|
or SET PRINTER OFF
|
|||
|
|
|||
|
This allows one to turn the printer on for printing what is displayed on the
|
|||
|
screen. The printer can also be toggled on/off via the ESCAPE character fol-
|
|||
|
lowed by the command "P".
|
|||
|
|
|||
|
Remember when you use your printer there are a lot of variables here. What was
|
|||
|
being sent to the screen now is being sent to your printer. If you were
|
|||
|
emulating the VT52 your printer may not know how to handle the escape se-
|
|||
|
quences, tabs, etc. It may be you can tell the host you are a tty or some such
|
|||
|
device that will produce control codes that your printer can handle. Some
|
|||
|
printers may require the flow control and delay to get readable printing.
|
|||
|
|
|||
|
ON Turn the printer on, slot number is required.
|
|||
|
|
|||
|
OFF Turn the printer off.
|
|||
|
|
|||
|
SLOT number Printer card is in slot "number".
|
|||
|
|
|||
|
|
|||
|
SET PROTOCOL
|
|||
|
|
|||
|
Syntax: SET PROTOCOL {KERMIT, XMODEM}
|
|||
|
|
|||
|
SET PROTOCOL tells kermit-65 which protocol to use for file transfer. NOTE:
|
|||
|
When XMODEM is used you will probably want to change the carriage return and
|
|||
|
carriage return/line feed translation in the send/receive parameters. eg. "SET
|
|||
|
SEND CR<->CR,LF OFF" and "SET RECEIVE CR<->CR,LF OFF".
|
|||
|
|
|||
|
|
|||
|
SET RECEIVE
|
|||
|
|
|||
|
Syntax: SET RECEIVE {CR-CR,LR, EIGHT-BIT-QUOTE, END-OF-LINE, PACKET-LENGTH,
|
|||
|
PAD-CHAR, PADDING, QUOTE-CHAR, START-OF-PACKET, TIMEOUT}
|
|||
|
|
|||
|
This will inform Kermit what to use to form and handle receive packets for file
|
|||
|
transfer.
|
|||
|
|
|||
|
CR<->CR,LF {ON, OFF}
|
|||
|
Terminate lines with cr or cr and lf.
|
|||
|
|
|||
|
EIGHT-BIT-QUOTE hexadecimal-number
|
|||
|
1.5.15. The SET Command Page 16
|
|||
|
|
|||
|
-------------------------------------------------------------------------------
|
|||
|
Char for eighth bit quoting.
|
|||
|
|
|||
|
END-OF-LINE hexadecimal-number
|
|||
|
Char for line termination.
|
|||
|
|
|||
|
PACKET-LENGTH hexadecimal-number
|
|||
|
Size of packet.
|
|||
|
|
|||
|
PAD-CHAR hexadecimal-number
|
|||
|
Char for padding.
|
|||
|
|
|||
|
PADDING hexadecimal-number
|
|||
|
Number of padding chs.
|
|||
|
|
|||
|
QUOTE-CHAR hexadecimal-number
|
|||
|
Char for quoting.
|
|||
|
|
|||
|
START-OF-PACKET hexadecimal-number
|
|||
|
Char for start of packet.
|
|||
|
|
|||
|
TIMEOUT hexadecimal-number
|
|||
|
Number of seconds for timeout.
|
|||
|
|
|||
|
|
|||
|
SET SEND
|
|||
|
|
|||
|
Syntax: SET SEND {CR-CR,LR, EIGHT-BIT-QUOTE, END-OF-LINE, PACKET-LENGTH,
|
|||
|
PAD-CHAR, PADDING, QUOTE-CHAR, START-OF-PACKET, TIMEOUT}
|
|||
|
|
|||
|
This will inform Kermit what to use to form and handle send packets for file
|
|||
|
transfer. The options are the same as the "SET RECEIVE ..." packets.
|
|||
|
|
|||
|
|
|||
|
SET SLOT
|
|||
|
|
|||
|
Syntax: SET SLOT number
|
|||
|
|
|||
|
This option tells Kermit-65 in which slot the communication device is located.
|
|||
|
The range for the number parameter is 1-7.
|
|||
|
|
|||
|
|
|||
|
SET SWAP
|
|||
|
|
|||
|
Syntax: SET SWAP {ON, OFF}
|
|||
|
|
|||
|
This option tells Kermit-65 to swap the functions of the del and backspace
|
|||
|
keys.
|
|||
|
|
|||
|
|
|||
|
SET TIMER
|
|||
|
|
|||
|
Syntax: SET TIMER {ON, OFF}
|
|||
|
|
|||
|
SET TIMER will turn on or off the timeout checking for receive file transfers.
|
|||
|
Since there is no clock for exact timing a loop of instructions has been set up
|
|||
|
assuming a 1 megacycle CPU. CPUs which run faster may have to make allowances
|
|||
|
1.5.15. The SET Command Page 17
|
|||
|
|
|||
|
-------------------------------------------------------------------------------
|
|||
|
via the SET RECEIVE TIMEOUT command or the SET TIMING command.
|
|||
|
|
|||
|
|
|||
|
SET TIMING
|
|||
|
|
|||
|
Syntax: SET TIMING { number }
|
|||
|
|
|||
|
Kermit uses a timing loop with the rom address $fca8 to produce a 1 ms. delay.
|
|||
|
If you have a machine that runs faster than the 6502 chip you may have to in-
|
|||
|
crease this number to get the 1 ms delay.
|
|||
|
|
|||
|
|
|||
|
SET TERMINAL
|
|||
|
|
|||
|
Syntax: SET TERMINAL {MONITOR, NONE, VT100, VT52}
|
|||
|
|
|||
|
When TERMINAL is NONE, then all incoming characters (except nulls) are passed
|
|||
|
directly to the display.
|
|||
|
|
|||
|
MONITOR emulation simply displays all the characters received from the remote
|
|||
|
(except nulls) without any formatting of the screen (40 or 80 characters per
|
|||
|
line). Control characters are displayed inverse.
|
|||
|
|
|||
|
|
|||
|
VT100 Emulation
|
|||
|
|
|||
|
The Kermit-65 VT100 emulator is a small but working set of a true VT100 ter-
|
|||
|
minal. It appears to work with most of the standard full screen editors and
|
|||
|
processors on BSD UNIX and VAX/VMS machines. An Apple//e, //c, or //gs is
|
|||
|
probably required with the Apple 80 column text card. The VT100 keypad has
|
|||
|
also been defined for the application mode via the OA/CA/game button. Figure
|
|||
|
1-1 shows the vt100 keypad on an apple keyboard with EDIT (VMS) usage, and
|
|||
|
Figure 1-2 shows the layout on an Apple//gs keypad. When using EVE (VMS) the
|
|||
|
meaning of the keys will of course change.
|
|||
|
|
|||
|
As you can see the keypad is physically laid out like the VT100 keypad except
|
|||
|
for the lower right corner. Notice that above the keys are the VT100 labels
|
|||
|
while in middle of the box (key) is the Apple key label. Also the arrow keys
|
|||
|
work as VT100 arrow keys with the OA/CA/game button.
|
|||
|
|
|||
|
|
|||
|
VT52 Emulation
|
|||
|
|
|||
|
SET TERMINAL VT52 will turn on the VT52 terminal emulation. One thing that is
|
|||
|
required is your 80-column card must handle the $16 command in order for
|
|||
|
reverse scrolling to work. The Apple//e 80 column card handles this fine. The
|
|||
|
VT52 keypad has been defined using the open/closed Apple. For II or II+ one
|
|||
|
will have to have a game paddle or joy stick (key shift mod too????) and use
|
|||
|
the buttons. When a button/open/closed Apple is pushed then the keys starting
|
|||
|
with 6,7,8 & 9 form the top of the keypad. Key 6 is the blue key key 7 is the
|
|||
|
red key etc. The keys directly below the 6,7,8 & 9 and shifted one-half key to
|
|||
|
the right form the second row of the keypad etc. Every thing is fine until you
|
|||
|
get to the last row on the keypad. There the sp bar is 0 and the other two keys
|
|||
|
are moved to the upper right as the 0 & - keys. This way the arrow keys are
|
|||
|
available as VT52 keys with the OA/CA/game button combination (thanks to Dick
|
|||
|
Atlee for this idea). With those two exceptions the keypad is physically
|
|||
|
1.5.15. The SET Command Page 18
|
|||
|
|
|||
|
-------------------------------------------------------------------------------
|
|||
|
-------------------------------------------------------------------------------
|
|||
|
|
|||
|
|
|||
|
|
|||
|
PF1 PF2 PF3 PF4 .(period)
|
|||
|
------- ------- ------- ------- -------
|
|||
|
| | |findnxt|delline|select |
|
|||
|
| 6 | 7 | 8 | 9 | 0 |
|
|||
|
| gold | help | find |undelln| reset |
|
|||
|
------- ------- ------- ------- -------
|
|||
|
7 8 9 -
|
|||
|
------- ------- ------- -------
|
|||
|
| page |section|append |delword|
|
|||
|
| Y | U | I | O |
|
|||
|
|command| fill |replace|undelwd|
|
|||
|
------- ------- ------- -------
|
|||
|
vt100 key ----> 4 5 6 ,
|
|||
|
------- ------- ------- -------
|
|||
|
vms edit usage ----> |advanc|backup | cut |delchar|
|
|||
|
apple key ----> | H | J | K | L |
|
|||
|
vms edit usage ----> |bottom| top | paste |undelch|
|
|||
|
------- ------- ------- -------
|
|||
|
1 2 3 ENTER
|
|||
|
------- ------- ------- -------
|
|||
|
| word | eol | char | enter |
|
|||
|
| N | M | , | . |
|
|||
|
|chgcase|deleol |specins| sub |
|
|||
|
------- ------- ------- -------
|
|||
|
0
|
|||
|
---------------------------------------
|
|||
|
bline |
|
|||
|
space bar |
|
|||
|
openline |
|
|||
|
---------------------------------------
|
|||
|
|
|||
|
Figure 1-1: VT100 Keypad on an Apple Keyboard
|
|||
|
|
|||
|
-------------------------------------------------------------------------------
|
|||
|
|
|||
|
similar to a VT52 keypad. Remember the open/closed Apple or the game button
|
|||
|
must be pushed (like the control key) to get the keypad emulation. Figure 1-3
|
|||
|
should clear up the questions.
|
|||
|
|
|||
|
|
|||
|
1.5.16. the SHOW command
|
|||
|
|
|||
|
Syntax: SHOW [option]
|
|||
|
|
|||
|
The SHOW command displays various information:
|
|||
|
|
|||
|
ALL All parameter settings (this is quite long).
|
|||
|
|
|||
|
BAUD Baud rate of the com card.
|
|||
|
|
|||
|
APPLICATION-MODE Keypad in application mode?
|
|||
|
|
|||
|
CLEAR-SCREEN Clear screen on return from connect?
|
|||
|
1.5.16. the SHOW command Page 19
|
|||
|
|
|||
|
-------------------------------------------------------------------------------
|
|||
|
-------------------------------------------------------------------------------
|
|||
|
|
|||
|
|
|||
|
|
|||
|
PF1 PF2 PF3 PF4
|
|||
|
------- ------- ------- -------
|
|||
|
| | |findnxt|delline|
|
|||
|
| CLEAR | = | / | * |
|
|||
|
| gold | help | find |undelln|
|
|||
|
------- ------- ------- -------
|
|||
|
7 8 9 -
|
|||
|
------- ------- ------- -------
|
|||
|
| page |section|append |delword|
|
|||
|
| 7 | 8 | 9 | + |
|
|||
|
|command| fill |replace|undelwd|
|
|||
|
------- ------- ------- -------
|
|||
|
vt100 key ----> 4 5 6 ,
|
|||
|
------- ------- ------- -------
|
|||
|
vms edit usage ->| advanc|backup | cut |delchar|
|
|||
|
gs key -------> | 4 | 5 | 6 | - |
|
|||
|
vms edit usage ->| bottom| top | paste |undelch|
|
|||
|
------- ------- ------- -------
|
|||
|
1 2 3 ENTER
|
|||
|
------- ------- ------- -------
|
|||
|
| word | eol | char | |
|
|||
|
| 1 | 2 | 3 | |
|
|||
|
|chgcase|deleol |specins| |
|
|||
|
------- ------- -------| enter |
|
|||
|
0 . | ENTER |
|
|||
|
-----------------------| sub |
|
|||
|
| bline |select | |
|
|||
|
| 0 | . | |
|
|||
|
| openline | reset | |
|
|||
|
-------------------------------
|
|||
|
|
|||
|
Figure 1-2: VT100 Keypad on an Apple//gs
|
|||
|
|
|||
|
-------------------------------------------------------------------------------
|
|||
|
|
|||
|
CURSOR-KEYS-VT100 Are the cursor keys emulating the VT100 cursor
|
|||
|
keys?
|
|||
|
|
|||
|
DEBUGGING Debugging mode.
|
|||
|
|
|||
|
DEFAULT-DISK Which Diskette drive is used for file transfer?
|
|||
|
|
|||
|
DEVICE-DRIVER Which communication device is being used?
|
|||
|
|
|||
|
DISPLAY Which screen display is being used?
|
|||
|
|
|||
|
ESCAPE Character for terminal connection.
|
|||
|
|
|||
|
FILE-TYPE Of Apple DOS/PRODOS file being sent/received.
|
|||
|
|
|||
|
FILE-WARNING Warn users if incoming file exists?
|
|||
|
|
|||
|
FLOW Should XON/XOFF flow control be used to the remote?
|
|||
|
1.5.16. the SHOW command Page 20
|
|||
|
|
|||
|
-------------------------------------------------------------------------------
|
|||
|
-------------------------------------------------------------------------------
|
|||
|
|
|||
|
|
|||
|
|
|||
|
^ is up arrow BLUE RED GRAY ^ .(period) ENTER
|
|||
|
------- ------- ------- ------- ------- -------
|
|||
|
| | |delline| up |select | enter |
|
|||
|
| 6 | 7 | 8 | 9 | 0 | - |
|
|||
|
| gold | help |undelln|replace| reset | sub |
|
|||
|
------- ------- ------- ------- ------- -------
|
|||
|
v is down arrow 7 8 9 v
|
|||
|
------- ------- ------- -------
|
|||
|
| page |findnxt|delword| down |
|
|||
|
| Y | U | I | O |
|
|||
|
|command| find |undelwd|section|
|
|||
|
------- ------- ------- -------
|
|||
|
vt52 key ----> 4 5 6 ->
|
|||
|
------- ------- ------- -------
|
|||
|
vms edit usage ----> |advanc|backup |delchar| right |
|
|||
|
apple key ----> | H | J | K | L |
|
|||
|
vms edit usage ----> |bottom| top |undelch|specins|
|
|||
|
------- ------- ------- -------
|
|||
|
1 2 3 <-
|
|||
|
------- ------- ------- -------
|
|||
|
| word | eol | cut | left |
|
|||
|
| N | M | , | . |
|
|||
|
|chgcase|deleol | paste |append |
|
|||
|
------- ------- ------- -------
|
|||
|
0
|
|||
|
---------------------------------------
|
|||
|
bline |
|
|||
|
space bar |
|
|||
|
openline |
|
|||
|
---------------------------------------
|
|||
|
|
|||
|
Figure 1-3: VT52 Keypad on an Apple Keyboard
|
|||
|
|
|||
|
-------------------------------------------------------------------------------
|
|||
|
|
|||
|
KEYBOARD II+ or //e keyboard.
|
|||
|
|
|||
|
LOCAL-ECHO Full or half duplex switch.
|
|||
|
|
|||
|
LOG Are we logging connect data?
|
|||
|
|
|||
|
PARITY Character parity to use
|
|||
|
|
|||
|
PREFIX Which default prefix to use with PRODOS? Alias PWD.
|
|||
|
|
|||
|
PRINTER Should the printer be used for the display?
|
|||
|
|
|||
|
PROTOCOL Which protocol is to be used for file transfer.
|
|||
|
|
|||
|
RECEIVE Various parameters for receiving files
|
|||
|
|
|||
|
SEND Various parameters for sending files
|
|||
|
1.5.16. the SHOW command Page 21
|
|||
|
|
|||
|
-------------------------------------------------------------------------------
|
|||
|
SLOT Which slot # is communication device in?
|
|||
|
|
|||
|
SWAP Swap the del and backspace keys?
|
|||
|
|
|||
|
TIMER Is the receive timeout on or off?
|
|||
|
|
|||
|
TIMING Count for timing loop
|
|||
|
|
|||
|
TERMINAL Which terminal (if any) should Kermit emulate?
|
|||
|
|
|||
|
VOLUMES Show the online volumes.
|
|||
|
|
|||
|
The above options are analogous to the equivalent SET commands.
|
|||
|
|
|||
|
|
|||
|
1.5.17. The STATUS Command
|
|||
|
|
|||
|
Syntax: STATUS
|
|||
|
|
|||
|
Give statistics about the most recent file transfer. This includes information
|
|||
|
such as number of characters sent/received, number of data characters
|
|||
|
sent/received, and last error encountered.
|
|||
|
|
|||
|
|
|||
|
1.5.18. The TAKE Command
|
|||
|
|
|||
|
Syntax: TAKE filespec
|
|||
|
|
|||
|
The TAKE commands tells kermit-65 to execute commands from the specified file
|
|||
|
similarly to the KERMIT.INIT file. See discussion on KERMIT.INIT above for
|
|||
|
details.
|
|||
|
|
|||
|
|
|||
|
1.5.19. The TYPE Command
|
|||
|
|
|||
|
Syntax: TYPE filespec
|
|||
|
|
|||
|
The TYPE commands tells kermit-65 to print to the screen from the specified
|
|||
|
file. Text files only and works best with 80 characters per line or less.
|
|||
|
|
|||
|
|
|||
|
1.5.20. The UNLOCK Command
|
|||
|
|
|||
|
Syntax: UNLOCK filespec
|
|||
|
|
|||
|
UNLOCK will unlock the given filespec on the default drive.
|
|||
|
|
|||
|
|
|||
|
1.6. Installation
|
|||
|
1.6.1. Standard Installation Page 22
|
|||
|
|
|||
|
-------------------------------------------------------------------------------
|
|||
|
1.6.1. Standard Installation
|
|||
|
|
|||
|
To bootstrap Kermit to prodos, get the file APPPRO.BNS on a apple diskette.
|
|||
|
Use binscii to convert this file into a shrinkit file. Use shrinkit to extract
|
|||
|
the files onto a prodos diskette with your own prodos and basic.system files.
|
|||
|
Then "-read.me" for further instructions. Thanks to Les Ferch for this install
|
|||
|
system & thanks to Bird for his "birds better bye" in the menu.system. For dos
|
|||
|
3.3 get the files APP387.[1-2] on a master diskette then read the first of
|
|||
|
app387.1 for further instructions. Thanks to Alan Kalker for this install sys-
|
|||
|
tem.
|
|||
|
|
|||
|
The kermit binaries will run on either system. Simply use the PRODOS conver-
|
|||
|
sion routines (if they have them fixed, better to use copy II+ or whatever) to
|
|||
|
move kermit, kermit.help and kermit.init files. If you want other options as a
|
|||
|
regular thing then you can change file kermit.init with your favorite editor.
|
|||
|
|
|||
|
|
|||
|
Files Supplied for Kermit-65
|
|||
|
|
|||
|
The following files should be supplied on the columbia distribution tape:
|
|||
|
|
|||
|
APP387.1 Install system for dos 3.3 (1 of 2)
|
|||
|
APP387.2 Install system for dos 3.3 (2 of 2)
|
|||
|
APPAAA.HLP List of files (like this one)
|
|||
|
APPAAA.NEW Whats new in this release
|
|||
|
APPACC.HEX Apple com card hex
|
|||
|
APPACC.M65 Apple com card source
|
|||
|
APPACE.HEX Ace dual card hex
|
|||
|
APPACE.M65 Ace dual card source
|
|||
|
APPBEL.BNS Apple gs alternate bell
|
|||
|
APPCAT.HEX Apple cat hex
|
|||
|
APPCAT.M65 Apple cat source
|
|||
|
APPCCS.HEX CCS 7710 com card hex
|
|||
|
APPCCS.M65 CCS 7710 com card source
|
|||
|
APPCPS.HEX CPS com card hex
|
|||
|
APPCPS.M65 CPS com card source
|
|||
|
APPGS.HEX GS serial port hex
|
|||
|
APPGS.M65 GS serial port source
|
|||
|
APPHMM.HEX Hayes micro modem card hex
|
|||
|
APPHMM.M65 Hayes micro modem card source
|
|||
|
APPICON.BNS Kermit icon for gs users
|
|||
|
APPLE.DOC Complete documentation (it says here)
|
|||
|
APPLE.MSS Scribe text formatter source for documentation
|
|||
|
APPLE.PS Documentation ready for a postscript printer
|
|||
|
APPMAI.HEX Main kermit pgm hex
|
|||
|
APPMAI.M65 Main kermit pgm source
|
|||
|
APPMAK.UNX Make file for UNIX cross assembly (to assemble Kermit)
|
|||
|
APPMSV.HEX Microtec com card hex
|
|||
|
APPMSV.M65 Microtec com card source
|
|||
|
APPPRO.BNS Install system for prodos
|
|||
|
APPSSC.HEX Super serial com card hex
|
|||
|
APPSSC.M65 Super serial com card source
|
|||
|
APPXAS.1 65c02 cross assembler for UNIX system part 1
|
|||
|
APPXAS.2 65c02 cross assembler for UNIX system part 2
|
|||
|
APPXAS.3 65c02 cross assembler for UNIX system part 3
|
|||
|
1.6.1. Standard Installation Page 23
|
|||
|
|
|||
|
-------------------------------------------------------------------------------
|
|||
|
The syntax of the filenames may vary. On UNIX systems, the filenames will be
|
|||
|
in lowercase. On VM/CMS systems, the period will be replaced by a space. All
|
|||
|
files are text, however the suffix of BNS are binsciied binary files.
|
|||
|
|
|||
|
|
|||
|
1.6.2. Alternate Installation
|
|||
|
|
|||
|
The main problem exists in getting the hex files onto your diskette as a text
|
|||
|
file. But again that is a test of your creativity. If you have a version of
|
|||
|
Kermit running then GET or RECEIVE the file as a text file and you are in busi-
|
|||
|
ness. Since Kermit has been separated into two assemblies then two hex files
|
|||
|
will have to be present on the diskette. Get the main hex file APPMAI.HEX and
|
|||
|
select which com card hex you will need. First "exec APPMAI.HEX". Your Apple
|
|||
|
(or compatible) will go into monitor and show you *'s for several minutes.
|
|||
|
This is the monitor loading the hex into binary. If you get beeps from the
|
|||
|
monitor its probably because you didn't get a good copy of the text file. Now
|
|||
|
EXEC the com card driver you are going to use. You will have to get back into
|
|||
|
basic(aha another test for you, try "3d0G") to do this. And you will see the
|
|||
|
monitor loading the com driver. The order of EXEC's is important. The com card
|
|||
|
should be loaded last. Next get back into basic and do a "bsave
|
|||
|
kermit,A$1000,L$7000". You may have to specify the drive to do this binary
|
|||
|
save, with a slot or drive on the end of the BSAVE (aha another test). You now
|
|||
|
run Kermit via "brun kermit".
|
|||
|
|
|||
|
If you want to customize Kermit for your needs, the recommended method is to
|
|||
|
use file "kermit.init" OR do all your SETs, etc, and then do an "exit". Now
|
|||
|
you should be back in BASIC. At this point do a "bsave name,A$1000,L$7000" and
|
|||
|
when you do a "brun name" all your setups will be remembered. NOTE: If you
|
|||
|
save your current settings via "bsave kermit ..." you may find that moving that
|
|||
|
binary to another type of Apple (e.g. from a //e to an //e+) will not be pos-
|
|||
|
sible. So make sure you keep the original binary to move between machine
|
|||
|
types.
|
|||
|
|
|||
|
Since the org is now $1000 if you have been using Kermit and then went back to
|
|||
|
basic for some trivial thing a "CALL 4096" should start up Kermit without
|
|||
|
having to reload it.
|
|||
|
|
|||
|
In summary:
|
|||
|
|
|||
|
1. EXEC APPMAI.HEX
|
|||
|
|
|||
|
2. Choose the com card driver you will use. For example APPSSC.HEX.
|
|||
|
|
|||
|
3. 3D0G
|
|||
|
|
|||
|
4. EXEC APPSSC.HEX
|
|||
|
|
|||
|
5. BSAVE kermit,A$1000,L$7000
|
|||
|
|
|||
|
And you should be in business. Remember there is the command HELP and whenever
|
|||
|
you are into a command a "?" will give you the possible options available at
|
|||
|
that point of a command. The escape key will finish typing an option if it is
|
|||
|
possible. The syntax of all the commands and options only requires enough
|
|||
|
characters to make that command or option unique.
|
|||
|
1.7. Problems Page 24
|
|||
|
|
|||
|
-------------------------------------------------------------------------------
|
|||
|
1.7. Problems
|
|||
|
|
|||
|
|
|||
|
Installation
|
|||
|
|
|||
|
NOTE: When using the super serial driver you must have the cards sw6-2 on.
|
|||
|
This allows the card to use interrupts. The rest of the switches are set from
|
|||
|
within Kermit. It appears that you can run your Apple 2 with sw6-2 on and in
|
|||
|
99% of the cases will cause no problems. This is because the OS runs with in-
|
|||
|
terrupts locked out ("sei" in assembly language) and the program must ex-
|
|||
|
plicitly give a "cli" for interrupts to work (the super serial driver does).
|
|||
|
|
|||
|
The AE Serial Pro must have switches 1 & 3 open and 2 & 4 closed. This appears
|
|||
|
to disagree with the documentation since those settings turn off irq interrupts
|
|||
|
and turn on nmi interrupts. So watch this it may get corrected in later ver-
|
|||
|
sions.
|
|||
|
|
|||
|
The Microtek driver is a super serial look alike which does not run with inter-
|
|||
|
rupts. If you have trouble with the super serial driver you might try the MSV
|
|||
|
driver. For you people with the MSV-622c card, you might try running a jumper
|
|||
|
from the UART 6551 pin 26 to the card edge pin 30. This will enable interrupts
|
|||
|
just like the SSC sw2-6, and then you can use the super serial driver.
|
|||
|
|
|||
|
The Prometheus card will work with the Apple com driver. However you will have
|
|||
|
to set the switches on the card for baud etc. Evidently this card can not be
|
|||
|
programmed by the software. If that is not true then here is an opportunity for
|
|||
|
you to write a better driver. If you do please pass it on for other Prometheus
|
|||
|
users.
|
|||
|
|
|||
|
The apple cat uses the modem's firmware for dialing. Type ";" for a 2 second
|
|||
|
delay, or any control character to abort the dialing. ROM is not needed if ex-
|
|||
|
ternal phone is used for dialing. Supports 110-600 baud, and 45.5 baud (use
|
|||
|
kermit-65's 135 baud setting). Supports 1200 baud with apple-cat 212 card, in
|
|||
|
slot-saver configuration. Allows use of external serial port by typing "X" as
|
|||
|
dialing string. Thanks to Dick Wotiz for this driver. Reports have it that
|
|||
|
the Apple Cat will also work with the Apple com driver.
|
|||
|
|
|||
|
Some have noted the Apple com card must be initialized via the "IN#x" before
|
|||
|
starting Kermit. Ike has now updated this driver and the initialization is now
|
|||
|
done within the Apple com driver. Thanks Ike.
|
|||
|
|
|||
|
|
|||
|
Usage
|
|||
|
|
|||
|
There is the command HELP and whenever you are into a command a "?" will give
|
|||
|
you the possible options available at that point of a command. The escape key
|
|||
|
will finish typing an option if it is possible. The syntax of all the commands
|
|||
|
and options only requires enough characters to make that command or option
|
|||
|
unique.
|
|||
|
|
|||
|
When using flow control you may appear to hang. Type a ^Q (Control-Q) and that
|
|||
|
may free you up.
|
|||
|
|
|||
|
Remember when you use your printer there are a lot of variables here. What was
|
|||
|
being sent to the screen now is being sent to your printer. If you were
|
|||
|
emulating the VT52 your printer may not know how to handle the escape se-
|
|||
|
1.7. Problems Page 25
|
|||
|
|
|||
|
-------------------------------------------------------------------------------
|
|||
|
quences, tabs etc. It may be you can tell the host you are a tty or some such
|
|||
|
device that will give carriage returns etc that your printer can handle. Some
|
|||
|
printers may require the flow control and delay to get readable printing.
|
|||
|
|
|||
|
|
|||
|
File Transfer Errors
|
|||
|
|
|||
|
"File Transfer Errors," was added to this document by the Southeast Regional
|
|||
|
Data Center (SERDAC), '88 July 17.
|
|||
|
|
|||
|
In spite of the fact that successful Kermit file transfers are almost always
|
|||
|
error free, there are a number of circumstances which can corrupt, prevent, or
|
|||
|
interrupt/abort a transfer. In the case of an actual abort, there may be data
|
|||
|
loss or corruption, and an incomplete file may not have a correct end-of-file.
|
|||
|
These circumstances may be roughly divided into two groups: (1) problems due to
|
|||
|
file or disk errors, and (2) problems due to delays or failures in Kermit
|
|||
|
packet exchange.
|
|||
|
|
|||
|
Common problems in category (1) include the following:
|
|||
|
|
|||
|
(a) improper file specification (b) wrong file type (c) protected file(s) (d)
|
|||
|
disk problems
|
|||
|
|
|||
|
(1a) problems can occur when you specify, to either the Apple or host Kermit, a
|
|||
|
non-existent or improperly located file. Misspelling and/or incorrect
|
|||
|
(sub)directory specification are popular villains! If you are commanding ei-
|
|||
|
ther Kermit to SEND a file (SEND filespec), the problem will be fairly obvious.
|
|||
|
On the Apple II, you'll see an error message like: "FILE NOT FOUND." On the
|
|||
|
VAX/VMS 8800, for example, you'll see the message: "%KERMIT32 ....., file not
|
|||
|
found for 'filespec'". In either case, the transfer will not take place. If
|
|||
|
you're using Kermit-65 to GET (GET filespec) files from the VAX/VMS Kermit
|
|||
|
server, and the requested file does not exist in your VAX default directory,
|
|||
|
you should see a Kermit-32 generated "REMOTE MESSAGE %KERMIT32 ....., file not
|
|||
|
found for 'filespec'" appear in the transmission status display, and then the
|
|||
|
Kermit-65 message "CANNOT RECEIVE FILE-HEAD". Transfer of the questionable
|
|||
|
file will not take place.
|
|||
|
|
|||
|
(1b) problems can occur if you forget to specify, to either the Apple or host
|
|||
|
Kermit, what type of file you wish to transfer. If you are using Kermit-65 to
|
|||
|
send files to a host, you are fairly well protected against this error. If you
|
|||
|
attempt to send a file whose CATALOG type does not match the FILE-TYPE
|
|||
|
parameter setting, you will receive a "INCOMPATIBLE FILE FORMAT" error message,
|
|||
|
or something similar, and the transfer will not take place. If, however, you
|
|||
|
are receiving (via RECEIVE or GET) a file whose native type does not match the
|
|||
|
FILE-TYPE setting, the file WILL be received. It will be mis-typed (according
|
|||
|
to the FILE-TYPE setting), though, and any later attempt to use it on the Apple
|
|||
|
will probably be unsuccessful.
|
|||
|
|
|||
|
The same sort of circumstances generally apply for a host Kermit. With the VAX
|
|||
|
8800, for example, when Kermit-32 is sending a file, you generally need not
|
|||
|
worry about setting its file type. When Kermit-32 is receiving a file,
|
|||
|
however, properly setting its file type is very critical. If you wish to put
|
|||
|
Kermit-32 in server mode to receive multiple files, set the file type BEFORE
|
|||
|
using the SERVER command, and make sure that you only send it the appropriate
|
|||
|
type of files during that server session. You cannot switch file types DURING
|
|||
|
a given server session!
|
|||
|
1.7. Problems Page 26
|
|||
|
|
|||
|
-------------------------------------------------------------------------------
|
|||
|
NOTE: One other way you can get into trouble with "wrong file type" is by try-
|
|||
|
ing to send a file which is mixed-- mostly text, but with some embedded charac-
|
|||
|
ters that are not true 7-bit ASCII (i.e., ASCII codes 00-127). This often hap-
|
|||
|
pens when you are trying to transfer a file which is word processor output.
|
|||
|
Most word processing software claims to allow you to output a true ASCII or
|
|||
|
text file, but in some cases it really does not, and in others the choice of
|
|||
|
output options is confusing. If you have set up either Kermit program to
|
|||
|
send/receive a text file, and you try to transfer illegal ASCII characters
|
|||
|
(codes 128-256), your transfer may "hang" or be aborted. At the very best, if
|
|||
|
the transfer "works," the suspect characters will later probably be meaningless
|
|||
|
or confusing to the destination machine.
|
|||
|
|
|||
|
(1c) problems can occur in two ways on the Apple II. If your default drive
|
|||
|
disk is write protected, and you attempt to receive a file, you will receive a
|
|||
|
"WRITE PROTECTED" error message, and no transfer will take place. If you have
|
|||
|
set Kermit-65's FILE-WARNING parameter to OFF (normally NOT a good idea), and
|
|||
|
you attempt to receive a file that already exists in a locked state on your
|
|||
|
default diskette, you will receive a "FILE LOCKED" error message (if the file
|
|||
|
is very short, you may have to check with a Kermit-65 STATUS command to see the
|
|||
|
error message), and no transfer will take place.
|
|||
|
|
|||
|
Similar problems may occur on the host because of various file protection
|
|||
|
schemes. On the VAX/VMS 8800, for example, Kermit-32 cannot send out a file
|
|||
|
that you are unauthorized to read. And, it cannot receive a file unless you
|
|||
|
are authorized to write to that filename and its (sub)directory. If you use
|
|||
|
Kermit-32 to attempt to SEND (SEND filespec) a protected file, you should see a
|
|||
|
"%KERMIT32 ....., insufficient privilege or file protection violation for
|
|||
|
'filespec'" error message, and no transfer will take place. If you have
|
|||
|
Kermit-32 in server mode, and you are trying to GET a protected file from it,
|
|||
|
or you are trying to SEND it a file whose space is protected, you should see a
|
|||
|
similar Kermit-32 generated REMOTE MESSAGE appear in the transmission status
|
|||
|
display, and then, on GET, the Kermit-65 message "CANNOT RECEIVE FILE-HEAD".
|
|||
|
Transfer of the protected file will not take place.
|
|||
|
|
|||
|
(1d) problems are most likely to occur because of Apple II diskette or drive
|
|||
|
problems. The following conditions will generate "DISK I/O" or "I/O ERROR"
|
|||
|
messages when Kermit-65 transfer commands are entered: bad diskette in default
|
|||
|
drive, no diskette in default drive, default drive door open, and/or unINITial-
|
|||
|
ized disk in default drive.
|
|||
|
|
|||
|
If any of those errors are detected before the attempted transmission of a
|
|||
|
given file, the transfer of that file will not begin. If any are detected
|
|||
|
DURING a file transmission, the file transfer will likely abort; at best trans-
|
|||
|
mitted data will be incomplete. Data which does reach the destination end of an
|
|||
|
aborted transfer should be considered very suspect; the disk problem should be
|
|||
|
corrected and the transfer should be repeated! (The best chance you have for
|
|||
|
salvaging text file data in an abort is if the file destination is the host
|
|||
|
machine and you have told its Kermit to save incomplete files, e.g., on the
|
|||
|
VAX-8800, you need to SET INCOMPLETE KEEP).
|
|||
|
|
|||
|
One other Apple II disk problem can be encountered while you are using
|
|||
|
Kermit-65 to receive files. If you exceed the storage capacity of your diskette
|
|||
|
during a RECEIVE or a GET, you should see a "DISK FULL" error message. Data
|
|||
|
that has been received up to the point of the overflow will be automatically
|
|||
|
DELETEd. Make CERTAIN that you do not try to receive any more files until you
|
|||
|
have DELETEd some files from the problem diskette, or until you have replaced
|
|||
|
1.7. Problems Page 27
|
|||
|
|
|||
|
-------------------------------------------------------------------------------
|
|||
|
it with one that has adequate capacity to receive the complete file. NOTE: See
|
|||
|
Section 1.5.4.
|
|||
|
|
|||
|
It is less likely that (1d) problems would occur because of host machine disk
|
|||
|
problems. The most likely circumstance you might encounter on the VAX/VMS
|
|||
|
8800, for example, would be in receiving a large file and, in the process, ex-
|
|||
|
ceeding your VAX disk quota. In such a case, you should see an appropriate
|
|||
|
Kermit-32 generated REMOTE MESSAGE appear within the Kermit-65 transmission
|
|||
|
status display. If this happens, delete some files from your VAX
|
|||
|
(sub)directories, and/or have your VAX disk quota increased BEFORE you try the
|
|||
|
transfer again. If you have issued a SET INCOMPLETE KEEP command to Kermit-32,
|
|||
|
there may be some chance of salvaging text file data that arrived before the
|
|||
|
disk quota overage, but the best thing you can do is to repeat the transfer!
|
|||
|
|
|||
|
As a general rule, if some disk or file error prevents a transfer from begin-
|
|||
|
ning, to get it to "go," you will need to correct the error and repeat all the
|
|||
|
steps that preceded it.
|
|||
|
|
|||
|
If you are still commanding the host Kermit, and you see an error message, you
|
|||
|
will have to get the host Kermit's prompt back and give it an acceptable com-
|
|||
|
mand. If you have commanded the host Kermit to SEND or RECEIVE, and are back
|
|||
|
commanding Kermit-65 when you notice the error, you will have to correct the
|
|||
|
problem, CONNECT back to the host, get the host Kermit prompt (with the VAX/VMS
|
|||
|
8800, try typing RETURN or CTRL-Y), and repeat the SEND or RECEIVE command, be-
|
|||
|
fore returning back to Kermit-65 to command it again.
|
|||
|
|
|||
|
If you have placed the host Kermit in server mode, and are giving Kermit-65
|
|||
|
commands when you notice an Apple disk/file error prevents a file transfer from
|
|||
|
starting, chances are good that you won't have to CONNECT back to the host. It
|
|||
|
is also important to note that within a single server session, when you are
|
|||
|
transferring multiple files, all files transferred PRECEDING an error (or
|
|||
|
abort) are probably good. To repeat the transfer, correct the error, and give
|
|||
|
Kermit-65 the appropriate command to transfer the file that messed up. The
|
|||
|
first time you do it, you may get back a message like "REMOTE MESSAGE
|
|||
|
%KERMIT-32..... protocol error" This is just the host server trying to get back
|
|||
|
"on track" after the error. When the Kermit-65> prompt returns, enter the
|
|||
|
transfer command again, and it will probably be accepted.
|
|||
|
|
|||
|
If the second attempt should fail, wait for the Kermit-65> prompt, enter:
|
|||
|
FINISH, wait for the prompt again, and enter: CONNECT. If you do not see the
|
|||
|
host operating system prompt ($ on the VAX 8800), type a few RETURNs (or on the
|
|||
|
VAX/VMS a CTRL-Y). Re-invoke the host Kermit and put it back in server mode.
|
|||
|
|
|||
|
If disk or file errors prevent a transfer from completing, recovery will depend
|
|||
|
on the error, whether you had the host Kermit in server mode or not, and on
|
|||
|
your desire for accuracy.
|
|||
|
|
|||
|
Some disk/file error aborts are "fatal" (e.g., Apple DISK FULL, and uploading
|
|||
|
to the VAX 8800 w/o having commanded Kermit-32 to SET INCOMPLETE KEEP). The
|
|||
|
destination file will be destroyed. The transfer of the file will have to be
|
|||
|
repeated again from the beginning. Again, unless you have set the host Kermit
|
|||
|
for server mode, you will have to CONNECT back, get the host Kermit prompt, and
|
|||
|
re-command it. If you were in a server session, though, you can probably
|
|||
|
repeat the transfer of the interrupted file without going back to the host (see
|
|||
|
recovery procedures above).
|
|||
|
|
|||
|
Other disk/file errors that interrupt/abort a transfer may leave salvageable
|
|||
|
1.7. Problems Page 28
|
|||
|
|
|||
|
-------------------------------------------------------------------------------
|
|||
|
text data at the transfer destination. The best policy, though, is to repeat
|
|||
|
the transfer of the incomplete file (see recovery procedures above).
|
|||
|
|
|||
|
Common problems in category (2) include the following:
|
|||
|
|
|||
|
(a) bad parity
|
|||
|
|
|||
|
(b) noisy communications line
|
|||
|
|
|||
|
(c) timeout due to delays, "disaster," etc.
|
|||
|
|
|||
|
(d) Kermit-program incompatibility
|
|||
|
|
|||
|
(e) user error
|
|||
|
|
|||
|
(2a)
|
|||
|
|
|||
|
Parity settings are very critical to correct transfers. If you do not inform
|
|||
|
Kermit-65 of the correct parity being used by the remote host machine or the
|
|||
|
communications path to it, "checksum" error checking calculations will be
|
|||
|
wrong, and packets will be consistently rejected when they arrive at their des-
|
|||
|
tination. In particular, most binary file Kermit transfers won't get very far
|
|||
|
if parity is not set correctly.
|
|||
|
|
|||
|
[NOTE: If you want to do a binary file transfer (Apple binary or BASIC files)
|
|||
|
via a FIRN Network connection to the SERDAC VAX/VMS 8800, you must SET PARITY
|
|||
|
SPACE before the transfer is initiated; that will insure that eight-bit quoting
|
|||
|
is used. If you dial directly into the VAX/VMS 8800, SET PARITY NONE;
|
|||
|
eight-bit quoting (which is less efficient) is not required].
|
|||
|
|
|||
|
(2b)
|
|||
|
|
|||
|
Line noise can be the root cause for a variety of file transfer problems. The
|
|||
|
beauty of a "packetized protocol transfer" scheme like Kermit is that or-
|
|||
|
dinarily, the scheme will overcome an occasional burst of line noise. A packet
|
|||
|
which arrives out of sequence, or which does not have the same checksum "bit
|
|||
|
count" as when it was sent, will get retransmitted, and the noise induced data
|
|||
|
error will correct itself.
|
|||
|
|
|||
|
Sometimes, however, bad line noise can outwit even the cleverest aspects of
|
|||
|
Kermit. There are some times where severe noise can corrupt the "checksum" er-
|
|||
|
ror checking and lead to undetected transmission of a bad character (assuming
|
|||
|
that the severe line noise exists, chances of this happening for one character
|
|||
|
are, for Kermit-65 error checking, less than two percent).
|
|||
|
|
|||
|
If line noise is bad enough and persistent enough, it is also a cause for
|
|||
|
several problems that will eventually "hang" or totally confuse and abort a
|
|||
|
transfer:
|
|||
|
|
|||
|
Each transfer is preceded by the Kermit-to-Kermit exchange of several short
|
|||
|
"initialization packets. These tell the controlling programs critical things
|
|||
|
to expect about the upcoming transfer. If line noise prevents the packets from
|
|||
|
arriving, or scrambles them up, the transfer probably can't get started cor-
|
|||
|
rectly.
|
|||
|
|
|||
|
One of the biggest vulnerabilities of the Kermit scheme is that each arriving
|
|||
|
1.7. Problems Page 29
|
|||
|
|
|||
|
-------------------------------------------------------------------------------
|
|||
|
packet must be acknowledged (ACK) by the receiver, and that the sender must ac-
|
|||
|
tually receive back the acknowledgement (likewise, if an expected packet does
|
|||
|
not arrive, there often must be a negative acknowledgement (NAK)). Since the
|
|||
|
ACK/NAK packets are very short, they are rather vulnerable to severe noise. If
|
|||
|
too many of them are scrambled or lost, the transfer can get out of synch, and
|
|||
|
the transferring programs can lose track of where they are.
|
|||
|
|
|||
|
One other place Kermit is vulnerable is in the beginning of a data packet. The
|
|||
|
first several bytes of these longer packets are reserved for control infor-
|
|||
|
mation: packet type, byte count, sequence number, etc. If line noise
|
|||
|
repeatedly coincides with the transmission of this control information, it is
|
|||
|
very easy for the transfer to get confused-- particularly if the packet number-
|
|||
|
ing gets garbled.
|
|||
|
|
|||
|
If you detect frequent line noise after you've connected to a host, but before
|
|||
|
you begin transfers (you will probably see extraneous junk characters appearing
|
|||
|
on your screen), you're probably in for trouble. Once transfers actually begin,
|
|||
|
line noise problems are often characterized by incrementing of the RETRY
|
|||
|
counter on the Kermit-65 transmission status display, and/or by long pauses in
|
|||
|
incrementing of the status display byte counter.
|
|||
|
|
|||
|
To minimize line noise, first see if there are any obvious loose connections in
|
|||
|
your equipment (telephone line connection to wall box, telephone line to modem,
|
|||
|
modem cabling to serial connector, or, if appropriate, cabling from hardwire
|
|||
|
port to serial connector). If not, you may want to hang up and redial to get
|
|||
|
another telephone connection (almost every connection is unique, and you may
|
|||
|
get a better one than you had). Many line noise problems will clear up with
|
|||
|
those simple remedies, but some may be beyond your control!
|
|||
|
|
|||
|
If all else fails, you may also try shortening the maximum length of your data
|
|||
|
packets (SET SEND/RECEIVE PACKET-LENGTH) to possibly lessen the effects of per-
|
|||
|
sistent noise.
|
|||
|
|
|||
|
(2c)
|
|||
|
|
|||
|
A Kermit transfer consists of a regular and predictable exchange of initializa-
|
|||
|
tion, data, and, ACK/NAK packets. If something (line noise, busy computer,
|
|||
|
user error, etc.) interrupts or delays this regular exchange, there must be a
|
|||
|
way for a Kermit program on at least one end to figure out something is wrong
|
|||
|
and try to get the packet exchange back on track again.
|
|||
|
|
|||
|
This is usually done with a timer and retry mechanism. If a Kermit does not
|
|||
|
receive an expected packet, within its timer's time limit (a timeout), it will
|
|||
|
resend its last sent packet to try to "wake up" the other Kermit (effectively
|
|||
|
by asking it to send its last packet again). This resending is repeated
|
|||
|
("retried") a number of times before the program assumes it cannot get things
|
|||
|
on track again. Each packet resent by Kermit-65 is counted as a RETRY on its
|
|||
|
transmission status display. If Kermit-65's retry count exceeds 20, it will try
|
|||
|
to issue an error message according to what kind of packet it was waiting for
|
|||
|
and/or it will say MAX RETRY COUNT EXCEEDED. The transfer will then be aborted.
|
|||
|
|
|||
|
Very frequently, timeouts are caused by unexpected delays in the remote com-
|
|||
|
puter, or in the network thru which you connect to it. If you know that the
|
|||
|
host machine or network is very busy, and you repeatedly have aborted transfers
|
|||
|
due to timeouts, you may be able to alleviate the problem by increasing the
|
|||
|
value of the default Kermit-65 receive timeout parameter (SET RECEIVE TIMEOUT).
|
|||
|
1.7. Problems Page 30
|
|||
|
|
|||
|
-------------------------------------------------------------------------------
|
|||
|
Other common ways that Kermit-65 can timeout and abort are: (1) if the host
|
|||
|
machine "goes down" during a transfer, (2) if the telephone, network, or
|
|||
|
hardwire connection is completely broken during a transfer, (3) if you forgot
|
|||
|
to "start up" the host Kermit and give it a transfer command (SEND, RECEIVE, or
|
|||
|
SERVER) BEFORE giving Kermit-65 a transfer command, and (4) if (2a), (2b),
|
|||
|
(2d), or (2e) problems occur and critical initialization packets are never
|
|||
|
received.
|
|||
|
|
|||
|
In cases (1) and (2), you will eventually probably see a CANNOT RECEIVE DATA or
|
|||
|
MAX RETRY COUNT EXCEEDED message from Kermit-65. Cases (3) and (4) may result
|
|||
|
in a CANNOT RECEIVE INIT message.
|
|||
|
|
|||
|
(2d)
|
|||
|
|
|||
|
To do effective Kermit transfers, there must be two Kermit programs working--
|
|||
|
one on either end of a "computer connection." In addition, the two Kermits
|
|||
|
must be able to "talk to" each other in a prescribed, standard way. Although
|
|||
|
there are specific standards for writing all Kermit programs, most of them have
|
|||
|
been written by volunteers and are in the "public domain." The protocol re-
|
|||
|
quirements and resultant programs are generally rather complex, and it is all
|
|||
|
too easy to inadvertently program in a subtle error in a given Kermit version.
|
|||
|
Additionally, there are many "levels of ability" of Kermit programs: some can
|
|||
|
operate in server mode, some cannot. Some can transfer binary files; some can-
|
|||
|
not, etc. Unless the Kermit programs you are using are both error free, and
|
|||
|
both have the same capabilities for the transfers you wish to perform, you are
|
|||
|
in trouble!
|
|||
|
|
|||
|
If there is a systematic "bug" in one of the Kermit programs, or if you are as-
|
|||
|
king one Kermit to do something the other can't do, there will usually be a
|
|||
|
problem with packet exchange; in many cases the requested transfer will not
|
|||
|
even get started. You may see a Kermit-65 error message, on the transmission
|
|||
|
status display, saying that a packet was not received, or a REMOTE MESSAGE say-
|
|||
|
ing a packet was unexpectedly received, or one that the command cannot be ex-
|
|||
|
ecuted by the other Kermit. In some cases, you may see no explanatory error
|
|||
|
messages at all; the transfer will just "hang" and will probably eventually
|
|||
|
"timeout" and abort (MAX RETRY COUNT EXCEEDED).
|
|||
|
|
|||
|
(2e)
|
|||
|
|
|||
|
If you've read about category (1) errors above, you can see that there are a
|
|||
|
variety of things you can do to with files or disks to mess up a Kermit trans-
|
|||
|
fer. You can also wreak havoc by issuing improper or illegal commands to Ker-
|
|||
|
mit programs. Before trying to transfer a lot of files, or trying out a new
|
|||
|
type of transfer, be sure you understand the procedure you need to follow and
|
|||
|
the various Kermit commands that will be involved.
|
|||
|
|
|||
|
New Kermit users often try to command their local Kermit program (e.g.,
|
|||
|
Kermit-65) to send or receive a file, without having first invoked and com-
|
|||
|
manded the host Kermit.
|
|||
|
|
|||
|
Another common error is to issue improper commands to a remote server. For ex-
|
|||
|
ample, when VAX/VMS Kermit-32 is in server mode, and you are requesting files
|
|||
|
from it via Kermit-65 commands, you cannot use a RECEIVE command; you must in-
|
|||
|
stead use GET.
|
|||
|
|
|||
|
As with Kermit program incompatibilities, illegal or inappropriate commands
|
|||
|
1.7. Problems Page 31
|
|||
|
|
|||
|
-------------------------------------------------------------------------------
|
|||
|
will often cause a problem with packet exchange; in many cases the requested
|
|||
|
transfer or action will not even get started. You may see a Kermit-65 error
|
|||
|
message, on the transmission status display, saying a packet was not received,
|
|||
|
a REMOTE MESSAGE that a packet was unexpectedly received, or one that the com-
|
|||
|
mand cannot be executed by the other Kermit. In some cases, you may see no ex-
|
|||
|
planatory error messages at all; the transfer will just "hang" and will prob-
|
|||
|
ably eventually "timeout" and abort (MAX RETRY COUNT EXCEEDED).
|
|||
|
|
|||
|
Except for the fact that you will probably never note a category (2) "packet
|
|||
|
exchange" error while you are "talking to" the remote system or commanding its
|
|||
|
Kermit, and that the remedies you must employ to correct the errors will be
|
|||
|
different, recovery procedures to get your file transferred correctly will be
|
|||
|
much the same as those we described at the end of the discussion on category
|
|||
|
(1) "disk/file" errors. Make sure to read that discussion for more details
|
|||
|
than we have included below.
|
|||
|
|
|||
|
In short, if an error prevents a given transfer from actually beginning, you
|
|||
|
will need to correct the error and repeat all the steps that preceded it. This
|
|||
|
will be more difficult if you are transferring only one file-- having commanded
|
|||
|
the remote Kermit to SEND or RECEIVE. If you have placed the remote Kermit in
|
|||
|
server mode, and an error prevents the transfer of one file, all files trans-
|
|||
|
ferred up to that point are probably OK, and you can usually correct the
|
|||
|
problem, and get a transfer started again without having to reCONNECT back to
|
|||
|
the host.
|
|||
|
|
|||
|
If you are transferring a text file, and an abort occurs in mid-transfer, some
|
|||
|
data may be salvageable in the destination file, but the best rule with any
|
|||
|
type of file is to repeat the transfer, in which case the recovery procedures
|
|||
|
in the last paragraph apply.
|
|||
|
|
|||
|
|
|||
|
1.8. Customizing Kermit-65
|
|||
|
|
|||
|
The source code to Kermit-65 is in 6502 Assembler. It has been formatted for a
|
|||
|
cross assembler which runs on a unix 2's complement machine. Files appxas.1
|
|||
|
thru appxas.3 are the cross assembler for UNIX. Get the files on a UNIX system
|
|||
|
and then look at the documentation at the start. They will easily make you a
|
|||
|
xasm for Kermit. The file appmak.unx is the makefile to use with the xasm to
|
|||
|
reassemble all of Kermit's parts.
|
|||
|
|
|||
|
Kermit-65 has been separated into two assemblies, the main routines and the com
|
|||
|
card routines for the devices shown in Table 1-1. A vector has been set up in
|
|||
|
low memory for the two assemblies to communicate. Look at the working com
|
|||
|
drivers for tips on how to incorporate your version of the com driver. some
|
|||
|
things to note: It is probably best to buffer the input from the remote and to
|
|||
|
get input characters from the remote every chance you get. Note the Microtek
|
|||
|
SV-622 driver, whenever the input is checked for a character and has a charac-
|
|||
|
ter the character is put into the buffer immediately. Also when the output is
|
|||
|
checked for ready to output, if the card is not ready to output then it is
|
|||
|
checked for a character to input. All this should help prevent losing charac-
|
|||
|
ters.
|
|||
|
|
|||
|
All the routines should return with the "rts" instruction. Routines which can
|
|||
|
return a true/false indication should return with the P reg zero flag set ap-
|
|||
|
propriately. That is: a "beq" instruction will branch on a false indication
|
|||
|
and the "bne" will branch on a true indication. The com driver should start
|
|||
|
Apple II Kermit Page 32
|
|||
|
|
|||
|
-------------------------------------------------------------------------------
|
|||
|
its routines above the main routines and tell where the end of the com driver
|
|||
|
is via location $100c. If your com driver gets too large then the bsave ad-
|
|||
|
dress would have to be changed when you are saving the binary to diskette.
|
|||
|
Apple II Kermit Page 33
|
|||
|
|
|||
|
-------------------------------------------------------------------------------
|
|||
|
address size module function
|
|||
|
1003 byte main This is the baud rate index as follows:
|
|||
|
3 - 110
|
|||
|
4 - 135.4
|
|||
|
5 - 150
|
|||
|
6 - 300
|
|||
|
7 - 600
|
|||
|
8 - 1200
|
|||
|
9 - 1800
|
|||
|
10 - 2400
|
|||
|
11 - 3600
|
|||
|
12 - 4800
|
|||
|
13 - 7200
|
|||
|
14 - 9600
|
|||
|
15 - 19200
|
|||
|
eg:if index is 6 then line should be 300 baud
|
|||
|
1004 byte unused
|
|||
|
1005 word driver Address of a null terminated string.
|
|||
|
address should point to a capitalized
|
|||
|
string of the drivers id
|
|||
|
1007 byte main Com slot in the form $n0 where n is slot #.
|
|||
|
1008 byte main Force initialization flag when 0.
|
|||
|
init routine should always initialize when
|
|||
|
this flag is 0 & then set flag non-zero.
|
|||
|
1009 word main Address of the end of Kermit main routine.
|
|||
|
100b byte main Flow control is on when high bit is set.
|
|||
|
100c word driver Address of the end of the com driver.
|
|||
|
100e byte driver Time constant-used with the 1040 rtn.
|
|||
|
100f word driver Address of the end of screen save memory(//e).
|
|||
|
1011 byte driver Screen saved flag.
|
|||
|
1020 3 bytes driver Jump to initialization routine.
|
|||
|
1023 3 bytes driver Jump to command routine. A reg has command
|
|||
|
0 - hang up the line
|
|||
|
$0b - set baud rate
|
|||
|
$0c - set break on the line
|
|||
|
$91 - do xon on the line
|
|||
|
$93 - do xoff on the line
|
|||
|
routine returns false (P reg zero flag) if unable
|
|||
|
1026 3 bytes driver Jump to check for input from the line.
|
|||
|
routine returns false (P reg zero flag)
|
|||
|
if no character on line
|
|||
|
1029 3 bytes driver Jump to get input character from line.
|
|||
|
routine returns character in A reg
|
|||
|
102c 3 bytes driver Jump to put character in A reg on line.
|
|||
|
102f 3 bytes driver Jump to reset com driver.
|
|||
|
1040 3 bytes main Jump to Apple ROM wait rtn. microsecs delay
|
|||
|
=1/2(26+27A+5A*A) where A is the accumulator
|
|||
|
1043 3 bytes main Jump to routine to print null-terminated string.
|
|||
|
X reg contains least significant byte of address
|
|||
|
Y reg contains most significant byte of address
|
|||
|
routine does not issue a carriage return.
|
|||
|
1046 3 bytes main Jump to routine to read the keyboard.
|
|||
|
A reg contains the character read
|
|||
|
1049 3 bytes main Jump to routine to print carriage rtn & line feed.
|
|||
|
104f 3 bytes main Jump to routine to set characters parity.
|
|||
|
A reg contains the character before and after.
|
|||
|
|
|||
|
Table 1-4: Communications card vector area
|
|||
|
Apple II Kermit Page 34
|
|||
|
|
|||
|
-------------------------------------------------------------------------------
|
|||
|
-------------------------------------------------------------------------------
|
|||
|
|
|||
|
|
|||
|
|
|||
|
List of most of the prodos file types.
|
|||
|
|
|||
|
Num Name OS Definition
|
|||
|
$00 typeless
|
|||
|
$01 BAD both BAD blocks file
|
|||
|
$02 PCD SOS Pascal CoDe file
|
|||
|
$03 PTX SOS Pascal TeXt file
|
|||
|
$04 TXT both ASCII text file
|
|||
|
$05 PDA SOS Pascal DAta file
|
|||
|
$06 BIN both BINary file
|
|||
|
$07 CHR SOS CHaRacter font file
|
|||
|
$08 PIC both PICture file
|
|||
|
$09 BA3 SOS Business BASIC (SOS) program file
|
|||
|
$0A DA3 SOS Business BASIC (SOS) data file
|
|||
|
$0B WPD SOS Word Processor Document
|
|||
|
$0C SOS SOS system file
|
|||
|
$0D SOS SOS reserved file type
|
|||
|
$0E SOS SOS reserved file type
|
|||
|
$0F DIR Both subDIRectory file
|
|||
|
$10 RPD SOS RPS data file
|
|||
|
$11 RPI SOS RPS index file
|
|||
|
$12 SOS Applefile diskcard file
|
|||
|
$13 SOS Applefile model file
|
|||
|
$14 SOS Applefile report format file
|
|||
|
$15 SOS Screen library file
|
|||
|
$16 SOS SOS reserved file type
|
|||
|
$17 SOS SOS reserved file type
|
|||
|
$18 SOS SOS reserved file type
|
|||
|
$19 ADB ProDOS AppleWorks Database file
|
|||
|
$1A AWP ProDOS AppleWorks WordProcessing file
|
|||
|
$1B ASP ProDOS AppleWorks Spreadsheet file
|
|||
|
$1C-$5F Reserved
|
|||
|
$60-$6F ProDOS PC Transporter (Applied Engineering)
|
|||
|
$60 PRE ProDOS ProDOS preboot driver
|
|||
|
$61-$6A ProDOS Reserved
|
|||
|
$6B NIO ProDOS PC Transporter BIOS and drivers
|
|||
|
$6C ProDOS Reserved
|
|||
|
$6D DVR ProDOS PC Transporter device drivers
|
|||
|
$6E ProDOS Reserved
|
|||
|
$6F HDV ProDOS MSDOS HardDisk Volume
|
|||
|
$70-$9F Reserved
|
|||
|
$A0 WPF ProDOS WordPerfect document file
|
|||
|
$A1 MAC ProDOS Macrofile
|
|||
|
$A2 HLP ProDOS Help File
|
|||
|
$A3 DAT ProDOS Data File
|
|||
|
$A4 Reserved
|
|||
|
$A5 LEX ProDOS Spelling dictionary
|
|||
|
$A6-$AB Reserved
|
|||
|
|
|||
|
Table 1-5: PRODOS file types, part 1
|
|||
|
|
|||
|
-------------------------------------------------------------------------------
|
|||
|
Apple II Kermit Page 35
|
|||
|
|
|||
|
-------------------------------------------------------------------------------
|
|||
|
-------------------------------------------------------------------------------
|
|||
|
|
|||
|
|
|||
|
|
|||
|
Num Name OS Definition
|
|||
|
$AC ARC ProDOS General Purpose Archive file
|
|||
|
$AD-$AF Reserved
|
|||
|
$B0 SRC ProDOS ORCA/M & APW source file
|
|||
|
$B1 OBJ ProDOS ORCA/M & APW object file
|
|||
|
$B2 LIB ProDOS ORCA/M & APW library file
|
|||
|
$B3 S16 ProDOS ProDOS16 system file
|
|||
|
$B4 RTL ProDOS ProDOS16 runtime library
|
|||
|
$B5 EXE ProDOS APW shell command file
|
|||
|
$B6 STR ProDOS ProDOS16 startup init file
|
|||
|
$B7 TSF ProDOS ProDOS16 temporary init file
|
|||
|
$B8 NDA ProDOS ProDOS16 new desk accessory
|
|||
|
$B9 CDA ProDOS ProDOS16 classic desk accessory
|
|||
|
$BA TOL ProDOS ProDOS16 toolset file
|
|||
|
$BB DRV ProDOS ProDOS16 driver file
|
|||
|
$BC-$BE Reserved for ProDOS16 load file
|
|||
|
$BF DOC ProDOS document file
|
|||
|
$C0 PNT ProDOS //gs paint document
|
|||
|
$C1 SCR ProDOS //gs screen file
|
|||
|
$C2-$C7 Reserved
|
|||
|
$C8 FNT ProDOS Printer font file
|
|||
|
$C9 ProDOS finder files
|
|||
|
$CA ProDOS finder icons
|
|||
|
$CB-$DF Reserved
|
|||
|
$E0 LBR ProDOS Apple archive library file
|
|||
|
$E1 Unknown (unlisted)
|
|||
|
$E2 ATI ProDOS Appletalk init file
|
|||
|
$E3-$EE Reserved
|
|||
|
$EF PAS ProDOS ProDOS Pascal file
|
|||
|
$F0 CMD ProDOS added command file
|
|||
|
$F1-$F8 ProDOS User defined filetypes
|
|||
|
(popular ones include:)
|
|||
|
$F1 OVL ProDOS Overlay file
|
|||
|
$F2 DBF ProDOS Database file
|
|||
|
$F3 PAD ProDOS MouseWrite file
|
|||
|
$F4 MCR ProDOS AE Pro macro file
|
|||
|
$F5 ECP ProDOS ECP batch file
|
|||
|
$F6 DSC ProDOS description file
|
|||
|
$F7 TMP ProDOS temporary work file
|
|||
|
$F8 RSX ProDOS linkable object module
|
|||
|
$F9 IMG ProDOS ProDOS image file
|
|||
|
$FA INT ProDOS Integer BASIC program
|
|||
|
$FB IVR ProDOS Integer BASIC variables file
|
|||
|
$FC BAS ProDOS AppleSoft BASIC program
|
|||
|
$FD VAR ProDOS AppleSoft BASIC variables file
|
|||
|
$FE REL ProDOS ProDOS EDASM relocatable object module file
|
|||
|
$FF SYS ProDOS ProDOS8 system file
|
|||
|
|
|||
|
Table 1-6: PRODOS file types, part 2
|
|||
|
|
|||
|
-------------------------------------------------------------------------------
|
|||
|
Apple II Kermit Page 36
|
|||
|
|
|||
|
-------------------------------------------------------------------------------
|
|||
|
Index
|
|||
|
|
|||
|
Apple II 1 Padding 16
|
|||
|
Apple II Keypad 17 Prodos file system 4
|
|||
|
Apple II+ keyboard 7 Prompting 6
|
|||
|
Applesoft 13
|
|||
|
Archiving files 3 Q 8, 10
|
|||
|
Quote-char 16
|
|||
|
Backspace key 16
|
|||
|
Binary 13 Readme 22
|
|||
|
Blink 7 RECEIVE Command 10
|
|||
|
REMOTE Command 10
|
|||
|
CA key 17, 18 RENAME Command 10
|
|||
|
CATALOG Command 6 RM Command 8
|
|||
|
CD Command 15
|
|||
|
CONNECT Command 6 SEND Command 10
|
|||
|
Control-c 11 SERVER Command 11
|
|||
|
Cr-cr,lf 16 SET APPLICATION-MODE 12
|
|||
|
SET BAUD 12
|
|||
|
Del key 16 SET CLEAR-SCREEN 12
|
|||
|
Delay 9, 14, 17 SET Command 11
|
|||
|
DELETE Command 8 SET CURSOR-KEYS-VT100 12
|
|||
|
Dos 2 SET DEBUGGING 12
|
|||
|
Dos filenames 2 SET DEFAULT-DISK 12
|
|||
|
SET DISPLAY 12
|
|||
|
Eight-bit-quote 16 SET ESCAPE 13
|
|||
|
End-of-line 16 SET FILE-TYPE 13
|
|||
|
Escape character 9 SET FILE-WARNING 13
|
|||
|
EXIT Command 8 SET FLOW 14
|
|||
|
SET KEYBOARD 14
|
|||
|
Game button 17, 18 SET LOCAL-ECHO 14
|
|||
|
GET Command 8 SET PARITY 14
|
|||
|
SET PREFIX 15
|
|||
|
HELP Command 9 SET PRINTER 15
|
|||
|
SET PROTOCOL 15
|
|||
|
Install 22 SET RECEIVE 15
|
|||
|
Integer 13 SET SEND 16
|
|||
|
SET SLOT 16
|
|||
|
Kermit 15 SET SWAP 16
|
|||
|
Kermit.help 22 SET TERMINAL 17
|
|||
|
Kermit.init 22 SET TIMER 16
|
|||
|
KERMIT.MODEM 9 SET TIMING 17
|
|||
|
SHOW command 18
|
|||
|
LOCK Command 9 Smart modem 9
|
|||
|
LOG Command 9 Start-of-packet 16
|
|||
|
LS Command 6 STATUS Command 21
|
|||
|
|
|||
|
MODEM Command 9 TAKE Command 21
|
|||
|
Monitor 17 Text 13
|
|||
|
Timeout 16
|
|||
|
OA key 17, 18 TYPE Command 21
|
|||
|
Other 13
|
|||
|
UNLOCK Command 21
|
|||
|
Packet-length 16
|
|||
|
Pad-char 16 Vt100 17
|
|||
|
Apple II Kermit Page 37
|
|||
|
|
|||
|
-------------------------------------------------------------------------------
|
|||
|
VT100 Emulation 17
|
|||
|
Vt52 17
|
|||
|
VT52 Emulation 17
|
|||
|
|
|||
|
Xmodem 10, 15
|
|||
|
Apple II Kermit Page i
|
|||
|
|
|||
|
-------------------------------------------------------------------------------
|
|||
|
Table of Contents
|
|||
|
|
|||
|
1. Apple II Kermit 1
|
|||
|
|
|||
|
1.1. Supported Systems and Devices 2
|
|||
|
1.2. The DOS 3.3 File System 2
|
|||
|
1.3. The PRODOS File System 4
|
|||
|
1.4. Program Operation 4
|
|||
|
1.5. Kermit-65 Commands 6
|
|||
|
1.5.1. The CATALOG Command 6
|
|||
|
1.5.2. The CONNECT Command 6
|
|||
|
1.5.3. The DELETE Command 8
|
|||
|
1.5.4. The EXIT and QUIT Commands 8
|
|||
|
1.5.5. The GET Command 8
|
|||
|
1.5.6. The HELP Command 9
|
|||
|
1.5.7. The LOCK Command 9
|
|||
|
1.5.8. The LOG Command 9
|
|||
|
1.5.9. The MODEM Command 9
|
|||
|
1.5.10. The RECEIVE Command 10
|
|||
|
1.5.11. The REMOTE Command 10
|
|||
|
1.5.12. The RENAME Command 10
|
|||
|
1.5.13. The SEND Command 10
|
|||
|
1.5.14. The SERVER Command 11
|
|||
|
1.5.15. The SET Command 11
|
|||
|
1.5.16. the SHOW command 18
|
|||
|
1.5.17. The STATUS Command 21
|
|||
|
1.5.18. The TAKE Command 21
|
|||
|
1.5.19. The TYPE Command 21
|
|||
|
1.5.20. The UNLOCK Command 21
|
|||
|
1.6. Installation 21
|
|||
|
1.6.1. Standard Installation 22
|
|||
|
1.6.2. Alternate Installation 23
|
|||
|
1.7. Problems 24
|
|||
|
1.8. Customizing Kermit-65 31
|
|||
|
|
|||
|
Index 36
|
|||
|
Apple II Kermit Page ii
|
|||
|
|
|||
|
-------------------------------------------------------------------------------
|
|||
|
List of Figures
|
|||
|
|
|||
|
Figure 1-1: VT100 Keypad on an Apple Keyboard 18
|
|||
|
Figure 1-2: VT100 Keypad on an Apple//gs 19
|
|||
|
Figure 1-3: VT52 Keypad on an Apple Keyboard 20
|
|||
|
Apple II Kermit Page iii
|
|||
|
|
|||
|
-------------------------------------------------------------------------------
|
|||
|
List of Tables
|
|||
|
|
|||
|
Table 1-1: Apple II Communication Cards Supported by Kermit-65 2
|
|||
|
Table 1-2: Kermit-65 Single-Character CONNECT Escape Commands 7
|
|||
|
Table 1-3: Apple II/II+ Keyboard Escapes 8
|
|||
|
Table 1-4: Communications card vector area 33
|
|||
|
Table 1-5: PRODOS file types, part 1 34
|
|||
|
Table 1-6: PRODOS file types, part 2 35
|