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
|