Contents of the NICEBOOT.DOC file
A utility to improve (and revolutionize) the way the PC boots!
Copyright (c) February 1990
By Joe Tamburino
Welcome to the NiceBoot program! Are you tired of that endless mass of
information which gets installed by CONFIG.SYS and AUTOEXEC.BAT every time you
fire up your machine? This program was designed to neaten up your IBM PC's
screen display during the booting sequence, and even more importantly: to
provide a nice-looking screen with a status bar which allows you to see in-
stantly how much time is left until the DOS prompt appears (or your favorite
application program begins to load).
The following list highlights some of the most important features of
- Hides the loading of most device drivers in CONFIG.SYS as well as most
TSR programs loaded by AUTOEXEC.BAT. (Most means "almost all". There are a
few pesky TSRs and device drivers which will fail and will have to be loaded
either BEFORE or AFTER NiceBoot is activated).
- Uses NO memory! Your application programs will see no difference in
the amount of memory available to them. Honest!
- Works with DOS shells such as 4DOS. Windows users can use NiceBoot
too; just keep in mind that NiceBoot must be deactivated BEFORE Windows begins
- NiceBoot's screen is a simple, clutter-free screen which uses the EGA
640x350 monochrome screen (0fh). Both the background and foreground color can
be changed by the user. Keep in mind that a standard VGA adapter or higher is
required to use NiceBoot since many of the advanced VGA features are used.
- As an added bonus, NiceBoot also allows keys to be stuffed into the
keyboard buffer! If there is a certain key-sequence that you always type
during the boot process, NiceBoot can be told to generate these keypresses (up
to 15 keypresses total).
NiceBoot is being distributed under the ShareWare concept. You are
entitled to use the program for a period of up to one week. If, after that
time, you decide to keep using NiceBoot, you are required to pay for the
program. In turn for your payment, you will be notified of any changes and
upgrades to NiceBoot, as well as any other programs that the author has con-
structed. To register for NiceBoot, send $15.00 to the author at:
Joseph J. Tamburino
7 Christopher Rd.
Westford, MA 01886 Phone: (508) 692-7756
The following is the revision history for NiceBoot:
Beta version: released before 2/11/91 Beta version
1.01: released 2/11/91 Fixed time clock problem *
1.02: released 2/11/91 Added blank screen option *
* Thank you, Tom Moore, for suggestions employed in releases 1.01 through
I normally include source code with the programs that I write. However,
since I have never come across a program quite like this one before, it is
reasonable to assume that there might actually be a market for a program such
as this. If this is the case, the source code will probably not be made
available. But in the advent that NiceBoot is an unpopular program (as is the
case with virtually all ShareWare programs), I will provide a free copy of the
source code with your registration payment upon request (please specify disk-
NiceBoot's archive is composed of the following files:
NICEBOOT.SYS: This is the main program. Include it in your CONFIG.SYS file
above the devices (and later, TSRs) to be hidden from view.
DONEBOOT.COM: The purpose of this program is twofold. It's first job is to
tell NICEBOOT when it's time to deactivate itself, and the
second purpose is to tell NICEBOOT how long the last booting
sequence took (so that next time, NICEBOOT will be able to
more accurately predict the time-left-to-go).
NICEBOOT.DOC: This documentation.
That's it, just two program files! Now keep in mind that the initial
setup of NiceBoot may be a little tricky. This is because there are some TSRs
and device drivers out there which will interfere with NiceBoot's operation.
Unfortunately, knowing which of the TSRs are causing the conflicts might take
a little bit of trial & error. To help you out, here are a few things to look
out for in terms of conflicts:
- If you have a video driver installed in your system which controls the BIOS
of your VGA card, it probably will conflict with NICEBOOT, so load it BEFORE
NICEBOOT is loaded.
- If you have any TSRs which appear to draw graphical images on the screen,
they MAY conflict with NICEBOOT; it all depends on whether the image was drawn
with text symbols or with graphic pixels. TSRs such as this must be loaded
AFTER doneboot has executed.
- In general, if you find that a certain device driver conflicts with Nice-
Boot, load it BEFORE NiceBoot. If, on the other hand, you find that something
in the AUTOEXEC.BAT file is conflicting with NiceBoot, load it after the
DONEBOOT program is executed.
How to Setup NiceBoot
With all that said, here is the exact procedure for setting up NiceBoot:
First, insert NICEBOOT.SYS into the CONFIG.SYS file with the following
syntax (It makes no difference whether lowercase, uppercase, or both, are
DEVICE=[path]NICEBOOT.SYS [/cbbff] [/e(n1,n2,n3,..,nn)] [/b]
Well, don't insert it exactly like that! First, you need to know what
everything means. Brackets mean that the information enclosed is optional.
But don't actually include any brackets in the CONFIG.SYS entry. As you can
see, you may need to specify a path before "NICEBOOT.SYS" if the program
resides somewhere other than where CONFIG.SYS is.
Ok, now the "/c" option stands for "color". It is here that you can
optionally set the background and foreground colors for NiceBoot. (NiceBoot
defaults to using a black screen with bright white foreground text.)
Keep in mind that you must specify both colors in hexadecimal, and that
ALL four digits must be specified. The colors refer to the DAC register index
containing the color value that you wish to use. For those who are unfamiliar
with the way DAC registers are specified, her are the standard indexes used
for the 16 normal colors:
33 Cyan (Bluish green)
35 Magenta (purplish)
39 Light Blue
3A Light Green
3B Light Cyan
3C Light Red
3D Light Magenta
3F Bright White
Note, however, that these are only a small sample of the colors available
during startup. There are about 240 other colors that you could use in place
The next option on the command line is "/e" which is short for "enter".
The enter option is used to enter up to 15 keystrokes into the keyboard buffer
so that commonly used key sequences can be entered during the boot process.
To use this option, follow the /e with an open parenthesis followed by a
list of two-digit hexadecimal numbers separated by commas, followed finally
with the close parenthesis (see the syntax diagram described above).
In this case, the two-digit hexadecimal numbers represent the ASCII
values of keypresses to generate. Unfortunately at this time, NiceBoot pro-
vides no option for generating scan-codes as well as ASCII codes, so you'll be
restricted to using only those keys that are found in the IBM ASCII character
Finally, NiceBoot's last option is the "/b" option which stands for
"blank screen". Specifying this option, as you might imagine, keeps the
screen completely blank during the booting process. NOTE: When using this
option, keep in mind that the background of the screen remains the color you
choose with the "/c" option. That is, you could have a blank screen that is,
When the "/b" option is used, no activity of any sort ever appears while
NiceBoot is active. The screen remains COMPLETELY blank (if all goes well
with your TSRs and devices).
Now that you are totally confused, here are some examples of valid Nice-
Boot CONFIG.SYS entries:
DEVICE=NICEBOOT.SYS (No options -- just load NiceBoot)
DEVICE=NICEBOOT.SYS /c3137 (Use blue background, white text)
DEVICE=NICEBOOT.SYS /e(0d) (Insert a carriage-return into the
DEVICE=NICEBOOT.SYS /c313e /e(0d) (Use blue background, yellow text, and
insert a carriage-return into the
DEVICE=NICEBOOT.SYS /b /c3100 (Use a blank screen, colored blue)
So far so good. Now when the system is booted, NiceBoot will take con-
trol of the screen and display the time left until the system is fully booted.
But the problem is this: NiceBoot has absolutely no idea when the booting
process is complete; it will sit there forever waiting for nothing .... This
is where DoneBoot.COM comes in. DoneBoot's job is to tell NiceBoot that the
booting-period is over and it's time to turn screen-control over to the sys-
tem. Since DoneBoot is a COM file, it must be loaded via AUTOEXEC.BAT (or
another batch file). Load DoneBoot at the END of your batch file. If you
come across any conflicting TSRs or programs, though, load them AFTER Done-
Boot. Here's its syntax:
Note that the pathname is NOT optional. In fact, incorrect specification
of the pathname will produce weird errors (NiceBoot offers little in the way
of error messages -- this will change in future versions).
The pathname refers to the EXACT path and name of which NICEBOOT.SYS
exists. If there is any chance that NICEBOOT.SYS is not in the same directory
as the directory that your batch file is currently set to, you should probably
specify a full pathname for DONEBOOT. Here are some examples:
DONEBOOT NB (NiceBoot is renamed in this example)
Again, the pathname is not optional -- it must be included, and it must
Seeing NiceBoot in Action
Now that you finally have everything in place, why don't you reboot your
system now. If your system crashes, then there has been a conflict and you'll
have to try any guess where the problem lies and include this program outside
of the NiceBoot..DoneBoot pair.
Otherwise, enjoy the boot sequence! You may notice that the status bar
you see on the screen is incorrect! This is ok -- the first time NiceBoot
runs on your system, it has absolutely no idea how long it's going to take to
boot the system. It is the job of DoneBoot to update the NICEBOOT.SYS to
reflect the amount of time it took to load.
So now that your system has been booted, try again and see if the status
bar more closely reflects the amount of time left to boot.
Note that every time you update either your CONFIG.SYS or your
AUTOEXEC.BAT file, the status bar may be a little bit "out of sync" the next
time you reboot since the new time delay has yet to be recorded. But when you
reboot the time after that, and from then on, the status bar should be fairly
accurate once again.
If You Need Help!
Please forgive me, but I was in a very tired state when I wrote this
documentation, and I realize that it's a difficult to understand.
If you need further assistance during installation of this program, don't
hesitate to give me a call, and I'll try to help you out. Again, my phone
number is (508) 692-7756, and you can send mail to me at:
Joseph J. Tamburino
7 Christopher Rd.
Westford, MA 01886
I can also be reached via CompuServe by sending mail to 70033,107. I
also have a Genie account and I can be reached there at J.TAMBURINO1.
Lastly, I can be reached via Channel 1 in Cambridge, MA, via the name Joe
I sincerely hope that you enjoy this program!