Dec 292017
August 1992 version of popular print spooler.
File DSII405.ZIP from The Programmer’s Corner in
Category Printer Utilities
August 1992 version of popular print spooler.
File Name File Size Zip Size Zip Type
POPUP.COM 16 16 stored
SP2.DAT 280 110 deflated
SP2.DOC 54824 15058 deflated
SP2.HLP 35376 9565 deflated
SP2CFG.COM 35321 12374 deflated
SP2INTFC.DOC 9863 2598 deflated
SP2NEW.DOC 11487 3955 deflated
SP2ORD.FRM 1477 343 deflated
SP2PRT.COM 995 673 deflated
SP2S.COM 60135 27584 deflated
SP2S.DRV 60649 27766 deflated
SP2SSS.COM 36367 18487 deflated
SP2SSS.DRV 36881 18672 deflated

Download File DSII405.ZIP Here

Contents of the SP2.DOC file

#### # #### # # #### #### ### ### # ### ###
# # # # # # # # # # # # # # # #
# # # # # # # # # # # # # # # #
# # # ### ## ### #### # # # # # # #
# # # # # # # # # # # # # # #
# # # # # # # # # # # # # # #
#### # #### # # #### # ### ### ##### ### ###

Version 4.05

(c) Copyright 1986,1992 ____|__ | (tm)
Budget Software Company --| | |-------------------
P. O. Box 621534 | ____|__ | Association of
Littleton CO 80162-1534 | | |_| Shareware
|__| o | Professionals
-----| | |---------------------
(303) 932-1705 CompuServe 70033,643 |___|___| MEMBER

NOTE: Please refer to the file SP2NEW.DOC for a discussion of
features added since the publishing of this User's Guide.


Table of Contents

Shareware considerations . . . . . . . . . . . . . . . . . . . . . . iii

Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1

Getting Started Quickly . . . . . . . . . . . . . . . . . . . . . . . 2

Configuring DISK SPOOL II . . . . . . . . . . . . . . . . . . . . . . 2

The Menu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3

The Spooler and the De-spooler . . . . . . . . . . . . . . . . . . . 3

Modes of Operation . . . . . . . . . . . . . . . . . . . . . . . . . 4

Manual Mode . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 4
The Spool File . . . . . . . . . . . . . . . . . . . . . . . . 4
Controlling the De-spooler . . . . . . . . . . . . . . . . . . 5
Stopping and Starting Printing . . . . . . . . . . . . . . 5
Controlling Where in the File to Begin Printing . . . . . . 5
Printing from Different Files . . . . . . . . . . . . . . . 6
Controlling the Output Port . . . . . . . . . . . . . . . . 6

Auto Spool . . . . . . . . . . . . . . . . . . . . . . . . . . 6
Introduction . . . . . . . . . . . . . . . . . . . . . . . . 6
How to Enable Auto Spool . . . . . . . . . . . . . . . . . . 7
Spool File Print Attributes . . . . . . . . . . . . . . . . . 7
Spool File Attributes by Application . . . . . . . . . . . . . 7

Auto De-spool . . . . . . . . . . . . . . . . . . . . . . . . . 7
Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 7
How to Enable Auto De-spool . . . . . . . . . . . . . . . . . 8
Controlling the Auto De-spooler . . . . . . . . . . . . . . . 8

DISK SPOOL II Performance . . . . . . . . . . . . . . . . . . . . . . 8
Spooler Speed . . . . . . . . . . . . . . . . . . . . . . . . . . 8
De-spooler Speed . . . . . . . . . . . . . . . . . . . . . . . . . 9

Other Special Features of DISK SPOOL . . . . . . . . . . . . . . . . 10

Trouble Shooting . . . . . . . . . . . . . . . . . . . . . . . . . . 14

For Programmers . . . . . . . . . . . . . . . . . . . . . . . . . . . 16

Notes for Windows 3.x users . . . . . . . . . . . . . . . . . . . . . 17



You have obtained an un-registered version of DISK SPOOL II which is being
marketed under the "shareware" concept. As such, it is a fully working
version of the product, and the documentation is complete. You are
encouraged to register with Budget Software Company. The fee is US$ 44.

You may register by phone, by mail, or using Compuserve. If you register
by phone or by Compuserve, please provide a Visa or Mastercard number, name,
and expiration date.

Address: Budget Software Company
P.O. Box 621534
Littleton CO 80162-1534

Phone: (303) 932-1705

Compuserve: 70033,643

By registering, you receive the following benefits:

- A copy of the latest version of DISK SPOOL II.

- Free technical support. Usually, the author will be providing the
support. But in any case, your issue will be elevated to the author
if your question cannot be answered by your first contact.

- Periodic notification of upgrades and enhancements; along with the
ability to upgrade at a nominal cost.

