PHONEV4.COM - Version 4 of PHONE!!!!!!!! (8088 compatible) July 21, 1990
Here's the source code and ready to run .COM file for my Phone line monitor
I have revised the PHONE program in several ways from previous releases. The
previous releases were having difficulty running on 8088 based machines. This
was due to some trickery in interrupt vector table.
The 80286/80386 BIOS initializes unused interrupts to point to a IRET statement,
the 88 BIOS does not. Therefore, when my program called an interrupt to check
for previous installation, the 8088 machines would crash. I have discontinued
using this method of checking for previous installation, PHONEV4 will run on any
IBM PC or compatible.
phonev4 /p## /r## [/s] [/u]
/p - port number 1 thru 4
/r - # of rings 1 thru 99
/s - sound on or off, (tone when phone is ringing)
/u - uninstall
Remember that the system will reboot when the number of unanswered rings
EXCEEDS the trigger-point you have specified.
Example: to monitor COM1 and reboot on unanswered ring number 7, use the
following command line.
PHONEV4 /p1 /r6
Just run it before the BBS..... It goes TSR, and if the phone line rings more
times than the number you specified, without having seen a carrier in between,
then the computer executes a reset, the same LOW-LEVEL reboot that //REBOOT
performs (WWIV SysOp command to reboot the system)........ Keep in mind that
this will only be helpful IF your BBS is booted from your AUTOEXEC.BAT file.
Here's an example of an AUTOEXEC.BAT file which will work with PHONEV4.COM:
PHONEV4 /p2 /r6
The preceding AUTOEXEC.BAT sets the PHONEV4 program to monitor COM2 and reboot
on unanswered ring number 7.
I have not yet tested it on COM1, but it works fine on COM2.....
Unanswered rings are cumulative...... the counter is zeroed out when a carrier
is detected....So, for example, suppose 9 rings was specified as the
Caller A lets it ring 4 times, the gives up..
Caller B lets it ring 4 more times then gives up.
Caller C will reboot the system on his SECOND ring (4+4+2=10 which EXCEEDS 9)..
If either Caller A or Caller B had received a carrier, the ring counter
would have been reset, and the system would have to wait for 9 unanswered rings
The amount of time elapsed between the three calls is irrelevent. The improtant
1) whether or not ANY carrier had been detected (incoming OR outgoing calls)
2) whether or not the machine had been rebooted by some other mechanism
3) trigchg has been run (remember, trigchg is only for use on 286/386 machines)
Those are the only three conditions that will cause the program to re-set its
count of unanswered rings (i.e. start counting from zero again).
I have not yet tested it out on a PS\2 yet either, but I don't see why it
wouldn't work.. I don't do anything strange in the BIOS.... I just use regular
I figure if WWIV will run on a PS\2, then this will also.....
The com ports MUST follow standard convention. This means that:
COM1 == 03f8h
COM2 == 02f8h
COM3 == 03e8h
COM4 == 02e8h
If you are using COM3, but have it configured with a base port address as
02e8h, just LIE to my program , and tell it COM4. (I don't know anybody who
uses nonstandard com port base addressing, but I am sure they're out there).
If you use some OTHER base port address, and you have a copy of my source code,
just replace one of the above listed comport base addresses with the address
you use, re-assemble/link the program, and tell my program the COM number of
the COMport whose address you changed.
SPECIAL USAGE -
When PHONEV4 is already installed, the above command line will cause it to
toggle the "sound activity" (i.e. if its on, turn it off... if its off, turn it
Computer from Hell [email protected] WWIVLink
The Depths of Hell BBS