Re: serial performance

Trifle Menot
2010-03-13T13:53:12Z

On Sat, 13 Mar 2010 07:39:00 +0000, Paul Crawford <psc@sat.dundee.ac.uk>
wrote:

>Trifle Menot wrote:
>> With that setting, PCBoard now sees a 16550 when using /dev/ttyS0, and
>> my remote output looks fast, like 57600 should. So poking the necessary
>> bits into the dosemu virtual UART fixed things up.

>Can you elaborate on which bits you poked to achieve this?

>We have also had some performance issues with the virtual UART and
>anything that makes it more like real-time would be appreciated.

I'm not sure, but probably UART FCR0=1. I got the idea from reading
PCBoard's help text for the "Force 16550A Usage" setting:

> Some multi-tasking environments, such as OS/2 or Windows, use device
> drivers to virtualize the comm port. In the process of doing so, they
> may hide the 16550A UART, making it appear to be a 16450 UART when
> accessed by a DOS application.

> Setting the answer to 'Y' tells PCBoard to operate AS IF it had
> detected a 16550A chip.

From a quick read of the dosemu source, it seems that the virutal UART
defaults to 16450 mode, until you put it into 16550 mode, presumably by
poking FCR0=1 into the (virtual) UART.

If the app cannot do that on its own, maybe a small C program that does
it, prior to launching the app, would achieve the same result.