- A printed copy of this manual.

You are authorized to make as many copies of this un-registered version
of the product as you would like, and to distribute them freely to
individuals or onto bulletin boards. You must, however abide by this one
simple rule ... that you always include with such distribution all of the
files that you have received.

Budget Software Company is a member of the Association of Shareware
Professionals (ASP). ASP wants to make sure that the shareware principle
works for you. If you are unable to resolve a shareware-related problem
with an ASP member by contacting the member directly, ASP may be able to
help. The ASP Ombudsman can help you resolve a dispute or problem with an
ASP member, but does not provide technical support for members' products.
Please write to the ASP Ombudsman at 545 Grover Rd, Muskegon MI 494420-9427,
or send a Compuserve message via easyplex to ASP Ombudsman 70007,3536.


I. Introduction

DISK SPOOL II is a program that fundamentally changes the
manner in which printing takes place on your computer. Without
DISK SPOOL II, whenever an application prints information, it
sends it directly to the printer. If you don't have a printer
attached to your computer, then you can't run the application.
If your printer halts for whatever reason, then the application
halts, too. More importantly, your application's execution
speed is held back by the printer, regardless of how fast your
computer is, or how well designed the application is.

With DISK SPOOL II, your applications do not have to contend
directly with the printer, since DISK SPOOL II sits in the
background and intercepts your printer data, re-routing it
to a disk file. Two benefits are immediately derived from
this: A disk file doesn't jam, and you don't have to worry
about its ribbon, so you know that your application will run
to completion. Secondly, even the fastest printers cannot
process data as quickly as a disk drive. So, your applications
finish sooner, and you are able to do more work in less time.

But what good is the data out in a disk file? Here is where
the second main part of DISK SPOOL II comes into play. With
your data safely out on disk, and while you are busy performing
other tasks on your computer, DISK SPOOL II works behind the
scenes to send the data from the disk file to the printer. How
is it possible for the computer to be doing two things at the
same time? The answer is that your computer has a generous
supply of excess processing cycles on its hands, and DISK
SPOOL II merely puts these cycles to work. The computer isn't
really doing two things at once, it just looks like it is.

You may be asking yourself why the concepts described above
have not been made part of your computer's operating system
by the manufacturers, since the time savings is apparently so
dramatic and so universal. The answer is that personal
computers are following the same evolutionary path that
mainframes did several decades ago. Just like mainframes, the
first operating system (and the one we are still using today)
was not designed to be able to handle multi-tasking easily.
It is a sure thing that the new operating systems being
developed for the PC, just like the second generation of
mainframes, will have spooling environment capabilities built
in. In the meantime, DISK SPOOL II enables you to tap into
this kind of operating power right now on your present PC.

Note: there are two versions of DISK SPOOL II included on your diskette:
SP2.COM, and SP2SSS.COM. The SP2SSS version does not have
hot-key popup menu capability.

The documentation that follows descibes the full-featured version


II. Getting Started Quickly

Getting DISK SPOOL II to start working for you is as simple as
keying in the program name SP2, and pressing the Enter key.
DISK SPOOL II has been pre-configured so that it will spool data
to a file called SPO.SPL in the root directory of drive C:,
and it will print to port LPT1. If you want the Spool File to reside
on a different drive, you could go into the configuration program (SP2CFG)
and make a change, but for now, the easiest way is to just key in a
drive letter. Example: sp2 d. If your printer is attached to a COM
port, again, you could go into SP2CFG, but to keep things simple for now,
just key in a k. Example: sp2 dk overrides the default drive and port.

That's all there is to it. Now, if you want to experiment
with the pop-up menu, tap the Alt-Left Shift keys
simultaneously. The menu is straightforward, and there is
context-sensitive help text available at every tier, so you
should be able to get right into the swing of things quite

There is only one thing that some people will have to do
differently than before. If you want to print a DOS file,
don't use the PRINT command supplied with DOS, and don't
do a COPY filespec LPT1, or TYPE filespec > PRN, or the like.
Rather, use the SP2PRT command supplied along with DISK SPOOL
II. Simply key SP2PRT followed by the file name. The SP2PRT
command is many times faster than its DOS counterparts, and
also, by the way, works fine even if DISK SPOOL II is not

Why don't you try DISK SPOOL II out right now, and see how quickly
it spools this document? Just load DISK SPOOL II by keying in
SP2, and then key in: sp2prt sp2.doc.

Please note: Once DISK SPOOL II is initiated into memory, it does not
need any other files to run. If you want the context sensitive online
help text, however, you should leave the file SP2.HLP in the directory
where DISK SPOOL II was loaded.

