********************************************************************** * * * Magic Spooler * * ------------- * * * * written by: Emanuel M”cklin * * Zschokkestrasse 7 * * CH-8037 Zrich * * 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.