home *** CD-ROM | disk | FTP | other *** search
/ Fatal Distractions! / fataldistractions.bin / appndxa / masters / lptz.doc < prev    next >
Text File  |  1990-11-04  |  38KB  |  1,316 lines

  1.  
  2.  
  3.  
  4.  
  5.  
  6.  
  7.  
  8.  
  9.  
  10.  
  11.  
  12.  
  13.  
  14.  
  15.  
  16.  
  17.  
  18.  
  19.  
  20.                                 L P Tz
  21.  
  22.  
  23.  
  24.                                    a
  25.  
  26.  
  27.  
  28.                    P R I N T E R      R E D I R E C T O R
  29.  
  30.  
  31.  
  32.  
  33.  
  34.                                  v 3.00
  35.  
  36.  
  37.  
  38.  
  39.  
  40.  
  41.  
  42.  
  43.  
  44.  
  45.  
  46.  
  47.  
  48.  
  49.  
  50.  
  51.  
  52.  
  53.  
  54.  
  55.  
  56.         COPYRIGHT (c) 1990 by James P. Morgan
  57.               ALL RIGHTS RESERVED
  58.  
  59.  
  60.        This document describes the LPTz printer redirector program,
  61.       which was created by James P. Morgan,  in February of 1990.
  62.  
  63.  
  64.  
  65.          Shareware version 3.00 is initially being distributed on
  66.                                    ---------
  67.  
  68.                1). THE PUBLIC (software) LIBRARY
  69.  
  70.                       P. O. Box 35705
  71.                       Houston TX  77235-5705
  72.  
  73.                       Ph :713-721-5205  - 713-721-6104
  74.  
  75.  
  76.  
  77.  
  78.                2). PC ROCKLAND BBS - NY  (bulletin board, one of the BEST)
  79.  
  80.                     Download file : LPTzV300.ZIP
  81.  
  82.                       Ph :914-353-2538 (open public - non-subscribers)
  83.                           914-353-2157 (paid subscribers only)
  84.  
  85.  
  86.  
  87.  
  88.  
  89.  
  90.  
  91.  
  92.  
  93.  
  94.  
  95.  
  96.  
  97.  
  98.  
  99.  
  100.  
  101.  
  102.  
  103.    DISCLAIMER OF ALL WARRANTIES AND LIABILITY
  104.    ------------------------------------------
  105.  
  106.    James P. Morgan  ("supplier") makes no warranties, either expressed
  107.    or implied, with respect to this documentation or with respect to the
  108.    software  described in  this  publication,  its quality,  performance,
  109.    merchantability or  fitness for any particular purpose. The software is
  110.    sold or licensed "as is". The entire risk as to its quality and performance
  111.    is  with the buyer. Should the programs prove defective following their
  112.    purchase, the buyer  (and not the suppliers, not  their distributor  or
  113.    retailer) assumes the  entire cost of  all necessary servicing, repair,
  114.    or correction and any incidental or  consequential damages. In no  event
  115.    will suppliers be liable for direct, indirect, incidental or consequential
  116.    damages resulting from any defect in the software, even if suppliers have
  117.    been advised of the possibility of such damages. Some states do not allow
  118.    the exclusion  or  limitation of  implied warranties  or  liability  for
  119.    incidental or consequential damages, so the above limitation or exclusion
  120.    may not apply to you.
  121.  
  122.  
  123.  
  124.                                     i
  125.  
  126.  
  127.  
  128.  
  129.                          I N T R O D U C T I O N
  130.                          -----------------------
  131.  
  132.  
  133.         Welcome to LPTz!
  134.  
  135.         LPTz is a printer redirector.
  136.  
  137.  
  138.         What this means is that LPTz will intercept (capture) the data
  139.        that is directed to a printer (i.e. LPT1/LPT2/LPT3) and send the
  140.        data to a disk file.
  141.  
  142.         Why would you want to do this?. Well, some programs don't allow
  143.        their printer output to be sent directly to a disk file, so LPTz
  144.        could 'add' this function to such a program. Then you could 'use'
  145.        the captured printer data later, say to give to someone else or
  146.        perhaps to delay physical printing. Your real printer may not
  147.        have been available at the time you needed to generate the print
  148.        output.
  149.  
  150.         You don't have a printer!. Unusual, but you don't need a real
  151.        printer to use LPTz. LPTz allows you to print to a real or phantom
  152.        printer. You can use LPT2 and/or LPT3 even if they are not physic-
  153.        ally attached to your personal computer.
  154.  
  155.         Another TSR you say!. Well LPTz allows YOU to specify how much
  156.        of your computers memory you want to use for LPTz. And LPTz allows
  157.        you to completely remove it from memory when you wish.
  158.  
  159.         LPTz is feature-rich, flexible and friendly. LPTz will handle
  160.        most all your needs and if you change your mind, will adjust
  161.        to suit you and will let you know what it is supposed to be
  162.        doing, if you ask.
  163.  
  164.  
  165.         LPTz was 'born' out of the need to provide a stable print re-
  166.        director product (most available , public domain and Shareware
  167.        are feature poor or very unstable (read 'buggy'). The 'parents'
  168.        of LPTz were many. Various articles and source listing from other
  169.        TSR type products (that delve into the mysteries of DOS). Thanks
  170.        to the many other 'lites burning bright' that brought about LPTzs
  171.        successfully 'birth' and growth.
  172.  
  173.         BOY, LPTz sounds great!. LPTz tries to be, BUT ("i knew you would
  174.        say 'BUT'".) even LPTz cannot be all things to all people. LPTz
  175.        has a few short-comings and we will discuss them later.
  176.  
  177.  
  178.  
  179.  
  180.  
  181.  
  182.  
  183.  
  184.  
  185.  
  186.                                - 1 -
  187.  
  188.  
  189.  
  190.  
  191.         How do I get LPTz to work for me?
  192.  
  193.         Glad you asked.
  194.  
  195.         As with most things you do on a computer, you either type
  196.        in a command or click (mouse assumed) on an object in one
  197.        of the popular GUIs (pronounced 'gooies') that are the rage now-
  198.        days.
  199.  
  200.         With LPTz you have to type the command/letters/words as defined
  201.        below:
  202.  
  203.         Command syntax : (No, not a 'tax' on a vice, yet.)
  204.         --------------
  205.  
  206.  
  207.           LPTz   [-x -y -z...]
  208.  
  209.  
  210.         the little '[]' are NOT part of the 'sintax' but only indicate
  211.         that all or none of the 'options' (see following pages) may be
  212.         specified at any one time. The little "..." means i got tired of
  213.         entering the '-letters' and will let you pick a few more, as there
  214.         are quite a few. The '-x'/'-y' mean that there are various options
  215.         to choose from but they MUST be preceded by a '-'. The options are
  216.         defined in the following pages (no peeking ahead).
  217.  
  218.         If you want graphics mode support on a PC/XT, with an original
  219.         CGA card, then the DOS command, GRAPHICS.COM, must the run prior
  220.         to running LPTz (for the first time).
  221.  
  222.         For LPTz to function in its simplest form, all that is required
  223.        for you is to LPTz the printer that you want redirected and the
  224.        file name that you want the redirected print data written to.
  225.  
  226.  
  227.         For example, you could type:
  228.         -----------
  229.  
  230.  
  231.            LPTz  -p1  Output4.pr1
  232.  
  233.  
  234.  
  235.         this would capture most all DOS printer output directed to
  236.        LPT1 and send it to a disk file called 'Output4.pr1'.
  237.  
  238.  
  239.  
  240.  
  241.  
  242.  
  243.  
  244.  
  245.  
  246.  
  247.  
  248.  
  249.                                   - 2 -
  250.  
  251.  
  252.  
  253.        OK, so what are all the little '-' options mentioned.
  254.  
  255.        Here goes..
  256.  
  257.  
  258.         Option        Option definition
  259.         ------      ---------------------------------------------------
  260.          -?         LPTz will display a 'help' screen of all its options.
  261.                     NO other options, if any entered with '-?', will
  262.                     be processed (they are ignored).
  263.  
  264.           ?         SEE '-?' option above
  265.  
  266.  
  267.          -Px        The -P option is used to specify the printer,
  268.                     LPT1/LPT2/LPT3, that you want redirected.
  269.  
  270.                     Obviously the 'x' is 1 or 2 or 3. Neat how this
  271.                     works. Some, but not all the options, require
  272.                     that a printer be specified, for them to work.
  273.  
  274.                      ONLY one printer can be specified per
  275.                     invocation (word for the day) of LPTz, BUT
  276.                     all 3 printers can be specifed, but you must
  277.                     execute LPTz 3 separate times. Hopefully the
  278.                     next version will remove this restriction.
  279.  
  280.         file name   The filename is the name of the file that the
  281.                     printer output, that LPTz captures, is to be
  282.                     written to. A fully qualified DOS drive and
  283.                     path name qualifier is supported.
  284.  
  285.                      A 'special' format of a filename can be defined
  286.                     to allow automatic generation of unique filenames.
  287.                     This allows each file written to a redirected printer
  288.                     to be catalogued separately. (see '-F' option)
  289.  
  290.  
  291.          -A         The -A (append) options says to 'add' the redirect-
  292.                     ed printer data to an existing file or create a new
  293.                     file with 'file name' specified and add to it.
  294.  
  295.                      Internally to LPTz, when a buffer fills , forcing
  296.                     LPTz to flush (write) the buffer, the 'file name'
  297.                     specified is opened , the buffer written and the
  298.                     file immediately closed. This insures that DOS
  299.                     always knows about the true length of the file.
  300.                     This means that the most data that can be lost
  301.                     is the part that is in the buffer and not yet written,
  302.                     perhaps due to power loss ..etc.
  303.  
  304.  
  305.  
  306.  
  307.  
  308.  
  309.  
  310.  
  311.  
  312.  
  313.  
  314.  
  315.                                   - 3 -
  316.  
  317.  
  318.  
  319.  
  320.         Option        Option definition
  321.         ------      ---------------------------------------------------
  322.  
  323.          -O         The -O (overwrite) options says to 'create' and even
  324.                     overwrite an existing file (you lose data that was in
  325.                     the existing file).
  326.  
  327.                     Internally to LPTz, when a buffer fills , forcing
  328.                     LPTz to flush (write) the buffer, the 'file name'
  329.                     specified is opened , BUT never closed until you either
  330.                     force a close ('-c'), remove LPTz from memory ('-u'),
  331.                     a 'file' flush occurs or error writing file occurs.
  332.  
  333.                      The 'bad/good' thing about using the the '-o' is that
  334.                     DOS does not know about the length of the file until its
  335.                     closed. In other words it has a '0' length until closed.
  336.                     You can write thousands of bytes of data to the file
  337.                     but DOS and other programs will think that there is
  338.                     nothing in the file , until you want them to.
  339.  
  340.                      A word of warning, DON'T run any utilities that sort
  341.                     the DOS directory (Norton DS) or compress the disk
  342.                     while LPTz is loaded, as you will wind up with lost
  343.                     clusters if you run CHKDSK or LPTz will cease to function
  344.                     correctly.
  345.  
  346.  
  347.          -C         The -C (Close) option causes LPTz to flush all buffers
  348.                     for a specific printer and to stop redirecting printer
  349.                     data. After '-C' option executed, any data directed to
  350.                     a printer will start printing to a real printer, if its
  351.                     available.
  352.  
  353.  
  354.          -Bxx       The -B option allows you to specify the size of the
  355.                     buffers to be allocated to all 3 printers. The buffer
  356.                     sizes allowed are from 4 to 64k (or 0), where 'k' means
  357.                     1024 bytes times the number specified as 'xx'. The
  358.                     default is 4k, enough for a print-screen.
  359.  
  360.                      The buffer size for re-directed printer may be changed
  361.                     at any time, when the print buffer is empty. Each printer
  362.                     can have its own buffer and size.
  363.  
  364.                      In otherwords, dynamically allocated buffers.
  365.  
  366.                      Obviously, the smaller the buffer size the more work
  367.                     LPTz has to do in writing filled buffers to disk.
  368.                     The larger the buffer size, the less memory you have
  369.                     available for other programs.
  370.  
  371.  
  372.  
  373.  
  374.  
  375.  
  376.  
  377.  
  378.  
  379.                                   - 4 -
  380.  
  381.  
  382.  
  383.         Option        Option definition
  384.         ------      ---------------------------------------------------
  385.  
  386.          -Fxxx      The -F option allows you to specify that a flush of
  387.                     any partly filled buffers, for a specific printer,
  388.                     be automatically written. The automatic flush occurs
  389.                     after 'xxx' number of seconds have elapsed and nothing
  390.                     new has been written to the buffer.
  391.  
  392.                     This insures that there will be very little chance of
  393.                     data loss, in case of loss of power or PC re-booted.
  394.  
  395.                     There was a requirement, on a network, to redirect
  396.                    printer output to a disk file on a server. The disk was
  397.                    a 'virtual' disk on a VAX computer. The output was
  398.                    redirected to a 'special' DOS filename. A program
  399.                    running on the VAX server would 'look' for a file with
  400.                    a specific extension and 'copy' it to its own real
  401.                    disks for further processing.
  402.  
  403.                     When LPTz is used with the '-F' option and printer output
  404.                    is redirected to a 'special' name, a certain sequence of
  405.                    events occurs.
  406.  
  407.                     First, when you invoke LPTz you MUST specify that auto-
  408.                    buffer flushing is to occur. Specify the number of seconds
  409.                    from 5 to 300. Specifying a value of zero(0) seconds
  410.                    disables auto-buffer flush if it is activated. You can
  411.                    reactive it later by specifying another non-zero value.
  412.  
  413.                     Secondly, you MUST specify that printer redirection be
  414.                    written to a file name of the following format:
  415.  
  416.  
  417.                         1). the filename MUST NOT have an extension
  418.  
  419.                         2). the FIRST THREE characters of the filename
  420.                             must be numeric.
  421.  
  422.                     This is the events that will occur:
  423.  
  424.                       1). all print data will be redirected to 'special'
  425.                           filename.
  426.  
  427.                       2). after 'xxx' number of seconds have elapsed and
  428.                           nothing has been written to file (given that
  429.                           something has been, at least once), the buffers
  430.                           for the specific printer is flushed. Next the
  431.                           file is renamed and a new file with the same name
  432.                           that LPTz was invoked with is reopened as empty.
  433.  
  434.                           Forcing a file/buffer close with '-C' option ,
  435.                           de-installing LPTz or disk error also causes
  436.                           the above event to occur.
  437.  
  438.                                   - 5 -
  439.  
  440.  
  441.  
  442.         Option        Option definition
  443.         ------      ---------------------------------------------------
  444.  
  445.  
  446.          -Fxxx       You are not sure how this works? OK, lets take an
  447.                     example:
  448.  
  449.                      You invoke LPTz :  LPTZ -p1 -f30 000-lpt1
  450.  
  451.                       this says, redirect LPT1 to a disk file called
  452.                      '000-lpt1' and perform automatic buffer flush
  453.                      every 30 seconds.
  454.  
  455.  
  456.                       Then , given that something has been written to
  457.                      the file, when the 30 seconds elapses:
  458.  
  459.  
  460.                       1). the buffers are flushed to '000-lpt1'
  461.  
  462.                       2). a file called '001-lpt1.txt' is deleted, if
  463.                           it exists.
  464.  
  465.                       3). the file '000-lpt1' is renamed to '001-lpt1.txt'
  466.  
  467.                       4). a new internal next-filename of '002-lpt1.txt'
  468.                           is generated, if needed the next time.
  469.  
  470.                       4). a new file called '000-lpt1' is open/created and
  471.                          all future printer redirected data is written
  472.                          to it until the flush timeout limit again occurs.
  473.  
  474.  
  475.                     A few notes/insights are necessary here.
  476.  
  477.                     With auto-file flush its best to start off with '000'
  478.                     and let LPTz internally increment the file name number.
  479.                     When LPTz gets to '999' internally, it starts back with
  480.                     '001'. So, you see that '000' is a safe filename number
  481.                     to start off with. However, to provide maximum flexibility
  482.                     you can start off with any 3-digit filename BUT only '000'
  483.                     is protected from being over written. The next release will
  484.                     protect the original filename and insure that other
  485.                     redirected filenames (for other printers) are not duplicat-
  486.                     ed.
  487.  
  488.  
  489.  
  490.  
  491.  
  492.  
  493.  
  494.  
  495.  
  496.  
  497.  
  498.  
  499.  
  500.  
  501.                                   - 6 -
  502.  
  503.  
  504.  
  505.         Option        Option definition
  506.         ------      ---------------------------------------------------
  507.  
  508.          -M         The -M option toggles the state of the mode that the popup
  509.                     window is displayed in. If monochrome-mode not active then
  510.                     the popup window will display in color, else the popup
  511.                     window will be black-and-white. Invoking LPTz with this
  512.                     option toggles the state, if off it will be turned on else
  513.                     if on it will be turned off.
  514.  
  515.  
  516.          -L         The -L option toggles the state of Line-feed stripping.
  517.                     With this option active all line-feed characters are
  518.                     stripped before being written to redirect disk file.
  519.  
  520.          -G         The -G option allows LPTz to pop-up over a graphics
  521.                     applicaton. YES, you heard right, a GRAPHICS application.
  522.                     This is done WITHOUT swapping out the current applica-
  523.                     tion and changing to text mode. LPTZ attempts to pop-up
  524.                     in the SAME current graphics mode. We have looked high
  525.                     and low and we can find NO other TSR (that does what we
  526.                     do) that supports Graphics pop-up.
  527.  
  528.                     HOWEVER, this is our first attempt. We bought 8-10 books
  529.                     on CGA/EGA/VGA and could not find ONE that tells/shows
  530.                     how to safely/best pop-up and exit in/from graphics mode
  531.                     application. This release is NOT totally perfect, but we
  532.                     decided to release it, to get feedback on the added
  533.                     graphics mode support.
  534.  
  535.                     If the -G option is not specified, LPTz will not pop-up
  536.                     if the video controller is in a graphics mode.
  537.  
  538.                     The Hercules graphics modes are not supported at this
  539.                     time. If someone wants to make available such a card
  540.                     for testing (and if enough demand) then we will consider
  541.                     supporting it.
  542.  
  543.                     The EGA and VGA cards have the necessary graphics fonts
  544.                     vectored correctly to allow 'text' to be drawn while in
  545.                     graphics mode.
  546.  
  547.                     The IBM PC/XT CGA BIOS do not set up the interrupt vectors
  548.                     (pointers to graphics mode text characters) to allow LPTz
  549.                     to work correctly. You MUST run the DOS supplied program,
  550.                     GRAPHICS.COM to allow LPTz to pop-up in graphics mode, and
  551.                     to display text. It best to include the GRAPHICS command
  552.                     in you system startup batch file, AUTOEXEC.BAT. LPTz
  553.                     simulates the EGA BIOS vector setup in this hardware
  554.                     configuration.
  555.  
  556.  
  557.  
  558.  
  559.  
  560.  
  561.  
  562.  
  563.  
  564.  
  565.                                   - 6a-
  566.  
  567.  
  568.         Option        Option definition
  569.         ------      ---------------------------------------------------
  570.  
  571.          -S         The -L option toggles the state of some internal beeps
  572.                     and honks that can be turned on. If sound option on
  573.                     then every time a buffer fills you will hear a couple
  574.                     of short beeps. This is some indication that your buffer
  575.                     sizes are too small, if you hear alot of beeps often.
  576.                     Disk error will generate a bunch of beeps and honks
  577.                     reguardless of this options setting.
  578.  
  579.  
  580.          -U         The -U (last but not least) allows you to completely
  581.                    remove LPTz from you computers memory.
  582.  
  583.                     LPTz will be removed, given that NO other TSRs or
  584.                    programs have changed the interrupt vectors that LPTz
  585.                    used when it started.
  586.  
  587.                     All redirected disk files are closed, after buffers
  588.                    flushed, and all memory allocated to buffers is returned
  589.                    to DOS.
  590.  
  591.                     Then all interrupt vectors are returned to the state
  592.                    that LPTz was aware of when it was initially invoked.
  593.  
  594.  
  595.  
  596.  
  597.  
  598.  
  599.  
  600.  
  601.  
  602.  
  603.  
  604.  
  605.  
  606.  
  607.  
  608.  
  609.  
  610.  
  611.  
  612.  
  613.  
  614.  
  615.  
  616.  
  617.  
  618.  
  619.  
  620.  
  621.  
  622.  
  623.  
  624.  
  625.  
  626.  
  627.  
  628.                                   - 7 -
  629.  
  630.  
  631.      Whew! That's alot of verbiage to absorb, the first time thru.
  632.  
  633.       Its not as confusing as it may appear. We just want to document
  634.      all the in-and-outs, so can use LPTz to the max.
  635.  
  636.  
  637.       Again, LPTz can't be all things to all people (or DOS). LPTz tries
  638.      to do things in the background, while your applications are running
  639.      in the foreground. Given that DOS was not really designed to support
  640.      this, in all cases, LPTz can't redirect all printer requests.
  641.  
  642.       Specifically, the DOS 'TYPE' and DOS 'COPY' commands to a LPT will
  643.      'abort' if LPTzs buffers are not large enough to handle the total
  644.      typed/copied file. In otherwords, if the file is bigger than the
  645.      buffer LPTz has allocated to the printer, then LPTz will return
  646.      a 'timeout' to DOS when the buffer fills and you will most likely
  647.      see an 'abort, retry or ignore' message.
  648.  
  649.       LPTz will ONLY capture data that goes thru the BIOS interrupt 17.
  650.      Any application that writes directly to the hardware cannot/will not
  651.      be redirected.
  652.  
  653.  
  654.      LPTz intercepts DOS interrupt 21, specifically function calls:
  655.  
  656.  
  657.                  5 - write a character to standard printer
  658.  
  659.                 40 - write character(s) to a file. If the file is the
  660.                      standard printer file, file handle 0004, its output
  661.                      is redirected thru LPTzs interrupt 17 handler.
  662.  
  663.                 44 - IOCTL call 3, write to character device. Again, if the
  664.                      file handle is 0004, for standard printer, the output
  665.                      is redirected thru LPTzs interrupt 17 handler.
  666.  
  667.              DOS interrupt 21 is intercepted for these function calls
  668.             to allow LPTz to gracefully handle buffer fills.
  669.  
  670.  
  671.        LPTz primarily intercepts the BIOS interrupt 17. This allows it to
  672.       buffer data for the redirected printers.
  673.  
  674.        With LPTz there is NO PROBLEM WITH OVER RUNNING THE BUFFERS. We have
  675.       seen NO other product (Public domain or Shareware) that CAN handle it.
  676.  
  677.        LPTz goes to GREAT lengths to see that all your precious print data
  678.       is safely handled!!
  679.  
  680.  
  681.        We have lots of ideas for future enhancements to LPTz, as it grows
  682.       and matures. We are not restricting access to LPtzs functions in
  683.       version 3.00. However, if usage appears high and registrations low,
  684.       then we will be forced to restrict options available ,thru Shareware,
  685.       in future releases. Also, the source is not available but if you
  686.       are scared of viruses, then use the registration form to get a copy
  687.       directly from the author.
  688.  
  689.  
  690.  
  691.                                   - 8 -
  692.  
  693.  
  694.  
  695.       What's this 'popup' window that was mentioned earlier.
  696.  
  697.       Boy, nothing gets by you!
  698.  
  699.  
  700.        Basically, LPTz provides the feature to allow you to pop-up
  701.       a window. This window allows you to turn printer redirection
  702.       on and off while in the middle of another application.
  703.  
  704.        However, to turn it on, you must have first redirected a
  705.       printer to a filename. This only makes sense.
  706.  
  707.        LPTz will only pop-up if you are in a text mode applicationn
  708.       UNLESS you have told LPTz to pop-up over a graphics application
  709.       (see the '-G' command line option). A mouse is not supported, but
  710.       could and may very well be in one of the next couple of releases.
  711.  
  712.       To get the pop-up window onto the screen you press:
  713.  
  714.           either -
  715.  
  716.                     ALT-Print Screen
  717.  
  718.               or
  719.                     ALT-*  (on keyboards with separate cursor keys)
  720.  
  721.        Pressing either :
  722.  
  723.                     Enter
  724.  
  725.               or
  726.                     Esc
  727.  
  728.               will remove the pop-up window from the screen.
  729.  
  730.  
  731.        We are toying with the idea of letting you dynamically change the
  732.       pop-up windows location. What do you think?
  733.  
  734.  
  735.  
  736.  
  737.  
  738.  
  739.  
  740.  
  741.  
  742.  
  743.  
  744.  
  745.  
  746.  
  747.  
  748.  
  749.  
  750.  
  751.  
  752.  
  753.  
  754.  
  755.  
  756.                                   - 9 -
  757.  
  758.  
  759.  
  760.       I have specified all these options to LPTz, how do i know what
  761.       LPTz is doing.
  762.  
  763.  
  764.       EASY!
  765.  
  766.       Just type:
  767.  
  768.  
  769.                 LPTz
  770.  
  771.  
  772.        LPTz will tell you every thing you didn't want to know about what
  773.       it is doing or again you may.
  774.  
  775.        If you have the buffer flush option active (see '-F') and data is
  776.       in the buffers, LPTz will tell you when the next buffer/file flush
  777.       for each printer is due. How friendly can you get.
  778.  
  779.        Another idea we are tossing around is to allow other programs to
  780.       access LPTz thru API calls (only programmers may understand what
  781.       we mean here). This would allow other applications to 'talk' to
  782.       LPTz directly from an application and to query its state or to
  783.       dynamically modify LPTzs processing state.
  784.  
  785.  
  786.  
  787.       Now for a few odds-n-ends we missed.
  788.  
  789.        Any error writing the buffers immediately disables printer re-
  790.       direction for a specific printer. If you correct the error, you
  791.       can turn it back on later, with out re-loading LPTz. You will hear
  792.       a bunch of beeps and honks if an disk error occurs, such as disk full,
  793.       removing disk from drive, you deleted LPTz file it was using (naughty),
  794.       or you ran CHKDSK or disk compress.
  795.  
  796.  
  797.        Oh, PC-Write requires you to gererate a 'pr.def' file and to specify
  798.       that its print output go to a LPT device, for LPTz to work with
  799.       PC-Write. Contact PC-Writes technical support if you need help with
  800.       their product.
  801.  
  802.  
  803.  
  804.  
  805.  
  806.  
  807.  
  808.  
  809.  
  810.  
  811.  
  812.  
  813.  
  814.  
  815.  
  816.  
  817.  
  818.                                  - 10 -
  819.  
  820.  
  821.  
  822.  
  823.  Appendix A - Program Messages.
  824.  
  825.  
  826.  
  827.       All message text is preceded by a formatted message code.
  828.  
  829.      The format of the message code is:
  830.  
  831.            LPTzNNNy
  832.  
  833.       where :
  834.  
  835.            NNN= 000 thru 999, which is the message number for this
  836.                              message type.
  837.  
  838.          and
  839.  
  840.            y= 'D' - for Diagnostic type messages. These messages are
  841.                     normally printed only if a critical error occurs
  842.                     or the program is in a 'test' or debugging mode.
  843.  
  844.               'E' - for Error messages. These type messages indicate
  845.                     that an unrecoverable error occurred and the program
  846.                     could or could not take any corrective action.
  847.  
  848.               'I' - for Informative messages. These messages are just
  849.                     to inform you  as to the processing state of the
  850.                     program at any given time.
  851.  
  852.               'W' - for Warning messages. These messages indicate
  853.                     that an error occurred, but that the program
  854.                     was able to take corrective action and continue
  855.                     processing. However, the function the program was
  856.                     attempting may or may not have been successfully
  857.                     completed.
  858.  
  859.               'P' - a message is displayed that requires you to reply
  860.                     to the program, normally via the keyboard.
  861.  
  862.  
  863.  
  864.  
  865.  
  866.  
  867.  
  868.  
  869.  
  870.  
  871.  
  872.  
  873.  
  874.  
  875.  
  876.  
  877.  
  878.  
  879.  
  880.                                    - A1 -
  881.  
  882.  
  883.  
  884.  
  885.  Appendix A - Program Messages.
  886.  
  887.  
  888.  
  889.  
  890.  
  891.  
  892.  
  893.  
  894.  
  895.  
  896.  
  897.  
  898.  
  899.  
  900.  
  901.  
  902.  
  903.  
  904.  
  905.  
  906.  
  907.  
  908.  
  909.              The messages that LPTz generates are not documented
  910.  
  911.                              in this release.
  912.  
  913.  
  914.                  (as they are mostly self-explanatory)
  915.  
  916.  
  917.  
  918.  
  919.  
  920.  
  921.  
  922.  
  923.  
  924.  
  925.  
  926.  
  927.  
  928.  
  929.  
  930.  
  931.  
  932.  
  933.  
  934.  
  935.  
  936.  
  937.  
  938.  
  939.  
  940.  
  941.  
  942.                                    - A2 -
  943.  
  944.  
  945.  
  946.  
  947.  
  948.  Appendix B - Site License
  949.  
  950.  
  951.  
  952.                                   SITE LICENSE
  953.  
  954.  
  955.  
  956.      Corporate users may wish to obtain a site license for the use of LPTz.
  957.      The site license applies only to one geographical area, not to exceed
  958.      a 50 mile radius. Additional site licenses are required for each
  959.      unique geographical location.
  960.  
  961.        Please use the order form in this manual to request a site license.
  962.  
  963.      Site licenses are now negotiated on an individual basis.  License fees
  964.      vary depending on the number of computers on which LPTz will be used.
  965.  
  966.      LPTz is ONLY licensed per single unit quantities of,
  967.  
  968.  
  969.          1 single unit license -  $20 each    ($10 upgrade fee each)
  970.  
  971.  
  972.          A site license may be requested and will be negotiated on an
  973.        individual basis.
  974.  
  975.  
  976.      The following page is a license agreement, which should be signed
  977.      and sent with your payment when ordering a commercial license.
  978.  
  979.  
  980.  
  981.  
  982.  
  983.  
  984.  
  985.  
  986.  
  987.  
  988.  
  989.  
  990.  
  991.  
  992.  
  993.  
  994.  
  995.  
  996.  
  997.  
  998.  
  999.  
  1000.  
  1001.  
  1002.  
  1003.  
  1004.  
  1005.  
  1006.                                    - B1 -
  1007.  
  1008.  
  1009.                           Commercial License Agreement
  1010.  
  1011.      The use of LPTz in a commercial environment or government organization
  1012.      is granted under the following terms:
  1013.  
  1014.      1.  Payment of the license fee must be made payable to
  1015.                       : James P. Morgan
  1016.  
  1017.          The fee is based on the number of computers which will be used
  1018.          to run LPTz , as follows:
  1019.  
  1020.          LPTz is ONLY licensed per single unit quantities of,
  1021.  
  1022.  
  1023.             1 single unit license -  $20 each    ($10 upgrade fee each)
  1024.  
  1025.  
  1026.      2.  You may use LPTz  on the number of computers included in the license
  1027.          fee.  If you have negotiated a site license, then you may use LPTz
  1028.          on any number of computers within your organization, within a given
  1029.          geographical area.
  1030.  
  1031.      3.  You may make copies of the program and documentation, in their
  1032.          original,  unmodified form. You may distribute these copies, within
  1033.          the limits of the number of copies licensed.
  1034.  
  1035.      4.  You may use all future Shareware versions of LPTz under this license.
  1036.  
  1037.  
  1038.      5.  You may NOT modify the program or charge a fee for copying or
  1039.          distributing the program or its documentation.
  1040.  
  1041.      6.  It is your responsibility to make the necessary copies and to
  1042.          deliver them to the computers which they will be used on.
  1043.  
  1044.      7.  We are not responsible for anything that may or may not happen
  1045.          if you use LPTz.
  1046.  
  1047.  
  1048.      8.  You are required to complete and sign this form and the ORDER form
  1049.          , and return them to James P. Morgan
  1050.  
  1051.  
  1052.          I agree to abide by the terms and conditions of this license.
  1053.  
  1054.          _____________________________         __________________________
  1055.          Signature                             Date
  1056.  
  1057.          _____________________________
  1058.          Name (please print or type)
  1059.  
  1060.          _____________________________
  1061.          Title
  1062.  
  1063.          _____________________________
  1064.          Company
  1065.  
  1066.  
  1067.                                    - B2 -
  1068.  
  1069.  
  1070.  
  1071.  Appendix C - Ordering
  1072.  
  1073.                                    ORDER FORM
  1074.  
  1075.  
  1076.      Check which items you wish to purchase:
  1077.  
  1078.          (_) Noncommercial license for the use of LPTz.
  1079.  
  1080.          (_) Commercial license for the use of LPTz on ___ computers
  1081.  
  1082.          (_) Program update fee of $10.00  for each of __ computers that LPTz
  1083.              is currently licensed on.
  1084.  
  1085.          (_) Update media is :  (_) 5-1/4 floppy  |  (_) 3-1/2 micro floppy
  1086.  
  1087.          (_) Payment of $_____ is enclosed (check or money order),
  1088.                 |
  1089.                 +------> payable to : James P. Morgan
  1090.                          ----------
  1091.  
  1092.              Signature: ________________________________
  1093.  
  1094.          _______________________________________________
  1095.          Name
  1096.  
  1097.          _______________________________________________
  1098.  
  1099.  
  1100.          _______________________________________________
  1101.          Address
  1102.  
  1103.          ______________________   ________  ____________
  1104.          City                     State     Zip
  1105.  
  1106.  
  1107.          _______________________________________________
  1108.          Country
  1109.  
  1110.  
  1111.      ***       Send check or money orders payable to : James P. Morgan ***
  1112.                -------------------------------------------------------
  1113.        (all other endorsements will be returned and order not processed)
  1114.  
  1115.      Send this completed form to:
  1116.  
  1117.                                   James P. Morgan
  1118.                                   5226 Via Hacienda Cr #115
  1119.                                   Orlando FL 32809
  1120.                                   U.S.A
  1121.  
  1122.  
  1123.  
  1124.  
  1125.  
  1126.  
  1127.  
  1128.  
  1129.                                    - C1 -
  1130.  
  1131.  
  1132.  
  1133.  
  1134.       For program disk orders outside the U.S., please add an additional $5,
  1135.      and enclose a check or money order payable in U.S. currency and
  1136.      drawn on a U.S. bank. Any checks/money orders that cannot be deposited
  1137.      --------------------
  1138.      in a U.S. bank WILL be returned without processing of the order.
  1139.  
  1140.       For commercial license orders, please enclose a signed copy of the
  1141.      the license agreement.
  1142.  
  1143.       Inquires for Corporate wide unlimited usage licenses are welcome.
  1144.  
  1145.  
  1146.  
  1147.  
  1148.  
  1149.  
  1150.  
  1151.  
  1152.  
  1153.  
  1154.  
  1155.  
  1156.  
  1157.  
  1158.  
  1159.  
  1160.  
  1161.  
  1162.  
  1163.  
  1164.  
  1165.  
  1166.  
  1167.  
  1168.  
  1169.  
  1170.  
  1171.  
  1172.  
  1173.  
  1174.  
  1175.  
  1176.  
  1177.  
  1178.  
  1179.  
  1180.  
  1181.  
  1182.  
  1183.  
  1184.  
  1185.  
  1186.  
  1187.  
  1188.  
  1189.  
  1190.  
  1191.                                    - C2 -
  1192.  
  1193.  
  1194.  Appendix D - Comments
  1195.  
  1196.                               USER COMMENT FORM
  1197.  
  1198.  
  1199.       If you have found any errors in this documentation that you would like
  1200.      to bring to our attention, please indicate them below. Please indicate
  1201.      them by page number if possible. If there are other improvements to the
  1202.      documentation, product features that you would like us to consider,
  1203.      or any ways you are using LPTz that you would like to share, please
  1204.      indicate them here (for version 3.0):
  1205.  
  1206.    ____________________________________________________________________________
  1207.  
  1208.    ____________________________________________________________________________
  1209.  
  1210.    ____________________________________________________________________________
  1211.  
  1212.    ____________________________________________________________________________
  1213.  
  1214.    ____________________________________________________________________________
  1215.  
  1216.    ____________________________________________________________________________
  1217.  
  1218.    ____________________________________________________________________________
  1219.  
  1220.    ____________________________________________________________________________
  1221.  
  1222.    ____________________________________________________________________________
  1223.  
  1224.    ____________________________________________________________________________
  1225.  
  1226.    ____________________________________________________________________________
  1227.  
  1228.    ____________________________________________________________________________
  1229.  
  1230.    ____________________________________________________________________________
  1231.  
  1232.    ____________________________________________________________________________
  1233.  
  1234.    ____________________________________________________________________________
  1235.  
  1236.    ____________________________________________________________________________
  1237.  
  1238.    ____________________________________________________________________________
  1239.  
  1240.    ____________________________________________________________________________
  1241.  
  1242.    ____________________________________________________________________________
  1243.  
  1244.    ____________________________________________________________________________
  1245.  
  1246.    ____________________________________________________________________________
  1247.  
  1248.    ____________________________________________________________________________
  1249.  
  1250.    ____________________________________________________________________________
  1251.  
  1252.  
  1253.                                    - D1 -
  1254.  
  1255.  
  1256.  
  1257.  Appendix E - Mailing
  1258.  
  1259.  
  1260.                             CHANGE OF ADDRESS FORM
  1261.  
  1262.  
  1263.       Please let us know when you change your address, so that we can keep
  1264.      you informed of product improvements, etc.
  1265.  
  1266.  
  1267.    NAME: ______________________________________________________________________
  1268.  
  1269.    COMPANY:____________________________________________________________________
  1270.  
  1271.    SERIAL NUMBER:______________________________________________________________
  1272.  
  1273.    Old Address:
  1274.  
  1275.    ____________________________________________________________________________
  1276.  
  1277.    ____________________________________________________________________________
  1278.  
  1279.    CITY:______________________________________STATE:______ZIP:_________________
  1280.  
  1281.    ____________________________________________________________________________
  1282.  
  1283.    New Address:
  1284.    ____________________________________________________________________________
  1285.  
  1286.    ____________________________________________________________________________
  1287.  
  1288.    ____________________________________________________________________________
  1289.  
  1290.    CITY:______________________________________STATE:______ZIP:_________________
  1291.  
  1292.    Telephone:__________________________________________________________________
  1293.  
  1294.    ____________________________________________________________________________
  1295.  
  1296.    Effective Date of New Address:______________________________________________
  1297.  
  1298.  
  1299.                                 MAIL TO :
  1300.                                -----------
  1301.  
  1302.  
  1303.                           James P. Morgan
  1304.                           5226 Via Hacienda Cr #115
  1305.                           Orlando FL, 32809
  1306.                           U.S.A.
  1307.  
  1308.  
  1309.  
  1310.  
  1311.  
  1312.  
  1313.  
  1314.                                    - E1 -
  1315.  
  1316.