********************************************************************** * * * GEM Spooler v3.3 - March 1995 * * * * The highway to your printer * * Universal printer spooler for Atari ST/STE/TT/Falcon030 * * * * (c) Steven Van Rossen, Marc Billiet * * * ********************************************************************** *** NOTE *** Gemspooler may NOT under ANY circumstances be included on any magazine cover disks without prior written permission from the authors. Gemspooler and its documentation must remain complete with all its files and documentation. Table of contents ----------------- 0. Keyware 1. Disclaimer 2. About spoolers 2.1 Wat is a spooler ? 2.2 Spooler types 2.3 Spooling with the Atari ST 3. GEM Spooler 3.1 Installing GEM Spooler 3.2 Functions of GEM Spooler 3.3 Manual 3.3.1 Dialogs 3.3.1.0 Dialogs in GEM Spooler 3.3.1.1 GEM Spooler dialog 3.3.1.2 Job dialog 3.3.1.3 Setup dialog 3.3.1.4 Printer dialog 3.3.2 Adding a job 3.3.3 Resetting a job 3.4 Known problems with GEM Spooler 3.5 GEM Spooler with Gemini 4. Registering GEM Spooler 5. Technical notes 6. Credits... 7. Gem Spooler support (addresses) 0. Keyware ---------- Starting with GEM Spooler 3.3, GEM Spooler becomes a 'keyware' program. What is a keyware program ? Well, Keyware is the answer of shareware authors to the failure of the shareware concept in Europe: very few users do register their shareware copy of a program. They do use the program but never pay for it. Why should they: it is easy to get new versions, legal control is very limited... Keyware solves this problem in an honest way: just as shareware, the whole program is distributed, including documentation and tools. This enables the user to test the program thoroughly before registering. But the keyware program will stay limited in some of its functions as long as the user does not register. If the user registers, he becomes a legal user of the software and receives a key. This key has to be filled in in the program. If the key is correct, the software unlocks itself and becomes fully functional. The advantages of Keyware are: - Users are encouraged to register. Fair-play users are rewarded. The others will have to settle with a less complete version. - Updates of the program can be distributed faster: a keyware version can be unlocked with the same key through all minor releases. There is no need to recompile individually registered versions. A registered user can get a new release of GEM Spooler (on a BBS e.g.) and register it with his key without having to contact us. - Authors are better rewarded for their work as more users pay their fee. This is an incentive to continue to work at the program ! The limitations in GEM Spooler 3.3 keyware are as follows: - Every time the main dialog is opened, the info dialog appears on top of it - Jobs with more than 200 Kb are not spooled but are put in HOLD If you want to register GEM Spooler, please read section 4: 'Registering GEM Spooler' 1. Disclaimer ------------- Although GEM Spooler has been thoroughly tested and works very fine, the authors take no responsibility for any damage that might occur (implicit or explicit) when using GEM Spooler or one of the related programs. 2. About spoolers ----------------- 2.1 What is a spooler ? ----------------------- Everybody who prints a lot knows the problem: it takes very long before the computer is available again because the computer has to wait for the slow printer. Fortunately there are spoolers... Spoolers collect all output to the printer very fast and return control to the computer. While the user can go on with his other work, the spooler will send the output little by little to the printer. 2.2 Spooler types ----------------- To collect the printer output, spoolers need a (fast) buffer in RAM or on disk. According to the type of this buffer there are two types of spoolers: ram spoolers and disk spoolers. Disk spoolers are mainly used on large systems (mainframes, minis etc.). Ram spoolers are mostly found on microcomputers. A ram spooler reserves a part of the internal memory as buffer. The size of this buffer can be chosen. The advantage of a ram spooler is speed (RAM is fast memory), but there are also some disadvantages: - The buffer consumes (expensive) RAM - There is a limit to the printer output. e.g.: if you print some graphics, this can easily create up to 1 Mb of output. But if your spooler's buffer is 512 Kb, the computer will have to wait to receive the last 512 Kb until the printer has processed the first 512 Kb. - You can't delete something you printed without clearing the whole buffer (which could contain other print jobs !) - If there is a system crash, the whole buffer is lost (in RAM !) Disk spoolers don't have these problems. They make it possible to follow up each print job individually: every job is added to a queue where it can be changed or deleted at any time. After a reset, disk spoolers resume their work as if nothing ever happened (all information is still on disk !). The only disadvantage of disk spoolers is that they require fast disk capacity, usually a hard disk. 2.3 Spooling with the Atari ST ------------------------------ The Atari ST has always been a computer with lots of RAM (compared to the competition). Programmers responded to this with a large offer of ram spooler utilities (accessory or program), in many cases combined with a ram disk. Without doubt, this is a very good solution for ST users without harddisk. The latest evolution in computing however, changes this situation thoroughly. Desktop publishing programs, powerful wordprocessors, graphic programs etc. use more and more RAM. As RAM is quite expensive, these programs tend to use the hard disk instead: parts of RAM memory are save to disk and loaded whenever needed. This technique is refered to as 'virtual memory'. As a result of this evolution, lots of ST users now have a harddisk. This makes disk spooling (as found on large systems) also interesting for those users. GEM Spooler makes it possible ! 3. GEM Spooler -------------- GEM Spooler is - as far as we know - the first disk spooler for the Atari ST. While other operating systems have always used disk spooling (minis, OS/2, Macintosh, Windows 3) the ST missed this feature. With GEM Spooler this is history. 3.1 Installing GEM Spooler -------------------------- GEM Spooler runs on every Atari ST, STE, Mega ST, Mega STE, TT and Falcon030. It runs on all official TOS releases, including MultiTOS. A harddisk is not necessary, but recommended. GEM Spooler doesn't need much RAM (see: Technical notes) and even feels at ease at a ST with 1Mb RAM. To install GEM Spooler, you proceed as follows: a) Copy GSPOOL.ACC to your BOOT directory (C: on HardDisk) b) Open the folder PDF, select the appropriate *.PDF file (e.g. EPSON.PDF) for your printer, copy it to the root of your boot disk and rename it to GSPOOL.PDF. c) Open the folder CTB, select the appropriate *.CTB file (e.g. EPSON.CTB) for your printer, copy it to the root of your boot disk and rename it to GSPOOL.CTB. d) If you have ST-GUIDE installed, you can install the context-sensitive help system for GEM Spooler by copying the files GEMSPOOL.HYP and GEMSPOOL.REF to the ST-GUIDE working directory. If you don't have ST-GUIDE installed, copy the folder STGUIDE to your BOOT directory and copy the file ST-GUIDE.PRG and ST-GUIDE.INF to your BOOT directory. Rename ST-GUIDE.PRG to ST-GUIDE.ACC For more information on ST-GUIDE, run ST-GUIDE.PRG Please note that: "the ST-Guide hypertext system is Fairware which means it can be used by anyone without cost and copies may be passed on so long as distribution is free of charge. Regular users are expected to make a donation to ensure the continued development of the system." (from the ST-Guide hypertext documentation) Please refer to the documentation of ST-Guide for more details e) Reboot your ST. 3.2 GEM Spooler functions ------------------------- GEM Spooler redirects all printer output to files (jobs). For each printout you start, a job is created. These jobs are put in a queue (the printer queue) and are processed in FIFO order (First in, first out). GEM Spooler is an accessory and can be accessed from within every GEM program to watch and control the queue: - the job sequence can be changed (priority, status) - jobs can be deleted - jobs can be sent to different output ports (printer/modem) - jobs can be filtered (character table): e.g. ‰ can be translated to e, backspace, trema before sending it to the printer - a job can be processed several times (copies) - jobs can be kept on disk to use later; e.g. you could spool something on your ST, keep the job and spool it on a friend's ST (who has a laser printer...) - the whole queue can be halted (and released) with one mouse click ! - the whole queue can be deleted GEM Spooler's queue survives system crashes. After a reset, the spooler simply resumes its work. GEM Spooler is also very safe to use: it is pure GEM, respects the XBRA-protocol, places a system cookie and cooperates with Gemini through the AV-protocol (more about this under: Technical notes). 3.3 Manual ---------- 3.3.1 Dialogs ------------- 3.3.1.0 Dialogs in GEM Spooler ------------------------------ In GEM Spooler 3.3 most dialogs are windowed so they can't block other programs in a multitasking environment. There are two kinds of windowed dialogs: modal and non modal. - A non modal windowed dialog is a dialog you can leave on the screen all the time without locking up other applications. It is not obligatory to answer the dialog and you can change to another GEM Spooler dialog or another GEM program. These dialogs can be recognized by the closing box at the top left corner of the window. GEM Spooler's main dialog (the printer queue) is an example of a non modal dialog. - A modal windowed dialog is a dialog that must be answered. It is not possible to change to an other GEM Spooler dialog, because processing can not continue unless you answer that dialog. You can however switch to another GEM program (which is a different process). A modal windowed dialog has no closing box and stops GEM Spooler processing. An example of such a dialog is the Job dialog. GEM Spooler also has some dialogs that are not windowed. These dialogs are used to make sure that other applicitions are halted (sometimes this is the only way to avoid conflicts with other processes). All alert messages fall into this category as well as the Job dialog if (and only if) it has been launched to prompt for job settings. All dialogs in GEM Spooler have a few extra features compared to standard GEM dialogs: Movable; This is very handy if the dialog just covered information you could use for answering the dialog. To move a dialog, you can click the small box in the upper right corner (= mover) and drag it to a new position. Look through...; If you hold the ALT key when clicking the mover, the dialog will disappear before moving. This feature enables you to look through the dialog... If you release your mouse button, the dialog will reappear. Shortcut buttons: ALT+underlined character selects the corresponding button. UNDO aborts a dialog, HELP brings up the Information dialog (when you are in the main dialog). 3.3.1.1 GEM Spooler dialog -------------------------- Choose GEM Spooler v3.3 in the accessory menu and the GEM Spooler dialog opens. Here you see (top, middel and bottom): -- Top -- NO ERROR(S) OCCURED Error indicator: if an error occured during the spooling process, this text will change to ERROR(S) OCCURED) BYTES PROCESSED: Shows the number of bytes that have been processed for the active job xx% Percentage. Indicates the percentage of the job that that has been processed. -- Middle -- In the middle you see the printer queue window where jobs are displayed: C:\TEXT\ASCII.TST P Wait 1 --R 1 D:\DOCS\README M Hold 3 F-- 10 C:\SPOOLING\SPL0.PRN P Wait 3 -T- 2 | | | ||| |-> Copies | | | ||| | | | |||-> Reset printer: R (on) | | | || - (off) | | | || | | | ||-> Trash: T (on) | | | | - (off) | | | | | | | |--> Filter: F (on) | | | - (off) | | | | | |-> Priority: 1-5 | | |-> job path + filename |-> Port: P - Printer M - Modem You can scroll through this list by clicking on the Up/Down arrows are by pressing the Up/Down arrow keys. A job can be (de)selected with a simple mouse click. Several jobs can be selected with a shifted mouse click. You can perform operations on selected jobs (see further). Pathnames that are to long to display are truncated (...) just before the filename, so the filename is always visible. -- Bottom -- You can click the following buttons: SPOOL Select a file to spool (the fileselector appears) JOBS Changes the attributes of (a) selected job(s) (selection) or the attributes of every new job (no selection) (see: Job dialog) DELETE Deletes all jobs (no selection) or all selected jobs (selection). GEM Spooler always asks you to confirm this operation: Delete jobs ? / Delete all jobs ? (yes/no) SETUP Set the defaults for GEM Spooler (see: Setup dialog) PRINTER Give printer commands, choose the printer driver and the filter (character table) HALT ALL Click on this square to halt or release the queue (if the square is crossed, the queue is halted). The queue can be sorted by pressing the ESC key. This can be useful after changing priorities. Normally GEM Spooler automatically resorts the queue in background, every time a new job is started. By pressing the ESC key, you can immediately make your changes visible. Status : Wait = Hold > Stop = Error ( > priority, = equal) Priority : 1 > 2 > 3 > 4 > 5 ( > priority ) You can close the queue window by clicking on the closing box or by pressing the UNDO key (close window). 3.3.1.2 Jobs dialog ------------------- With this dialog, you can change a job's attributes. If no job is selected, this dialog will show the attributes that are assigned to every new job. If a job is selected, the dialog shows the attributes for the selected job, or if more jobs are selected for all selected jobs. The difference is visible in the window title: 'New job', 'Selection' or the job name is displayed. FILTER Enable character translation while printing. This option only works if a character translation table (CTB) is loaded (see: Printer dialog). TRASH Trash the job file after spooling. If selected, the job file is deleted as soon as the job has finished. RESET Reset the printer. If selected, the printer will be reset before and after spooling a job. COPIES The number of copies (1 to 99) for this job. Click on the scroll arrows or press the corresponding arrow keys to change this number. STATUS The job status: Wait The job is waiting to be processed Hold The job is held (will not be processed) Keep The job is processed once and put in hold Error An error occured while processing the job You can change the status by clicking on it. If you click on an error status, an alert box with the reason for the error is shown. Answer 'OK' and the job will be reset to Wait status. PRIORITY The job's priority, varying from 1 (highest) to 5 (lowest). A job with higher priority will be processed before a job with lower priority. To change the priority, click on the priority number. OUTPUT PORT The port GEM Spooler wil spool the job to: printer/modem, in other words: parallel or serial. IMPORTANT: when spooling to the serial port, the printer output is sent in blocks without any further control (using the GEMDOS functions). This means you have to be careful when setting the spooler's timing (too fast printing can block the foreground task). Actually, serial spooling was built in to experiment with null-modem cabling etc. FORM FEEDS Indicates when GEM Spooler has to send a form feed instruction to the printer. You have the choice: Begin Form feed at the begin of a job End Form feed at the end of a job Begin+End Form feeds at the begin and the end of a job OK Accept all changes and close the dialog CANCEL Cancel all changes and close the dialog NOTE: A double click on a job will automatically open the 'Job dialog' for that job 3.3.1.3 Setup dialog --------------------- With this dialog you can change the internal parameters of GEM Spooler. Every modification of these parameters has an influence on the way the spooler operates, so be careful if you change anything in this dialog and make sure you read the information about each parameter in this manual. Before we can talk about the parameters themselves, it is important that you know that GEM Spooler can operate in two different ways: block driven and interrupt driven. Both methods are event driven. This means that the spooling process is activated every X seconds if (and only if) the program on the foreground is waiting for an event, e.g. a key pressed, a mouse click etc. All GEM programs behave this way. So every X seconds GEM Spooler is given control by GEM. What happens at this moment ? If the spooling process is block driven, a whole block of data is sent to the printer. This block with size Y is taken out of a RAM buffer with size Z that contains the output. This buffer is the 'read cache', a small part of memory where GEM Spooler will store a larger piece of the file it has to spool to reduce the number of disk operations. Block driven spooling is very fast but it has a disadvantage: it can happen that a block is sent to the printer before the previous block was completely printed. This causes a slight delay in the foreground task. Example: the printer has its own buffer of 10 Kb and GEM Spooler sends blocks of 5 Kb every 3 seconds. After 6 seconds of spooling, the printer's buffer will be full (2 times 5 Kb). The printer then has 3 seconds to free 5 Kb of its buffer before the next 5 Kb are sent. Suppose that for some reason the printing is slow (e.g. graphics) and the printer has only freed 3 Kb when the next block is sent. In that case, there will be a slight delay: the ST waits till the printer accepts the last 2 Kb, in other words: till the printer has freed up another 2 Kb (in addition of the 3Kb) by printing it. If the block size is not greater than the printer's buffer and if the event timer interval (x seconds) is large enough to enable the printer to process all data in time, there will be no significant delays. If there is a delay, this will only be visible during intensive foreground tasks (e.g. scrolling). To avoid this problem, GEM Spooler also offers interrupt driven spooling; a job is started by sending a block to the printer, but to decide when a new block is to be sent, GEM Spooler uses the busy interrupt: The printer continuously sends a signal to the computer. If the printer is busy, the signal is high; if the printer is ready, the signal is low. This signal is called the BUSY signal. GEM Spooler links the BUSY signal to an interrupt: if the signal goes high (printer busy) the ST interrupt system waits till the signal goes low again (printer ready). The change from high to low starts the actual BUSY interrupt: all foreground tasks are halted and control is given to GEM Spooler. GEM Spooler then sends byte per byte to the printer until he's busy again... This goes lightning fast ! The result is fast spooling to the printer without delays (because GEM Spooler knows exactly when the printer is ready to receive new data). Therefore, if your printer supports the busy line (all centronics printers do) we advise you to always enable the busy interrupt... With this technical information in mind, it will be more easy to understand the function of each setup parameter. The parameters are divided into two groups: job processing and general. A first series of parameters concerns the job processing: QUEUE LENGTH The maximum number of jobs the queue can hold. This is 10 jobs by default, which is largely enough for normal use. You can make the queue longer, but this will cost you more memory. WRITE BUFFER The size of the buffer that GEM Spooler uses to collect printer output before writing it to disk: a bigger buffer will result in faster output redirection, because there will be less write accesses. BLOCK SIZE The size of a print block, a block that is sent over to the printer at each event timer interval (when in block driven spooling mode) READ BUFFER The size of the buffer GEM Spooler uses to read in a job when spooling it to the printer. A bigger buffer will result in faster spooling. An example: a printjob of 500 Kb is spooled in blocks of 5 Kb. The read buffer is 50 Kb and the event timer is set to 3. To complete this job, GEM Spooler will have to read 10 times 50 Kb from disk. Every 3 seconds, 5 Kb are sent to the printer. Without read buffer GEM Spooler would have to read 100 times 5 Kb ! If you raise this buffer to 100 Kb, there would be only 5 disk accesses. MPT SLOTS The number of logical printers GEM Spooler should trace. Logical printers are opened & closed by an application. The application is given a printer handle to send its output to. In former TOS versions, this number was always the same. Since Falcon TOS and MultiTOS return unique printer handles, GEM Spooler has to track output for each individual handle (the output GEM Spooler has to redirect can arrive over different handles !) That is done with a Multiple Printjob Tracking slot. The default number of 4 is sufficient for normal usage. Unless: a) You like to make more than 2 applications print simultaneaously under MultiTOS. b) You're cursed with older applications that were written when MultiTOS was far away and that use far too much printer handles. Adimens e.g. needs 8 MPT slots before it cooperates with GEM Spooler. Please note that the write cache (write buffer, redirection buffer) is divided over all MPTs, so raising the MPT value without raising the write cache could slow down spooling. PRINT RETRIES This number indicates how many times GEM Spooler has to retry to print before coming to the conclusion that the printer is offline. Some slower laser printers caused earlier GEM Spooler versions to report a printer offline in the midst of spooling. If you have a printer like that, raise the printer retries value. EVENT TIMER The event timer interval GEM Spooler will be active (in seconds): just like every other GEM application, GEM Spooler becomes active (gets some time from GEM to run) to do its work. The higher the event timer value, the less frequent GEM Spooler will be active, the lower this value the more frequent GEM Spooler will be active. Higher values slow down GEM Spooler, lower values slow down other GEM tasks (and speed up GEM Spooler of course). JOB TIMEOUT The timeout is a very important parameter to GEM Spooler. It is used to determine when an application has stopped printing over a GEMDOS or BIOS function. If an application prints over a printer handle (Fopen to open the handle, Fclose to close it) GEM Spooler can detect the end of the print job by waiting for a closing of the printer handle. If an application prints over GEMDOS or BIOS function, there is no printer handle: data comes through the GEMDOS or BIOS channel and there is no way to see if there is still data coming. Therefore, a timeout is used: if no data went through the channel for a while, GEM Spooler assumes that printing is done. Example: you are printing with your wordprocessor (the wordprocessor prints over the BIOS). GEM Spooler redirects the output. After 60 seconds, GEM Spooler receives no further printer output. What is happening ? There are two possibilities: either the printing is done or the application has to think some time before continuing to print. GEM Spooler will now use the timeout to determine what's up. If the timeout is 10 seconds, GEM Spooler will wait 10 seconds for new printer output. If new printer output is received within these 10 seconds, GEM Spooler will continue redirecting, otherwise the redirection is stopped and all received data is saved to a new job. NOTE: the correct setting for the timeout depends on the speed with which your applications print. Set a value that suits your slowest printing application, but not more. A lower timeout speeds up job handling ! Generally, 5 to 20 seconds should work fine. The second series of parameters concerns the general functioning of GEM Spooler: REDIRECT With this option activated, GEM Spooler will redirect and spool all printer output generated by the programs you run. If the option is de- activated, printer output will not be redirected and only the manually selected files (see: 'Spool' in the main dialog) are spooled. TO [ PATH ] Click this button to select the path were GEM Spooler has to store the redirected output (the jobs). A fileselector appears. Select the desired path and confirm with 'OK' (you can save this path as default with 'Save' in the GEM Spooler dialog). LOG FILE Turns the queue logging on or off. If queue logging is on, GEM Spooler will create a log file in the spooling directory to keep track of all spooling operations. If queue logging is activated, GEM Spooler will resume spooling automatically after system crashes (reset). PROMPT JOB SETTINGS If this option is active, GEM Spooler will ask you immediately for the job settings of every new job. e.g. You are printing with your spreadsheet program. After redirecting the output, GEM Spooler will open the Jobs dialog above your spreadsheet to ask you for the settings of the new job. FORCE FCLOSE Some ill-behaved applications don't close the logical printer handle they opened. This has the annoying effect that no print job will appear, unless you leave the application. If one of this trouble child- applications is in your posession, turn this option on (only then !) The above mentioned Adimens (under: MPT slots) is one of them. USE BUSY INTERRUPT If selected, spooling is interrupt driven, otherwise it's block driven. Changes are only possible when no job is active. SMART FILTER If the smart filter is active, GEM Spooler will check every job file for which a filter has been set. If the job file contains no text (binary), GEM Spooler will desactivate the filter. This way, you can set the filter option on for all jobs ! Note that the text/binary check is made the first time GEM Spooler fills the file buffer for a certain job: every character in the file buffer is controlled and binary characters are counted. If only one binary character is found, the filter is turned off. If you use this option, make sure your file buffer is not too small, otherwise the binary check routine could miss a binary character ! A normal file buffer (1024 bytes at least) should give very good results. The system is - evidently enough - not 100% water- proof: if a text file contains some binary characters near the end of the file, GEM Spooler will not notice this (unless the whole file fits in the file buffer). Anyway, such a text file would be damaged ! Let us say this check is 99% waterproof... DESKTOP REDRAW: With this option activated, GEM Spooler sends a redraw message to the MultiTOS desktop to reread file windows when files were added, deleted or changed by GEM Spooler. CENTER DIALOGS: Normally, GEM Spooler 3.3 opens its dialogs on their previous position. If you don't like this feature, just activate Center dialogs and all dialogs will appear centered, just as with normal GEM dialog. To make any changes to the options permanent, you can click the SAVE button. The changes are saved in GSPOOL.INF and will be valid every time you start your system. To leave the Setup dialog, you can choose between: OK Accept all changes and quit the Setup dialog. CANCEL Cancel all changes and quit the Setup dialog. 3.3.1.4 Printer dialog ---------------------- This dialog gives you direct control over your printer: e.g. to send a form feed command (page eject) to the printer. The window title indicates for which printer GEM Spooler has been installed. You can change the printer driver by clicking on the PRINTER button. A fileselector appears and asks you for a Printer Definition File (PDF). A click on 'OK' loads the new driver. A PDF file can be created or changed with the printer installation utility PDFMAKE.PRG (please read PDFMAKE.TXT for additional information). If you want GEM Spooler to start up with a certain PDF automatically, rename the PDF file to GSPOOL.PDF and place it in the root of the boot disk. Other choices in the printer dialog are: FF Sends a form feed LF Sends a line feed RESET Resets the printer. This can take some time, because the printer first processes all information in its buffer. CLEAR Clears the printer's buffer. This can take some time too. USER1 User 1 to 4; these are user defined printer commands USER2 These buttons can have other names if they were renamed by USER3 the active PDF (edit with PDFMAKE.PRG). USER4 FILTER Load the filter that will be used when spooling jobs with the filter option set. The filter is a table with all ASCII charac- ters and their translation in printer codes. e.g. 139 = 105, 008, 126 or: ‹ = i If no filter is installed, the text in the bottom left corner indicates NO FILTER LOADED. You can load/change a filter by clicking on the FILTER button. A fileselector will appear to ask you for a CTB file (Character TaBle). Select a CTB and click OK to install the filter. You can make CTB files with the CTBBUILD or CTBMAKE program (read CTBMAKE.TXT or CTBBUILD.TXT for more information). GEM Spooler automatically loads a filter when starting up if it is named GSPOOL.CTB and if it iss located in the root directory of your boot disk/partition. 3.3.2 Adding a job ------------------ A job can be added to the spooler queue in two ways: 1) As redirected output of a program. In that case, GEM Spooler gives the file (the job) a temporary name PRNxxxxx.SPL (x: 0, ..., 9) and stores it in the 'spooling directory' (see: Setup dialog). The job is assigned the default job attributes, except for the TRASH option. This option is always enabled. 2) As a file selected by the user: You select a file to spool with the 'Spool' option. GEM Spooler will give this job all the default job attributes (be careful with the TRASH option !). 3.3.3 Resetting a job --------------------- Sometimes, it can be useful to reset a job. Resetting a job stops the spooling and restores the previous status of the job. To reset a job, hold the CONTROL key down and click on the job in the queue display. GEM Spooler will ask you to confirm. Answer 'Yes' to reset the job. NOTE: You can only reset a job if it has the 'Print' status. 3.4 Known problems with GEM Spooler ----------------------------------- As far as we know, GEM Spooler v3.3 works fine with all applications, excepted with: - Other spoolers. This is obvious, because there can only be one spooler installed to spool efficiently. - GEM Spooler is - just like all other spoolers - unable to redirect the output from applications that print directly to the parallel/serial port. - Some programs that mess around with vectors and interrupts: beware of programs that change the system without respecting the XBRA-protocol. They cause trouble with all other system utilities ! MultiTOS and MiNT users should be careful to not change the memory protection flag of GEM Spooler (this flag must be GLOBAL). As GEM Spooler uses the XBRA- protocol (which implicates memory sharing with other processes), it should not be monitored by the memory protection ! The GSPOOL.ACC on your distri- bution disk has the correct flag settings. That's all. If someone should discover a problem, don't hesitate to write us ! We always try to fix the problem as fast as possible ! 3.5 GEM Spooler and Gemini -------------------------- GEM Spooler communicates with the popular desktop replacement Gemini (shareware from Gereon Steffens and Stefan Eissing), using the AV-protocol (read the technical notes that come with Gemini). You can install GEM Spooler as an icon on the Gemini desktop. Every file you drop on this icon will be spooled. There is no limitation to the number of icons you can drop. If you double click the GEM Spooler icon, you can activate the accessory. Objects can also be dragged upon the queue dialog window. It is also possible to assign files with a certain extension to GEM Spooler. You can double click such a file to spool it. To install this: - select the GEM Spooler icon - choose 'Install application' - enter the desired extension, e.g. *.PRT;*.OUT - click 'OK' - save the Gemini defaults (Save defaults) 4. Registering GEM Spooler -------------------------- Choose INFO in the main dialog (or press the HELP key) to go to the Info dialog. There you choose: 'Registration'. The registration dialog will open. Fill in your name and your address (minimum two lines: the street and the place where you live). Now click on the 'Generate code' button. GEM Spooler will now generate a personal registration code. This code will appear in the 'Code: ' field. It is 10 characters long. Write it down carefully ! Fill in the registration form (REGISTER.TXT) with your personal data and the registration code GEM spooler generated (don't forget this, otherwise we can't send you your key). Send this form to us and you'll receive your personal registration key as soon as possible. UK REGISTRATIONS: To make UK registrations easier and quicker, Steven and Mark have allowed me to collect registration monies on their behalf. Please send your Name, Address, filled in registration form, generated CODE and œ13 (cheque or cash) to: Andrew Lee Parkend House Hotel Parkend Nr Lydney GLOS GL15 4HL tel 01594 563666 Please make cheques payable to "Andrew Lee". You should get your KEY and the latest version (if applicable) within 7 days. If you wish to receive all upgrades as and when they become available then please enclose a blank floppy and a first class (25p) stamp. Please report any problems you encounter and we'll do our best to fix them. Upgrades will be also be available on CIX where I can be contacted daily, my ID being AJL@CIX.COMPULINK.CO.UK PLEASE SUPPORT ALL SHAREWARE AUTHORS Thanks, Andrew. Now back to the manual....... If you received your personal registration key, go back to the registration dialog, fill in the key (please verify if you typed it in correctly) and click upon the 'Register key' button. It everything is OK, GEM Spooler will unlock itself (registration succesfull). Please note down your key and keep it in a place where you don't forget it: every minor release from GEM Spooler (e.g. 3.3, 3.4, 3.5 would be minor releases) can be unlocked with your key ! This is a very easy way of upgrading GEM Spooler ! Also, if for some reason you might have to reinstall GEM Spooler, you need the key to re-register your copy. 5. Technical notes ------------------ GEM Spooler redirects some system vectors/functions: Gemdos trap #1 Bios trap #13 MFP Parallel port prt_stat prt_vec aux_stat aux_vec This is done following the XBRA protocol. The identification code is 'GSP1'. If a cookie jar is installed, GEM Spooler also places a cookie in the jar with the name 'GSP1'. By using this cookie, other programs can pass information to GEM Spooler (see the GSPFUNC library). When printing over the serial port, GEM Spooler uses the GEMDOS functions. These functions use the default serial port which STE and TT users can change in the Extend Control Panel with the CPX module: Modem settings. 6. Credits ---------- We want to thank everybody who helped us to write GEM Spooler v3.3: - Jan De Smedt and the people of Hobby Computer Club Belgium Atari gg for their beta testing. - Martin Mertens for his sharp eye in discovering exotic bugs. - Pascal Fellerich for his hints and suggestions and for his testing of GEM Spooler on the TT. - Julian F. Reschke for his monthly article "Atarium" in ST Magazin - where we found lots of useful information on accessory programs - and for all his efforts in promoting serious standards for ST/TT development (these articles are a must for every programmer !) - All authors of the Atari Profibuch (another must). - Pascal Freche for translating the resource files and the manuals in French. - Achim Steigert for translating the manuals in German. Werner Reichert and Dirk Allard for their corrections to these manuals. - John Bates and John Trautschold for their assistance in tracing down the font problems with Geneva (versions less than 1.04) - My lovely wife for her endless patience... Although she's still a PC user ;-) - Every registered GEM Spooler user ! 7. GEM Spooler support (addresses) ---------------------------------- All registered GEM Spooler users who have a modem can get support by E-mail from Steven Van Rossen: Compuserve: 100256,3406 Internet: 100256.3406@compuserve.com Please allow for some time to have your message answered, as there are plenty of you who contact us and we like to give every message the same attention ! If you don't have an E-mail adress, leave a message at: Bitz BBS: (+32)-2-361.14.08 Traditional mail can be sent at: Steven Van Rossen or: Marc Billiet Philips Verheyenstraat 5 Terlinckstraat 33 B-2600 Berchem B-2600 Berchem BELGIUM BELGIUM (somewhere in Europe) Write us ! Steven Van Rossen, March 1995