WABIRD.DOC

15.6 KB 528d6d7d56a9edb2…


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


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

                       (C) CopyRight 1989 by Angelo Besani
                    Co-SysOp on <AmnesiA CBCS> 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 command.com either spawning them directly.
        WatchBird is the ultimate "carrier-wise" utility!

        Now,  after  the  commercial spot (uh!) let's  really  talk  about 
        WatchBird.
        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).

        Examples:

        ^OCWABIRD /switches

        %
        Outside Dos C:\Opus\Wabird.com /switches
        %

        %
        Outside Run C:\Opus\Wabird.com
        %

        %
        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:\
          D:\

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

        * C:\UTILS
          D:\

        Then I change disk (D:)...

          C:\UTILS
        * D:\


          C:\UTILS
        * D:\TEMP

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

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

        /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 
        %COMSPEC% .
        Example: WABIRD /PRGd:\opus\espsysop.com
        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:

        WABIRD /PRM/CBATCH.BAT

        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:

        COMMAND.COM /CBATCH.BAT


        ErrorLevels:

        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 
                 <AmnesiA CBCS> (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 
        permission.
        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 <AmnesiA CBCS>, made and (c) by Angelo Besani:

        POINTER -
        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

        CHILD2 -
        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

        QLCOMM.EXW
        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:

        AV_ANSI.SYS 
        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 <AmnesiA CBCS> (FidoNet 2:331/101.0)


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















        WatchBird v1.00                                          Page 6