home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Frostbyte's 1980s DOS Shareware Collection
/
floppyshareware.zip
/
floppyshareware
/
GLEN
/
NICEBT11.ZIP
/
NICEBOOT.DOC
< prev
next >
Wrap
Text File
|
1991-07-30
|
17KB
|
353 lines
NiceBoot
Version 1.10
A utility to improve (and revolutionize) the way the PC boots!
Copyright (c) August 1991
By Joe Tamburino
Introduction
------------
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
instantly 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 NiceBoot:
- 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 driv-
ers 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 to load.
- 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 ad-
vanced 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).
Legal Information
-----------------
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 constructed.
To register for NiceBoot, send $15.00 to the author at:
Joseph J. Tamburino
7 Christopher Rd.
Westford, MA 01886 Phone: (508) 692-7756
Revision History
----------------
The following is the revision history for NiceBoot:
dates comments
------------------------------------------------------------------
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 *
1.03: released 7/29/91 Fixed DoneBoot screen rest. prob.
1.04: released 7/30/91 Added plane protection
1.10: released 7/30/91 Option to customize status
bar colors, use 3rd color
* Thank you, Tom Moore, for suggestions employed in releases 1.01 through
1.02.
Source Code
-----------
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 diskette format).
Getting Started
---------------
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 NiceBoot, load it BEFORE
NiceBoot. If, on the other hand, you find that something in the AUTOEXEC.BAT file is conflict-
ing 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 used):
DEVICE=[path]NICEBOOT.SYS [/cbbff] [/snn] [/e(n1,n2,n3,..,nn)] [/b] [/p]
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 brack-
ets 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 EGA 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:
Index Color
------------------------
30 Black
31 Blue
32 Green
33 Cyan (Bluish green)
34 Red
35 Magenta (purplish)
36 Brown
37 White
38 Gray
39 Light Blue
3A Light Green
3B Light Cyan
3C Light Red
3D Light Magenta
3E Yellow
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 of these!
The "/s" option is similar. The "/s" option specifies the pattern to be used for the
status bar. Optionally, you may specify a "special" mode whereby the planes are masked to get
the status bar to display in a 3rd color! (Don't forget, this is a monochrome screen. Normal-
ly, such screens permit only two colors onscreen at once. But with this special option, you can
get a third!) The format is like this: you specify two hexadecimal digits after the "/s". The
first one is "8" to get the special third color option (which typically comes in looking black-
ish-blue. The color varies depending on the value of the foreground color specified above). A
"0" as the first digit indicates that the status bar is to be drawn in the current foreground
color (see above). Now, the chart below details the second digit:
Second Digit Resulting Pattern
----------------------------------------------------------------------------
0 Solid Background color (see above)
1 Solid Foreground color (see above)
2 Alternating Vertical Bars
3 Same, but bars shifted to the right
4 "Matrix" Pattern
Here are some examples of the "/s" and "/c" switches:
Command Line Status Bar
-----------------------------------------------------------------------------
/c313f /s00 Blue status bar
/c313f /s01 White status bar
/c313f /s02 Blue/Black striped status bar
/c313f /s84 Blackish/Blue matrix-style status bar
/c3f31 /s82 Blackish/White striped status bar
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 se-
quences 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 provides 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 set.
Finally, NiceBoot's last option is the "/b" option which stands for "blank screen". Speci-
fying 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, say,
green.
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).
The last currently-available option is "/p". This option is a currently untested option
that hopes to solve some problems that some people have been having with NiceBoot. Actually, it
"turns off" this new bug-fix. You see, with the release of version 1.04/1.10, a new bit-plane
masking feature has been added which prevents any and all writes to video memory while NiceBoot
is active (except for what NiceBoot wants to write). The intent of this option was to prevent
"noise" and other stray pixels from appearing on the screen while the program is running (from
device drivers, TSRs, etc).
As an added bonus, since the code resides IN graphics memory, the code should also be
protected. This should alleviate some of the system crashes that have resulted from TSRs writ-
ing over the currently executing program.
The "/p" feature's job is only to "turn off" this protection feature!! Do not use the "/p"
switch unless the protection code is actually causing more problems than is solves. In the
event that this "fix" is screwing things up even worse, you might need to use "/p". Try it both
ways.
Now that you are totally confused, here are some examples of valid NiceBoot 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
keyboard buffer)
DEVICE=NICEBOOT.SYS /c313e /e(0d) (Use blue background, yellow text, and
insert a carriage-return into the
keyboard buffer)
DEVICE=NICEBOOT.SYS /b /c3100 (Use a blank screen, colored blue)
DEVICE=NICEBOOT.SYS /p (Turn off memory-protection feature)
DEVICE=NICEBOOT.SYS /c3f32 /s81 (Use white background, green text,
and blackish status bar)
So far so good. Now when the system is booted, NiceBoot will take control 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 system. Since
DoneBoot is a COM file, it must be loaded via AUTOEXEC.BAT (or another batch file). Load Done-
Boot at the END of your batch file. If you come across any conflicting TSRs or programs,
though, load them AFTER DoneBoot. Here's its syntax:
DONEBOOT pathname
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 C:\NICEBOOT.SYS
DONEBOOT NICEBOOT.SYS
DONEBOOT D:\DOS\NICEBOOT.SYS
DONEBOOT NB (NiceBoot is renamed in this example)
Again, the pathname is not optional -- it must be included, and it must be correct!
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 abso-
lutely 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!
-----------------
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 Tamburino.
Keep in mind that I rarely use Genie!
I sincerely hope that you enjoy this program!
jjt
JJT