(Incidentally, if you would like to observe how dramatically
DISK SPOOL II saves you time, there is a demo program
included on your diskette that you should run called SP2DEMO. To
run it, make your default directory the one where your DISK SPOOL II
files reside, and then key in SP2DEMO. Then follow the instructions.

III. Configuring DISK SPOOL II

Your diskette contains a program called SP2CFG which is used
to configure DISK SPOOL II. Note that any settings made do
not take affect until the time DISK SPOOL II is next initiated
into memory. This program is very easy to use. You merely
highlight the configuration item using the arrow keys, and press
Enter to change the value. This program is also a very good
tool for learning about DISK SPOOL II, since each configuration
item is described in detail at the bottom of the display.


IV. The Menu

DISK SPOOL II is a memory resident program whose functions
can be controlled by means of a pop-up menu. This means that
you can be in the middle of any application and access DISK
SPOOL II's menu by simply pressing the two "hot keys". DISK
SPOOL II comes pre-configured with the Alt and Left Shift
keys as the "hot keys". You may, however, configure any key
combination that you desire.

The menu style is the popular Lotus-style "single tier" menu.
The top row of the menu displays several keywords, each of
which represents a menu selection. You select a menu option
either by positioning the menu bar over your selection, or
by tapping the first letter of the keyword. The second row
of the menu gives a short description of the menu option
currently being highlighted by the menu bar. Often, one menu
selection leads to another menu tier. You may back up a tier
by pressing the Esc key. As you become familiar with DISK
SPOOL II, you will quickly learn the letter sequences needed
to perform a desired function.

V. The Spooler and the De-spooler

Before describing in detail all of the various features of DISK SPOOL II,
a short introduction is in order of its two main components:

The Spooler's job is to intercept printer data and re-direct it
to a disk file. The De-spooler's job is to work in the
background sending the contents of the file to the printer.
By means of the pop-up menu, you have the ability to enable
and/or disable both components. When the Spooler is enabled,
it does its job of spooling printer data out to disk. When
disabled, printer output goes directly to the printer, just
as if DISK SPOOL II were not in memory at all. When the
De-spooler is enabled, it is busy sending the contents of
a disk file out to the printer. When it is disabled, then
no such background printing takes place. Having the ability
to control when printer output actually gets printed is one
of the most attractive features of DISK SPOOL II.

One of the attributes of the Spooler is which port or ports
it is intercepting. Most computer applications are designed to
send printer output to LPT1; and as such, DISK SPOOL II comes
pre-configured to only intercept printer output that is being
sent to LPT1. However, DISK SPOOL II can be configured so that
it intercepts output being sent to any of the four standard
ports: LPT1, LPT2, COM1, and COM2. And you may specify any
multiple combination of the four. You may also change your
settings on the fly from within the pop-up menu.


One of the attributes of the De-spooler is the port to which
it is sending data. DISK SPOOL II gives you complete control over
which port receives the spooled data.

VI. Modes of Operation

There are three most basic modes of operation with DISK SPOOL II.

A. Manual Mode

1. Introduction

In Manual Mode, data is spooled to a single file, and continues
to so unless you manually designate a different file. Similarly,
data is de-spooled from a single file, and continues to do so
unless you manually designate a different file.

2. The Spool File

DISK SPOOL II comes pre-configured so that when it is first
loaded into memory, it will look for a file called SPO.SPL in
the root directory on drive c:. If it does not find such a
file, then it creates one. It then "attaches" the Spooler and
the De-spooler to this file. This means that spooled data will
go to that file, and the De-spooler will print the contents of
that file. You may configure DISK SPOOL II to use any file,
directory, or disk drive you wish. You can even specify
different files for the Spooler and the De-spooler. And,
these designations can be changed on the fly using the
pop-up menu. (One interesting setting is to leave the
drive and the path designations blank. Then, as you change
directories, and when data is spooled, DISK SPOOL II will
create a new spool file in the current directory. In this
manner, all your spreadsheet printouts could be found in one
directory, all your word processing printouts in another, and
so forth.)

When the Spool File is empty, it only takes up 66 bytes on
your disk or diskette. It grows as data is spooled into it.


There are three ways in which data is purged from the
Spool File:

a. Clearing it manually

If the file you wish to clear is the one currently attached
to the Spooler, then you can take the (F)iles (C)lear
(S)pooler menu sequence. And similary, if the file is
currently attached to the De-spooler, then the (F)iles
(C)lear (D)e-spooler does the job. Also, if you take
the (F)iles (L)ist menu sequence, you are presented with
a display of files, and you can delete any one of them
by keying a '9' in the option field. (Note: you can also
delete the file by using DOS' DEL or ERASE commands. Don't
worry about deleting the current Spool File, since DISK
SPOOL II will automatically re-create the file if it
needs to.)

b. When DISK SPOOL II is initiated into memory

DISK SPOOL II may be configured so that when it is
initiated into memory it checks the Spool File to
see if it has been printed out completely; and if so, it
clears it. This is the way DISK SPOOL II comes pre-
configured to you. If you would rather keep spooled data
on disk, and purge it manually, then change the configuration
option Keep Spool File to YES.

c. Resizing the file dynamically

If you anticipate running low on disk space (perhaps
because you are going to do quite a bit of printing between
re-boots), and if you don't want to have to concern yourself
with manually clearing or deleting files, then you should
configure DISK SPOOL II's Dynamic Resize parameter to YES.
With this setting, every time the De-Spooler reaches the
end of a file, it deletes it off of disk.

3. Controlling the De-spooler

a. Stopping and Starting Printing

You have control of when printing takes place by enabling
or disabling the De-spooler.

b. Controlling where in the file to begin printing.

i. At the beginning of the file

ii. After the last fully printed document

This method is handy if your printer jams. By starting
the De-spooler after the last fully printed doucment,
you pick up just at the right place.


iii. At the end of the file

This method of enabling the De-spooler means that despooling
will start at the exact point where it last left off. If you
suspended printing by disabling the De-spooler, and want to
start back exactly where you left off, then use this method.

iv. Using the 'P' option from within the file display

You may start despooling at any place within the Spool File
by displaying the file (using the (F)ile (D)isplay
(D)e-spooler menu sequence), positioning the starting line
to the top of the display, and pressing the 'p' key.
The best sequence of events to take here is to disable the
De-spooler, perform the above steps, and then enable the
De-spooler "after the last fully printed document".

c. Printing from Different Files

You may "attach" the De-spooler to any spooled file. There
are two ways to do this:

- Take the (F)ile (A)ttach (D)espooler menu sequence and then
key in the file name.

- Take the (F)iles (L)ist menu sequence, and key a 3 next to
the file you wish to print.

Don't try to attach the De-spooler to a file other than one
that was spooled. If you want to print another file, simply
key in SP2PRT {filespec}. In this manner, the file will
be spooled. This command operates very quickly, as all it does
is append the file to the end of the Spool file.

d. Controlling the Output Port.

You designate a default output port in configuration. You may
change this value by keying the menu sequence (V)alues
(D)espoolport, and using the cursor movement keys to make
a selection.

B. Auto Spool

1. Introduction

In Auto Spool Mode, a new spool file is created for each document
spooled. To display a list of the files created, key the
(F)iles (L)ist menu sequence. Note how this list shows you the
file name on disk, the time and date it was created, its size,
and the name of the program that printed the document. To print
a file, key a 3 next to its name. This attaches the De-spooler
to that file.


2. How to Enable Auto Spool

You can enable Auto Spool in two ways: either through
configuration, or from within the pop-up menu by taking the
menu sequence (S)pooling (A)utospool (E)nable. You may disable
Auto Spool from within the pop-up menu as well.

3. Spool File Print Attributes

By default, each file created by the Autospooler will have the
following attributes:

Copies - 1
Despool Port - The Despool Port as seen in the (V)alues
(D)espoolport menu sequence.
SAVE status - If the Dynamic Resize parameter as designated in the
configuration program is set to YES, then the file
will be deleted after printing. Otherwise, it will
be saved.
HOLD status - NO
Description - The name of the program that printed the document.

All of these values may be changed from within the (F)iles (L)ist
display. Take option 5 for the file you wish to change. And take
option 4 to place a file on HOLD. (Note: the HOLD status is
really only meaningful when operating in Auto De-spool mode.
See the description of this mode which follows for more details.)

4. Spool File Attributes by Application

You may set up DISK SPOOL II so that different applications result
in different spool file attributes. You may, for instance, want
all your graphics applications to go to COM1 and be printed twice;
while your spreadsheet printouts are to go to LPT1, and be saved.

To tailor DISK SPOOL II in this manner, simply use your text editor
to modify the SP2.DAT file. For example, the line:


would make it so any documents printed by application 123 would
take on the print attributes as shown.

C. Auto De-spool

1. Introduction

In Auto De-spool mode, not only are seperate files created for
each document, but the De-spooler automatically attaches itself
from one file to the next, as files become available for printing.


2. How to Enable Auto De-spool

You can enable Auto De-spool in two ways: either through
configuration, or from within the pop-up menu by taking the
menu sequence (D)espooling (A)utodespool (E)nable. You may disable
Auto De-spool from within the pop-up menu as well. Because Auto
De-spooling goes hand-in-hand with Auto Spooling, whenever you
enable Auto De-spool, DISK SPOOL II automatically enables Auto
Spool, as well.

3. Controlling the Auto De-spooler

The affect of enabling and disabling the De-spooler is the same
whether it is in auto mode, or not.

While the De-spooler is enabled, the way to prevent a file
from being printed is by placing it on HOLD. You do this
by keying a 4 next to the file name from within the (F)iles
(L)ist display. (By the way, this is the display that first
pops up when you are in Auto De-spool mode.) You may release
a file for printing by keying a 6 next to the file name.

VII. DISK SPOOL II Performance

There are two aspects of performance: the speed of the Spooler (which
means how fast your application program returns control back to you),
and the speed of the De-spooler (which means how fast documents actually
get printed out).

Spooler Speed

One of the most attractive features of spooling is that control is
returned to you quicker than when printing goes directly to the printer.
The quickness of the spooling function can be conrolled in three ways.

1. The size of the internal buffer

As printing is taking place, DISK SPOOL II buffers characters in
memory, and flushes them to disk after the buffer becomes close to
being full. You can achieve substantial performance increases in
this area (up to 100% faster) by increasing the size of this internal
buffer. You do this by keying a command-line parameter when you
first initiate DISK SPOOL II into memory. The parameter is an 'm'
followed immediately (without spaces) by a digit from 0 to 9.

Here is how it works:

Each of the 4 versions of DISK SPOOL II takes up a certain amount of
"base" memory; that is, the amount of memory required to perform its
functions. The largest size that the spool buffer can be is 64k less
this amount of "base" memory. When you utilize the 'm' command-line
parameter, DISK SPOOL II divides this available buffer area by 10,
and then, depending on the digit following the 'm', multiples of this
figure are added to the buffer size. If you keyed in SP2 m9, then the
entire available area is allocated for the spool buffer.


2. Whether or not you are spooling to a RAM disk

When you spool to a file on a RAM drive, the spooler performance
increases by a factor of approximately 100%.

3. Utilizing SP2PRT

If you have a file that you simply want to send to the printer, send
it by using the SP2PRT command. Simply key SP2PRT followed by the
name of the file you wish to print. Using SP2PRT results in spooler
performance in the order of three times quicker.

De-spooler Speed

DISK SPOOL II has been engineered to take advantage of every free
processing cycle for printing. Therefore, you should be experiencing
no printing speed degradation whatsoever. However, if your foreground
process is processor intensive, that is to say, a program is
running that requires little user interface, then if your printing
speed is not satisfactory you may experience a significant performance
increase by fine tuning.

The first thing to try in the fine tune process is setting the
Despool Method configuraton option to Hardware Interrupts. If you
are printing to a COM port, then Hardware Interrupts will give you
just about as efficient a printing speed as is possible. However, if
you want to use Hardware Interrupts with a COM port, then you'll have
to use the CTS, only despooling method.

With LPT ports, due to a flaw in the design of many of the LPT cards
on the market today, Hardware Interrupts won't work at all, and in
fact will result in extremely slow printing speed. If you have such
an LPT card, then Budget Software Company can provide you with an
adapter that corrects the problem. The cost is $15. (You may create
your own adapter if you want. You need a female DB-25 connector for
the printer side, and a male DB-25 connector for the computer side.
Simply connect all wires straight through, except leave pin 10 on
the printer end disconnected, and then connect pins 10 and 11 on
the compter side.)

If Hardware Interrupts doesn't work for you, then a certain amount
of performance increase can be obtained by following these "fine
tune" steps:

Step 1

Configure DISK SPOOL II to the Despool Method called "manual", and
set OUTBYTES to 32 and RETRY to 1.

Step 2

Disable the De-spooler, and then spool out a very large document -- one
that will take several minutes to printout.


Step 3

Enable the De-spooler, and wait about 30 seconds in order to fill up
any buffer your printing device may have.

Step 4

While the De-spooler is still printing, key the pop-up menu sequence
(V)alues (R)etry. Now depress your up-arrow, gradually increasing the
RETRY value. Observe your printer. At a certain point, the printer
speed will increase dramatically. You will have found the "threshhold"
value for RETRY. Add about 5 or 10 to this valu, and this is the value
you should use.

You can now play with the OUTBYTES value in a similar fashion. You won't
notice a "threshold" situation. Instead, your printer speed will
increase very gradually as OUTBYTES increases. The rule here is to set
OUTBYTES sufficiently high to obtain maximum printer speed, but not so
high that you notice forground degradation.


1) There are two versions of DISK SPOOL II on your diskette.

