Dec 252017
Very good carrier detect watcher. Works with most multi-taskers.
File WABIRD.ZIP from The Programmer’s Corner in
Category BBS Files
Very good carrier detect watcher. Works with most multi-taskers.
File Name File Size Zip Size Zip Type
WABIRD.COM 5030 2413 deflated
WABIRD.DOC 16000 5506 deflated

Download File WABIRD.ZIP Here

Contents of the WABIRD.DOC file

\\ //
____\ /____
//~~\\ //~~\\
(( _ )}={( _ ))
\\(*// \\(*// Watch
~~~~ ~~~~ _|
( )
| |
| +--\
Bird /

* WatchBird v1.00 *
The ultimate carrier-wise utility

(C) CopyRight 1989 by Angelo Besani
Co-SysOp on Varese - Italy
(FidoNet 2:331/101.0) 2400,V21,MNP,CM,XA #39-331-263425
Documentation by Alberto Morosi, SysOp of....well, the same board!

A lot of SysOps have always been complaining about the way
carrier watchers behaved: rebooting their system without leaving
any chance to save or to preserve what they or their users were
doing if they were running a multitasking environment.
As always happens, we never realized how much annoying it was
until we had to use this system on our board ;-).
Somebody gave us WatchKat, and we used it. The idea was really
great, but WaKat did *NOT* exit from COMMAND.COM, it was a nasty
limitation, so we wanted something more and ...after WatchDog and
WatchKat, why not to have also WATCHBIRD???

WatchBird really does what any SysOp ever wanted from a watchcd
utility: it runs outside programs, controls the carrier and if it
drops gets back to DOS without rebooting, uses a fossil driver but
also does something more. WatchBird will close all your files
while exiting, avoiding the creation of lost chains; will remember
the status of your screen and put it back from graphic to text
mode or vice-versa; will remember in which directory you were and
put you back there; will avoid your machine hanging for an "Abort,
Retry, Ignore?" request; will allow you to run programs either
through either spawning them directly.
WatchBird is the ultimate "carrier-wise" utility!

Now, after the commercial spot (uh!) let's really talk about
By typing WABIRD HELP on your keyboard you will see:

WatchBird v 1.00
(C) 1989 By Angelo Besani, AmnesiA CBCS 2:331/101 +39-331-263425 *ITALY*
Slogan: Do BirdWatching, not hunting!!

Usage: WABIRD [switches..]
where [Switches..] are:

/COMx Select com port (x in range 1 thru 9)
/IOAx Select serial port I/O address (x is an hex number)
/WBEx Wait x seconds before exiting after carrier loss (x in range 0 thru 9)
/NSR No Screen Re-Adjusting before exiting WatchBird
/NDR No Disk&Directory restoring before exiting WatchBird
/NFC No File Closing before exiting WatchBird
/LDT Lower DTR after carrier loss
/PBS Purge Input&Output Buffers before exiting WatchBird
(This switch requires a compatible fossil driver)
/NCE Intercept DOS critical errors and exit
/DKS Disable Keyboard Security (not recommended)
/DEVx Redirect StdIn, StdOut, StdErr to device 'x'
/PRGx Executes program 'x' instead of COMMAND.COM
/PRM Passes rest of line to the program as command line switches

This are all the "amazing" features of this little bird-watcher.
Now we will pass through all them giving a brief but, I hope,
quite useful description of their functions.

WatchBird v1.00 Page 1

WABIRD can be invoked by any of the commonly used outside bbs
doors (i.e. in Opus-CBCS you may use as a ^OC as any of the O)
options, including the ones of msg and file section).


^OCWABIRD /switches

Outside Dos C:\Opus\ /switches

Outside Run C:\Opus\

External Message_Management C:\Opus\Wabird.Com

Let's now analyze each command line switch:

/COMx Select Serial Port (x in range 1 to 9)

