home *** CD-ROM | disk | FTP | other *** search
/ The AGA Experience 2 / agavol2.iso / software / utilities / comms / term / documentation / xpr_libs / xprymodem.doc < prev    next >
Text File  |  1993-02-13  |  6KB  |  187 lines

  1.  
  2. This is an XPR 2.0 implementation of the YMODEM protocol.
  3.  
  4. based on bmodem: the BIX modem program by David Betz, BYTE Magazine/BIX
  5.  
  6. Source code modifications and additions needed for XPR are:
  7.  
  8.   NO Copyright 1991 Ueli -Lonely Rider- Kaufmann, NO Rights Reserved.
  9.   ^^                                              ^^
  10.  
  11. This software is provided "AS IS" without warranty of any kind, either
  12. expressed or implied, with respect to the programs described herein, their
  13. quality, performance, or fitness for any particular purpose.
  14.  
  15. In no event will the author(s) be liable for direct, indirect, incidental,
  16. or consequential damages.
  17.  
  18. redistribution of this software is permitted, provided that:
  19.  
  20.   NOTHING:  This is purely Public Domain..!!
  21.             You can do with it, whatever you want to do..(-:
  22.                        ^^^^
  23.  
  24. By using or distributing this software, you agree to understand and accept
  25. the above.  [ I HOPE, YOU UNDERSTOOD..(-: ]
  26.  
  27.  
  28. changes in:
  29.  
  30. - v2.00
  31.   - The library is now really pure..
  32.   - Sometimes you could not send files bigger than 256kB. This resulted
  33.     from the wellknown bug useing 16-bit ints and then compiling some
  34.     parts of the code with 32-bit ints..)-:
  35.     The biggest file I sent with v2.00 was the fido-nodelist (ca. 1mB)
  36.     and everything smelled good..
  37.  
  38. - v1.90
  39.   - Output-option is only used in batch-mode..
  40.   - some people had trouble useing xpr-ymodem in conjunction with
  41.     n-comm v1.92 and atalk3..  > vaporized <  (not the people..;-)
  42.     [ Im KlarText: wenn ein Transfer-Abbruch stattfand, gingen diese zwei
  43.       Proggies in eine hübsche Endlos-Schlaufe, weil sie dummerweise
  44.       JEDESMAL einen Abbruch signalisierten anstatt nur einmal..)-:  ]
  45.  
  46. - v1.80
  47.   - there was a little error in doc. YMODEM command mode character
  48.     isn't 'M' ,  it's 'Y'    sorry, Urs..
  49.   - added new option: YMODEM -a
  50.     it supports neither CRC nor Checksum and should only be used if
  51.     there are ERROR-DETECTING AND -CORRECTING modems connected..!!
  52.               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  53.  
  54. - v1.65
  55.   - if there's no xpr_fnext(), YMODEM batch doesn't fall back
  56.     in X- / YMODEM state anymore..
  57.   - killed dirty enforcer-hit in XPr-Setup
  58.   - YMODEM-g now stops upload when receiving CAN/CAN   ( NOT standard..!! )
  59.   - YMODEM-g now tests chkabort(), too
  60.   - YMODEM-g now aborts pronto if there occur some dirty errors
  61.   - some code optimations included
  62.   - some incompatibilities excluded
  63.  
  64. - v1.01
  65.   - better outfit
  66.   - chkabort() implemented
  67.  
  68. - v1.00
  69.   - first release
  70.  
  71.  
  72.  
  73.  
  74. technical datas about YMODEM:
  75. - it is an amiga'ized version! It is definetly NOT gronking around
  76.   with single byte reads n' writes or these lame getc() and putc()..!!!!
  77. - it will allways send in binary mode..
  78. - it will use a 16384 bytes internal serial input buffer..
  79. - it will use a  8192 bytes internal IO buffer for file handling..
  80.  
  81.  
  82.  
  83. Enough chatting..
  84.  
  85.  
  86. Configurable options are:
  87.   YMODEM mode: Y<S|B|G|A>
  88.   ------------
  89. - 'X- / YMODEM':  you can use this YMODEM as XMODEM, too!              YS
  90.   NOTE:
  91.   YMODEM is fully compatible with XMODEM, so you can use this
  92.   XPr-Y as XPr-X, too..   Ist das nicht Pfanni..(-;
  93.  
  94. - 'YMODEM batch': the real one & only YMODEM implementation..          YB
  95.  
  96. - 'YMODEM -g':    for those people wanting good troughput              YG
  97.                   this mode uses 1 kB blocks and CRC-16
  98.  
  99. - 'YMODEM -a':    for those people wanting best troughput avalaible..  YA
  100.                   this mode uses 2 kB blocks and it does 
  101.                   no CRC-checking, because this is already
  102.                   done by the modems..  [ hail, hail HST..(-; ]
  103.  
  104.   NOTE:
  105.   -----
  106.    'YMODEM -g' and 'YMODEM -a' work like YMODEM batch, they just
  107.    don't send an ACK for received blocks and they can't handle
  108.    CRC-16 or Checksum errors..
  109.    they should only be used by people with highspeed error-detecting and 
  110.    error-correcting modems..!!  [ ie: US-Robotics HST, etc. ]
  111.   
  112.  
  113.   by default YB
  114.  
  115.  
  116. --------------------------------------------------------------------------
  117.  
  118.   CHOP option: Z<1|0>
  119.   ------------
  120. - when enabled, XPrYmodem will chop files ONLY, if the filesize is
  121.   unknown..  you can allways enable this option..
  122.  
  123.   NOTE: PAD-out char: '\Z' and *NOT* '\0' like xprxmodem.library does..
  124.   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  125.  
  126.   by default enabled
  127.  
  128. --------------------------------------------------------------------------
  129.  
  130.  
  131.   OUTPUT option: O<dir>
  132.   --------------
  133. - this specifies the output directory for received files..
  134.  
  135.   by default RAM:
  136.  
  137. --------------------------------------------------------------------------
  138.  
  139.   CRC option:  C<1|0>
  140.   -----------
  141. - when enabled, XPrYmodem will use CRC-16 for error-checking, else  
  142.   it will use Checksum...
  143.  
  144.   by default enabled
  145.  
  146. --------------------------------------------------------------------------
  147.  
  148.   1kB Blocks:  B<1|0>
  149.   -----------
  150. - when enabled, XPrYmodem will use 1024 bytes data blocks, else 128 bdb's
  151.  
  152.   by default enabled
  153.  
  154. --------------------------------------------------------------------------
  155.  
  156. This can be overridden by a environment variable, "XPRYMODEM", containing
  157. a setup string, of the following format:
  158. NOTE: this works only, if the comm progi supports it..
  159.  
  160.  
  161. these options are seperated by commas. The first character of every field
  162.  is the type, one of:
  163.     B (1k blocks), C (crc), M (YMODEM mode), O (output), Z (chop).
  164.  
  165. The second char is either 1 or 0, expressing the boolean state of the
  166. option.
  167.     examples:
  168.  
  169.     Z0,C1,B1  --> chop disabled, crc on, 1k blocks
  170.  
  171.     Z1,C0,B0  --> chop enabled, crc off (checksum), normal 128byte blocks,
  172.  
  173. there are two special options:
  174. first char Y  second char:
  175. S  ->  X- / YMODEM
  176. B  ->  batch
  177. G  ->  g mode  (NOT g-spot..:-)
  178. A  ->  ARQ-mode
  179.  
  180. first char O  argument is the local output directory..   ie: Oram:t
  181.  
  182. The user might also be prompted for such a string when XProtocolSetUp() is
  183. called, if the comm program does not provide the xpr_options callback
  184. function.
  185.  
  186. Ueli Kaufmann..
  187.