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? time passes... TC> Thanks Dick. But I'm more interested in the BCOM40.EXE. I don't TC> distribute executables that require the run time module. Tom: 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 BCOM40.LIB file. Hope this is what you're looking for. Tom Hammond 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 : DEF SEG=0 PortAddr% = &H3F8 ' the base port address of COMx: to preserve CLOSE #1 ' go ahead and close the port OUT PortAddr% + 4, 3 ' within a heartbeat, Slam the DTR High 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)
Books at Amazon:
Back to BASIC: The History, Corruption, and Future of the Language
Hackers: Heroes of the Computer Revolution (including Tiny BASIC)
Go to: The Story of the Math Majors, Bridge Players, Engineers, Chess Wizards, Scientists and Iconoclasts who were the Hero Programmers of the Software Revolution
The Advent of the Algorithm: The Idea that Rules the World
Moths in the Machine: The Power and Perils of Programming
Mastering Visual Basic .NET