	Who's There?
	A SupraFAXModem Caller ID Utility

v0.1 released 1/1/94

This program is distributed as freeware.  It is a copyrighted work but the 
author grants noncommercial distribution rights to User Groups, Online 
Services, and Public Domain distributors.   It may not be sold or distributed with 
commercial software or hardware without permission from the author.   
Permission to distribute on "PD" disks is granted, as long as it is grouped with 
other Public Domain or Shareware programs from different authors. All other 
rights are reserved.

About Who's There?
This program has been designed to function with the SupraFAXModem 
equipped with Caller ID.  It may also work with other devices,  but it has not 
been tested and proven to do so.  If you have a Caller ID box for your computer, 
and this program doesn't work with it, contact me about getting a customized 
version. 

I have been using Who's There? for about a year with no intentions of releasing to 
the public. But since no commercial Caller ID utilities have been brought to the 
market I am releasing it as freeware. Who's There? is not a commercial quality 
program but it is better than nothing. Please read the Caveats and Limitations 
sections of this text for important information about the limitations of this 
program.

Requirements:
The SupraFAXModem must be configured to report the Caller ID information 
in standard readable text format.  The command to configure the modem to do 
this is AT#CID=1. This command causes the Caller ID info to be reported in 
the following format:

TIME = 9999
DATE = 9999
NMBR = 9999
NAME = XXXXXXXXXXXXXXXX
 
If your Caller ID box reports in another format it definitely will not work with 
this program.

Who's There? assumes that your modem is correctly configured. Unless you want to 
reconfigure your modem every time you turn it on, use AT&W0 to save the 
Caller ID setting into your modem's NVRAM.  Refer to the Supra manual for 
more details on this.

Who's There? also assumes that your serial port speed and other parameters are set.  
It makes no attempt to configure the port. This is to avoid conflicts with other 
software may be using the serial port. 

Finally, Who's There? assumes your modem is turned on.  It doesn't have any 
provisions for doing this itself.   A version that incorporates this feature is 
available for $3,199.97 postage paid.  (Just kidding. Postage is not included.)  

Using the Program or Desk Accessory Version
Who's There? runs as a program or desk accessory. Change the file extension to 
.ACC or .PRG as required. The resource file (WHOSDERE.RSC) must be in the 
same folder from where the Desk Accessory or program was run. Please refer to 
the Caveats section for important information before deciding whether to use 
Who's There? as a program or desk accessory. 

Using the ACC with MultiDesk Deluxe
If you use MDD from CodeHead Technologies you'll find that Who's There? will 
work fine as a resident-DA.  It will not function as a MDX as it needs to be 
resident to monitor the serial port for the Caller ID information.  

However, MDD must be configured so 'timers' are enabled.  This is done in the 
MDD configuration dialog, and is needed by Who's There? so MDD will allow it some 
CPU time to monitor the serial port.  Refer to your MDD manual for 
information on enabling 'timers' if you're unsure about how to do this.  

How it Works
Who's There? defaults to "on" so it will be monitoring the modem, watching for an 
incoming telephone call.  When the modem indicates the phone is ringing, Who's 
There? captures the Caller ID info and displays it in a dialog box on your screen.  
Press the UNDO key to make the dialog box go away, or wait about 5 seconds 
and it will disappear by itself. The dialog box displays the incoming telephone 
number and name (if provided by your telephone company).

To turn off Who's There?, select the Whozdere? item from the Desk drop-down 
menu. If you are using Who's There? as a program then select the 'Info...' item from 
the Desk menu instead. In either case a dialog box will appear to let you disable 
the accessory/program.   To turn it back on, simply select it from the Desk menu 
again and click the 'on' button.  You'll notice that if Who's There?  is currently 
turned 'on', the only choice you have is to turn it 'off', and visa versa.  If you 
wish to exit without changing the current setting, select the "okay" button. 

There is no provision for having Who's There? default to 'off' when it is initially 
loaded.

Additional Features of the Program Version
When used as a program (.PRG) Who's There? has a drop-down menu with two 
functions that are not available when it used as a desk accessory. These functions 
are "Status" and "Wake Modem".

Select Status to display an alert box telling you if Who's There? is watching for calls 
(on) or not (off).  The alert box will also display the number of calls the program 
has detected.

Select Wake Modem to cause an AT (attention) command to be send to the 
serial port. This will help ensure that the modem and serial port are 
communicating at the same baud rate. The AT command is sent automatically 
when Who's There? is started as a program provided that the modem is not currently 
online.

The Call Log File
Who's There? writes information about each call to a file called CALL_LOG.TXT. 
If you have a hard drive, the file will be created in the C:\ directory. If you do 
not have a hard drive it will be written to A:\ If CALL_LOG.TXT already exists 
new information will be added to the existing file, otherwise a new one will be 
created with the first received telephone call.

