user documentation            CADH                        Veit Kannegieser




Installation
------------

  a)

  install using the WarpIN package
  
  OR

  b)

  move cadh.sym and cadh.sys to \os2\boot\

  add a "basedev=CADH.SYS" config.sys line

  run cad_wps.cmd to create an icon in the startup folder

  reboot


  put TOP.EXE from <http://home.clara.net/orac/os2.htm#top>
  somewhere reachable on %PATH%.


known problems
--------------

 * System shutdown asks to terminate program

   workaround:
   a) disable confirm

   b) kill the process from enhanced shutdown
      -recommended-

   c) use "RUN=\OS2\APPS\CAD_POP.EXE" in config.sys
      may not work correctly! (command shell hangs in endless prompt)

 * currently no hotkey configuration option

   cadh.sys can enhanced to filter other hotkeys like
   PtrScr, SysReq, Ctrl+Esc,...

 * It seems not be possible to activate the menu during
   Lockup (even in screen saver mode). I do not think
   that i need to change that.


ideas
-----

 * add function to mute/unmute audio
 * mouse access - like the hard error popup?
 * network login/logoff?
 * how do i kill "unkillable processes?" (exitlist..)
 * create online ipf helpfile
 * there is an priority DeviceHelp function...
   may produce more damage, since priority is per thread,
   and cad_pop displays processes..
 * use new just in time debug attach to free resources
   and end processes?


user requests
-------------

 * password protect cad_pop functionality
   maybe use security package?


hints
-----

 * pressing the hotkey (currently Ctrl+Alt+Del) during applications
   that use VioScrLock, will take about 30 seconds timeout after
   the beeps before the popup will appear, on return from the popup
   the displayed image may be corrupted.

 * the popup will also not display until you exit from an
   hard error popup (like cmd /c a: with an empty floppy drive),
   possible solution: use MGL?

 * after the beeps, pressing Ctrl+Alt+Del again before exit from the popup,
   will cause the usual reboot function, you can press the hotkey again
   after exit from popup and hearing beeps.


how it works
------------

  Cadh.sys alters kbdbase.sys code that sends a system message when CAD is
  detected, the modification causes a call of code in cadh.sys.
  Cadh.sys will either send the system message, or if an program has
  registered an event semaphore with cadh.sys, it will post that.

  Cad_pop.exe creates an named event semaphore '\SEM32\CADH' and registers
  it with cadh.sys. Then it waits for an event. cap_pop.exe runs at
  a very high priority to cause instant working in case it is woken up.

  Currently cad_pop uses VioPopup services to take over keyboard and screen.
  This means that the menu can not displayed if another popup is already
  running. The VioPopup documentation says that only limited set of
  functions is available during popup, but so far all needed things like
  an external command shell run well, the only thing not possible is
  lauching PM or DOS programs.


changes
-------

   2003.06.19
   cahd.sys improvements by Dietrich Teickner
    * Warp 4 fp12 compatible (kbdbase.sys has other jump)
    * works better during high cpu load?
    * allocate context hook only after successful search for patch code
    * protect driver for only one basedev init command
    * optimisations
   tested cad_pop with 4OS2 (version 3.04B), have not found problems
   cad_pop beeps and waits for keypress on startup errors.
   error handling for CMD/TOP shells

   2003.07.20
   if cad_pop is running detached (detach cad_pop.exe or
    run=E:\OS2\APPS\CAD_POP.EXE in config.sys), then the screen
    was not painted correctly
   added process code similar to pstat/ps/go
   added filter list for process list (cad_pop.hid)
   2003.07.21
   process list filter switchable ('F')

   2004.08.18
   corrected spelling errors
   added menu configuration file cad_pop.mnu
    note: only read at program startup, you need to quit and 
          restart the program
   search cad_pop.mnu/hid in %home%, then in program directory
   unlock open executables on unmount on error code 108
    open *.cat/*.ir/*.ttf files still prevent unmount
   added option to provide menu functionality even when
    cadh.sys is not loaded: "CAD_POP.EXE /NoCadH"
   split wpi in two packages, driver directory fixed, app directory selectable
   added resource manager support to cadh.sys
   restore switch list entry when program exits.
  
   2004.08.31
   nl translation, thanks to Jan van der Heide
   corrected handling of non-printable keys in menu. example: Delete
 
   2004.09.01
   simplified translation and made key usage translateable
  
   2004.09.02
   updated nl translation
  
   2004.09.09
   WarpIn installation did not install executable correctly since package
    split (2004.08.18)
   use OS error messages for 'unknown' errors.
   added semaphore lock to screen updates from mount/unmount threads
  
   2004.12.06
   added russian translation, thanks to Yuri Proniakin
   excluded FAT32 from unmount
  
   2005.01.0?
 -> add hotkey option
    password protection