Tells to the FOSSIL driver which comm port to reset on exit. This
switch is necessary only if also /PBS (see below) is used.
Default value= /COM1

/IOAx Select serial port I/O address (x is an hex number)

This switch is necessary: it specifies the hexadecimal I/O address
of the port that WaBird will "watch".
Default values: /IOA3F8 if /COM1 is specified
/IOA2F8 if /COM2 is specified
There is no default for different values of /COMx
So, if you are using COM1 or COM2 you may not specify this switch.

/WBEx Wait x seconds before exiting on carrier loss

WatchBird has been fully tested under DESQview v2.01 and v2.23.
Under v2.23 we have noticed that if carrier dropped while DV was
beep-ing it sometimes caused the machine to hang. Setting up an
higher wait time (x has a range from 0 to 9) you may let DV stop
sending out beeps and allow WatchBird to exit without problems.
If you use values different than 0 for this switch, please take
care that your modem makes no echo to the characters it receives
(AT E0 in Hayes mode) because otherwise it may cause a strange

WatchBird v1.00 Page 2

loop: if, for example, the modem would respond NO CARRIER, the DOS
would echo it back to the modem, that would echo it back to DOS
that would echo it back to the modem and so on....
The value of this switch represents the minimum delay before
exiting and may generate a bit higher time under multitasking
systems or if there was something being performed by DOS.
Default value: /WBE2

/NSR No screen re-adjusting before exiting WatchBird

WatchBird when started will memorize the current display status
(40/80 colums, text or graphics etc.) and will by default get back
to that status when exiting after carrier is dropped or after a
normal termination. If you will specify this switch, WatchBird
will exit WITHOUT returning to the original display status.

/NDR No Disk&Directory restoring before exiting WaBird

WatchBird will by default put you back at the disk and path you
were when invoking it. In fact, this function works on the current
drive only.
Example (* indicates the current drive):

* C:\

I invoke WABIRD and then change dir (cd UTILS). I will have:


Then I change disk (D:)...

* D:\


the carrier drops (or I simply type EXIT) and WaBird exits...
I will find...

Without /NDR With /NDR
* C:\ C:\UTILS

/NFC No file closing before exiting WatchBird

WatchBird will by default close all the open files before exiting
using the CLOSE_HANDLE DOS function with HANDLE from 5 to 13 (or
15?? Gosh, I don't remember...).
WatchBird will not close the files that were open with the
FILE CONTROL BLOCKS method. However, this is now an obsolete
programming style, because it may be used only to be backwards

WatchBird v1.00 Page 3

compatible with DOS v1.xx

/LDT Lower DTR before exiting WatchBird

If you specify this switch, WatchBird will lower the Data Terminal
Ready signal of the "watched" port immediately after carrier loss.
This option is very useful to avoid having the modem interpreting
as commands the random characters received from the computer.

/PBS Purge I/O buffers before exiting WatchBird

This switch requires the use of a FOSSIL compatible driver.
WatchBird will purge twice FOSSIL's I/O buffers: the first time
immediately after carrier loss and the second time just before
exiting. If you have installed a TSR that is hooked on INT 14,
WatchBird may terminate with a "*** WARNING *** Can't find FOSSIL
driver" message, but it however performs the purge calls.

/NCE Intercept DOS critical errors and exit.

If you specify this switch, WatchBird will intercept INT 24h, the
DOS critical error. If the program that is being run generates an
"Abort, Retry, Ignore?" WaBird will put "Abort" and exit without
waiting for a human input.
Warning: this line switch won't work if the program handles INT
24h by itself (i.e. COMMAND.COM).

/DKS Disable Keyboard Security

If the carrier drops and the program actually being run hangs the
keyboard (not the computer!) try using this switch: there are
a fiew chances that it will run fine.
This option is however not recommended.

/DEVx Redirect StdIn,StdOut & StdErr to device x

Redirects the Standard Input, the Standard Output and the Standard
Error to the specified device (COM1 or i.e. GATE1 or other).
This function can be used instead of DOS' CTTY or where (as under
DESQview) CTTY does not work. In some cases it _MAY_ cause some
problems with the use of CTS/RTS: try it, it _MAY_ also work fine!
If you must redirect the StdIn or StdOut only you can use DOS'
redirections < and >.

