PCjs Machines

Home of the original IBM PC emulator for browsers.

Logo

PC-SIG Diskette Library (Disk #2465)

[PCjs Machine "ibm5170"]

Waiting for machine "ibm5170" to load....

Information about “TIME MASTER AND SECURITY”

Have you ever wondered how much your computer is used?  Or what it is
used for?  TIME MASTER answers those questions.

Simply start TIME MASTER each time you start using your computer and
"log-in."  Then exit TIME MASTER and start using your other application
programs.  Do your word processing, accounting, etc.  Each time you exit
an application, enter TIME MASTER and "log-off."  Tell TIME MASTER your
name, what program you used, and how much time was used for business and
personal reasons.

At the end of any period (day, week, year, etc.); TIME MASTER will
display or print out reports that tell you who used what program, how
long they used it, and how much time was used for business and personal
reasons.

This program is perfect for any individual who needs to track, for
taxation puposes, the time their computer is used for business and
personal tasks.  Also for the company or government department seeking
management information on the use of their computers.

Now you can protect your computer from unauthorized use.  With SECURITY,
only you know the password and only you can change it.

SECURITY lets you add password security to your computer through your
CONFIG.SYS file.  While this is safer than programs that use your
AUTOEXEC.BAT to add password protection, it will not keep the
sophisticated hacker out.  However, it is a quick and easy way to keep
most people off your computer.  Assembly language source code is
included.

FILE2465.TXT

Disk No: 2465                                                           
Disk Title: Time Master and Security                                    
PC-SIG Version: S1                                                      
                                                                        
Program Title: Time Master                                              
Author Version: 1.1                                                     
Author Registration: $30.00                                             
Special Requirements: None.                                             
                                                                        
Have you ever wondered how much your computer is used?  Or what it is   
used for?  TIME MASTER answers those questions.                         
                                                                        
Simply start TIME MASTER each time you start using your computer and    
"log-in."  Then exit TIME MASTER and start using your other application 
programs.  Do your word processing, accounting, etc.  Each time you exit
an application, enter TIME MASTER and "log-off."  Tell TIME MASTER your 
name, what program you used, and how much time was used for business and
personal reasons.                                                       
                                                                        
At the end of any period (day, week, year, etc.); TIME MASTER will      
display or print out reports that tell you who used what program, how   
long they used it, and much was used for business and personal reasons. 
                                                                        
This program is perfect for any individual who needs to keep track of   
the time their computer is used for business and personal tasks for     
taxation purposes and the company or government department seeking      
management information on the use of their computers.                   
Program Title: Security                                                 
Author Version: 1.0                                                     
Author Registration: $7.00                                              
Special Requirements: None.                                             
                                                                        
Now you can protect your computer from unauthorized use.  With SECURITY,
only you know the password and only you can change it.                  
                                                                        
SECURITY lets you add password security to your computer through your   
CONFIG.SYS file.  While this is safer than programs that use your       
AUTOEXEC.BAT to add password protection, it will not keep the           
sophisticated hacker out.  However, it is a quick and easy way to keep  
most people off your computer.  Assembly language source code included. 
                                                                        
PC-SIG                                                                  
1030D East Duane Avenue                                                 
Sunnyvale  Ca. 94086                                                    
(408) 730-9291                                                          
(c) Copyright 1989 PC-SIG, Inc.                                         

GO.TXT

╔═════════════════════════════════════════════════════════════════════════╗
║         <<<<  PC-SIG Disk #2465  TIME MASTER and SECURITY  >>>>         ║
╠═════════════════════════════════════════════════════════════════════════╣
║ TIME MASTER =                                                           ║
║    To access TIME MASTER from the A: root directory,                    ║ 
║                           type:  CD TIMEMAST (press Enter)              ║
║                                  DIR         (press Enter)              ║
║                                                                         ║
║    To read author's instructions, type:  TYPE README (Enter)            ║
║                                                                         ║
║=========================================================================║
║ To return to the A root directory, type:  CD \  (press Enter)           ║
║=========================================================================║
║                                                                         ║
║ SECURITY =                                                              ║
║    To access SECURITY from the A: root directory,                       ║
║                           type:  CD SECURITY (press Enter)              ║
║                                  DIR                                    ║
║                                                                         ║
║    To print author's instructions, type:  COPY SECURITY.DOC PRN (Enter) ║
║                                                                         ║
║                                                                         ║
║                                           Copyright 1990, PC-SIG, Inc.  ║
╚═════════════════════════════════════════════════════════════════════════╝

NEWWORD.ASM

               ORG 0100
               JMP MAIN
FILENAME       DB "SECURITY.SYS",0
FILENAME2      DB "NEWWORD.COM",0
HANDLE         DW ?                     ;for SECURITY.SYS
NUMBER         DB 08,0                  ;number of characters
NEW_WORD       DB "SeCuRiTy        ",0  ;password
MSG1           DB "Requires at least DOS 2.00$"
MSG2           DB "New PASSWORD not found.",0D,0A
               DB "Syntax:   NEWWORD [new password]"
               DB 0D,0A,"          Then Press ENTER."
               DB 0D,0A,"$"
MSG3           DB "This password has too many characters."
               DB 0D,0A,"$"
MSG4           DB "SECURITY.SYS not found in default directory."
               DB 0D,0A,"$"
MSG5           DB "SECURITY.SYS may be corrupted.",0D,0A,"$"
MSG6           DB "NEWWORD.COM is not hidden.",0D,0A,"$"
MSG6A          DB "NEWWORD.COM has been hidden.",0D,0A,"$"
MSG7           DB "The New Password has been installed.",0A
               DB 0D,0A,"Be sure that this modified SECURITY.SYS"
               DB 0D,0A,"is on the path defined in your"
               DB 0D,0A,"CONFIG.SYS file.",0D,0A,0A
               DB "Copyright 1990, by Robert Wallingford, P.E."
               DB 0D,0A,0A,"$"
TESTBUFF1:     DB 0FF,0FF,0FF,0FF,00,080,0A,00,013,00
TESTBUFF2:     DB 0B DUP 0
EXIT:          MOV AH,09                ;message with exit
               INT 021
               INT 020
EXT:           MOV AH,09                ;message with return
               INT 021
               RET
EXIT1:         MOV DX,OFFSET MSG1
               JMP EXIT
EXIT2:         MOV DX,OFFSET MSG2
               JMP EXIT
EXIT3:         MOV DX,OFFSET MSG3
               JMP EXIT
EXIT4:         MOV DX,OFFSET MSG4
               JMP EXIT
EXIT5:         MOV DX,OFFSET MSG5
               JMP EXIT
EXIT6:         MOV DX,OFFSET MSG6
               JMP EXT
EXIT7:         MOV DX,OFFSET MSG7
               JMP EXIT
MAIN:          CLD                      ;forward
               MOV AH,030               ;check DOS
               INT 021
               CMP AL,02
               JL EXIT1
               MOV NUMBER,0
               MOV SI,081               ;Point to command line parameter.
FIND_BYTE:     LODSB                    ;Get a byte.
               CMP AL,020
               JE FIND_BYTE             ;skip spaces before name
               CMP AL,0D                ;Carriage return marks end.
               JE EXIT2                 ;If end, done here.
               DEC SI
               PUSH SI
GET_NUMB:      LODSB                    ;count characters
               CMP AL,0D
               JE GOT_NUMB
               INC NUMBER
               CMP NUMBER,0E
               JE EXIT3
               JMP GET_NUMB
EX5:           JMP EXIT5
EX7:           JMP EXIT7
GOT_NUMB:      MOV CX,W[NUMBER]         ;move password
               POP SI                   ;from PSP
               MOV DI,OFFSET NEW_WORD   ;to offset
               REPNE MOVSB
               MOV AL,00
               STOSB
               MOV AH,03D               ;open SECURITY.SYS
               MOV AL,11000010b
               MOV DX,OFFSET FILENAME
               INT 021
               JC EXIT4
               MOV HANDLE,AX            ;save handle
               MOV AH,03F               ;check to be sure
               MOV BX,HANDLE            ;that SECURITY.SYS
               MOV CX,0A                ;is not some other
               MOV DX,TESTBUFF2         ;file with the same
               INT 021                  ;name by reading
               MOV CX,0B                ;part of it to check
               MOV SI,TESTBUFF1         ;for a match.
               MOV DI,TESTBUFF2
               REPE CMPSB
               CMP CX,0
               JNE EX5
               MOV AX,04200             ;move pointer
               MOV BX,HANDLE
               MOV CX,00
               MOV DX,0102              ;to byte # 102h
               INT 021
               MOV AH,040               ;write number and
               MOV BX,HANDLE            ;password into the
               MOV CX,W[NUMBER]         ;file
               MOV DX,OFFSET NUMBER
               ADD CX,02
               INT 021
               MOV AH,03E               ;close file
               MOV BX,HANDLE
               INT 021
               MOV AX,04301             ;hide NEWWORD.COM
               MOV CX,022
               MOV DX,OFFSET FILENAME2
               INT 021
               JAE NXT1
               CALL EXIT6
               JMP NXT1A
NXT1:          MOV AH,09
               MOV DX,OFFSET MSG6A
               INT 021
NXT1A:         JMP EX7

SECURITY.ASM

               ORG 0
NXTDV          DD -1
ATTRIBUTE      DW 08000                 ;character driver
DV_STRATEGY    DW 000A                  ;strategy offset
DV_INTERRUPT   DW 0015                  ;interrupt offset
STRATEGY:      CS: MOV H_OFF,BX         ;save it
               CS: MOV H_SEG,ES         ;save it
               RETF                     ;function return
INTERRUPT:     PUSHF                    ;save everything
               PUSH AX
               PUSH BX
               PUSH CX
               PUSH DX
               PUSH SI
               PUSH DI
               PUSH BP
               PUSH DS
               PUSH ES
               PUSH CS
               POP DS                   ;make ds = cs
               LES DI,H_OFF
               ES CMP B[DI+2],0
               JNE EXIT1
               CALL LOCAL
               ES MOV B[DI+0D],0        ;no error status word
               ES MOV W[DI+0E],0
               ES MOV W[DI+010],CS
EXIT1:         ES MOV W[DI+3],0100      ;signals end
               POP ES                   ;restore everything
               POP DS
               POP BP
               POP DI
               POP SI
               POP DX
               POP CX
               POP BX
               POP AX
               POPF
               RETF                     ;function return
DATA_SEG       SEGMENT   PUBLIC
REQUEST        DB 07,0A,0D,"This System is protected by SECURITY.SYS"
               DB 0D,0A,"The Required Password is case-sensitive."
               DB 0D,0A,"It will not be displayed as you type it."
               DB 0D,0A,"Type your Password, then press ENTER."
               DB 0D,0A,"Password: "
COUNTER        DB 0                     ;character counter
NUMBER_0       DB 08,0                  ;chars. in password
PASSWD         DB "SeCuRiTy       ",0   ;password
PASSBUFF       DB "                 "   ;password buffer
COPYRIGHT      DB 07,0D,0A,"Copyright 1990, Robert Wallingford, P.E.",0D,0A
H_OFF          DW ?                     ;header offset
H_SEG          DW ?                     ;header segment
DATA_SEG       ENDS
LOCAL:         CLD                      ;forward
               MOV BX,0
               MOV AH,2
               MOV DX,0
               INT 010                  ;set cursor
               MOV SI,OFFSET REQUEST    ;set si
               MOV CX,0B2               ;message size.
MSGLP:         PUSH CX
               LODSB
               MOV AH,0E
               INT 010                  ;print request
               POP CX
               LOOP MSGLP
               PUSH DI                  ;save ES:DI
               PUSH ES
               PUSH CS
               POP ES                   ;make es = cs
               CLD                      ;forward
SETUP:         MOV SI,OFFSET PASSWD     ;initialize
               MOV DI,OFFSET PASSBUFF   ; everything
               MOV COUNTER,0            ; about password
PSWLP:         MOV AH,0
               INT 016                  ;get character
               CMP AL,08
               JNE BAKSP
               CMP COUNTER,0            ;service backspace
               JE PSWLP
               DEC COUNTER
               DEC DI
               JMP PSWLP
BAKSP:         CMP AL,0D
               JE CARRT
               CMP COUNTER,0E           ;service carriage ret.
               JE PSWLP
               INC COUNTER
               STOSB
               JMP PSWLP
CARRT:         MOV CX,W[NUMBER_0]
               JCXZ SETUP
               CMP CL,COUNTER           ;check char. count
               JNE SETUP
               MOV DI,OFFSET PASSBUFF
               REPE CMPSB               ;check characters
               JNE SETUP
               MOV SI,OFFSET COPYRIGHT
               MOV CX,02D
CPRLP:         PUSH CX
               LODSB
               MOV AH,0E
               INT 010
               POP CX
               LOOP CPRLP
               POP ES                   ;recover ES:DI
               POP DI
               RET                      ;normal return

SECURITY.DOC

                    SECURITY.DOC

This Security System consists of the following five files
    SECURITY.SYS    the Password device driver.
    SECURITY.ASM    the Assembly language file
                    for SECURITY.SYS, A86 code.
    NEWWORD.COM     a program for changing the
                    Password, and more.
    NEWWORD.ASM     the Assembly language file
                    for NEWWORD.COM, A86 code.
    SECURITY.DOC    this Documentation file.

                    BACKGROUND

In most security systems,  the AUTOEXEC.BAT program calls a
Password program  that  requires you to type in the correct
Password before you can continue.  This might be sufficient
to prevent  beginners  from using your computer and reading
all of your private files, but anyone with  more experience
with DOS can abort the whole BAT file with the BREAK key.

SECURITY  is one whole level of sophistication better since
it performs the  Password  request and  verification with a
device driver that cannot be aborted  and occurs before the
Computer calls the AUTOEXEC.BAT file. I don't claim that it
is foolproof. A determined intruder can still bring his own
operating system  on a bootable floppy disk and bypass your
whole system.

To make your Computer System  immune to this risk you would
have to install special  hardware that would only recognize
your special operating system, or some critical part of it.
If you need this much security you should  probably  hire a
Security Consultant  and install his collection of gadgets.
You still won't be really safe. If what you want to protect
is worth all that money, someone will find a more expensive
Security Consultant to bypass all of the gadgets.

                  INSTALLATION

To install this  SECURITY  system  you must add one line to
your CONFIG.SYS file so the Computer will call SECURITY.SYS
as the first device driver that it installs.  This line is;
           device = SECURITY.SYS
if you intend to keep the files in your  root directory, or
           device = [path]\SECURITY.SYS
if you prefer to keep the files in the directory associated
with [path]. This line should be above all other lines that
begin with the word device.

If you don't already have a  CONFIG.SYS  file, you can make
one with the ASCII mode of any  Word Processor.  Or you can
type   COPY CON CONFIG.SYS  then press ENTER, type the line
and at the end of the line  hold down the  CONTROL  key and
press  Z,  then release the  CONTROL  key and press  ENTER.
You should do all this in the  root directory of the  drive
on which you have installed your operating system. For hard
disk systems this is generally  C:\.

                  DESCRIPTION

SECURITY.SYS  identifies  itself and gives the instructions
for entering the  Password.  The Password is case sensitive
and with the original system it is "SeCuRiTy" . As you type
the  Password,  it will  not appear  on the monitor screen.
A "friend"  watching you log on will find it more difficult
to read your keystrokes.  You may use any  ASCII  character
in your Password, including the extended  ASCII set, except
that you can't begin with a blank space.  If you  touch the
wrong key just press  ENTER  and do it again.  SECURITY.SYS
can process backspace  but you may find it difficult to use
this feature without the display.  The Password should have
no more than thirteen characters.  If nothing happens after
you press ENTER, try again. You may have hit a wrong key by
accident.

I suggest that you try  SECURITY  on a bootable floppy disk
before you install it on your hard disk, especially if your
Computer is marginally compatible with IBM BIOS. To do this
format a floppy with the /S option, copy command.com to it,
create the basic one line  CONFIG.SYS  file, and make a two
line AUTOEXEC.BAT file like this:

             c:\
             autoexec.bat
             
Also, copy SECURITY.SYS and NEWWORD.COM to this disk.

Now, with this floppy disk in drive  "A", and with the door
closed to activate this drive, reboot (restart) the system.
After several seconds you should see an announcement  about
SECURITY.SYS and request to enter the Password. If you have
not run NEWWORD.COM, the Password will be "SeCuRiTy".  Type
the Password, disregarding the fact that it does not appear
on the screen, and press ENTER. That should do it.

If it does not work, remove the floppy  disk with  SECURITY
and reboot  with the old system.  If it does work,  and you
want to change the Password, enter the directory containing
SECURITY.SYS and NEWWORD.COM and run  NEWWORD.COM  with the
following syntax:
               NEWWORD XXXXXXXXX
with your new Password in place of the series of Xs.

There can be more than one space between  NEWWORD  and your
new Password, and after the first Password character, space
is a valid  character.  When you press  ENTER,  NEWWORD.COM
will put the number of characters in the new  Password  and
the new Password itself into SECURITY.SYS, and then it will
do something totally unexpected.  It will make  NEWWORD.COM
invisible to commands like DIR, TYPE, COPY, etc.

If other people use your Computer and they don't know about
NEWWORD.COM, they won't accidentally find it and use it. If
anyone does run  NEWWORD  with any set of characters,  then
the next time you start your Computer, you will not use the
correct Password. That is why NEWWORD.COM hides itself each
time you use it.  If you don't want  this feature,  use the
REN  command to change NEWWORD.COM  to  PASSWORD.COM or any
other name that you want.

I have also included the  ASM files for generating the main
files of this  system.  I specifically  wrote  them for the
A86 Compiler, but if you use the other compiler, you should
be able to make the necessary modifications.  The  Compiler
generates SECURITY.BIN. You must rename it SECURITY.SYS.

If you try to  modify this file,  be very careful in making
any changes before the  DATA_SEGMENT.  Device  Drivers must
obey special rules. Also, you can't run them like COM files
and you can't use DEBUG to test them.

                COMMERCIAL

ROBERT WALLINGFORD, P.E. has copyrighted and owns the files
SECURITY.SYS and NEWWORD.COM and their associated ASM files. 
I hereby give you a limited license to use SECURITY.SYS and
NEWWORD.COM  and to copy them and distribute them, provided
that you meet the following conditions:
 
      1)  You may not charge a fee for such copying
          and distribution. 
           
      2)  You must distribute SECURITY as a complete
          set of all files.

      3)  You may ONLY distribute SECURITY in its
          original, unmodified state.   

