home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
RBBS in a Box Volume 1 #2
/
RBBS_vol1_no2.iso
/
095z
/
dtrpatch.doc
< prev
next >
Wrap
Text File
|
1987-02-16
|
8KB
|
285 lines
The QuickBASIC compiler offers a lot of needed features to compiled
BASIC programs. Regretably, it also included a few "problems."
For those who use RBBS-PC to "exit" to DOS (either via a "door" or
as a remote SYSOP), the code generated by the QuickBASIC compiler
would "help" you by dropping carrier when you chose to return to
RBBS-PC from DOS or a "door." Help like this RBBS-PC didn't need.
Jeff Porter, documented a "patch" to the BCOM10.LIB of the QuickBASIC
compiler that corrects this problem within the logic of the code
generated by the QuickBASIC compiler.
As I state in RBBS-PC's documentation:
"RBBS-PC continues to grow and expand because hundreds
(and quite possibly thousands) of SYSOP's spend the
time and trouble not only to modify RBBS-PC to meet
their needs, but also to share these modifications
with others."
Jeff's contribution is available by simply downloading the file
DTRPATCH.DOC.
Please note that nowhere does Jeff describe the hours and hours
it must have taken him to find the fix to the problem. Nowhere
does he ask anything for himself for his efforts. As I have
said so often "I am very proud of the company that RBBS-PC keeps."
Tom Mack
January 10, 1986
DTR Fix for QuickBasic 2.1
Rod Bowman
02-10-87
Well, MicroSoft still has not fixed the other DTR problem from QB 2.0!
Hopefully in the next release, which will be QB 3.0, they will take care
of this one.
This patch modifies the serial communication routines in the
BCOM20.LIB file so that the DTR line will be not be turned off
when running another program with the RUN Command of BASIC!
Here is a transcript of a patch session. More detailed
instructions follow it.
A>copy bcom20.lib bcom20bk.lib
1 File(s) copied
A>debug bcom20.lib
-dD858 L 5
xxxx:D858 83 C2 04 32 C0
-aD85B
xxxx:D85B mov al, 1
xxxx:D85D
-w
Writing xxxxx bytes
-q
1. Make a backup copy of the BCOM20.LIB file, just in case.
2. Run debug and load BCOM20.LIB
A>debug bcom20.lib
3. Display the following sections of data and see that they
match. This is to insure that you are patching the correct
version of the library.
-dD858 L 5
xxxx:D858 83 C2 04 32 C0
4. If debug shows the same information as listed above, then
you may continue with the patching process. If not, go to
the section Patching other Library Files.
5. Do the following:
-a D85B
xxxx:D85B mov al, 1
xxxx:D85D
6. Now write the file back to disk and quit debug. The patch
is complete.
-w
Writing xxxxx bytes
-q
"The 'PC' Spectrum" (tm) RBBS-PC
Rod Bowman
P.O. Box #1546
Cucamonga, CA 91730
(714) 945-2612 (DATA)
DTR Fix for QuickBasic 2.0
Rod Bowman
09-11-86
Well, we thought MicroSoft fixed all of the DTR problem from QB 1.x but they
only fixed half of the problem! Maybe in the next release they will be able
to get this one in there too!
This patch modifies the serial communication routines in the
BCOM20.LIB file so that the DTR line will be not be turned off
when running another program with the RUN Command of BASIC!
Here is a transcript of a patch session. More detailed
instructions follow it.
A>copy bcom20.lib bcom20bk.lib
1 File(s) copied
A>debug bcom20.lib
-dD368 L 5
xxxx:D368 83 C2 04 32 C0 EE EB ..2...
-aD36B
xxxx:D36B mov al, 1
xxxx:D36D
-w
Writing 2B000 bytes
-q
1. Make a backup copy of the BCOM20.LIB file, just in case.
2. Run debug and load BCOM20.LIB
A>debug bcom20.lib
3. Display the following sections of data and see that they
match. This is to insure that you are patching the correct
version of the library.
-dD368 L 5
xxxx:D368 83 C2 04 32 C0 EE EB ..2...
4. If debug shows the same information as listed above, then
you may continue with the patching process. If not, go to
the section Patching other Library Files.
5. Do the following:
-a D36B
xxxx:D36B mov al, 1
xxxx:D36D
6. Now write the file back to disk and quit debug. The patch
is complete.
-w
Writing bytes
-q
"The 'PC' Spectrum" (tm) RBBS-PC
Rod Bowman
P.O. Box #1546
Cucamonga, CA 91730
(714) 945-2612 (DATA)
DTR Fix for QuickBasic 1.x
Jeff Porter
1-5-86
As anyone who has tried to write any programs that use COM1: or
COM2: with MicroSoft QuickBasic knows, the DTR modem control line
is dropped everytime a a communication file is opened or closed.
I don't know why MicroSoft drops the DTR line all the time; all I
know is that it can be a serious problem with programs such as
RBBS-PC. Therefore, I present the following patch to fix the
problem.
This patch modifies the serial communication routines in the
BCOM10.LIB file so that the DTR line will be not be turned off.
Here is a transcript of a patch session. More detailed
instructions follow it.
C>copy bcom10.lib bcom10bk.lib
1 File(s) copied
C>debug bcom10.lib
-d540 L 10
xxxx:0540 0B D2 75 04 B5 FF EB 34-FA 83 C2 04 32 C0 EE EB ..u....4....2...
è-d830 L 10
xxxx:0830 14 8B FA E8 00 00 83 C2-04 32 C0 EB 00 EE C7 47 .........2.....G
-a54c
xxxx:054C mov al, 1
xxxx:054E
-a839
xxxx:0839 mov al, 1
xxxx:083B
-w
Writing 25C00 bytes
-q
1. Make a backup copy of the BCOM10.LIB file, just in case.
2. Run debug and load BCOM10.LIB
C>debug bcom10.lib
3. Display the following sections of data and see that they
match. This is to insure that you are patching the correct
version of the library.
-d540 L 10
xxxx:0540 0B D2 75 04 B5 FF EB 34-FA 83 C2 04 32 C0 EE EB ..u....4....2...
-d830 L 10
xxxx:0830 14 8B FA E8 00 00 83 C2-04 32 C0 EB 00 EE C7 47 .........2.....G
4. If debug shows the same information as listed above, then
you may continue with the patching process. If not, go to
the section Patching other Library Files.
5. Do the following:
-a 54c
xxxx:054C mov al, 1
xxxx:054E
-a 839
xxxx:0839 mov al, 1
xxxx:083B
6. Now write the file back to disk and quit debug. The patch
is complete.
-w
Writing bytes
-q
Patching other Library Files
If you do not have MicroSoft QuickBasic or if you have a
different version than I, you can probably still perform this
patch. You will have to find the correct locations to patch.
The addresses 054C and 0839 were found with the following
èprocedure:
1. Search for the byte sequence 83 C2 04 32 C0 in the library
file. If you are lucky, debug will find it in exactly two
places.
(for example:)
-s 100 fff0 83 C2 04 32 C0
2. Unassemble the addresses you found. The first two
instructions will be
ADD DX, +04
XOR AL, AL
Within the next few instructions should be
OUT DX, AL
3. If everything has gone correctly so far, just change the
XOR AL, AL
to a
MOV AL, 1
4. Perform this change in both places where the
XOR AL, AL
instruction was found.
5. Write the updated file.