home *** CD-ROM | disk | FTP | other *** search
/ DP Tool Club 12 / CD_ASCQ_12_0294.iso / vrac / wcat11.zip / WATCHCAT.INF (.txt) < prev    next >
OS/2 Help File  |  1994-01-23  |  63KB  |  872 lines

  1.  
  2. ΓòÉΓòÉΓòÉ 1. Overview ΓòÉΓòÉΓòÉ
  3.  
  4. WatchCat is a program to recover OS/2 2.x from some kind of hangs by killing 
  5. (user-initiated) applications. The program can be useful when using bad-behaved 
  6. software (e.g. Windows software under Win-OS/2) or when developing own 
  7. applications. 
  8.  
  9. It requires 
  10.  
  11.   a simple connector w/switch on a parallel port
  12. OR  a similar connector but on the game port
  13. OR  a similar connector but on a COMx port
  14. OR  a joystick on the game port
  15.  
  16.  
  17. ΓòÉΓòÉΓòÉ 2. Introduction and QUICK START ΓòÉΓòÉΓòÉ
  18.  
  19. The indroduction gives an overview about possiblities and limitations of 
  20. WatchCat. 
  21.  
  22. This indroduction provides a quick start. 
  23.  
  24.  
  25. ΓòÉΓòÉΓòÉ 2.1. What WatchCat can do ΓòÉΓòÉΓòÉ
  26.  
  27. Although OS/2 2.x is normally very stable, sometimes badly behaved or buggy 
  28. applications can block both the keyboard and the mouse input and require a hard 
  29. reset. This is often frustrating because processes are still running and the 
  30. operating system is still working correctly - it's just that the user can't 
  31. input anything. WatchCat gives you another input mechanism that can't lock up - 
  32. an external switch on the parallel, game or serial port that you can trigger 
  33. when the system hangs. Unless OS/2 really has crashed and the WatchCat process 
  34. itself has been destroyed, you should be able to regain control. 
  35.  
  36. WatchCat is a process which runs continuously, monitoring an input port. 
  37. (Usually LPT2, but see the other options).  It runs with very high priority so 
  38. that it is almost guaranteed to become active on a regular basis. Don't 
  39. worry... it checks the port only once in 1.5 seconds, so you won't see any 
  40. performance degradation. 
  41.  
  42.  
  43. ΓòÉΓòÉΓòÉ 2.2. The aim of WatchCat ΓòÉΓòÉΓòÉ
  44.  
  45. Obviously, you have to start WatchCat before the system hangs :-) See the 
  46. chapter about installation on how to set up the program. WatchCat has several 
  47. options that you can enter on the startup command line: see the detailed 
  48. information below. 
  49.  
  50. To make use of WatchCat, wait until your system hangs  :-) Then toggle the 
  51. switch on the parallel, game or COMx port. Note that if you use a joystick on 
  52. the game port or any other switch that doesn't stay in one position once you 
  53. toggle it, you have to press and hold the switch until WatchCat activates. 
  54.  
  55. Whenever you activate the switch on the parallel/game/COMx port, WatchCat opens 
  56. a fullscreen window and displays a task list (see example). You can customize 
  57. this display to suit your own tastes, including changing the sort criteria, 
  58. displaying only PM programs, displaying the full path of programs or only the 
  59. file names, adding program descriptions, monochrome colours, ... 
  60.  
  61. From the WatchCat window you can either kill processes or open a full-screen 
  62. shell.  OS/2 hangups are usually caused by a crashed or bad behaved application 
  63. whose name you already know. If you kill the bad app(le) and return to the 
  64. Workplace Shell, things usually start working again. Sometimes the Workplace 
  65. Shell itself hangs, and then it may help to kill the PMSHELL process. (The WPS 
  66. will reload automatically.) 
  67.  
  68.  
  69. ΓòÉΓòÉΓòÉ 2.3. What WatchCat cannot do ΓòÉΓòÉΓòÉ
  70.  
  71. WatchCat can't work miracles. If OS/2 has crashed completely or things have 
  72. gone badly wrong, you need to reboot. However, in our experience in many cases 
  73. WatchCat lets us go on working, and in some other cases it lets us regain 
  74. control and save our work before rebooting; and if WatchCat is no help, nothing 
  75. but rebooting can help. If you need to reboot frequently, see if something is 
  76. wrong with your hardware, or if you have installed a very bad driver or 
  77. application. 
  78.  
  79. Under normal circumstances, WatchCat should come up in less than two seconds 
  80. after you activate the switch (or press and hold the joystick's fire button). 
  81. Sometimes, e.g. if the bad process is doing heavy port I/O it may take some 
  82. time for WatchCat to pop up. 
  83.  
  84.  
  85. ΓòÉΓòÉΓòÉ 2.4. QUICK START ΓòÉΓòÉΓòÉ
  86.  
  87. If you want to try WatchCat without reading the whole documentation do the 
  88. following: 
  89.  
  90.  1. First decide how Watchcat should be activated. The easiest is to use a 
  91.     Joystick. If you build a special connector you can use the parallel or the 
  92.     serial port too. 
  93.  
  94.  2. Start WatchCat. For the game port try watchcat /G. For other ports read the 
  95.     section about command line parameters (If WatchCat is in your PATH and you 
  96.     are using the game port click here to start WatchCat NOW). 
  97.  
  98.  3. Try to activate WatchCat by pressing the (joystick) button. The process 
  99.     list pops up (see example) and allows you to kill a process, to open a 
  100.     shell or to display detailed information (see example) about processes 
  101.     (This is described in the chapter about using WatchCat). 
  102.  
  103.  4. If you like WatchCat, configure it to your preferences and install it 
  104.     permanently. 
  105.  
  106.  5. Perhaps you want to install a special WatchCat WPS object which makes it 
  107.     easier to configure WatchCat. If not you can delete wpcat.dll. It is not 
  108.     needed by the program. 
  109.  
  110.  6. As a last step: If the program helped you in a special situation or 
  111.     prevented you from a crash we'd be glad to get a mail from you. All kinds 
  112.     of comments are very welcome. 
  113.  
  114.  
  115. ΓòÉΓòÉΓòÉ 3. How to build a connector ΓòÉΓòÉΓòÉ
  116.  
  117. You don't have to build a connector. A joystick on the game port also works. If 
  118. you don't have a joystick, building a small connector with a single switch is 
  119. cheaper than buying one. 
  120.  
  121.  
  122. ΓòÉΓòÉΓòÉ 3.1. Connecting with the parallel port ΓòÉΓòÉΓòÉ
  123.  
  124. It's so simple... Just go out and buy a 25-pin male SUB-D connector that fits 
  125. to your parallel port, and a single-pole double-throw (SPDT) switch.  The 
  126. switch looks like this: In the shown position pins 2 and 3 are connected. 
  127.  
  128. Connect the following pins: 
  129.  
  130.  
  131.  switch  connector DB-25
  132.  
  133.  1   <-   2 (DATA 0 signal, output)       used as logical HIGH
  134.  
  135.  2   ->  11 (BUSY signal, input)          used to input the state
  136.  
  137.  3   <-  19 (GROUND)                      used as logical LOW
  138.  
  139. The following picture gives an overview how to connect for these situations: 
  140.  
  141. You might also want to use another kind of switch: one that simply opens and 
  142. closes one connection. It's just like the one that is used as a Turbo Button in 
  143. your computer case. E.g. if you don't use your Turbo Button you can use it as 
  144. the activation switch for WatchCat. Get a switch that stays in the position 
  145. once you press it. 
  146.  
  147. You can use one like your case's Reset Button, but you might have to hold it 
  148. down for a while before WatchCat recognizes it. 
  149.  
  150. You will also need one 4.7 kOhm resistor. 
  151.  
  152. In the shown picture both pins are connected, when the button is pressed: 
  153.  
  154. Connect one end of the resistor to pin 11, the other end to pin 19 of the 
  155. parallel port connector. Pin 11 is also connected to one pin of the switch. The 
  156. other pin of the switch is connected to pin 2 of the parallel port.  The 
  157. following picture gives an overview how to connect for these situations: 
  158.  
  159.  
  160. ΓòÉΓòÉΓòÉ 3.2. Connecting with a serial COMx port ΓòÉΓòÉΓòÉ
  161.  
  162. The same two kinds of connectors (as described in the previous section) can be 
  163. used here, too. Get a 25-pin or 9-pin female connector for the serial port. 
  164. For the first type of switch (SPDT), connect the following pins: 
  165.  
  166.  
  167.  25-pin     9-pin      connector on COMx
  168.  
  169.  1 <- 20    1 <- 4     (+12V DC output)      used as logical HIGH
  170.  
  171.  2 -> 22    2 -> 9     (RI)                  used to input the state
  172.  
  173.  3 <-  7    3 <- 5     (GROUND)              used as logical LOW
  174.  
  175. For the second type of switch: (Turbo Button...) Connect one end of the 
  176. resistor to pin 22 (25 pin)/9 (9 pin), the other end to pin 7/5 of the COMx 
  177. port connector. Pin 22/9 is also connected to one pin of the switch. The other 
  178. pin of the switch is connected to pin 20/4 of the serial port. Note that here 
  179. the resistor has to be around 12kOhm. 
  180.  
  181.  
  182. ΓòÉΓòÉΓòÉ 3.3. connecting with game port ΓòÉΓòÉΓòÉ
  183.  
  184. The same two kinds of connectors can be used here, too. Get a 15-pin male 
  185. connector for the game port.  For the first type of switch (SPDT), connect the 
  186. following pins: 
  187.  
  188.  
  189.  switch          connector DB-15 (game port)
  190.  
  191.  1   <-    1     (+5V DC output)                  used as logical HIGH
  192.  
  193.  2   ->   XX     (fire button, input)             used to input the
  194.                                                   state
  195.  
  196.  3   <-    4     (GROUND)                         used as logical LOW
  197.  
  198. Where XX equals  2  for  joystick A, button 1
  199.          7    joystick A, button 2
  200.          10    joystick B, button 1  <- recommended
  201.          14    joystick B, button 2
  202.  
  203. For the second type of switch: (Turbo Button...) Connect one end of the 
  204. resistor to pin XX, the other end to pin 4 of the game port connector. Pin XX 
  205. is also connected to one pin of the switch. The other pin of the switch is 
  206. connected to pin 1 of the game port. Note that here the resistor has to be 
  207. 4,7kOhm. 
  208.  
  209. For the game port, you should know that EVERY time you press (and hold) one 
  210. joystick's fire button, WatchCat is activated. We only say this because some 
  211. people are said to play games under OS/2... In this case we recommend to use 
  212. one of joystick B's buttons as the WatchCat switch (or build a connector on the 
  213. game port that uses the corresponding pin). Use the /B switch to specify which 
  214. button WatchCat has to watch - thereafter, you can safely play games with the 
  215. other joystick. 
  216.  
  217.  
  218. ΓòÉΓòÉΓòÉ 4. Installation ΓòÉΓòÉΓòÉ
  219.  
  220. If you want to use WatchCat permanently it is recommended to start it on boot 
  221. time. The following paragraph explains how to do that. 
  222.  
  223.  
  224. ΓòÉΓòÉΓòÉ 4.1. Installing WatchCat (the program) ΓòÉΓòÉΓòÉ
  225.  
  226. There are several options how to install WatchCat. It is recommended to start 
  227. WatchCat from the command line at first to find out the right parameters. If 
  228. everything works as you expect, you can use one of the following methods to 
  229. start WatchCat automatically every time you boot your computer: 
  230.  
  231.  1. Run it from your CONFIG.SYS (This is recommended). Just add one line like 
  232.  
  233.          RUN=x:\path\WATCHCAT.EXE <options>
  234.  
  235.          example: RUN=C:\TOOLS\WATCHCAT.EXE /a /s:pid
  236.  
  237.  2. Let it be started by the Workplace shell. You need a program object (or a 
  238.     shadow) in your system StartUp folder. You can instruct WatchCat to create 
  239.     a Shadow of itself by running: WatchCat shadow. Note that an extra window 
  240.     is opened for WatchCat when you boot. You can check the "Start minimized" 
  241.     and "Minimize to Viewer" options in the program object's settings notebook 
  242.     if you don't want to see anything of WatchCat. 
  243.  
  244.  3. If you have a startup.cmd batch file for your system, you can add a call to 
  245.     WatchCat in this file. WARNING: DON'T 'DETACH' WatchCat. It either won't 
  246.     run or cause unpredictable results. 'START' it. 
  247.  
  248. If you use WatchCat with a switch on a parallel port, you should check your 
  249. printer objects and see if there is any device installed on the parallel port 
  250. you use for WatchCat. Anyway, check the "Shared Access" option or else you 
  251. could get an access violation error when both the printer driver and WatchCat 
  252. try to get the port. 
  253.  
  254.  
  255. ΓòÉΓòÉΓòÉ 4.2. Installing WatchCat as a WPS object ΓòÉΓòÉΓòÉ
  256.  
  257. WatchCat is a true 32-Bit OS/2 2.x application and therefore offers a real WPS 
  258. integration. This section describes how to install (and uninstall) a WatchCat 
  259. object icon on your desktop. 
  260.  
  261. Important pre-remark: The WPS object was programmed "just for fun". It is not 
  262. really necessary to install it. It will not increase the functionality of 
  263. WatchCat. It is an option for those who want to configure WatchCat with a true 
  264. graphical interface. Before installing it please decide wether you need it or 
  265. not. 
  266.  
  267. You don't need a WatchCat object if: 
  268.  
  269. o You want WatchCat to operate invisibly. 
  270.  
  271. o You hate having too many Icons on the Desktop. 
  272.  
  273. o You know the right command line parameters and want to install WatchCat as 
  274.   quick as possible. 
  275.  
  276. You you may want to install a WatchCat object if: 
  277.  
  278. o You want to have something visible. 
  279.  
  280. o You like a colorful desktop with many funny icons. (Felix: The OS/2 desktop 
  281.   was designed to look like the real desktop. That's why they are both 
  282.   disordered ...) 
  283.  
  284. o You don't understand the command line parameters. 
  285.  
  286. o Your hardware equipment changes sometimes or you have other reasons why the 
  287.   WatchCat configuration must change sometimes. 
  288.  
  289. o You want to switch WatchCat on/off in a graphical way. 
  290.  
  291. o You want a quick acess to the WatchCat tasklist because sometimes you must 
  292.   kill processes even if the system does not hang. 
  293.  
  294. o You are just curious to see it. 
  295.  
  296. Obviously you want to install the WPS object because you are still reading 
  297. here... 
  298.  
  299. Installing is very easy. It is not done automatically (for reasons of safety) 
  300. but WatchCat gives you as much help as possible. The installation procedure 
  301. assumes that WatchCat is already installed in its final directory. Run WatchCat 
  302. registerwps and follow the six necessary steps (For step 1 to step 5 WatchCat 
  303. asks if it can help you): 
  304.  
  305.  1. Read the documentation. Well, you're already doing it. 
  306.  
  307.  2. Save the file os2.ini and os2sys.ini. These files contain the desktop 
  308.     settings. It is highly recommended to backup at least these two files when 
  309.     registering a new WPS DLL (this is true for every WPS program). If 
  310.     something goes wrong you can restore your desktop with these files. If you 
  311.     answer 'y' to the second question WatchCat opens a shell and gives the 
  312.     location of the files. You must copy them yourself. 
  313.  
  314.  3. Add RUN=X:\watchcat useini to the config.sys. This is the recommended way 
  315.     to auto-start WatchCat at boot-time. If you answer 'y' to the 3rd question, 
  316.     WatchCat starts the system editor and tells you the exact statement you 
  317.     must add. You may also answer 'n' and choose an other way to auto-start 
  318.     WatchCat Installation). Please don't forget the only parameter "useini" 
  319.  
  320.  4. Copy wpcat.dll to \os2\dll. The DLL must be in the LIBPATH. The easiest is 
  321.     to copy the DLL to \OS2\DLL. If you answer 'y' to the 4th question WatchCat 
  322.     copies the file. If you answer 'n' you must do this by hand. You may also 
  323.     adjust the LIBPATH. Please note: LIBPATH=.\... is NOT enough!!!! 
  324.  
  325.  5. Register the DLL. If you answer 'y' the DLL is registered and an object 
  326.     created. If you answer 'n' the installation is aborted. 
  327.  
  328.  6. Enter the values! The object settings notebook is displayed. Enter the 
  329.     right values. WatchCat is still running (don't interrupt) and waits until 
  330.     you have done all necessary changes and until you close the notebook. Then 
  331.     it prints out a message and ends. Now it's time to boot. 
  332.  
  333. If you don't like WatchCat to operate as a Workplace object just take the icon 
  334. (right mouse button) and move it into the shredder. When all instances are 
  335. deleted (normally only the one created on the desktop) run WatchCat 
  336. deregisterWPS. Now the DLL is deregistered. If you don't want to install the 
  337. object again you can delete wpcat.dll. Perhaps it is necessary to reboot 
  338. before. 
  339.  
  340.  
  341. ΓòÉΓòÉΓòÉ 5. Configuration (and command line switches) ΓòÉΓòÉΓòÉ
  342.  
  343. This section describes how to configure WatchCat from the command line or from 
  344. the WPS object. 
  345.  
  346.  
  347. ΓòÉΓòÉΓòÉ 5.1. Command Line Switches ΓòÉΓòÉΓòÉ
  348.  
  349. Switches start with the standard switch character, '/'. It is also allowed to 
  350. use '-'. Upper/lower case is ignored. 
  351.  
  352. /? or /H 
  353.                This option displays a brief help screen. (If WatchCat.exe is in 
  354.                the PATH you can look at its help screen by clicking on this 
  355.                link. Exit the help view by pressing a key). 
  356.  /x 
  357.                This option defines the parallel port that WatchCat checks; x 
  358.                can be 1 or 2, and the default is LPT2. If you use the connector 
  359.                on LPT1, use the switch /1. For a game port switch, this option 
  360.                is not needed. 
  361. /I=P,B 
  362.  
  363.                This option lets you use a non-standard parallel port, serial 
  364.                port or input bit. The default is to watch LPT2 for a change in 
  365.                any of the five input bits. You might want to use different 
  366.                hardware with I/O abilities similar to the parallel or serial 
  367.                COMx ports. 
  368.  
  369.                Internally there is a difference between parallel port and COMx 
  370.                port hardware: For the parallel port, the value 0FFh is written 
  371.                to the given port (only to provide logical HIGH signals on all 
  372.                data output lines), and a byte from the port address+1 is read 
  373.                and checked for a change. For a serial port, the value 03h is 
  374.                written to port address+4 (MODEM CONTROL REGISTER, to set DTR 
  375.                and RTS to logical HIGH). The toggle of the switch is recognized 
  376.                by reading from port address+6 which is the MODEM STATUS 
  377.                REGISTER. Usually, the RI (RING INDICATOR) line is used. This 
  378.                option isn't needed if you use a standard LPT1, LPT2, COM1-COM4 
  379.                or game port with the kind of connector we describe below. 
  380.                Examples: 
  381.  
  382.                (1) If you have a COM port on port address AAAAh, you can use it 
  383.                with the parameters  /C /I=AAAA,6 . /C enables COM port type 
  384.                hardware; the '6' means that bit 6 of the Modem Status Register 
  385.                is to be checked; this corresponds to the Ring Indicator pin. If 
  386.                you use other or more pins, use the /B option. 
  387.  
  388.                (2) If you have a parallel port on address AAAAh, enable it with 
  389.                the parameters  /I=AAAA,7  ('7' checks the most significant bit. 
  390.                Again, you can use /B...) 
  391. /G 
  392.                This option lets you use the game port for connecting a switch 
  393.                (i.e. a joystick's fire button is the simplest switch we know 
  394.                of...). The default is to check both joysticks (A and B) and 
  395.                both fire buttons but you can use the /B switch below to use 
  396.                only one or two of the four possible fire buttons. 
  397. /GA 
  398.                This option is like /G, but ALL given fire buttons (=bits) have 
  399.                to be pressed the same time to activate WatchCat. Examples: 
  400.  
  401.                (1) /G: you can press one or more of all four fire buttons to 
  402.                activate WatchCat 
  403.  
  404.                (2) /GA /B45: to activate WatchCat, you have to press fire 
  405.                button 1 AND 2 of joystick A. 
  406. /Cx 
  407.                This options lets you use a COM port for connecting a switch. x 
  408.                can be 1,2,3 or 4. If you have COM ports other than COM1-COM4 or 
  409.                with non-standard port addresses, use the /I parameter. 
  410.  
  411.                Warning: WatchCat accesses the hardware directly. Beware of 
  412.                using the port your mouse is installed on. It won't be 
  413.                accessible anymore. 
  414. /Bxxx 
  415.                This option defines the bit(s) that WatchCat checks. By default 
  416.                all eight bits are checked for parallel ports, the highest four 
  417.                bits are checked for game or COM ports. If this conflicts with 
  418.                other things that you have connected to your port, you can tell 
  419.                WatchCat to look only for a specific bit and ignore all others. 
  420.                x is the bit number, where 0 is the least significant bit and 7 
  421.                the most significant. 
  422.  
  423.                For a parallel port, only bits 3 to 7 make sense because these 
  424.                are the five input bits a standard parallel port has (ERROR, 
  425.                SELECTED, PAPER END, ...) 
  426.  
  427.                For a game port, only bits 4 to 7 make sense: Bits 4 and 5 
  428.                correspond to joystick A's buttons 1 and 2, bits 6 and 7 
  429.                correspond to joystick B's bottons 1 and 2. 
  430.  
  431.                A COM port should only be used with bits 4 to 7 (these are CTS, 
  432.                DSR, RI, DCD). Example: 
  433.  
  434.                (1) /C1 /B67  checks COM1 for a change in the RI or DCD line 
  435.  
  436.                (2) /B67    checks LPT2 for a change in ERROR or SELECT " 
  437.  
  438.                (3) /G /B67   checks joystick B for one or both buttons 
  439. /T 
  440.                This option runs WatchCat at permanent high priority. This isn't 
  441.                normally needed because  WatchCat always polls at high priority. 
  442.                The default is to switch back to regular priority once WatchCat 
  443.                has been activated. 
  444. /A 
  445.                This option displays ALL the processes on your system. The 
  446.                default is to display only PM programs because they are the ones 
  447.                most likely to hang the message queue. You can toggle between 
  448.                the two display modes at runtime. 
  449. /P 
  450.                This option displays processes with their full path name. The 
  451.                default is that only the EXE filename is displayed. You can 
  452.                toggle between the two display modes at runtime. 
  453. /D 
  454.                This option turns off the descriptions beneath the process 
  455.                names.  This option cannot be changed at run-time, so you have 
  456.                to decide at startup whether you will need descriptions or not. 
  457.                The default is to display descriptions and we see no reason why 
  458.                this would cause major pain :-) 
  459. /M 
  460.                This option tells WatchCat to use monochrome colors for all 
  461.                output (black and white). This option can be toggled at 
  462.                run-time, too. 
  463. /S:xxx 
  464.                where xxx equals "type", "name" or "pid". This option sets the 
  465.                initial sort order of the processes. You can sort on the 
  466.                application type, the process name, or the process id. You can 
  467.                toggle this option at run-time. 
  468. off 
  469.                Once WatchCat is running on your computer, you can temporarily 
  470.                turn it off with calling watchcat off. This might be useful when 
  471.                you use the game port for WatchCat and you want to play DOS 
  472.                games which require a joystick button to be pressed that is also 
  473.                watched by WatchCat. 
  474. on 
  475.                With watchcat on, you can resume normal WatchCat operation after 
  476.                you have disabled WatchCat. 
  477. toggle 
  478.                This switch just toggles the status of WatchCat from on to off 
  479.                or vice-versa. 
  480. exit 
  481.                If WatchCat is already running, terminate that session. 
  482. shadow 
  483.                Create a shadow of Watchcat in the start-up folder and open the 
  484.                folder so that the user can do some changes. 
  485. registerWPS 
  486.                Install a special WatchCat object on the desktop. You may 
  487.                configure WatchCat at run-time from this object 
  488. deregisterWPS 
  489.                Uninstall WatchCat from the WPS. Don't forget to move all 
  490.                WatchCat objects into the shredder before. 
  491. clearini 
  492.  
  493.                If you have installed WatchCat as a Workplace shell object, it 
  494.                saves all settings so they are still available, when WatchCat is 
  495.                started after the next booting. These parameters are saved in 
  496.                the os2.ini file. If you uninstall WatchCat from the WPS it may 
  497.                be confusing that Watchcat still uses these values (WatchCat 
  498.                displays a message). 
  499.  
  500.                Program parameters have a higher priority than those ini-values, 
  501.                but you may want to delete those settings from os2.ini. You can 
  502.                do this by starting Watchcat clearini. 
  503. /@ 
  504.                This is an undocumented switch for Windows NT users. They are 
  505.                known to use a lot of untested software and undocumented 
  506.                features, and thus tend to corrupt filesystems, so this option 
  507.                will safely reformat any Windows NT partition. We fear that 
  508.                everyone except NT owners will appreciate this joke  :-) 
  509.  
  510.  
  511. ΓòÉΓòÉΓòÉ 5.2. Using the WPS object ΓòÉΓòÉΓòÉ
  512.  
  513. The WatchCat object is easy to use. After installation you can activate 
  514. WatchCat by double-clicking on the object icon. This is - of course - only 
  515. possible if the system does not hang. So a switch or joystick is still needed 
  516. for the real aim of the program. 
  517.  
  518. Perhaps you are asking why it is still necessary to run watchcat.exe in the 
  519. background. It is possible to integrate the program into the WPS-logic but the 
  520. program would not be able to react when the WPS hangs. Now it is possible to 
  521. kill the WPS (pmshell) even if WatchCat is also installed as a WPS object. 
  522.  
  523. You can switch WatchCat on or off. Display the context menu (right mouse 
  524. button) and select on or off. The icon changes immediatly to indicate the 
  525. changed status. 
  526.  
  527. You can easily change the parameters at runtime. Open the settings notebook 
  528. (right mouse button -> Settings). Please note: If you change some of the values 
  529. the values are transfered to WatchCat as soon as you close the notebook. 
  530.  
  531. Select Page two to choose a port. Default is the game port. If you use an other 
  532. port you need a connector as described in this documentation. For standard 
  533. ports the program knows the default settings (port address). If you don't have 
  534. one of the listed ports (e.g. LPT3) or your port has an other port address than 
  535. the regular on (COM1 on 007) you must choose LPTx for any parallel port, COMx 
  536. for any serial port or game port for any game port. Then select "other port 
  537. address". The port adress field is no longer disabled. Type in the correct hex 
  538. value. Please note: Please be very careful when giving a different port 
  539. address. It may be dangerous if the value is wrong. If you are not sure, wether 
  540. your value is correct, please click on a "safe" item (e.g. game port) before 
  541. closing the notebook. 
  542.  
  543. Choose the input bits on page three. This page is almost self-explaining. This 
  544. item "...all bits must be changed" corresponds with the /GA switch. For a 
  545. joystick this means, two buttons must be pressed at the same time. Currently 
  546. this option does not work with other ports than the game port. 
  547.  
  548. General options can be changed on the 4th page. "Descriptions" will currently 
  549. only change on the next run-time. "Only PM prg" forces WatchCat to display only 
  550. the Presentation Manager programs when being activated (because they are most 
  551. times responsible for a hung system). You may choose a sort criterium for the 
  552. displayed processes. If you want WatchCat to run at high priority even when 
  553. displaying the process list, turn off the last check box. 
  554.  
  555.  
  556. ΓòÉΓòÉΓòÉ 5.3. Modifying a running WatchCat ΓòÉΓòÉΓòÉ
  557.  
  558. You can modify the settings of a running WatchCat program by starting WatchCat 
  559. for a second time. The second instance changes the values, informs the original 
  560. program and terminates. 
  561.  
  562. Example 1: You are using WatchCat with the game port. You are using /G switch 
  563. to indicate that pressing one of the buttons forces WatchCat to be activated. 
  564. But you cannot play your favourite games with this setting. So write a batch 
  565. file: 
  566.  
  567. WatchCat /GA /B45
  568. game
  569. WatchCat /G
  570.  
  571. As long as you are playing the game both buttons must be pressed. 
  572.  
  573. Example 2: You are using Watchcat with LPT2. Rarely you need the port for 
  574. printing and change the connectors. You don't need to kill WatchCat. Just turn 
  575. it off by watchcat off 
  576.  
  577.  
  578. ΓòÉΓòÉΓòÉ 6. After the work: Using WatchCat ΓòÉΓòÉΓòÉ
  579.  
  580. When you activate the switch the WatchCat process list (see example) pops up 
  581. regardless whether you are in a fullscreen, PM, WIN-OS/2 session or whereever. 
  582. This list is refreshed continously. 
  583.  
  584. Please note: Before starting to describe the process list please note that 
  585. WatchCat is a tool to kill processes under critical situations. It should be 
  586. used in a situation of error. It is not intended to replace current process 
  587. lister. 
  588.  
  589. At the top the current system values are displayed. The OS/2 version, the 
  590. amount of total memory and the resident memory. The largest free block does not 
  591. give an information about the free memory (but maybe a hint). It is the largest 
  592. block an application can allocate at once. It is very difficult to find out the 
  593. total free memory in a multitasking system with virtual memory. Use other tools 
  594. instead. the last value indicates how many threads are currently running in the 
  595. system. 
  596.  
  597. The process list displays all (PM) processes currently running in the system. 
  598. With 's' you can change the sort criterium. Use the cursor keys to move the 
  599. cursor to a process of interest. You can then kill a process by pressing enter. 
  600. You can "see" how the process is killed. Some (very rarely) processes cannot be 
  601. killed (e.g. because of a terrible wrong exitlist function) but they usually 
  602. don't corrupt the system. You can also display some more information by 
  603. pressing 'o'. The given information (see example) may help you to understand 
  604. why the system does not work correctly. All threads are displayed. Please note 
  605. that the thread ID need is the system id for the thread not just an 
  606. enumeration. Thread 1 always corresponds to the main application thread. All 
  607. information is refreshed in periods. You can leave this overview by pressing 
  608. escape. 
  609.  
  610. There are some more keys available: 
  611.  
  612. ESC 
  613.                Leave the process list and wait for the next activation. 
  614. SPACE 
  615.                Start a command shell. Please be careful. Not ALL commands are 
  616.                available. Maybe starting programs is not possible. 
  617. TAB 
  618.                Display or do not display the path of the process 
  619.                Refresh the information. This is done automatically after some 
  620.                time. 
  621.                Sorting criterium 
  622. l or L 
  623.                switch to 25 or 43 lines of display 
  624.                Display all informations black and white. This is necessary for 
  625.                MONO monitors. 
  626.  
  627. Most options can be toggled by command line or the WatchCat object. 
  628.  
  629.  
  630. ΓòÉΓòÉΓòÉ 7. Trouble shooting ΓòÉΓòÉΓòÉ
  631.  
  632. Of course we hope you'll never have any troubles with WatchCat! This sections 
  633. contains some of the most freqently asked questions. It also contains some tips 
  634. what to do if something went wrong. Most of these errors never appeared until 
  635. now. 
  636.  
  637.  
  638. ΓòÉΓòÉΓòÉ 7.1. On shutdown the system asks: Do you want to shutdown WatchCat? ΓòÉΓòÉΓòÉ
  639.  
  640. Use RUN=x:watchCat.exe in your config.sys (see WatchCat install) 
  641.  
  642.  
  643. ΓòÉΓòÉΓòÉ 7.2. My joystick does not work. ΓòÉΓòÉΓòÉ
  644.  
  645.  1. Please check the parameters. /B does not mean button but Bits. (see 
  646.     WatchCat parameters) 
  647.  
  648.  2. Please press the firebutton for at least 2 sec. When is system is doing 
  649.     heavy I/O it may take even longer. 
  650.  
  651.  
  652. ΓòÉΓòÉΓòÉ 7.3. Does WatchCat need much CPU? ΓòÉΓòÉΓòÉ
  653.  
  654. No, there is no busy waiting. WatchCat looks at the port every 1.5 sec. This is 
  655. why you must hold the fire button of the joystick for a moment. 
  656.  
  657.  
  658. ΓòÉΓòÉΓòÉ 7.4. WatchCat does not seem to work anymore ΓòÉΓòÉΓòÉ
  659.  
  660. Start WatchCat info. 
  661.  
  662.  1. Maybe WatchCat aborted because of wrong values. (This is displayed by 
  663.     WatchCat info) 
  664.  
  665.  2. Check the settings. Are they correct for your switch? 
  666.  
  667.  
  668. ΓòÉΓòÉΓòÉ 7.5. What does the WPS object not remember settings over boot-time? ΓòÉΓòÉΓòÉ
  669.  
  670. start WatchCat with the only parameter: useini. (see Using the WPS object) 
  671.  
  672.  
  673. ΓòÉΓòÉΓòÉ 7.6. Toggle descriptions does not work ΓòÉΓòÉΓòÉ
  674.  
  675. This is a restriction of the current version. WatchCat must be restarted to 
  676. toggle descriptions. 
  677.  
  678.  
  679. ΓòÉΓòÉΓòÉ 7.7. My process cannot be killed! ΓòÉΓòÉΓòÉ
  680.  
  681. Yes, there are some processes that are not allowed to be killed. This cannot be 
  682. violated with WatchCat. 
  683.  
  684.  
  685. ΓòÉΓòÉΓòÉ 7.8. RUN= traps the system ΓòÉΓòÉΓòÉ
  686.  
  687. The RUN= parameter was tested very carefully. If the system stops booting with 
  688. the message "A problem encountered" you must install WatchCat as a shadow or in 
  689. your startup.cmd (see WatchCat install) Use an OS/2 boot disk (e.g. the 
  690. original inst.disk) to reboot and delete the RUN= entry from your config.sys. 
  691.  
  692.  
  693. ΓòÉΓòÉΓòÉ 8. About WatchCat ΓòÉΓòÉΓòÉ
  694.  
  695. Credits, Disclaimer and some more ... 
  696.  
  697.  
  698. ΓòÉΓòÉΓòÉ 8.1. Credits ΓòÉΓòÉΓòÉ
  699.  
  700. Credits go to Will Rose (cwr@crash.cts.com) who was so kind to read these docs 
  701. and correct grammar, style, syntax, typos and all the other things where a 
  702. German can do harm to the English language. Thanks to Jeremy Mathers 
  703. (pynq@quads.uchicago.edu) for his mail telling us that WatchCat couldn't be 
  704. read on mono VGA monitors. 
  705.  
  706.  
  707. ΓòÉΓòÉΓòÉ 8.2. Special thanks by Thomas ΓòÉΓòÉΓòÉ
  708.  
  709.  
  710. ΓòÉΓòÉΓòÉ <hidden> Beavis ΓòÉΓòÉΓòÉ
  711.  
  712.  
  713. ΓòÉΓòÉΓòÉ <hidden> Butt-Head ΓòÉΓòÉΓòÉ
  714.  
  715.  
  716. ΓòÉΓòÉΓòÉ <hidden> Thanks to Beavis and Butt-Head ΓòÉΓòÉΓòÉ
  717.  
  718.                               THESE GUYS ARE COOL!
  719.  
  720. I'd like to thank Beavis and Butt-Head for accompanying me a lot of my time. I 
  721. especially liked that episode where this Mc Dicker dude buys  Windows for 
  722. Wusses 3.1 and then there are explosions and blood everywhere and FIRE, FIRE, 
  723. FIRE...! 
  724.  
  725. Thanks to Richard-Head, too! 
  726.  
  727. Why is it that nobody remembers the name of Johann Gambolputty de von 
  728. Ausfern-schplenden-schlitter-crasscrenbon-fried-digger-dingle-dangle- 
  729. dongle-dungle-burstein-von-knacker-thrasher-apple-banger-horowitz- 
  730. ticolensic-grander-knotty-spelltinkle-grandlich-grumblemeyer- 
  731. spelterwasser-kurstlich-himbleeisen-bahnwagen-gutenabend-bitte-ein- 
  732. nurnburger-bratwustle-gernspurten-mitz-weimache-luber-hundsfut- 
  733. gumberaber-shonedanker-kalbsfleisch-mittler-aucher von Hautkopft of Ulm (Monthy 
  734. Python) 
  735.  
  736.  
  737. ΓòÉΓòÉΓòÉ 8.3. Disclaimer ΓòÉΓòÉΓòÉ
  738.  
  739. We are by no means responsible for any effects of this program. Perhaps we are 
  740. not even responsible for what we say and do. 
  741.  
  742. This program is supplied with no warranty, either expressed or implied. We are 
  743. not responsible for any damages caused directly or indirectly by WatchCat. All 
  744. software and documentation is supplied AS IS. You are using this program at 
  745. your own risk. 
  746.  
  747.  
  748. ΓòÉΓòÉΓòÉ 8.4. Copyright ΓòÉΓòÉΓòÉ
  749.  
  750. WatchCat (C) 1993, 1994 by Felix von Normann and Thomas S. Opheys. 
  751.  
  752. This program is free except for Microsoft employees and registered owners of MS 
  753. Windows NT. This sub-species of mankind has to send us a copy of a cheque 
  754. donated to some welfare organisation. (To forgive them the sin of supporting 
  755. MS). 
  756.  
  757.  
  758. ΓòÉΓòÉΓòÉ 8.5. How to contact the Authors ΓòÉΓòÉΓòÉ
  759.  
  760. All kinds of comment are very welcome. If you have found any bugs or if you 
  761. have suggestions for a next release, mail them to us. Below are our email 
  762. addresses. 
  763.  
  764. Even though we have a special WatchCat address this program is NOT commercial. 
  765. It was done on our own time. 
  766.  
  767. Special WatchCat Internet address:
  768.         watchcat@uni-duisburg.de
  769.  
  770. The authors private address:
  771.         Felix von Normann
  772.         Innstra╤üe 82
  773.         94036 Passau
  774.         Germany
  775.         normann@eva.fmi.uni-passau.de
  776.  
  777.         Thomas Opheys
  778.         Franz-Stockbauer-Weg 1/88
  779.         94032 Passau
  780.         Germany
  781.         opheys@eva.fmi.uni-passau.de
  782.  
  783. It must be stressed that this program is the result of real teamwork with 
  784. equivalent (but partial disjunct) work by both authors. Names are just listed 
  785. in alphabetical order. If you want to write us a mail, send it to one of the 
  786. above addresses. We'll internally show them the other so that the one of us 
  787. responsible for the corresponding bug or feature will read it. 
  788.  
  789.                      We hope you like and enjoy our program.
  790.  
  791.  
  792. ΓòÉΓòÉΓòÉ <hidden>  ΓòÉΓòÉΓòÉ
  793.  
  794. A single-pole double-throw (SPDT) looks like this: It this situation pins 2 and 
  795. 3 are connected. 
  796.  
  797.  
  798. ΓòÉΓòÉΓòÉ <hidden>  ΓòÉΓòÉΓòÉ
  799.  
  800. A switch like the PC's turbo switch looks like this: In this situation both 
  801. pins are connected if the button is pressed. For WatchCat, a switch that 
  802. remains in its state is recommended. 
  803.  
  804.  
  805. ΓòÉΓòÉΓòÉ <hidden>  ΓòÉΓòÉΓòÉ
  806.  
  807. WARNING: Switch has been activated!
  808. [SysInfo: OS/2 2.1, 16M physMem, 15M resMem, 4236K largest block, 61 threads]
  809.  PID  Program Name                       Key  Function
  810.  ΓöÇΓöÇΓöÇ  ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇ ΓöÇΓöÇΓöÇΓöÇΓöÇ ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇ
  811.   4  PMSHELL.EXE (Arbeitsoberfl╨öche)              ESC  exit to PM
  812.   9  POPUPPM.EXE                        SPACE start shell
  813.  5F  VIEWDOC.EXE (Information Presentation Facility)      ENTER kill proc
  814.   8  CMD.EXE                          TAB  toggle path
  815.  13  CMD.EXE (T)                        PgUP  page up
  816.  1E  CMD.EXE (T)                        PgDWN page down
  817.  18  CMD.EXE (WATCHCAT)                    R   refresh
  818.   F  DOS.EXE                          T   toggle PM
  819.   D  FG.EXE                          S   toggle sort
  820.  11  FXOPT.EXE                         l   25 lines
  821.   3  HARDERR.EXE                        L   43 lines
  822.  10  ISCHILD.EXE                        M   toggle mono
  823.   7  LOAD.EXE (Start-Up Tools)                 O   overview
  824.   E  T.EXE
  825.  23  T.EXE                           sorted by AppType
  826.  2A  T.EXE
  827.   B  UNZIP.EXE
  828.  94  WATCHCAT.EXE
  829.   C  WO.EXE
  830.  
  831.  
  832. ΓòÉΓòÉΓòÉ <hidden>  ΓòÉΓòÉΓòÉ
  833.  
  834. ΓöîΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÉ
  835. Γöé                                        Γöé
  836. Γöé  Title   : Arbeitsoberfl╨öche                         Γöé
  837. Γöé  real name: E:\OS2\PMSHELL.EXE                        Γöé
  838. Γöé  PID    : 0x4, 4                              Γöé
  839. Γöé  PPID   : 0x2, 2 E:\OS2\PMSHELL.EXE                     Γöé
  840. Γöé  Type   : PM                                Γöé
  841. Γöé  exe-type : PM (32 bit)                            Γöé
  842. Γöé  Handle  : 0x117                               Γöé
  843. Γöé  Status  : running                              Γöé
  844. Γöé                                        Γöé
  845. Γöé  The process contains 15 threads:                       Γöé
  846. Γöé  Thread  1: Priority: 0x400, blocked  Thread  2: Priority: 0x200, blocked  Γöé
  847. Γöé  Thread  3: Priority: 0x200, blocked  Thread  4: Priority: 0x200, blocked  Γöé
  848. Γöé  Thread  5: Priority: 0x200, blocked  Thread  6: Priority: 0x200, blocked  Γöé
  849. Γöé  Thread  7: Priority: 0x200, blocked  Thread  8: Priority: 0x200, blocked  Γöé
  850. Γöé  Thread  9: Priority: 0x200, blocked  Thread 10: Priority: 0x200, blocked  Γöé
  851. Γöé  Thread 11: Priority: 0x200, blocked  Thread 13: Priority: 0x21F, blocked  Γöé
  852. Γöé  Thread 14: Priority: 0x200, blocked  Thread 15: Priority: 0x400, blocked  Γöé
  853. Γöé  Thread 16: Priority: 0x400, blocked                     Γöé
  854. Γöé                                        Γöé
  855. Γöé                                        Γöé
  856. ΓööΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÿ
  857.  
  858.  
  859. ΓòÉΓòÉΓòÉ <hidden>  ΓòÉΓòÉΓòÉ
  860.  
  861. A sample screen-shot of the WatchCat settings look like the following: You can 
  862. change all important values here. 
  863.  
  864.  
  865. ΓòÉΓòÉΓòÉ <hidden>  ΓòÉΓòÉΓòÉ
  866.  
  867. The WatchCat object looks like the following: (In fact the icon depends on 
  868. whether WatchCat is active or not). Activate WatchCat with double-clicking on 
  869. this object. Configure WatchCat by changing the settings of this WPS object.