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


     Magic Spooler ist mehr als ein Druckerspooler. Mit ihm ist es mglich
     Druckausgaben beliebiger Programme in eine Datei umzulenken. Weiter
     ist es mglich, Dateien im Hintergrund zu drucken. Da diese beiden
     Funktionen gleichzeitig aktiv sein drfen, knnen Sie also
     Druckausgaben zuerst in eine Datei schreiben und diese dann drucken,
     d.h. Sie knnen Ihre Festplatte als Druckerpuffer bentzen.
     Magic Spooler besteht aus dem TSR (terminate and stay resident)
     MS_SPOOL.PRG und dem Konfigurationsprogramm MS_CONF.CPX. Ersteres
     kopieren Sie in den Autoordner, letzteres zu den anderen CPX-Modulen.
     Sollten Sie das Kontrollfeld nicht installiert haben, brauchen Sie
     erst gar nicht weiterzulesen, denn der Spooler (das TSR) wird erst
     aktiviert, wenn das CPX-Modul initialisiert wird. Die Kommunikation
     zwischen den beiden Programmen geschieht ber den vom TSR angelegten
     Cookieeintrag mit der Kennung "MSPO".


     1. Magic Spooler ist in der Lage in eine Datei zu drucken.
     Zu diesem Zweck bentigt er einen Puffer, in dem die Daten gepuffert
     werden. Je grsser der Puffer ist, desto schneller ist diese Funktion.
     Es kann ntig sein, den Puffer grsser als 1KB zu whlen, da es sonst
     zu einem Timeout kommen kann (z.B. bei der Hardcopyroutine). Die Puf-
     fergrsse knnen Sie mittels des unteren Schiebers einstellen.

     Der Menpunkt "DATEI" vereint 5 Funktionen:
     - Neu: Die Druckumlenkung wird aktiviert. Die gewhlte Datei wird neu
      angelegt.
     - ffnen: Die Druckumlenkung wird aktiviert. Es wird ans Ende der ge-
      whlten Datei geschrieben.
     Die beiden folgenden Punkte erscheinen nur, falls die Druckumlenkung
     schon aktiviert wurde:
     - Lschen: Die Datei wird gelscht und der Puffer geleert. Die Druck-
      umlenkung bleibt aber aktiviert.
     - Schliessen: Der Inhalt des Puffers wird geschrieben und die Druck-
      umlenkung ausgeschaltet.

     Falls whrend 2 Sekunden keine Ausgabe erfolgt, wird der Pufferinhalt
     beim nchsten Gemdosaufruf in die Datei geschrieben.
     Das Drucken in eine Datei funktioniert nicht, wenn Daten ber Fwrite
     gedruckt werden (z.B. GFABASIC), es sei denn, Sie haben MiNT instal-
     liert.


     2. Natrlich kann auch normal gespoolt werden.
     Die Puffergrsse wird mittels des oberen Schiebers festgelegt. Der
     Menpunkt "BIOS" legt fest, ob Ausgaben ber das Bios durch Magic
     Spooler erledigt werden sollen (bei abgeschaltetem Spooler). Dies
     bringt einen Geschwindigkeitszuwachs bei der Ausgabe (etwa Faktor
     3-4). Ausgaben ber Gemdos (Cprnout) werden ebenfalls abgefangen und
     zwar schon im Gemdostrap, d.h. sie werden nicht ans Bios weiterge-
     leitet.

     Was passiert, wenn Spooler und Dateiumlenkung gleichzeitig aktiv sind?
     Dann wird zuerst in die Datei gedruckt und anschliessend das Geschrie-
     bene in den Spooler geladen und gedruckt. Dadurch ist es mglich,
     grosse Datenmengen zu spoolen, ohne viel Speicher zu verschwenden; die
     Daten werden einfach auf einen Massenspeicher ausgelagert (geswappt).
     Das Fllen des Spoolers geschieht bei einem Gemdosaufruf, Probleme
     sollten dadurch nicht auftreten, ausser das nicht gedruckt wird, wenn
     kein Gemdosaufruf stattfindet, was unwahrscheinlich ist, wenn Sie mit
     dem Computer arbeiten.
     Sie knnen eine Datei auch im Hintergrund drucken lassen. Dazu mssen
     Sie diese ffnen (Datei ffnen) und den Spooler einschalten.
     Das Drucken geschieht ber den Busyinterrupt, die schnellste Mglich-
     keit einen Drucker anzusprechen. Gespoolt werden neben den Ausgaben
     ber das Bios (Bconout) und Gemdos (Cprnout) auch Hardcopies und Sig-
     num!ausgaben.

     Der Menpunkt "SPOOLER" vereint folgende Funktionen:
     - An: Der Spooler wird eingeschaltet.
     - Aus: Der Spooler wird ausgeschaltet.
     - Lschen: Der Spoolerinhalt wird gelscht. Wird aus einer Datei ge-
      druckt, wird der Dateizeiger auf Null gesetzt, d.h. es wird wieder
      vom Anfang der Datei gedruckt. So knnen Sie eine Datei auch mehr-
      mals drucken. Dieser Punkt ist abgehakt, falls der Spoolerpuffer
      nicht leer ist.


     Wenn Sie sich fr den Sourcecode interessieren, schicken Sie mir eine
     formatierte Diskette oder eine E-Mail. Sie erhalten dann die neuste
     Version auf gleichem Weg zurck. Fehlerreports oder Anregungen sind
     natrlich ebenfalls willkommen.