This  program  is  being  distributed  under the  Shareware
concept,  which urges users to distribute these programs in
original form,  not modified in any way,  to their  friends
and other BBS.  The  author  claims  no  responsibility for
any damage, either accidental or otherwise, through the use
of these programs.  I am providing these programs  "AS  IS"
without warranty of any kind,  either expressed or implied.
The  entire  risk as to the  quality  and  compatibility of
these programs is with YOU.

If you use these  programs and find them of value,  I would
greatly appreciate any contributions ($7 suggested). I will
use it to further develop other useful  software.
         Send any contributions to:
                    ROBERT WALLINGFORD, P.E.
                    2338 N. McVicker Ave.
                    Chicago, IL  60639-2216

                    Ph. (312) 889-1115

Look for these other fine programs that I have written:

PROGRAM                DESCRIPTION                  REGISTRATION FEE
 
SUPERSPY.ZIP A File Viewing utility with a CLIPPER function
             for copying  pieces  from one  file to another
             file or to a printer and a  DIRECTORY function
             to help select the NEXT FILE to view and other
             useful functions.                                  $15.
 
BOOK.ZIP     Make & Read a "COMPUTER BOOK" on your monitor.
             Access any Chapter with one keystroke. Advance
             to next page with Spacebar or  PgDn.  Previous
             page with PgUp.  Return to Index or  Exit with
             "E"                                                 $7.
 
DISPLAY.ZIP Multi-screen  MESSAGE UTILITY. Make and display
            a multi-screen  message,  one screen at a time,
            with  control of the display  duration  and the
            attributes  of each  screen.  Makes  good  Xmas
            Cards, Birthday Greeting, etc.                       $7.
 
MEMO.ZIP    Like DISPLAY.ZIP with BIGGER screens.                $7.


If you register with a $10  contribution, I will send you a
5.25"  floppy  containing  all of them for your  evaluation
and possible future registration.

NEWWORD.ASM

               ORG 0100
               JMP MAIN
FILENAME       DB "SECURITY.SYS",0
FILENAME2      DB "NEWWORD.COM",0
HANDLE         DW ?                     ;for SECURITY.SYS
NUMBER         DB 08,0                  ;number of characters
NEW_WORD       DB "SeCuRiTy        ",0  ;password
MSG1           DB "Requires at least DOS 2.00$"
MSG2           DB "New PASSWORD not found.",0D,0A
               DB "Syntax:   NEWWORD [new password]"
               DB 0D,0A,"          Then Press ENTER."
               DB 0D,0A,"$"
MSG3           DB "This password has too many characters."
               DB 0D,0A,"$"
MSG4           DB "SECURITY.SYS not found in default directory."
               DB 0D,0A,"$"
MSG5           DB "SECURITY.SYS may be corrupted.",0D,0A,"$"
MSG6           DB "NEWWORD.COM is not hidden.",0D,0A,"$"
MSG6A          DB "NEWWORD.COM has been hidden.",0D,0A,"$"
MSG7           DB "The New Password has been installed.",0A
               DB 0D,0A,"Be sure that this modified SECURITY.SYS"
               DB 0D,0A,"is on the path defined in your"
               DB 0D,0A,"CONFIG.SYS file.",0D,0A,0A
               DB "Copyright 1990, by Robert Wallingford, P.E."
               DB 0D,0A,0A,"$"
TESTBUFF1:     DB 0FF,0FF,0FF,0FF,00,080,0A,00,013,00
TESTBUFF2:     DB 0B DUP 0
EXIT:          MOV AH,09                ;message with exit
               INT 021
               INT 020
EXT:           MOV AH,09                ;message with return
               INT 021
               RET
EXIT1:         MOV DX,OFFSET MSG1
               JMP EXIT
EXIT2:         MOV DX,OFFSET MSG2
               JMP EXIT
EXIT3:         MOV DX,OFFSET MSG3
               JMP EXIT
EXIT4:         MOV DX,OFFSET MSG4
               JMP EXIT
EXIT5:         MOV DX,OFFSET MSG5
               JMP EXIT
EXIT6:         MOV DX,OFFSET MSG6
               JMP EXT
EXIT7:         MOV DX,OFFSET MSG7
               JMP EXIT
MAIN:          CLD                      ;forward
               MOV AH,030               ;check DOS
               INT 021
               CMP AL,02
               JL EXIT1
               MOV NUMBER,0
               MOV SI,081               ;Point to command line parameter.
FIND_BYTE:     LODSB                    ;Get a byte.
               CMP AL,020
               JE FIND_BYTE             ;skip spaces before name
               CMP AL,0D                ;Carriage return marks end.
               JE EXIT2                 ;If end, done here.
               DEC SI
               PUSH SI
GET_NUMB:      LODSB                    ;count characters
               CMP AL,0D
               JE GOT_NUMB
               INC NUMBER
               CMP NUMBER,0E
               JE EXIT3
               JMP GET_NUMB
EX5:           JMP EXIT5
EX7:           JMP EXIT7
GOT_NUMB:      MOV CX,W[NUMBER]         ;move password
               POP SI                   ;from PSP
               MOV DI,OFFSET NEW_WORD   ;to offset
               REPNE MOVSB
               MOV AL,00
               STOSB
               MOV AH,03D               ;open SECURITY.SYS
               MOV AL,11000010b
               MOV DX,OFFSET FILENAME
               INT 021
               JC EXIT4
               MOV HANDLE,AX            ;save handle
               MOV AH,03F               ;check to be sure
               MOV BX,HANDLE            ;that SECURITY.SYS
               MOV CX,0A                ;is not some other
               MOV DX,TESTBUFF2         ;file with the same
               INT 021                  ;name by reading
               MOV CX,0B                ;part of it to check
               MOV SI,TESTBUFF1         ;for a match.
               MOV DI,TESTBUFF2
               REPE CMPSB
               CMP CX,0
               JNE EX5
               MOV AX,04200             ;move pointer
               MOV BX,HANDLE
               MOV CX,00
               MOV DX,0102              ;to byte # 102h
               INT 021
               MOV AH,040               ;write number and
               MOV BX,HANDLE            ;password into the
               MOV CX,W[NUMBER]         ;file
               MOV DX,OFFSET NUMBER
               ADD CX,02
               INT 021
               MOV AH,03E               ;close file
               MOV BX,HANDLE
               INT 021
               MOV AX,04301             ;hide NEWWORD.COM
               MOV CX,022
               MOV DX,OFFSET FILENAME2
               INT 021
               JAE NXT1
               CALL EXIT6
               JMP NXT1A
NXT1:          MOV AH,09
               MOV DX,OFFSET MSG6A
               INT 021
NXT1A:         JMP EX7

SECURITY.ASM

               ORG 0
NXTDV          DD -1
ATTRIBUTE      DW 08000                 ;character driver
DV_STRATEGY    DW 000A                  ;strategy offset
DV_INTERRUPT   DW 0015                  ;interrupt offset
STRATEGY:      CS: MOV H_OFF,BX         ;save it
               CS: MOV H_SEG,ES         ;save it
               RETF                     ;function return
INTERRUPT:     PUSHF                    ;save everything
               PUSH AX
               PUSH BX
               PUSH CX
               PUSH DX
               PUSH SI
               PUSH DI
               PUSH BP
               PUSH DS
               PUSH ES
               PUSH CS
               POP DS                   ;make ds = cs
               LES DI,H_OFF
               ES CMP B[DI+2],0
               JNE EXIT1
               CALL LOCAL
               ES MOV B[DI+0D],0        ;no error status word
               ES MOV W[DI+0E],0
               ES MOV W[DI+010],CS
EXIT1:         ES MOV W[DI+3],0100      ;signals end
               POP ES                   ;restore everything
               POP DS
               POP BP
               POP DI
               POP SI
               POP DX
               POP CX
               POP BX
               POP AX
               POPF
               RETF                     ;function return
DATA_SEG       SEGMENT   PUBLIC
REQUEST        DB 07,0A,0D,"This System is protected by SECURITY.SYS"
               DB 0D,0A,"The Required Password is case-sensitive."
               DB 0D,0A,"It will not be displayed as you type it."
               DB 0D,0A,"Type your Password, then press ENTER."
               DB 0D,0A,"Password: "
