VOGONS


First post, by james.harper

User metadata
Rank Newbie
Rank
Newbie

A customer is using dosbox to run some ancient DOS software to load programs onto factory machines via serial port. The machine it was working on failed so it was replaced by a laptop which unfortunately doesn't have a serial port. Attaching a USB port works but DOSBOX runs unbelievably slow when attached to a real (usb) com port.

It works fine if I comment out the com port config so it's definitely that, and it's the whole of dosbox - takes up to 30 seconds to start, before I even run the application.

I've patched DOSBox before (this app uses api calls that were obsolete when dos 2.0 came out, which weren't quite right in dosbox!) so i'll be getting right on it, but any hints on where to start would be greatly appreciated.

The other option is to talk the customer into putting Netgear WNDR3800's around the place running RFC2217 compatible serial-over-ip software which I've done before but not with DOSBox. Does DOSBox support RFC2217 or would I need to implement that too?

thanks!

Reply 1 of 10, by james.harper

User metadata
Rank Newbie
Rank
Newbie

I forgot to add - I can't be sure if it's the USB serial port or something else strange about the laptop as it doesn't have any regular com ports to test with.

Reply 2 of 10, by h-a-l-9000

User metadata
Rank DOSBox Author
Rank
DOSBox Author

The timing can be way off with USB serial ports. Also their signal level may not match the standard of the old hardware.

Things to experiment with:
- DOSBox rxdelay and txdelay settings
- don't use autocycles (DOS 2.0 you say? the default 3000 cycles should be enough)
- buffer size of the USB device in the device manager
- try a different USB/serial converter
- try a CardBus serial port

When you attempt serial over ethernet the timing gets even worse. Depends on the serial communication mechanism wether that can be done. RFC 2217 is not implemented.

The proper way would of course be to re-implement the DOS software for the modern environment.

1+1=10

Reply 3 of 10, by james.harper

User metadata
Rank Newbie
Rank
Newbie

It's not a timing issue - it works - but _everything_ inside the dosbox is slow as soon as I configure a serial port in the config. Changing cycles doesn't change anything. My guess is that dosbox is polling the USB serial port often and for some reason that causes a massive slowdown of dosbox itself.

Reply 4 of 10, by guilevi

User metadata
Rank Newbie
Rank
Newbie

I'm having the exact same problem. I am trying to use a hardware serial text-to-speech synthesizer with a screen reader for the blind. If I use an emulated serial synthesizer, which is just a program on the host that makes a virtual serial port via Com0com and speaks through a software synthesizer also on the host when it receives data, it works just fine. If I use an actual hardware synthesizer, connected through a USB to serial adapter, DOSbox slows down. A lot. No matter the cycles value, everything is slow. Using fixed cycles helps a bit in making the screenreader work faster, but it makes the other things, like sound or other processes, work a lot slower.
The strange thing about this is that everything else seems to have no problem with my adapter. I can send data to the port just fine from the host, use terminal programs, even use the synthesizer with my screenreader on the host.
Any help would be appreciated.

Reply 5 of 10, by luckybob

User metadata
Rank l33t++
Rank
l33t++

I had this issue using a serial port to communicate with an REALLY old digital camera. I ended up using Virturalbox from SUN ( https://www.virtualbox.org/ ) and that worked excelent.

It is a mistake to think you can solve any major problems just with potatoes.

Reply 6 of 10, by Jorpho

User metadata
Rank l33t++
Rank
l33t++

As mentioned above, USB-to-serial adapters don't always work very well in general. (Unfortunately most of them seem to use the same chipset, so switching to another one probably won't help.)

Also as mentioned above, a PCMCIA serial card may work substantially better.

Reply 7 of 10, by drsurfer

User metadata
Rank Newbie
Rank
Newbie

Hi all
I registered here just to post an interesting discovering about this topic. 😊

I have an ancient monitoring program I have to run with DOSBox, accessing the serial port via an USB-RS232 adapter.
I always used adapters based FTDI chip and I had no problems.
No problems... until I tried to run this program on a PC equipped with a cable based on Prolific chip. 😒
The program runs slow slow slow and - as previously noted by someone - the slowdown is present even with a test program that does not access the serial port at all.
Changing to a FTDI adapter solve the problem. 😎

I hope this can be useful to someone.

Ciao
DrSurfer

Reply 8 of 10, by lightmaster

User metadata
Rank Oldbie
Rank
Oldbie

Do not "necropost" make a new thread instead please.

25071588525_735097840e_b.jpg

Reply 9 of 10, by Jo22

User metadata
Rank l33t++
Rank
l33t++

Uhm, what's so wrong with that ? He came here to help us.
And some users who may find that thread, where looking for exact this solution and a new thread wouldn't help them.
That's no offense, but I often read that people should search the forums and post to existing threads, rather than making a new one every time.
So is there a time limit to response to a thread, even it is something vital to the topic ? I'm confused. 😕

"Time, it seems, doesn't flow. For some it's fast, for some it's slow.
In what to one race is no time at all, another race can rise and fall..." - The Minstrel

//My video channel//

Reply 10 of 10, by lightmaster

User metadata
Rank Oldbie
Rank
Oldbie

Ask a moderator or an admin then 😉

25071588525_735097840e_b.jpg