SP2S - Fully functioning version. Takes up about 51k.
SP2SSS - No pop-up menu. 14k. Note that even without the
pop-up menu, this version gives you a substancial
amount of control over your spooling activities. You
merely depress and hold down the hot-keys and then
press one of the following letters:

E - (E)nable spooler
D - (D)isable the spooler
S - (S)uspend de-spooling
R - (R)esume de-spooling where you left off
B - Start the de-spooler back up at the (B)eginning
of the spool file.


Note also that you can control SP2SSS (as well as the
other modules) by means of keying in the program name
followed by one or more command-line parameters. Note
how several command-line parameters work both as
load-time parameters as well as run-time. For example,
if you want to clear the current spool file, you can key
SP2 x.

2) Several DISK SPOOL II functions can be controlled by means
of command line parameters. These parameters are keyed
after keying SP2, they may be keyed in any order, and where
letters are involved, uppercase or lower case is allowed.
A detailed discussion of each command line parameter is
discussed below.

The following parameters do something only when DISK
SPOOL II is first initiated into memory:

L - Expand the spooler buffer to the largest possible
value that fits in 64k. This has the benefit quicker spooling
times, and hence your application returns control to you more
quickly. The price you have to pay for this performance is
that more of your computer's memory is taken up by DISK SPOOL II.

