home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Amiga GigaPD 3
/
Amiga_GigaPD_v3_3of3.iso
/
libs
/
xprymodem.doc
< prev
next >
Wrap
Text File
|
1993-06-25
|
6KB
|
187 lines
This is an XPR 2.0 implementation of the YMODEM protocol.
based on bmodem: the BIX modem program by David Betz, BYTE Magazine/BIX
Source code modifications and additions needed for XPR are:
NO Copyright 1991 Ueli -Lonely Rider- Kaufmann, NO Rights Reserved.
^^ ^^
This software is provided "AS IS" without warranty of any kind, either
expressed or implied, with respect to the programs described herein, their
quality, performance, or fitness for any particular purpose.
In no event will the author(s) be liable for direct, indirect, incidental,
or consequential damages.
redistribution of this software is permitted, provided that:
NOTHING: This is purely Public Domain..!!
You can do with it, whatever you want to do..(-:
^^^^
By using or distributing this software, you agree to understand and accept
the above. [ I HOPE, YOU UNDERSTOOD..(-: ]
changes in:
- v2.00
- The library is now really pure..
- Sometimes you could not send files bigger than 256kB. This resulted
from the wellknown bug useing 16-bit ints and then compiling some
parts of the code with 32-bit ints..)-:
The biggest file I sent with v2.00 was the fido-nodelist (ca. 1mB)
and everything smelled good..
- v1.90
- Output-option is only used in batch-mode..
- some people had trouble useing xpr-ymodem in conjunction with
n-comm v1.92 and atalk3.. > vaporized < (not the people..;-)
[ Im KlarText: wenn ein Transfer-Abbruch stattfand, gingen diese zwei
Proggies in eine hⁿbsche Endlos-Schlaufe, weil sie dummerweise
JEDESMAL einen Abbruch signalisierten anstatt nur einmal..)-: ]
- v1.80
- there was a little error in doc. YMODEM command mode character
isn't 'M' , it's 'Y' sorry, Urs..
- added new option: YMODEM -a
it supports neither CRC nor Checksum and should only be used if
there are ERROR-DETECTING AND -CORRECTING modems connected..!!
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
- v1.65
- if there's no xpr_fnext(), YMODEM batch doesn't fall back
in X- / YMODEM state anymore..
- killed dirty enforcer-hit in XPr-Setup
- YMODEM-g now stops upload when receiving CAN/CAN ( NOT standard..!! )
- YMODEM-g now tests chkabort(), too
- YMODEM-g now aborts pronto if there occur some dirty errors
- some code optimations included
- some incompatibilities excluded
- v1.01
- better outfit
- chkabort() implemented
- v1.00
- first release
technical datas about YMODEM:
- it is an amiga'ized version! It is definetly NOT gronking around
with single byte reads n' writes or these lame getc() and putc()..!!!!
- it will allways send in binary mode..
- it will use a 16384 bytes internal serial input buffer..
- it will use a 8192 bytes internal IO buffer for file handling..
Enough chatting..
Configurable options are:
YMODEM mode: Y<S|B|G|A>
------------
- 'X- / YMODEM': you can use this YMODEM as XMODEM, too! YS
NOTE:
YMODEM is fully compatible with XMODEM, so you can use this
XPr-Y as XPr-X, too.. Ist das nicht Pfanni..(-;
- 'YMODEM batch': the real one & only YMODEM implementation.. YB
- 'YMODEM -g': for those people wanting good troughput YG
this mode uses 1 kB blocks and CRC-16
- 'YMODEM -a': for those people wanting best troughput avalaible.. YA
this mode uses 2 kB blocks and it does
no CRC-checking, because this is already
done by the modems.. [ hail, hail HST..(-; ]
NOTE:
-----
'YMODEM -g' and 'YMODEM -a' work like YMODEM batch, they just
don't send an ACK for received blocks and they can't handle
CRC-16 or Checksum errors..
they should only be used by people with highspeed error-detecting and
error-correcting modems..!! [ ie: US-Robotics HST, etc. ]
by default YB
--------------------------------------------------------------------------
CHOP option: Z<1|0>
------------
- when enabled, XPrYmodem will chop files ONLY, if the filesize is
unknown.. you can allways enable this option..
NOTE: PAD-out char: '\Z' and *NOT* '\0' like xprxmodem.library does..
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
by default enabled
--------------------------------------------------------------------------
OUTPUT option: O<dir>
--------------
- this specifies the output directory for received files..
by default RAM:
--------------------------------------------------------------------------
CRC option: C<1|0>
-----------
- when enabled, XPrYmodem will use CRC-16 for error-checking, else
it will use Checksum...
by default enabled
--------------------------------------------------------------------------
1kB Blocks: B<1|0>
-----------
- when enabled, XPrYmodem will use 1024 bytes data blocks, else 128 bdb's
by default enabled
--------------------------------------------------------------------------
This can be overridden by a environment variable, "XPRYMODEM", containing
a setup string, of the following format:
NOTE: this works only, if the comm progi supports it..
these options are seperated by commas. The first character of every field
is the type, one of:
B (1k blocks), C (crc), M (YMODEM mode), O (output), Z (chop).
The second char is either 1 or 0, expressing the boolean state of the
option.
examples:
Z0,C1,B1 --> chop disabled, crc on, 1k blocks
Z1,C0,B0 --> chop enabled, crc off (checksum), normal 128byte blocks,
there are two special options:
first char Y second char:
S -> X- / YMODEM
B -> batch
G -> g mode (NOT g-spot..:-)
A -> ARQ-mode
first char O argument is the local output directory.. ie: Oram:t
The user might also be prompted for such a string when XProtocolSetUp() is
called, if the comm program does not provide the xpr_options callback
function.
Ueli Kaufmann..