COUNTER        DB 0                     ;character counter
NUMBER_0       DB 08,0                  ;chars. in password
PASSWD         DB "SeCuRiTy       ",0   ;password
PASSBUFF       DB "                 "   ;password buffer
COPYRIGHT      DB 07,0D,0A,"Copyright 1990, Robert Wallingford, P.E.",0D,0A
H_OFF          DW ?                     ;header offset
H_SEG          DW ?                     ;header segment
DATA_SEG       ENDS
LOCAL:         CLD                      ;forward
               MOV BX,0
               MOV AH,2
               MOV DX,0
               INT 010                  ;set cursor
               MOV SI,OFFSET REQUEST    ;set si
               MOV CX,0B2               ;message size.
MSGLP:         PUSH CX
               LODSB
               MOV AH,0E
               INT 010                  ;print request
               POP CX
               LOOP MSGLP
               PUSH DI                  ;save ES:DI
               PUSH ES
               PUSH CS
               POP ES                   ;make es = cs
               CLD                      ;forward
SETUP:         MOV SI,OFFSET PASSWD     ;initialize
               MOV DI,OFFSET PASSBUFF   ; everything
               MOV COUNTER,0            ; about password
PSWLP:         MOV AH,0
               INT 016                  ;get character
               CMP AL,08
               JNE BAKSP
               CMP COUNTER,0            ;service backspace
               JE PSWLP
               DEC COUNTER
               DEC DI
               JMP PSWLP
BAKSP:         CMP AL,0D
               JE CARRT
               CMP COUNTER,0E           ;service carriage ret.
               JE PSWLP
               INC COUNTER
               STOSB
               JMP PSWLP
CARRT:         MOV CX,W[NUMBER_0]
               JCXZ SETUP
               CMP CL,COUNTER           ;check char. count
               JNE SETUP
               MOV DI,OFFSET PASSBUFF
               REPE CMPSB               ;check characters
               JNE SETUP
               MOV SI,OFFSET COPYRIGHT
               MOV CX,02D
CPRLP:         PUSH CX
               LODSB
               MOV AH,0E
               INT 010
               POP CX
               LOOP CPRLP
               POP ES                   ;recover ES:DI
               POP DI
               RET                      ;normal return

SECURITY.DOC

                    SECURITY.DOC

This Security System consists of the following five files
    SECURITY.SYS    the Password device driver.
    SECURITY.ASM    the Assembly language file
                    for SECURITY.SYS, A86 code.
    NEWWORD.COM     a program for changing the
                    Password, and more.
    NEWWORD.ASM     the Assembly language file
                    for NEWWORD.COM, A86 code.
    SECURITY.DOC    this Documentation file.

                    BACKGROUND

In most security systems,  the AUTOEXEC.BAT program calls a
Password program  that  requires you to type in the correct
Password before you can continue.  This might be sufficient
to prevent  beginners  from using your computer and reading
all of your private files, but anyone with  more experience
with DOS can abort the whole BAT file with the BREAK key.

SECURITY  is one whole level of sophistication better since
it performs the  Password  request and  verification with a
device driver that cannot be aborted  and occurs before the
Computer calls the AUTOEXEC.BAT file. I don't claim that it
is foolproof. A determined intruder can still bring his own
operating system  on a bootable floppy disk and bypass your
whole system.

To make your Computer System  immune to this risk you would
have to install special  hardware that would only recognize
your special operating system, or some critical part of it.
If you need this much security you should  probably  hire a
Security Consultant  and install his collection of gadgets.
You still won't be really safe. If what you want to protect
is worth all that money, someone will find a more expensive
Security Consultant to bypass all of the gadgets.

                  INSTALLATION

To install this  SECURITY  system  you must add one line to
your CONFIG.SYS file so the Computer will call SECURITY.SYS
as the first device driver that it installs.  This line is;
           device = SECURITY.SYS
if you intend to keep the files in your  root directory, or
           device = [path]\SECURITY.SYS
if you prefer to keep the files in the directory associated
with [path]. This line should be above all other lines that
begin with the word device.

If you don't already have a  CONFIG.SYS  file, you can make
one with the ASCII mode of any  Word Processor.  Or you can
type   COPY CON CONFIG.SYS  then press ENTER, type the line
and at the end of the line  hold down the  CONTROL  key and
press  Z,  then release the  CONTROL  key and press  ENTER.
You should do all this in the  root directory of the  drive
on which you have installed your operating system. For hard
disk systems this is generally  C:\.

                  DESCRIPTION

SECURITY.SYS  identifies  itself and gives the instructions
for entering the  Password.  The Password is case sensitive
and with the original system it is "SeCuRiTy" . As you type
the  Password,  it will  not appear  on the monitor screen.
A "friend"  watching you log on will find it more difficult
to read your keystrokes.  You may use any  ASCII  character
in your Password, including the extended  ASCII set, except
that you can't begin with a blank space.  If you  touch the
wrong key just press  ENTER  and do it again.  SECURITY.SYS
can process backspace  but you may find it difficult to use
this feature without the display.  The Password should have
no more than thirteen characters.  If nothing happens after
you press ENTER, try again. You may have hit a wrong key by
accident.

I suggest that you try  SECURITY  on a bootable floppy disk
before you install it on your hard disk, especially if your
Computer is marginally compatible with IBM BIOS. To do this
format a floppy with the /S option, copy command.com to it,
create the basic one line  CONFIG.SYS  file, and make a two
line AUTOEXEC.BAT file like this:

             c:\
             autoexec.bat
             
Also, copy SECURITY.SYS and NEWWORD.COM to this disk.

Now, with this floppy disk in drive  "A", and with the door
closed to activate this drive, reboot (restart) the system.
After several seconds you should see an announcement  about
SECURITY.SYS and request to enter the Password. If you have
not run NEWWORD.COM, the Password will be "SeCuRiTy".  Type
the Password, disregarding the fact that it does not appear
on the screen, and press ENTER. That should do it.

If it does not work, remove the floppy  disk with  SECURITY
and reboot  with the old system.  If it does work,  and you
want to change the Password, enter the directory containing
SECURITY.SYS and NEWWORD.COM and run  NEWWORD.COM  with the
following syntax:
               NEWWORD XXXXXXXXX
with your new Password in place of the series of Xs.

There can be more than one space between  NEWWORD  and your
new Password, and after the first Password character, space
is a valid  character.  When you press  ENTER,  NEWWORD.COM
will put the number of characters in the new  Password  and
the new Password itself into SECURITY.SYS, and then it will
do something totally unexpected.  It will make  NEWWORD.COM
invisible to commands like DIR, TYPE, COPY, etc.

If other people use your Computer and they don't know about
NEWWORD.COM, they won't accidentally find it and use it. If
anyone does run  NEWWORD  with any set of characters,  then
the next time you start your Computer, you will not use the
correct Password. That is why NEWWORD.COM hides itself each
time you use it.  If you don't want  this feature,  use the
REN  command to change NEWWORD.COM  to  PASSWORD.COM or any
other name that you want.

I have also included the  ASM files for generating the main
files of this  system.  I specifically  wrote  them for the
A86 Compiler, but if you use the other compiler, you should
be able to make the necessary modifications.  The  Compiler
generates SECURITY.BIN. You must rename it SECURITY.SYS.

If you try to  modify this file,  be very careful in making
any changes before the  DATA_SEGMENT.  Device  Drivers must
obey special rules. Also, you can't run them like COM files
and you can't use DEBUG to test them.

                COMMERCIAL

ROBERT WALLINGFORD, P.E. has copyrighted and owns the files
SECURITY.SYS and NEWWORD.COM and their associated ASM files. 
I hereby give you a limited license to use SECURITY.SYS and
NEWWORD.COM  and to copy them and distribute them, provided
that you meet the following conditions:
 
      1)  You may not charge a fee for such copying
          and distribution. 
           
      2)  You must distribute SECURITY as a complete
          set of all files.

      3)  You may ONLY distribute SECURITY in its
          original, unmodified state.   

This  program  is  being  distributed  under the  Shareware
concept,  which urges users to distribute these programs in
original form,  not modified in any way,  to their  friends
and other BBS.  The  author  claims  no  responsibility for
any damage, either accidental or otherwise, through the use
of these programs.  I am providing these programs  "AS  IS"
without warranty of any kind,  either expressed or implied.
The  entire  risk as to the  quality  and  compatibility of
these programs is with YOU.

If you use these  programs and find them of value,  I would
greatly appreciate any contributions ($7 suggested). I will
use it to further develop other useful  software.
         Send any contributions to:
                    ROBERT WALLINGFORD, P.E.
                    2338 N. McVicker Ave.
                    Chicago, IL  60639-2216

                    Ph. (312) 889-1115

Look for these other fine programs that I have written:

PROGRAM                DESCRIPTION                  REGISTRATION FEE
 
SUPERSPY.ZIP A File Viewing utility with a CLIPPER function
             for copying  pieces  from one  file to another
             file or to a printer and a  DIRECTORY function
             to help select the NEXT FILE to view and other
             useful functions.                                  $15.
 
BOOK.ZIP     Make & Read a "COMPUTER BOOK" on your monitor.
             Access any Chapter with one keystroke. Advance
             to next page with Spacebar or  PgDn.  Previous
             page with PgUp.  Return to Index or  Exit with
             "E"                                                 $7.
 
DISPLAY.ZIP Multi-screen  MESSAGE UTILITY. Make and display
            a multi-screen  message,  one screen at a time,
            with  control of the display  duration  and the
            attributes  of each  screen.  Makes  good  Xmas
            Cards, Birthday Greeting, etc.                       $7.
 
MEMO.ZIP    Like DISPLAY.ZIP with BIGGER screens.                $7.


If you register with a $10  contribution, I will send you a
5.25"  floppy  containing  all of them for your  evaluation
and possible future registration.

NEWWORD.ASM

               ORG 0100
               JMP MAIN
FILENAME       DB "SECURITY.SYS",0
FILENAME2      DB "NEWWORD.COM",0
HANDLE         DW ?                     ;for SECURITY.SYS
NUMBER         DB 08,0                  ;number of characters
NEW_WORD       DB "SeCuRiTy        ",0  ;password
MSG1           DB "Requires at least DOS 2.00$"
MSG2           DB "New PASSWORD not found.",0D,0A
               DB "Syntax:   NEWWORD [new password]"
               DB 0D,0A,"          Then Press ENTER."
               DB 0D,0A,"$"
MSG3           DB "This password has too many characters."
               DB 0D,0A,"$"
MSG4           DB "SECURITY.SYS not found in default directory."
               DB 0D,0A,"$"
MSG5           DB "SECURITY.SYS may be corrupted.",0D,0A,"$"
MSG6           DB "NEWWORD.COM is not hidden.",0D,0A,"$"
MSG6A          DB "NEWWORD.COM has been hidden.",0D,0A,"$"
MSG7           DB "The New Password has been installed.",0A
               DB 0D,0A,"Be sure that this modified SECURITY.SYS"
               DB 0D,0A,"is on the path defined in your"
               DB 0D,0A,"CONFIG.SYS file.",0D,0A,0A
               DB "Copyright 1990, by Robert Wallingford, P.E."
               DB 0D,0A,0A,"$"
TESTBUFF1:     DB 0FF,0FF,0FF,0FF,00,080,0A,00,013,00
TESTBUFF2:     DB 0B DUP 0
EXIT:          MOV AH,09                ;message with exit
               INT 021
               INT 020
EXT:           MOV AH,09                ;message with return
               INT 021
               RET
EXIT1:         MOV DX,OFFSET MSG1
               JMP EXIT
EXIT2:         MOV DX,OFFSET MSG2
               JMP EXIT
EXIT3:         MOV DX,OFFSET MSG3
               JMP EXIT
EXIT4:         MOV DX,OFFSET MSG4
               JMP EXIT
EXIT5:         MOV DX,OFFSET MSG5
               JMP EXIT
EXIT6:         MOV DX,OFFSET MSG6
               JMP EXT
EXIT7:         MOV DX,OFFSET MSG7
               JMP EXIT
MAIN:          CLD                      ;forward
               MOV AH,030               ;check DOS
               INT 021
               CMP AL,02
               JL EXIT1
               MOV NUMBER,0
               MOV SI,081               ;Point to command line parameter.
FIND_BYTE:     LODSB                    ;Get a byte.
               CMP AL,020
               JE FIND_BYTE             ;skip spaces before name
               CMP AL,0D                ;Carriage return marks end.
               JE EXIT2                 ;If end, done here.
               DEC SI
               PUSH SI
GET_NUMB:      LODSB                    ;count characters
               CMP AL,0D
               JE GOT_NUMB
               INC NUMBER
               CMP NUMBER,0E
               JE EXIT3
               JMP GET_NUMB
