Contents of the SIL2.DOC file
Copywrite (c) 1985 by Carl Burtner
This Program Is In The Public Domain.
Users are encouraged to make as many copies as they
like and to distribute them to whomever they choose.
Under No Circumstances Is This Program To Be Sold.
If you have problems, questions, suggestions, or desire a
copy of this programs assembler listing,
please contact me.
435 Brandon Road
Rochester, N.Y. 14622
Silence Version 2.0
Silence is dedicated to keeping your PC quiet. Most program
sounds will be eliminated entirely or reduced to a series of
clicks. Some sound effects which use short duration tones
or turn the PC's interrupts off may not be silenced.
Silence should be compatible with most programs and IBM-PC
compatible computers. Silence 2.0 has some advanced options
which can enhance its ability to silence some previously
unsilenceable sounds. These options may not be compatible
with all programs. Incompatibility generally makes itself
evident by greatly slowing down the program. When in doubt,
Silences default settings have never been observed to cause
To speed things up, Silence 2.0 uses direct writes to the
screen buffer for displaying the function access screen and
the copywrite notice. To do this, Silence does its best to
determine the type of display adapter installed. It is
possible that a non-standard adapter could fool Silence into
making a wrong assumption. If this happens the display will
most likely remain blank. To force Silence to ignore its
determination and use either the color or mono display
adapter enter the command "Sil2 c" for the color adapter or
"Sil2 m" for the mono adapter.
Silence is a resident program. Once installed, Silence
remains in the computers memory until it is turned off or
rebooted. To install Silence just type the name of the
program (Sil2) and hit the return key. Silence will
initialize and display a function access screen which allows
the setting of several options. If you don't wish to change
any options either hit the escape key once or hit the return
key several times to tab to the end of the screen. If you
wish you can install Silence without being presented with
the function access screen. To do this enter "Sil2 d" (the
d stands for default) without the quotes.
Silence's options may be changed at any time either by
entering one of the commands described below or by entering
Sil2 to use the function access screen. However, because
Silence is a resident program it is possible that another
resident program installed after Silence may make it
impossible to change Silence's settings. If this should
happen Silence will inform you. To correct the problem try
Silence Version 2.0
rebooting and installing Silence after any other resident
program being used.
Silence 2.0 supports the same commands as Silence 1.0.
Sil2 on - Turns Silence on. Program sounds will no
longer be heard. Error messages are returned
if Silence has not been installed or if
changing the setting is not possible.
Sil2 off - Turns Silence off. Program sounds will now be
heard. Error messages are returned if
SILENCE has not been installed or if changing
the setting is not possible.
In addition, Silence 2.0 adds the following commands:
Sil2 d - Installs Silence without displaying the
function access screen.
Sil2 c - Installs Silence and/or displays the function
access screen assuming that the color display
adapter is installed
Sil2 m - Installs Silence and/or displays the function
access screen assuming that the monochrome
display adapter is installed.
Only one command may be entered at a time.
Theory of Operation
The IBM PC has a system clock that "ticks" 18.2 times a
second. Every time the clock ticks an interrupt is
generated. The interrupt causes the computer to stop
whatever it is doing and execute a short program stored at a
previously defined location in memory. The normal program
called at every clock tick updates the time of day and turns
off disk drive motors that have run too long. After
completing its task, the interrupt routine returns the
Silence Version 2.0
computer to doing exactly what it was doing before the
Sound in the IBM PC is generated by a timer. The timer is
loaded by a program with the desired frequency (pitch) and
begins to run. The timers output tone goes to a gate
controlled by the computer. The gate is connected to the
speaker and allows the tone supplied by the timer to be
turned on and off.
Silence operates by taking over the interrupt generated by
the system clock. Every time the clock ticks, Silence is
called instead of the normal time of day routine. Once
called, Silence turns off the gate to the speaker and sets
up the timer so that it produces a click instead of a tone.
After this, Silence passes control to the normal clock tick
routine so that the time of day and disk drives will operate
normally. In this way, when a program produces a tone, the
tone will be turned off after 1/18.2 of a second and the
timer will only produce a click. It is possible for a
program to set the computer to ignore the system clock tick.
When a program does this, Silence is temporarily disabled
and cannot turn off the sound.
This summary has only covered Silence's basic operation.
Silence's advanced options such as Burst Delay and
Acceleration alter certain aspects of the way Silence works
to provide the user with greater silencing power. These
options are described more fully below.
There are several options that may only be changed by using
the function access screen. To display these options enter
Sil2 (or "Sil2 c" or "Sil2 m" if your adapter is
non-standard). The function access screen will be displayed
along with the current settings of the options. To change
the settings use the return key to tab to the desired
option, select a setting from the menu, and hit the return
key. If you make a mistake, the backspace key can be used
to correct it. To exit from the function access screen
either hit the return key to tab to the end of the screen or
hit the escape key to exit immediately. If you select a
setting from the menu and hit the escape key instead of the
return key your selection will be ignored, the function
access screen will be exited, and the setting of the option
will not be changed.
Silence Version 2.0
The available options are as follows:
Silence 1. On 2. Off
Timer Mode 1. Program Controlled 2. Beep 3. Click
Speaker Enable 1. Program Controlled 2. Silence Controlled
Burst Delay 1. Off 2. 1 Sec. 3. 2 Sec.
4. 5 Sec. 5. 10 Sec. 6. 15 Sec.
Acceleration 1. 1X (off) 2. 5X 3. 10X
4. 50X 5. 100X 6. 255X
Blink 1. On 2. Off
Silence On and Off perform as described in the command
Timer Mode controls the mode Silence uses at every clock
tick to reset the timer that produces the tones. The
default is to reset the timer to produce clicks. If you
change the setting to Beeps with the Speaker Enable under
control of Silence, short beeps will be produced instead of
clicks. If you set the Timer Mode for Program Control,
Silence will not alter the mode of the timer.
Speaker Enable allows the speaker to be under control of
Silence or the users program. Under Silence's control the
speaker will be turned off at every system clock tick. If
option 1 is selected Silence will leave the speaker alone.
Setting the Timer Mode and Speaker Enable to Program
Controlled with the Burst Delay, Acceleration, and Blink off
is the same as turning Silence Off.
Burst Delay is an advanced option that is useful in certain
situations. Not all programs work normally with the Burst
Delay option activated. Burst Delay waits the selected
amount of time before passing along any system clock ticks
to other interrupts. When the Burst Delay period expires
the clock ticks which occurred during the delay are passed
along all at once. If a game program is using the system
clock to generate continuous melodies the Burst Delay option
Silence Version 2.0
will cause the program to emit a long pause followed by an
unrecognizably short burst of sound consisting of all the
tones that would normally have occurred during the pause.
Acceleration controls the speed of the system clock.
Normally, the system clock produces about 18.2 clock ticks
every second. The Acceleration option allows you to change
the number of clock ticks produced per second from 18.2 to
over 4,000. Because Silence turns off the speaker at every
clock, there are instances where turning the speaker off up
to 4,000 times a second can be much more effective than
turning it off 18.2 times a second. Acceleration is not
compatible or effective with all programs. If a program
takes over the system clock (most do not), the accelerated
clock may cause erratic behavior or lock up. If a program
turns off the interrupts while producing sound, Acceleration
will have no effect. It is recommended that Acceleration
only be used when necessary. Do not routinely set
Acceleration to 255X every time Silence is initialized.
Use Acceleration only with those programs with which
it is needed, effective and compatible.
Using Burst Delay and Acceleration
The Burst Delay and Acceleration options are not designed to
be used with all programs or at all times. These options
are provided to give you, the user, more powerful tools for
silencing toublesome programs. The best course to follow is
to experiment to find the most effective and compatible
settings for each program. Don't be surprised if some
programs behave erratically or even lock up with some Burst
Delay and Acceleration combinations. On the other hand,
these options can be great fun (especially with on screen
clocks), so don't be afraid to experiment. If you have any
questions or serious problems, please contact me.
Blink, when activated, puts a small square in the upper left
corner of the screen and turns it on and off once a second.
Blink is a continuous visual reminder of the status of
Silence. If Silence is turned off, or if a program takes
over Silence's interrupt, the box will no longer blink. In
graphics modes Blink's box will appear as a short flashing
line. If you have a color monitor and adapter, Blink causes
a very small amount of "hash" to appear on the screen. If
you find this to be extremely offensive, let me know.