/PRGx Executes program x instead of COMMAND.COM

Executes program x. If not specified WatchBird will default to
Example: WABIRD /PRGd:\opus\
You MUST specify the file extension (.COM or .EXE) and the
complete pathname, unless the file is in the current directory.

WatchBird v1.00 Page 4

/PRMx Passes the rest of the line as command line switches

Everything written after this switch will be passed directly to
the program being executed. For example, if you want to run a
batch file from WatchBird, you can use this syntax:


Watchbird will invoke the program (in this case COMMAND.COM for
default) and pass it /CBATCH.BAT, so that the command line being
executed will be:



If /PRGx switch has been specified, WatchBird will return the
errorlevel of the program plus its own.
WatchBird's own errorlevels:
255 - General kind of error (I.E. the program specified by
/PRGx was not found)
254 - Carrier Detect was already low when WaBird was run
253 - Carrier Lost
252 - If /NCE switch was specified and an Abort,
Retry, Ignore? was occurred
0 - If /PRG was not specified and WatchBird terminated
normally with an EXIT command from the on-line user or
from the batch file

WatchBird v1.00 + The ultimate carrier-wise utility
(c) 1989 by Angelo Besani (2:331/101.1) Co-SysOp on
(FidoNet 2:331/101) Varese/Italy
#39-331-263425 2400,CM,V21,MNP,XA

This program is released to the Public Domain of FidoNet's SysOps.
No commercial purpose of this utility is permitted without the
written license of the author.
MASM source codes are available only under the author's
In keeping with the spirit of the World Opus Consortium, you must
use and share this utility with your friends providing everything
is done in a lawful and friendly manner.
Each and every suggestion and/or bug report will be cheerfully
welcome on 2:331/101.
We will also give technical support if we'll have enough time, but
please do not abuse of it!
The latest version of WatchBird is always available on 2:331/101
filerequesting the magic filename WABIRD.

WatchBird v1.00 Page 5

Other products from , made and (c) by Angelo Besani:

The tools that enables Opus-CBCS 1.03b to keep ALL message
pointers in ALL message areas for ALL users. Includes fully
documented manual in Italian and English language.
Pointer is lightning fast and used by lots of BBS in Italy and
abroad. The latest version of Pointer is always available on
2:331/101 with the magic filename POINTER

How to run huge programs from the file or message section O)utside
command of Opus-CBCS v1.03b even if you are in a 200Kb partition
of a multitasking environment? Child2 will swap all Opus' resident
portion to disk or directly to expanded memory leaving RAM space
for your use.
We use it successfully to run OpusXpress, TradeWars II, FView and
to have a large remote SysOp's DOS shell.
The latest version is always f'reqable on 2:331/101 using magic
filename CHILD2

If somebody still has a QL....well, this is the very best
communication program for that computer.
ProComm-like, Qlcomm was written using Assembler 68000 to give
Sinclair QL users a good tool to logon to Opus systems.
Includes ANSI emulation, Xmodem protocol, dialing directory, full-
support for Hayes-compatible modems.
F'reqable as QLCOMM.EXW on 2:331/101

Coming soon:

An enhanced ANSI + AVATAR emulation device driver including
standard or enhanced keyboard redefinition, EGA and VGA supertext
mode (any number of lines) and more...
Now Beta-Testing on (FidoNet 2:331/101.0)

A shake of hands to all the fellow SysOps and.....enjoy it!
Angelo & Alberto.

WatchBird v1.00 Page 6

 December 25, 2017  Add comments

Leave a Reply