EX5:           JMP EXIT5
EX7:           JMP EXIT7
GOT_NUMB:      MOV CX,W[NUMBER]         ;move password
               POP SI                   ;from PSP
               MOV DI,OFFSET NEW_WORD   ;to offset
               REPNE MOVSB
               MOV AL,00
               STOSB
               MOV AH,03D               ;open SECURITY.SYS
               MOV AL,11000010b
               MOV DX,OFFSET FILENAME
               INT 021
               JC EXIT4
               MOV HANDLE,AX            ;save handle
               MOV AH,03F               ;check to be sure
               MOV BX,HANDLE            ;that SECURITY.SYS
               MOV CX,0A                ;is not some other
               MOV DX,TESTBUFF2         ;file with the same
               INT 021                  ;name by reading
               MOV CX,0B                ;part of it to check
               MOV SI,TESTBUFF1         ;for a match.
               MOV DI,TESTBUFF2
               REPE CMPSB
               CMP CX,0
               JNE EX5
               MOV AX,04200             ;move pointer
               MOV BX,HANDLE
               MOV CX,00
               MOV DX,0102              ;to byte # 102h
               INT 021
               MOV AH,040               ;write number and
               MOV BX,HANDLE            ;password into the
               MOV CX,W[NUMBER]         ;file
               MOV DX,OFFSET NUMBER
               ADD CX,02
               INT 021
               MOV AH,03E               ;close file
               MOV BX,HANDLE
               INT 021
               MOV AX,04301             ;hide NEWWORD.COM
               MOV CX,022
               MOV DX,OFFSET FILENAME2
               INT 021
               JAE NXT1
               CALL EXIT6
               JMP NXT1A
NXT1:          MOV AH,09
               MOV DX,OFFSET MSG6A
               INT 021
NXT1A:         JMP EX7

SECURITY.ASM

               ORG 0
NXTDV          DD -1
ATTRIBUTE      DW 08000                 ;character driver
DV_STRATEGY    DW 000A                  ;strategy offset
DV_INTERRUPT   DW 0015                  ;interrupt offset
STRATEGY:      CS: MOV H_OFF,BX         ;save it
               CS: MOV H_SEG,ES         ;save it
               RETF                     ;function return
INTERRUPT:     PUSHF                    ;save everything
               PUSH AX
               PUSH BX
               PUSH CX
               PUSH DX
               PUSH SI
               PUSH DI
               PUSH BP
               PUSH DS
               PUSH ES
               PUSH CS
               POP DS                   ;make ds = cs
               LES DI,H_OFF
               ES CMP B[DI+2],0
               JNE EXIT1
               CALL LOCAL
               ES MOV B[DI+0D],0        ;no error status word
               ES MOV W[DI+0E],0
               ES MOV W[DI+010],CS
EXIT1:         ES MOV W[DI+3],0100      ;signals end
               POP ES                   ;restore everything
               POP DS
               POP BP
               POP DI
               POP SI
               POP DX
               POP CX
               POP BX
               POP AX
               POPF
               RETF                     ;function return
DATA_SEG       SEGMENT   PUBLIC
REQUEST        DB 07,0A,0D,"This System is protected by SECURITY.SYS"
               DB 0D,0A,"The Required Password is case-sensitive."
               DB 0D,0A,"It will not be displayed as you type it."
               DB 0D,0A,"Type your Password, then press ENTER."
               DB 0D,0A,"Password: "
COUNTER        DB 0                     ;character counter
NUMBER_0       DB 08,0                  ;chars. in password
PASSWD         DB "SeCuRiTy       ",0   ;password
PASSBUFF       DB "                 "   ;password buffer
COPYRIGHT      DB 07,0D,0A,"Copyright 1990, Robert Wallingford, P.E.",0D,0A
H_OFF          DW ?                     ;header offset
H_SEG          DW ?                     ;header segment
DATA_SEG       ENDS
LOCAL:         CLD                      ;forward
               MOV BX,0
               MOV AH,2
               MOV DX,0
               INT 010                  ;set cursor
               MOV SI,OFFSET REQUEST    ;set si
               MOV CX,0B2               ;message size.
MSGLP:         PUSH CX
               LODSB
               MOV AH,0E
               INT 010                  ;print request
               POP CX
               LOOP MSGLP
               PUSH DI                  ;save ES:DI
               PUSH ES
               PUSH CS
               POP ES                   ;make es = cs
               CLD                      ;forward
SETUP:         MOV SI,OFFSET PASSWD     ;initialize
               MOV DI,OFFSET PASSBUFF   ; everything
               MOV COUNTER,0            ; about password
PSWLP:         MOV AH,0
               INT 016                  ;get character
               CMP AL,08
               JNE BAKSP
               CMP COUNTER,0            ;service backspace
               JE PSWLP
               DEC COUNTER
               DEC DI
               JMP PSWLP
BAKSP:         CMP AL,0D
               JE CARRT
               CMP COUNTER,0E           ;service carriage ret.
               JE PSWLP
               INC COUNTER
               STOSB
               JMP PSWLP
CARRT:         MOV CX,W[NUMBER_0]
               JCXZ SETUP
               CMP CL,COUNTER           ;check char. count
               JNE SETUP
               MOV DI,OFFSET PASSBUFF
               REPE CMPSB               ;check characters
               JNE SETUP
               MOV SI,OFFSET COPYRIGHT
               MOV CX,02D
CPRLP:         PUSH CX
               LODSB
               MOV AH,0E
               INT 010
               POP CX
               LOOP CPRLP
               POP ES                   ;recover ES:DI
               POP DI
               RET                      ;normal return

SECURITY.DOC

                    SECURITY.DOC

This Security System consists of the following five files
    SECURITY.SYS    the Password device driver.
    SECURITY.ASM    the Assembly language file
                    for SECURITY.SYS, A86 code.
    NEWWORD.COM     a program for changing the
                    Password, and more.
    NEWWORD.ASM     the Assembly language file
                    for NEWWORD.COM, A86 code.
    SECURITY.DOC    this Documentation file.

                    BACKGROUND

In most security systems,  the AUTOEXEC.BAT program calls a
Password program  that  requires you to type in the correct
Password before you can continue.  This might be sufficient
to prevent  beginners  from using your computer and reading
all of your private files, but anyone with  more experience
with DOS can abort the whole BAT file with the BREAK key.

SECURITY  is one whole level of sophistication better since
it performs the  Password  request and  verification with a
device driver that cannot be aborted  and occurs before the
Computer calls the AUTOEXEC.BAT file. I don't claim that it
is foolproof. A determined intruder can still bring his own
operating system  on a bootable floppy disk and bypass your
whole system.

To make your Computer System  immune to this risk you would
have to install special  hardware that would only recognize
your special operating system, or some critical part of it.
If you need this much security you should  probably  hire a
Security Consultant  and install his collection of gadgets.
You still won't be really safe. If what you want to protect
is worth all that money, someone will find a more expensive
Security Consultant to bypass all of the gadgets.

                  INSTALLATION

To install this  SECURITY  system  you must add one line to
your CONFIG.SYS file so the Computer will call SECURITY.SYS
as the first device driver that it installs.  This line is;
           device = SECURITY.SYS
if you intend to keep the files in your  root directory, or
           device = [path]\SECURITY.SYS
if you prefer to keep the files in the directory associated
with [path]. This line should be above all other lines that
begin with the word device.

If you don't already have a  CONFIG.SYS  file, you can make
one with the ASCII mode of any  Word Processor.  Or you can
type   COPY CON CONFIG.SYS  then press ENTER, type the line
and at the end of the line  hold down the  CONTROL  key and
press  Z,  then release the  CONTROL  key and press  ENTER.
You should do all this in the  root directory of the  drive
on which you have installed your operating system. For hard
disk systems this is generally  C:\.

                  DESCRIPTION

SECURITY.SYS  identifies  itself and gives the instructions
for entering the  Password.  The Password is case sensitive
and with the original system it is "SeCuRiTy" . As you type
the  Password,  it will  not appear  on the monitor screen.
A "friend"  watching you log on will find it more difficult
to read your keystrokes.  You may use any  ASCII  character
in your Password, including the extended  ASCII set, except
that you can't begin with a blank space.  If you  touch the
wrong key just press  ENTER  and do it again.  SECURITY.SYS
can process backspace  but you may find it difficult to use
this feature without the display.  The Password should have
no more than thirteen characters.  If nothing happens after
you press ENTER, try again. You may have hit a wrong key by
accident.

I suggest that you try  SECURITY  on a bootable floppy disk
before you install it on your hard disk, especially if your
Computer is marginally compatible with IBM BIOS. To do this
format a floppy with the /S option, copy command.com to it,
create the basic one line  CONFIG.SYS  file, and make a two
line AUTOEXEC.BAT file like this:

             c:\
             autoexec.bat
             
Also, copy SECURITY.SYS and NEWWORD.COM to this disk.

Now, with this floppy disk in drive  "A", and with the door
closed to activate this drive, reboot (restart) the system.
After several seconds you should see an announcement  about
SECURITY.SYS and request to enter the Password. If you have
not run NEWWORD.COM, the Password will be "SeCuRiTy".  Type
the Password, disregarding the fact that it does not appear
on the screen, and press ENTER. That should do it.

If it does not work, remove the floppy  disk with  SECURITY
and reboot  with the old system.  If it does work,  and you
want to change the Password, enter the directory containing
SECURITY.SYS and NEWWORD.COM and run  NEWWORD.COM  with the
following syntax:
               NEWWORD XXXXXXXXX
with your new Password in place of the series of Xs.

There can be more than one space between  NEWWORD  and your
new Password, and after the first Password character, space
is a valid  character.  When you press  ENTER,  NEWWORD.COM
will put the number of characters in the new  Password  and
the new Password itself into SECURITY.SYS, and then it will
do something totally unexpected.  It will make  NEWWORD.COM
invisible to commands like DIR, TYPE, COPY, etc.

If other people use your Computer and they don't know about
NEWWORD.COM, they won't accidentally find it and use it. If
anyone does run  NEWWORD  with any set of characters,  then
the next time you start your Computer, you will not use the
correct Password. That is why NEWWORD.COM hides itself each
time you use it.  If you don't want  this feature,  use the
REN  command to change NEWWORD.COM  to  PASSWORD.COM or any
other name that you want.

I have also included the  ASM files for generating the main
files of this  system.  I specifically  wrote  them for the
A86 Compiler, but if you use the other compiler, you should
be able to make the necessary modifications.  The  Compiler
generates SECURITY.BIN. You must rename it SECURITY.SYS.

If you try to  modify this file,  be very careful in making
any changes before the  DATA_SEGMENT.  Device  Drivers must
obey special rules. Also, you can't run them like COM files
and you can't use DEBUG to test them.

                COMMERCIAL

ROBERT WALLINGFORD, P.E. has copyrighted and owns the files
SECURITY.SYS and NEWWORD.COM and their associated ASM files. 
I hereby give you a limited license to use SECURITY.SYS and
NEWWORD.COM  and to copy them and distribute them, provided
that you meet the following conditions:
 
      1)  You may not charge a fee for such copying
          and distribution. 
           
      2)  You must distribute SECURITY as a complete
          set of all files.

      3)  You may ONLY distribute SECURITY in its
          original, unmodified state.   

This  program  is  being  distributed  under the  Shareware
concept,  which urges users to distribute these programs in
original form,  not modified in any way,  to their  friends
and other BBS.  The  author  claims  no  responsibility for
any damage, either accidental or otherwise, through the use
of these programs.  I am providing these programs  "AS  IS"
without warranty of any kind,  either expressed or implied.
The  entire  risk as to the  quality  and  compatibility of
these programs is with YOU.

If you use these  programs and find them of value,  I would
greatly appreciate any contributions ($7 suggested). I will
use it to further develop other useful  software.
         Send any contributions to:
                    ROBERT WALLINGFORD, P.E.
                    2338 N. McVicker Ave.
                    Chicago, IL  60639-2216

                    Ph. (312) 889-1115

Look for these other fine programs that I have written:

PROGRAM                DESCRIPTION                  REGISTRATION FEE
 
SUPERSPY.ZIP A File Viewing utility with a CLIPPER function
             for copying  pieces  from one  file to another
             file or to a printer and a  DIRECTORY function
             to help select the NEXT FILE to view and other
             useful functions.                                  $15.
 
BOOK.ZIP     Make & Read a "COMPUTER BOOK" on your monitor.
             Access any Chapter with one keystroke. Advance
             to next page with Spacebar or  PgDn.  Previous
             page with PgUp.  Return to Index or  Exit with
             "E"                                                 $7.
 
DISPLAY.ZIP Multi-screen  MESSAGE UTILITY. Make and display
            a multi-screen  message,  one screen at a time,
            with  control of the display  duration  and the
            attributes  of each  screen.  Makes  good  Xmas
            Cards, Birthday Greeting, etc.                       $7.
 
MEMO.ZIP    Like DISPLAY.ZIP with BIGGER screens.                $7.


If you register with a $10  contribution, I will send you a
5.25"  floppy  containing  all of them for your  evaluation
and possible future registration.

NEWWORD.ASM

               ORG 0100
               JMP MAIN
FILENAME       DB "SECURITY.SYS",0
FILENAME2      DB "NEWWORD.COM",0
HANDLE         DW ?                     ;for SECURITY.SYS
NUMBER         DB 08,0                  ;number of characters
NEW_WORD       DB "SeCuRiTy        ",0  ;password
MSG1           DB "Requires at least DOS 2.00$"
MSG2           DB "New PASSWORD not found.",0D,0A
               DB "Syntax:   NEWWORD [new password]"
               DB 0D,0A,"          Then Press ENTER."
               DB 0D,0A,"$"
MSG3           DB "This password has too many characters."
               DB 0D,0A,"$"
MSG4           DB "SECURITY.SYS not found in default directory."
               DB 0D,0A,"$"
