22-Jul-93

To fix the problem with Borland C compilers in large memory models
do the following:

 1. Create a new directory.
 2. Copy BULLET.LIB 1.03 to it
 3. Copy this fix's files to it (DOSFNXB.OBJ and MEMCXB.OBJ)
 4. Do   C>lib bullet.lib -+dosfnxb -memxb +memcxb;   (exactly!)

That's it. BULLET.LIB is updated and should run as expected. The memcxb.obj is
written for LARGE memory model, only. With a couple conditionals, MEDIUM could
be used but it's not necessary. The problem with Borland compilers is that
the base their memory management on memory that isn't theirs, so whenever
a DOS INT21/48 call is made, the Borland memory manager crashes. This patch
routes BULLET DOS INT21/48/49 calls to _malloc and _free. This patch is
for LARGE models only. It's not required for MEDIUM.

MEMCXB.ASM is included. Makes for easy programmer changes of this non-
standard module (non-standard in that it requires a C runtime library).

--The reason DOSFNXB.OBJ is removed and replaced (-+dosfnxb) from the .LIB
is that xb$malloc, xb$free, and xb$SetHandleCount are in that module. The new
DOSFNXB.OBJ does not have these. These routines have been put in their own
module, MEMCXB.OBJ, which is added to the library (+memcxb).

BTW, the xb$SetHandleCount no longer works. I'll have to do it manually
(which I had to do in previous code since INT21/67 is available only in DOS
3.3+) but that's no problem. If you call INITXB with IP.jftmode=1, error 1 is
return for invalid function.

chh
