PHOTO: ALAIN C HOISNET
BY KIRK STOVER
Are you tired of waiting for your printer to finish printing before you can do anything else? If so, the Super Spool desk accessory is the answer to your needs! It serves as a buffer to your printer, feeding characters to your printer at the printer's rate, so that you are free to do what you wish. The spooler is fully configurable to allow you to tailor it to your own system.
Listing 1 is the assembly-language source code for Super Spool. You may create a copy of the program by typing this listing in and assembling it with a 68000 assembler. The program is also available on this month's disk version or in the databases of the ST-Log users' group on DELPHI.
USING SUPER SPOOL
To use the Super Spool accessory, it must be on your startup disk at boot time. Clicking the mouse on "Super Spool" in the Desk menu will bring up the dialog box showing the default configuration values. The spooler defaults to a buffer size of 8K, a print speed of 100 characters per second and printer buffering turned off.
The buffer size can be set to any value, from a minimum of 1K to a maximum of 999K. The size is set by clicking the mouse on the up and down arrows that are on either side of the value box. An alert box will appear if you try to allocate more memory than is available.
The spooling rate to the printer is also adjustable by clicking on the up and down arrows. It may be set within the range of ten to 300 characters per second with an increment of ten. This keeps the accessory from soaking up processor time while waiting for a slow printer.
The printer type, parallel or serial, is set by clicking on the desired button. Spooling will only occur for the printer type selected.
After configuring Super Spool for your system, it may be turned on or off by clicking on the "On" or "Off" buttons. The buffer memory will only be allocated if "On" was selected. This feature allows Super Spool to use only 6K of memory when it is not needed.
When Super Spool is printing, the buffer size may not be changed, although the print speed may be adjusted. The printing may be stopped by pressing the "Abort" button. Doing this will leave the spooler turned on, but will clear the buffer.
The Super Spool program takes advantage of the multitasking desk accessory features of GEM. Because of this, printing will only take place on the desktop or within any GEM program that makes use of a menu bar.
This is not a real problem however, because Super Spool will not "time out" waiting for the printer. When you return to the desktop, the printing will resume. If the buffer becomes full, it will force a character to be printed to make room for the incoming data. Because of this, the buffer size should be set to the expected amount of memory required.