MSG5           DB "SECURITY.SYS may be corrupted.",0D,0A,"$"
MSG6           DB "NEWWORD.COM is not hidden.",0D,0A,"$"
MSG6A          DB "NEWWORD.COM has been hidden.",0D,0A,"$"
MSG7           DB "The New Password has been installed.",0A
               DB 0D,0A,"Be sure that this modified SECURITY.SYS"
               DB 0D,0A,"is on the path defined in your"
               DB 0D,0A,"CONFIG.SYS file.",0D,0A,0A
               DB "Copyright 1990, by Robert Wallingford, P.E."
               DB 0D,0A,0A,"$"
TESTBUFF1:     DB 0FF,0FF,0FF,0FF,00,080,0A,00,013,00
TESTBUFF2:     DB 0B DUP 0
EXIT:          MOV AH,09                ;message with exit
               INT 021
               INT 020
EXT:           MOV AH,09                ;message with return
               INT 021
               RET
EXIT1:         MOV DX,OFFSET MSG1
               JMP EXIT
EXIT2:         MOV DX,OFFSET MSG2
               JMP EXIT
EXIT3:         MOV DX,OFFSET MSG3
               JMP EXIT
EXIT4:         MOV DX,OFFSET MSG4
               JMP EXIT
EXIT5:         MOV DX,OFFSET MSG5
               JMP EXIT
EXIT6:         MOV DX,OFFSET MSG6
               JMP EXT
EXIT7:         MOV DX,OFFSET MSG7
               JMP EXIT
MAIN:          CLD                      ;forward
               MOV AH,030               ;check DOS
               INT 021
               CMP AL,02
               JL EXIT1
               MOV NUMBER,0
               MOV SI,081               ;Point to command line parameter.
FIND_BYTE:     LODSB                    ;Get a byte.
               CMP AL,020
               JE FIND_BYTE             ;skip spaces before name
               CMP AL,0D                ;Carriage return marks end.
               JE EXIT2                 ;If end, done here.
               DEC SI
               PUSH SI
GET_NUMB:      LODSB                    ;count characters
               CMP AL,0D
               JE GOT_NUMB
               INC NUMBER
               CMP NUMBER,0E
               JE EXIT3
               JMP GET_NUMB
EX5:           JMP EXIT5
EX7:           JMP EXIT7
GOT_NUMB:      MOV CX,W[NUMBER]         ;move password
               POP SI                   ;from PSP
               MOV DI,OFFSET NEW_WORD   ;to offset
               REPNE MOVSB
               MOV AL,00
               STOSB
               MOV AH,03D               ;open SECURITY.SYS
               MOV AL,11000010b
               MOV DX,OFFSET FILENAME
               INT 021
               JC EXIT4
               MOV HANDLE,AX            ;save handle
               MOV AH,03F               ;check to be sure
               MOV BX,HANDLE            ;that SECURITY.SYS
               MOV CX,0A                ;is not some other
               MOV DX,TESTBUFF2         ;file with the same
               INT 021                  ;name by reading
               MOV CX,0B                ;part of it to check
               MOV SI,TESTBUFF1         ;for a match.
               MOV DI,TESTBUFF2
               REPE CMPSB
               CMP CX,0
               JNE EX5
               MOV AX,04200             ;move pointer
               MOV BX,HANDLE
               MOV CX,00
               MOV DX,0102              ;to byte # 102h
               INT 021
               MOV AH,040               ;write number and
               MOV BX,HANDLE            ;password into the
               MOV CX,W[NUMBER]         ;file
               MOV DX,OFFSET NUMBER
               ADD CX,02
               INT 021
               MOV AH,03E               ;close file
               MOV BX,HANDLE
               INT 021
               MOV AX,04301             ;hide NEWWORD.COM
               MOV CX,022
               MOV DX,OFFSET FILENAME2
               INT 021
               JAE NXT1
               CALL EXIT6
               JMP NXT1A
NXT1:          MOV AH,09
               MOV DX,OFFSET MSG6A
               INT 021
NXT1A:         JMP EX7

SECURITY.ASM

               ORG 0
NXTDV          DD -1
ATTRIBUTE      DW 08000                 ;character driver
DV_STRATEGY    DW 000A                  ;strategy offset
DV_INTERRUPT   DW 0015                  ;interrupt offset
STRATEGY:      CS: MOV H_OFF,BX         ;save it
               CS: MOV H_SEG,ES         ;save it
               RETF                     ;function return
INTERRUPT:     PUSHF                    ;save everything
               PUSH AX
               PUSH BX
               PUSH CX
               PUSH DX
               PUSH SI
               PUSH DI
               PUSH BP
               PUSH DS
               PUSH ES
               PUSH CS
               POP DS                   ;make ds = cs
               LES DI,H_OFF
               ES CMP B[DI+2],0
               JNE EXIT1
               CALL LOCAL
               ES MOV B[DI+0D],0        ;no error status word
               ES MOV W[DI+0E],0
               ES MOV W[DI+010],CS
EXIT1:         ES MOV W[DI+3],0100      ;signals end
               POP ES                   ;restore everything
               POP DS
               POP BP
               POP DI
               POP SI
               POP DX
               POP CX
               POP BX
               POP AX
               POPF
               RETF                     ;function return
DATA_SEG       SEGMENT   PUBLIC
REQUEST        DB 07,0A,0D,"This System is protected by SECURITY.SYS"
               DB 0D,0A,"The Required Password is case-sensitive."
               DB 0D,0A,"It will not be displayed as you type it."
               DB 0D,0A,"Type your Password, then press ENTER."
               DB 0D,0A,"Password: "
COUNTER        DB 0                     ;character counter
NUMBER_0       DB 08,0                  ;chars. in password
PASSWD         DB "SeCuRiTy       ",0   ;password
PASSBUFF       DB "                 "   ;password buffer
COPYRIGHT      DB 07,0D,0A,"Copyright 1990, Robert Wallingford, P.E.",0D,0A
H_OFF          DW ?                     ;header offset
H_SEG          DW ?                     ;header segment
DATA_SEG       ENDS
LOCAL:         CLD                      ;forward
               MOV BX,0
               MOV AH,2
               MOV DX,0
               INT 010                  ;set cursor
               MOV SI,OFFSET REQUEST    ;set si
               MOV CX,0B2               ;message size.
MSGLP:         PUSH CX
               LODSB
               MOV AH,0E
               INT 010                  ;print request
               POP CX
               LOOP MSGLP
               PUSH DI                  ;save ES:DI
               PUSH ES
               PUSH CS
               POP ES                   ;make es = cs
               CLD                      ;forward
SETUP:         MOV SI,OFFSET PASSWD     ;initialize
               MOV DI,OFFSET PASSBUFF   ; everything
               MOV COUNTER,0            ; about password
PSWLP:         MOV AH,0
               INT 016                  ;get character
               CMP AL,08
               JNE BAKSP
               CMP COUNTER,0            ;service backspace
               JE PSWLP
               DEC COUNTER
               DEC DI
               JMP PSWLP
BAKSP:         CMP AL,0D
               JE CARRT
               CMP COUNTER,0E           ;service carriage ret.
               JE PSWLP
               INC COUNTER
               STOSB
               JMP PSWLP
CARRT:         MOV CX,W[NUMBER_0]
               JCXZ SETUP
               CMP CL,COUNTER           ;check char. count
               JNE SETUP
               MOV DI,OFFSET PASSBUFF
               REPE CMPSB               ;check characters
               JNE SETUP
               MOV SI,OFFSET COPYRIGHT
               MOV CX,02D
CPRLP:         PUSH CX
               LODSB
               MOV AH,0E
               INT 010
               POP CX
               LOOP CPRLP
               POP ES                   ;recover ES:DI
               POP DI
               RET                      ;normal return

SECURITY.DOC

                    SECURITY.DOC

This Security System consists of the following five files
    SECURITY.SYS    the Password device driver.
    SECURITY.ASM    the Assembly language file
                    for SECURITY.SYS, A86 code.
    NEWWORD.COM     a program for changing the
                    Password, and more.
    NEWWORD.ASM     the Assembly language file
                    for NEWWORD.COM, A86 code.
    SECURITY.DOC    this Documentation file.

                    BACKGROUND

In most security systems,  the AUTOEXEC.BAT program calls a
Password program  that  requires you to type in the correct
Password before you can continue.  This might be sufficient
to prevent  beginners  from using your computer and reading
all of your private files, but anyone with  more experience
with DOS can abort the whole BAT file with the BREAK key.

SECURITY  is one whole level of sophistication better since
it performs the  Password  request and  verification with a
device driver that cannot be aborted  and occurs before the
Computer calls the AUTOEXEC.BAT file. I don't claim that it
is foolproof. A determined intruder can still bring his own
operating system  on a bootable floppy disk and bypass your
whole system.

To make your Computer System  immune to this risk you would
have to install special  hardware that would only recognize
your special operating system, or some critical part of it.
If you need this much security you should  probably  hire a
Security Consultant  and install his collection of gadgets.
You still won't be really safe. If what you want to protect
is worth all that money, someone will find a more expensive
Security Consultant to bypass all of the gadgets.

                  INSTALLATION

To install this  SECURITY  system  you must add one line to
your CONFIG.SYS file so the Computer will call SECURITY.SYS
as the first device driver that it installs.  This line is;
           device = SECURITY.SYS
if you intend to keep the files in your  root directory, or
           device = [path]\SECURITY.SYS
if you prefer to keep the files in the directory associated
with [path]. This line should be above all other lines that
begin with the word device.

If you don't already have a  CONFIG.SYS  file, you can make
one with the ASCII mode of any  Word Processor.  Or you can
type   COPY CON CONFIG.SYS  then press ENTER, type the line
and at the end of the line  hold down the  CONTROL  key and
press  Z,  then release the  CONTROL  key and press  ENTER.
You should do all this in the  root directory of the  drive
on which you have installed your operating system. For hard
disk systems this is generally  C:\.

                  DESCRIPTION

SECURITY.SYS  identifies  itself and gives the instructions
for entering the  Password.  The Password is case sensitive
and with the original system it is "SeCuRiTy" . As you type
the  Password,  it will  not appear  on the monitor screen.
A "friend"  watching you log on will find it more difficult
to read your keystrokes.  You may use any  ASCII  character
in your Password, including the extended  ASCII set, except
that you can't begin with a blank space.  If you  touch the
wrong key just press  ENTER  and do it again.  SECURITY.SYS
can process backspace  but you may find it difficult to use
this feature without the display.  The Password should have
no more than thirteen characters.  If nothing happens after
you press ENTER, try again. You may have hit a wrong key by
accident.

I suggest that you try  SECURITY  on a bootable floppy disk
before you install it on your hard disk, especially if your
Computer is marginally compatible with IBM BIOS. To do this
format a floppy with the /S option, copy command.com to it,
create the basic one line  CONFIG.SYS  file, and make a two
line AUTOEXEC.BAT file like this:

             c:\
             autoexec.bat
             
Also, copy SECURITY.SYS and NEWWORD.COM to this disk.

Now, with this floppy disk in drive  "A", and with the door
closed to activate this drive, reboot (restart) the system.
After several seconds you should see an announcement  about
SECURITY.SYS and request to enter the Password. If you have
not run NEWWORD.COM, the Password will be "SeCuRiTy".  Type
the Password, disregarding the fact that it does not appear
on the screen, and press ENTER. That should do it.

If it does not work, remove the floppy  disk with  SECURITY
and reboot  with the old system.  If it does work,  and you
want to change the Password, enter the directory containing
SECURITY.SYS and NEWWORD.COM and run  NEWWORD.COM  with the
following syntax:
               NEWWORD XXXXXXXXX
with your new Password in place of the series of Xs.

There can be more than one space between  NEWWORD  and your
new Password, and after the first Password character, space
is a valid  character.  When you press  ENTER,  NEWWORD.COM
will put the number of characters in the new  Password  and
the new Password itself into SECURITY.SYS, and then it will
do something totally unexpected.  It will make  NEWWORD.COM
invisible to commands like DIR, TYPE, COPY, etc.

If other people use your Computer and they don't know about
NEWWORD.COM, they won't accidentally find it and use it. If
anyone does run  NEWWORD  with any set of characters,  then
the next time you start your Computer, you will not use the
correct Password. That is why NEWWORD.COM hides itself each
time you use it.  If you don't want  this feature,  use the
REN  command to change NEWWORD.COM  to  PASSWORD.COM or any
other name that you want.

I have also included the  ASM files for generating the main
files of this  system.  I specifically  wrote  them for the
A86 Compiler, but if you use the other compiler, you should
be able to make the necessary modifications.  The  Compiler
generates SECURITY.BIN. You must rename it SECURITY.SYS.

If you try to  modify this file,  be very careful in making
any changes before the  DATA_SEGMENT.  Device  Drivers must
obey special rules. Also, you can't run them like COM files
and you can't use DEBUG to test them.

                COMMERCIAL

ROBERT WALLINGFORD, P.E. has copyrighted and owns the files
SECURITY.SYS and NEWWORD.COM and their associated ASM files. 
I hereby give you a limited license to use SECURITY.SYS and
NEWWORD.COM  and to copy them and distribute them, provided
that you meet the following conditions:
 
      1)  You may not charge a fee for such copying
          and distribution. 
           
      2)  You must distribute SECURITY as a complete
          set of all files.

      3)  You may ONLY distribute SECURITY in its
          original, unmodified state.   

