home *** CD-ROM | disk | FTP | other *** search
- ____________________________
- | |
- | CBEEP - DBEEP |
- | Replace BEEP With a Flash! |
- |____________________________|
-
- Copyright (C) 1991
- >>-Swift-Ware->
-
- Version 1.2
- April 1991
-
- I. Introduction
-
- CBEEP, DBEEP, and the associated files were designed to allow the
- replacement of the usual beep sound (which many programs use to
- get the user's attention) with a visual flash. Potential uses
- for such a capability are to allow a hearing-impaired person to
- sense the beep or to avoid disturbing normal-hearing people yet
- allow the program to signal the user. This is accomplished by
- replacing the code which generates the beep sound with new
- program instructions which replace the beep with a flash of
- selectable size and duration. Although the copyright has been
- retained, there is no charge for use of these programs and they
- may freely be copied and distributed to others as long as they
- are not modified and all files, including this documentation, are
- included.
- II. Installation and Use
-
- The primary programs in this package are CBEEP.COM and DBEEP.COM.
- They will usually be referred to without their .COM extensions
- for convenience. DBEEP is first used to produce a new renamed
- version of any program which has the beep replaced by a flash.
- Then CBEEP is loaded into the computer's memory. CBEEP is the
- program which actually makes the flash when called upon to do so
- by the debeeped program. Finally the debeeped version of the
- program is loaded and run. After some initial preparation, the
- use of the debeeped version of a program can be made completely
- automatic and transparent to the user.
-
- First, the program to be debeeped must be selected. Programs can
- be recognized by their file extension of .COM (for "command"
- or .EXE (for "executable"). DBEEP, CBEEP, and the program to be
- debeeped should all be placed in the same subdirectory. For
- simplicity, this may be the subdirectory in which the program to
- be debeeped was initially located. That subdirectory should next
- be made the current subdirectory. Then the debeeping program
- DBEEP should be started by entering its name from the DOS command
- line. If the program to be debeeped was NOISY.EXE in subdirectory
- C:\PROGRAMS, and if CBEEP and DBEEP were on a floppy disk
- inserted in floppy disk Drive A:, this might be done by something
- like
- C:
- CD \PROGRAMS
- COPY A:CBEEP.COM
- COPY A:DBEEP.COM
- DBEEP
-
- This will start execution of the debeeping program. DBEEP will
- display a menu where <F1> may be pressed to display a help
- screen, <F2> may be pressed to start the debeeping process, and
- <F3> may be pressed to install CBEEP in the computer. For now,
- let's wait a bit before installing CBEEP and go on to create the
- debeeped version of the program. Press <F2> and you will be
-
- prompted to enter the name of the program to be debeeped. In our
- example, the program was NOISY.EXE in subdirectory PROGRAMS on
- Drive C:, so enter
-
- C:\PROGRAMS\NOISY.EXE
-
- If you followed the previous instructions, the current
- subdirectory would have been C:\PROGRAMS, so the full path
- reference would not have been necessary, just entering NOISY.EXE
- would have been ok. Next you will be prompted for the name of the
- new (debeeped) version of the program which you want to create.
- Select any name with no more than eight letters in the name and
- use the same extension (the ".COM" or ".EXE") as was used in the
- original program. It is very important to use the same extension
- but the name should be different from the original name. In our
- case we might select the name NOTNOISY.EXE as our new program.
- After you enter the new program name, DBEEP will begin the
- debeeping process. You will see from the display on the screen
- that the process has begun and the display will indicate when the
- debeeping process has finished; this may take a minute or so.
- After DBEEP has finished, you may press <F3> to "launch" CBEEP.
- This places into the computer's memory the program which produces
- the flash when called upon to do so by the debeeped version of
- the program. As part of the process of installing or launching
- CBEEP, the CBEEP menu will be displayed which will allow
- selecting the size and duration of the flash. Press the number
- keys as indicated to select your preferred choice. Finally,
- after completing the creation of the debeeped program (which you
- have given a new name) and installing CBEEP, you are ready to
- exit from DBEEP which may be done by pressing the <Esc> key. You
- will now be back at the DOS prompt and may run your new debeeped
- version of the program by entering its new name. In our example,
- merely enter NOTNOISY. That's all there is to it.
-
- In some cases, you may see the message "NO BEEPERS FOUND" even
- though you know that the program produces beeps. In most cases,
- this will not cause a problem and the beeps will properly be
- intercepted and replaced by flashes. A further discussion of
- this will be found in the section for Advanced Topics.
-
- Once it has been created, it is not necessary to go through all
- the previous steps to run the debeeped program again. Normally
- CBEEP will stay in memory ready to do its job until the computer
- is rebooted or the power is turned off. The debeeped version of
- your program (i.e. NOTNOISY.EXE in the example above) will remain
- available for use. All you have to do to run the program a
- second time is to move to the proper subdirectory and enter the
- debeeped program's name again. In our example,
-
- C:
- CD \PROGRAMS
- NOTNOISY
-
- If the computer has been rebooted or the power has been turned
- off, it will be necessary to reload CBEEP in the computer's
-
- memory. This can be done by entering DBEEP from the command line
- and then pressing <F3> and continuing to install CBEEP as was
- done before. A shortcut which can be used if you remember the
- number of the menu item you used to select the flash size and
- duration is to skip the use of DBEEP and just enter CBEEP /n from
- the DOS command line, where for "n" you enter the menu item
- selection. For example, to get a large, 1/2 sec. flash, enter
- CBEEP /2.
-
- If you use the debeeped versions of your programs frequently, you
- may want to place the CBEEP /n command in your AUTOEXEC.BAT file
- where it will cause CBEEP to be automatically installed each time
- you reboot or power up your computer.
-
- The previous instructions were written for use with a computer
- with a hard disk. If you have two floppy disks instead, the
- instructions will generally be the same except that you should
- replace "C:" with "B:" wherever it appears. You will, however,
- have to be sure there is enough room on the floppy in Drive B: to
- hold CBEEP, DBEEP, and the new debeeped version of your program.
-
- If you have only a single floppy disk, it is still possible to
- follow a similar process. If you are a reasonably experienced
- DOS user, you can probably figure out how to modify the above
- instructions. If you are not sufficiently experienced, it will
- probably be best to get help from a more experienced friend.
-
- IV. Advanced Topics
-
- The previous sections have been written assuming some familiarity
- with DOS on the part of the user, but that he does not have
- advanced knowledge. For the more advanced user, additional
- information, not usually needed, will be included in this
- section.
-
- CBEEP.COM is a terminate-and-stay-resident (TSR) program which is
- called by the debeeped program. DBEEP.COM searches the original
- user's program and replaces all code which generates beeps with
- code which generates a software interrupt. Normally interrupt
- 60H is used, but CHGINT.COM may be used to select another
- interrupt if 60H causes interference with other users of the same
- interrupt. CBEEP, DBEEP, and CHGINT should be placed in the same
- subdirectory, and CHGINT run. That will display a menu allowing
- selection of an alternate interrupt number in the range 60H to
- 66H. You should be very careful about using interrupt 67H as it
- is used for LIM EMS (an Expanded Memory manager) in all versions
- of DOS beginning with DOS 2.0 although only officially reserved
- by DOS in DOS 4.0 and above.
-
- C/DBEEP should be compatible with all versions of DOS from DOS
- 2.0 on and should work with MDA, Hercules, CGA, EGA, and VGA
- display adapters.
-
- If the space taken up by CBEEP is needed in order to run large
- applications or if there are conflicts with other TSRs, CBEEP may
- be uninstalled by entering CBEEP /U from the DOS command line.
- This can be done only if no other TSRs have been loaded after
- CBEEP. If you need to load additional TSRs after CBEEP and
- unload them (as well as CBEEP), you may want to look at TSR
- control programs such as PC Magazine's INSTALL and REMOVE or the
- well known MARK and RELEASE (usually contained in a compressed
- archive called TSRCOM.ARC or TSRCOM.ZIP) or their commercial
- equivalents such as POPDROP.
-
- If you want to suppress the messages output by CBEEP when it
- loads and unloads, you can redirect the output to NUL. For
- example CBEEP /1 > NUL will result in no output to the screen.
- The installation message can also be suppressed by adding "x" to
- the size/duration switch, CBEEP /1x.
-
- Beeps can be generated in several ways. The best-behaved method
- is to use DOS' BIOS services to send a BEL (character code 7) to
- the screen. An alternate method is directly to manipulate the
- hardware which controls the speaker. This is done by using the
-
- OUT instruction to change the two low order bits of port 61H to
- turn the speaker on and off. DBEEP looks for the code which
- generates such instructions and replaces it with a software
- interrupt (using either the default interrupt number of 60H or an
- alternate interrupt number selected via CHGINT), padding as
- needed with NOPs. A reasonableness check of surrounding data is
- made in order to distinguish code from data prior to replacing
- the beep codes. This technique for handling direct port writes
- was suggested by Dave Fallen's SILENCER program code.
-
- In some cases the message "NO BEEPERS FOUND" is produced by DBEEP
- even though the code being debeeped is known to produce beeps.
- This is generally caused by code which does not write directly to
- hardware ports but merely uses DOS or BIOS services to produce a
- beep by sending the BEL character to the screen. The interrupts
- used by these services are trapped by CBEEP and thus the beeps
- are properly converted into flashes even though no code is
- modified by DBEEP. The message "NO BEEPERS FOUND" thus indicates
- that no code replacement was necessary rather than that the
- program being debeeped doesn't have any beep-producing code.
-
- There are a few known limitations to this procedure. Compressed
- executable code will not generally allow the instructions to be
- properly identified. If the compression technique which has been
- used is known, it may be possible to uncompress the code, apply
- the debeeping program to the uncompressed version, and then
- recompress the debeeped version. Microsoft Windows code may
- cause problems. Programs which have been compressed can be
- identified (along with the compression technique used) by the
- utility CHK4COMP.EXE. Many commercial programs have been
- compressed by Microsoft's EXEPACK; these may be unpacked by using
- UPACKEXE.EXE. As of this writing, CHK4COMP could be obtained
- from CompuServe IBMSYS in CKH4.ZIP; UPACKEXE was also available
- from CompuServe IBMSYS in LZEX91.ZIP.
-
- C/DBEEP has not been tested for use on overlays. For standard
- overlays it may be possible to debeep the overlays just like
- a .COM or .EXE file. Borland's VROOMM (TM) overlays are known to
- cause problems (they are identifiable by the .VRM extension). In
- particular, the file Q.VRM in Quattro Pro 1.0 may not be debeeped
- using the standard method.
-
- Generally it is anticipated that for a hearing-impaired user,
- CBEEP will be installed by a line in AUTOEXEC.BAT and that the
- debeeped program will be called instead of the standard version,
- either through use of batch files or by renaming. In case the
- application program needs to be used in both a normal and a
- debeeped mode, both versions (with different names, of course)
- may be used at any time. The original code is never modified.
-
- V. Disclaimer
-
- The software and documentation in this packare are provided "As
- Is" without warranty of any kind. >>-Swift-Ware-> does not
- warrant, guarantee, or make any representations regarding the
- use, or the results of use, of this software. All risk taken in
- the use of this software is assumed by you, the user, and not by
- >>-Swift-Ware->, nor by any person or organization who may
- distribute this product.
-
- OTHER PROGRAMS by the AUTHOR:
-
- BOBCAT ($15.00) ....... Lets anyone manage their Files and Directories,
- with an easy press of a key you can copy, move
- delete, view, mark, create, edit, compress, -
- uncompress, format - plus enables the user to
- assign up to 20 of his or her commands or favorite
- programs to the menuing system and many more -
- features from within a window environment...
-
-
- MENU MAKER ($10.00) ... Makes it easy for anyone to create beautiful
- stand alone - 3D Text mode graphic shadow box
- window menus. Create up to 4 windows you can pop
- down by the press of a function key then highlight
- your commands or program names via menu bar or -
- mouse to activate them.
-
-
- REDEFINE ($10.00) ..... Enables assigning up to 20/60 character command -
- strings to any of the Alt + Number keys or function
- keys F1 to F10 plus recall your last 10 DOS commands.
-
- Also includes many utilities - View files, Copy,
- Delete, Rename, Show All Paths, NotePad, and many
- more in an easily Deactivated Pop Down TSR.
-
-
- GRAB4 ($10.00) ....... TSR that makes it an easy task to capture text
- mode screens from within most any running program.
- Enables saving screens as Executables including -
- their color values, or save as a readable text mode
- ASCII file, you can also edit any current or saved
- screen and capture or append to another file.
- Easily Deactivated.
-