BBS: Inland Empire Archive
Date: 06-16-92 (19:33) Number: 725
From: CORIDON HENSHAW Refer#: NONE
To: DAVE WENDLING Recvd: NO
Subj: PDS 7.1 Conf: (2) Quik_Bas
In a msg on <Jun 15 00:58>, Dave Wendling of 1:321/227 writes:
DW> Being new to this Echo and PDS 7.1 my question may be redundant
DW> but, Does PDS 7.1 need a patched run time modual to operate serial
DW> ports correctly when closing from a door?
Yup, it does. Here's how to patch it:
A few people lately have been inquiring about a DTR patch for PDS. A
while back Don Bly posted some info abou this which I had saved so in
answwer to those queries I will repost Don's timely patching tips
(take a bow Don!).....
I have a DTR patch for 7.0, but the critical information should be
the same for 7.1 (if it doesn't work for you, let me know (preferably
via Netmail since I usually don't frequent this echo) and I will
track it down for you). As you know, to increase the efficiency of
the compiled code several different libraries are used, and the patch
should be applied to all of the following: BCL7xAFR.LIB,
BCL7xANR.LIB, and BCL7xEFR.LIB, BCL7xENR.LIB.
Search for the sequence of "B8 07 0C CD 21", and patch it to read
"B8 07 0C 90 90". Basically, you are just NOPing out the interrupt 21
JS> I can get past this problem *IF* anyone out there has a
JS> piece of code that will LOCK the DTR up. I noticed that
JS> Qbser 2.0 has some function called DTRcontrol x which is
JS> supposed to do just that. I dont want to use Qbser, but
JS> I'd sure give my left nut for the source.
The CLOSE statement without the DTR patch will still lower DTR.
However, if all you are trying to do is control DTR without doing
serial I/O, you can accomplish your task by talking directly to the
Modem Control Register on the UART chip. The MCR is located at an
offset of 4 off of the base address, and DTR is the lowest-order bit
in that register. The following code segment should get you pointed
in the right direction.
Const MCR = 4
BaseAddress% = &H3f8
Out BaseAddress%+MCR,Inp(BaseAddress%+MCR) or 1
Out BaseAddress%+MCR,Inp(BaseAddress%+MCR) and &HFE
------------------[ end of excerpt from Don's message ]--------------
--- msgedsq 2.0.5
* Origin: -=- Point Blank -=- (1:250/804.200)