This  program  is  being  distributed  under the  Shareware
concept,  which urges users to distribute these programs in
original form,  not modified in any way,  to their  friends
and other BBS.  The  author  claims  no  responsibility for
any damage, either accidental or otherwise, through the use
of these programs.  I am providing these programs  "AS  IS"
without warranty of any kind,  either expressed or implied.
The  entire  risk as to the  quality  and  compatibility of
these programs is with YOU.

If you use these  programs and find them of value,  I would
greatly appreciate any contributions ($7 suggested). I will
use it to further develop other useful  software.
         Send any contributions to:
                    ROBERT WALLINGFORD, P.E.
                    2338 N. McVicker Ave.
                    Chicago, IL  60639-2216

                    Ph. (312) 889-1115

Look for these other fine programs that I have written:

PROGRAM                DESCRIPTION                  REGISTRATION FEE
 
SUPERSPY.ZIP A File Viewing utility with a CLIPPER function
             for copying  pieces  from one  file to another
             file or to a printer and a  DIRECTORY function
             to help select the NEXT FILE to view and other
             useful functions.                                  $15.
 
BOOK.ZIP     Make & Read a "COMPUTER BOOK" on your monitor.
             Access any Chapter with one keystroke. Advance
             to next page with Spacebar or  PgDn.  Previous
             page with PgUp.  Return to Index or  Exit with
             "E"                                                 $7.
 
DISPLAY.ZIP Multi-screen  MESSAGE UTILITY. Make and display
            a multi-screen  message,  one screen at a time,
            with  control of the display  duration  and the
            attributes  of each  screen.  Makes  good  Xmas
            Cards, Birthday Greeting, etc.                       $7.
 
MEMO.ZIP    Like DISPLAY.ZIP with BIGGER screens.                $7.


If you register with a $10  contribution, I will send you a
5.25"  floppy  containing  all of them for your  evaluation
and possible future registration.

TIMEMAST.DOC


        

        
        
        
        
        
        
        
        
        
                              T I M E  M A S T E R
        
                                  Version 1.1
        
        
        
        
                                 Copyright 1990
        
                                       By
        
                              Geoffrey Broadhurst
                                  P.O. Box 467
                                New Norfolk 7140
                                    Tasmania
                                   Australia
        
        



























        









        

        Disclaimer
        ----------
        
        
        
        The author makes no warranty, express or implied, as to the
        suitability of this program to perform any particular function.
        The author shall in no way be liable for any damages, including
        loss of profits, or any incidental or consequential damages
        resulting from the use of this program or the inability to use
        this program. Further, the author shall not be liable for any
        damage to data or property caused directly or indirectly from
        the use of this program. Whilst every effort has been made to
        ensure that this program performs correctly the user of this
        program assumes total risk for the use of the program.
        
        
        
        
        Licence Agreement
        -----------------
        
        This program is not a "public domain" or free program. It is
        distributed by the "Shareware" method. It is copyright and all
        rights are reserved by the author. Non-registered users are
        granted a limited licence to use the program on a trial basis for
        a period not exceeding one month for the sole purpose of
        ascertaining whether the program meets their requirements. At the
        end of this period registration is required or the person must
        cease to use the program. The address for registration is noted
        elsewhere in this documentation. Please note that the author
        reserves the right to vary the registration fee, without notice.
        
        You are encouraged to copy and distribute this version of the
        program, including placement on electronic bulletin boards. You
        may not, however, make any alterations or omissions to the
        program, support files or documentation. A nominal disk copying
        fee may be charged by persons/companies distributing the
        program.
        
        The program may not be distributed with any other product,
        program or service without the written permission of the author.
        











        









        

                              TABLE OF CONTENTS
        
        
        1 - Overview. . . . . . . . . . . . . . . . . . . . . . . . . 1
        
        2 - Program Files . . . . . . . . . . . . . . . . . . . . . . 1
        
        3 - Installing Time Master. . . . . . . . . . . . . . . . . . 2
        
        4 - Running Time Master . . . . . . . . . . . . . . . . . . . 3
        
        5 - Using Menus . . . . . . . . . . . . . . . . . . . . . . . 4
        
        6 - Logging On. . . . . . . . . . . . . . . . . . . . . . . . 4
        
        7 - Logging Off . . . . . . . . . . . . . . . . . . . . . . . 5
        
        8 - Reports . . . . . . . . . . . . . . . . . . . . . . . . . 6
        
        9 - New Period. . . . . . . . . . . . . . . . . . . . . . . . 7
        
        10- Modifying the Data File (log.dat) . . . . . . . . . . . . 8
        
        11- Registration. . . . . . . . . . . . . . . . . . . . . . . 9
        
        12- Registration Form . . . . . . . . . . . . . . . . . . . . 10
        
        13- Future Enhancements?  . . . . . . . . . . . . . . . . . . 11
        
        14- Note Regarding Memory Requirements. . . . . . . . . . . . 11
























        









        

        1. Overview
        -----------
        
        Time Master is designed to help you keep track of the usage of
        your computer. It helps you to answer the following questions:
        
        1)      How many hours a year is the computer being used?
        
        2)      How many hours is the computer being used for business
        
                purposes and how many for private purposes?
        
        3)      What programs am I using the most?
        
        4)      How many hours is each person with access to the computer
                 
                using the computer?
        
        The main users of this program will, therefore, be individuals
        who need to keep track of the proportion of business and private
        use of their computer for taxation purposes and the company or
        government department which seeks to provide management
        information of the usage of computers.
        
        The way in which this is achieved is by using a logging-on and
        logging-off process (which is like an electronic time sheet). At
        the start of the period in which you wish record your computer
        usage you run Time Master and log-on. This writes the date and
        time to a file on the disk. When you have finished the particular
        task you log-off. Here you enter details regarding the task just
        completed and all these details plus the time elapsed is written
        to a data file. This data file will progressively build up into a
        substantial database of information relating to the use of the
        computer and from this you can generate a number of different
        reports.
        
        
        2. Program Files
        ----------------
        
        The files comprising the "Shareware" version of Time Master are:
        
        
                README.         Short documentation file
        
                TIMEMAST.DOC    This full documentation file
        
                TIMEMAST.EXE    The main program
        
                LOG.DAT         Sample data file
        
                START.DAT       Log On data file


                                     -1-
        








        

        3. Installing Time Master
        -------------------------
        
        
        A. Hard Disk Users.
        
        Copy the program files from the disk you have received them on to
        a directory on the hard disk:
        
                        eg. COPY A:*.* C:\LOG\*.* <ENTER>
        
        I would suggest that you copy the files to a directory (such as
        \LOG) that is only used for Time Master.  (Refer to your DOS
        manual for information on creating directories if you are unsure
        on how to do this).
        
        
        B. Floppy Disk Users.
        
        Copy the program files from the disk you have received them on to
        the disk you wish to run Time Master from (eg. your backup boot
        disk):
        
                        eg. COPY A:*.* B:*.* <ENTER>
        
        (where A: is the disk Time Master is on and B: is the disk you
        want to copy the program to).
        


























                                     -2-
        








        

        4. Running Time Master
        ----------------------
        
        A. Hard Disk Users
        
                1.  Change to the directory in which Time Master is
                    located:
        
                                eg. CD \LOG <ENTER>
        
                2.  Type the following command (followed by the <ENTER>
                    key) at the DOS prompt:
        
                                TIMEMAST <ENTER>
        
        
        Please note that Time Master does not support DOS paths.  In
        other words you MUST have all the program files in the one
        directory and change to that directory before running the
        program. You can, of course, automate this process of changing
        directories by creating a short batch file (refer to your DOS
        manual for details). For example, your batch file could look like
        the following:
        
                                CD \LOG
                                TIMEMAST
        
        Users of Menu programs and DOS shells should refer to their
        program instructions for details on how to run another program
        from their menu program or DOS shell.
        
        
        B. Floppy Disk Users
        
                1.  Place the disc containing Time Master into the current
                    drive and type the following command (followed by the
                    <ENTER> key) at the DOS prompt:
        
                                TIMEMAST <ENTER>
        
        













                                    -3-
        








        

        5. Using Menus
        --------------
        
        Menu items can be selected in one of three ways:
        
        1. Using the cursor keys.
        
            Move the menu selection bar over the option/action you wish to
            select, using the cursor (arrow) keys, and press <ENTER>.
            Monochrome monitor users should note that the menu selection
            bars are not visible in the Shareware version - they should
            use method 2 or 3 for selecting menu items.
        
        2. Using the number keys.
        
            Press the number (key) which corresponds with the menu
            option/action you wish to select. It is not necessary to press
            <ENTER> using this method.
        
        3. Using the alphabet keys.
        
            Press the key which corresponds to the first letter of the
            option/action you wish to select. It is not necessary to press
            <ENTER> using this method. Please note that where there are
            two menu selections that start with the same letter (eg.
            Log On & Log Off) the selection closest to the top of the menu
            is always selected. Therefore, in our example, Log On will
            always be selected if you press "L" at the Main Menu (even if
            the menu bar is highlighting the Log Off action).
        
        
        6. Logging On
        -------------
        
        Simply select the Log On option from the main menu. A window will
        appear on the screen showing the date and time of logging on. The
        file "start.dat" is updated with this information.
        
        
        7. Logging Off
        --------------
        
        This is the most important procedure in using Time Master. In
        order to obtain maximum benefit from the reporting options it is
        important that you are consistent in your naming of the programs
        that you use and user names, ie. don't enter the name of the
        program or user more than one way. The reporting procedures will
        treat J. Brown & John Brown as two different people (ie. users).






                                     -4-
        








        

        To log off select this option from the main menu. A data entry
        screen will appear in which you can enter the required
        information. Note that the information relating to the program,
        user and a comment is optional, you don't have to enter anything
        in these fields, however, the more information you enter the more
        information your reports will give to you.
        
        The first field to enter data to is the "Program" field. Type in
        the name of the program that you were using and press <ENTER>. If
        you do not wish to keep records relating to the usage of
        particular programs, just press <ENTER>. Whichever way you choose
        to name your programs try to make sure that you are consistent in
        the naming of each program. You will note that when you press
        <ENTER> any lower case letters are converted to upper case
        letters (this is to help maintain consistency for the reporting
        procedures).
        
        The second field to enter data into is the "User" field. Type in
        the name of the user and press <ENTER>. Once again this
        information is optional and would be unnecessary for a computer
        only used by one person. In this situation just press <ENTER>.
        Most users will find the best procedure is to enter the initials
        of their name.
        
        The third field to enter data into is the "Comment" field. This
        is optional information you can enter to describe the task just
        completed. Type in the desired comment and press <ENTER>. If no
        comment is desired just press <ENTER>.
        
        The fourth field to enter data into is the "Business Use" field.
        Type in the amount of time for the preceding task which was for
        business use. This could be all of it, none of it (in which case
        you should enter '0' - without the quote), or some other number
        less than the time elapsed. If you enter a number less than zero,
        greater than the time elapsed (since logging on), or with a
        decimal point in it the data entry will abort and you return to
        the main menu. So type in an integer to describe the amount of
        business usage for the preceding task and press <ENTER>. 
        
        Once you have entered the amount of time for business use the
        time (if any) attributable to private use will be automatically
        calculated, from the time elapsed, and the result shown in the
        "Private Use" field.
        
        You can now choose to accept all this data or abort the data
        entry (and perhaps re-enter the correct information if you have
        made a mistake in one of the fields). Press the <ESC> to abort
        the data entry. Press any other key to accept the data. The
        information will be written to the data file "log.dat".
        




                                     -5-
        








        

        During any phase of data entry you can abort the process (for
        instance, if you have made a mistake) by pressing the <ESC> key.
        You will return to Main Menu and can immediately re-select the
        Log Off option if required (or any other option).
        
        Their are four important time constraints that you should be
        aware of:
        
        1.  The time elapsed for an individual task cannot exceed
            (approximately, depending on when you logged on) 24 hours (ie.
            1440 minutes). 
        
        2.  As Time Master uses the DOS system time to measure the time
            elapsed, if you log on and then immediately log off you may
            find that the time elapsed is 0 minutes. Time Master can
            handle such entries and these entries will even appear in your
            reports.
        
        3.  The maximum value for business use is 999 minutes for each
            entry.
        
        4.  The maximum value for private use is 999 minutes for each
            entry.
        
        
        Their are also constraints on the length of the information that
        you record in the program, user and comment fields. The width of
        the respective fields is the maximum amount of information that
        you can record in the field. If you type anything longer than the
        width of the field it will be truncated to the maximum length.
        
        
        8. Reports
        ----------
        
        Select this option to prepare the various reports. All reports
        can be shown on the screen, printed or sent to a disc file (for
        latter printing or incorporation into a word processor, etc.).
        Make sure when selecting the printing option that the printer is
        on and is on-line - if it is not Time Master will abort.
        
        1. Full Report Option
        
        This is the only option where the report shown on the screen
        differs from that sent to a file or the printer. The screen
        option only shows a summary of the total hours logged, hours for
        business and private use, and the total number of entries. When
        the file or printer options are selected this information is
        shown along with all the data entry information, ie. starting
        date and time, program, user, comment, time elapsed, etc. for
        each and every data entry made. When sent to a disc file the file
        is automatically named "fullrpt.txt".
        

                                     -6-
        








        

        2. Program Report Option
        
        Gives details on the use of each program recorded, ie. total time
        logged as being used and the proportion of business and private
        use. If you have not entered program names for some (or all) of
        the data entry procedures you will find that there is an unnamed
        line with information relating to time usage next to it. When
        sent to a disc file the file is automatically named
        "prgmrpt.txt".
        
        3. User Report Option
        
        Gives details on the logged usage by each user, ie. total time
        logged as being used and proportion of business and private use.
        Once again, if user names have not been entered an unnamed line
        will appear in the report with the relevant time data next to it.
        When sent to a disc file the file is automatically named
        "userrpt.txt"
        
        
        9. New Period
        -------------
        
        Most users will want to start a new reporting period, perhaps
        once a year. This option you should select if you wish to start a
        new "log.dat" data file for a new reporting period. When you
        select this option a warning message will appear on the screen to
        remind you that you are about to erase your data file. Press "Y"
        if you do wish to start a new data file for a new reporting
        period - press any other key to abort.
        
        In actual fact, when you do press "Y" your "old" data file is
        actually renamed to "log.sav" and a new blank "log.dat" file is
        created. So if you do accidentally start a new reporting period
        you can exit Time Master and delete the new "log.dat" and rename
        the "old" "log.sav" file to "log.dat" (refer to your DOS manual
        if your are unsure how to delete and rename files).
        
        YOU MUST USE THIS OPTION WHEN YOU WISH TO COMMENCE USING TIME
        MASTER IN EARNEST. If you fail to do this then the data contained
        in the sample data file supplied with the program will result in
        your reports containing both the data originally contained in the
        sample data file as well as any data that you have added to it.
        










                                     -7-
        








        

        11. Modifying the Data File (log.dat)
        -------------------------------------
        
        Version 1.1 (the "Shareware" version) contains no facilities for
        editing the data file. You can, however, edit the file using a
        text editor or wordprocessor that produces pure ASCII text. Be
        VERY careful in editing the data file in this manner. If you make
        a mistake the program may "hang" or you may subsequently corrupt
        the data file when entering data. This is another reason to
        register. Version 2.0 of the program (available to registered
        users) contains editing features.
        
        Please note that if you do make an error in recording the Log Off
        information and you realise this after you have returned to the
        Main Menu after logging off, there is an easy way to restore the
        data base to the state it was prior to the last entry. When you
        make an entry to the data base file (log.dat) the current log.dat
        is renamed to log.bak and the new entry is added to a new log.dat
        file. This means that you always have two versions of the data
        file. The only difference between the two is that log.dat
        has the most recent Log Off entry recorded in it - log.bak does
        not. So to delete the last entry exit Time Master, delete the
        log.dat file, and rename the log.bak file to log.dat (refer to
        your DOS manual if you are not sure how to delete and rename
        files).
        




























                                     -8-
        








        

        12. Registration
        ----------------
        
        As stated above, all users are required to register after
        examining the program and determining whether it meets their
        requirements, and in any case after one month of usage. The
        registration fee is currently very modest. At the time of
        writing $30.00 (AUS) is only about $24.00 (US). 
        
        On registration users will receive the latest program version,
        and have a choice of date formats for the program - an English
        date format (dd.mm.yy) or a U.S. date format (mm.dd.yy.). 
        
        Version 2.0 will be released in the last quarter of 1990 and will
        contain the following features:
        
        1.  Increased report options (monthly reports)
        
        2.  Editing features for the data file
        
        3.  A utility program to automate logging on without user input -
            useful for incorporation in batch files.

        4.  Other miscellaneous features, some "tidying-up" of the
            program and improved error handling.
        
        
        A registration form is included on the next page which you should
        forward along with your remittance. Funds should be made payable
        to the author in Australian dollars, ie. a foreign bank draft
        should be forwarded by non-Australian users.
        
        Each registered version can only be used on one computer,
        therefore, if you require more than one copy for more than one
        computer write to the author with details of the number of copies
        required for information on 'site' licenses.
        
        Registered users will receive major program revisions at a
        discount to persons registering for the first time. 















                                     -9-
        








        

        13. Registration Form
        ---------------------
        
        
        
                         TIME MASTER REGISTRATION FORM
                         _____________________________
        
        
        
        Name:____________________________________________
        
        Company:_________________________________________
        
        Address:_________________________________________
        
        City:________________________State:______________
        
        Postcode/Zip:________________Country:____________
        
        
        Please send me a registered version of Time Master.
        
        Enclosed is a cheque made payable to the author in 
        
        Australian dollars.
        
        
        1 registered copy of Time Master    (AUS) $30.00   ___________
        
        3.5" diskette (extra) - optional          $ 2.00   ___________
        
        Airmail delivery (extra) - optional       $ 5.00   ___________
        
        
        
        Total remittance:                   (AUS) $        ___________
        
        
        
        Date Format Required - [U.S.A. or English] 
        
        (if not specified the U.S.A. date format version (mm.dd.yy) will
        be supplied)
        
        
        Mail to:                 Geoffrey Broadhurst
                                 P.O. Box 467
                                 New Norfolk  7140
                                 Tasmania
                                 Australia
        


                                    -10-
        








        

        14. Future Enhancements?
        ------------------------
        
        The author's philosophy is to have the program reflect the needs
        of the users. Comments are welcomed from users when they are
        registering as well as at any time in the future. The author will
        answer the problems and questions of registered users as quickly
        as possible. Future program development will be guided by
        feedback from registered users.
        
        The following enhancements, above those forthcoming in version
        2.0, are currently being considered. Please send your comments on
        these and other possible features.
        
        1.  Multiple data files (for different logging purposes).
        
        2.  Optional disk, rather than RAM, based database for very large
            data files.
        
        3.  Optional memory residency.
        
        4.  More report types.
        
        5.  User supplied name for reports sent to a disc file.
        
        6.  Pre-input of authorised program and user names - to ensure
            consistency in logging off.
        
        7.  Mouse support.
        
        8.  Icon based menu system.
        

        15. Note Regarding Memory Requirements
        --------------------------------------
        
        The program is currently completely RAM based. This permits the
        fastest generation of reports, however, it does limit the maximum
        number of data file entries. The maximum number will, of course,
        vary depending on the amount of RAM you have available. As a very
        rough guide, for a PC with 512K of RAM, you will be limited to a
        data file of around 150K to 200K (around 2500 to 3000 entries).
        The smaller each data entry is the more entries your file will be
        able to contain. Therefore, make each data entry as small as
        possible, while still being sufficiently descriptive.

        If the program aborts while generating reports, the most likely
        cause is that the data file has become to large for the memory
        on your computer to process. In the not too distant future I
        anticipate implementing optional disk based data files, this will
        markedly slow down report generation, however it will allow data
        files to be very much larger.


                                    -11-
        







