ES>RR> changing the BIOS comm address table (i.e. make COM1 actually referenc
ES>RR> COM7 and then operate on COM7 using OPEN "COM1:...") will work under
ES>RR> multi-tasking environments (like Desqview) without interfering with
ES>What I was trying to say is if you are already using com1-com4 then
ES>PB won't work if you need COM5-COM8. The 3rd party libraries will let
ES>you do this, but I usually just use inp and out.
If you have 8 com ports in your system and wish to run 8 copies of your
COM program on the same machine in a multi-tasking environment, and you
know the addresses and IRQ's for all 8 ports then all you need to do is
in each program is poke the appropriate address into the BIOS data table
(say in COM1) and open the port with the correct IRx setting.
The Multi-tasker will prevent changing the BIOS data table address in
one "Virtual Machine" from effecting the other VMs. I have written
doors for PCBoard and this is the technique that I personally use.
I check for two environment variables "COMPORT" and "COMIRQ". If they
exist, I poke the COMPORT address into the BIOS data table in the
position for COM1 and then open COM1 with the new IRQ. In *every* case,
I always use OPEN "COM1:xxx" in my door. I just diddle with the port
addresses in memory when I need to open up any other port.
--Dave
---
* QMPro 1.53 * The more I get done, the more I have to do...
--- WILDMAIL!/WC v4.12
---------------
* Origin: Toast House * (314) 994-0312 * (1:100/560.0)
|