Chameleon Terminal Emulator
Version 4.03
User's Guide
17 November 1984
(C)1984 John Howard Palevich
1. Introduction
1.1 Overview
Chameleon converts your Ataricomputer into a powerful
computerterminal. It emulates six terminals:"Glass TTY" (that is, a
video terminal with the same features as a printing terminal), Lear
Siegler's ADM-3A,Digital Equipment Corporation's VT-52,a non-standard
extension to the VT-52 called the VT-52XL, the IBM 3031 ASCII
terminal, and a Test terminal, useful for debugging. For every
terminal type besides Test, Chameleon supportstab,backspace, line
feed, form feed, and a visual bell signal. For the Glass TTY it
supports word-wrapping.
For the ADM-3A, the VT-52, and the VT-52XL, it also supports cursor
addressing and basic editing features. For the VT-52XL, it supports
character and line insert and delete, as well as reverse video. A
termcap entry is provided for use with unix operating systems.
Chameleon doesn't support the special graphics character set of the
VT-52 or some rarely used ADM-3A features.
Chameleon's major features are:
1. a 24-line, 40-, 80-, or
132-column character
display (displaying 40
columns at a time) with a
cursor lock feature for
automatic horizontal
scrolling
2. a buffer that saves up to
nine previous pages of text
3. continuous communications
at baud rates of 75 to 1200
baud and non-continuous
(requires flow control)
communication at rates of
1800 to 9600 baud
4. selectable parity
5. a BREAK signal
6. the full ASCII standard
character set
7. selectable duplex
8. the ability to copy text
from the screen and the
previous page buffer to a
file
9. the ability to transfer
files between the Atari and
most other computers, using
either flow controlled,
Modem, or Kermit protocols
10. using one of the supported
modems, the ability to
automaticly dial any of
sixteen stored phone
numbers, and to keep
dialing numbers until a
carrier tone is detected
11. a ram-resident disk utiltiy
program, allowing most of
the functions provided by
the DOS 2 menu
1.2 Required Accessories
- 48K RAM
- a disk drive
- at least one of the
following:
* Atari 850 Interface
Module, and a standard
RS-232C modem
* Atari 835 Modem
* Atari 1030 Modem
* Atari 1450 computer
(which contains a
modem)
1.3 Optional Accessories
- With the Atari 850, a Hayes
Smartmodem, or other Hayes
compatable modem
- Printer
1.4 Contacting the Author
Users wishing to contact the author about Chameleon way write to
him at:
John H. Palevich
175 Calvert Drive #F211
Cupertino, CA 95014
2. Getting Started
2.1 Attaching an RS-232C Device to the
Interface Module
If you are using an Atari 850, rather than one of the standard
Atari modems, you will have to attach your RS-232C device to the
Atari 850. Chameleon talks to Port 1 of the Atari 850. (This is the
default behavior -- you can use the R: Device menu line to make
Chameleon talk to any one of the four ports.) Only "Transmit
Data", "Receive Data", and "Ground" need to be connected. "Data
Terminal Ready" and "Request to Send" are set high (+12V = true) when
Chameleon starts. This is done as a convenience to devices requiring
these signals.
Chameleon ignores all other signals.
2.2 Loading Chameleon into Computer
Memory
To load Chameleon into computer
memory:
1. Remove all cartridges from
your Atari computer.
2. Make sure all equipment is
turned off.
3. Turn on all your
peripherals.
4. When the BUSY light goes
out on yur disk drive, open
the disk drive door and
insert the Chameleon
diskette with the label in
the lower right hand corner
nearest to you.
5. Turn on your computer and
TV screen and wait until
Chameleon's device menu
appears.
2.3 Chameleon's Device Menu
Chameleon can talk to a number of
Atari devices, but it has to know
which one it should use. The first
thing Chameleon will do is ask you
which device to use.
Below is an illustration of the
device menu, which is the first screen
you will see the first time you run an
un-modified copy of Chameleon 4.0. If
your copy of Chameleon has been
customized (by using command Z from
the utilities menu), Chameleon will
try to use the device you specified in
the Z command. If you have never used
the Z command, or if that device
doen't exist, you'll get this screen:
Chameleon Terminal Emulator
version 4.0
(c) 1984 John Howard Palevich
-------------------------------------
0 - no device (demonstration mode)
1 - Atari 850 with any modem
2 - Atari 850 with Hayes Smartmodem
(or compatible modem)
3 - Atari 835 modem
4 - Atari 1030 modem
5 - Atari 1450 internal modem
-------------------------------------
Which device to use (0-5)? _
-------------------------------------
Figure 2-1: Device Menu Screen
You should type in the number of the device you want to use (or 0
if you don't have any device, but still want to investigate
Chameleon). Then press the RETURN key. Chameleon will try to find
the specified device. If it can, you will shortly see the main menu
screen. Otherwise, you will be told that Chameleon failed to find
the device, and you will be asked for another device. If this
happens, make sure that your communications device is plugged in to
the wall, connected to your Atari, and turned on!
3. The Main Menu
3.1 The Main Menu Keys
After Chameleon finds a communications device, it presents you
with its main menu. This is the menu which lets you control
Chameleon's actions. It looks like this:
Chameleon (c)1984 John H. Palevich
-------------------------------------
->Terminal Glass TTY
Back S is CTRL-H
Left Margin 2
Line Length 80
Cursor Free
Scroll Smoothly
File Transfer Protocol None
File Name
File Type Text
Dialing Method Pulse
Modem Mode Originate
R: Device 1
Baud Rate 300
Parity None
Duplex Full
Flow Control ^S/^Q
-------------------------------------
OPTION -move cursor to next parameter
SELECT -change parameter's value
START -begin terminal emulation
D - dial a number U -utility menu
P - pick up phone H -hang up phone
S - save options R -restore options
CTRL-Q - quit Chameleon
Figure 3-1: Main Menu Screen
3.1.1 Selecting an item -- OPTION key
Each time you press the OPTION key, the arrow moves down one line
so that you can select the next item in the menu. You return to the
first menu item after reaching the last one. You can also reverse
the order by holding down the SHIFT key while pressing the OPTION
key, which causes the arrow to move to the previous menu item. With
this method, you return to the last menu item after reaching the
first one.
3.1.2 Selecting a value for an item
-- SELECT key
Each time you press the SELECT key, a new value displays for the
current menu item. Again, to reverse the order, hold down the SHIFT
key while pressing the SELECT key, which causes the previous value to
display.
3.1.3 Entering a file name
The "File Name" line of the menu displays the file currently
selected for file transfer operations. When you press the SELECT or
SHIFT-SELECT keys, a blinking cursor replaces the old file name.
Type in your new file name, using the BACK S key to correct any
errors. Press RETURN to remove the cursor.
If you always keep the "File Transfer Protocol" set to "None", then
you can safely ignore the "File Name" line.
3.1.4 Moving to terminal mode -- START
key
Press the START key to move from the main menu to the terminal
mode. See the chapter on terminal mode for details.
3.1.5 Dial a number -- D
If you have an Atari 835, 1030, 1450, or hayes Smartmodem
compatable modem, Chameleon can dial the other computer's number for
you. Type D from the main menu to go to the dial menu. See the
chapter on the dial menu for more information.
3.1.6 Utility menu -- U
Chameleon will let you perform many of the functions of the DOS-II
DUP program from within Chameleon. Type U from the main menu to go
to the utility menu. See the chapter on the utility menu for more
information.
3.1.7 Pick up the phone -- P
If you have an Atari 835, 1030, 1450, or Hayes Smartmodem
compatable modem, and you have manually dialed another computer,
typing P in the main menu will make Chameleon pick up the phone line
and attempt to establish communications with the other computer. If,
after thirty seconds, Chameleon hasn't established communication, it
will hang up the phone and return to the main menu. Type Q to quit
waiting for the other computer before the thirty seconds are up. If
Chameleon does establish communication, it will enter terminal mode.
3.1.8 Hang up the phone -- H
If you have an Atari 835, 1030, 1450, or Hayes Smartmodem
compatable modem, and you wish to terminate a phone connection with
another computer, type H in the main menu. Chameleon will hang up the
phone and return to the main menu. Hayes Smartmodem compatable
modems take up to ten seconds to do this. If you get impatient, you
may type Q to return to the main menu.
3.1.9 Save the main menu settings -- S
Chameleon can save the current menu item settings in a disk file
called LIZARD40.OPT. Current menu settings may be saved any time you
are in the main menu. Just insert a DOS-II formatted writable disk
in drive 1 and press the S key. Every menu item except the File Name
will be saved into the file D:LIZARD32.OPT.
3.1.10 Restore the main menu settings
-- R
Saved menu settings may be restored any time you are in the menu.
Just insert a DOS-II formatted disk containing the LIZARD40.OPT file
into drive 1 and press the R key. Chameleon will try to read the
saved options out of D:LIZARD40.OPT. If the file does not exist, or
cannot be read, then Chameleon uses its standard defaults. If the
file is read correctly, then menu items (except for the file name)
are set to the stored values.
Chameleon tries to read in the stored defaults when it is booted.
This makes it easy to customize Chameleon to your application.
3.1.11 Quit Chameleon -- CTRL-Q
Typeing CTRL-Q from the main menu will exit Chameleon and return
you to DOS. If you are using an 850 and DOS 2.0, you must
power-cycle your Atari before running Chameleon again. (Because
DUP.SYS writes over the R: drivers.)
3.2 Menu Items
3.2.1 Terminal
Use the first item to select the kind of terminal you want to
emulate. Your choices are:
Glass TTY This value simulates a
typical printing
terminal with tabs
every eight columns,
line feed, form feed,
backspace, carriage
return, and a visual
bell signal. In
addition, words typed
at the end of the line
are wrapped ont the
next line, making it
easier to read text
formatted for very
long lines. Glass TTY
is sophisticated
enough to be used with
many computer
installations.
However, it isn't
sufficient for time-
sharing computers
capable of sending
special characters for
cursor control,
character editing, and
so on. Select one of
the video terminal
values to communicate
with such computers.
VT-52 This value simulates
the DEC VT-52
terminal, except for
the keypad and the
special graphics
character set.
Chameleon doesn't
support the Enable
Graphics and Disable
Graphics commands.
Normal mode lowercase
characters print in
place of graphics.
While the alternate
keypad mode isn't
supported, you may
type sequences from
the following table to
emulate the keypad:
Key Normal Appl.
0 0 ESC ?p
1 1 ESC ?q
2 2 ESC ?r
3 3 ESC ?s
4 4 ESC ?t
5 5 ESC ?u
6 6 ESC ?v
7 7 ESC ?w
8 8 ESC ?x
9 9 ESC ?y
- minus ESC ?m
, comma ESC ?l
. period ESC ?n
ENTER RETURN ESC ?M
up ESC A ESC A
down ESC B ESC B
right ESC C ESC C
left ESC D ESC D
blue ESC P ESC P
red ESC Q ESC Q
grey ESC R ESC R
Table 3-1: VT-52 Alt. Keypad Mode
VT-52XL This terminal is just
like a VT-52, except
that four additional
escape sequences have
been defined to aid
editing. See the
chapter on character
and contol codes for
more details.
ADM-3A This value simulates a
Lear Siegler ADM-3A
terminal. It supports
Option A (24 lines)
and Option No. 1
(lowercase
characters). However,
it won't beep when the
cursor crosses the
72nd character
position.
IBM 3031 Chameleon will emulate
an IBM 3031 mainframe
terminal is this mode.
Basically, in 3031,
it's a Glass TTY with
half duplex, and the
Kermit protocol checks
this value to
determine if you are
talking to an IBM
mainframe.
Test Characters sent to the
screen while Chameleon
is in Test mode are
printed as is. None
of the control
characters (even CR)
are treated specially.
When the cursor
reaches the right
margin, it moves down
to the next line.
When the cursor
reaches the bottom of
the screen, it scrolls
the whole screen
upward one line.
thus, the last several
thousand characters
sent to Chameleon will
be visible on the
screen. This mode is
useful for debugging
new time-sharing
systems because it
lets you find all
padding characters
(like nulls and rub
outs) or other control
characters the other
system might be
sending you.
3.2.2 Back S is
This item controls which character is sent to the other computer
when you type the BACK S key. The choices are:
CTRL-H This choice sends an
ASCII BS (8) when you
type the BACK S key.
To get RUB you type
SHIFT-BACK S.
RUB OUT This choice sends an
ASCII RUB (127) when
you type the BACK S
key. To get BS you
type CTRL-H.
3.2.3 Left Margin
many TV sets overscan. making the left two character positions of
the screen un-readable. This item lets you select your left margin.
Your choices are:
0 This choice lets you
see a full forty
characters across.
1 This choice gives you
a one character
margin.
2 This choice gives you
a two character margin
(like BASIC).
3.2.4 Line Length
The line length of Chameleon can be
adjusted to suit your
preferences. The
choices are 40, 80,
and 132 characters
long.
3.2.5 Cursor
This item controls the behavior of the cursor. There are two ways
the cursor can behave:
Free The cursor is free to
travel off the screen.
On Screen The cursor is forced
to remain on the
screen at all times.
On Screen is useful
for editing text when
the line length is set
to 80 or 132.
3.2.6 Scroll
When Chameleon does a line feed at the bottom of the screen, it has
to move the text up one line, to make room for the new line. It can
move the text up in two different ways:
Smoothly which takes about an
eighth of a second,
but looks pretty.
Coarsly which takes almost no
time at all, but looks
ugly.
3.2.7 File Transfer Protocol
This item controls which type of file transfer Chameleon will do.
See the chapter on transfering files for more information. The
choices are:
None No file transfer is
selected
Snapshot Transfer characters
from the screen to an
Atari device
Send Transfer characters
from an Atari device
to another computer
Receive transfer characters
from the other
computer to an Atari
device
Modem Send Transfer files from an
Atari device to
another computer using
the MODEM2 protocol
Modem Receive Transfer files from
another computer to an
Atari device using the
MODEM2 protocol
Kermit Send Transfer files from an
Atari device to
another computer using
the Kermit protocol
Kermit Receive Transfer files from
another computer to an
Atari device using the
Kermit protocol
3.2.8 File Name
The file transfer modes need a file name. If you have "File
Transfer Protocol" set to "None", you needn't consider this line.
Pressing the SELECT or SHIFT-SELECT keys for this item causes a
blinking cursor to appear. Type in the name of the file you want to
use. use the BACK S key to correct typing mistakes. Type RETURN to
finish entering the file name. See the chapter on transfering files
for more information.
3.2.9 File Type
Use this type to tell Chameleon what kind of file you play to
transfer. Chameleon needs this information to decide waht to do with
end-of-line and tab characters. The choices are:
Text This choice tries to
map ASCII CR/LF to
ATASCII EOL, and ASCII
TAB to ATASCII TAB.
During sending, EOL is
converted to CR.
During receiving, CR
is converted to EOL
and LF is ignored.
Use this mode when
transfering text files
between your computer
and another brand of
computer.
Binary In this choice, all
characters are sent
and received as is.
Use this mode when
transfering text files
between your computer
and another Atari
computer, or when
transfering non-text
files between your
computer and any other
computer.
3.2.10 Dialing Method
If you have an Atari 1030, or Hayes Smartmodem compatable modem,
you can choose which dialing method to use when auto-dialing. The
other modems that Chameleon supports can only pulse dial.
Pulse use pulse dialing
(which is universal)
Tone use pone dialing
(which is faster)
3.2.11 Modem Mode
If your have an Atari 835, 1030, 1450, or Hayes Smartmodem
compatable modem, you can choose to set your modem's communication
mode. In any modem based communication, one of the modems must be
set in originate mode, and the other in answer mode.
Originate This mode is used to
communicate with most
time-sharing systems,
bulliten boards, etc..
Answer This mode is used to
communicate with
another computer which
has it's modem in
orginate mode.
3.2.12 R: Device
If you are not using an Atari 850 Interface Module, you may ignore
this item. If you are using an 850, this item selects which of the
four RS-232C ports Chameleon will use for communication. Most people
use only port number one, but the choices are 1, 2, 3, or 4.
3.2.13 Baud Rate
Use this item to select the baud (data transmission) rate. The
values are in bits per second. Consult the manual or authorities for
the system you're using for appropriate baud rates. Continuous
transmission choices are: 75, 110, 134.5, 150, 300, 600, or 1200
baud. Non- continuous transmission (i.e. you'll need flow control,
or you'll lose characters) is available at 1800, 2400, 4800, and 9600
baud.
3.2.14 Parity
Use this item to select the kind of parity check sent from
Chameleon to the other computer, and the kind of parity Chameleon
expects from the other system. Consult the manual or authorities for
the system you're using.
None There is no parity
bit; all eight bits of
the character are
considered to be data.
Odd Characters are sent
with odd parity.
Received parity is
ignored.
Even Characters are sent
with even parity.
Received parity is
ignored.
Off Characters are sent
with the parity bit
set to zero. Received
parity is ignored.
3.2.15 Duplex
Use this item to control where the characters you type are sent.
Full Keyboard characters go
to the other system.
Half keyboard characters go
to both the other
system and the screen.
Use this mode to talk
to systems requiring
half duplex.
3.2.16 Flow Control
This item selects the way in which Chameleon controls the flow of
data between itself and the other computer. The choices are:
None which means that the
other computr has no
means of flow control.
When None is selected,
the File Transfer
Protocol modes send
and receive, and baud
rates in excess of
1200 baud, will
probably lose
characters.
^S/^Q Which means that the
other computer will
stop sending when it
receives an ASCII
XOFF(^S, code 19) and
resume sending when it
receives an ASCII
XON(^Q, code 17).
When Chameleon is
Sending a file, it
will pause on a ^S/^Q
pair sent by the other
computer.
Echo Echo acts just like
None, except during
Sending, when
Chameleon waits for
the character sent to
the other computer to
come back (or "echo").
THis mode is designed
to allow sending text
to slow time sharing
systems that do not
support the ^S/^Q
protocol. If a
character doesn't echo
within one quarter of
a second, then the
sending continues
anyway.
Short Delay Acts just like None,
except during Sending,
Modem Sending, Kermit
Sending and Kermit
Receiving, when it
inserts a 1/60th of a
second delay between
each character sent to
the other computer.
This delay allows slow
computers enough time
to process each
character.
Medium Delay Acts just like Short
Delay, except the
delay is for 1/15th of
a second.
Long Delay Acts just like Short
Delay, except the
delay is for 1/4th of
a second. If the
other computer still
can't keep up, and
Echo mode doesn't work
either, then you might
as well type the
information in by
hand!
3.3 Example: Settings for
Communication with Compuserve
If you want to call ComuServe, or MicroNET through CompuServe, your
settings typically would be a follows:
Terminal Glass TTY
Back S is CTRL-H
Left Margin 2
Line Length 80
Cursor Free
Scroll Smoothly
File Transfer Protocol None
File Name
File Type Text
Dialing Method Pulse
Modem Mode Originate
R: Device 1
Baud Rate 300
Parity Even
Duplex Full
Flow Control ^S/^Q
Figure 3-2: Typical Main Menu
4. Dial Menu
Chameleon uses the dial menu to automaticly dial a computer's phone
number for you. You must have either an Atari 835, 1030, 1450, or
Hayes Smartmodem compatable modem for the dial menu to work. To get
to the dial menu, type D from the main menu. The dial menu looks
like this:
Computer Name (baud rate) # 555-1212
-------------------------------------- ->
-------------------------------------
-------------------------------------
OPTION - move cursor to next number
SELECT - enter new number
START - dial number
A - dial all numbers
S-save numbers R- restore numbers
ESC - go back to main menu
Figure 4-1: Dial Menu Screen
4.1 Dial Menu Keys
4.1.1 Selecting an item -- OPTION key Each time you press the
OPTION key, the arrow moves down one line so that you can select the
next phone number in the menu. You return to the first phone number
after reaching the last one. You can also reverse the order by
holding down the SHIFT key while pressing the OPTION key, which
causes the arrow to move to the previous phone number. With this
method, you return to the last phone number after reaching the first
one.
4.1.2 Entering a phone number
To enter a phone number, use OPTION to move the arrow to a blank
line (or a line containing a phone number you wish to replace) and
press SELECT. A blinking cursor appears. Type in your new phone
number, using the BACK S key to correct any errors. Press RETURN to
finish entering the phone number. A valid phone number has three
parts:
- Name
This is the name of the
computer. It is ignored by
Chameleon. It's what you
use to remember which number
calls what computer. The
name can contain any
printing characters except
for '#' and '('.
- (Baud)
This is the baud rate of the
other computer's modem. If
this part of the phone
number is missing, the baud
rate from the main menu is
used. The only two valid
baud rates for this are
"(300)" and "(1200)". If
your modem can't actually
communicate at 1200 baud,
Chameleon will use 300 baud
no matter what you say.
- #Digits
This is the actual number to
dial. It can consist of any
number of digits and the
characters " ()-,". Digits
are dialed in order. The
characters " ()-" are
ignored, and the ","
character causes Chameleon
to pause for three seconds
-- which is useful when
you're going through a
private telephone system.
Here are some imaginary but valid phone number entries. Note that
the last one simply picks up the phone and waits for a carrier.
Joe's BBS & Grill(1200)#9,18005551212
Molly's Sine City (300) # 555-1212
Annoy the Opertor # 0
Long Distance # 1 (617)253-1000
# 411
Table 4-1: Valid Phone Numbers
Here are some imaginary but invalid phone number entries, along
with the reasons they're invalid:
555-1212
-- need a '#' before the digits
A#1 BBS # 555-1212
-- can't have a '#' in the name
Touchie's # 555-1212 * 444
-- can't dial the '#' or '*' tones
(Secret Agent) # 555-0007
-- can't have a '(' in the name
Fogey (110) # 555-1212
-- can't choose a 110 baud rate
Table 4-2: Invalid Phone Numbers
After you enter a number, be sure to use the S command to save the
numbers to diskette! Any time you exit the dial menu, and changes
you may have made since the last S command will be lost!
4.1.3 Dialing a number -- START key
Press the START key to dial the phone number you've selected.
Check the status line (located between the list of phone numbers and
the instructions) to follow the progress of your call. Type a 'Q' to
quit dialing. If, after thirty seconds, Chameleon can't establish
communication with the other computer, it will return to the dial
menu. If Chameleon succeeds in establishing communications with the
other computer, it'll go to terminal mode. (See the terminal mode
chapter for details.)
4.1.4 Dialing a sequence of numbers - A key
It's a universal law: "A good computer's number is busy." If the
computer you're trying to reach is a popular one, it's likely that
the phone number will be busy when you call it. If you'd like, you
can have Chameleon dial a group of telephone numbers in sequence
until it finally establishes communication with another computer.
All you have to do is position the arrow next to the first number
you'd like to try and press the 'A' key. Chameleon will then try
each number in turn until it finds another computer. Blank lines are
skipped, so if you want it to try the same number over and over
again, blank out the other lines by pressing SELECT then RETURN for
each one. When it finds another computer, it will enter terminal
mode.
Since none of the modems Chameleon works with can detect a busy
signal, Chameleon must wait 30 seconds after dialing a phone number
before it gives up. Sorry 'bout that.
-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*
Please be careful when you use the A command. If you accidentally
annoy a telephone user by repeatedly dialing their number, your phone
company will probably take away your telephone connection.
-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*
4.1.5 Save the phone numbers -- S
Chameleon can save the current phone numbers in a disk file called
D:LIZARD40.NUM. Just insert a DOS-II formatted writable disk in
drive 1 and press the S key.
4.1.6 Restore the phone numbers -- R
Saved phone numbers may be restored any time you are in the dial
menu. Just insert a DOS-II formatted disk containing the LIZARD40.NUM
file into drive 1 and press the R key. If the file does not exist, or
cannot be read, then Chameleon uses its standard defaults. If the
file is read correctly, then the phone numbers are set to the stored
values.
Chameleon tries to read in the stored defaults whenever it enters
the dial menu.
4.1.7 Return to the main menu -- ESC
Typing the ESC key will return you to the main menu without trying
to dial a phone number.
5. Utility Menu
Typing a U while in the main menu gets you the ram resident disk
utilities. This is a menu modeled upon the standard DOS 2.0 menu,
and it provides many of the more useful (and not coincidentally
easiest to implement) features of the DOS 2.0 menu. Here's what it
looks like:
Ram Resident Disk Utilities 2.0s
A. Disk Directory E. Rename File(s)
B. Go To Main Menu F. Lock File(s)
C. Copy File G. Unlock File(s)
D. Delete File(s) I. Format Diskette
Z. Set Default Communication Device
Select item or RETURN for menu _
Figure 5-1: Utility Menu Screen
If you have used the DOS 2.0 menu, you shouldn't have any trouble
with the utility menu. Some of the options are missing, and others,
like the C command, don't have the options that are available on the
DOS 2.0 menu. This menu is intended to allow you to do the most
important DOS functions while remaining within Chameleon. If you
find that the functions provided aren't enough, you'll have to quit
Chameleon, use the real DOS menu, and restart Chameleon.
All utility menus are selected by typing the letter of the utility
then the RETURN key. Most of the utilities will ask for an
additional line of input, which you should type in, ending with the
RETURN key. If you change your mind about executing a utility, type
the BREAK key rather than the RETURN key.
5.1 Disk Directory -- A
The A command is used to get a disk directory. If you want to see
all the files on disk 1, just type RETURN when you are asked for a
"Search spec". Otherwise, type in the search specification you want.
The directory will be shown on the screen.
5.2 Return to the main menu -- B
The B command returns you to Chameleon's main menu.
5.3 Copy a file -- C
The C command copies a single file. This command can be used (like
it's DOS 2.0 counterpart) to send a file to the screen or the
printer, as well as transfer a file from one diskette to another. It
cannot, however, append one file to another, nor can it copy multiple
files from one place to another.
5.4 Delete file(s) -- D
The D command deletes all files that match the "Delete file spec".
All the files will be deleted at once -- you will NOT be asked about
each one. (i.e. the /N option is always in effect.)
5.5 Rename file(s) -- E
The E command renames all files matching the search spec before the
comma to match the search spec after the comma. Remember that the
device specifier is included only for the spec before the comma.
5.6 Lock file(s) -- F
The F command locks all files matching the search spec. Locked
files cannot be deleted, renamed, or over-written. Locked files
appear with an asterisk before their names in a directory listing.
5.7 Unlock file(s) -- G
The G command unlocks all files matching the search spec. Unlocked
files are the ordinary kind that can be deleted, renamed, and
overwritten.
5.8 Format Diskette -- I
The I command asks you which drive you wish to format, makes sure
that you want to format it, then formats that drive. Be careful not
to format a diskette containing information that you wish to keep.
5.9 Set Default Communication Device -- Z
The Z command sets the default communication device by saving the
device number you select in the file D:LIZARD40.DEV.
When Chameleon is booted, it looks in the file D:LIZARD40.DEV for a
device number, and tries to boot that device first. If the default
device is connected and turned on, Chameleon will boot it and go to
the main menu automaticly. If the device doesn't respond, Chameleon
will tell you so and stay in device menu.
If you regularly use only one particular communications device,
setting a default communication device will save you some time and
effort.
6. Terminal Mode
Terminal mode is the mode you use to actually communicate with
another computer. It's a grey screen with (some of the time) a line
of inverse-video text at the top. When you first enter terminal
mode, the screen will look like this:
Terminal mode... (OPTION - quits)
-------------------------------------
[]
Figure 6-1: Terminal Mode Screen
The terminal mode consists of two parts, the status line (in
reverse video), and the terminal display, which is twenty four lines
of grey text. Located at the left margin of the top line of the
terminal display is a green box. This is the terminal display's
cursor.
6.0.1 Recalling the main menu --
OPTION key
When you're in terminal mode, you can recall the main menu by
pressing the OPTION key. The arrow will point to the last menu item
you selected. Characters sent to you while you're in the main menu
will be lost.
6.0.2 Vertical and horizontal
scrolling
Most time sharing system programs format text for 80 column wide
printing terminals. Since the Atari video screen is only 40
characters wide, and only 24 lines high, you can't see all the text
at one time.
Your Atari can, however, keep much more text in its memory than it
can show on the screen. Chameleon uses this ability to give you most
of the benefits of an 80 column screen as well as most of the
benefits of a printing terminal.
In essence, when you are in the terminal mode Chameleon shows you a
24 x 40 character window onto a much larger "virtual" screen. This
virtual screen is as wide as the Line Length item of the menu, which
is to say between 40 and 132 characters wide, and as long as it can
be and still fit in your Atari'S memory. The virtual screen is
always between 24 and 255 lines long, depending upon the amount of
memory your Atari has, the File Transfer Protocol, the Baud Rate, and
the Line Length.
You navigate around the virtual screen with aid of the START,
SELECT, and SHIFT keys. To try horizontal and vertical scrolling,
use the main menu to set the Terminal Type to Glass TTY, the Cursor
to Free, the Duplex to Half, the File Transfer Protocol to None and
Line Length to 80. Press START to enter the terminal mode.
6.0.2.1 Vertical Scrolling--SELECT key
If you type some text and then type the RETURN key repeatedly,
you'll soon notice that the cursor moves down to the bottom line of
the screen and remains there, while the text you've typed in scrolls
off the top of the screen. If you press and hold the SELECT key, the
screen will scroll down and the text you typed will return to view.
As this happens, the cursor changes to an arrow pointing down to its
"true" position. As you continue to hold down the SELECT key, the
text you typed will continue to scroll down, and if you have enough
memory, it will even disappear from view off the bottom of the
screen.
Eventually, though, you'll bump into the upper screen. Press and
hold the RETURN key, and in a little while the text you typed will
scroll off the top of the virtual screen, too. Once it does this it
has been erased from the Atari's memory and can never be retrieved.
To return to the bottom of the virtual screen, press the SHIFT+SELECT
keys and hold them down. The screen will scroll up and bring the
cursor back into view.
6.0.2.2 Horizontal scrolling--START
and SHIFT + START keys
Type a sentence (such as, "The quick brown fox jumped over the...")
until you reach the right-hand side of the line. If you continue to
type, you'll notice the cursor has become an arrow pointing right,
off the edge of the screen, toward where the next character should
display. Press the START key and watch the characters scroll
leftward, until the screen is blank and the cursor has changed back
into a small square on the left-hand edge of the screen. You've just
used the START key to scroll, character-by- character, to the
rightmost 40 columns of the 80-column display.
To return to the first 40 columns, press SHIFT+START. You can use
START and SHIFT+START to center the cursor on whatever column you
wish. When the cursor is positioned in its true location, it
displays as a square. When it is located in a screen area other than
its true location (i.e., in the previous page buffer or on columns
across the screen), it displays as an arrow pointing towards its true
position.
6.0.2.3 Combining vertical and
horizontal scrolling
You can use the SELECT and SHIFT+SELECT keys and the START and
SHIFT+START keys to position yourself anywhere on the virtual screen.
If characters are typed by you or sent by the remote computer while
the cursor is off the screen, they will be displayed in the correct
spot, but you won't see them until you return to the portion of the
screen that contains the cursor.
6.0.2.4 Locking the Cursor for Faster
Data Entry
Set the CURSOR item of the menu to ON SCREEN. This causes
Chameleon to keep the cursor on the screen at all times. If
characters sent to the screen would cause the cursor to move off the
screen, Chameleon will scroll automatically to keep the cursor square
on the screen. This feature is useful when you have a lot of
information to type in. You can type faster when Chameleon keeps
track of the cursor on the screen, because you won't have to stop
every few words to reposition the cursor with the START and
SHIFT+START keys.
For long printouts, many people prefer to control scrolling
themselves (CURSOR LOCK OFF), since them can them move the screen
around to read the text at their own reading rate as well as back up
to reread a section.
6.0.2.5 File Transfer Protocol and the
Virtual Screen
All the file transfer protocols except Snapshot work more smoothly
when there is a large amount of memory to buffer text. When File
Transfer Protocol is set to any of these modes the virtual screen is
reduced to 24 lines (the height of the actual screen). When the File
Transfer Protocol is set to None or Snapshot, Chameleon does not need
to buffer text, and so the virtual screen again expands to fill all
of the memory.
6.0.2.6 When is the Virtual Screen
Cleared?
The virtual screen is cleared of all the text it contains whenever
its size or shape is altered. In particular the screen will clear
if:
- you change from one the the
buffered File Transfer
Protocol modes to one of the
unbuffered File Transfer
Protocol modes
- you change the baud rate
- you change the Line Length
The most important case where the virtual screen will NOT clear is
when you change File Transfer Protocol from None to Snapshot, which
makes it easy to copy a portion of your virtual screen to file.
6.0.3 System Reset and Break Key
If you press the SYSTEM RESET key, you'll have to power-cycle your
Atari to regain control.
Chameleon has disabled the computer console's BREAK key in menu or
terminal mode because it's so easy to press mistakenly and because
the interface module software would stop sending data in that case.
When a file I/O is in progress (for example, when you're entering
or leaving menu mode, or during File Transfer Protocol mode), you can
use the BREAK key to abort the I/O.
6.0.4 Sending a "Break" Signal to the
Host Computer
You'll sometimes want to send a "break" signal to the host
computer-- to tell it to stop sending data. To do so, press the
SHIFT+Atari keys. Each time you press these keys, Chameleon will send
a half-second of BREAK signal to the other computer.
File Transfer Protocols
and Technical Information
1. Simple File Transfer Protocols
1.1 Terms
File Transfer Protocol
is a generic term for
any method of moving
data from one place to
another, for instance,
between two Atari
computers or between
an Atari computer and
a large time sharing
system.
Sending refers to moving data
from your Atari
computer to some other
computer.
Receiving refers to moving data
from another computer
into your Atari
computer.
There are many ways to send and receive information. Chameleon
supports three different file transfer protocols:
- simple protocols, which can
be used with almost any
other computer
- Modem protocols, which work
with many microcomputers
- Kermit protocols, which work
with many time-sharing
computers
The Modem and Kermit protocols are described in later chapters.
This chapter describes the simple protocols. These protocols have
been designed to work with almost any other computer or time-sharing
system. Unfortunately, these protocols are not as easy to use, nor as
error-resistant as the Modem or Kermit protocols. If the computer
you want to talk to supports either the Modem or the Kermit
protocols, you should use them instaid.
1.2 Flow Control
Since the Atari computer can't receive characters while it is
accessing the disk drive, Chameleon must be able to tell the other
computer to stop sending information, then to start sending it again.
This ability to stop and start is known as flow control.
For the simple protocols, that is, for Send and Receive, Chameleon
uses ^S/^Q flow control. This is also known as XON/XOFF flow
control, and is supported my most time sharing computers. If this
isn't the case with your computer, contact the system's staff and ask
about getting "XON/XOFF flow control" installed (or write a program
to simulate such a feature). "XON/XOFF flow control" refers to the
process whereby a system stops printing characters when you (or
Chameleon) send it an ASCII ^S (for XOFF), and then waits for you (or
Chameleon) to send an ASCII ^Q (for XON), when it continues sending
characters.
Chameleon uses this flow control to tell the system to stop sending
characters for a moment, so that it can turn off the RS-232C port and
save the characters it has collected to the file you specified. Thus
if your system doesn't have flow control, you can't receive more
characters at a time than Chameleon has room for in its internal
buffer. This internal buffer varies, depending on the size of your
computer, from about 300 to 32,000 bytes.
When one Chameleon is sending a file to another Chameleon, the
first one will stop sending characters when it gets a ^S and it will
restart when it receives a ^Q. Thus, two Atari computer owners who
each own Chameleon can transfer uncopyrighted files to one another
over phone lines.
1.2.1 Types of devices that can send
You can send from any device from which you can read, except for C:
(cassette) K: (keyboard), S: (TV monitor), and E: (Screen Editor)
devices, which either Chameleon uses or would interfere with
Chameleon. This essentially restricts you to sending disk files.
D1:HILOGAME.BAS Disk file
1.2.2 Types of devices that can
receive
You can receive to any device that you can write to, except for C:
(cassette) S: (TV monitor) and E: (Screen Editor) devices, which
would interfere with Chameleon. Examples are:
P: Printer
D1:DATAFILE.TXT Disk file
1.3 Sending to a Time Sharing Program
To send a file to a time sharing system, follow these steps:
1. Establish a connection with
the system, log in, and run
your favorite editor.
2. Go into text entry mode.
If the mode requires line
numbers make sure your file
has them. If a certain
sequence of characters will
stop text entry, check that
your file does not contain
those characters.
Similarly, make sure your
file has no control
characters that might abort
the editor and return you
to the top level.
3. Press the OPTION key to go
into Chameleon's menu mode.
Change the File Name menu
line to the file you want
to send. Select a File
Type of Text. Select a
File Transfer Protocol of
Send.
4. Press the START key.
Chameleon will put you into
terminal mode.
5. Press the SHIFT+OPTION keys
to start the sending.
Chameleon will open your
file and send it to the
other computer.
6. Chameleon continues to send
until one of three events
occurs:
- It comes to the end of
the file, whereupon it
prints Quitting to
terminal mode and
returns you to
terminal mode.
- You type the Q key on
the keyboard,
whereupon it prints
Quitting to terminal
mode and returns you
to terminal mode.
- A file I/O error
occurs, whereupon it
prints File I/O error
###, where ### is an
error code listed in
the appendix, and
returns you to
terminal mode.
7. Once you're back in
terminal mode, you can type
the special characters that
tell your system's text
editor you're finished
inputing characters.
That's it.
1.3.1 Notes
Older time sharing systems often assume terminals will type only a
few characters a second, and some -- such as the author's Unix system
-- will crash if characters are sent continuously at 2400 baud. If
you find that you lose characters when you send, use the Flow Control
item of the menu to slow down sending to a rate your system can
handle.
Note also that there are often more efficient ways to save
characters from the terminal than with a text editor. Characters can
be sent directly to a file (ask a systems staff member if you're
familiar with how to do this). This kind of procedure lets the system
save your characters faster (and so lose fewer of them).
When File Type is Text, Chameleon sends a carriage return after
each line, which may cause the lines to write over one another on the
display, but it's usually the correct way to enter text to a time
sharing system. Use a specifically prepared file and the File Type
Binary mode if your text editor requires something else.
1.4 Receiving from a Time Sharing
System
The steps for receiving a file are as follows:
1. Press the OPTION key to go
to Chameleon's main menu.
2. Select File Name and enter
the file name. Select the
appropriate File Type
option (probably Text), and
set File Transfer Protocol
to Receive.
3. Press the START key.
Chameleon will put you into
terminal mode.
4. Type all but the last
character (which is
typically pressing the
RETURN key) of the command
to send the file to your
terminal.
5. Press SHIFT+OPTION. The
prompt "Type char; I'll
send it, then start" will
appear. Now type the last
character in your command
(probably RETURN).
6. Receiving will begin. It
will continue until one of
two events occurs:
- You type a Q
character, whereupon
Chameleon types
QUITTING TO TTY MODE
and returns you to
terminal mode.
- A file I/O error
occurs. Chameleon
will display a File
I/O error was ###
message, where ### is
an error code listed
in the error code
appendix.
The receive file is closed when you type the Q. If you press
SHIFT+OPTION again, before changing the File Name, the same file will
be re-opened. If this is a disk file, the old contents will be lost.
1.4.1 Notes
Some operating systems use characters like tab (ASCII 9) to
compress the number of spaces in a file. There's usually a way to
tell the system not to do so; otherwise, you'll have to go through
the received file and manually convert the tabs to the appropriate
number of spaces.
When a ^S is sent to the time sharing system, it must stop sending
data within 100 characters. If it doesn't, you'll get the message
The Buffer Overflowed, and you'll lose all the characters sent from
that point to when the system finally does stop sending data.
1.5 Taking a Photograph of the Screen
Use the Snapshot option of the File Transfer Protocol mode to copy
part or all of the virtual screen to an Atari file. The steps are as
follows.
1. Press the OPTION key to go
to Chameleon's menu mode.
2. Select File Transfer
Protocol Snapshot, and set
File Name to the file name
you want to dump to. If
you want each line of text
to end in an Atari EOL,
then you should set File
Type to Text. If you want
each line to end in a CR/LF
pair, set the File Type to
Binary.
3. Press the START key to go
to terminal mode.
4. When you're ready to send a
copy of part of the virtual
screen to your specified
file, press the
SHIFT+OPTION keys.
5. Chameleon will display the
message Mark Top of Region.
Use the SELECT and
SHIFT+SELECT keys to scroll
the virtual screen up and
down until the first line
you want to copy is at the
top of the TV screen. Then
hit the SPACE BAR.
6. Chameleon will display the
message Mark Bottom of
Region. Use the SELECT and
SHIFT+SELECT to scroll the
virtual screen up and down
until the last line you
want to copy is at the
bottom of the TV screen.
Hit the SPACE BAR.
7. Chameleon displays the
message Dumping Screen for
You and saves the screen to
your specified device.
Only the characters from
the left edge of the screen
to the rightmost nonblank
character of each line will
be saved.
1.5.1 Notes
If, in the middle of marking the region to dump, you decide not to
dump that text, you can type Q to quit out of the snapshot.
Chameleon says OK then, I won't dump and returns you to terminal
mode.
If any error occurs, Chameleon displays a File I/O error was ###
message, where ### represents an error code listed in the File I/O
error code appendix and returns you to terminal mode. Otherwise, it
displays the message Quitting to terminal mode and returns you to
terminal mode.
If no errors occur, you can continue to copy portions of the
virtual screen (presumably new data has been written to it) by
pressing the SHIFT+OPTION keys again. One copy will be written to
your specified device each time you press these keys. Chameleon
ignores any characters sent to it while it's dumping the screen.
If you press SHIFT+OPTION again, before you've changed the File
Name, the contents of the disk file will be lost.
1.6 Transferring a File Between Two
Atari Home Computers
The steps for transferring information from one Atari Home Computer
to another are as follows:
1. Establish a telephone
connection between the two
computers. One agrees to
be the sender, the other
the receiver. Each user
turns on their modem and
loads Chameleon into RAM.
2. The receiver sets up her
system to:
- File Transfer Protocol
Receive
- File Name <whatever>
- File Type Binary
3. The sender sets up his
system to:
- File Transfer Protocol
Send
- File Name <whatever>
- File Type Binary
4. The receiver presses the
SHIFT+OPTION keys and types
an asterisk (*).
5. When the sender sees the
asterisk, he presses the
SHIFT+OPTION keys.
6. Transfer of the file should
then begin.
7. When it finishes, both
parties hang up their
phones.
1.6.1 Notes
Both parties should exercise good judgment in transferring only
files whose copyright allows for such transfer.
The flow control File Transfer Protocol used by Chameleon is
extremely general, but also extremely trusting. If you have poor
quality communication lines, some characters will probably be lost or
changed during transmission. For a text file, these occurrences are
of little consequence. For a binary file, however, it's very
important that all characters transmit exactly as is. For these
files, make sure to set INPUT PARITY and OUTPUT PARITY to NONE.
For serious use of File Transfer Protocol over low-grade lines, you
really want a checksummed file transfer protocol, like the Modem and
Kermit protocols described in the next chapters.
2. Modem File Transfer Protocol
Modem is a public domain protocol for transferring files between
many kinds of computers. It was designed by Ward Christensen for use
with CP/M might become the standard file transfer protocol for
personal computers because:
- It defines a standard format
for text files.
- It detects and corrects
errors in transmission.
- It can transfer all eight
bits of a binary file.
Chameleon uses Modem protocol when the File Transfer Protocol item
reads Modem Send or Modem Receive. Modem Send transfers files from
the Atari to the remote computer, and Modem Receive transfers files
from the remote computer to the Atari.
2.1 What Kinds of Files can be
Transfered Using Modem
The Modem protocol is designed around the CP/M file format, which
is much simpler than the Atari DOS-II file format. On a CP/M system,
text and binary files are stored in exactly the same way, and all
files are a multiple of 128 characters long. Text files end at the
first ^Z in the file, while binary files start loading at 100 hex and
end on a 128 byte boundary.
The Atari DOS-II file format, on the other hand, stores files as
any number of bytes, with special "magic number" bytes at the start
of the file. The Atari DOS-II file system is "smarter" than the CP/M
file system. While this is a good thing for Atari users, it does
mean that some Atari files have no CP/M counterpart.
Chameleon tries its best to convert Atari file to and from CP/M
files, but there are some restrictions.
Chameleon's Modem can:
- send text files
- receive text files
- send Atari DOS-II binary
files
- receive Atari DOS-II binary
files
Chameleon's version of the Modem protocol can't
- send a text file with a
control-z in it (this is a
CP/M problem)
- receive a CP/M binary file
(this is also a CP/M
problem)
Since CP/M binary files contain machine language for the 8080/Z80,
which the 6502-based Atari can't execute anyway, these restrictions
are not very important.
2.2 Modem screen messages
The Modem protocol divides the file being transferred into small
parts, called "blocks." Each block is sent with a number (from 0 to
255, starting with 1 and wrapping from 255 to 0) and some other
characters that help the receiver detect any errors that might have
occurred in transmission. If there are no errors, an ACK (short for
acknowledge) code is sent to the sender. If there are errors, then
an NAK (short for negative-acknowledge) is sent, and the sender will
re-transmit the block again. More details of the protocol can be
found in the Modem appendix.
Anyway, while a Modem file transfer is in progress, Chameleon
displays a status message telling you how the transfer is
progressing. It's general format is:
For Modem Send:
If block ### was sent without error:
Got ACK for Block ###
If block ### was sent incorrectly:
Got NAK for Block* ###
For Modem Receive:
If block ### was received without
error:
Sent ACK 4 Block ###
If block ### was received
incorrectly:
Sent NAK 4 Block* ###
2.3 Modem Send
To send a file to another computer using the Modem protocol, follow
these steps:
1. Establish a connection with
the system, log in, and run
that system's remote-Modem
program. specify that the
remote system is going to
receive the file.
2. Press the OPTION key to go
into Chameleon's menu mode.
Set the File Name item to
the file you want to send.
Change File Type to the
type of file you want to
send. Select a File
Transfer Protocol of Modem
Send.
3. Press the START key to go
to terminal mode.
4. Press the SHIFT+OPTION keys
to start the Modem sending.
5. Chameleon continues to send
until one of these events
occurs:
- It comes to the end of
the file, whereupon it
prints Quitting to
Terminal mode and
returns you to
terminal mode.
- You type a 'Q'
character on the
keyboard, whereupon it
prints Quitting to
Terminal Mode and
returns you to
terminal mode.
- A file I/O error
occurs, whereupon it
prints File I/O error
###. ### is an error
code which is
explained in the error
code appendix.
- It fails to transmit a
block more than ten
times, whereupon it
prints Aborting: too
many NAKs and returns
you to the terminal
mode.
6. The other computer's Modem
program knows when the file
transmission is over, so it
will automatically save the
file and exit.
2.4 Modem Receiving
The steps for receiving a file with the Modem protocol are as
follows:
1. Run the remote system's
remote-Modem program,
asking it to send the file
you want.
2. Press the OPTION key to go
to Chameleon's menu mode.
3. Select File Name and enter
the file name. Select the
appropriate File Type
option (probably Text), and
set File Transfer Protocol
to Modem Receive.
4. Press the START key to go
to terminal mode.
5. Press SHIFT+OPTION to begin
transfering.
6. Receiving will begin. It
will continue until one of
these events occurs:
- You type a "Q"
character, whereupon
Chameleon types
Quitting to Terminal
Mode and returns you
to terminal mode.
- A file I/O error
occurs. Chameleon
will display a File
I/O error was ###
message, where "###"
is an error code.
- Chameleon receives ten
bad blocks in a row,
in which case it
displays Aborting: too
many NAKs and returns
you to terminal mode.
- The file transfers
successfully, in which
case Chameleon prints
Qutting to terminal
mode and returns you
to terminal mode.
7. If you press SHIFT+OPTION
again, before changing the
File Name, the data in the
file will be destroyed.
2.5 Using Modem to Transfer a File
Between Two Ataris
The steps for transferring information from one Atari Home Computer
to another using the Modem protocol are as follows:
1. Establish a telephone
connection between the two
computers. One agrees to
be the sender, the other
the receiver. Each user
turns on their modem and
loads Chameleon into RAM.
2. The receiver sets up her
system to:
- File Transfer Protocol
Modem Receive
- File Name <whatever>
- File Type Binary
3. The sender sets up his
system to:
- File Transfer Protocol
Modem Send
- File Name <whatever>
- File Type Binary
4. The receiver types an
asterisk (*) and presses
the SHIFT+OPTION keys.
5. When the sender sees the
asterisk, he presses the
SHIFT+OPTION keys.
6. Transfer of the file should
then begin.
7. When it finishes, both
parties hang up their
phones.
3. Kermit File Transfer Protocol
The Kermit file transfer protocol was designed by Columbia
University for error free file transfer between a wide variety of
personal and time-sharing computers. While not yet as available in
the micro-computer community as the Modem protocols, Kermit has two
advantages:
1. You can transfer more than
one file at a time
2. You can transfer files
between your Atari and half
duplex IBM mainframe
computers.
A complete description of the Kermit protocol can be found in the
June 1984 issue of "Byte" magazine. It's titled, "Kermit: A
File-Transfer Protocol for Universities, Part 1: Design
Considerations and Specifications", by Frank da Cruz and Bill
Catchings, Byte, vol. 9, No. 6, pp. 255-278.
3.1 What kinds of files can be
transfered using Kermit
Kermit was designed primarily for transfer of text files between
microcomputers and large time-sharing computers. Every Kermit
implementation, including this one, supports text transfer.
There are several methods of transfering binary data using the
Kermit protocol. Chameleon uses the simplest one; simply preserving
the parity bit. This means that Chameleon's Kermit will properly
transfer a binary file if (and only if) the Parity is set to None,
and all eight bits of data actually make it from one computer to the
other. This means that you will probably be able to transfer a
binary file to any other microcomputer which supports Kermit, but not
to most time-sharing systems.
3.2 Kermit screen messages
While a Kermit transfer is in progress, the status line of the
terminal screen will display messages reflecting the state of the
file transfer. Here are the important messages:
"Receiving <file name> <packet number> <retry flag> (Q-quits)" this
means that the file named <file name> is being received by your
computer. The <packet number> should cycle from 0 to 63, with about
80 characters of the file being received each time the number
changes. <Retry flag> is character that appears whenever a
transmission error occurs.
"Sending <file name> <packet number> <retry flag> (Q-quits)" this
means that the file named <file name> is being sent by your computer.
The <packet number> should cycle from 0 to 63, with about 80
characters of the file being sent each time the number changes.
<Retry flag> is character that appears whenever a transmission error
occurs.
"Aborting; unexpected '#' packet" this means that either Chameleon
or the other computer is confused. Check that you've told one
computer to send, and the other computer to receive, and try again.
3.3 Kermit Sending
To send a file to another computer using the Kermit protocol,
follow these steps:
1. Establish a connection with
the system, log in, and run
that system's remote Kermit
program. Specify that the
remote system is going to
receive the file. For
example, on a DEC Vax,
running VMS, you would
type:
$ Kermit <RETURN>
Kermit-32> receive <RETURN>
2. Press the OPTION key to go
into Chameleon's menu mode.
Set the File Name item to
the file you want to send.
Note that, with Kermit, you
can send multiple files by
using the '*'. For
example, to send all the
files on the diskette in
drive 1, you would set the
File Name to:
File Name D1:*.*
Change File Type to the
type of file you want to
send. Select a File
Transfer Protocol of Kermit
Send.
3. Press the START key to go
to terminal mode.
4. Press the SHIFT+OPTION keys
to start sending the file.
5. Chameleon continues to send
until one of these events
occurs:
- It comes to the end of
the file, whereupon it
prints Quitting to
Terminal mode and
returns you to
terminal mode.
- You type a 'Q'
character on the
keyboard, whereupon it
prints Quitting to
Terminal Mode and
returns you to
terminal mode.
- A file I/O error
occurs, whereupon it
prints File I/O error
###. ### is an error
code which is
explained in the error
code appendix.
- It fails to transmit a
block more than ten
times, whereupon it
prints "Aborting:
Other host not
responding" and
returns you to the
terminal mode.
6. When you've returned to
terminal mode, repeatedly
press the RETURN key until
you see the other
computer's prompt. Then
type "Exit" and RETURN. On
a VMS system, for example,
that would look like this:
<return>
Kermit-32> exit <return>
$
If there was a file error,
the other computer's Kermit
program mays still be
trying to receive the data.
In that case, you will have
to type ten to twenty
carriage returns before you
get the other system's
prompt back.
3.4 Kermit Receiving
The steps for receiving a file with the Kermit protocol are as
follows:
1. Establish a connection with
the system, log in, and run
that system's remote Kermit
program. Type all but the
last character of the
command to send the files
you wish to receive. For
example, on a DEC Vax,
running VMS, to have all
the files in the default
directory sent to your
Atari, you would type:
$ Kermit <RETURN>
When you've returned to terminal mode, repeatedly press the
RETURN key during the computer's prompt. Then type "Exit" and
RETURN. On a VMS system, for example, that would look like this:
<return>
Kermit-32> exit <return>
$
If there was a file error, the other computer's Kermit program mays
still be trying to send the data. In that case, you will have to
type ten to twenty carriage returns before you get the other system's
prompt back.
3.5 Using Kermit to transfer files
between two Ataris
The steps for transferring information from one Atari Home Computer
to another using the Kermit protocol are as follows:
1. Establish a telephone
connection between the two
computers. One agrees to
be the sender, the other
the receiver. Each user
turns on their modem and
loads Chameleon into RAM.
2. The receiver sets up her
system to:
- File Transfer Protocol
Receive
- File Name D1:
- File Type Binary
3. The sender sets up his
system to:
- File Transfer Protocol
Send
- File Name <whatever>
- File Type Binary
4. The receiver presses the
SHIFT+OPTION keys and types
an asterisk (*).
5. When the sender sees the
asterisk, he presses the
SHIFT+OPTION keys.
6. Transfer of the file should
then begin.
7. When it finishes, both
parties hang up their
phones.
3.6 Kermit File Conversion
This section is for advanced users interested in the internal
format of the Atari Kermit file format--details of the actual Kermit
protocol may be found in the Byte article.
3.6.1 File names
Atari DOS II file names consist of a letter, followed by up to
seven letters or digets, optionally followed by a period and zero to
three more letters or digets. Happily, this exactly matches Kermit's
standard for file names. Most computer systems will accept Atari DOS
II style names, but you should check for any limitations. (Some
systems, for example, allow only five characters before the period.)
Some other computer systems allow very long file names. Chameleon
will happily pass any file name it receives on to DOS II. If the
received file name is illegal, Chameleon will report an error message
and abort the transfer, leaving you in terminal mode. You can solve
this problem by renaming the files on the other computer to conform
to the Atari DOS II standard.
3.6.2 File Type Text
On Kermit Send, Atari text files are converted into standard text
files as follows:
- All EOLs ($9b) are converted
into CR($0d)/LF($0a) pairs
- All Atari-TABs ($7f) are
converted into ASCII-TABs
($09)
- The high bit is removed from
each character.
On Modem Receive, standard text files are converted into Atari text
files as follows:
- All CRs ($0d) are converted
into EOLs ($9b)
- All LFs ($0a) are removed
from the file
- All ASCII TABs ($09) are
converted into ATASCII TABS
($127)
3.6.3 File Type Binary
No translations are made for File Type Binary. If the Parity is
set to None, and if the transmission medium and the other computer
preserve the eighth bit, then the binary data will be transmitted
without change.
3.7 Special instructions for using
Kermit with an IBM Mainframe
Large time sharing IBM computers can run a version of the Kermit
protocol under the CMS environment. Chameleon's Kermit must be told
that it is communicating with an IBM mainframe in order to properly
transfer files. To transfer files to an IBM mainframe, you must set
the main menu line Terminal Type to IBM 3031.
4. Character and Control Codes
Following are the character and control codes for each terminal
type Chameleon emulates:
Table 4-1: The Keyboard
When you have Parity set to NONE, the Atari key controls whether
the high bit is ON or OFF (most Operating Systems don't care).
Characters such as CTRL-4 or CTRL-SHIFT-<any key>, which aren't
legal in ATASCII (or ASCII) cause Chameleon to lock until you type a
legal character.
Table 4-2: Control Codes
4.1 TEST terminal
The TEST terminal type simple prints all character it receives,
including control codes. Bytes with the high bit set appear in
inverse video. Control characters appear as their ATASCII equivalents
(e.g., ASCII nulls show up as little hearts and CTRL-P as a little
club).
4.2 GLASS terminal
The GLASS TTY terminal type prints all characters except ASCII 0-31
and ASCII 127. Most control codes are ignored. The following,
however, are recognized:
^G visual bell (flash screen border)
^H back space (cursor left)
^I tab to next 8-column tab stop
^J line feed (cursor down)
^L form feed (clear screen,
home cursor)
^M carriage return
Table 4-3: Glass TTY Control Codes
When the cursor is at the end of a line and a character is typed,
the word and the cursor are "wrapped" to the next line.
4.3 IBM 3031 terminal
The IBM 3031 is a terminal type designed for communicating with IBM
mainframe computers. It is very much like a Glass TTY, but it forces
half duplex. The Kermit file transfer protocol has to know wether or
not it is communicating with an IBM mainframe. It checks the main
menu, and assumes that it is talking to an IBM mainframe if the
Terminal Type is set to IBM 3031.
4.4 ADM-3A Terminal
The ADM-3A terminal prints the same characters as the Glass TTY,
but it handles a different set of control characters. They are as
follows:
^G visual bell (flash screen border)
^H back space (cursor left)
^J line feed (cursor down)
^K cursor up
^L cursor right
^M carriage return
^Z clear screen, home cursor
^[ Y+32 X+32 move cursor to (X, Y)
^^ home cursor
Table 4-4: ADM-3A Control Codes
4.5 VT-52 Terminal
The VT-52 terminal prints the same characters as the GLASS TTY. It
reacts to control characters the same as the GLASS, except when ESC
(decimal 27) is received. Chameleon will treat the next character
received specially; if it isn't in the following table, Chameleon
ignores the character; if it is in the table, the action is as
indicated.
ESC, followed by:
A Move cursor up one line.
B Move cursor down one line.
C Move cursor right one column.
D Move cursor left one column.
H Move cursor to top left corner.
I Reverse line feed.
J Clear from cursor to end of screen.
K Clear from cursor to end of line.
Y <Y+32> <X+32> Move cursor to (X,Y).
Z Send ESC / Z to the other computer.
Table 4-5: VT-52 Escape Codes
4.6 VT-52XL Terminal
The VT-52XL is an imaginary terminal. It's just like the VT-52,
except that six more escape sequences have been defined.
ESC, folowed by:
F Enter reverse video mode.
G Exit reverse video mode.
L Insert a space at the cursor.
M Delete the character at the cursor.
N Insert a blank line at the cursor.
O Delete the line at the cursor.
Table 4-6: VT-52XL Extended Codes
If you are using a Unix time-sharing system, for example, you could
send the file UNIXTERM.CAP (provided on the Chameleon diskette) to
your unix system, then type "source chameleon" to the csh to provide
full support for Chameleon.
set noglob;
setenv TERM vt52xl ;
setenv TERMCAP 'xl|vt52xl|Chameleon:\
:so=\EF:se=\EG:\
:al=\EN:dl=\EO:im:em:ic=\EL:dm:ed:\
:dc=\EM:bs:cd=\EJ:ce=\EK:\
:cl=\EH\EJ:cm=\EY%+ %+ :co#80:li#24:\
:nd=\EC:pt:sr=\EI:up=\EA:\
:ku=\EA:kd=\EB:kr=\EC:kl=\ED:';
unset noglob;
echo Chameleon supported ;
Figure 4-1: Text of UNIXTERM.CAP
I. File I/O Error Codes
67 can't FTP from/to the C device
69 can't FTP from/to the E device
75 can't FTP from/to the K device
82 can't FTP from/to the R device
83 can't FTP from/to the S device
128..255 Standard ATARI DOS errors.
II. Modem 2 Protocol Specification
The Modem 2 protocol was designed to be used with CP/M based
personal computers. It was invented prior to 1/1982 by Ward
Christensen. At one time, he could be reached via CBBS/Chicago at
(312) 545-8086, or by voice at (312) 849-6279.
Space considerations force the ommision of the full Modem 2
Protocol Spec. Note that this version of Chameleon is fully
compatable with the AMODEM 4.x implementation of the Modem protocol.
Happy Telecommunicating!
Back to previous page