                Screen Blanker v1.3x Technical Notes

The file contains a brief overview of the files that make up screen
blanker and how to build it.  See comments in the source code for
explanations of how it works. 

1. Prerequisites
  
Screen Blanker is built using Microsoft C 6.0, and Microsoft Assembler 2.0.
The OS/2 Programmer's Toolkit or Softset is also needed for the 
Resource Compiler if the dialog boxes or other resources need to be
changed.

It should work with Microsoft C 5.1; in this case the OS/2 Programmers
Toolkit or Softset will also be needed for the OS/2 header files for 
compiling all components.

The IBM compiler, assembler and toolkit should also be usable, though minor
changes might be necessary.

2. Make file

The file SCRNBLNK.MAK is a make file in the form expected by Microsoft
NMAKE.  It defines targets to make all the pieces of screen blanker. 
The target "ALL" will rebuild everything necessary:
   NMAKE /F SCRNBLNK.MAK ALL

When SCRNBLNK.EXE is made, three warning messages L4026 from the linker
are normal.  There should be no other messages.

3. Conditional Code in Source

The source code contains a few conditional pieces that may be enabled
by definitions on the CL commands.  Modify the makefile macro "cp"
to include any of the following as appropriate
   -DDEBUG  - if DEBUG is defined, the program will be compiled with
              some additional debugging code enabled.  This code 
              maintains an internal trace buffer on request.  See part 
              4 below for further details.
              I generally leave this option defined. There is little 
              extra cost.
   -DDEBUGFILE - if DEBUGFILE is defined, the program will generate code
              to trace to a file.  This is a "last resort" debugging 
              option, since it interferes with performance and timing.
   -DCMD      - if CMD is defined, the code to issue 
              a warning and/or run a program will be included in the program. 

4. Debugging Code

If the source files are compiled with DEBUG defined, additional code is 
included to optionally maintain an internal trace buffer of screen blanker
events. 
To actually generate the trace, the program must be also be started with
the command line option /DEBUG.  

The internal trace can be displayed by running the program SCRNPEEK.EXE. 

5. Files

The following files constitute the screen blanker source package:
 
SCRNBLNK.MAK   Make file
SCRNBLNK.DOC   Documentation for Screen Blanker in Microsoft Word
               input form. 
SCRNBLX.DOC    Documentation for extended form of Screen Blanker.   
TECHNOTE.TXT   These notes.

SCRNBLNK.ICO   Icon for screen blanker.

SCRNBLNK.RC    Resource script containing all dialog box definitions,
               character string messages etc. 
SCRNBLNK.RES   The resource file generated by RC from SCRNBLNK.RC. 

*** Headers ***
 

SCRNBLNK.H     Header containing Screen Blanker definitions 
SCRNDLG.H      Header containing dialog box id's etc. 
OS2MISC.H      Header containg a few missing OS/2 definitions.
PMTKT.H        Header defining OS/2 Toolkit (PMTKT.DLL) routines. 
               PMTKT.DLL is part of OS/2, but definitions are not included
               in the Development kit.
 
*** SCRNBLNK.EXE --- these make up the main screen blanker program ***

SCRNBLNK.DEF   Linker definitions
SCRNMAIN.C     Main program, processes /options, figures out state, etc. 
SCRNINST.C     Initialization, dialog box processing etc.
SCRNBACK.C     major part of the program; this becomes the background
               session that controls processing.
SCRNMNTR.C     Small routine which uses OS/2 Monitors to monitor activity
               in non-PM OS/2 sessions.
SCRNTIME.C     Routines to produce the time display during "blanking"
               periods.
 
*** SCRNBLNK.DLL --- these build the screen blanker DLL ***

SCRNHOOK.DEF   Linker definition file
SCRNHOOK.C     Source code for DLL routines.  These routines provide 
               a "window hook" that monitors activity in the PM 
               session.
 
*** SCRNBLNK.SYS --- these build the screen blanker DOS interface ***

SCRNDRVR.DEF   Linker definition file
SCRNDRVR.ASM   Assembler source for a simple OS/2 device driver that 
               enables screen blanker to determine if there is any 
               mose or keyboard activity in the DOS session. 

*** SCRNPEEK.EXE --- program to display trace buffer ***

SCRNPEEK.C     Source for self-contained (+headers above) program
               that displays the contents of the internal trace buffer. 