home *** CD-ROM | disk | FTP | other *** search
/ The World of Computer Software / World_Of_Computer_Software-02-386-Vol-2of3.iso / c / cdbeep15.zip / CDBEEP.DOC < prev    next >
Text File  |  1993-01-31  |  11KB  |  228 lines

  1.  
  2.  
  3.  
  4.  
  5.                                                         
  6.                                   CBEEP - DBEEP         
  7.  
  8.                            Replaces  BEEP with a FLASH  
  9.  
  10.                               Copyright (C) 1991-93
  11.  
  12.                                  >>-Swift-Ware->
  13.  
  14.  
  15.                                   Version   1.4
  16.                                   January  1993
  17.  
  18.  
  19.  
  20.  
  21.         INTRODUCTION:
  22.  
  23.         CBEEP, DBEEP, and the associated files were designed to allow the
  24.         replacement  of the usual beep sound (which many programs use  to
  25.         get  the user's attention) with a visual flash.   Potential  uses
  26.         for  such a capability are to allow a hearing-impaired person  to
  27.         sense  the beep or to avoid disturbing normal-hearing people  yet
  28.         allow  the program to signal the user.  This is  accomplished  by
  29.         replacing  the  code  which generates the  beep  sound  with  new
  30.         program  instructions  which  replace the beep with  a  flash  of
  31.         selectable  size and duration. 
  32.  
  33.  
  34.  
  35.         INSTALLATION and USE:
  36.  
  37.         The primary programs in this package are CBEEP.COM and DBEEP.COM.
  38.         They  will usually be referred to without their  .COM  extensions
  39.         for  convenience.  DBEEP is first used to produce a  new  renamed
  40.         version  of any program which has the beep replaced by  a  flash.
  41.         Then  CBEEP is loaded into the computer's memory.  CBEEP  is  the
  42.         program which actually makes the flash when called upon to do  so
  43.         by  the  debeeped program.  Finally the debeeped version  of  the
  44.         program  is loaded and run.  After some initial preparation,  the
  45.         use  of the debeeped version of a program can be made  completely
  46.         automatic and transparent to the user.
  47.  
  48.         First, the program to be debeeped must be selected.  Programs can
  49.         be  recognized  by their file extensions of .COM  (for  "command"
  50.         or .EXE (for "executable").  DBEEP, CBEEP, and the program to  be
  51.         debeeped  should  all be placed in the  same  subdirectory.   For
  52.         simplicity, this may be the subdirectory in which the program  to
  53.         be debeeped was initially located.  That subdirectory should next
  54.         be  made the current subdirectory.  Then the  debeeping  program,
  55.         DBEEP,  should  be  started by entering its  name  from  the  DOS
  56.         command  line.  If the program to be debeeped  was  NOISY.EXE  in
  57.         subdirectory C:\PROGRAMS, and if CBEEP and DBEEP were on a floppy
  58.         disk  inserted  in floppy disk Drive A:, this might  be  done  by
  59.         something like
  60.  
  61.                   C:
  62.                   CD \PROGRAMS
  63.                   COPY A:CBEEP.COM
  64.                   COPY A:DBEEP.COM
  65.                   DBEEP
  66.  
  67.         This  will start execution of the debeeping program.  DBEEP  will
  68.         display  a  menu  where [F1] may be pressed  to  display  a  help
  69.         screen,  [F2] may be pressed to start the debeeping process,  and
  70.         [F3]  may be pressed to load CBEEP into the computer.   For  now,
  71.         let's  wait  a bit before loading CBEEP and go on to  create  the
  72.         debeeped  version  of the program.  Press [F2] and  you  will  be
  73.         prompted to enter the name of the program to be debeeped.  In our
  74.         example,  the program was NOISY.EXE in subdirectory  PROGRAMS  on
  75.         Drive C:, so enter
  76.  
  77.                   C:\PROGRAMS\NOISY.EXE
  78.  
  79.         If   you   followed  the  previous  instructions,   the   current
  80.         subdirectory  would  have  been C:\PROGRAMS,  so  the  full  path
  81.         reference would not have been necessary, just entering  NOISY.EXE
  82.         would  have been ok.  Next you will be prompted for the  name  of
  83.         the  new  (debeeped)  version of the program which  you  want  to
  84.         create.   Select any name with no more than eight letters in  the
  85.         name  and  use the same extension (the ".COM" or ".EXE")  as  was
  86.         used  in the original program.  It is very important to  use  the
  87.         same extension but the name should be different from the original
  88.         name.   In our case we might select the name NOTNOISY.EXE as  our
  89.         new  program.  After you enter the new program name,  DBEEP  will
  90.         begin the debeeping process. You will see from the display on the
  91.         screen  that the process has begun and the display will  indicate
  92.         when  the debeeping process has finished; this may take a  minute
  93.         or so.  After DBEEP has finished, you may  press [F3] to "launch"
  94.         CBEEP.   This  places into the computer's  memory  ("loads")  the
  95.         program which produces the flash when called upon to do so by the
  96.         debeeped  version  of  the program.  As part of  the  process  of
  97.         launching  (or loading) CBEEP, the CBEEP menu will  be  displayed
  98.         which  will allow selecting the size and duration of  the  flash.
  99.  
  100.         If  the computer has been rebooted or the power has  been  turned
  101.         off,  it  will  be necessary to reload CBEEP  in  the  computer's
  102.         memory. This can be done by entering DBEEP from the command  line
  103.         and  then pressing [F3] and continuing to load CBEEP as was  done
  104.         before.  A shortcut which can be used if you remember the  number
  105.         of  the menu item you used to select the flash size and  duration
  106.         is to skip the use of DBEEP and just enter CBEEP /n from the  DOS
  107.         command  line, where for "n" you enter the menu  item  selection.
  108.         For example, to get a large, 1/2 sec. flash, enter CBEEP /2.
  109.  
  110.         If you use the debeeped versions of your programs frequently,  it
  111.         is  recommended  that you  place the CBEEP /n command within your
  112.         AUTOEXEC.BAT  file  where it will cause CBEEP to be automatically
  113.         loaded each time you reboot or power up your computer.
  114.  
  115.  
  116.  
  117.         CHANGING INTERRUPT SETTING:
  118.  
  119.         CBEEP.COM is a terminate-and-stay-resident (TSR) program which is
  120.         called by the debeeped program.  DBEEP.COM searches the  original
  121.         user's  program and replaces all code which generates beeps  with
  122.         code  which generates a software interrupt.   Normally  interrupt
  123.         60H  is  used,  but  CHGINT.COM may be  used  to  select  another
  124.         interrupt if 60H causes interference with other users of the same
  125.         interrupt.  CBEEP, DBEEP, and CHGINT should be placed in the same
  126.         subdirectory, and CHGINT run.  That will display a menu  allowing
  127.         selection of an alternate interrupt number from 60H to 66H.
  128.  
  129.         C/DBEEP  should be compatible with all versions of DOS  from  DOS
  130.         2.0  on  and will work with MDA, Hercules, CGA,  EGA,  and  VGA
  131.         display adapters.
  132.  
  133.         If  the space taken up by CBEEP is needed in order to  run  large
  134.         applications or if there are conflicts with other TSRs, CBEEP may
  135.         be  uninstalled by entering CBEEP /U from the DOS  command  line.
  136.         This valid only if no other TSRs have been loaded after CBEEP.
  137.  
  138.         If  you  want to suppress the messages output by  CBEEP  when  it
  139.         loads  and  unloads,  you can redirect the output  to  NUL.   For
  140.         example  CBEEP  /1 > NUL will result in no output to  the  screen
  141.         while  loading.  The installation message can also be  suppressed
  142.         by adding "x or any letter other then ENTER" to the size/duration 
  143.         switch, example - CBEEP /1x.
  144.  
  145.         Beeps can be generated in several ways.  The best-behaved  method
  146.         is to use DOS' BIOS services to send a BEL (character code 7)  to
  147.         the  screen.  An alternate method is directly to  manipulate  the
  148.         hardware  which controls the speaker.  This is done by using  the
  149.         OUT  instruction to change the two low order bits of port 61H  to
  150.         turn  the  speaker on and off.  DBEEP looks for  the  code  which
  151.         generates  such  instructions  and replaces it  with  a  software
  152.         interrupt (using either the default interrupt number of 60H or an
  153.         alternate  interrupt  number  selected via  CHGINT),  padding  as
  154.         needed with NOPs.  A reasonableness check of surrounding data  is
  155.         made  in order to distinguish code from data prior  to  replacing
  156.         the  beep codes.
  157.  
  158.         In some cases the message "NO BEEPERS FOUND" is produced by DBEEP
  159.         even  though the code being debeeped is known to  produce  beeps.
  160.         This is generally caused by code which does not write directly to
  161.         hardware ports but merely uses DOS or BIOS services to produce  a
  162.         beep by sending the BEL character to the screen.  The  interrupts
  163.         used  by these services are trapped by CBEEP and thus  the  beeps
  164.         are  properly  converted  into flashes even  though  no  code  is
  165.         modified by DBEEP.  The message "NO BEEPERS FOUND" thus indicates
  166.         that  no  code  replacement was necessary rather  than  that  the
  167.         program being debeeped doesn't have any beep-producing code.
  168.  
  169.         There are a few known limitations to this procedure.   Compressed
  170.         executable  code will not generally allow the instructions to  be
  171.         properly identified.  If the compression technique which has been
  172.         used  is known, it may be possible to uncompress the code,  apply
  173.         the  debeeping  program  to the uncompressed  version,  and  then
  174.         recompress  the  debeeped version.
  175.  
  176.         CDBEEP  has  not been tested for use on overlays.   For  standard
  177.         non-compressed overlays it may be possible to debeep the overlays
  178.         just like a .COM or .EXE file. 
  179.  
  180.  
  181.  
  182.         DISCLAIMER:
  183.  
  184.         The  software and documentation in this package are provided  "As
  185.         Is"  without  warranty  of any kind.   >>-Swift-Ware->  does  not
  186.         warrant,  guarantee,  or make any representations  regarding  the
  187.         use, or the results of use, of this software.  All risk taken  in
  188.         the use of this software is assumed by you, the user, and not  by
  189.         >>-Swift-Ware->,  nor  by  any person  or  organization  who  may
  190.         distribute this product.
  191.  
  192.  
  193.         Send comments to:
  194.  
  195.         Author:
  196.         William Cravener
  197.         520 N. Stateline Rd.
  198.         Sharon Pa. 16146
  199.  
  200.         or Email to CIS: 72230,1306
  201.  
  202.  
  203.  
  204.         REVISION HISTORY:
  205.  
  206.         1.0 - Original release.
  207.  
  208.         1.1 - Removed autoloading of CBEEP.
  209.  
  210.         1.2 - Code same as 1.1, revised documentation.
  211.  
  212.         1.3 - Removed code which saved and restored  video mode.
  213.               It caused loss of previous palette or font settings.
  214.  
  215.         1.4 - Minor update, some modifications. This version was not
  216.               released to the public.
  217.  
  218.         1.5 - Added a new "Keyboard LEDs" option that enables the
  219.               flashing of the Num, Caps and Scroll LEDs on the keyboard.
  220.               Improved video handling for faster screen writes,  many
  221.               modifications made to both  CBEEP and DBEEP  to improve
  222.               program performance.  Simplified and revised documentation.
  223.               The new LED flash option will not work on the old XT's.
  224.              
  225.  
  226.         -----------------------  END OF DOCUMENT -----------------------
  227.  
  228.