M - Follow this parameter by a digit from 0 to 9. In this manner
you can select various gradations in increasing the size
of the spooler buffer.

The following parameter does something only when DISK
SPOOL II is already in memory:

T - Takes DISK SPOOL II out of memory. Note that when you
take DISK SPOOL II out of memory, then any memory
resident programs loaded after DISK SPOOL II was loaded
are also removed.


The following parameters do something either if DISK SPOOL
II is being initiated into memory for the first time, or
if it is already in memory.

K - spool and despool using a COM port
P - spool and despool using an LPT port
1 - COM/LPT1 (ex: sp2 p1 directs DISK SPOOL II to spool
and despool to LPT1)
2 - COM/LPT2
# - disable the Spooler and the De-spooler
$ - enable the Spooler and the De-spooler
% - enable the Spooler (note: if you include this command
line parameter with a .BAT file,
you must put two %'s back to back,
otherwise DOS thinks it's dealing
with a substitution variable)

& - enable the De-spooler
* - disable the De-spooler
+ - disable the Spooler
X - clear the default spool file
a,b,c,...,j - place the Spool File on this drive
r - enable the "dynamic resize" (this is where when the
De-spooler reaches the end of the file, it
deletes it.)
= - this parameter is always followed by a 1, a 2, a 3, or
a 4. Example: sp2 =3
This is how you load and maintain multiple copies of
DISK SPOOL II into memory. Generally, if you just
key in SP2 followed by one or more command line
parameters, DISK SPOOL II merely re-configures the
version that is presently in memory. If you want
to initiate a subsequent version, then you do so by
including the = parameter. For example:

