[<<Previous Entry] [^^Up^^] [Next Entry>>] [Menu] [About The Guide]
July 22, 1986
Number 141

Btrieve/N Conflict with Advanced NetWare V2.0a on Proteon networks.

The software application "Btrieve/N" by SoftCraft has an interrupt conflict
with Advanced NetWare V2.0a running on Proteon Networks.  The conflict
prevents Btrieve/N from running.  The Advanced NetWare V2.0a shells
(ANET2.COM and ANET3.COM) for Proteon use software interrupt 7Bh to
communicate with the Proteon boards.  Btrieve/N also uses interrupt 7Bh.
Btrieve/N is a file management application usually used by other
applications to handle record  locking and file management.

The shell board drivers may be patched to allow NetWare to use another
interrupt, thus allowing Btrieve/N to function correctly.  However, if the
drivers are patched there is no guarantee that the new interrupt will not
conflict with some other software package.

What the patch will do is replace all calls the shell makes to 7Bh with the
new interrupt.  The patch will also insert the address of  the NetWare 7Bh
interrupt handler into the interrupt (vector) table  of the new interrupt.
After performing the patch new shells should  be generated with the GENSH
utility.

The patch procedure is as follows:

Insert Diskette Gensh - 1 which contains the file CPROSHDR.OBJ into drive A:
(you may wish to backup the diskette before proceeding.)

Use the DOS Utility DEBUG.EXE to modify the file.  The example below
modifies the interrupt to 7Dh.  To use an interrupt other than 7Dh replace
any reference to 7D with the desired interrupt.  What you type will be in
bold text.  What appears on the screen will be in normal text.  Comments
will be in Italics.

     >DEBUG A:\CPRONET\SHELLDRV.OBJ      1)Load the driver
                                           file with debug
     -E 47E                              2)Edit location 47Eh
     2362:047E  7B.7D                    2a)Replace 7Bh with the
                                            new interrupt
     -E 4C7                              3)Edit location 4C7h
     2362:04C7  7B.7D                    3a)Replace 7Bh with the
                                            new interrupt
     -E 4F5                              4)Edit location 4F5h
     2362:04F5  7B.7D                    4a) Replace 7Bh with
                                            the new interrupt
                                         5)Calculate the new
                                           interrupt address for
                                           the vector table.
      -H 7D 7D                           5a)Add the new
                                            interrupt to itself
      00FA  0000                         The first four digits
                                         are the answer
      -H 00FA 000FA                      5b)Add the answer to
                                         itself.  This effectively
                                         gives 4 times the
                                         interrupt value.
      01F4  0000                         The value we want is
                                         the 3rd and 4th digits.
     -E AA9                              6)Edit location AA9h
      2362:0AA9  EC.F4                   6a)Insert the value
                                            obtained in step
                                            5b above
     -H F4 2                             7)Add 2 to the value
                                          obtained in step 5b
                                          above
      00F6  00F2                          The answer is the
                                          3rd and 4th digits.
      -E AB0                              8)Edit location AB0h
      2362:0AB0  EE.F6                    8a)Insert the value
                                             obtained in step 7
                                             above
      -W                                  9) Write out the
                                            changes to the floppy
      Writing 0B4C bytes
      -Q                                 10)Quit the DEBUG
                                            program.

You can now generate your shells as you normally would with the GENSH
utility.

As stated above other programs may have a conflict with any interrupts you
use to replace 7Bh with.  Novell is not currently aware of any conflicts
with 7D.  If interrupt 63 or 64 is used the only program that we are aware
of having a conflict with these interrupts is Display Write 3 by IBM.  Thus
if you do not use Display Write 3 you should be able to safely use either of
these interrupts.

This page created by ng2html v1.05, the Norton guide to HTML conversion utility. Written by Dave Pearson