home *** CD-ROM | disk | FTP | other *** search
/ Computer Club Elmshorn Atari PD / CCE_PD.iso / pc / 0400 / CCE_0406.ZIP / CCE_0406.PD / GEMSPOOL / GSPOOL2.TXT < prev    next >
Text File  |  1992-10-22  |  32KB  |  836 lines

  1. **********************************************************************
  2. *                                                                    *
  3. *       GEM Spooler v2.0 - 24 November 1991                          *
  4. *                                                                    *
  5. *       (c) Steven Van Rossen, Marc Billiet                          *
  6. *                                                                    *
  7. **********************************************************************
  8.  
  9.  
  10. Table of contents
  11. -----------------
  12.  
  13.  0. Disclaimer
  14.  
  15.  1. Shareware
  16.  
  17.  2. About spoolers
  18.  
  19.    2.1 Wat is a spooler ?
  20.    2.2 Spooler types
  21.    2.3 Spooling with the Atari ST
  22.   
  23.  3. GEM Spooler
  24.  
  25.    3.1 Installing GEM Spooler
  26.    3.2 Functions of GEM Spooler
  27.  
  28.    3.3 Manual
  29.  
  30.      3.3.1 Dialogs
  31.     
  32.        3.3.1.1 GEM Spooler dialog
  33.        3.3.1.2 Jobs dialog
  34.        3.3.1.3 Timing dialog
  35.        3.3.1.4 Printer dialog
  36.        3.3.1.5 Setup dialog
  37.  
  38.      3.3.2 Adding a job
  39.      3.3.3 Activating GEM Spooler from the keyboard
  40.      3.3.4 BURST mode
  41.      3.3.5 Resetting a job
  42.     
  43.    3.4 Known problems with GEM Spooler
  44.    3.5 GEM Spooler with Gemini
  45.    3.6 GEM Spooler with Chameleon
  46.     
  47.  4. Technical notes
  48.  5. Credits...
  49.  6. Adresses
  50.  
  51.  
  52. 0. Disclaimer
  53. -------------
  54.  
  55. Although GEM Spooler has been thoroughly tested and works very fine,
  56. the authors take no responsibility for any damage that might occur
  57. (implicit or explicit) when using GEM Spooler v2.0 or one of the
  58. related programs.
  59.   
  60.  
  61. 1. Shareware
  62. ------------
  63.  
  64. GEM Spooler v2.0 is shareware. It may be copied and distributed freely
  65. among users, but if you use it regularly you have to pay a registra-
  66. tion fee. By doing this you support the authors and in exchange you
  67. are sent the latest update.
  68.  
  69. Registering has several advantages:
  70.  
  71. - We let you know if a new update is available
  72. - You can ask us to help you with eventual problems
  73. - You get some extra software to ease the use of GEM Spooler:
  74.  
  75.      GSPINST.PRG   Printer installation program for GEM Spooler
  76.      CFGGRAB.PRG   Wordplus CFG to GEM Spooler CTB file convertor
  77.      LOGVIEW.PRG   Utility to view log files
  78.      
  79. - You get technical documentation and examples on how to use
  80.   GEM Spooler from within your own programs
  81.  
  82.  
  83. How do you register ?
  84.  
  85. You have two possibilities:
  86.  
  87. 1) You send 500 BEF (or: 30 Fl., 25 DM, 15 US$) (in notes !):
  88.  
  89.    Steven Van Rossen          or:      Marc Billiet
  90.    Sportstraat 20 A                    Terlinckstraat 33
  91.    B-9250 Waasmunster                  B-2600 Berchem
  92.    
  93.    
  94. 2) You pay into one of the following bank accounts:
  95.  
  96.         413-9186221-87 (Steven Van Rossen), Kredietbank St-Niklaas
  97.    or:  412-9170341-39 (Marc Billiet), Kredietbank Berchem
  98.  
  99.    mentioning: Registration fee GEM Spooler v2.0.
  100.    
  101.  
  102. IMPORTANT:
  103.  
  104. The distribution of GEM Spooler through public domain lists is forbidden,
  105. unless one has the explicit permission of the authors. This normally im-
  106. plies the public domain service has to proove that their charges don't
  107. include abnormal profits (after deduction of their costs). Abnormal profits
  108. are profits that can't be justified by the original aim of a public domain
  109. service: distributing cheap software to as many people as possible.
  110.  
  111. Distribution by electronic mail and networks however, is permitted.
  112.  
  113.  
  114. 2. About spoolers
  115. -----------------
  116.  
  117. 2.1 What is a spooler ?
  118. -----------------------
  119.  
  120. Everybody who prints a lot knows the problem: it takes very long before
  121. the computer is available again, because the computer has to wait for the
  122. slow printer. Fortunately there are spoolers...
  123. Spoolers collect very fast all output to the printer and return control
  124. to the computer. While the user can go on with his other work, the spooler
  125. will send the output little by little to the printer.
  126.  
  127.  
  128. 2.2 Spooler types
  129. -----------------
  130.  
  131. To collect the printer output, spoolers will need a (fast) buffer in RAM
  132. or on disk. According to the type of this buffer, there are two types of
  133. spoolers: ram spoolers and disk spoolers. Disk spoolers are mainly used
  134. on large systems (mainframes, minis). Ram spoolers are mostly found on
  135. microcomputers.
  136.  
  137. A ram spooler reserves a part of the internal memory as buffer. The size
  138. of this buffer can be chosen. The advantage of a ram spooler is speed (RAM
  139. is fast memory), but there are also some disadvantages:
  140.  
  141.  - The buffer consumes (expensive) RAM
  142.  
  143.  - There is a limit to the printer output. e.g.: if you print some graphics,
  144.    this can easily create up to 1 Mb of output. But if your spooler's buffer
  145.    is 512 Kb, the computer will have to wait to receive the last 512 Kb
  146.    until the printer has processed the first 512 Kb.
  147.    
  148.  - You can't delete something you printed without clearing the whole buffer
  149.    (which could contain other print jobs !)
  150.  
  151.  - If there is a system crash, the whole buffer is lost (in RAM !)
  152.  
  153. Disk spoolers don't have these problems. They make it possible to follow up
  154. each print job individually: every job is added to a queue where it can be
  155. changed or deleted at any time. After a reset, disk spoolers resume their
  156. work as if nothing ever happened (all information is still on disk !)
  157. The only disadvantage of disk spoolers is that they require fast disk
  158. capacity, usually a hard disk.
  159.  
  160.  
  161.  
  162. 2.3 Spooling with the Atari ST
  163. ------------------------------
  164.  
  165. The Atari ST has always been a computer with lots of RAM (compared to the
  166. competition). Programmers responded to this with a large offer of ram 
  167. spooler utilities (accessory or program), in many cases combined with a ram
  168. disk. Without doubt, this is a very good solution for ST users without
  169. harddisk. The latest evolution in computing however, changes this situation
  170. thoroughly. Desktop publishing programs, powerful wordprocessors, graphic
  171. programs etc. use more and more RAM. As RAM is quite expensive, these
  172. programs tend to use the hard disk instead: parts of RAM memory are save to
  173. disk and loaded whenever needed. This technique is refered to as 'virtual
  174. memory'. As a result of this evolution, lots of ST users now have a harddisk.
  175. This makes disk spooling (as found on large systems) also interesting for
  176. those users. GEM Spooler makes it possible !
  177.  
  178.  
  179.  
  180. 3. GEM Spooler
  181. --------------
  182.  
  183. GEM Spooler is - as far as we know - the first disk spooler for the Atari
  184. ST. While other operating systems have always used disk spooling (minis,
  185. OS/2, Macintosh, Windows 3) the ST missed this feature. With GEM Spooler
  186. this is history.
  187.  
  188.  
  189.  
  190. 3.1 Installing GEM Spooler
  191. --------------------------
  192.  
  193. GEM Spooler runs on every Atari ST, STE, Mega ST and Mega STE. Theoretically
  194. there shouldn't be difficulties with the TT either (GEM Spooler was written
  195. following all official programming guidelines), but as we don't have one we
  196. can't really verify this. Therefore we encourage TT users to react and
  197. contact us ! A harddisk is not necessarily, but recommended. GEM Spooler
  198. doesn't need much RAM (see: Technical notes) and even feels at ease at a
  199. 520ST.
  200.  
  201. To install GEM Spooler, you proceed as follows:
  202.  
  203. a) Insert the GEM Spooler diskette in a drive and open a window to show its
  204.    contents.
  205.  
  206. b) Copy the folder GEMSPOOL to the root directory of your boot disk (e.g.
  207.    A:\ or C:\).
  208.  
  209. c) Open the folder GEMSPOOL (diskette) and copy GSPOOL2.ACC to the root
  210.    directory of your boot disk.
  211.  
  212. d) Open the folder PDF, select the appropriate *.PDF file (e.g. EPSON.PDF)
  213.    for your printer, copy it to the root of your boot disk and rename it
  214.    to GSPOOL2.PDF.
  215.  
  216. e) Open the folder CTB, select the appropriate *.CTB file (e.g. EPSON.CTB)
  217.    for your printer, copy it to the root of your boot disk and rename it
  218.    to GSPOOL2.CTB.
  219.  
  220. f) Reboot your ST.
  221.  
  222.  
  223.  
  224. 3.2 Functions of GEM Spooler
  225. ----------------------------
  226.  
  227. GEM Spooler redirects all printer output to files (jobs). For each print
  228. you start, a job is created. These jobs are put in a queue (the printer
  229. queue) and are processed in FIFO order (First in, first out).
  230.  
  231. GEM Spooler is an accessory and can be accessed from within every GEM
  232. program to watch and control the queue:
  233.  
  234. - the job sequence can be changed (priority, status)
  235. - jobs can be deleted
  236. - jobs can be sent to different output ports (printer/modem)
  237. - jobs can be filtered (character table): e.g. ë can be translated to e,
  238.   backspace, trema before sending it to the printer
  239. - a job can be processed several times (copies)
  240. - jobs can be kept on disk to use later; e.g. you could spool something on
  241.   your ST, keep the job and spool it on a friend's ST (who has a laser
  242.   printer !)
  243. - the whole queue can be halted (and released) with one mouse click !
  244. - the whole queue can be deleted
  245.  
  246. GEM Spooler's queue 'survives' system crashes. After a reset, the spooler
  247. simply resumes its work. GEM Spooler is also very safe to use: it is pure
  248. GEM, respects the XBRA-protocol, places a system cookie and cooperates
  249. with Gemini through the AV-protocol (more about this under: Technical notes).
  250.  
  251.  
  252. 3.3 Manual
  253. ----------
  254.  
  255. 3.3.1 Dialogs
  256. -------------
  257.  
  258. 3.3.1.1 GEM Spooler dialog
  259. --------------------------
  260.  
  261. Choose GEM Spooler v2.0 in the accessory menu and the GEM Spooler dialog
  262. is opened. There you see (top, middel and bottom):
  263.  
  264. * Top:
  265.  
  266. GEM Spooler v2.0        Name and version number of GEM Spooler. Click on it
  267.                         to see the copyright notice.
  268.  
  269. NO ERROR(S) OCCURED     Error indicator: if an error occured during the
  270.                         spooling process, this text will change to 'ERROR(S)
  271.                         OCCURED)
  272.  
  273. BYTES PROCESSED:        Shows the number of bytes that have been processed
  274.                         for the active job
  275.  
  276.  
  277. * Middle
  278.  
  279. In the middle you see the queue window where jobs are displayed:
  280.  
  281.    C:\TEXT\ASCII.TST               P   Wait  1 --R   1
  282.    D:\DOCS\README                  M   Hold  3 F--  10
  283.    C:\SPOOLING\SPL0.PRN            P   Wait  3 -T-   2
  284.  
  285.    |                               |         | |||   |-> Copies
  286.    |                               |         | |||
  287.    |                               |         | |||-> Reset printer: R (on)
  288.    |                               |         | ||            - (off)
  289.    |                               |         | ||
  290.    |                               |         | ||-> Trash:  T (on)
  291.    |                               |         | |            - (off)
  292.    |                               |         | |
  293.    |                               |         | |--> Filter: F (on)
  294.    |                               |         |              - (off)
  295.    |                               |         |
  296.    |                               |         |-> Priority: 1-5
  297.    |                               |
  298.    |-> job path + filename         |-> Port: P - Printer
  299.                                              M - Modem
  300.  
  301.  
  302. * Bottom
  303.  
  304. You can click the following buttons:
  305.  
  306. Spool        Select a file to spool (the GEM fileselector appears)
  307.  
  308. Jobs         Changes the attributes of a chosen job (selection) or the
  309.              attributes of every new job (no selection) (see: Jobs dialog)
  310.  
  311. Printer      Give printer commands, choose the printer driver and the filter
  312.              (character table)
  313.  
  314. Delete       Deletes all jobs (no selection) or a job (selection). GEM
  315.              Spooler always asks you to confirm this operation:
  316.              Delete jobs ? / Delete all jobs ? (yes/no)
  317.  
  318. Sort         Resort the queue (after a change) immediately. Normally, GEM
  319.              spooler resorts the queue in background before opening a new.
  320.              But if you changed a job's attributes you and you want to see
  321.              the result immediately, you can click 'Sort'
  322.              The criteria for sorting the queue are:
  323.  
  324.              Status:     Wait = Keep > Hold = Error   (> priority,
  325.                                                        = equal)
  326.              Priority:   1 > 2 > 3 > 4 > 5            (> priority)
  327.  
  328. Setup        Set the defaults for GEM Spooler (see: Setup dialog)
  329.  
  330. Timing       Set the timing variables for the spooler. These variables
  331.              determine the spooler's speed.
  332.  
  333. Save         Save all defaults. All defaults are saved in a file "GSPOOL2.INF"
  334.              in the root directory of your boot disk.
  335.  
  336. Halt all     Click on this square to halt or release the queue (if the square
  337.              is crossed, the queue is halted).
  338.  
  339. Quit         Quit the spooler...
  340.  
  341.  
  342.  
  343. 3.3.1.2 Jobs dialog
  344. -------------------
  345.  
  346. With this dialog, you can change a job's attributes. If no job is selected,
  347. this dialog will show the attributes that are assigned to every new job
  348. (job defaults). If a job is selected, the dialog shows the attributes for
  349. the selected job. The difference is visible in the right upper corner:
  350.  
  351.    (new jobs)    for the 'job defaults'
  352.    (this job)    for the selected job
  353.  
  354. Filter       Enable character translation while printing. This option only
  355.              works if a character translation table (CTB) is loaded (see:
  356.              Printer dialog).
  357.  
  358. Trash        Trash the job file after spooling. If selected, the file is
  359.              deleted.
  360.  
  361. Reset        Reset the printer. If selected, the printer will be reset
  362.              before and after spooling a job.
  363.  
  364. Copies       The number of copies (1 to 99) for this job
  365.  
  366. Status       The job status:
  367.  
  368.              Wait     The job is waiting to be processed
  369.              Hold     The job is held (will not be processed)
  370.              Keep     The job is processed once and put in hold
  371.              Error    An error occured while processing the job
  372.  
  373.              You can change the status by clicking on it (have a try !). If
  374.              you click on an error status, an alert box with the reason for
  375.              the error is shown. Answer 'OK' and the job will be reset to
  376.              Wait status.
  377.  
  378. Priority     The job's priority, varying from 1 (highest) to 5 (lowest).
  379.              A job with higher priority will be processed before a job
  380.              with lower priority. To change the priority, click on the
  381.              priority number.
  382.  
  383. Output port  The port GEM Spooler wil spool the job to: printer/modem, in
  384.              other words: parallel or serial. IMPORTANT: when spooling to
  385.              the serial port, the printer output is sent in blocks without
  386.              any further control. Actually, serial spooling was built in
  387.              to experiment with null-modem cabling etc.
  388.  
  389. Form feeds   Indicates when GEM Spooler has to send a form feed instruction
  390.              to the printer. You have the choice:
  391.  
  392.                 Begin          Form feed at the begin of a job
  393.                 End            Form feed at the end of a job
  394.                 Begin+End      Form feeds at the begin and the end of a job
  395.  
  396. Accept       Accept all changes and close the dialog
  397.  
  398. Cancel       Cancel all changes and close the dialog
  399.  
  400.  
  401. NOTE: a double click on a job will automatically open the 'Jobs dialog'
  402.       for that job
  403.       
  404.  
  405.  
  406. 3.3.1.3 Timing dialoog
  407. ----------------------
  408.  
  409. The timing dialog shows all parameters that determine the spooling speed.
  410. Before we go into detail, we first have to explain the two types of spooling
  411. GEM Spooler is capable of: block driven and interrupt driven spooling.
  412.  
  413. Both methods are event driven. This means that the spooling process is
  414. activated every x seconds if and only if the program on the foreground
  415. is waiting for an event, e.g. a key pressed, a mouse click etc. All GEM
  416. programs behave this way.
  417.  
  418. Thus, every x seconds GEM Spooler is given control by GEM. What happens at
  419. this moment ? If the spooling is block driven, a whole block of data is sent
  420. to the printer. This block with size Y is taken out of a RAM buffer with
  421. size Z that contains the output. This buffer is a so called 'file buffer', 
  422. a small part of memory where GEM Spooler will store a piece of the file
  423. it has to spool to reduce the number of disk operations.
  424.  
  425. An example:
  426.  
  427. A printjob of 500 Kb is spooled in blocks of 5 Kb. The file buffer is 50 Kb
  428. and the event timer is set to 3. To complete this job, GEM Spooler will have
  429. to read 10 times 50 Kb from disk. Every 3 seconds, 5 Kb are sent to the
  430. printer. Without file buffer GEM Spooler had to read 100 times 5 Kb !
  431.  
  432. Block driven spooling is very fast but also has a disadvantage: it can
  433. happen that a blocks is sent to the printer before the previous block was
  434. completely printed. This causes a slight delay in foreground tasks.
  435.  
  436. Example: the printer has its own buffer of 10 Kb and GEM Spooler sends
  437. blocks of 5 Kb every 3 seconds. After 6 seconds of spooling, the printer's
  438. buffer will be full (2 times 5 Kb). The printer then has 3 seconds to free
  439. 5 Kb of its buffer before the next 5 Kb are sent. Suppose that for some
  440. reason the printing is slow (e.g. graphics) and the printer has only freed
  441. 3 Kb when the next block is sent. In that case, there will be a slight
  442. delay: the ST waits till the printer accepts the new block, in other words:
  443. till the printer has freed the full 5 Kb (instead of 3Kb).
  444.  
  445. If the block size is not greater than the printer's buffer and if the event
  446. timer interval (x seconds) is large enough to enable the printer to process
  447. all data in time, there will be no significant delays. If there is a delay,
  448. it will only be visible during intensive foreground tasks (e.g. scrolling).
  449.  
  450. To avoid this problem, GEM Spooler also offers interrupt driven spooling;
  451. a job is started by sending a block to the printer, but to decide when a new
  452. block is to be sent, GEM Spooler uses the busy interrupt:
  453.  
  454.   The printer continuously sends a signal to the computer. If the printer
  455.   is busy, the signal is high; if the printer is ready, the signal is low.
  456.   This signal is called the BUSY signal.
  457.   GEM Spooler links the BUSY signal to an interrupt: if the signal goes
  458.   high (printer busy) the ST interrupt system waits till the signal goes low
  459.   again (printer ready). The change from high to low starts the actual BUSY
  460.   interrupt: all foreground task are halted and control is given to GEM
  461.   Spooler. GEM Spooler then sends byte per byte to the printer until he's
  462.   busy again...
  463.  
  464. The result is fast spooling to the printer without delays (because GEM
  465. Spooler knows exactly when the printer is ready to receive new data).
  466.  
  467. To control all this, the timing dialog offers:
  468.  
  469. Use busy interrupt (BOOT)  If selected, spooling is interrupt driven, other-
  470.                            wise it's block driven. Changes only become ef-
  471.                            fective after saving the defaults and rebooting.
  472.  
  473. Event timer                The event timer interval: the spooler is activa-
  474.                            ted by GEM every x seconds (x is the value).
  475.  
  476. Print block                The size of the blocks that are sent to the
  477.                            printer.
  478.  
  479. RAM buffer (BOOT)          The size of the file buffer (in RAM). Changes
  480.                            only become effective after saving the defaults
  481.                            and rebooting.
  482.  
  483. Accept                     Accept all changes and quit the timing dialog.
  484.  
  485. Cancel                     Cancel all changes and quit the timing dialog.
  486.  
  487.  
  488.  
  489. 3.3.1.4 Printer dialog
  490. ----------------------
  491.  
  492. This dialog gives you direct control over your printer: e.g. to send a form
  493. feed command (page eject) to the printer.
  494.  
  495. At the right of the dialog title, you can see for which printer GEM Spooler
  496. has been installed. You can change the printer driver by clicking on the
  497. printer name. A fileselector appears and asks you for a Printer Definition
  498. File (PDF). A click on 'OK' loads the new driver. A PDF file can be created
  499. or changed with the printer installation utility GSPINST.PRG (please read
  500. GSPINST.TXT for additional information).
  501. If you want GEM Spooler to start up with a certain PDF automatically, rename
  502. the PDF file to GSPOOL2.PDF and place it in the root of the boot disk.
  503.  
  504. Other choices in the printer dialog are:
  505.  
  506. FF            Sends a form feed
  507.  
  508. LF            Sends a line feed
  509.  
  510. Reset         Resets the printer. This can take some time, because the
  511.               printer first processes all information in its buffer.
  512.  
  513. Clear         Clears the printer's buffer. This can take some time too.
  514.  
  515. User1         User 1 to 4; these are user defined printer commands
  516. User2         (use GSPINST.PRG to install them)
  517. User3
  518. User4
  519.  
  520. Filter        The name of the filter that will be used when spooling jobs
  521.               with the filter option set. The filter is a table with all
  522.               ASCII characters and their translation in printer codes.
  523.  
  524.               e.g. 139 = 105, 008, 126   or:   = i <Backspace> <Trema>
  525.  
  526.               If no filter is installed, the button indicates 'NO FILTER!'.
  527.               You can load/change a filter by clicking on the filter's name.
  528.               A fileselector will appear to ask you for a CTB file (Character
  529.               TaBle). Select a CTB and click OK to install the filter.
  530.               You can make CTB files with the CFGGRAB or CTBMAKE program
  531.               (read CTBMAKE.TXT or CFGGRAB.TXT for more information).
  532.               GEM Spooler automatically loads a filter when starting up if
  533.               it's named GSPOOL2.CTB and if it's located in the root direc-
  534.               tory of your boot disk.
  535.  
  536.  
  537.  
  538. 3.3.1.5 Setup dialog
  539. --------------------
  540.  
  541. This dialog controls some general settings for GEM Spooler:
  542.  
  543. Grow/shrink boxes   Indicates whether GEM Spooler has to draw grow/shrink
  544.                     boxes when opening a dialog.
  545.  
  546. Queue logging       Turns the queue logging on or off. If queue logging is
  547.                     on, GEM Spooler will create a log file in the spooling
  548.                     directory to keep track of all spooling operations.
  549.                     If queue logging is activated, GEM Spooler will
  550.                     resume spooling automatically after system crashes
  551.                     (reset).
  552.  
  553. Redirect output     With this option activated, GEM Spooler will redirect
  554.                     and spool all printer output generated by the programs
  555.                     you run. If the option is deactivated, printer output
  556.                     will not be redirected and only the manually selected
  557.                     files (see: 'Spool') are spooled.
  558.  
  559. [ PATH ]            Click this button to select the path were GEM Spooler
  560.                     has to store the redirected output (the jobs). A file-
  561.                     selector appears. Select the desired path and confirm
  562.                     with 'OK' (you can save this path as default with
  563.                     'Save' in the GEM Spooler dialog).
  564.                     
  565.                     NOTE: jobs with redirected output are given a name
  566.                     with PRN as prefix, followed by a number and the
  567.                     suffix .SPL; e.g. PRN0.SPL, PRN1.SPL, PRN5.SPL
  568.                     For all these files, the TRASH option is set.
  569.  
  570. Timeout: x seconds  The timeout is a very important parameter to GEM Spooler.
  571.                     It is used to determine when an application has stopped
  572.                     printing.
  573.  
  574.                     Example: you are printing with your wordprocessor. GEM
  575.                     Spooler redirects the output. After 60 seconds, GEM
  576.                     Spooler receives no further printer output. What is
  577.                     happening ? There are two possibilities: either the
  578.                     printing is done or the application has to think some
  579.                     time before continuing to print. GEM Spooler will now
  580.                     use the timeout to determine what's up. If the timeout
  581.                     is 10 seconds, GEM Spooler will wait 10 seconds for new
  582.                     printer output. If new printer output is received within
  583.                     these 10 seconds, GEM Spooler will continue redirecting,
  584.                     otherwise the redirection is stopped and all received
  585.                     data is saved to a new job.
  586.  
  587.                     NOTE: the correct setting for the timeout depends on the
  588.                     speed with which your applications print. However, it is
  589.                     consulted to set the timeout neither too low but nor too
  590.                     high. 5 to 20 seconds should work fine.
  591.  
  592. Accept              Accept the changes and quit the setup dialog.
  593.  
  594. Cancel              Cancel the changes and quit the setup dialog.
  595.  
  596.  
  597.  
  598. 3.3.2 Adding a job
  599. ------------------                    
  600.  
  601. A job can be added to the spooler queue in two ways:
  602.  
  603. 1) As redirected output of a program.
  604.  
  605.    In that case, GEM Spooler gives the file (the job) a temporary name
  606.    PRNxxxxx.SPL (x: 0, ..., 9) and stores it in the 'spooling directory'
  607.    (see: Setup dialog). The job is assigned the default job attributes,
  608.    except for the TRASH option. This option is always enabled.
  609.  
  610. 2) As a file selected by the user:
  611.  
  612.    You select a file to spool with the 'Spool' option. GEM Spooler will
  613.    give  this job all the default job attributes ( be careful with the TRASH
  614.    option !). There is however an exception: the options TRASH and FILTER
  615.    can be forced to 'enabled', regardless of the default job attributes.
  616.    To do this, hold the following keys while clicking 'OK' in the file-
  617.    selector:
  618.  
  619.           <Left SHIFT>               to enable FILTER
  620.           <ALTERNATE>                to enable TRASH
  621.           <Left SHIFT><ALTERNATE>    to enable FILTER and TRASH
  622.  
  623.  
  624.  
  625. 3.3.3 Activating GEM Spooler from the keyboard
  626. ---------------------------------------------
  627.  
  628. GEM Spooler can be activated from the keyboard: hold both <CONTROL> and
  629. <Right SHIFT> and wait for GEM Spooler to appear. This option can be very
  630. useful if for some reason the menu bar can't be used (this will only work
  631. in GEM Programs).
  632.  
  633.  
  634.  
  635. 3.3.4 BURST mode
  636. ----------------
  637.  
  638. If BURST mode is activated, spooling in background is stopped and all jobs
  639. are continuously printed in foreground. Burst mode thus provides in a fast
  640. method to 'empty' the whole queue.
  641.  
  642. To activate BURST mode, hold the <CONTROL> and <ALTERNATE> keys until an
  643. alertbox - "Enable burst mode. Yes/No" - appears. 'Yes' starts burst mode.
  644.  
  645.  
  646.  
  647. 3.3.5 Resetting a job
  648. ---------------------
  649.  
  650. Sometimes, it can be useful to reset a job. Resetting a job stops
  651. the spooling and restores the previous status of the job.
  652.  
  653. To reset a job, hold the CONTROL key down and click on the job.
  654. GEM Spooler will ask you to confirm. Answer 'Yes' to reset the job.
  655.  
  656. NOTE: You can only reset a job if it has the 'Print' status.
  657.  
  658.  
  659.  
  660. 3.4 Known problems with GEM Spooler
  661. -----------------------------------
  662.  
  663. As far as we know, GEM Spooler v2.0 works fine with all applications,
  664. exception made for:
  665.  
  666. - Other spoolers. This is obvious, because there can only be one spooler 
  667.   to spool efficiently.
  668.  
  669. - GEM Spooler is unable (like all other spoolers) to redirect the output
  670.   from applications that print directly to the parallel port.
  671.  
  672. - The editor Tempus crashes. As Tempus is probably the most frequently 
  673.   patched program on the Atari ST/TT, the solution is simple: don't use it.
  674.   
  675. - The clock of the powerful desk accessory Butler James together with
  676.   GEM Spooler v2.0 make the system crash. Disable the clock option in
  677.   Butler James and everything will work fine (Note: Pascal Fellerich told
  678.   us that future versions of Butler James will use another method to display
  679.   the clock).
  680.  
  681. That's all. If someone should discover a new problem, don't hesitate to
  682. write us ! We always try to fix the problem as fast as possible !
  683.  
  684.  
  685.  
  686. 3.5 GEM Spooler and Gemini
  687. --------------------------
  688.  
  689. GEM Spooler communicates with the popular desktop replacement Gemini
  690. (shareware from Gereon Steffens and Stefan Eissing), using the
  691. AV-protocol (read the technical notes that come with Gemini).
  692.  
  693. You can install GEM Spooler as an icon on the Gemini desktop. Every file
  694. you drop on this icon will be spooled. There is no limitation to the number
  695. of icons you can drop. If you double click the GEM Spooler icon, you can
  696. activate the accessory.
  697.  
  698. It is also possible to assign files with a certain extension to GEM Spooler.
  699. You can double click such a file to spool it. To install this:
  700.  
  701. - select the GEM Spooler icon
  702. - choose 'Install application'
  703. - enter the desired extension, e.g. *.PRT;*.OUT
  704. - click 'OK'
  705. - save the defaults (Save defaults) 
  706.  
  707.  
  708. 3.6 GEM Spooler and Chameleon
  709. -----------------------------
  710.  
  711. GEM Spooler can also be used with Chameleon. Chameleon is an accessory from
  712. Karsten Isakovic (public domain, also on the Gemini distribution disks) that
  713. allows you to load and remove accessories ! This also works with GEM Spooler
  714. v2.0 but there are two things you should pay attention to:
  715.  
  716. 1.  On the Gemini dekstop, you can drop files on the Chameleon icon. Chame-
  717.     leon automatically passes these files to the accessory loaded, in this
  718.     case GEM Spooler. However, while there is no limit for GEM Spooler in
  719.     accepting files from Gemini, Chameleon (v1.19) could crash if you drop
  720.     too many files on its icon. 10 seems to be the maximum. This problem
  721.     does not occur if GEM Spooler is installed as independent accessory.
  722.  
  723. 2.  If you removed GEM Spooler with Chameleon and you want to reload it
  724.     afterwards, GEM Spooler will warn you that it has already been instal-
  725.     led before. You can answer with:
  726.  
  727.     Desinfect:  Neutralize GEM Spooler. If there is an other GEM Spooler
  728.                 installed, this is the only correct answer. It is dangerous
  729.                 to install a spooler two times.
  730.  
  731.     Tolerate:   Tolerate a second installation. If GEM Spooler was already
  732.                 installed but afterwards removed (Chameleon), you can still
  733.                 reinstall it by answering 'Tolerate'.
  734.  
  735.     REMARK: Those who adore danger and try to install GEM Spooler 2 times
  736.     (with 'Tolerate') will notice that one GEM Spooler will redirect the
  737.     output of the other GEM Spooler. At the end everything will be printed
  738.     as usual (did you expect a crash ? Sorry !)
  739.  
  740.  
  741. 4. Technical notes
  742. ------------------
  743.  
  744. GEM Spooler redirects some system vectors/functions:
  745.  
  746.   Gemdos trap #1
  747.   Bios   trap #13
  748.  
  749.   MFP Parallel port
  750.  
  751.   prt_stat
  752.   prt_vec
  753.  
  754. This is done following the XBRA protocol. The identification code is 'GSP1'.                
  755. If a cookie jar is installed, GEM Spooler also places a cookie in the jar
  756. with the name 'GSP1'. By using this cookie, other programs can pass
  757. information to GEM Spooler (read the Programmers's notes).
  758.  
  759. GEM Spooler consumes about 57 Kb of RAM without the file buffer (1 Kb mini-
  760. mum).
  761.  
  762.  
  763. 5. Credits
  764. ----------
  765.  
  766. We want to thank everybody who helped us to write GEM Spooler v2.0:
  767.  
  768. - Patrick Op de Beeck, Jan De Smedt and the people of Hobby Computer Club
  769.   Belgium, Atari gg for their beta testing.
  770.  
  771. - Pascal Fellerich for his suggestions on the busy interrupt, the filter and
  772.   file buffer
  773.  
  774. - Julian F. Reschke for his monthly article "Atarium" in ST Magazin - where
  775.   we found lots of useful information on accessory programs - and for all
  776.   his efforts in promoting serious standards for ST/TT development (these
  777.   articles are a must for every programmer !)
  778.  
  779.  
  780. 6. Adresses
  781. -----------
  782.  
  783. If you have questions or remarks, you can always send these to (Belgium):
  784.  
  785.    Steven Van Rossen           or:     Marc Billiet
  786.    Sportstraat 20 A                    Teirlinckstraat 33
  787.    B-9250 Waasmunster                  B-2600 Berchem
  788.  
  789. Write us !
  790.  
  791.  
  792.  
  793.  
  794.     Success !
  795.  
  796.     27 november, Steven Van Rossen
  797.  
  798.  
  799.  
  800.  
  801.  
  802.                    
  803.     
  804.       
  805.  
  806.    
  807.    
  808.                     
  809.                                         
  810.                     
  811.  
  812.                     
  813.  
  814.  
  815.  
  816.  
  817.                     
  818.                       
  819.                     
  820.  
  821.  
  822.  
  823.  
  824.  
  825.  
  826.   
  827.   
  828.  
  829.   
  830.  
  831.  
  832.  
  833.  
  834.  
  835.  
  836. ə