- You key in SP2 p1 (initiates DISK SPOOL II into
memory and spools/despools LPT1)
- SP2 =2p2 (initiates another copy of DISK SPOOL II,
this time spooling LPT2)
- SP2 =1k1 (reconfigures the 1st loaded version to
spool/despool COM1.

For a more detailed discussion of using multiple copies
of DISK SPOOL II in memory at the same time, refer to
the discussion immediately below.


3) You may have multiple copies of DISK SPOOL II in memory at
the same time. In this way, you can have more than one
printer working simultaneously, and still be working at
your computer.

There are several things to consider when loading multiple
copies of DISK SPOOL II into memory. If you are going to
want to utilize the pop-up menu, then you are going to want
to configure different versions, each one with a
different "hot-key" sequence. Say, for example, that you
want to drive the LPT1 and the LPT2 ports simultaneously.
You would go into SP2CFG and configure one of the SP2
versions to de-spool to LPT1, and you would define
a certain "hot-key" sequence. You would also want to
configure a unique default Spool File and De-spool File.
Then you would make a copy of this program, calling it,
say, SP2L1.COM. Then you would do the same thing to create
an SP2L2.COM. The first version loaded into memory would
be loaded by simply keying in the name of the program. To
load a second version, you need to include the =2 command
line parameter: SP2L2 =2. (Note: as you can see, it is
not sufficient to simply load up differently named programs.
You indicate a seperate version by keying the =2, =3, or
=4 on the command line. You may also use an =1 parameter,
but if you don't specify an = parameter then this amounts
to the same thing as an =1.) Under this scenario, you would
tap the one "hot-key" sequence to bring up the one program's
pop-up menu, and the other "hot-key" sequence to bring up
the other. Note that if you want to use the command line
to make changes to a version that is already in memory, then
you must us the = parameter to designate the one you are
changing. For example, if you wanted to clear the Spool
File of the 2nd loaded program using the command line, and
given the above scenario, then you would key in SP2L2 =2x.

