home *** CD-ROM | disk | FTP | other *** search
/ Media Share 9 / MEDIASHARE_09.ISO / hamradio / 7plus202.zip / 7PLUS_E.DOC < prev    next >
Text File  |  1992-06-16  |  96KB  |  2,328 lines

  1.  
  2.  
  3.  
  4.  
  5.            =============================================================
  6.  
  7.              ###   ######             ####
  8.             ##### ##########         ######
  9.             ##################       #######
  10.              ####################     ######
  11.              #####        ##################
  12.              ####           ################
  13.              ####             #############              #####
  14.             #####                    ######              #####
  15.             #####                  #######               #####
  16.             ######               #######                 #####
  17.             ######             ########                  #####
  18.              ####            ########                    #####
  19.                            ########                      #####
  20.                           #######              #########################
  21.                          #######               #########################
  22.                         #######                #########################
  23.                        #######                           #####
  24.                        ######                            #####
  25.                       #######                            #####
  26.                       ######                             #####
  27.                       ######                             #####
  28.                      #######                             #####
  29.                      #######                             #####
  30.                      #######
  31.                      #######
  32.                       ######
  33.                        ####         7PLUS v2.0 - (c) 1991,1992 by DG1BBQ
  34.  
  35.  
  36.                 An intelligent ASCII to binary encoder with enhanced
  37.                               correcting capabilities.
  38.            =============================================================
  39.  
  40.  
  41.                    ---------------------------------------------
  42.                    Manual for all system versions of 7PLUS v2.00
  43.                    ---------------------------------------------
  44.  
  45.  
  46.            7PLUS is hamware. It may only be passed on free of charge and
  47.            in form of the original archive, that is, including all files
  48.                belonging to 7PLUS (C language sources, manuals etc.).
  49.                 7PLUS may be used without limit of duration for non-
  50.                                 commercial purposes.
  51.  
  52.  
  53.            =============================================================
  54.            | Axel Bauda                            Bank-account:       |
  55.            | DG1BBQ @DB0CL.DEU.EU                  Postgiroamt Hamburg |
  56.            | Potsdamer Str.43                      Bank-No. 200 100 20 |
  57.            | D-w2850 Bremerhaven 1                 Account 5413 91-206 |
  58.            | Germany                                                   |
  59.            =============================================================
  60.  
  61.                                                                 Contents
  62.            -------------------------------------------------------------
  63.  
  64.            CONTENTS
  65.            ========
  66.  
  67.  
  68.            The not-reading-the-manual-phobia (DOCphobia) .............1
  69.  
  70.            Preface ...................................................1
  71.  
  72.            The development of 7PLUS ..................................2
  73.  
  74.            The ASCII-encoder 7PLUS ...................................3
  75.  
  76.            Basic steps of a 7PLUS filetransfer .......................3
  77.  
  78.            7PLUS-theory ..............................................5
  79.                Encoding algorithm ....................................5
  80.                Character set .........................................6
  81.                Decoding algorithm ....................................6
  82.                Automagic single byte correction ......................7
  83.                The structure of 7PLUS code files .....................7
  84.                   Header .............................................8
  85.                   Code lines .........................................9
  86.                   Foot line ..........................................9
  87.                Single and multipart 7PLUS code files ................10
  88.                Splitting ............................................11
  89.                The metafile .........................................11
  90.                The error report .....................................12
  91.                The correction file ..................................14
  92.                'Saving' damaged error reports and correction files ..15
  93.  
  94.            Compatibility of 7PLUS versions ..........................15
  95.  
  96.            Filename conventions .....................................16
  97.  
  98.            Usage ....................................................17
  99.                Encoding .............................................18
  100.                Extracting ...........................................18
  101.                Decoding .............................................19
  102.                Compiling a correction file ..........................20
  103.                Correcting ...........................................21
  104.                Joining error reports ................................21
  105.                Recreating an error report from a metafile ...........22
  106.                Quick help ...........................................22
  107.                Additional options ...................................22
  108.                   -K  (Automatic erase) .............................22
  109.                   -N  (Don't wait for keystroke at termination) .....22
  110.                   -P  (Use CR as line delimitor) ....................22
  111.                   -R  (Re-encode a single part) .....................23
  112.                   -T  (Define file termination string) ..............23
  113.                   -TB (Add head and foot text when encoding) ........23
  114.                   -Y  (Assume 'YES' on queries) .....................24
  115.                   -#  (Produce server info) .........................25
  116.  
  117.            Tips for configuring devices and programs for 7PLUS ......25
  118.                General conditions ...................................25
  119.                Downloading/uploading in binary mode .................26
  120.  
  121.  
  122.                                                                                                                                                 I
  123.  
  124.                                                                 Contents
  125.            -------------------------------------------------------------
  126.  
  127.                   Downloading .......................................26
  128.                   Uploading .........................................27
  129.                7PLUS on the AMIGA ...................................27
  130.  
  131.            Tips for down- and uploading of 7PLUS files ..............27
  132.                Downloading ..........................................27
  133.                Automatic 'BBS milking' ..............................29
  134.                'Listening in' on someone else .......................30
  135.                Uploading ............................................31
  136.                Uploading correction files ...........................32
  137.  
  138.            General notes ............................................33
  139.  
  140.            Is there a future without errors? ........................33
  141.  
  142.            Ordering 7PLUS ...........................................34
  143.  
  144.  
  145.  
  146.  
  147.  
  148.  
  149.  
  150.  
  151.  
  152.  
  153.  
  154.  
  155.  
  156.  
  157.  
  158.  
  159.  
  160.  
  161.  
  162.  
  163.  
  164.  
  165.  
  166.  
  167.  
  168.  
  169.  
  170.  
  171.  
  172.  
  173.  
  174.  
  175.  
  176.  
  177.  
  178.  
  179.  
  180.  
  181.  
  182.  
  183.  
  184.  
  185.                                                                                                                                               II
  186.  
  187.                                                                  Preface
  188.            -------------------------------------------------------------
  189.  
  190.            The not-reading-the-manual-phobia (DOCphobia)
  191.            =============================================
  192.  
  193.            Dispite the fact, I have gone through great lengths in making
  194.            this manual as complete as possible, I am frequently asked
  195.            about things that are precicely described in this manual.
  196.  
  197.            I know reading a manual can be cumbersome, but it would save
  198.            me, as the 7PLUS author, a lot of unnecessary work, if every
  199.            7PLUS user who is having trouble, would take THIS MANUAL in
  200.            hand and read it again thoroughly, before asking me.
  201.  
  202.            Of course, since nobody is perfect, I may have forgotten a
  203.            few things here an there. Also some parts may not be very
  204.            intelligible to beginners, although I tried hard to keep it
  205.            simple.
  206.  
  207.            I cannot supply a MS_DOS/ATARI/AMIGA or UNIX course in this
  208.            manual. Therefore you should be familiar with the basics of
  209.            your computer and terminal program.
  210.  
  211.  
  212.            Preface
  213.            =======
  214.  
  215.            When sending data through the Packet Radio network, errors
  216.            may occur in spite of the safety mechanisms incorporated into
  217.            the AX25 protocol. One must bear in mind, that data may pass
  218.            a lot of unprotocolled interfaces, where a simple impulse can
  219.            alter it. Also upon transfer the data is passed through quite
  220.            a lot of memory cells. On computers that don't use memory
  221.            parity checking, memory errors may go undetected.
  222.  
  223.            Plain text with errors is still well legible for humans. We
  224.            can correct or ignore errors (as long as numbers aren't
  225.            falsified) and thus still understand what it meant. Even at
  226.            an error rate of 10%, we can still get the meaning of the
  227.            text.
  228.  
  229.            Things are very different when it comes to machine readable
  230.            data as programs for instance. One error in 100000 bytes may
  231.            cause the data to be completely worthless. A program affected
  232.            by this would probably not run at all or at least not
  233.            correctly, a picture may be damaged beyond recognition or may
  234.            not be displayable at all.
  235.  
  236.            If a program was sent in the form of it's source text, it may
  237.            be repaired, but only by those who have a profound knowledge
  238.            of that programming language. For the mass of users, this is
  239.            no help.
  240.  
  241.            Another problem is: How do you transfer a program or picture
  242.            through a netnork of bulletin board systems (BBS) that are
  243.            usually just meant to handle plain text?
  244.  
  245.  
  246.  
  247.  
  248.                                                                                                                                                 1
  249.  
  250.                                                                  Preface
  251.            -------------------------------------------------------------
  252.  
  253.            The answer is to convert it to a format compatible with the
  254.            BBSs. This task is done by so-called ASCII-encoders (short:
  255.            encoder). The encoders used in the past had one common
  256.            problem:
  257.  
  258.            - Did a file get corrupted, it was useless and had to be
  259.              transfered again.
  260.  
  261.            - Some encoders wouldn't even recognize errors, so the files
  262.              produces could actually do unexpected things! This ranged
  263.              from simple crashes to destruction of data on the harddisk.
  264.  
  265.            - Some did recognize that there was an error, but wouldn't
  266.              tell you where (in what file).
  267.  
  268.            - The overhead produced by those encoders was quite large and
  269.              ranged between 27% up to 100% (!). To transfer a program of
  270.              10K in length took up between 12,7K and 20K, depending on
  271.              the encoder used.
  272.  
  273.  
  274.            This situation was not very satisfying, so it was high time
  275.            for an encoder that could handle the problem
  276.  
  277.            - by using checksums on each and every line of code, thus
  278.              being able to recognize the exact position of errors,
  279.  
  280.            - by supplying a method of correting errors without having to
  281.              resend entire files over and over again,
  282.  
  283.            - by correcting minor errors on the spot, and
  284.  
  285.            - by producing less overhead (ca.15%).
  286.  
  287.            The encoder that does all this - and more - is >> 7PLUS <<.
  288.  
  289.  
  290.            The development of 7PLUS
  291.            ========================
  292.  
  293.            7PLUS has been developed on the basis of my previous encoder
  294.            SEVEN. 7PLUS however has the ability of detecting and correc-
  295.            ting errors. These abilities had the price of incompatibility
  296.            to SEVEN, however. This isn't so grave, since 7PLUS has a lot
  297.            of advantages compared to SEVEN and now the repeated upload
  298.            of files, that were corrupted in store & forward, is a thing
  299.            of the past.
  300.  
  301.            Since 7PLUS was incompatible to SEVEN anyway, I implemented a
  302.            RADIX216 encoding wich allows for very compact files.
  303.  
  304.            In the beginning, there was heavy opposition against 7PLUS.
  305.            Some people were convinced that an encoder that uses charac-
  306.            ters above 7Fh would create more trouble than do good.
  307.  
  308.  
  309.  
  310.  
  311.                                                                                                                                                 2
  312.  
  313.                                                 The development of 7PLUS
  314.            -------------------------------------------------------------
  315.  
  316.            7PLUS established itself as THE standard encoder in Germany
  317.            very quickly. This proves the critics to be wrong. By now,
  318.            7PLUS is not only used in Germany, but worldwide. There even
  319.            are BBSs that use 7PLUS for file serving purposes.
  320.  
  321.            An inportant aspect is the fact, that 7PLUS is available for
  322.            the most commonly used computer systems in Packet Radio:
  323.            IBM_PC, ATARI_ST, AMIGA and UNIX systems.
  324.            (There also are versions for the Apple MacIntosh and Acorn
  325.            Archimedes. I don't have those versions, so ask around for
  326.            them in the BBSs)
  327.  
  328.  
  329.            The ASCII-encoder 7PLUS
  330.            =======================
  331.  
  332.            From its conception, the Packet Radio protocol (AX.25) is an
  333.            8 bit system. When only using 7 bits, the protocol is only
  334.            used to 87.5% of its capacity. When encoding data only using
  335.            a 6 or 7 bit algorithm, an unnecessarily high overhead is
  336.            produced.
  337.  
  338.            7PLUS (all versions)
  339.  
  340.            - exploits the capacity of the network fully by using all 8
  341.              bits,
  342.  
  343.            - creates the 7PLUS code lines in a way, that when decoding
  344.              them, it can determine if a line was transfered correctly,
  345.  
  346.            - detects and protocols what lines were damaged or missing,
  347.  
  348.            - simplifies the exact reconstitution of corrupted files, by
  349.              using an mainly automated method of correcting (with
  350.              minimal cooperation between sender and recipient).
  351.  
  352.  
  353.            Basic steps of a 7PLUS filetransfer
  354.            ===================================
  355.  
  356.            1. OM A encodes the file TEST.TXT into TEST.7PL and uploads
  357.               it to the Packet Radio network.
  358.  
  359.            2. OM B downloads TEST.7PL and tries to decode it.
  360.               ...Unfortunately, the file has been damaged on its travel
  361.                  through the network....
  362.  
  363.            3. OM B's 7PLUS detects the errors in TEST.7PL and produces a
  364.               so-called metafile (TEST.7MF) where all the good lines are
  365.               stored in their already decoded form and in addition an
  366.               error report TEST.ERR. (TEST.7PL may be deleted at this
  367.               point, since it is not needed for correcting)
  368.  
  369.            4. OM B sends TEST.ERR to OM A.
  370.  
  371.  
  372.  
  373.  
  374.                                                                                                                                                 3
  375.  
  376.                                                  The ASCII-encoder 7PLUS
  377.            -------------------------------------------------------------
  378.  
  379.            5. With the help of 7PLUS, the original TEST.TXT and the
  380.               error report TEST.ERR, OM A creates the correction file
  381.               TEST.COR. He then sends the correction file to OM B or he
  382.               uploads it as a bulletin, if it can be useful to others.
  383.  
  384.            6. OM B's 7PLUS then uses TEST.COR to fill in the gaps in the
  385.               metafile TEST.7MF. If no gaps remain, 7PLUS frees the
  386.               metafile of the index data contained in it, renames it to
  387.               TEST.TXT and reconstitutes the file's timestamp.
  388.  
  389.  
  390.            In case the file TEST.COR has been damaged as well, OM A has
  391.            to send it again. Since the files TEST.ERR and TEST.COR are
  392.            usually rather short, this way of correcting damaged files
  393.            (points 3 through 6 above) is much more effective than
  394.            resending entire parts again and again until they luckily get
  395.            through undamaged.
  396.            The whole concept of exchanging error report and correction
  397.            files may sound complicated at first, but it isn't really.
  398.  
  399.  
  400.            The 7PLUS correcting method is basically comprised of 5
  401.            simple, but important steps:
  402.  
  403.              1. "At OM B: Decode and recognize faulty lines and memorize
  404.                 them in an error report TEST.ERR (automated),
  405.              2. "Send error report TEST.ERR from OM B to OM A",
  406.              3. "At OM A: Compile correction file TEST.COR" (automated),
  407.              4. "Send correction file TEST.COR from OM A to OM B",
  408.              5. "At OM B: Do the correction" (automated).
  409.  
  410.            If the correction file TEST.COR (for OM B) is downloaded by
  411.            OM B2 (someone who also downloaded TEST.7PL) does not cover
  412.            all faulty lines, he just has to run through the described
  413.            steps 3-5, since his own special TEST.ERR has been generated
  414.            when unsuccessfully tried to correct his TEST.7MF.
  415.  
  416.            Once OM A and OM B have successfully transfered a program or
  417.            picture file this way, they will see that the whole concept
  418.            is quite fool-proof.
  419.  
  420.  
  421.            A helpful OM C, who has successfully decoded TEST.7PL can
  422.            take the place of OM A by supplying correction files to his
  423.            friends or to someone looking for it. Also, an automated
  424.            station (e.g. an F6FBB-BBS running 7PSERV by SM0NCS) may well
  425.            take over the job of supplying correction files!
  426.  
  427.  
  428.  
  429.  
  430.  
  431.  
  432.  
  433.  
  434.  
  435.  
  436.  
  437.                                                                                                                                                 4
  438.  
  439.                                                             7PLUS-theory
  440.            -------------------------------------------------------------
  441.  
  442.            7PLUS-theory
  443.            ============
  444.  
  445.            The encoding scheme 7PLUS uses, could well be called a 7-
  446.            three-quarter-bit encoding, because on the smallest scale, 31
  447.            bits of the original data are encoded into 32 bits (4 charac-
  448.            ters) of the 7PLUS code. That is one of the reason, why 7PLUS
  449.            is called 7PLUS                           (Simple, isn't it?)
  450.  
  451.            7PLUS uses a RADIX216-algorithm for encoding.
  452.  
  453.            For 31 bytes of the original data, 32 7PLUS-bytes are
  454.            produced. This causes an overhead of 1/32 = 3.125%.
  455.            Because of the required line delimitors, checksums, head and
  456.            foot lines, the overhead increases to about 13% to 15%.
  457.  
  458.            Simple encoding algorithms as RADIX64 (UUE), RADIX128 (SEVEN)
  459.            are done by simple bit shifting operations (multiplications
  460.            with 2^n and divisions by 2^n). Something, microprocessors
  461.            can do with great speed.
  462.  
  463.            RADIX216 (7PLUS) is not based on multiples of 2, thus integer
  464.            divisions and multiplikations are necessary which take consi-
  465.            derably more time than simple bit shiftings.
  466.  
  467.            Some older microprocessors do not have direkt commands for
  468.            multiplication and division of integers, so these operations
  469.            have to be implemented by using add-shift-loops, which run
  470.            relatively slowly. Divisions done that way are even slower.
  471.            The microprocessors commonly used today (80X86, 680X0) how-
  472.            ever all have direct commands for multiplikation and division
  473.            of integers. That's why the 7PLUS algorithm will run at
  474.            acceptable speeds on them.
  475.  
  476.  
  477.            Encoding algorithm
  478.            ------------------
  479.  
  480.            When encoding data, 7PLUS interprets 31 bits of the original
  481.            data as the integer number N. This number is then divided
  482.            through 216 for three times.
  483.  
  484.            Die divisional rests (A1, A2, A3) and the third quotient (A4)
  485.            - can take one of 216 possible values (0 bis 215) and
  486.            - represent 4 basic characters  (= 4 bytes = 32 bits) of the
  487.              7PLUS code.
  488.  
  489.            After encoding of a group of 31 bytes of the original data, a
  490.            7PLUS group of 32 basic characters is the result.
  491.  
  492.            The basic characters from the RADIX216 algorithm can however
  493.            not be used directly as they still contain certain characters
  494.            the are used for control purposes in the ASCII code. This is
  495.            why each basic character is asigned a new one, that does not
  496.            collide with any control character of the ASCII code.
  497.  
  498.  
  499.  
  500.                                                                                                                                                 5
  501.  
  502.                                                             7PLUS-theory
  503.            -------------------------------------------------------------
  504.  
  505.            Character set
  506.            -------------
  507.  
  508.            Characters used by the 7PLUS algorithm: (in HEX notation)
  509.  
  510.               21 - 29, 2B - 7E, 80 - 90, 92, 94 - FC (ranges including)
  511.  
  512.            Characters not used:
  513.  
  514.               00 to 20  : Control codes and the space character.
  515.  
  516.               2A        : The asterisk (*) must not be used, because
  517.                         - by chance - the string '***end' could be
  518.                         produced, thus causing the receiving TheBox-BBS
  519.                         to end storage. (To my shame, I must admit, I
  520.                         did not take the bulletin board systems used
  521.                         outside of Germany into accout.. The file
  522.                         termination '/EX' may be produced by chance! I
  523.                         haven't received any complaints about this,
  524.                         however. Axel)
  525.  
  526.               7F        : DEL, another control code.
  527.  
  528.               91 and 93 : Some telephone terminal programs mis-interpret
  529.                         these characters as XON and XOFF (11h and 13h).
  530.  
  531.            When having problems storing all characters of the 7PLUS
  532.            code, see 'Tips for configuring ...'.
  533.  
  534.  
  535.            Decoding algorithm
  536.            ------------------
  537.  
  538.            When decoding,
  539.            - 7PLUS reads 4 characters of the 7PLUS code ( = 32 bits) and
  540.            - regroups them into the four values  A1, A2, A3 and A4.
  541.  
  542.            The value N is then rebuilt:
  543.  
  544.            N = A1 + A2*216^1 + A3*216^2 + A4*216^3
  545.  
  546.            The value N now represents 31 bits of the original data
  547.            (almost 4 bytes).
  548.            After reading and decoding a full 7PLUS group of 32 charac-
  549.            ters, 31 bytes of the original data are reconstituted.
  550.  
  551.  
  552.  
  553.  
  554.  
  555.  
  556.  
  557.  
  558.  
  559.  
  560.  
  561.  
  562.  
  563.                                                                                                                                                 6
  564.  
  565.                                                             7PLUS-theory
  566.            -------------------------------------------------------------
  567.  
  568.            Automagic single byte correction
  569.            --------------------------------
  570.  
  571.            Since version 1.60, 7PLUS uses a simple, but effective way to
  572.            correct single byte errors on the spot, when
  573.  
  574.            - one byte per line is wrong, or
  575.            - one byte is missing, or
  576.            - one byte is superfluous.
  577.  
  578.            Upon decoding of a line, 7PLUS checks its validity by using
  579.            the 'inner' checksum, wich has been there since 7PLUS v1.0 .
  580.            In case of an error, 7PLUS tries to rebuild the line by
  581.            testing all possible combinations (up to more than 14.000
  582.            combinations). If a combination is found, where the 'outer'
  583.            checksum (this checksum has been added since version 1.60 of
  584.            7PLUS) tests ok, the result is checked again with the inner
  585.            checksum, because at this point there may be more than one
  586.            possible result. If both checksums test ok, then the line has
  587.            been successfully rebuilt. If not, testing of combinations
  588.            continues until either a valid combination is found or all
  589.            combinations have been tested unsuccessfully.
  590.  
  591.            A situation where the inner AND outer checksum test ok and
  592.            the line is still incorrect, is EXTREMELY unlikely. To add
  593.            some more safety, the outer checksum is calculated inverse to
  594.            the inner one (back to front).
  595.  
  596.            The single byte correction may take quite some time (up to
  597.            three seconds) on slow computers, but if this feature can
  598.            save the trouble of ordering a correction files, it's well
  599.            worth the waiting. Also, single byte errors are not that
  600.            frequent.
  601.  
  602.  
  603.            I am well aware of the fact that there are better methods.
  604.            The trouble is, they either have a much greater overhead or
  605.            need extensive tables, wich is a problem in situations where
  606.            there isn't much memory available (e.g. when called from
  607.            within a terminal program or a computer running a bulletin
  608.            board system).
  609.  
  610.  
  611.            The structure of 7PLUS code files
  612.            =================================
  613.  
  614.            7PLUS code files are generally comprised of
  615.            - a header,
  616.            - up to 512 lines of code and
  617.            - a foot line.
  618.  
  619.            Each line is concluded with a CR/LF combination (on MSDOS and
  620.            ATARI; on other systems a line delimitor complying with that
  621.            system is used, e.g. LF on AMIGA/UNIX).
  622.            During transfer via Packet Radio, the line delimitor is
  623.            always and only the CR character.
  624.  
  625.  
  626.                                                                                                                                                 7
  627.  
  628.                                                             7PLUS-theory
  629.            -------------------------------------------------------------
  630.  
  631.            Transformation of CR/LF (LF with AMIGA/UNIX) into CR is done
  632.            automatically by the terminal programs.
  633.  
  634.            Exception: When receiving or sending in the binary mode of
  635.                      some terminal programs.
  636.                      See 'Tips for configuring ...'.
  637.  
  638.  
  639.            Header
  640.            ------
  641.            (Presentation split due to lack of space)
  642.  
  643.                go_7+. 005 of 010 TEST.TXT     0010453 ->
  644.               +-----+ +-+    +-+ +----------+ +-----+
  645.                  1     2      3       4          5
  646.  
  647.            -> 6488 166 (7PLUS v2.0) XXXXYZZ
  648.               +--+ +-+ +----------+ +-----+
  649.                 6   7       8          9
  650.  
  651.  
  652.            1) Start indicator, beginning in the second column.
  653.            2) Number of the part, decimal    (part 5)
  654.            3) Number of parts, decimal     (10 parts)
  655.            4) Name of original file        (TEST.TXT),
  656.               filled with spaces to a length of 12 characters. Even on
  657.               system that allow longer filenames, an MSDOS-compatible
  658.               filename is supplied here! This is to insure the exchange-
  659.               ability of files between different systems.
  660.            5) Length of the unencoded file in bytes (decimal).
  661.            6) Number of ASCII bytes in this part. Not used by 7PLUS v2.0
  662.               any more. It's there only to keep compatibility with older
  663.               versions.
  664.            7) Number of lines per file (hex).
  665.            8) Name and version of encoder used.
  666.            9) XXXX: Test characters to detect stripping of eigth bit. Is
  667.                    also used to indicate that the full filename follows
  668.                    in the next line (since 7PLUS v1.4).
  669.               Y:    Minichecksum for the header (since 7PLUS v1.5).
  670.               ZZ:   Additional checksum for single byte correction.
  671.                    (since 7PLUS v1.60).
  672.  
  673.            (Calculation of checksums, see 7PLUS source code)
  674.  
  675.  
  676.  
  677.  
  678.  
  679.  
  680.  
  681.  
  682.  
  683.  
  684.  
  685.  
  686.  
  687.  
  688.  
  689.                                                                                                                                                 8
  690.  
  691.                                                             7PLUS-theory
  692.            -------------------------------------------------------------
  693.  
  694.            Code lines
  695.            ----------
  696.            (Presentation split due to lack of space)
  697.  
  698.               AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA ->
  699.               +------------------------------>
  700.                             1
  701.  
  702.            -> BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBPPPQQ
  703.               >------------------------------++---+
  704.                                                 2
  705.  
  706.            1) A: First 7PLUS group (32 7PLUS bytes representing 31 bytes
  707.                 of the original data).
  708.               B: Second 7PLUS group.
  709.            2) P: Checksum (14 bit) and line numbering (9 bit).
  710.               Q: (Since 7PLUS v2.0) Additional checksum for single byte
  711.                 correction (15 bit).
  712.  
  713.            A 7PLUS code file may contain up to a maximum of 512 code
  714.            lines.
  715.  
  716.            (Calculation of checksums, see 7PLUS source code)
  717.  
  718.  
  719.            Foot line
  720.            ---------
  721.  
  722.              stop_7+. (TEST.P05/0A) [18398BE4]                   XXXXYZZ
  723.             +-------+ +-----------+ +--------+ +---------------+ +-----+
  724.                 1           2           3              4            5
  725.  
  726.            1) End indicator beginning in second column.
  727.            2) Name of the encoded file and overall number of parts.
  728.            3) Date and time (timestamp) of the unencoded file in MSDOS
  729.               format:
  730.                 32bit-value,   bits 0 -4  -> seconds / 2
  731.                                bits 5 -10 -> minutes
  732.                                bits 11-15 -> hours
  733.                                bits 16-20 -> days
  734.                                bits 21-24 -> moths
  735.                                bits 25-31 -> years since 1980
  736.            4) Reserved.
  737.            5) See position 9 in 'Header'.
  738.  
  739.            (Calculation of checksums, see 7PLUS source code)
  740.  
  741.  
  742.  
  743.  
  744.  
  745.  
  746.  
  747.  
  748.  
  749.  
  750.  
  751.  
  752.                                                                                                                                                 9
  753.  
  754.                                                             7PLUS-theory
  755.            -------------------------------------------------------------
  756.  
  757.            Single and multipart 7PLUS code files
  758.            =====================================
  759.  
  760.            7PLUS uses a 9 bit line number for the numbering of the code
  761.            lines. This allows for a maximun of 2^9 (=512) lines per code
  762.            file. Since a code line represents 62 bytes of the original
  763.            data, the maximum size of a file that can be encoded into a
  764.            single 7PLUS code file is 512 * 62 = 31744 bytes.
  765.            Bigger files are automatically encoded into several 7PLUS
  766.            code files because of this restriction.
  767.  
  768.            However, 7PLUS already starts splitting at a size of 8557
  769.            bytes, so that the 7PLUS code file have a size of abt 10K. By
  770.            using the appropriate split options, 7PLUS can still be
  771.            ordered to produce bigger files, if required.
  772.  
  773.              Note:
  774.              -----
  775.              The reason for the restriction of the size of code file to
  776.              abt 10k lies in the not very smart method used in the store
  777.              & forward traffic between BBSs.
  778.  
  779.              An example:
  780.  
  781.              A message of 40,000 bytes is to be transfered from BBS A to
  782.              BBS B. If the transfer is interrupted by a link failure
  783.              (happens quite frequently), the entire transfer has to be
  784.              repeated from the top, until the link holds through the
  785.              entire transfer.
  786.              As long as the authors of bulletin board systems don't
  787.              improve the store & forward method to allow resuming an
  788.              interrupted transfer without starting allover, it is best
  789.              to keep the size of files low.
  790.  
  791.            Single part code files are issued a filename consisting of
  792.            the prefix of the filename of the original file and the
  793.            extension '.7PL'.
  794.  
  795.            Example: 'FUNKTION.EXE' or 'FUNKTION.PAS' becomes
  796.                     'FUNKTION.7PL'.
  797.  
  798.            Multipart code files are issued a different extension than
  799.            single part code files. The extension '.PXX' marks all code
  800.            files that belong together. 'XX' stands for a hexadecimal
  801.            number in the range of 01 to FF (1 to 255 dec).
  802.  
  803.            Example: 'XMIT.EXE' may be encoded into 'XMIT.P01',
  804.                     'XMIT.P02', 'XMIT.P03' etc.
  805.  
  806.            7PLUS can produce up to 255 parts. Thus, 255 * 31,744 =
  807.            8,094,720 bytes can be encoded with 7PLUS.
  808.  
  809.            For Ham purposes, this is more than sufficient.
  810.  
  811.  
  812.  
  813.  
  814.  
  815.                                                                                                                                               10
  816.  
  817.                                                             7PLUS-theory
  818.            -------------------------------------------------------------
  819.  
  820.            Splitting
  821.            =========
  822.  
  823.            7PLUS can split files in different manners.
  824.  
  825.            It can be ordered to
  826.  
  827.            - split into a specified number of files,
  828.  
  829.                where the size of the produced files depends on
  830.                - the specified number of files and
  831.                - the size of the original file,
  832.  
  833.            or
  834.  
  835.            - split into files of a specified size,
  836.  
  837.                where the number of files produced depends on
  838.                -  the specified size of the parts and
  839.                -  the size of the original file.
  840.  
  841.            How 7PLUS splits can be greatly influenced by the user.
  842.  
  843.            See discription of the split options in 'Usage/Ecoding'.
  844.  
  845.  
  846.            The metafile
  847.            ============
  848.  
  849.            A new feature of 7PLUS are the so-called metafiles. They
  850.            eliminate a number of processing steps when correcting files.
  851.  
  852.            With older versions of 7PLUS, the user had to keep the unsuc-
  853.            cessfully decoded files until he received a correction file.
  854.            When the correction file was received, the code files had to
  855.            be corrected and then decoded. Were there a good number of
  856.            single byte errors, this could take a considerable amount of
  857.            time and if the correction was not successful, the procedure
  858.            had to be repeated. In principal, the code files were decoded
  859.            three times: once when trying to decode, when correcting and
  860.            again when finally decoding. This wasn't very effective, as
  861.            anyone can imagine.
  862.  
  863.            Now, 7PLUS will produce a metafile, when first decoding. The
  864.            metafile contains all successfully decoded lines (in their
  865.            already decoded form) and where lines are missing or damaged,
  866.            the metafile is filled in with NUL bytes.
  867.  
  868.            At this point, the 7PLUS code files may be erased, because
  869.            they are not needed for correcting.
  870.  
  871.            After decoding, the metafile has the same length as the
  872.            original file, only where lines are missing, it has gaps
  873.            where the missing lines can be inserted, when a correction
  874.            file is available.
  875.  
  876.  
  877.  
  878.                                                                                                                                               11
  879.  
  880.                                                       7PLUS file formats
  881.            -------------------------------------------------------------
  882.  
  883.            Some important index information is then appended to the end
  884.            of the metafile (basically the same information as in the
  885.            error report), so 7PLUS can look up, where there still are
  886.            gaps in the metafile.
  887.  
  888.            When a correction file is available, the gaps are simply
  889.            filled in. The metafile does not even have to be moved for
  890.            this process, because this is done by direct positioning of
  891.            the write pointer. The previously inserted NUL bytes are
  892.            simply overwritten.
  893.  
  894.            Since the metafile does not have to be moved, the process of
  895.            correcting is now extremely fast. You may get the feeling,
  896.            nothing has happened!
  897.  
  898.            If all gaps in the metafile are filled in, it is renamed to
  899.            the name of the original file, truncated to its correct
  900.            length (to rid it of the additional info 7PLUS put at the end
  901.            of it; that is also done without moving the file) and its
  902.            original timestamp is restored.
  903.  
  904.            Metafiles have filenames that consist of the prefix of the
  905.            original file's name plus the extension '.7MF'. Metafiles
  906.            must be kept, because without them, correcting errors is not
  907.            possible!
  908.  
  909.            Note:
  910.            On operating systems that do not support the manipulation of
  911.            filesizes, the index info is not appended to the metafile but
  912.            written into an extra file with the extension '.7IX'. At
  913.            least under MS_DOS, DR_DOS, OS/2 and TOS (Atari), manipula-
  914.            tion of filesizes is possible, so no extra index file is
  915.            produced.
  916.  
  917.  
  918.            The error report
  919.            ================
  920.  
  921.            When 7PLUS code files have been damaged in transfer, 7PLUS
  922.            does not actually recognize the specific errors, but
  923.  
  924.            - it recognizes which lines are missing or damaged and
  925.              threrefore have to be transfered again,
  926.            - 'memorizes' the uncorrupted and decoded lines in the
  927.              metafile and
  928.            - produces an error report, where all necessary information
  929.              is contained to allow the uploader of the damaged files the
  930.              compilation of a correction file.
  931.  
  932.            Exception:
  933.            If only one byte per line is falsified, superfluous or
  934.            missing, 7PLUS will correct the error on the spot (so-called
  935.            'single byte correction').
  936.  
  937.  
  938.  
  939.  
  940.  
  941.                                                                                                                                               12
  942.  
  943.                                                       7PLUS file formats
  944.            -------------------------------------------------------------
  945.  
  946.            Example of an error report:
  947.  
  948.             go_text. TEST.ERR
  949.            7PLUS error report: TEST.TXT 113 /Test.TXT/ 34028
  950.            01
  951.            005 006 007 03D FFF
  952.            02
  953.            10C 10D 10E FFF
  954.            [18398BE4]
  955.            00
  956.            CRC A17D
  957.             stop_text.
  958.  
  959.            The error report from OM B is practically the request for a
  960.            correction file from OM A to thus resend the damaged lines,
  961.            so they can be added to OM B's metafile.
  962.  
  963.  
  964.            The lines ' go_text.' and ' stop_text.' mark the beginning
  965.            and end of the error report. These markings allow 7PLUS to
  966.            find and extract the error report from a capture file.
  967.  
  968.            Note:
  969.  
  970.            The markings ' go_text.' and ' stop_text.' are also used by
  971.            my program FFR (Mailbox File Fractionizer) to mark regular
  972.            text for automatic extraction. Only when the extension of the
  973.            filename stated in the ' go_text.' line is either '.ERR' or
  974.            '.COR', it is an error report or a correction file! (Axel)
  975.  
  976.  
  977.            The header '7PLUS error report...' contains information 7PLUS
  978.            needs to compile a correction file:
  979.  
  980.            - Name of the original file,
  981.            - number of lines per file (splitsize),
  982.            - the full filename (only AMIGA/UNIX since v1.4) and
  983.            - the length of the original file (since 7PLUS v1.5).
  984.  
  985.  
  986.            The two-digit hex values define the part (01 - FF) in wich
  987.            the following lines were corrupted.
  988.            An unsplit 7PLUS file is handled as 'part 1' here.
  989.  
  990.            One or more lines containing 3-digit hex values follow (the
  991.            first line in a code file is regarded as line 000 and the
  992.            512th as 1FF).
  993.  
  994.            A line number of 'FFF' concludes the list of damaged lines
  995.            for that part.
  996.  
  997.            This can be repeated for all parts having missing or damaged
  998.            lines.
  999.  
  1000.            Since 7PLUS v2.0 the error report is conluded by the original
  1001.            file's timestamp enclosed in braces '[]'. The old conclusion
  1002.  
  1003.  
  1004.                                                                                                                                               13
  1005.  
  1006.                                                       7PLUS file formats
  1007.            -------------------------------------------------------------
  1008.  
  1009.            '00' is still there for reasons of compatibility to older
  1010.            versions.
  1011.  
  1012.            After this, the checksum for the error report follows (since
  1013.            7PLUS v1.5) to enable 7PLUS to check the validity of the
  1014.            error report before using it.
  1015.  
  1016.  
  1017.            The correction file
  1018.            ===================
  1019.  
  1020.            Upon reception of the error report from OM B, OM A (hope-
  1021.            fully) compiles a correction file with it. The correction
  1022.            file contains all the lines that were requested by the error
  1023.            report. OM A then either sends the correction file to OM B or
  1024.            posts it as a bulletin, when he has been receiving the same
  1025.            error reports from more than one OM.
  1026.            In case the error reports differ, OM A can have 7PLUS join
  1027.            them ('-J' option) to one error report and then produce a
  1028.            collective correction file with it.
  1029.  
  1030.            When using a correction file, 7PLUS will only replace lines
  1031.            that aren't already decoded successfully. Because of this, OM
  1032.            B2 can use the correction file that was intended for OM B as
  1033.            well and without risk. The correction will then be success-
  1034.            ful, if all the lines that are demaged with OM B2 are
  1035.            successfully replaced.
  1036.  
  1037.            Example of a correction file:
  1038.  
  1039.             go_text. TEST.COR
  1040.            7PLUS correction: TEST.TXT 34028 113 [18398BE4]
  1041.             P01:
  1042.             L005:
  1043.            sdWKLRjwEK...(line   5 of part 1)
  1044.             L006:
  1045.            "rt4rWER7Z...(line   6 of part 1)
  1046.             L007:
  1047.            eeERG35ERG...(line   7 of part 1)
  1048.             L03D:
  1049.            $%&H$%6TZJ...(line  61 of part 1)
  1050.             P02:
  1051.             L10C:
  1052.            AdD$%SFFDr...(line 268 of part 2)
  1053.             L10D:
  1054.            sFG$sFw4rf...(line 269 of part 2)
  1055.             L10E:
  1056.            56fZTddfDg...(line 270 of part 2)
  1057.             P00:
  1058.            CRC A9B6
  1059.             stop_text.
  1060.  
  1061.            ' go_text.', ' stop_text.' and checksum:
  1062.            see 'The error report'.
  1063.  
  1064.  
  1065.  
  1066.  
  1067.                                                                                                                                               14
  1068.  
  1069.                                                       7PLUS file formats
  1070.            -------------------------------------------------------------
  1071.  
  1072.            The header '7PLUS correction...' contains the following
  1073.            information:
  1074.  
  1075.            -  name of the original file,
  1076.            -  length of the original file (decimal) (since 7PLUS v1.5),
  1077.  
  1078.            and additionally since 7PLUS v2.0:
  1079.            -  the blocksize in lines (hex) the original file was split
  1080.               into and
  1081.            -  the timestamp of the original file.
  1082.  
  1083.            A line with an entry of the form ' PXX:' defines, for which
  1084.            of the encoded files the following lines are meant. The code
  1085.            lines are preceded by ' LXXX:' wich states the line number in
  1086.            the file. 'XX' and 'XXX' stand for two- and three-digit hex
  1087.            values.
  1088.  
  1089.            The structure of the error reports and correction files is
  1090.            intentionally held very simple.
  1091.  
  1092.  
  1093.            'Saving' damaged error reports and correction files
  1094.            ===================================================
  1095.  
  1096.            When an error report or correction file has been damaged and
  1097.            it has a checksum, 7PLUS will break execution and warn the
  1098.            user about the missing or incorrect checksum.
  1099.            This does not necessarily mean, the file is unusable. Since
  1100.            the structure of these files is help very simple, it should
  1101.            not be very difficult to erase the faulty parts.
  1102.            Since the checksum (CRC XXXX) is incorrect, it must also be
  1103.            erased or else 7PLUS will still refuse to use it.
  1104.            In addition the '-F' option must be issued, when using files
  1105.            manipulated in this manner.
  1106.            This way it is still possible to at least use the good parts
  1107.            of an error report or correction file, making the next try
  1108.            (requesting new correction file etc.) less voluminous.
  1109.  
  1110.            If the correction file was downloaded by our fictional OM B2,
  1111.            he may be lucky if the correction file contained more lines
  1112.            than he needed to do the correction. Then all his damaged
  1113.            lines may now be replaced (if the right lines were in the
  1114.            correction file, of course).
  1115.  
  1116.  
  1117.            Compatibility of 7PLUS versions
  1118.            ===============================
  1119.  
  1120.            7PLUS will decode all files produced with older versions of
  1121.            7PLUS. Files produced with 7PLUS v1.0 e.g. will still decode
  1122.            without any difficulty with 7PLUS v2.0.
  1123.  
  1124.            Since version 1.60 the single byte correction feature was
  1125.            added. For this the code lines were fitted with an additional
  1126.            checksum. Because of this change, versions of 7PLUS before
  1127.            v1.4 will not decode the files from version 1.60 and above
  1128.  
  1129.  
  1130.                                                                                                                                               15
  1131.  
  1132.                                                            Compatibility
  1133.            -------------------------------------------------------------
  1134.  
  1135.            any more! There is however the possibility of manually
  1136.            erasing the additional checksums from every line (the last
  1137.            two characters) and to then decode with a version prior to
  1138.            v1.4. Since the greater part of users has a newer version,
  1139.            this incompatibility is actually not a problem any more. Not
  1140.            many other encoders (if any) are as highly an up- AND down-
  1141.            ward compatible as 7PLUS is.
  1142.  
  1143.            Error reports and correction files are also up- and downward
  1144.            compatible.
  1145.  
  1146.            Since 7PLUS v1.5 the error reports and correction files are
  1147.            fitted with a global checksum. It is only checked for
  1148.            validity if the files actually contains a checksum. If 7PLUS
  1149.            does not find a checksum however, it will warn the user:
  1150.  
  1151.            'no CRC. File may be corrupted or from version earlier than
  1152.             7PLUS v1.5'.
  1153.  
  1154.            This only means, that 7PLUS could not figure out, if the file
  1155.            is ok or not. You should take a look at such files and read
  1156.            the chapter ''Saving' damaged ...'.
  1157.  
  1158.  
  1159.            Filename conventions
  1160.            ====================
  1161.  
  1162.            Filenames handled by 7PLUS, must comply with the rules
  1163.            concerning filename generation under MS_DOS, no matter what
  1164.            system 7PLUS is implemented on.
  1165.  
  1166.            They are always made up of
  1167.            - a name (8 characters max.) and
  1168.            - an extension (3 characters max.) seperated by a period.
  1169.  
  1170.            Filenames in 7PLUS-files are always in uppercase!
  1171.  
  1172.            Example for a filename according to above rules: TERMINAL.EXE
  1173.  
  1174.            On disk, lower case is used for the filenames, if the file-
  1175.            system allows this. This is very important on systems that do
  1176.            not ignore the case in filenames (UNIX).
  1177.  
  1178.            To enable transfer of full filenames on systems with name
  1179.            structures different than MS_DOS, the full filenames are
  1180.            transfered separately (see 'The header'). At the same time,
  1181.            an MS_DOS compatible filename is created to insure exchange-
  1182.            ability. E.g., the full filename 'Hyper_Term_Plus' would be
  1183.            changed into 'HYPER_TE'.
  1184.  
  1185.            When encoding a file without splitting it, the encoded file
  1186.            is assigned '.7PL' as the extention.  (TERMINAL.7PL)
  1187.  
  1188.            Split files are assigned '.PXX' as the extension, where XX is
  1189.            a hexadecimal number in the range 01 through FF.
  1190.  
  1191.  
  1192.  
  1193.                                                                                                                                               16
  1194.  
  1195.                                                     Filename conventions
  1196.            -------------------------------------------------------------
  1197.  
  1198.            Error reports usually have '.ERR' and correction files '.COR'
  1199.            for an extension. This is very important, because 7PLUS gets
  1200.            its information on what to do from the extension!
  1201.  
  1202.            - '.ERR' tells the 7PLUS of the uploader to compile a
  1203.              correction file,
  1204.            - '.COR' tells the 7PLUS of the downloader to do the
  1205.              correction
  1206.  
  1207.  
  1208.            It is allowed to change names of error reports and correction
  1209.            files. However, the extensions MUST comply with above rules!
  1210.  
  1211.            If you recieved a lot of error reports, there is another way
  1212.            of naming these files. The first error report must have
  1213.            '.ERR' for an extension and the following ones must have
  1214.            '.EXX', where XX is a two-digit hex value.
  1215.  
  1216.            Example:
  1217.            You received three error reports that all relate to the same
  1218.            upload (TEST.7PL). When extracting through the '-X' option,
  1219.            the first report will be called TEST.ERR, the second TEST.E01
  1220.            and the third TEST.E02. The three reports can then easily be
  1221.            joined into a combined report using the '-J' option for
  1222.            instance.
  1223.  
  1224.            Analogous to the naming of error reports, correction files
  1225.            may also be numbered. If you receive several correction files
  1226.            that have the same name (and relate to the same upload),
  1227.            7PLUS will name the first correction file 'TEST.COR', the
  1228.            next 'TEST.C01' etc..
  1229.  
  1230.  
  1231.            7PLUS-files should always be stored with filenames
  1232.            corresponding to these rules. This is even more important in
  1233.            regard to split files and correcting, because 7PLUS may
  1234.            otherwise not be able to find the files belonging together!
  1235.  
  1236.  
  1237.            Usage
  1238.            =====
  1239.  
  1240.            The following examples apply to an MSDOS system. If using
  1241.            7PLUS on an Atari_ST, you don't need to enter '7plus' again
  1242.            in the requester after you double clicked 7PLUS, but only the
  1243.            parameters shown in the examples.
  1244.            On an Amiga, the CLI must first be started. The syntax is
  1245.            then the same as in the examples, except for differences in
  1246.            the structure of filename and paths.
  1247.  
  1248.  
  1249.  
  1250.  
  1251.  
  1252.  
  1253.  
  1254.  
  1255.  
  1256.                                                                                                                                               17
  1257.  
  1258.                                                                    Usage
  1259.            -------------------------------------------------------------
  1260.  
  1261.            Encoding
  1262.            --------
  1263.  
  1264.            7plus test.txt
  1265.                7PLUS will encode the file TEST.TXT and (if necessary)
  1266.                automatically split it into files of about 10K in size.
  1267.  
  1268.            7plus test.txt -s
  1269.                7PLUS will encode TEST.TXT and split it into files of
  1270.                maximum size (up to 512 lines per file).
  1271.  
  1272.            7plus test.txt -s 30
  1273.                Encode and split TEST.TXT into files of 30 lines each.
  1274.  
  1275.            7plus test.txt -sp 3
  1276.                Encode and split TEST.TXT into 3 files of about equal
  1277.                size.
  1278.  
  1279.            7plus test.txt -sb 5000
  1280.                Encode and split TEST.TXT into files of about 5000 bytes
  1281.                length.
  1282.  
  1283.  
  1284.            Extracting
  1285.            -----------
  1286.            (Extracting = copy 7PLUS files from a capture file)
  1287.  
  1288.            One can use an editor to extract 7PLUS files from a capture
  1289.            file, but 7PLUS can do this much quicker, safer and more
  1290.            convenient.
  1291.  
  1292.            The 7PLUS extractor looks for files in the capture file that
  1293.            - begin with the markings ' go_7+.', ' go_info.'
  1294.              or ' go_text.', and
  1295.            - end with the line containing ' stop_7+.', ' stop_info.'
  1296.              or ' stop_text.'.
  1297.  
  1298.            The full command to extract 7PLUS files from a capture file
  1299.            is:
  1300.  
  1301.            7plus <capturefile> -x [<searchtext>]
  1302.  
  1303.  
  1304.            Examples:
  1305.  
  1306.            7plus spsave.c10 -x 999.err
  1307.                7PLUS extracts (and numbers) all error reports from the
  1308.                capture file 'spsave.c10' if their name  contains
  1309.                '999.err'. This could be 'TERM999.ERR' or 'MEGA1999.ERR'
  1310.                etc.
  1311.  
  1312.            7plus a:term.log -x
  1313.                If no searchtext is issued, ALL 7PLUS files contained in
  1314.                a capture file are extracted. In this case, the files are
  1315.                extracted from 'a:term.log'.
  1316.  
  1317.  
  1318.  
  1319.                                                                                                                                               18
  1320.  
  1321.                                                                    Usage
  1322.            -------------------------------------------------------------
  1323.  
  1324.            7plus 91-05-15 -x ###
  1325.                When a fictional searchtext is issued (e.g. ###), no
  1326.                files are extracted, but a list is generated, showing
  1327.                what files are contained in the capture file. You get a
  1328.                sort of directory of the contents.
  1329.  
  1330.            When extracting, no matter if the line delimitors in the
  1331.            capture file are CR/LF, CR or LF, the extracted files will
  1332.            have line delimitors in compliance with the system used:
  1333.            CR/LF on IBM and Atari_ST and LF on Amiga and UNIX.
  1334.  
  1335.            If the capture file was created by capturing the data in
  1336.            binary mode, the line delimitors in the file will only be
  1337.            CRs, wich will make editing impossible. 7PLUS however is not
  1338.            only able to correctly extract, but also the correct naming
  1339.            of the files is insured.
  1340.            Along with the 7PLUS code files, error reports, correction
  1341.            files  and info files are also extracted. Info files have to
  1342.            be marked manually before uploading them to a BBS by
  1343.            inserting ' go_info. FILENAME.EXT' as the first line and
  1344.            ' stop_info.' as the last line. FILENAME.EXT is the filename,
  1345.            the info file will be given, when extracted.
  1346.  
  1347.            At this point, I would like to bring your attention to the
  1348.            existance of another program of mine, that will also do the
  1349.            job of extracting 7PLUS files and more: FFR (Mailbox File
  1350.            Fractionizer).
  1351.            The FFR will also extract bulletins, personal mail and the
  1352.            files of most other encoders (RADIX95, CODEX, 7BIT etc.).
  1353.            The FFR can be freely configured to work with many bulletin
  1354.            board systems. Currently it knows the formats of TheBox,
  1355.            F6FBB, W0RLI, MSYS and many more.. It's almost as popular
  1356.            as 7PLUS around Germany.. (Axel)
  1357.  
  1358.  
  1359.            Decoding
  1360.            ------
  1361.  
  1362.            7plus test.7pl
  1363.                7PLUS decodes TEST.7PL. If there are no errors in
  1364.                TEST.7PL, 7PLUS will produce a copy of the original file
  1365.                using the MSDOS compatible filename (unless decoding on
  1366.                an Amiga or UNIX system. Then the full filename is used,
  1367.                if available). In case of errors, 7PLUS will produce an
  1368.                error report (TEST.ERR).
  1369.                If 7PLUS finds a correction file 'TEST.COR' in the same
  1370.                directory, it will use it automatically. If additional
  1371.                correction files exist (TEST.C01, TEST.C02 etc.) they are
  1372.                also used.
  1373.                See also 'The metafile'.
  1374.  
  1375.            7plus test.p01
  1376.                7PLUS will decode all parts (*.p01, *.p02 etc.).
  1377.                See previous example.
  1378.  
  1379.  
  1380.  
  1381.  
  1382.                                                                                                                                               19
  1383.  
  1384.                                                                    Usage
  1385.            -------------------------------------------------------------
  1386.  
  1387.            7plus test
  1388.                7PLUS will -  either DECODE 'TEST.7PL' or 'TEST.PXX'
  1389.                           -  or ENCODE the file named 'TEST'.
  1390.  
  1391.  
  1392.            Compiling a correction file
  1393.            ---------------------------
  1394.  
  1395.            7plus test.err c:\pr\
  1396.                7PLUS will compile the correction file 'TEST.COR'. It
  1397.                will look for the original file 'TEST.TXT' in the
  1398.                directory 'C:\PR\'. If no searchpath is issued, 7PLUS
  1399.                will look for 'TEST.TXT in the current directory. It is
  1400.                not necessary for the uploader of 'TEST.TXT' to keep the
  1401.                encoded files (TEST.7PL or TEST.PXX), because they are
  1402.                not needed to compile a correction file. The only thing,
  1403.                he MUST keep is the original unencoded file 'TEST.TXT'!
  1404.                Without it, no correction files can be compiled. Also he
  1405.                should remember how he split 'TEST.TXT' to be able to
  1406.                supply entire parts, if they have been lost alltogether.
  1407.  
  1408.            7PLUS automatically splits very large correction files into
  1409.            chunks of about 10k. The size, where 7PLUS begins to split
  1410.            can be influenced with the '-SB' option.
  1411.            See 'Encoding'
  1412.  
  1413.  
  1414.            A special situation can arise, when a 7PLUS file was created
  1415.            on a system with non-MSDOS filename structures.
  1416.  
  1417.            Example:
  1418.  
  1419.            An OM, who has an AMIGA, encodes 'Hyper_Term_Plus'. 7PLUS
  1420.            creates an MSDOS compatible filename from the full filename:
  1421.            'HYPER_TE' (the full filename is also transfered in the 7PLUS
  1422.            files, but is not used on MSDOS or Atari_ST systems).
  1423.            The 'AMIGA-OM' uploads the file(s) and an 'MSDOS-OM' down-
  1424.            loads it/them and decodes with a version of 7PLUS older than
  1425.            v1.4. In case of errors, the 'MSDOS-OM' sends his error
  1426.            report to the 'AMIGA-OM'. He tries to compile the correction
  1427.            file, but his 7PLUS looks for 'HYPER_TE' instead of
  1428.            'Hyper_Term_Plus'! In this case, the full name including the
  1429.            path must be specified:
  1430.  
  1431.            E.g.: 7plus hyper_te.err df0:utils/Hyper_Term_Plus
  1432.  
  1433.            This problem will not arise, if the 'MSDOS-OM' used 7PLUS
  1434.            v1.4 (or higher), because 7PLUS will add the full filename to
  1435.            the error report.
  1436.  
  1437.  
  1438.  
  1439.  
  1440.  
  1441.  
  1442.  
  1443.  
  1444.  
  1445.                                                                                                                                               20
  1446.  
  1447.                                                                    Usage
  1448.            -------------------------------------------------------------
  1449.  
  1450.            Correcting
  1451.            ----------
  1452.  
  1453.            7plus test.cor
  1454.                7PLUS will use the correction file 'TEST.COR' to fill the
  1455.                gaps in the metafile 'TEST.7MF'. If not all gaps could be
  1456.                filled, 7PLUS creates a new error report. This is the
  1457.                case if the correction file does not cover all gaps or
  1458.                not the right ones. Send the new error report to the
  1459.                uploader and request a new correction file. If 7PLUS
  1460.                finds additional correction files (TEST.C01, TEST.C02
  1461.                etc.) in the same directory as 'TEST.COR' it will
  1462.                automatically use them.
  1463.  
  1464.            7plus test.p03 -c
  1465.                7PLUS also allows the usage of a regular 7PLUS file as a
  1466.                correction file. It will take the lines it needs out of
  1467.                'TEST.P03' and fill the gaps in the metafile. If gaps
  1468.                remain, 7PLUS will create a new error report, just as
  1469.                stated in the previous example.
  1470.  
  1471.            If the correction file was produced using a 7PLUS version
  1472.            prior to v1.5, 7PLUS will break execution, because it can't
  1473.            find any checksum. 7PLUS can be forced to use such a file by
  1474.            issuing the '-F' option. You should however take a look at
  1475.            the file, before doing so!
  1476.            See also ''Saving' damaged...'
  1477.  
  1478.            Tip for insiders:
  1479.  
  1480.            If 'TEST.7PL/PXX' was uploaded to a general board and correc-
  1481.            tion files for it turn up from time to time, one could well
  1482.            wait until a fitting correction file turns up.
  1483.  
  1484.            You may use as many correction files as you wish. Since all
  1485.            successfully decoded lines are stored in the metafile, you
  1486.            may be lucky to eventually fill all remaining gaps.
  1487.  
  1488.  
  1489.            Joining error reports
  1490.            ---------------------
  1491.  
  1492.            Joining of error report is usefull, when an uploader has
  1493.            received more than one error report. He can use the joined
  1494.            error report to produce a collective correction file which
  1495.            contains all lines that were reported damaged. If all error
  1496.            reports are the same, joining is not necessary, of course.
  1497.  
  1498.  
  1499.            7plus test.err test2.err -j
  1500.                7PLUS will join the error reports 'TEST.ERR' and
  1501.                'TEST2.ERR'.
  1502.  
  1503.  
  1504.  
  1505.  
  1506.  
  1507.  
  1508.                                                                                                                                               21
  1509.  
  1510.                                                                    Usage
  1511.            -------------------------------------------------------------
  1512.  
  1513.            7plus test.err -j
  1514.                7PLUS will automatically join all error reports that were
  1515.                created through extraction with the '-X' option. 7PLUS
  1516.                looks for 'TEST.E01', 'TEST.E02' etc.
  1517.  
  1518.  
  1519.            Recreating an error report from a metafile
  1520.            ------------------------------------------
  1521.  
  1522.            In case an error report is lost or if you want to send one
  1523.            again (because the first one wasn't answered), it can be
  1524.            recreated from the metafile.
  1525.  
  1526.            7plus test.7mf
  1527.                7PLUS reads the index information from the end of the
  1528.                metafile and uses it to create 'TEST.ERR'.
  1529.  
  1530.            NOTE:
  1531.            On some systems, 'TEST.7IX' must be specified instead of
  1532.            'TEST.7MF'. The reason for this is explained in the chapter:
  1533.            'The metafile'.
  1534.  
  1535.  
  1536.            Quick help
  1537.            ----------
  1538.  
  1539.            7PLUS -H (or simply 7PLUS)
  1540.                A short usage info is displayed. The info is longer than
  1541.                25 lines, so you should have your fingers on CTRL-S to
  1542.                pause the output.
  1543.  
  1544.  
  1545.            Additional options
  1546.            ------------------
  1547.  
  1548.                -K  With this option, 7PLUS will automatically clean up
  1549.                behind itself and erase all files, that aren't needed any
  1550.                more. Exception: When compiling correction files, error
  1551.                reports will not be erased, because they may still be
  1552.                needed for producing collective correction files.
  1553.  
  1554.            -N  (only ATARI_ST version)
  1555.                Usually 7PLUS prompts for a key stroke after termination.
  1556.                The '-N' option will switch off this prompt. This is
  1557.                useful when 7PLUS is invoked by another program (shell).
  1558.  
  1559.            -P  Encoded files, error repors and correction files will be
  1560.                written with CR as line delimitor. This is necessary with
  1561.                those terminal programs, where 7PLUS-files must be sent
  1562.                in binary mode, because they can't handle 8 bit
  1563.                characters in textmode. This is even more important on
  1564.                the AMIGA or under UNIX , because the standard line
  1565.                separator there is LF! Uploading a file in binary mode,
  1566.                that has LF as a line delimitor, would create an unusable
  1567.                file on the receiving side, because LFs are always
  1568.                stripped in Packet Radio. The standard line separator in
  1569.  
  1570.  
  1571.                                                                                                                                               22
  1572.  
  1573.                                                                    Usage
  1574.            -------------------------------------------------------------
  1575.  
  1576.                Packet Radio is CR! The result would be a file that
  1577.                contains one extremely long line!
  1578.  
  1579.            -R  In case only one part of a multipart upload needs to be
  1580.                re-encoded (e.g. because it never reached it's destina-
  1581.                tion), it is not necessary to encode the entire original
  1582.                file. 7PLUS is able to re-encode only one specified part.
  1583.  
  1584.                Examplel: 7plus test.txt -sp 10 -r 5
  1585.  
  1586.                In this example, 7PLUS only encodes part 5, but not the
  1587.                parts 1-4 and 6-10.
  1588.  
  1589.                It is VERY IMPORTANT to re-encode in EXACTLY the SAME WAY
  1590.                as with the original upload. Be sure to use the same
  1591.                splitting options!
  1592.  
  1593.            -T  This option can be used to append a file termination
  1594.                string to 7PLUS files, error reports and correction files
  1595.                to automatically signal the end of the file when
  1596.                uploading.
  1597.  
  1598.                Example: 7plus test.txt -t /ex
  1599.  
  1600.                Note: If the terminating string begins with a minus sign
  1601.                '-', the entire string must be put into double quotes
  1602.                ("-EX") because 7PLUS would otherwise try to interpret it
  1603.                as an option.
  1604.  
  1605.            -TB format.dat
  1606.                When encoding, the head and foot texts contained in
  1607.                'FORMAT.DAT' are automatically added to the 7PLUS files.
  1608.  
  1609.                Example for 'FORMAT.DAT':
  1610.  
  1611.                 @@top
  1612.                 sb ibm @ ww
  1613.                 %O %P/%Q 7+
  1614.  
  1615.                 @@bottom
  1616.  
  1617.                 Send ERR-files to DG1BBQ @DB0CL.DEU.EU!
  1618.  
  1619.                 73s, Axel.
  1620.                 /ex
  1621.  
  1622.  
  1623.  
  1624.  
  1625.  
  1626.  
  1627.  
  1628.  
  1629.  
  1630.  
  1631.  
  1632.  
  1633.  
  1634.                                                                                                                                               23
  1635.  
  1636.                                                                    Usage
  1637.            -------------------------------------------------------------
  1638.  
  1639.                The variables have the following meaning:
  1640.  
  1641.                %n  -> Name of the encoded file.
  1642.                %N  -> dito, in capital letters.
  1643.                %o  -> Name of unencoded original file.
  1644.                %O  -> dito, in capital letters.
  1645.                %p  -> Number of the part.
  1646.                %P  -> dito, in hexadecimals.
  1647.                %q  -> Overall number of parts.
  1648.                %Q  -> dito, in hexadecimals.
  1649.                %%  -> The percent sign '%'.
  1650.  
  1651.                Above example format file would create 7PLUS files
  1652.                looking like this:
  1653.  
  1654.                 sb ibm @ ww
  1655.                 TERM999.EXE 01/04 7+
  1656.  
  1657.                 ... This is where the 7PLUS file is ...
  1658.  
  1659.                 Send ERR-files to DG1BBQ @DB0CL.DEU.EU!
  1660.  
  1661.                 73s, Axel.
  1662.                 /ex
  1663.  
  1664.                The '-TB' option only works when encoding, but not when
  1665.                creating correction files or error reports.
  1666.  
  1667.                Up to 256 character may be specified with '@@top' and
  1668.                '@@bottom'.
  1669.  
  1670.                A word of warning:
  1671.  
  1672.                Files created with this option should not be used with
  1673.                TheBox systems. There is a bug in the command parser of
  1674.                TheBox wich causes problems, when uploading 7PLUS files
  1675.                in one go (send command and 7PLUS file together in one
  1676.                file). If you get the error message 'invalid command',
  1677.                you know the bug has struk again. The bug always mani-
  1678.                fests when the first frame sent to the BBS contains
  1679.                semicolons!
  1680.  
  1681.                You should erase the file in the bbs then and upload it
  1682.                again by issueing the send command manually step by step.
  1683.  
  1684.                This bug in the command parser is present in ALL versions
  1685.                of TheBox, even in the test releases of the new TheBox
  1686.                v1.9. If it will be eliminated in the official release of
  1687.                the v1.9, remains to be seen.
  1688.  
  1689.                The '-TB' option will work fine with any other bulletin
  1690.                board system!
  1691.  
  1692.            -Y  7PLUS assumes 'YES' on all queries. This option is
  1693.                useful, when 7PLUS is invoked from another program
  1694.                (shell, server).
  1695.  
  1696.  
  1697.                                                                                                                                               24
  1698.  
  1699.                                                                    Usage
  1700.            -------------------------------------------------------------
  1701.  
  1702.  
  1703.            -#  When using 7PLUS with a file server, the problem is to
  1704.                let the server know, how many files were produced when
  1705.                encoding. The server could pre-calculate, how many parts
  1706.                would be created, but 7PLUS can produce a small info file
  1707.                called 7PLUS.FLS containing the information on how many
  1708.                files were created and how the names of the encoded files
  1709.                are. The content of 7PLUS.FLS could e.g. be '10 TEST'.
  1710.  
  1711.  
  1712.            Tips for configuring devices and programs for 7PLUS
  1713.            ===================================================
  1714.  
  1715.            General conditions
  1716.            ------------------
  1717.  
  1718.            To be able to process 7PLUS files, it is important, that the
  1719.            TNC and the terminal program are configured correctly.
  1720.  
  1721.            With TNC2 (using TAPR firmware), KAM, PK232, PK88, MFJ ect.
  1722.            the following commands must be set to not interfere with 8
  1723.            bit characters:
  1724.  
  1725.                           8BITCONV ON, AWLEN 8 and LCOK ON
  1726.                        - or equivalent commands accordingly -
  1727.  
  1728.  
  1729.            The serial link between the computer and the terminal should
  1730.            be set to 8 bits, 1 stopbit, no parity (8n1).
  1731.  
  1732.            It is advisable to set the streamswitch character to $01
  1733.            (CTRL-A) - on a KAM, the second streamswitch should be set to
  1734.            $02 (CTRL-A) - because 7PLUS uses practically all displayable
  1735.            characters for itself.
  1736.  
  1737.            With streamswitch set to $7C (|) e.g.,
  1738.  
  1739.            - you may experience unwanted stream changes when uploading
  1740.              7PLUS files!
  1741.  
  1742.            - the terminal program may detect wrong streamswitches when
  1743.              downloading 7PLUS files and thus induce unexpected actions.
  1744.  
  1745.            With the streamswitch set to $01, it is not necessary to use
  1746.            the transparent mode to upload 7PLUS files!
  1747.  
  1748.            All commercial TNCs and multimode controllers are able to
  1749.            handle 8 bit characters in non-transparent mode!
  1750.  
  1751.            Character translation tables of terminal programs must be set
  1752.            to 1:1 translation (no translation). Some programs have
  1753.            options to strip or permanently set the MSB (most significant
  1754.            bit). These options must be set, so the MSB is not stripped
  1755.            and not changed in any way!
  1756.  
  1757.  
  1758.  
  1759.  
  1760.                                                                                                                                               25
  1761.  
  1762.                                         Configuring devices and programs
  1763.            -------------------------------------------------------------
  1764.  
  1765.            Terminal emulations (VT100, ANSI etc.) should not pose any
  1766.            problems with 7PLUS files, because the control sequences used
  1767.            in those emulation usually begin with an escape charater (the
  1768.            7PLUS code does not use the escape character!). Should there
  1769.            be problems with the emulation inspite of that, try switching
  1770.            to a simple TTY-emulation.
  1771.  
  1772.            If you are still having problems with 7PLUS files, the
  1773.            problem lies with the terminal program. In that case, you
  1774.            should read the chapter 'Downloading/uploading in binary
  1775.            mode'. If that doesn't solve the problems, try to get in
  1776.            contact with the author of the terminal program. In his own
  1777.            interest, he will see to it to bring his program up to date
  1778.            (this probably won't work with commercial products).
  1779.  
  1780.            Generally, terminal programs made for telefone use shouldn't
  1781.            be used for Packet Radio.
  1782.  
  1783.            There are a lot of very sophisticated programs especially
  1784.            made for Packet Radio use. Most of them are free or quite
  1785.            inexpensive. Sometimes the vendors of TNCs supply such
  1786.            programs along with the TNC.
  1787.  
  1788.            Since the first appearance of 7PLUS, updates have become
  1789.            available for all Packet Radio programs which are now '7plus
  1790.            safe'.
  1791.  
  1792.            Inspite all critics, this didn't take long at all, hi (Axel)
  1793.  
  1794.  
  1795.            Downloading/uploading in binary mode
  1796.            ====================================
  1797.  
  1798.            With some older Packet Radio terminal programs there may be
  1799.            problems with correct downloading or uploading of 7PLUS
  1800.            files. In such cases, the binary mode of those programs must
  1801.            be used. Don't get this mixed up with modem protocols like
  1802.            YAPP, X-, Y, Z-moden etc. Binary mode just describes a mode,
  1803.            where receiving and sending of data can be done without
  1804.            interpretation of the data content and without the use of a
  1805.            special protocol.
  1806.  
  1807.  
  1808.            Downloading
  1809.            -----------
  1810.  
  1811.            When downloading data in binary mode everything received is
  1812.            stored EXACTLY as it is. Since the line delimitor used in
  1813.            Packet Radio is the carriage return (CR), the downloaded
  1814.            files will only contain CRs as line delimitors.
  1815.  
  1816.            When using the usual capture features of the terminal
  1817.            programs, the conversion of the CR into (CR/LF or LF,
  1818.            dedending on what computer is used) is automatically done by
  1819.            the terminal program.
  1820.  
  1821.  
  1822.  
  1823.                                                                                                                                               26
  1824.  
  1825.                                         Configuring devices and programs
  1826.            -------------------------------------------------------------
  1827.  
  1828.            Since the file produced in binary mode has not undergone the
  1829.            conversion, you won't be able to use a regular editor to cut
  1830.            the 7PLUS files out.
  1831.  
  1832.            To be able to extract the files anyway, use the '-X' option
  1833.            of 7PLUS. See 'Usage/Extracing'.
  1834.  
  1835.            Another way is to use a conversion program for line
  1836.            delimitors (e.g. CRLF. Available on request). The files that
  1837.            were converted can then be edited with a regular text editor.
  1838.  
  1839.            Downloading in binary mode has a useful side-effect:
  1840.  
  1841.            National (umlauts) and graphical characters can be downloaded
  1842.            even if the terminal program would normally strip them.
  1843.  
  1844.  
  1845.            Uploading
  1846.            ---------
  1847.  
  1848.            When uploading 7PLUS files, the '-P' option MUST be used.
  1849.            7PLUS will then use CRs as line delimitors.
  1850.  
  1851.            Error reports don't need to be uploaded in binary mode, so
  1852.            the '-P' oprion is not necessary there.
  1853.  
  1854.  
  1855.            7PLUS on the AMIGA
  1856.            ------------------
  1857.  
  1858.            Most terminal programs available for the AMIGA are not able
  1859.            to handle 8 bit characters, unfortunately (there are some
  1860.            commendable exceptions, however).
  1861.            In case of difficulties, use the binary mode of those
  1862.            terminal programs.
  1863.  
  1864.            See 'Downloading/uploading in binary mode'
  1865.  
  1866.  
  1867.            Tips for down- and uploading of 7PLUS files
  1868.            ===========================================
  1869.  
  1870.            A lot of things can go wrong when down- or uploading 7PLUS
  1871.            files. To avoid unnecessary trouble, here a some useful
  1872.            hints.
  1873.  
  1874.  
  1875.            Downloading
  1876.            -----------
  1877.  
  1878.            Before downloading huge files from the BBS, you must make
  1879.            sure your terminal program and tnc are correctly configured.
  1880.            For this purpose you find ASC.TXT in the distribution archive
  1881.            of 7PLUS. Upload it to the BBS addressed to yourself and
  1882.            download it again. If it doesn't look EXACTLY like the
  1883.  
  1884.  
  1885.  
  1886.                                                                                                                                               27
  1887.  
  1888.                              Tips for down- and uploading of 7PLUS files
  1889.            -------------------------------------------------------------
  1890.  
  1891.            original any more, check your configuration and read the
  1892.            chapter 'Tips for configuring...'.
  1893.  
  1894.            If the test went ok, then you're set to download 7PLUS-files.
  1895.  
  1896.            The simplest way to download 7PLUS-files is to open a
  1897.            capturefile and continuously write the received files into
  1898.            it. Note that you should not call the capturefile the same as
  1899.            the 7PLUS-files you download! Use a name like 'savefile' for
  1900.            instance.
  1901.  
  1902.            When you have finished downloading the files (did you think
  1903.            of looking for correction files that may already be in the
  1904.            BBS?), you must extract them from the capturefile. For this,
  1905.            an editor can be used or - much more convenient - 7PLUS
  1906.            itself! 7PLUS will not only find and extract the files from
  1907.            the capturefile, but also create the correct filenames for
  1908.            them.
  1909.  
  1910.            Invoking 7PLUS like this:
  1911.  
  1912.               '7plus savefile -x'
  1913.  
  1914.            will do the job of extracting the files from the capturefile.
  1915.  
  1916.            Now, the files are in the format that 7PLUS needs and you can
  1917.            begin decoding.
  1918.  
  1919.             Let's see, what we have on disk now: (This is only an
  1920.            example)
  1921.  
  1922.               TERM999.INF
  1923.               TERM999.P01
  1924.               TERM999.P02
  1925.               TERM999.P03
  1926.               TERM999.P04
  1927.               TERM999.COR
  1928.               TERM999.C01
  1929.  
  1930.            Ah, fine... You thought of downloading the correction files
  1931.            that was already in the BBS.
  1932.  
  1933.            The file 'TERM999.INF' was automatically extracted by 7PLUS,
  1934.            because the author had uploaded it with the markings
  1935.            ' go_info. TERM999.INF' and ' stop_info.'. That way, you get
  1936.            the info file along with the 7PLUS files. Practical...
  1937.  
  1938.            Decoding (including correction) is very simple to do now:
  1939.  
  1940.               '7plus term999'
  1941.  
  1942.            In case a file called 'TERM999' (without an extension)
  1943.            already exists in the current directory, 7PLUS will try to
  1944.            encode 'TERM999' rather then decode 'TERM999.P01'!
  1945.  
  1946.  
  1947.  
  1948.  
  1949.                                                                                                                                               28
  1950.  
  1951.                              Tips for down- and uploading of 7PLUS files
  1952.            -------------------------------------------------------------
  1953.  
  1954.            This is why i pointed out, that you should use a name for the
  1955.            capturefile, that has no relation to the name of the 7PLUS-
  1956.            files.
  1957.  
  1958.            If you run into this problem, call 7PLUS this way:
  1959.  
  1960.               '7plus term999.p01'
  1961.  
  1962.            If decoding went ok, 7PLUS will tell you:
  1963.  
  1964.               'Decoding succesful! 'term999.exe' 43210 Bytes.'
  1965.  
  1966.            TERM999.EXE is the decoded file. What you have to do from
  1967.            now, depends entirely on the hints from its originator. As
  1968.            the author of 7PLUS, i don't have anything to do with it
  1969.            anymore from this point on.
  1970.  
  1971.            Let's suppose decoding did not go allright.
  1972.  
  1973.            7PLUS says:
  1974.  
  1975.               'Decoding not successful.'
  1976.  
  1977.            This just means, that you should take 'term999.err' and send
  1978.            it to the originator of 'term999.exe' and wait for the
  1979.            correction file to return from him.
  1980.  
  1981.            The meta file 'TERM999.7MF' must be kept at all cost! Without
  1982.            it, you won't be able to do the correction when you receive
  1983.            the correction file.
  1984.  
  1985.            The 7PLUS files 'TERM999.P01' etc are not needed any more and
  1986.            can be deleted.
  1987.  
  1988.            In the past, it happened that OMs sent me error reports for
  1989.            programs I have never uploaded and requested the according
  1990.            correction files from me! Let me say this again in full
  1991.            clarity: The one who uploaded the files, that were corrupted
  1992.            in Store & Forward, is the one you have to send the error
  1993.            reports to!!! I, as the author of the encoder used, have
  1994.            nothing to do with it. Comparison: A forwarding agency
  1995.            delivers goods that were damaged on the transport. No-one in
  1996.            his right mind would have the idea to hold the builder of the
  1997.            truck used for the transport (Me) liable, when the truck
  1998.            (7PLUS) is ok, but the roads (the network) are not....
  1999.  
  2000.  
  2001.            Automatic 'BBS milking'
  2002.            ------------------------
  2003.  
  2004.            Some terminal programs have features that allow to
  2005.            automatically log into a BBS and download bulletins of
  2006.            interest.
  2007.  
  2008.  
  2009.  
  2010.  
  2011.  
  2012.                                                                                                                                               29
  2013.  
  2014.                              Tips for down- and uploading of 7PLUS files
  2015.            -------------------------------------------------------------
  2016.  
  2017.            When using such features, this is EXTREMELY IMPORTANT:
  2018.  
  2019.            It happens quite frequently that files downloaded are
  2020.            incomplete because a link failure occured.
  2021.  
  2022.            You should in any case check, if all files really are
  2023.            complete. When decoding such incomplete files, much to big
  2024.            error reports are produced! You should take a look into the
  2025.            BBS, if the files really are damaged that much. If you send
  2026.            such a mammoth error report to the uploader, well knowing,
  2027.            most errors are due to link failures, you are stressing his
  2028.            good will. If this happens frequently, he could cease sending
  2029.            correction files at all!
  2030.  
  2031.  
  2032.            'Listening in' on someone else
  2033.            ----------------------------
  2034.  
  2035.            Some terminal programs have features that allow capturing
  2036.            everything another station is downloading from a BBS. This is
  2037.            a practical way to keep the load on the BBS/digipeater down.
  2038.  
  2039.            7PLUS files that were captured that way, ussually contain
  2040.            more errors than are really present in the BBS. This is due
  2041.            to the fact, that not every frame sent to the other station
  2042.            you were 'listening' to, was captured.
  2043.  
  2044.            However, doubled frames are no problem for 7PLUS. You don't
  2045.            need to edit them out.
  2046.  
  2047.            When decoding such a file, you should be aware that it is a
  2048.            VERY NASTY thing to do to send the error report to the
  2049.            original uploader!
  2050.  
  2051.            Firstly, this causes him unnecessary work and secondly in
  2052.            case he uses the error reports to create a collective
  2053.            correction file, it will contain a lot of lines that are not
  2054.            corrupted anywhere!
  2055.  
  2056.            Better is, to either
  2057.  
  2058.            - send the error report to the station you were listening in
  2059.              to, and explain why you are doing so. He will most probably
  2060.              be happy to help out. If he was able to decode the files
  2061.              successfully, he can compile a correction file right away.
  2062.              If not, you'll have to wait until he got his own correction
  2063.              file,
  2064.  
  2065.            or
  2066.  
  2067.            - listen in to other OMs, who are downloading the files you
  2068.              need and use the files to correct the metafile. If errors
  2069.              remain, continue as described above.
  2070.              See 'Correction'
  2071.  
  2072.  
  2073.  
  2074.  
  2075.                                                                                                                                               30
  2076.  
  2077.                              Tips for down- and uploading of 7PLUS files
  2078.            -------------------------------------------------------------
  2079.  
  2080.            Uploading
  2081.            ---------
  2082.  
  2083.            As in the previous chapter, make sure your terminal and tnc
  2084.            are configured correctly to handle 7PLUS-files. If you don't
  2085.            take all precautions, the files may not be decodable. So,
  2086.            avoid frustrating the other users an think before acting.
  2087.  
  2088.            You should write a small info in which you explain,
  2089.            - what program is contained in the files you upload,
  2090.            - what system the program is for,
  2091.            - what hardware is required,
  2092.            - what compressor (ARJ, LHARC, LHA, PKZIP) was used,
  2093.            - what files are in the archive and last but not least
  2094.            - what encoder was used for the upload (7PLUS in this case).
  2095.  
  2096.            This way one can see right away, if the program is any use
  2097.            for him.
  2098.  
  2099.            The title of this info should be brief but yet state all
  2100.            needed info, e.g.:
  2101.  
  2102.            'TERM999.EXE Info'
  2103.  
  2104.            When uploading to a general purpose board (ALL, SOFTWA etc.),
  2105.            you should also state the system the program runs on:
  2106.  
  2107.            'TERM999.EXE Info (IBM)'
  2108.  
  2109.            The info text should be marked, so 7PLUS can extract it along
  2110.            with the 7PLUS files:
  2111.  
  2112.             go_info. TERM999.INF
  2113.            This is where the info is put.....
  2114.             stop_info.
  2115.  
  2116.            The filename with ' go_info. ...' should be spelled in
  2117.            capital letters and comply with the rules for MSDOS/
  2118.            Atari_TOS! See 'Filename conventions'.
  2119.  
  2120.  
  2121.            OK, now you can do the encoding.
  2122.  
  2123.            Bear in mind that some BBSs restrict the size of bulletins.
  2124.            Ask your SYSOP about this. Take this into regard when
  2125.            splitting the file up ('-s','-sp' or '-sb' option).
  2126.  
  2127.            By using the '-SB' option, you can directly specify the size
  2128.            of the encoded 7PLUS files or correction files.
  2129.  
  2130.            Invoking 7PLUS like this:
  2131.  
  2132.               '7plus term999.exe -sb 4000'
  2133.  
  2134.            tells it to produce files of roughly 4000 bytes each.
  2135.  
  2136.  
  2137.  
  2138.                                                                                                                                               31
  2139.  
  2140.                              Tips for down- and uploading of 7PLUS files
  2141.            -------------------------------------------------------------
  2142.  
  2143.            When not specifying a split option, 7PLUS will produce files
  2144.            of about 10000 bytes in length.
  2145.  
  2146.  
  2147.            After encoding is done, you should have the files TERM999.P01
  2148.            through TERM999.P?? (lets suppose, 12 files were produced) on
  2149.            disk. The files can now be uploaded seperately. Here also,
  2150.            you should choose an informative title:
  2151.  
  2152.            'TERM999.P01 / 0C 7+
  2153.  
  2154.            Means: TERM952 is encoded with 7PLUS and it's the first file
  2155.            of 12 (0C hex) parts.
  2156.  
  2157.            Even better, but maybe somewhat cryptic to newcomers:
  2158.  
  2159.            'TERM999.EXE.SFX.P01/0C.7+'
  2160.  
  2161.            The best way to read this, is from the rear:
  2162.  
  2163.            1) It's a 7PLUS-file,
  2164.            2) of a 12 part upload,
  2165.            3) the first part,
  2166.            4) and the resulting program is a self extracting archive
  2167.               called TERM999.EXE.
  2168.  
  2169.            After uploading all the files, you should check them by down-
  2170.            loading them right away. They could have become corrupted on
  2171.            the way from your terminal to the BBS! In case they really
  2172.            were corrupted, generate a correction file and upload it. It
  2173.            is not really necessary to upload the entire file that was
  2174.            corrupted.
  2175.  
  2176.  
  2177.            And now: wait for error reports...
  2178.  
  2179.            See also 'Additional options / -TB'
  2180.  
  2181.  
  2182.            Uploading correction files
  2183.            --------------------------
  2184.  
  2185.            It has proven to be a good idea to upload correction files
  2186.            twice (in one file).
  2187.  
  2188.            It is very unprobable that both copies of the correction file
  2189.            get corrupted. In case it does happen, the recipient still
  2190.            has the option to use an editor to put togheter one good file
  2191.            from the two corrupted ones.
  2192.  
  2193.  
  2194.  
  2195.  
  2196.  
  2197.  
  2198.  
  2199.  
  2200.  
  2201.                                                                                                                                               32
  2202.  
  2203.                                                            General notes
  2204.            -------------------------------------------------------------
  2205.  
  2206.            General notes
  2207.            =============
  2208.  
  2209.            When downloading 7PLUS files from a BBS, always look for
  2210.            correction files the uploader may have already posted. There
  2211.            is a good chance that the correction file covers the errors.
  2212.            This saves the uploader unecessary work.
  2213.  
  2214.            If you have uploaded 7PLUS files, answering error reports is
  2215.            a question of good manners and Ham Spirit! Files no-one can
  2216.            get a correction file to, are just garbage, clogging up the
  2217.            BBSs. Of course, there is always the chance, that all files
  2218.            came through undamaged. Unfortunately, that isn't very often
  2219.            the case.
  2220.  
  2221.  
  2222.            Is there a future without errors?
  2223.            =================================
  2224.  
  2225.            Should there be one fine day where the Packet Radio network
  2226.            does not produce any more errors, that must not really mean
  2227.            the end of 7PLUS.
  2228.  
  2229.            It should be considered, that
  2230.  
  2231.            - some BBSs have a throughput of several billion characters,
  2232.  
  2233.            - a message passes maybe several 100 memory cells and
  2234.              harddisks during its travel from A to B,
  2235.  
  2236.            - some computers don't use memory parity checking, so memory
  2237.              defects may go undetected for some time,
  2238.  
  2239.            - the AX25 protocol only has a limited amount of safety
  2240.              against bit errors,
  2241.  
  2242.            - an affordable network still has a lot of unprotocolled
  2243.              links (TNC<-->computer, TNC<-->TNC in some nodes) and last,
  2244.              but not least
  2245.  
  2246.            - a simple impulse can cause the alteration of a character!
  2247.  
  2248.            7PLUS can insure that a file is reconstituted exactly as it
  2249.            was, even if it passed through a lot of BBS.
  2250.  
  2251.  
  2252.            7PLUS is available for a wide range of systems by now, so it
  2253.            represents a safe and practical way of transfering binary
  2254.            data between different systems
  2255.            And it's more compact than the old-style encoders like UUE or
  2256.            RADIX95...
  2257.  
  2258.  
  2259.  
  2260.  
  2261.  
  2262.  
  2263.  
  2264.                                                                                                                                               33
  2265.  
  2266.                                                            General notes
  2267.            -------------------------------------------------------------
  2268.  
  2269.            Ordering 7PLUS
  2270.            ==============
  2271.  
  2272.            7PLUS can be ordered by disk.
  2273.  
  2274.            Send a 3½ inch disk plus SASE and maybe a small contribution
  2275.            to my address (see cover of this manual).
  2276.  
  2277.            When ordering from outside of germany, enclose 3 US-Dollars
  2278.            for the return postage.
  2279.  
  2280.            Specify, for what system you need 7PLUS! I can supply version
  2281.            for IBM clones, Atari_ST and AMIGA.
  2282.  
  2283.  
  2284.            Important for the AMIGA:
  2285.  
  2286.            I am not able to read or write disks formatted on the AMIGA.
  2287.            I will supply 7PLUS in MSDOS format, so you need to have a
  2288.            tool wich allows reading of MSDOS disks like e.g. DOS_2_DOS.
  2289.  
  2290.  
  2291.  
  2292.            73s, Axel in Bremerhaven, DG1BBQ @DB0CL.DEU.EU
  2293.  
  2294.  
  2295.  
  2296.  
  2297.  
  2298.  
  2299.  
  2300.  
  2301.  
  2302.  
  2303.  
  2304.  
  2305.  
  2306.  
  2307.  
  2308.  
  2309.  
  2310.  
  2311.  
  2312.  
  2313.  
  2314.  
  2315.  
  2316.  
  2317.  
  2318.  
  2319.  
  2320.  
  2321.  
  2322.  
  2323.  
  2324.  
  2325.  
  2326.  
  2327.                                                                                                                                               34
  2328.