The Call Log file is in regular ASCII format. It can be viewed from the desktop 
or imported into a word processor like any other file. There is no provision for 
viewing the file within Who's There?.  In addition to the telephone number and 
name (if provided by your telephone company) of the incoming call, the Call Log 
also includes the date and time of the call. This information is taken from the 
Caller ID response, it does not come from the clock inside your computer.

Limitations
When Who's There? is a GEM desk accessory it may not be always be ready and 
functioning when a call comes in.  This is true if you are using a non-GEM 
program that doesn't allow desk accessories to continue operating or if your 
GEM program is taking too many system resources for itself.  Additionally, at 
various times within a GEM  program the system has virtually stopped, waiting 
for you to respond to  something. (Like when you have a file selector displayed.)  
In this case, Who's There? will kick-in when you exit the file selector.  In most cases it 
will also kick-in when you exit a non-GEM program. If you received a call but 
did not get the 'incoming call' dialog on your screen, it will probably appear 
when you exit back to the desktop, provided that some other program hasn't 
'stolen' the information that was held waiting in the serial port buffer.

Who's There? relies on the system timer to check the serial port about every second 
or so. This can contribute to slowing down your system. I don't like it anymore 
than you do, believe me. If there were to be a commercial version of this 
program it would be interrupt driven to help avoid the evnt_timer slowdown.

Who's There? does not watch for the 'ring' signal from your modem because it may 
miss the ring indicator depending on the other GEM activity in your system at 
the time the call comes in. Instead, it checks to see if your modem is online. If 
the modem is not currently online, but there is information waiting at the serial 
port, it takes the waiting information and looks through it to see if it is Caller ID 
info. Because Who's There? ignores all serial information if the modem is online, 
your modem must properly set the DCD/DCE line when it is in use.

Who's There? is hard-wired to use the ST serial port. Also known as Modem 1 on the 
STe/TT. It will not use any other port, nor will it function on the Atari 
Falcon030.

Who's There? was written on a Mega STE using a ST High Resolution monitor.  It is 
designed to function best in that resolution, but will operate in all others too.  
Certain icons and images won't appear correctly in lower resolutions, but the 
program will still function. 

Caveats
There are a few things you should keep in mind when using this Who's There?. First 
of all, remember that you get in quality what you spend in money. Since this 
program is free of charge, adjust your expectations appropriately.

Who's There? is unsophisticated when it comes to error checking. You had best 
ensure that it can write the CALL_LOG.TXT file to C:\ or A:\ (as appropriate). 
Also, since it displays a GEM dialog box for each incoming call, regardless of 
whatever else you are doing at the time, there is a potential for problems. 
Sometimes your computer is just not ready to display a dialog, but Who's There? 
tries to do so anyway. In over a year I've never had a problem with this but 
maybe I have a blessed life. 

Finally, Who's There? is written in GFA BASIC.  It's a great language, but it plays fast 
and loose with some aspects of legal GEM programming. Often, a desk accessory 
written in GFA BASIC will function fine on some machines and bomb on others 
depending on the TOS version and other variables.  Also, when used as an 
accessory this program will leave "mouse droppings" on your screen. If you 
install Who's There? and suddenly start seeing little images of your mouse pointer 
left behind on the screen, you've discovered a quirk in GFA BASIC. For this 
reason, and those listed under the "Limitations" section, I suggest you use Who's 
There? as a program. That's the way I prefer to use it. The ability of this program 
to work as a desk accessory should really be considered a "bonus", not a "feature".

If you experience any problems with this program, please contact me but I can't 
promise to fix bugs I can't duplicate.  Speaking of bugs, this brings us to...

Disclaimer 
This program is supplied without warranty.  The user assumes all of the risks, 
whatever they may be, and reaps all the rewards, whatever they may be, of using 
this program.

Future Versions?
At this point I'm not sure there's that much interest in this program.  I've written 
it for my own use.  I don't intend to update it, other than a bug fix here or here, 
unless there is sufficient demand to do so.  If you'd like to see this evolve into 
something better, let me know. Please also state if you'd be willing to part with 
some cash for the privilege of having the new version.  You won't be committing 
yourself in any way, but I'd like to know if those people who want a new and 
improved version want it bad enough to pay for it, or if they're asking for an 
even better, but still free, program.  Naturally, people with cash in hand will be 
more convincing, but I'm interested in all comments so let me hear from you.  

Send Your Comments To:
Gordon R. Meyer 
PO Box 781  
Park Ridge, IL 60068  USA  

GEnie: GRMEYER   
CompuServe:72307,1502  
Delphi: GRMEYER
Internet: grmeyer@genie.geis.com

The Fine Print:
DO NOT STAMP Software and "Who's There?" TM Gordon R. Meyer 
MultiDesk Deluxe TM CodeHead Technologies
SupraFAXModem TM Supra Corporation
Everything Else TM Somebody, Somewhere, I'm sure.

