     **********************************************************************
     *                                                                    *
     *                 Magic Spooler                                      *
     *                 -------------                                      *
     *                                                                    *
     * written by:     Emanuel Mcklin                                    *
     *                 Zschokkestrasse 7                                  *
     *                 CH-8037 Zrich                                     *
     *                 FREDDY@ezrz1.vmsmail.ethz.ch                       *
     *                                                                    *
     * written with:   Turboassembler 1.xx                                *
     *                                                                    *
     **********************************************************************


     Magic Spooler is more than a printer spooler. It's possible to print
     in a file from most of the programs. Moreover it's possible, to print
     files in the background. As this two functions can be activ at the
     same time, you can first print in a file and then print this file (on
     the printer naturally), that means you can use your HD as buffer for
     the spooler.
     It contains the TSR (terminate and stay resident) MS_SPOOL and the
     configuration program MS_CONF.CPX. To install the spooler you have to
     copy the first one into the auto folder the second one to the other
     cpx. In the case that you don't use the controlpanel, you can stop
     reading here, because the spooler is activated only by the cpx. The
     two programs communicate via a cookie installed by the TSR (id
     "MSPO").


     1. Magic Spooler is able to print in a file.
     To do this, it needs a buffer for the printed datas. The larger this
     buffer is the faster this function works. It can be necessary to
     choose this buffer larger than 1KB because otherwise a timeout can
     occur (e.g. with the hardcopy routine). The size of the buffer can be
     set with the lower slider.

     The point "FILE" contains 5 functions:
     - New: printing to a file is activated. The choosen file is over-
       written.
     - Open: printing to a file is activated. The choosen file is not
       overwritten. The output is going to the end of the file.
     The two following points are only available if printing to a file is
     already activated.
     - Clear: the file is cleared and so is the buffer. But printing to a
       file remains activ.
     - Close: the content of the buffer is written to the file and printing
       to a file is desactivated.

     If there hasn't been any output for 2 seconds, the content of the
     buffer will be written during the next gemdos call.
     Printing to a file does not work, if datas are printed via Fwrite
     (e.g. GFABASIC) except if MiNT is installed.


     2. Naturally you can use it also as a "normal" spooler.
     The buffersize is set with the upper slider. The point "BIOS" allows
     you to replace the original bios printroutine (if the spooler is off).
     This gives you an increase of speed (about 3-4 times faster). Output
     of the gemdos (cprnout) are replaced before gemdos calls the bios.

     What happens if spooler and printing to a file are activ at the same
     time? In this case it writes the output first into the file and then
     the content of the file is loaded into the spoolerbuffer and printed
     from there. This way it's possible to spool large outputs using your
     HD instead of memory. Filling up the spooler happens during a gemdos
     call. This should not cause problems except the fact, that it does not
     work if no gemdos call occurs, which is not very probable.
     You can print a file in the background. For that you have to open the
     file and activate the spooler. The printroutine uses the busy
     interrupt, the fastest possibility to implement a spooler. The spooler
     fetches output from the bios (bconout), gemdos (cprnout), hardcopies
     and output from Signum!.

     The point "SPOOLER" contains the following functions:
     - On: the Spooler is activated.
     - Off: the Spooler is desactivated.
     - Clear: the content of the spoolerbuffer is cleared. If a file is
     printed, it will from then on again print from the beginning of the
     file. This way it's possible to print a file several times. This point
     is checked if the spoolerbuffer is not empty.


     If you are interessted in the source code, please send me a formatted
     disc or an e-mail. You will then receive the newest version on the
     same way, you sent me the disc. Also bug reports and suggestions are
     welcome.