4) You may redirect the De-spooler's output to a device driver
or to a disk file. To do this, key in SP2 @xxxxxxxx, where
the x's represent the name of the device driver or the disk
file (8 characters maximum, including an optional drive and
path designation). Here is a good reason why you might want
to redirect the De-spooler output to a disk file: DISK
SPOOL II can be configured to utilize a compress algorithm
in order to minimize the disk usage; and in fact this is
how DISK SPOOL II comes pre-configured to you. However,
with a compressed file, you can't port the file directly
into a word processor, for instance. But, if you redirect
the De-spooler output to a disk file, then this file will
an exact image of the printed document.

Note that if you redirect to a disk file, and that file
already exists, then data is added to it.

To cancel redirection and revert back to normal processing,
key in SP2 @ with nothing following the @ sign.


5) You may designate that multiple copies be printed of a
file. To do this, go into (F)iles (L)ist, and take the
option to "change" the file. If after the copies are
you want still more copies, then simply disable then re-enable
the De-spooler; or if Auto De-spool is enabled, then just release
the file. Note that DISK SPOOL II will not page-feed
between copies unless you tell it to do so by configuring
the Auto Form Feed option in SP2CFG. Often this is not
necessary, since the application that you are running will
usually send the necessary form feed instructions.

6) You may tailor the context-sensitive help file (SP2.HLP)
to include your own helpful hints and information. To do
so, simply go into your text editor, locate the menu tier,
and add or change text to suit your needs. DISK SPOOL II
uses the first letters of the menu keying sequence followed
by a special control character in order to find the
appropriate help text. Therefore, the only thing that you
have to worry about is not changing these control lines.

7) DISK SPOOL II may be taken out of memory completely by
keying in SP2 t. Note, however, that any memory-resident
applications that have been loaded after DISK SPOOL II are
taken out, too.


1. Introduction

Budget Software Company offers three forms of tech support to all
registered users:

Telephone: (303) 932-1705
CompuServe: 70033,643
Mail : P.O. Box 621534
Littleton CO 80162

2. DISK SPOOL II "hangs" the computer.

DISK SPOOL II is very robust, and has been designed to
adhere to commonly used memory-resident protocols. As such,
it is not likely that you are going to experience problems,
even if you load DISK SPOOL II along with other memory-resident
programs. If you do experience problems, the first thing to
do is see if the same problem occurs in a "clean" environment;
namely, one in which there are no other memory-resident
programs installed. If you still experience the problem, then
write or telephone for technical support. If the problem goes
away, then start loading the other memory-resident programs
one by one to try to find the one that is causing the conflict.
If you find the program that is causing the conflict, then
try loading it and DISK SPOOL II in a different order than you
originally had. Quite often this resolves the problem.


3. Normal keyboard operations seem to be fouled up when DISK SPOOL II
is in memory. For example: for no reason whatever, the computer
will go into Caps Lock state, and remain there.

There is a "hidden" configuration option in SP2CFG which resolves
this problem by causing a different type of keyboard handling
mechanism to be utilized by DISK SPOOL II. To enable this alternate
keyboard mechanism, first go into SP2CFG and bring up the configuration
options display for the version you wish to configure. Then tap the
'k' key two times. Now exit, saving changes, and your the change will
become effective starting with the next time you load DISK SPOOL II
into memory. To revert back to the original keyboard handling
mechanism, perform the same steps, only tap the 'j' key twice.
There is one limitation to this alterate keyboard handling method:
the only keys that are allowed as pop-up keys are the Left and Right
Shift keys, the Alt key, and the Ctrl key.

4. I have enabled the COM Monitoring function (where data being sent
to a COM port from an external source is spooled to disk in the
background), and yet no spooling seems to be taking place.

Keep in mind that DISK SPOOL II does not initialize the COM port
protocols. You must do this yourself using a MODE command for instance.
Another thing you should know is this: when you use the COM Monitoring
function, DISK SPOOL II sets up the designated COM port(s) to
allow for hardware interrupts. The MODE commmand disables these
hardware interrupts. So, if you've already loaded DISK SPOOL II into
memory, and you forgot to initialize your COM ports, and have to
now use the MODE command, you must disable the Spooler, and then
enable it in order that DISK SPOOL II re-set on the hardware interrupts.

5. When I disable the De-spooler, or put the currently printing file on
HOLD, the printer continues to print out for a while.

There are two reasons for this. Most printers have their own small
data buffers. And even though DISK SPOOL II may no longer be sending
data to the printer, nevertheless, the printer is still printing from
its internal buffer. To overcome this, simply turn your printer off
and then back on. Another cause for this is that if DISK SPOOL II is
configured with Compress YES, then even after you have disabled the
De-spooler, a certain amount of data is still sent to the printer.
If you are concerned with being able to stop printing immediately, then
configure Compress to NO.

6. I am de-spooling to a COM port, and I am experiencing data overruns.

Try changing the COM Protocol configuration option to Xon/Xoff.

7. Is there any way to make the data in SP2.DAT take affect without
to re-initiate DISK SPOOL II into memory?