GO.TXT

╔═════════════════════════════════════════════════════════════════════════╗
║              <<<<  PC-SIG Disk #2465  TIME MASTER   >>>>                ║
╠═════════════════════════════════════════════════════════════════════════╣
║                                                                         ║
║ To read author's instructions, type:  TYPE README (Enter)               ║
║                                                                         ║
║                                                                         ║
║                                           Copyright 1990, PC-SIG, Inc.  ║
╚═════════════════════════════════════════════════════════════════════════╝

TIMEMAST.DOC


        

        
        
        
        
        
        
        
        
        
                              T I M E  M A S T E R
        
                                  Version 1.1
        
        
        
        
                                 Copyright 1990
        
                                       By
        
                              Geoffrey Broadhurst
                                  P.O. Box 467
                                New Norfolk 7140
                                    Tasmania
                                   Australia
        
        



























        









        

        Disclaimer
        ----------
        
        
        
        The author makes no warranty, express or implied, as to the
        suitability of this program to perform any particular function.
        The author shall in no way be liable for any damages, including
        loss of profits, or any incidental or consequential damages
        resulting from the use of this program or the inability to use
        this program. Further, the author shall not be liable for any
        damage to data or property caused directly or indirectly from
        the use of this program. Whilst every effort has been made to
        ensure that this program performs correctly the user of this
        program assumes total risk for the use of the program.
        
        
        
        
        Licence Agreement
        -----------------
        
        This program is not a "public domain" or free program. It is
        distributed by the "Shareware" method. It is copyright and all
        rights are reserved by the author. Non-registered users are
        granted a limited licence to use the program on a trial basis for
        a period not exceeding one month for the sole purpose of
        ascertaining whether the program meets their requirements. At the
        end of this period registration is required or the person must
        cease to use the program. The address for registration is noted
        elsewhere in this documentation. Please note that the author
        reserves the right to vary the registration fee, without notice.
        
        You are encouraged to copy and distribute this version of the
        program, including placement on electronic bulletin boards. You
        may not, however, make any alterations or omissions to the
        program, support files or documentation. A nominal disk copying
        fee may be charged by persons/companies distributing the
        program.
        
        The program may not be distributed with any other product,
        program or service without the written permission of the author.
        











        









        

                              TABLE OF CONTENTS
        
        
        1 - Overview. . . . . . . . . . . . . . . . . . . . . . . . . 1
        
        2 - Program Files . . . . . . . . . . . . . . . . . . . . . . 1
        
        3 - Installing Time Master. . . . . . . . . . . . . . . . . . 2
        
        4 - Running Time Master . . . . . . . . . . . . . . . . . . . 3
        
        5 - Using Menus . . . . . . . . . . . . . . . . . . . . . . . 4
        
        6 - Logging On. . . . . . . . . . . . . . . . . . . . . . . . 4
        
        7 - Logging Off . . . . . . . . . . . . . . . . . . . . . . . 5
        
        8 - Reports . . . . . . . . . . . . . . . . . . . . . . . . . 6
        
        9 - New Period. . . . . . . . . . . . . . . . . . . . . . . . 7
        
        10- Modifying the Data File (log.dat) . . . . . . . . . . . . 8
        
        11- Registration. . . . . . . . . . . . . . . . . . . . . . . 9
        
        12- Registration Form . . . . . . . . . . . . . . . . . . . . 10
        
        13- Future Enhancements?  . . . . . . . . . . . . . . . . . . 11
        
        14- Note Regarding Memory Requirements. . . . . . . . . . . . 11
























        









        

        1. Overview
        -----------
        
        Time Master is designed to help you keep track of the usage of
        your computer. It helps you to answer the following questions:
        
        1)      How many hours a year is the computer being used?
        
        2)      How many hours is the computer being used for business
        
                purposes and how many for private purposes?
        
        3)      What programs am I using the most?
        
        4)      How many hours is each person with access to the computer
                 
                using the computer?
        
        The main users of this program will, therefore, be individuals
        who need to keep track of the proportion of business and private
        use of their computer for taxation purposes and the company or
        government department which seeks to provide management
        information of the usage of computers.
        
        The way in which this is achieved is by using a logging-on and
        logging-off process (which is like an electronic time sheet). At
        the start of the period in which you wish record your computer
        usage you run Time Master and log-on. This writes the date and
        time to a file on the disk. When you have finished the particular
        task you log-off. Here you enter details regarding the task just
        completed and all these details plus the time elapsed is written
        to a data file. This data file will progressively build up into a
        substantial database of information relating to the use of the
        computer and from this you can generate a number of different
        reports.
        
        
        2. Program Files
        ----------------
        
        The files comprising the "Shareware" version of Time Master are:
        
        
                README.         Short documentation file
        
                TIMEMAST.DOC    This full documentation file
        
                TIMEMAST.EXE    The main program
        
                LOG.DAT         Sample data file
        
                START.DAT       Log On data file


                                     -1-
        








        

        3. Installing Time Master
        -------------------------
        
        
        A. Hard Disk Users.
        
        Copy the program files from the disk you have received them on to
        a directory on the hard disk:
        
                        eg. COPY A:*.* C:\LOG\*.* <ENTER>
        
        I would suggest that you copy the files to a directory (such as
        \LOG) that is only used for Time Master.  (Refer to your DOS
        manual for information on creating directories if you are unsure
        on how to do this).
        
        
        B. Floppy Disk Users.
        
        Copy the program files from the disk you have received them on to
        the disk you wish to run Time Master from (eg. your backup boot
        disk):
        
                        eg. COPY A:*.* B:*.* <ENTER>
        
        (where A: is the disk Time Master is on and B: is the disk you
        want to copy the program to).
        


























                                     -2-
        








        

        4. Running Time Master
        ----------------------
        
        A. Hard Disk Users
        
                1.  Change to the directory in which Time Master is
                    located:
        
                                eg. CD \LOG <ENTER>
        
                2.  Type the following command (followed by the <ENTER>
                    key) at the DOS prompt:
        
                                TIMEMAST <ENTER>
        
        
        Please note that Time Master does not support DOS paths.  In
        other words you MUST have all the program files in the one
        directory and change to that directory before running the
        program. You can, of course, automate this process of changing
        directories by creating a short batch file (refer to your DOS
        manual for details). For example, your batch file could look like
        the following:
        
                                CD \LOG
                                TIMEMAST
        
        Users of Menu programs and DOS shells should refer to their
        program instructions for details on how to run another program
        from their menu program or DOS shell.
        
        
        B. Floppy Disk Users
        
                1.  Place the disc containing Time Master into the current
                    drive and type the following command (followed by the
                    <ENTER> key) at the DOS prompt:
        
                                TIMEMAST <ENTER>
        
        













                                    -3-
        








        

        5. Using Menus
        --------------
        
        Menu items can be selected in one of three ways:
        
        1. Using the cursor keys.
        
            Move the menu selection bar over the option/action you wish to
            select, using the cursor (arrow) keys, and press <ENTER>.
            Monochrome monitor users should note that the menu selection
            bars are not visible in the Shareware version - they should
            use method 2 or 3 for selecting menu items.
        
        2. Using the number keys.
        
            Press the number (key) which corresponds with the menu
            option/action you wish to select. It is not necessary to press
            <ENTER> using this method.
        
        3. Using the alphabet keys.
        
            Press the key which corresponds to the first letter of the
            option/action you wish to select. It is not necessary to press
            <ENTER> using this method. Please note that where there are
            two menu selections that start with the same letter (eg.
            Log On & Log Off) the selection closest to the top of the menu
            is always selected. Therefore, in our example, Log On will
            always be selected if you press "L" at the Main Menu (even if
            the menu bar is highlighting the Log Off action).
        
        
        6. Logging On
        -------------
        
        Simply select the Log On option from the main menu. A window will
        appear on the screen showing the date and time of logging on. The
        file "start.dat" is updated with this information.
        
        
        7. Logging Off
        --------------
        
        This is the most important procedure in using Time Master. In
        order to obtain maximum benefit from the reporting options it is
        important that you are consistent in your naming of the programs
        that you use and user names, ie. don't enter the name of the
        program or user more than one way. The reporting procedures will
        treat J. Brown & John Brown as two different people (ie. users).






                                     -4-
        








        

        To log off select this option from the main menu. A data entry
        screen will appear in which you can enter the required
        information. Note that the information relating to the program,
        user and a comment is optional, you don't have to enter anything
        in these fields, however, the more information you enter the more
        information your reports will give to you.
        
        The first field to enter data to is the "Program" field. Type in
        the name of the program that you were using and press <ENTER>. If
        you do not wish to keep records relating to the usage of
        particular programs, just press <ENTER>. Whichever way you choose
        to name your programs try to make sure that you are consistent in
        the naming of each program. You will note that when you press
        <ENTER> any lower case letters are converted to upper case
        letters (this is to help maintain consistency for the reporting
        procedures).
        
        The second field to enter data into is the "User" field. Type in
        the name of the user and press <ENTER>. Once again this
        information is optional and would be unnecessary for a computer
        only used by one person. In this situation just press <ENTER>.
        Most users will find the best procedure is to enter the initials
        of their name.
        
        The third field to enter data into is the "Comment" field. This
        is optional information you can enter to describe the task just
        completed. Type in the desired comment and press <ENTER>. If no
        comment is desired just press <ENTER>.
        
        The fourth field to enter data into is the "Business Use" field.
        Type in the amount of time for the preceding task which was for
        business use. This could be all of it, none of it (in which case
        you should enter '0' - without the quote), or some other number
        less than the time elapsed. If you enter a number less than zero,
        greater than the time elapsed (since logging on), or with a
        decimal point in it the data entry will abort and you return to
        the main menu. So type in an integer to describe the amount of
        business usage for the preceding task and press <ENTER>. 
        
        Once you have entered the amount of time for business use the
        time (if any) attributable to private use will be automatically
        calculated, from the time elapsed, and the result shown in the
        "Private Use" field.
        
        You can now choose to accept all this data or abort the data
        entry (and perhaps re-enter the correct information if you have
        made a mistake in one of the fields). Press the <ESC> to abort
        the data entry. Press any other key to accept the data. The
        information will be written to the data file "log.dat".
        




                                     -5-
        








        

        During any phase of data entry you can abort the process (for
        instance, if you have made a mistake) by pressing the <ESC> key.
        You will return to Main Menu and can immediately re-select the
        Log Off option if required (or any other option).
        
        Their are four important time constraints that you should be
        aware of:
        
        1.  The time elapsed for an individual task cannot exceed
            (approximately, depending on when you logged on) 24 hours (ie.
            1440 minutes). 
        
        2.  As Time Master uses the DOS system time to measure the time
            elapsed, if you log on and then immediately log off you may
            find that the time elapsed is 0 minutes. Time Master can
            handle such entries and these entries will even appear in your
            reports.
        
        3.  The maximum value for business use is 999 minutes for each
            entry.
        
        4.  The maximum value for private use is 999 minutes for each
            entry.
        
        
        Their are also constraints on the length of the information that
        you record in the program, user and comment fields. The width of
        the respective fields is the maximum amount of information that
        you can record in the field. If you type anything longer than the
        width of the field it will be truncated to the maximum length.
        
        
        8. Reports
        ----------
        
        Select this option to prepare the various reports. All reports
        can be shown on the screen, printed or sent to a disc file (for
        latter printing or incorporation into a word processor, etc.).
        Make sure when selecting the printing option that the printer is
        on and is on-line - if it is not Time Master will abort.
        
        1. Full Report Option
        
        This is the only option where the report shown on the screen
        differs from that sent to a file or the printer. The screen
        option only shows a summary of the total hours logged, hours for
        business and private use, and the total number of entries. When
        the file or printer options are selected this information is
        shown along with all the data entry information, ie. starting
        date and time, program, user, comment, time elapsed, etc. for
        each and every data entry made. When sent to a disc file the file
        is automatically named "fullrpt.txt".
        

                                     -6-
        








        

        2. Program Report Option
        
        Gives details on the use of each program recorded, ie. total time
        logged as being used and the proportion of business and private
        use. If you have not entered program names for some (or all) of
        the data entry procedures you will find that there is an unnamed
        line with information relating to time usage next to it. When
        sent to a disc file the file is automatically named
        "prgmrpt.txt".
        
        3. User Report Option
        
        Gives details on the logged usage by each user, ie. total time
        logged as being used and proportion of business and private use.
        Once again, if user names have not been entered an unnamed line
        will appear in the report with the relevant time data next to it.
        When sent to a disc file the file is automatically named
        "userrpt.txt"
        
        
        9. New Period
        -------------
        
        Most users will want to start a new reporting period, perhaps
        once a year. This option you should select if you wish to start a
        new "log.dat" data file for a new reporting period. When you
        select this option a warning message will appear on the screen to
        remind you that you are about to erase your data file. Press "Y"
        if you do wish to start a new data file for a new reporting
        period - press any other key to abort.
        
        In actual fact, when you do press "Y" your "old" data file is
        actually renamed to "log.sav" and a new blank "log.dat" file is
        created. So if you do accidentally start a new reporting period
        you can exit Time Master and delete the new "log.dat" and rename
        the "old" "log.sav" file to "log.dat" (refer to your DOS manual
        if your are unsure how to delete and rename files).
        
        YOU MUST USE THIS OPTION WHEN YOU WISH TO COMMENCE USING TIME
        MASTER IN EARNEST. If you fail to do this then the data contained
        in the sample data file supplied with the program will result in
        your reports containing both the data originally contained in the
        sample data file as well as any data that you have added to it.
        










                                     -7-
        








        

        11. Modifying the Data File (log.dat)
        -------------------------------------
        
        Version 1.1 (the "Shareware" version) contains no facilities for
        editing the data file. You can, however, edit the file using a
        text editor or wordprocessor that produces pure ASCII text. Be
        VERY careful in editing the data file in this manner. If you make
        a mistake the program may "hang" or you may subsequently corrupt
        the data file when entering data. This is another reason to
        register. Version 2.0 of the program (available to registered
        users) contains editing features.
        
        Please note that if you do make an error in recording the Log Off
        information and you realise this after you have returned to the
        Main Menu after logging off, there is an easy way to restore the
        data base to the state it was prior to the last entry. When you
        make an entry to the data base file (log.dat) the current log.dat
        is renamed to log.bak and the new entry is added to a new log.dat
        file. This means that you always have two versions of the data
        file. The only difference between the two is that log.dat
        has the most recent Log Off entry recorded in it - log.bak does
        not. So to delete the last entry exit Time Master, delete the
        log.dat file, and rename the log.bak file to log.dat (refer to
        your DOS manual if you are not sure how to delete and rename
        files).
        




























                                     -8-
        








        

        12. Registration
        ----------------
        
        As stated above, all users are required to register after
        examining the program and determining whether it meets their
        requirements, and in any case after one month of usage. The
        registration fee is currently very modest. At the time of
        writing $30.00 (AUS) is only about $24.00 (US). 
        
        On registration users will receive the latest program version,
        and have a choice of date formats for the program - an English
        date format (dd.mm.yy) or a U.S. date format (mm.dd.yy.). 
        
        Version 2.0 will be released in the last quarter of 1990 and will
        contain the following features:
        
        1.  Increased report options (monthly reports)
        
        2.  Editing features for the data file
        
        3.  A utility program to automate logging on without user input -
            useful for incorporation in batch files.

        4.  Other miscellaneous features, some "tidying-up" of the
            program and improved error handling.
        
        
        A registration form is included on the next page which you should
        forward along with your remittance. Funds should be made payable
        to the author in Australian dollars, ie. a foreign bank draft
        should be forwarded by non-Australian users.
        
        Each registered version can only be used on one computer,
        therefore, if you require more than one copy for more than one
        computer write to the author with details of the number of copies
        required for information on 'site' licenses.
        
        Registered users will receive major program revisions at a
        discount to persons registering for the first time. 















                                     -9-
        








        

        13. Registration Form
        ---------------------
        
        
        
                         TIME MASTER REGISTRATION FORM
                         _____________________________
        
        
        
        Name:____________________________________________
        
        Company:_________________________________________
        
        Address:_________________________________________
        
        City:________________________State:______________
        
        Postcode/Zip:________________Country:____________
        
        
        Please send me a registered version of Time Master.
        
        Enclosed is a cheque made payable to the author in 
        
        Australian dollars.
        
        
        1 registered copy of Time Master    (AUS) $30.00   ___________
        
        3.5" diskette (extra) - optional          $ 2.00   ___________
        
        Airmail delivery (extra) - optional       $ 5.00   ___________
        
        
        
        Total remittance:                   (AUS) $        ___________
        
        
        
        Date Format Required - [U.S.A. or English] 
        
        (if not specified the U.S.A. date format version (mm.dd.yy) will
        be supplied)
        
        
        Mail to:                 Geoffrey Broadhurst
                                 P.O. Box 467
                                 New Norfolk  7140
                                 Tasmania
                                 Australia
        


                                    -10-
        








        

        14. Future Enhancements?
        ------------------------
        
        The author's philosophy is to have the program reflect the needs
        of the users. Comments are welcomed from users when they are
        registering as well as at any time in the future. The author will
        answer the problems and questions of registered users as quickly
        as possible. Future program development will be guided by
        feedback from registered users.
        
        The following enhancements, above those forthcoming in version
        2.0, are currently being considered. Please send your comments on
        these and other possible features.
        
        1.  Multiple data files (for different logging purposes).
        
        2.  Optional disk, rather than RAM, based database for very large
            data files.
        
        3.  Optional memory residency.
        
        4.  More report types.
        
        5.  User supplied name for reports sent to a disc file.
        
        6.  Pre-input of authorised program and user names - to ensure
            consistency in logging off.
        
        7.  Mouse support.
        
        8.  Icon based menu system.
        

        15. Note Regarding Memory Requirements
        --------------------------------------
        
        The program is currently completely RAM based. This permits the
        fastest generation of reports, however, it does limit the maximum
        number of data file entries. The maximum number will, of course,
        vary depending on the amount of RAM you have available. As a very
        rough guide, for a PC with 512K of RAM, you will be limited to a
        data file of around 150K to 200K (around 2500 to 3000 entries).
        The smaller each data entry is the more entries your file will be
        able to contain. Therefore, make each data entry as small as
        possible, while still being sufficiently descriptive.

        If the program aborts while generating reports, the most likely
        cause is that the data file has become to large for the memory
        on your computer to process. In the not too distant future I
        anticipate implementing optional disk based data files, this will
        markedly slow down report generation, however it will allow data
        files to be very much larger.


                                    -11-
        







