home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
GEMini Atari
/
GEMini_Atari_CD-ROM_Walnut_Creek_December_1993.iso
/
files
/
telecomm
/
fzt_d220
/
xyz201.doc
< prev
next >
Wrap
Text File
|
1992-03-23
|
53KB
|
1,453 lines
STARFALL SOFTWARE PRESENTS
XYZ version 2.0
===============
By Alan Hamilton
Copyright (C) 1991, all rights reserved
1 WHAT IT IS
Here it is.... all you need for transferring files with your ST. I was
frustrated by the limitations that the ST version of RZ.TTP and SZ.TTP had, so
I wrote my own, and I'm willing to fix any bugs that turn up in it.
XYZ version 2.0 is SHAREWARE and copyrighted. You may freely pass it around
and post it on private or public BBSs. If you like it, please help out by
making a contribution. I suggest $10, but if you think XYZ is worth less, or
more, send whatever you think is fair. The previous version, v1.43, is not
copyrighted and still free, so if it serves your needs, feel free to continue
using it. If you have registered an earlier version of XYZ version 2, you do
not need to reregister.
Send comments, contributions, etc. to: Alan Hamilton
6202 N. 16th St. #202
Phoenix, AZ 85016-1734
Features include:
1. Transfers all files unchanged -- "binary" mode.
2. Transfers files at the maximum speed the system you are connected to can
support. No "wait states."
3. The timestamps on the files are preserved, unless you don't want them to
be. You are told, in regular calendar format, what the timestamp is.
4. Interrupted transfers can be restarted where they left off (in ZMODEM).
5. You are kept informed as to how much of the file has actually been
received, not how many bytes have been received in the current session. If
you tried to restart a transfer with RZ.TTP, you wouldn't know where you
were.
6. There is no feature six.
7. Filenames that aren't compatible with the ST are transformed into ones
that are, not just truncated at the first illegal character. If they can't be
converted, a random filename is chosen. These transformed filenames are
unique -- no more losing a file because after being truncated because it was
the same as a previous filename.
8. Works with all ST, STe and Mega ST configurations.
9. Includes versions of XMODEM and YMODEM for completeness.
2 LEGAL STUFF
XYZ is copyright (C) 1991 by Alan Hamilton, all rights reserved. It may be
copied and distributed freely provided that the XYZ.TTP, XYZ.DOC, and READ.ME
files are all included. If distributed for a fee, it should be made clear to
the purchaser that the fee does not include the shareware fee (see above).
- 1 -
XYZ is shareware. If you use XYZ, please register it. I suggest a $10
registration fee, but if you think it's worth more, or less, send that
amount.
Although I've done my best to test XYZ, it's offered "as is" with no guarantee
at all. You use it at your own risk. I will not be responsible for any
losses you may suffer from using it.
3 ACKNOWLEDGMENTS
XMODEM was developed by Ward Christenson.
YMODEM and ZMODEM were developed by Chuck Forsberg of Omen Technology.
CRC code by Stephen Satchell of Satchell Evaluations, and Chuck Forsberg of
Omen Technology.
Flash is a trademark of Antic Publishing.
C library code copyright (C)1988 by the Mark Williams Company.
520ST, 1040ST, STe, Mega ST and Mega STe are trademarks of Atari, Inc.
GEnie is a trademark of GEISCO/General Electric.
GEM and GEM Desktop are trademarks of Digital Research.
4 WHAT IT ISN'T
Although XYZ supports the most useful parts of the ZMODEM protocol, there are
a few things that aren't.
1. Commands. This part of the ZMODEM protocol was intended to allow you to
remotely control a system. Since XYZ is intended to be manually operated, and
the ST doesn't have a standard command line interface, commands are not
accepted.
2. Compression. Neither run-length encoding (RLE) nor Lempel-Ziv-Welch (LZW)
compression is supported. You can use a separate utility to compress files
and then send them with XYZ if you want.
3. Challenges. XYZ does not try to verify that it is connected to a system
that is ready for ZMODEM. It assumes that you have already told that system
to go to ZMODEM.
4. Pathnames. XYZ does not send any path information to the remote system,
and strips off any it receives.
5. Selective file replacement. The ZMODEM protocol lets you selectively
transfer files based on whether they exist or don't exist at the receiver, or
whether they are different in file size, date, or CRC. XYZ only does one of
two things while downloading: If a file does not exist, it is transferred in
its entirety. If it does exists, it assumes that you are resuming a file
transfer that was aborted, and tries to resume at the end of what you have.
When uploading, the remote system will decide which files to accept.
6. File transmission resumption. Do not try to download a file that already
exists on your disk unless you are trying to recover an aborted transfer. The
file will be damaged if it is a different file, despite having the same name.
If the file was previously received in its entirety, and you try to restart a
download on it, it probably won't be damaged, but this depends on how the
sender reacts, so be careful.
7. Disk space check. If the sender tries to check on how much space you have
available on your disk, XYZ will always tell it that you have an unlimited
amount. This was done because checking the disk space is a very slow
- 2 -
operation on hard drives.
8. Encrypting. File encryption is not supported.
9. Seven bit transfers. Transferring eight bit files (non-text files) over
lines that only support seven bits per character is not supported. This is
something you'd only run into with a mainframe.
10. Sparse files. Transferring selected portions of a file that's mostly
zeros is not supported. The entire file must be sent.
11. 32 bit CRCs. XYZ only uses 16 bit CRCs, which should be sufficient
unless you are really paranoid about data integrity.
12. CRC checks on files. Some systems will do this to determine whether or
not they have the same version of a file as the one you are sending. XYZ
doesn't support this check at this time.
5 HOW TO USE IT
5.1 Configuration
XYZ is mainly intended to be run from inside a regular telecommunications
terminal program. Because of this, it does not alter the settings of your
ST's RS232 port from what the terminal program has set them to. For XYZ the
RS232 port should be set as follows:
Baud (or bits per second or BPS):
This should match what the system you are connecting with requires, and what
your modem is capable of.
Data bits: 8
Parity: None
Stop bits: 1 or 2
Flow control: XOFF/XON (also called DC2/DC4): OFF
RTS/CTS: OFF, unless you are using a high-speed modem that
requires it to be on.
These settings are very common, so you probably won't have to change them.
5.2 Running from the Desktop
If you can't run programs from within your terminal program, or your memory
space is limited, you will have to exit to the Desktop to run XYZ. Set the
remote system up for the transfer, then exit your terminal program. Open XYZ,
and a dialog box will appear. Type in the options (see below for the options
available), click on OK, and the transfer will start. One of the options you
will want to specify is -p which will make XYZ pause before it returns to the
GEM Desktop. If you don't specify a folder to download to, the files will go
into the same folder that XYZ is in. After XYZ finishes, it will exit back to
the Desktop. You may then rerun your terminal program and continue.
5.3 Running from within a terminal program
If you can run programs from within your terminal program, life gets much
easier. If, however, your terminal program doesn't let you pass parameters to
a .TTP program, you will only be able to download only with ZMODEM and to the
default folder. See the manual for your terminal program for directions on
running other programs.
In Flash, the command is "exec xyz.ttp" (omit the quote marks). Any options
go after the program name. If you are keeping XYZ in a different folder than
the default one (set with Flash's DP or CD commands), you will have to specify
- 3 -
it: "exec c:\telecom\xyz.ttp". You can even program a function key to run
XYZ, and download with the push of one button. Program the key you want with
">exec xyz.ttp|", along with any options you want before the |. (See the
Flash manual on setting function keys.) After XYZ completes, you will be
returned to Flash.
5.4 Aborting a transfer
If you want to stop a transfer before it is complete, press the UNDO key. XYZ
will send an abort sequence to the remote system and terminate. Keep in mind
that some mainframes take their own sweet time responding to abort sequences,
so you may see a long string of garbage on your screen, or the mainframe may
seem to have locked up. If you are using ZMODEM, you can restart the transfer
of a partially transferred file later.
5.5 Second chance file save
In case of a disk error while saving a downloaded file, XYZ will give you a
second chance to save the file, with the limitation that the entire file must
fit in XYZ's buffer, and that you respond to the error message within 30
seconds. The time delay only applies to your first response. After that, XYZ
will wait any amount of time for your input. To cancel the time out, press
any key.
You have three options.
Retry save, selected by typing 'R', makes XYZ try the operation again. If the
problem that caused the first failure hasn't been fixed, the error will happen
again.
New path, selected by typing 'N', lets you enter a different folder or drive
to save to. For example, to save to the root directory of drive B:, you'd
enter "B:\" (without the quote marks). If you select a path that doesn't
exist, you will get another error.
Abort, selected by typing 'A', makes XYZ abort the save. You will lose
anything that was in XYZ's buffer, and the file transfer will be aborted.
If you don't respond to the error message within 30 seconds, XYZ will choose
Abort for you. This happens so that if XYZ is running unattended, it won't
get stuck.
5.6 Downloading
5.6.1 ZMODEM
The -z option selects ZMODEM, but since this is what XYZ defaults to, the -z
may be omitted. You can specify a folder to download to on the command line.
If you don't specify a folder, XYZ will put the files in the current default
folder. This is either the folder that XYZ was run from or the folder your
terminal program was run from, unless you've explicitly changed it with
something like Flash's DP command.
Examples: No options means download ZMODEM
to the default folder
c:\download Download ZMODEM to the DOWNLOAD folder
on drive C:
The RZ ZMODEM program supports some extra options that can be set by XYZ when
- 4 -
it is uploading to a system that is running RZ. These options are passed
along to it. If the other system is not running RZ, they will be ignored.
Since the option flags mimic those of RZ, they must be in the same case as
they are given -- upper or lower. Unless you are having problems with the
other system, you probably should not need these. The options should be
stacked right after the -z command, like -zaY.
a Convert newlines to local format
b Binary file -- no conversion
n Transfer if source newer
N Transfer if newer or longer
p Protect file -- don't overwrite
r resume interrupted transfer
y Clobber (replace) file
Y Send file if not present
+ Append to existing file
5.6.2 YMODEM
The -y option selects the YMODEM batch protocol. You should know that some
BBSs call XMODEM-1K (XMODEM with 1K blocks) "YMODEM," and call YMODEM "YMODEM
batch." If the system offers both those options, select YMODEM batch to use
with XYZ's YMODEM.
You can specify a folder to download to on the command line. If you don't
specify a folder, XYZ will put the files in the current default folder. This
is either the folder that XYZ was run from or the folder your terminal program
was run from, unless you've explicitly changed it with something like Flash's
DP command.
Examples: -y Download YMODEM to the default folder
-y c:\download Download YMODEM to the DOWNLOAD folder
on drive C:
5.6.3 XMODEM
The -x option selects an XMODEM file transfer. You should know that some BBSs
call XMODEM-1K (XMODEM with 1K blocks) "YMODEM," and call YMODEM "YMODEM
batch." If the system offers both those options, select YMODEM to use with
XYZ's XMODEM with 1K blocks, or XMODEM to use with XYZ's XMODEM with 128 byte
blocks.
XMODEM does not provide a way for the remote system to tell XYZ what the name
of the file being transferred is, so you must put the file name on the command
line. If you want the file to go into a folder other than the default one,
you should specify the path name also. See the examples below.
You do not need to tell XYZ if the remote system will be using 1K blocks or
not. XYZ will get that information by itself from the other system.
If you want to transfer an XMODEM file from a very old system that is still
using the original XMODEM with checksum error checking, use the -xc option
instead of -x on the command line. You should only use this if it's all the
system will support. The newer CRC error checking is much more reliable.
Examples: -x forbush.txt Download with XMODEM the file FORBUSH.TXT
to the default folder
- 5 -
-x a:\pdq\phred.txt Download with XMODEM the file PHRED.TXT
to the PDQ folder on drive A:
-xc oldfile.txt Download with XMODEM using checksum error
detection the file OLDFILE.TXT
5.7 Uploading
5.7.1 Wildcards
When uploading with YMODEM or ZMODEM, you can transfer more than one file at
once. You can put the names of the files to send on the command line, but you
are limited by the length of the line, and in any case, XYZ will only take 10
filenames that way. By using wildcards, you can give XYZ a partial filename,
and it will upload all the filenames that match it.
The two wildcard characters are ? and *. The question mark will match exactly
one character, and the asterisk will match zero, one, or more characters.
Suppose you have the following files on your disk:
THING1.PRG
THING2.PRG
THING.PRG
THING44.TXT
THING?.PRG would match THING1.PRG and THING2.PRG. THING*.PRG would match
THING1.PRG, THING2.PRG, and THING.PRG. *.TXT would match THING44.TXT only.
The wildcard combination *.* will match all of them. You should be careful
about using *.*, as it will send every file in the folder, including XYZ,
should it be in that folder.
5.7.2 ZMODEM
The options -u -z select ZMODEM uploading. ZMODEM is the default, so you can
just specify -u if you want. Place the filenames of the files you want to
transfer (up to ten) on the command line. You can also specify filenames in
an input file using the -i command (see below). Wildcards are allowed, and
XYZ will send every file that matches, even if there are more than ten files.
Examples: -u c:\uploads\*.* Upload using ZMODEM every file in the
UPLOADS folder on drive C:
-u file1 file2 Upload using ZMODEM FILE1 and FILE2 from
the default folder
-u a:\*.arc Upload using ZMODEM every ARC file in
the root directory of drive A:
-u -ifile.lst Upload the files listed in the FILE.LST
file
5.7.3 YMODEM
The options -u -y select YMODEM uploading. You should know that some BBSs
call XMODEM-1K (XMODEM with 1K blocks) "YMODEM," and call YMODEM "YMODEM
batch." If the system offers both those options, select YMODEM batch to use
with XYZ's YMODEM.
Place the filenames of the files you want to transfer (up to ten) on the
command line. You can also specify filenames in an input file list using the
-i command (see below). Wildcards are allowed, and XYZ will send every file
that matches, even if there are more than ten files.
- 6 -
Examples: -u -y c:\uploads\*.* Send using YMODEM all the files in the
UPLOADS folder on drive C:
-u -y file1 file2 Send using YMODEM FILE1 and FILE2 from
the default folder
-u -y a:\*.arc Send using YMODEM all the ARC files from
the root directory of drive A:
-u -y -ifile.lst Send using YMODEM all the files listed
in the FILE.LST list
5.7.4 XMODEM
The options -u -x select XMODEM uploading. Using the option -x1k instead of
-x makes XYZ use 1K blocks rather than the default 128 byte blocks. 1K blocks
make the transfer go faster, but the remote system has to support them. You
should know that some BBSs call XMODEM-1K (XMODEM with 1K blocks) "YMODEM,"
and call YMODEM "YMODEM batch." If the system offers both those options,
select "YMODEM" to use with XYZ's XMODEM with 1K blocks, or "XMODEM" to use
128 byte blocks.
You don't need to tell XYZ whether to use CRC or checksum error detection
while uploading. It will get that information directly from the remote
system.
XMODEM can only transfer one file per session. Put the name of the file to
send on the command line. You can also specify the filename in an input file
list using the -i command. If you use wildcards, only the first file that
matches will be sent. This may be any one of the matching files, and there's
no good way to tell in advance which one it will be. Using wildcards with
XMODEM is *not* recommended for this reason.
Examples: -u -x snowball.arc Send using XMODEM the file SNOWBALL.ARC
from the default folder
-u -x1k ako.gif Send using XMODEM-1K the file AKO.GIF
from the default folder
-u -x1k a:\b\c.arc Send using XMODEM-1K the file C.ARC
from the B folder on drive A:
-u -x1k -ifile.lst Send using XMODEM-1K the file listed in
the FILE.LST file
5.8 Options
5.8.1 -1 Disable batch mode (1 file)
If you are downloading, and only want to accept one file using YMODEM or
ZMODEM, use this option. If the other system tries to send more than one
file, XYZ will reject the extra files. You have the option of specifying the
name that the one file will be saved under. If you specify a filename right
after the -1 option, the one file that is accepted will be saved under that
name, not the name the other system gave it. Note that the -1 is the number
one, not a lowercase L.
Examples: -1 Only accept one file in transfer
-1afile.arc Only accept one file, and save it under the name
AFILE.ARC, regardless of what the other system called
it.
- 7 -
5.8.2 -a Alarm
Normally, XYZ will ring the terminal bell when it has completed transferring
all the selected files. Putting -a on the command line makes XYZ ring the
bell after each and every file.
5.8.3 -c Detect modem carrier
This makes XYZ constantly check the status of the modem's carrier detect line.
If the modem loses the carrier from the remote system, and this option is
specified, XYZ will abort the transfer.
5.8.4 -h Help
This causes a short description of the available options to print out, along
with the current version number. Giving an invalid option gets you this
display, too.
5.8.5 -i Input file list
This lets you specify a text file containing the names of files to be
uploaded. Each filename should be separated by any combination of spaces,
tabs, cursor returns, or line feeds. The name of the file should come right
after the -i option.
Examples: -ifile.lst Upload files listed in the file FILE.LST
-ia:\file.lst Upload files listed in the file FILE.LST on drive
A:
5.8.6 -o Output file list
This option will make XYZ make a text file containing the filename of all
files that were uploaded or downloaded successfully. If a transfer was
aborted, the name of the file not sent will not be listed.
Example: -olist.txt List files transferred in the file LIST.TXT
5.8.7 -p Pause
If you are running XYZ from the Desktop, you won't be able to see any error
messages when it exits, as the Desktop wipes them out. Putting -p on the
command line will make XYZ prompt you to press a key before it exits.
5.8.8 -q Quiet
This option lets you suppress XYZ's messages. Using -q suppresses the status
messages, but still allows error messages. Using -qq prevents any messages
from being generated. Note that the -v option will not work with the -qq
option.
5.8.9 -r Set retry limit
Ordinarily, XYZ will abort a transfer if more than ten errors occur. When you
have had that many errors, the chances of an error slipping through undetected
become greater. If, however, you want to take your chances, you can set the
retry limit with this command. It can be set anywhere from the default 10 up
to 1000. There must not be any spaces between the -r and the number.
Example: -r50 Set XYZ's retry limit to 50
5.8.0 -s Return status
This option is only useful if you are having some other program call up XYZ.
The -s option makes XYZ return a status code that indicates how the file
transfer went. Use this only with a program that expects XYZ to return status
codes. See the error messages section for details on what the errors mean.
- 8 -
The codes are:
0 No error
-1 Missing block number
-2 Missing or bad header
-3 Synchronization error
-4 Timed out
-5 Checksum error
-6 User aborted
-7 File error
-8 Too many retries
-9 CRC error
-10 Filename must be specified
-11 Bad escape character
-12 Bad or unsupported packet type
-13 Bad hexadecimal character
-14 Sender not ready or set to receive
-15 Subpacket too long
-16 Sender aborted
-17 File position error
-18 Sender indicates end of file, but file length is wrong
-19 Receiver canceled
-20 End of transmission not acknowledged
-21 Bad option on command line
-22 Not enough memory to allocate buffers
-23 Modem carrier lost
-24 Batch mode disabled -- file skipped
5.8.1 -t Touch
This makes XYZ "touch" (set the time and date to the current time and date)
files that it downloads. If the sender specifies a creation time and date for
a file, that is normally retained. The -t option makes XYZ use the current
time and date instead. If the creation time and date isn't specified by the
sender, the current time and date is put on the file. XMODEM will always use
the current time and date.
5.8.2 -v<file> Verbose mode
This causes XYZ to output special debugging information. If no file is
specified, the output goes to the screen. If a file is specified, it should
be directly after the "v" (no spaces), and output will go to it, along with
any error messages you might get. If you have problems with XYZ, run it with
the -v option, and send the file it creates along with any comments to me.
When using a file, there must not be any spaces between the -v and the file
name.
Examples: -v Download ZMODEM, sending debug info to screen
-ve:\log.txt Download ZMODEM, sending debug info to "log.txt"
on drive E:
6 PROBLEMS
If you have problems with XYZ, look up the error messages here in the manual.
If you can't resolve your problems using that information, run it using the
-vlog.txt command, and send the log.txt, along with any other information that
seems relevant, to me on the GEnie computer service, at STARFALL. You can
also contact me at the mail address given at the start of this document.
- 9 -
7 REVISION HISTORY
5-31-91: v2.01 A lot of bug fixes! The error recovery for ZMODEM uploads
has, with any luck, been fixed. A bug that would cause bombs when aborting a
YMODEM transfer has been fixed. New features are a vastly improved transfer
status display, and the ability to abort the transfer if the modem drops
carrier. The -b command has been removed, due to a more reliable method of
detecting the transfer speed. New command line options:
-1 (one file) Disable batch mode in Y/ZMODEM. Only accept one file.
-c (detect carrier) Abort transfer if modem drops carrier.
-i (input file list) Files to send can be listed in a text file.
-o (output file list) Files transferred can be listed in a text file.
-q (quiet) Status messages can be suppressed.
11-19-90: v2.0: I knew I'd get back to it eventually.
New command line options:
-u (upload) Yes, uploading is here finally!
-s (status) If you are running XYZ from another program, like a BBS, you
can have XYZ return error codes.
-b (baud rate) sets rate that file transfer times are based on. See below.
New features:
Transfer time estimation. XYZ will estimate the time it will take to send
a file, based on the speed that the serial port is set at, or on the rate you
specify with the -b option.
Second chance save. If XYZ encounters a disk error while saving a file,
and the file will fit entirely within XYZ's buffer, XYZ will give you a second
chance to save it.
Bugs relating to changing incompatible filenames have been fixed. The -v
option no longer has to be the last one on the command line. YMODEM doesn't
bomb on some errors anymore. ZMODEM handles resending packets better.
Sometimes you would get a GEM dialog box in response to a disk error, but the
mouse was disabled so you couldn't select anything. XYZ now handles its own
errors.
12-6-89: v1.43: More bug fixes! When trying to rename some incompatible
filenames, XYZ would bomb. If you tried to download more than one file in a
ZMODEM session, and the first file was a restarted transfer (already partially
downloaded), the characters per second speed rating would be wrong on
subsequent files. A new option "-a" has been added. This will make the
terminal bell ring after every file in YMODEM and ZMODEM, not just at the end
of a complete session. XYZ now shows its version and creation date whenever
you run it. A byte count is now shown along with the block count in XMODEM
and YMODEM. XMODEM and YMODEM can now recover from a timeout error on the
first block. XMODEM and YMODEM now will retry the correct number of times; it
was only retrying half as many as it should have. A few typos have been fixed
in the program and this doc file (how come nobody told me "transferred" had
two r's?).
11-3-89: v1.42: In 1.41, if you were disconnected while using ZMODEM, XYZ
would not time out, and you would not be able to use the UNDO key to abort.
The only way out would be to reset the computer. The console bell now rings
at the end of a file transfer session.
- 10 -
10-21-89: v1.41: Lots o' changes this time:
1. If v1.3 of XYZ was started before the sender started up, XYZ would bomb.
Fixed.
2. A bug in handling of file creation dates in YMODEM has been fixed.
3. XMODEM and YMODEM now use disk buffering.
4. File errors are now more explicit as to what the problem is.
5. ZMODEM now can handle speeds over 9600 baud.
6. XMODEM and YMODEM now indicate how fast the files were transferred.
ZMODEM no longer overstates the transfer rate if you are restarting a
transfer.
7. Handling of retries is different. In earlier versions, the retry limit
(before aborting) was supposed to be ten, but a bug made it only five. This
has been fixed, and a new option has been added to let you specify a retry
limit. Put -r<n> on the command line, with <n> replaced by the number of
retries (up to 1000). For example, -r25 would give you 25 retries.
8. Some messages that were similar in YMODEM and ZMODEM were changed to be
exactly the same.
9. Some of the C library code has been replaced with code of my own, making
XYZ about 4k smaller.
10-1-89: v1.3 At long last, disk buffering is here! Rather than saving
after every packet, XYZ only does a disk write after all available memory has
been filled up. XYZ now lets you start it before the sender has started.
This was attempted in v1.2, but a bug in the code would make XYZ bomb if you
tried it. That has been fixed. A disk full condition is now reported, rather
than just a generic "File error" if the disk doesn't have enough room for the
file. A new option -p will make XYZ wait for you to press a key before
exiting. This can be handy if you are running XYZ from the Desktop.
9-19-89: v1.2 Up to now, if XYZ got five CTRL-X's while waiting for a ZMODEM
frame to start, it would abort with a "Sender aborted" error. Now it only
aborts if it gets five *consecutive* CTRL-X's. Unexpected aborts most often
happened during recovery of CRC errors. Now sends hardware break signal
correctly. XYZ now handles timeout errors better.
9-15-89: v1.1: A rather stupid error regarding filename conversion has been
fixed. XYZ would sometimes insert a '.' in the seventh or eighth position of
a filename, regardless of whether it was appropriate or not. The help screen
(printed in response to the -h option) has been rearranged.
9-13-89: XYZ v1.0 released. Implements ZMODEM for the first time. Buffer
overflow at high bps rates fixed. Synchronization error in YMODEM fixed
(again!). UNDO key handling improved. The documentation file, XYZ.DOC, is
totally new. XY.DOC is no longer applicable.
7-2-89: XY.TTP v0.5 released. Handles only XMODEM and YMODEM. Early release
to accommodate changes made to GEnie software that Flash(tm) could not
handle.
8 ERROR MESSAGES
Something that has always ticked me off is getting an error message from the
- 11 -
program I'm using, looking it up in the manual, and finding that IT'S NOT
THERE! So, what follows is a complete listing, in alphabetical order, of
every possible message that XYZ can produce, along with an explanation.
Access denied
The ST could not open a file either because the file is set to read only
status, or a folder exists with that same name.
Attn string: <hex bytes>
This details the string the sender wants XYZ to use to interrupt it.
Average transfer rate = <number> cps
This gives the average throughput in characters per second.
Bad escape char <hex byte>
An invalid escape sequence was received. Probably caused by line noise.
Bad escape character
An invalid escape sequence was received. Probably caused by line noise.
Bad hexadecimal character
XYZ was expecting a hexadecimal digit but got an character that wasn't 0-9 or
a-f. Probably caused by line noise.
Bad option on command line
An option that XYZ doesn't recognize was in the command line.
Bad or unsupported packet type
An unrecognized packet was received. Either caused by line noise, the sender
being set to upload when XYZ is downloading or vice versa, or using ZMODEM
features XYZ doesn't support. See "WHAT IT ISN'T" section.
Bad packet type <number>
Same as above. The type number of the packet is printed.
Bad request
A serious error within either the ST's operating system or within XYZ has
occurred. You may have to reset your computer.
Batch mode disabled -- file skipped
More than one file was received, but the -1 command had been specified. The
extra files are skipped.
Bombs
Not the word "Bombs", but the little cartoon bombs on the left side of your
screen. The ST's processor has encountered an instruction that it can't
process. This can be caused by a bad copy of XYZ, a conflict with a desk
accessory or program in the AUTO folder, or (most likely) a coding boo-boo of
mine.
Block #<block number> (<number> bytes, <speed> cps)
Number of the block being received, the number of bytes already transferred,
and the number of characters per second that were transferred for this block.
- 12 -
Block resent, but not requested.
A block was retransmitted that XYZ did not request. Caused either by line
noise, or very slow responses by the sender.
Buffer size = <size>
The number of bytes of memory that XYZ will use as a buffer.
Bytes transferred CPS: now / avg Time left
Under this header are specified: the number of bytes transferred, the
percentage of the file transferred, the transfer rate for the most recent
block, and overall for the entire file, and the estimated time it will take to
transfer the remainder of the file.
Can't convert filename "<filename>", will use "<filename>"
The sender specified a filename that XYZ couldn't make compatible with the
Atari ST's operating system. A random filename with the extension .XYZ will
be used.
Can't find any files matching "<filename>"
XYZ couldn't find one of the files you specified for uploading, or if you used
wildcards, there were no matching files. Make sure that the filename is
correct, and that you've specified the path if the file isn't in the default
folder
Can't open error log
The filename specified with the -v (verbose) option can't be opened. The
output will go to the screen instead.
Can't open "<filename>" for input file list: <error>
XYZ couldn't open the file specified in the -i command. Look up the <error>
for the reason why.
Can't open "<filename>" for output file list: <error>
XYZ couldn't create the file specified in the -o command. Look up the <error>
for the reason why.
Can't read from input file list
XYZ wasn't able to read in the file specified in the -i command, possibly due
to a disk error.
Caught a <number> signal
The remote system is interrupting XYZ's upload with the indicated packet
type.
Checksum error
The checksum on the last block was invalid. Probably caused by line noise.
Command received, but commands not supported
XYZ does not accept commands from remote systems. See "WHAT IT ISN'T"
section.
Command: <command>
Text of command received. See above.
- 13 -
CRC error
The CRC error detection code on the last block was invalid. Probably caused
by line noise.
Crc error (as part of file error message)
The ST detected an error while accessing the disk. The disk may be damaged.
Created on <date>
Gives time and date that the file was created.
Disk full!
There isn't enough room on your disk to hold the file. The transfer is
aborted, with as much of the file as the disk will hold saved. You can resume
the transfer in ZMODEM if you move the partial file to another disk that has
more room, or if you delete some files on the disk. If the entire file fits
in the disk buffer, you can use the second chance save feature to save it to a
different disk.
Downloading YMODEM
A YMODEM session has started.
Drive not ready
The disk drive isn't responding. Make sure the drive is attached, turned on,
and has a formatted disk in it.
Duplicate YMODEM header received. Ignored.
A file specification block was retransmitted by the remote system, but it was
not requested. Caused by line noise, very slow responses from the sender, or
operating XYZ in XMODEM mode when the sender is using YMODEM.
End of transmission not acknowledged
XYZ finished sending a file using XMODEM or YMODEM, but the remote system did
not answer XYZ's end of file signal. Caused by line noise, or the remote
system going down.
Enter new path:
Enter the path that you want XYZ to retry the save operation on. Hit <RETURN>
without entering anything to retry on the same path.
Error closing file: <error type>
XYZ closed a file that it was finished with, but a disk error occurred. Look
up the error type in this section for an explanation.
Error closing input file: <error type>
Same as above.
Error in positioning file pointer: <error type>
XYZ tries to find the end of the file after it opens it. If it can't, you get
this message. Look up the error type that prints out to find out what error
occurred.
Error in seeking to end of file
Same as above.
- 14 -
Error opening file: <error type>
XYZ could not open a file. Look up the error type in this section to find out
what error occurred.
Error opening input file: <error type>
Same as above
Error reading input file: <error type>
A disk error occurred while XYZ was reading from a file. Look up the error
type in this section for an explanation.
Error seeking to end of file
XYZ tries to find the end of the file after it opens it. If it can't, you get
this message.
Error seeking to offset <offset>
An error occurred when XYZ tried to reference the indicated position in a
file.
Error writing to file: <error type>
An error occurred while XYZ was trying to write to a file. Look up the error
type in this section to find out what error occurred.
File created on <time & date>
The time the file being received was created.
File created on <time & date>, reset to <time & date>
The time the file being received was created. This will be changed to the
current time and date.
File creation date not specified, reset to <time & date>
The sender did not specify a creation time; therefore the current time will be
put on the file.
File error
A file error occurred while writing to the disk. Caused by a full disk, a bad
filename, specifying a folder that doesn't exist, or a disk error.
File error at sender
A file error occurred at the remote system, so it is aborting the transfer.
File exists -- transfer resuming at offset <offset>
The file that is being transferred already exists, so it is assumed that an
aborted transfer is being resumed.
File <filename> exists!
XMODEM and YMODEM will not overwrite a file that already exists. Specify a
different file name (XMODEM) or path (YMODEM), or delete the file that
already exists.
File name is <filename>
Specifies what file was being accessed when a disk error occurred.
File not found
- 15 -
XYZ tried to read from a file that didn't exist. Make sure that the filenames
you put on the command line exist and are in the correct folder.
File pos = <position>, sender = <position>
XYZ and the sender disagree over how much of the file has been sent. The
position each claims is specified.
File position error
XYZ and the sender disagree over how much of the file has been sent.
File name is <filename>
The name of one of the current open file is printed.
Filename must be specified
When doing an XMODEM download, you have to put the filename on the command
line.
<number> files to send, <size> total size
Gives the total number of files that have been selected for uploading, and the
total number of bytes they take up.
Function domain
Function range
XYZ has made a request of the ST's operating system that the ST can't handle.
Either the operating system has been corrupted, or there is a bug in XYZ.
Reset the computer and try again.
Fundamental error
The disk drive is not responding. Make sure that it is connected, turned on,
and has a formatted disk in it.
General error
This is an internal error in the ST's operating system. You will probably
have to reset the computer.
Got <type> after ZEOF
The indicated packet type was received after XYZ sent a ZEOF packet.
Got a GOTCAN
The remote system sent a session abort sequence (a series of CTRL-X's, or
"CANcels") while XYZ was waiting for a character.
Got a session abort while waiting for ZPAD
The sender sent a series of CTRL-X's, or "CANcels," while XYZ was waiting for
the start of a ZMODEM frame.
Got a ZRPOS!
This packet type is used for uploading, but XYZ got one when it was
downloading. Make sure that XYZ and the remote system are set to send files
in the same direction.
Got a ZSKIP?!?
This packet type is used for uploading, but XYZ got one when it was
downloading. Make sure that XYZ and the remote system are set to send files
- 16 -
in the same direction.
Got: <frame type> <header> <hex bytes> CRC <CRC value>
This details a ZMODEM packet that was received.
Got ZCRC '%c'
This indicates tells the CRC type at the end of the last data subpacket.
"<filename>" has been renamed to "<filename>"
The remote system specified a filename that the ST cannot handle, so XYZ
changed it to the specified name.
Insufficient memory
Either your computer does not have enough memory for XYZ to run, or something
has gone wrong with the way the memory is being managed. Try removing desk
accessories and/or programs in the AUTO folder to free up some memory. If you
are running XYZ from within another program, you may have to run it from the
Desktop to get enough memory.
Internal error
An error has occurred within the ST's operating system. You will probably
have to reset the computer.
Interrupted by packet type <type>
The remote system is trying to get XYZ's attention with an error recovery
message
Invalid drive specified
You specified a drive in the path name that does not exist. Be sure the drive
letter you specified was correct, and the disk is connected and turned on.
Invalid function number
Invalid handle
Invalid memory block address
A serious internal error in XYZ or the ST's operating system has occurred.
Invalid option <option>
You put an option on the command line that XYZ does not recognize. A list of
the valid options is printed out.
<filename> matches <filename>, <number> bytes
The filename (possibly with wildcards) for uploading matches the specified
file.
Media change
You removed the disk from the drive while XYZ was using it. NEVER remove a
floppy disk until after XYZ has finished running.
Memory free: <# of bytes>
Shows the amount of memory left free before XYZ allocates its buffers.
Message: <text>
The remote system sent a message.
- 17 -
Missing block number
A valid block number was not received. Probably caused by line noise.
Missing or bad header
The block header was not sent completely or was garbled. Probably caused by
line noise.
Modem lost carrier
The carrier detect line from the modem dropped. This usually means the remote
system was disconnected.
No files to upload were specified
You selected upload, but didn't specify which files to send. Put the
filenames on the command line.
No handles left
The ST has too many files open. If you are running XYZ from within another
program that opens files without closing them, this error might occur.
Otherwise, it indicates an internal error in the ST's operating system.
Not enough memory to allocate buffers
There isn't enough free memory to run XYZ. Remove some of your desk
accessories and/or programs in the AUTO folder, or run XYZ from the desktop
rather than from within a terminal program.
Only one input file list allowed
Only one file can contain an input file list.
Only one output file list allowed
XYZ can create only one output file listing.
Only specify one path for downloading
You can only download to a single path (YMODEM and ZMODEM) or download a
single file (XMODEM).
Path not found
The path you specified on the command line does not exist. All the folders in
the path must have already been created before you run XYZ. If you are using
XMODEM, be sure the filename isn't the same as a folder's name.
Press any key to exit....
The -p option was put on the command line, and XYZ is about to terminate.
Press a key to let it complete its termination.
Range error
A serious internal error has occurred within either the ST's operating system
or within XYZ.
Read <number> chars from offset <offset>
The amount and location of data read from a disk file is indicated.
Read fault
An error occurred while the ST was trying to read from a disk. The disk may
be damaged.
- 18 -
Receiver canceled
The remote system has aborted the transfer.
Receiver requests retransmission
The remote system wants a packet resent. Probably caused by line noise.
Receiver wants a CRC on this file but I can't do it
Doing CRC checks on files isn't supported. See WHAT IT ISN'T section.
Receiving file "<filename>", <size> bytes
The transfer of a file has begun. The size is specified by the sender, and
may not be the actual size of the file.
Receiving file "<filename>", size not specified
The transfer of a file has begun. The size of the file was not specified.
Repositioning to offset <offset>
The remote system wants XYZ to back up to the specified offset in the file.
Probably caused by line noise.
Retrying save....
XYZ is making a second attempt to save the file.
RS232 output buffer size = <size>
The number of bytes that the ST's output buffer can hold is specified.
Sector not found
The ST is unable to read from the disk drive. Make sure it is connected,
turned on, and has a formatted disk in it.
Seek error
The ST is unable to read from the disk drive. Make sure it is connected,
turned on, and has a formatted disk in it.
Sender aborted
The remote system is aborting the transfer.
Sender indicates end of file, but file length is wrong
The remote system has come to the end of the file, but the number of bytes it
says it sent does not match the number of bytes XYZ has received.
Sender not ready or set to receive
The remote system is echoing back XYZ's packets, or it is set to upload when
XYZ is set to download. Make sure the remote system is started, and that it
and XYZ are set to transfer files in the same direction.
Sender requested CRC?!?
The remote system requested a file CRC check while XYZ is downloading, but
that's only allowed while uploading. Make sure the remote system and XYZ are
set to transfer files in the same direction.
Sender requests retransmission
The sender wants XYZ to resend a packet. Probably due to line noise.
- 19 -
Sender sent ZCHALLENGE?!?
The remote system issued a challenge while downloading, but this is only
allowed during uploading. Make sure XYZ and the remote system are set up to
transfer files in the same direction.
Sender sent ZCOMPL -- ignored
The sender indicates it completed a command, but XYZ doesn't issue commands.
Sending <number> subpacket chars:
XYZ is sending a data subpacket containing the indicated number of bytes.
Sending file "<filename>", <size> bytes
XYZ has started to upload the indicated file.
Sent ZBIN <type> <hex bytes> CRC <CRC value>
Details of a binary-style packet that XYZ sent
Sent ZCRC '<type>' CRC <CRC value>
A CRC packet was sent.
Sent ZHEX <type> <hex bytes> CRC <CRC value>
Details of a hex-style packet that XYZ sent
Setblock failure due to growth restrictions
Something has gone wrong with the ST's memory management.
Skipping file at request of other system
The remote system has requested that XYZ not send a particular file.
Starting transfer at offset <offset>
The remote system wants XYZ to restart the transfer of a partly transferred
file
Subpacket bad CRC: <CRC value>
An invalid CRC was received at the end of a data subpacket. Probably due to
line noise.
Subpacket too long
A data subpacket has exceeded 1k in length, or an attention string is over 32
bytes long. Probably due to line noise.
Synchronization error
The sender is sending the wrong packet. Probably caused by either line noise
or very slow responses from the sender.
Timed out
Too much time has passed since the last character was received. Probably
caused by line noise, very slow responses from the sender, or failure of the
sender.
To abort, press UNDO at any time
This just informs you that you can abort a transfer by pressing the UNDO key.
- 20 -
Too many retries
Too many errors have occurred. The session is aborted.
Transfer of <filename> complete, <size> bytes
Transfer of a file complete successfully. The filename and actual size is
indicated.
Unexpected ZACK from sender!
This packet type is used for uploading, but XYZ got one while downloading.
Make sure XYZ and the remote system are set to transfer files in the same
direction.
Unknown device
You didn't specify a valid drive letter in the pathname on the command line.
Unknown media
The disk you are trying to use is not formatted correctly.
Usage: xyz.ttp [options] <path>
Prints in response to the -h (help) option, or an invalid option. A list of
all possible options follows.
User aborted
You have pressed the UNDO key, and the session has been aborted.
Verbose mode is on!
The -v option was specified. Special debugging information will be written to
the screen or a specified file.
Write fault
An error occurred while XYZ was trying to write to the disk. The disk may be
damaged.
Write protect
The write protect window on the floppy disk is open.
<number> XMODEM blocks
<number> XMODEM-1k blocks
The number of blocks it will take to send the file is given.
<number> YMODEM blocks
The number of blocks it will take to send the current file is given.
YMODEM complete!
YMODEM session has completed.
YMODEM file transfer
A YMODEM session is beginning.
YMODEM packet received, but doing XMODEM
A YMODEM file specification was received, but XYZ is set to do an XMODEM
transfer. Make sure you select the same mode for both XYZ and the remote
system.
- 21 -
YMODEM transfer aborted!
An error has occurred, and the YMODEM session is being aborted.
ZBIN Bad CRC: <CRC value>
An invalid CRC was at the end of a binary-style packet. The CRC value is
specified.
ZEOF = 0x%lx, f_offset = 0x%lx
The sender is claiming end-of-file, but XYZ hasn't received all of it. The
file size the sender specifies and the amount XYZ has received is printed.
ZFILE acked with <type>
The remote system sent the indicated packet type in response to XYZ's ZFILE
(file specification) packet.
ZFIN acked with <type>
The remote system sent the indicated packet type in response to XYZ's ZFIN
(end of transaction) packet.
ZHEX Bad CRC: <CRC value>
An invalid CRC was at the end of a hex-style packet. The CRC value is
specified.
ZMODEM file transfer
A ZMODEM session has started.
ZMODEM transfer complete.
A ZMODEM session has completed.
ZRINIT expected prior to ZFIN, but got <type>
The remote system is trying to end the session, but it didn't complete sending
the last file.
- 22 -