Yes, after changing SP2.DAT, merely pop-up the menu and take the
(F)iles (D)isplay (S)pooler menu sequence. This will cause DISK
SPOOL II to re-read SP2.DAT into memory the next time it needs to
determine a spool file's attributes.


8. I spooled a document, and a part of it was chopped off. It never
made it to the spool file.

If you did a COPY LPT1, or a TYPE > PRN, or
the like, then you should use the SP2PRT command instead. Merely
key in SP2PRT . You may also optionally designate a
port with this command. Ex: SP2PRT myfile LPT1. If you don't
designate a port, then LPT1 is the default.

It also occurs that an application is designed in such a manner as to
not allow DISK SPOOL II to flush its internal spool file buffer, and
hence when the buffer fills up, subsequent data is lost. Fortunately,
such programs are rare. The best way to combat this is to
increase the size of the internal spool file buffer. That way, there
is a better chance that the entire document will fit in the buffer,
and when your application program ends, then DISK SPOOL II will be
able to flush the buffer. With DISK SPOOL II's smallest module
(SP2SSS.COM) you can get up to 50k of internal buffer.

9. Sometimes, data is dropped and not printed.

If you have a BREAK=ON in your CONFIG.SYS or AUTOEXEC.BAT files,
take it out. This command serves very little function, if any,
and it has been known to interfere with DISK SPOOL II's de-spooler.

Also, if ever you hear a beep while spooling is taking place, then
you should use an Mx command line parameter (as described above) to
increase the size of the internal spool buffer. A beep indicates that
DISK SPOOL II was unable to flush to the Spool file when it needed to,
as so some printed data was lost. The larger the 'x' value (M8, or M9,
for example), the less chance that this will occur.



You may hook programatically into several DISK SPOOL II
functions via a call to interrupt 1Ah. The following table
describes how to do so.

AH AL Returns/Function
-- -- ---------------------------------------
0a0h n/a Upon return, if AH = 0b0h, then DISK
SPOOL II is in memory, and furthermore:

es = the location of the code segment
bx = pointer to name of current Spool File
si = pointer to current De-spool file.
cl = 0, if De-spooler is disabled.
41h,if De-spooler is enabled.
ch = 0, if Spooler is disabled.
41h, if Spooler is enabled.
dl = 41h if De-spooler is currently
active printing a file.
0 if the De-spooler is standing by.
0d0h 1 Enables Spooler and De-spooler.
2 Enable Spooler, only.
3 Enable De-spooler at beginning of file.
4 Disable the De-spooler.
5 Disable De-spooler and Spooler.
6 Clear the Spool File.
8 Inhibit the Pop-Up menu.

9 Enable the Pop-Up menu.
0bh Disable the Spooler
0ch Start De-spooler after last successfully
printed document.
0dh Start De-spooler at the exact point where
it last left off.
0eh Pop-up the menu.
20h Clear file pointed to by the De-spooler.

XI. Notes for Windows 3.x users

DISK SPOOL II has been tested and found to run successfully along with
Windows 3.x. There are three main ways to run DISK SPOOL II along
with Windows.

1. Establish a spooling environment for all non-Windows applications.

Load DISK SPOOL II before loading Windows. Whenever you open
a non-Windows application, DISK SPOOL II will automatically
spool printouts (according, of course, to the way that you've got
DISK SPOOL II configured. Note that even in Regular or Standard
mode, printing will still take place when you shift to a different


XI. Notes for Windows 3.x users (continued)

2. Establish a spooling environment for only certain non-Windows

Open a DOS command line Window, or open a non-Windows application
via a .BAT file, and load DISK SPOOL II from within that
window. Remember, however, that if you should terminate this
window, then your copy of DISK SPOOL II also ends.

3. Establish a spooling environment for all applications, both
non-Windows as well as Windows application.

The best way to use DISK SPOOL II with windows is to utilize
the new Monitor feature. You set up DISK SPOOL II to "monitor"
a specified drive and directory, and then simply set Windows up
to print-to-file instead of to a device. You'll want to turn
print manager off, as well.

XII. Problems encountered with Windows 3.x

1. If you have trouble getting reliable printouts, then configure
DISK SPOOL II's Bios option to YES using SP2CFG.

2. Under certain conditions, in enhanced mode, DISK SPOOL II is not
able to pop-up successfully within the window. You should maximize
the window so that it takes up the entire display, and then pop-up

3. Under certain conditions, Windows 3.0 will send a "device conflict
with LPT1" message even when it is clear that only on application
is sending data to the printer. If you are encountering this
message (and it generally only occurs when you are in enhanced mode),
then simply configre Windows to not notify you when a device conflict


 December 29, 2017  Add comments

Leave a Reply