Directory of PC-SIG Library Disk #2465

 Volume in drive A has no label
 Directory of A:\

FILE2465 TXT      3405  10-30-90   2:00p
GO       TXT      1850   1-01-80   4:39a
GO       BAT        40   1-01-80   6:00a
SECURITY     <DIR>    
TIMEMAST     <DIR>    
        5 file(s)       5295 bytes

 Directory of A:\SECURITY

.            <DIR>    
..           <DIR>    
NEWWORD  ASM      4714   7-11-90
NEWWORD  COM       767   7-11-90
SECURITY ZIP      8210   7-11-90   9:13a
SECURITY ASM      4103   7-11-90
SECURITY SYS       461   7-11-90
SECURITY DOC      8999   7-11-90
        8 file(s)      27254 bytes

 Directory of A:\TIMEMAST

.            <DIR>    
..           <DIR>    
LOG      DAT      3937   7-07-90   6:56p
README             654   7-14-90   5:38p
START    DAT        28   7-07-90   1:39p
TIMEMAST DOC     27529   9-01-90   6:41p
TIMEMAST EXE     77510   8-29-90  10:17p
GO       BAT        40   1-01-80   6:00a
GO       TXT       694   1-01-80   6:42a
        9 file(s)     110392 bytes

Total files listed:
       22 file(s)     142941 bytes
                       11264 bytes free