    =

    AST RESEARCH, INC.       TECHNICAL BULLETIN # 1336                   11-9-95

    =

     AST Advantage! Adventure 6066 and DoubleView

    PROBLEM

    When running DigiBoard's DoubleView program (version 1.3.2) on the AST
    Advantage! Adventure 6066 system, DoubleView will hang when invoked with
    the  keystroke.

    CAUSE

    DoubleView has a software hook which allows other applications to run when
    DoubleView is activated and deactivated.

    The following information is included in the release notes that accompany the
    program:

    "DoubleView has been enhanced to provide a signal feature that will let TSRs
    and drivers know when DoubleView is active.  DoubleView makes an INT 0xDB
    call to a DoubleView aware ISR when it is activated and deactivated (sic) via
    the hot-key.  DoubleView will make this call only if the Interrupt Service
    Routine (ISR) has provided the correct signature.  This 16 bit signature must
    be located one word before the ISR's entry point and must be 0xdbdb.  If this
    signature is present, DoubleView will make the INT call with the following
    parameters :

    On Entry :   AX = 0xdbdb
    		  BX = 0

    On Exit  :   AX = 0xdbdb
    		  BX = 1

    "The ISR should do minimal processing and return with an IRET.  The ISR
    must be prepared for the unlikely event that another program is sharing the
    INT 0xDB vector, and be prepared to chain non-DoubleView calls.  The user
    can recognize a DoubleView call by the AX value."

    The problem occurs when DoubleView attempts to detect the 16-bit signature.
    The program simply subtracts 2 from the offset of the Interrupt Service
    Routine (ISR) address and compares the value at that location with the
    expected signature 0xdbdb.  This works fine in most cases, but will fail if
    the offset is 0x0000 or 0x0001.  An offset of 0x0000 will cause DoubleView
    to look at the wrong address (though not cause the system to hang) while the
    offset of 0x0001 will cause a General Protection Fault (GPF) as the program
    tries to read a 16-bit word across a segment boundary.  This latter failure is
    seen on the AST Advantage! Adventure system and is the cause of the system
    hang.

    SOLUTION

    Run the INTDB.COM program.  This program is contained in file DBVPATCH.EXE,
    which can be downloaded from AST's BBS (817) 230-6850.  AST's BBS supports
    modem speeds up to 28.8k bps.  File DBVPATCH.EXE will also be posted on:

    CompuServe
    Go ASTSUPPORT

    AST Worldwide Web Site
    http://www.ast.com

    SYSTEMS AFFECTED

    Any IBM PC or compatible systems.