
                            File Transfer Protocols


GAP Communications supports a wide variety of file transfer protocols.
In addition, batch downloads and uploads are available for any of the
batch protocols which are supported.


    Ascii       - Used for "capturing" ascii text files. Not
                  allowed for uploads or for downloading
                  binary files.

    Xmodem      - A general purpose protocol that can be used for 
                  transfering any type of file.  Uses "checksum"
                  for verifying the validity of the data.

    Xmodem/CRC  - Same as above but uses CRC instead of checksum
                  for increased reliability.

    Xmodem/1K   - Same as Xmodem/CRC but uses 1024 byte blocks
                  instead of 128 bytes.  File transfers on large
                  files are faster than with regular Xmodem.

    Ymodem      - Similar to Xmodem/1K but has the ability to vary
                  the block sizes between 128 and 1024 bytes depending
                  on the need.  Sends information about the file in
                  block # 0.  This is a BATCH protocol.

    1K Xmodem-G - This protocol is similar to regular 1K Xmodem except
                  that it is used only when both modems have internal
                  error correction protocols (MNP).  The only difference
                  between this protocol and regular 1K xmodem is the
                  'G' version does not send ACK/NAK bytes.  It is
                  therefore a little faster than its regular counterpart.

    Ymodem-G    - Similar to regular Ymodem but used only when both
                  modems have the internal MNP protocol. There are no
                  ACK/NAK bytes sent so it is a bit faster than regular
                  Ymodem.
     
    Zmodem      - This is the most reliable of transfer protocols.
                  Barring hardware problems, files are guaranteed to
                  arrive safely and without error.  This is a BATCH
                  protocol.  On a clean line, this is the fastest
                  transfer protocol. On a noisy line, this can be
                  one of THE slowest protocols. GAP will send files
                  using the so called "Moby Turbo" mode.

Ymodem
------

   There is a great deal of confusion concerning the Ymodem protocol.
   This protocol, as implemented by GAP, is the true protocol. Many 
   communications programs do not make a distinction between Ymodem and
   Xmodem/1K. In addition, many bulletin board systems further confuse
   the issue by interchanging the names.
 
   Ymodem IS a BATCH protocol. As such, it will ALWAYS send files in
   batch mode. What this means to you is that if your communications
   program makes NO distinction between Ymodem and Xmodem/1K then you
   will probably NOT be able to use the Ymodem protocol on a GAP
   Communications system. To utilize Ymodem, your communications
   program must be able to accept a block number zero and any
   combination of 128 and 1024 byte blocks. In addition, it MUST
   acknowledge the end of batch signal (a 128 byte block of zeros). 
 
   If you are not sure if your communications program supports true
   Ymodem, one sure fire way to tell is if your program asks you for
   a file name. If you must supply a file name to your comm program,
   then it does NOT support Ymodem and you must set your transfer
   protocol on GAP to Xmodem/1K. Ymodem means BATCH, and you do NOT
   supply file names to a batch protocol. Another way to tell if your
   communications program properly supports this protocol is if it sends
   or acknowledges the end of batch signal. While downloading, if you
   find that GAP "hangs" for about 60 seconds after sending you a file;
   or during uploading, after receiving the first file, then your comm
   program does not properly support Ymodem.


Error Correcting Protocols
-------------------------- 

   1K Xmodem-G, and Ymodem-G should be used ONLY when your
   modem and the BBS modem have internal error correcting protocols
   (commonly called MNP). GAP will not send the data to your
   communications program faster than it can handle it, BUT, since
   GAP does NO error checking when these 2 protocols are used (the
   error checking is performed by the two modems), there is a good
   chance that you will receive bad data if you are not using an MNP
   modem.

   The MNP protocols will automatically abort a transfer if an
   error is encountered. 

Batch Downloading
-----------------

  The GAP communications system that you are on allows you to
  download more than one file at a time. The number of files
  you may transfer at one time is determined by the sysop and
  varies according to security level. If you are using a 
  batch protocol (Ymodem, Zmodem, or external DSZ) you will
  automatically be able to download multiple files. It is not
  necessary to use a separate download command as this feature
  is automatic and no separate command is provided.

  GAP will tell you if you are in batch mode. You will also be
  told the number of files you may download at one time. This
  number is also the maximum number of files you may download
  during any given day. You simply type in the names of the
  files you wish to download, one line at a time until you have
  reached the maximum number of files. You may also use the
  wild card character (*), but not as the first character of a
  file name. GAP will not allow you to blindly download files.
  For instance, if you wish to download all the PCTECH Journal
  files, you may type PCT*.* and GAP will quickly fill in the
  lines with the filenames (up to your limit). 

Batch Uploading
---------------

  This GAP system also allows you to batch upload files. Once
  again, there is no special command for this. GAP is smart 
  enough to know if you are using a batch protocol, and will
  ask you if you wish to upload more than one file. If you
  answer No, then uploads proceed as usual: GAP will ask you
  for a filename and then after doing some checking, will ask
  you for a keyword list and a description.

  If you answer Yes, GAP will immediately enter into the transfer
  routine and await your first file. You may then send as many
  files as you like. After the last file is sent, GAP will then
  show you the name of the file it is processing, and ask you
  for a keyword list and a description of that file. This will
  continue until all the files you sent are processed.

  Batch uploading is useful for those times when you have a number
  of files you wish to send, as you may send them all at once. If
  you keep all the files you upload to the various BBS's in a
  separate directory, all it takes is one Upload command (to GAP
  and your communications program) to transfer those files. When
  they have all been received, you may enter the descriptions at
  one time. 

  It should be noted that during batch uploads, GAP cannot check
  and verify the files until AFTER they have all been sent. During
  single file uploads, GAP checks to make sure the file does not
  duplicate a file that is already posted on the BBS. In addition,
  GAP makes sure the file meets the sysop's criteria for uploaded
  files. During batch uploads, this checking is performed after
  all of the files you send are received.

  GAP will accept duplicate files (to the best of its ability) but
  will rename them and make them private for the sysop only so the
  sysop can ultimately decide if he or she wants to keep them. If
  GAP cannot rename a file, it will be deleted.

  If a file matches the criteria for files that the sysop does NOT
  want on the BBS, it will be marked for the Sysop and he/she will
  determine if it will stay on the system.

  A file will also be marked for the Sysop onlyif you do not enter a
  keyword list and a description.

  It is best to familiarize yourself with the types of files the
  sysop does not allow. You should also try to make sure not to
  duplicate files that are already posted. It would be a waste
  of everyone's time to send files that the sysop does not allow
  or that duplicate existing files since the ones you send will
  be marked private and the Sysop will have to spend time to determine
  if they should stay.
