[comp.binaries.ibm.pc.d] 16550a with win3.0

mitsolid@acf5.NYU.EDU (Thanasis Mitsolides) (04/25/91)

Recently I have installed a 16550a UARTT in my internal modem.
Is there any away I can take advantage of the more powerful UART
from inside Windows 3.0?

Thanks a lot for any info.

Thanasis

-------------------------------------------------------------------------------
Internet: mitsolid@cs.nyu.edu	             (mitsolid%cs.nyu.edu@relay.cs.net)
UUCP    : ...!uunet!cmcl2!cs!mitsolid
-------------------------------------------------------------------------------

-- 
-------------------------------------------------------------------------------
Internet: mitsolid@cs.nyu.edu	             (mitsolid%cs.nyu.edu@relay.cs.net)
UUCP    : ...!uunet!cmcl2!cs!mitsolid
-------------------------------------------------------------------------------

ralphs@seattleu.edu (Ralph Sims) (04/27/91)

mitsolid@acf5.NYU.EDU (Thanasis Mitsolides) writes:

> Recently I have installed a 16550a UARTT in my internal modem.
> Is there any away I can take advantage of the more powerful UART
> from inside Windows 3.0?

Windows doesn't give a rip, but if you use a highspeed modem and
software that utilizes the design of the UART, then you MAY notice
an improvement over whatever it was you had.  This may depend on what
type of application you're working in, datacomm protocols (handshaking,
locked DTE, etc.).

--
                    halcyon!ralphs@seattleu.edu
  The 23:00 News and Mail Service - +1 206 292 9048 - Seattle, WA USA
                 +++ A Waffle Iron, Model 1.64 +++

david@csource.oz.au (david nugent) (05/02/91)

In <T5a212w164w@halcyon.uucp> halcyon!ralphs@seattleu.edu (Ralph Sims) writes:

> mitsolid@acf5.NYU.EDU (Thanasis Mitsolides) writes:

> > Recently I have installed a 16550a UARTT in my internal modem.
> > Is there any away I can take advantage of the more powerful UART
> > from inside Windows 3.0?

> Windows doesn't give a rip, but if you use a highspeed modem and
> software that utilizes the design of the UART, then you MAY notice
> an improvement over whatever it was you had.  

I doubt it.

The problem is that Windows 3.x (enhanced mode) contains a virtual driver 
for the UART, and any communications package doing "bare metal" I/O doesn't
have direct access to the hardware, and only "talks" with the virtual
driver which provides an emulation. This is very similar to the situation 
under VP/ix or VM386 and possibly other 386 virtual mode environmetns.

Now, if the virtual driver isn't 16550 aware, unfortunately the application
CANNOT be, since the driver will look and act just like a 16450.  Enabling
FIFO buffers won't work, and it certainly won't look at all like a 16550
to the application.

I've been able to work around this in VP/ix and VM-386 somewhat since they
do seem to "write through" to the FIFO control reg, even though the buffer
settings cannot be auto-detected or read (usually, therefore, forced using
a command line option). A second effect in VP/ix's ability to buffer the 
transmit stream even without a 16550 UART allows even futher transmit 
buffering, but no appreciable difference in performance other than a little
less CPU overhead.  Unfortunately, this doesn't work in Windows - I suspect
because the FIFO control reg is never written to, or the transmit buffering
is low or non-existant.  Perhaps the driver more exactly emulates the 16450
by "loosing" characters transmitted before the transmit buffer is clear.  The
results I'm seeing tend to show that.

It is, however, a great pity that MicroSoft didn't see fit to support the
16550 in the first Windows 3.x release.  I hope to see that change; running
multitaskers involve a degree of overhead, and the 16550 is certainly 
the only solution for those running fast modem technology.  I know of many
BBS systems which would run Windows full time as the multitasker of choice
but for this fact. In the meantime, there's only DESQview which doesn't
virtualise access to the UART and so suffer from the same problem.


david

-- 
 David Nugent                                      Unique Computing Pty Limited
 Communications/PC/Unix Consulting           3:632/348@fidonet 28:4100/1@signet
 Internet/ACSnet: david@csource.oz.au      Uucp: ..!uunet!munnari!csource!david