home *** CD-ROM | disk | FTP | other *** search
/ Shareware Overload / ShartewareOverload.cdr / comm / zmax.zip / ZMAX.DOC < prev    next >
Text File  |  1990-08-26  |  13KB  |  338 lines

  1.          Zmax            Introduction Guide rev. 1.00B          Page 1
  2.  
  3.                                      Zmax
  4.                        Copyright 1990 Micro TECH Systems
  5.                               All Rights Reserved
  6.  
  7.          Zmax  is designed to replace Zmodem. It uses 32 bit CRC's  on
  8.          file data blocks, the same as Zmodem, and 32 bit CRC's on its
  9.          information blocks, Zmodem uses 16 bit.
  10.  
  11.          An  information  block  is  a block  of  data  used  to  send
  12.          information about the name of the file, the receivers  system
  13.          setup, about the next block of actual File Data, etc.
  14.  
  15.          Zmax  is setup to allow almost unlimited future expansion  to
  16.          the protocol while allowing it to remain backwards compatible
  17.          with older versions.
  18.  
  19.          In  stream mode Zmax sends blocks, the size being set by  the
  20.          receiver, of data but doesn't require ACKS from the receiver.
  21.  
  22.          Zmax   should   (depending   on   equipment,   phone   lines,
  23.          implementation, etc.) allow  about 98.5 percent efficiency at
  24.          2400 baud on a 30K file compared to Zmodems 95 percent.
  25.  
  26.          And  unlike Zmodem, Zmax reaches full speed  on  considerably
  27.          smaller  files.
  28.  
  29.          In  Non-Stream mode (which can be set by the receiver OR  the
  30.          sender), Zmax is a super Batch Xmodem or Ymodem depending  on
  31.          the block size. Super because it uses 32 bit CRC's instead of
  32.          16.
  33.  
  34.          Even  using  Ymax  mode (Zmax running  1K  blocks  with  Acks
  35.          required), you'll get faster transfers than under Zmodem.  In
  36.          fact,  there  wasn't any measurable difference  between  Ymax
  37.          mode and Zmax mode on a 30K transfer. At least none that  the
  38.          efficiency  computation  routine showed.
  39.  
  40.          This  is at 2400 baud of course. Non-Stream  protocols  don't
  41.          fair  near  as  well (speed wise) as  Streamed  protocols  at
  42.          highspeeds.
  43.  
  44.          We'll call Zmax running 128 byte blocks with ACKS Xmax  mode.
  45.          Running  in this mode, you'll get about (maybe a tad  better)
  46.          Xmodem speed, but with the additional safty of 32bit CRCs.
  47.  
  48.          I'd suggest allowing your users to directly address the  size
  49.          of the receiver buffers and wheither or not to use ACKS as  I
  50.          have  in  the  Zmax.c driver so they  can  customize  several
  51.          different  versions  to  best fit  the  conditions  they  may
  52.          encounter.
  53.  
  54.  
  55.  
  56.          Zmax            Introduction Guide rev. 1.00B          Page 2
  57.  
  58.          Why  Non-Stream mode? Three reasons and the first  being  noisy
  59.          lines.
  60.  
  61.          Stream  protocols don't fair well under noisy lines.  If  you
  62.          can SWITCH to non-stream (ack required) during the course  of
  63.          the transfer, your efficiency is generally better.
  64.  
  65.          The  Second reason is computer type. Some computers  can  not
  66.          handle  writing  to the disk and receiving data at  the  same
  67.          time.
  68.  
  69.          If your writing a Zmax driver for a computer that falls  into
  70.          this category, write the block of data to the disk BEFORE you
  71.          ACK  the block. The sender will wait up to 30 seconds  before
  72.          assuming an error has occurred.
  73.  
  74.          The third and final reason one may wish to run in  non-stream
  75.          mode is to allow background tasking by commucations programs.
  76.          Although  I  beleive  that STREAM  mode  can  function  quick
  77.          enough  to allow this, if not then you have a method to  fall
  78.          back on.
  79.  
  80.          As outlined in the code segment, I suggest switching to  NON-
  81.          Stream  mode when your block size reaches 128 bytes.  I  also
  82.          suggest  that you not go below 128 bytes.  Primarily  because
  83.          you  don't save much. It only takes about 2/10's of a  second
  84.          longer to send a 128 byte block over a 64 byte block at  2400
  85.          baud, less at 9600+.
  86.  
  87.          Unlike  Zmodem  which sets an upper limit of  1024  bytes  on
  88.          block  sizes,  Zmax  has  an upper limit  of  over  32K.  One
  89.          shouldn't  go that high, at least with the  modems  currently
  90.          available.  Because  of this, Zmax may be used  as  a  mailer
  91.          protocol without ANY modifications.
  92.  
  93.          Zmax  also has a LOT less CPU overhead than Zmodem so  slower
  94.          computers can drive highspeed modems FASTER.
  95.  
  96.          Zmax  does not encode each byte of data like Zmodem  does.  I
  97.          can't see any real advantage to doing this and it reduces the
  98.          amount of CPU overhead and simplifies the code quite a bit.
  99.  
  100.          Zmax  also  treats all files as Binary 8 bit files  and  will
  101.          require word length to be set to 8, which is the most  common
  102.          setting.
  103.  
  104.          Please  pay  special attention to the timer  functions.  They
  105.          have  been worked out over a two year period of heavy  mailer
  106.          use  under  all kinds of conditions and have proven  to  work
  107.          exceptionally  well on Networks, Satellite Links,  and  under
  108.          Multi-Taskers.  Changing  any  of them can  lead  to  erratic
  109.          behavior on YOUR Zmax implementation.
  110.  
  111.          Zmax            Introduction Guide rev. 1.00B          Page 3
  112.  
  113.          Zmax  uses  two  block  start  characters,  instead  of   the
  114.          traditional  one. I do that to keep a stray  character  (line
  115.          noise) from accidentally triggering something it shouldn't.
  116.  
  117.                  Why A Zmodem Replacement in the first place?
  118.  
  119.          Unless your attempting to write a Zmodem driver, you wouldn't
  120.          understand.
  121.  
  122.          Zmodem   isn't  documented  very  well,  in  fact  the   only
  123.          documentation  that  I'm  aware  of  is  the  original   1988
  124.          publication and you'll have a hard time finding that one now.
  125.  
  126.          It  left much to the imagination and were little more than  a
  127.          few sheets of paper glorifying Zmodem. And it only  contained
  128.          scrap segments of code that few could get to work.
  129.  
  130.          Because of this, Zmodem implementations vary depending on who
  131.          wrote it and they aren't always compatible.
  132.  
  133.          And  finally:  Because  of  the  complexity  of  the   zmodem
  134.          protocol,  systems with limited memory  capablities  (Apples,
  135.          Color  Computers, Commodores, etc.) have a very difficult  if
  136.          not impossible, time attempting to implement Zmodem in a  64K
  137.          environment.
  138.  
  139.          I  think actual CODE is better than extensive  documentation,
  140.          you  can  actual SEE how its suppose to work,  so  Zmax.c  is
  141.          provided.
  142.  
  143.          Zmax.c  is a full functional Zmax driver. You'll not be  able
  144.          to simply compile it because I do use my own libraries,  most
  145.          have Microsoft counter parts. You shouldn't have any  trouble
  146.          telling  WHAT a function does. Zmax.c also  contains  further
  147.          information on specific aspects of Zmax.
  148.  
  149.          If  you  have any questions on ANY part of Zmax, one  of  our
  150.          tech. will be glad to help you with your code implementation.
  151.  
  152.          Just call our customer support CBIS at 1-314-334-6359 and ask
  153.          any  question  you like. Please allow 2 working  days  for  a
  154.          reply.
  155.  
  156.  
  157.  
  158.  
  159.  
  160.  
  161.  
  162.  
  163.  
  164.  
  165.  
  166.          Zmax            Introduction Guide rev. 1.00B          Page 4
  167.  
  168.                                    Zmax.exe
  169.  
  170.          Zmax.exe requires a number of command line switches; -B,  -P,
  171.          {-R or -F}.
  172.  
  173.                        Full Command Line Switch Run Down
  174.  
  175.          -U  Drive:path,  directs that all files  received  should  be
  176.                           stored on this drive and in this  directory.
  177.                           This  switch  is primaryly  for  NON-OSIRIS,
  178.                           NON-QT  systems. Osiris takes care  of  this
  179.                           internally  and  this switch should  NOT  be
  180.                           used.
  181.  
  182.          Example: -U C:\uploads
  183.                   -U D:\files\temp
  184.                   -U D:
  185.  
  186.          Do NOT end the path with a backslash "\"
  187.  
  188.          Illegal -U settings would be C:\
  189.                                       C:\uploads\
  190.                                       D:\files\temp\
  191.  
  192.  
  193.          -B <Baud Rate>
  194.          -P <Port Number>
  195.          -L <Serial Lock Rate>
  196.          -R Receive files
  197.          -F <Filenames>
  198.          -K  Keep  interrupted transfers (Do not use if running  on  a
  199.              BBS)
  200.          -B, supported baud rates 300 - 115,200 Baud.
  201.          -P, Supported Com Ports, COM 1, COM 2, COM 3, and COM 4.
  202.          -L, Supported Locked Baud Rates, 300 - 115200 Baud.
  203.          -F,  As  many as DOS allows. Full drive, path,  and  filename
  204.               supported.
  205.          -A, Run in NON-STREAM mode.
  206.          -S  xxxx,  Set block size to XXXX. Valid ranges;  1  -  2048.
  207.                     Going over 1024 at 2400 bps is NOT recommended. If
  208.                     this parameter is used, the -B MUST be used  first
  209.                     because -B will reset the block size according  to
  210.                     baud rate.
  211.  
  212.          -X,  Turns Tmodem.log OFF. The default is ON.
  213.  
  214.  
  215.  
  216.  
  217.  
  218.  
  219.  
  220.  
  221.          Zmax            Introduction Guide rev. 1.00B          Page 5
  222.  
  223.          -@ Filename, Filename is a text file listing out the names of
  224.                       the  files to send. The contents of filename  is
  225.                       one filename per line, unlimited number of lines.
  226.  
  227.                       e.g.
  228.  
  229.                       Tmodem.zip
  230.                       Zmodem.Zip
  231.                       OSE108?.ZIP
  232.                       C:\Osiris\Files\MISC\PK110.EXE
  233.  
  234.                       You use -@ in place of -F, do NOT intermix them!
  235.  
  236.                       Sample Command line
  237.  
  238.                       Zmax -B 2400 -P 1 -@ C:\RyBBS\Send.Ctl
  239.  
  240.  
  241.  
  242.                    NOTE:   -R  and  -F  MUST  be  the   last
  243.                    parameter on the command line. As soon as
  244.                    Zmax  encounters  either one of these two
  245.                    switches, it will begin to either Receive
  246.                    or Send.
  247.  
  248.          There must be one at least blank space between The switch and
  249.          the parameter..ie. -B<BLANK>2400
  250.  
  251.          The -L switch is only for those that do not have COMx= set in
  252.          the  environment. If your running Osiris then Zmax will   use
  253.          the COMx= automatically.
  254.  
  255.          Sample Osiris Command line (protocol control file)
  256.  
  257.          Send : -N *N -B *B -P *P -F *F
  258.          RCV  : -N *N -B *B -P *P -R
  259.  
  260.          QuickTerm:
  261.  
  262.          Send : -B *B -P *P -F *F
  263.          RCV  : -K -B *B -P *P -R
  264.  
  265.  
  266.  
  267.  
  268.  
  269.  
  270.  
  271.  
  272.  
  273.  
  274.  
  275.  
  276.          Zmax            Introduction Guide rev. 1.00B          Page 6
  277.  
  278.               Zmax.exe End User (Non Developer) Licensing Information
  279.  
  280.          Zmax  is  NOT public domain. Micro TECH Systems  Retains  ALL
  281.          RIGHTS TO THIS PROTOCOL.
  282.  
  283.          ZMAX.EXE  is  provided as SHAREWARE. Your granted  a  limited
  284.          license  to  TRY this program for 14 days. At the end  of  14
  285.          days you must purchase Zmax.exe for 10.00 dollars or you stop
  286.          using it.
  287.  
  288.                         Developer Licensing Information
  289.  
  290.          Zmax  is  NOT public domain. Micro TECH Systems  Retains  ALL
  291.          RIGHTS TO THIS PROTOCOL.
  292.  
  293.          No  PART  of Zmax may be used in development  of  a  NON-ZMAX
  294.          protocol.
  295.  
  296.          Developers  are  granted  a  license  to  use  Zmax  in  NON-
  297.          COMMERCIAL  applications and environments ONLY.
  298.  
  299.                    A 10 dollar donation is requested to help
  300.                    offset development costs and to help with
  301.                    the  salaries  of the  technical  support
  302.                    person(s).
  303.  
  304.          If  you application is intended for use in a program that  is
  305.          to be sold commercially, including shareware, you must  apply
  306.          for a Zmax COMMERCIAL License.
  307.  
  308.          If  you  intend  to  develop  a Zmax  driver  for  USE  in  a
  309.          commercial environment, you must apply for a Zmax  COMMERCIAL
  310.          license.
  311.  
  312.          All goverment agents Federal, State, and Local must apply for
  313.          a Zmax COMMERICAL license.
  314.  
  315.          If  you  intend to distribute your SOURCE code  or  otherwise
  316.          make it available, the copyright notice found in Zmax.c  MUST
  317.          be included in your Zax code segment.
  318.  
  319.          You  may  NOT modify Zmax specifications.  Zmax  MUST  remain
  320.          uniform and only Micro TECH Systems may issue NEW or IMPROVED
  321.          Zmax specifications.
  322.  
  323.          If you have a particular item in mind, submit it along with a
  324.          modified Zmax.c (Using our Zmax.c driver code) to Micro  TECH
  325.          Systems.
  326.  
  327.  
  328.  
  329.  
  330.  
  331.          Zmax            Introduction Guide rev. 1.00           Page 7
  332.  
  333.                          Micro TECH Systems
  334.                          555 North Spring, #39
  335.                          Cape Girardeau Mo. 63701
  336.  
  337.                          Data Number  1-314-334-6359
  338.