BBS: Inland Empire Archive
Date: 10-12-92 (22:03) Number: 374
From: TOM HAMMOND Refer#: NONE
To: TOM CUNHA Recvd: NO
Subj: Bcom40.Lib Dtr Patch Conf: (2) Quik_Bas
TC> Anyone got the DTR patch for v4.0?
TC> Thanks Dick. But I'm more interested in the BCOM40.EXE. I don't
TC> distribute executables that require the run time module.
I got this patch from a friend who runs RBBS-PC. That software is
written in QuickBASIC and they require the use of this patch whenever a
user modifies the source code and has to recompile.
The is NOT a step-by-step patch, but it DOES have all the info you
should need to make the changes.
Use whatever binary editor you wish to use (DEBUG, NORTON, whatever).
BE SURE TO EDIT A WORKING COPY, NOT THE ORIGINAL.
The changes are to be made to BCOM40.LIB
Search for 83 C2 04 32 C0 EE (Note: Should find it in two
places in the code)
The assembly listing of these commands follows:
83 C2 04 ADD DX,4
32 C0 XOR AL,AL
EE OUT DX,AL
You want to change XOR AL,AL to MOV AL,1
Change 32 C0 to B0 01
Make this change to BOTH instances where the string occurs in the
Hope this is what you're looking for.
Tom - Just read another reply which (differently) addresses your
problem. In the off-chance that you may have missed it, it's included
here in its entirity (sp.):
Date: 10-09-92 (11:55)
From: JERRY HUNTER Refer#: NONE
To: ALL DTR PATCH FOLKS Recvd: NO
Subj: Why PATCH DTR? Conf: (5) Quickbasic
I've seen more queries on how to patch versions of QB2, QB3, QB4 and
QB45 here than I can believe.
Question is, WHY BOTHER patching ANYTHING in QB, the compiler, or the
Lib when a couple lines of code are enough to resolve the problem.
Y'see, when QB issues a RUN command to go run another program, she
handles closing all OPENED ports for you in her effort to do general
housekeeping. So CLOSE the port. Make her happy. But within a
heartbeat, you need to take YOUR OWN precautions to make sure YOU don't
kill the DTR... As follows :
PortAddr% = &H3F8
OUT PortAddr% + 4, 3
RUN "MYPROG.EXE" go on about your business...
In this manner, the port may be reopened in subsequent applications
without error and with CD still active.
On some (slow) systems, the S25 register may need to be set as high as
20 to buy you enough time to catch the MSR quickly enough. An 8088 just
doesn't get around to it as quick as we'd like.
This method is used internally to DarkStar BBS, as well as DarkStar
CommLink. Works for me, and haven't seen a problem one with using this
method... and it SURE beats worrying about what version of QB you're
using, or installing a patch...
Hope it helps...
-- Jerry Hunter
* Origin: Night Shift BBS (314)635-7588 HST 14.4 (1:289/15)