VOGONS

Common searches


First post, by mike_canada

User metadata
Rank Member
Rank
Member

I'm using DOSBOX 0.74 for Linux.

I made an application in QuickBasic and assembly that sends out a chunk of data at 57Kbps to hardware connected to the serial port. Yes I own an internal authentic UART in my computer and linux can access it perfectly fine.

As I send out and expect data in return, the linux console window I executed DOSBOX from gave me the following responses:

DOSBox version 0.74
Copyright 2002-2010 DOSBox Team, published under GNU GPL.
---
CONFIG:Loading primary settings from config file /root/.dosbox/dosbox-0.74.conf
MIXER:Got different values from SDL: freq 11025, blocksize 352
MIDI:Opened device:none
Serial1: Opening ttyS0
Serial2: Connected to 127.0.0.1
Serial3: Connected to 127.0.0.1
DOS keyboard layout loaded with main language code US for layout us
MAPPER: Loading mapper settings from /root/.dosbox/mapper-0.74.map
Serial1: Errors: Framing 0, Parity 0, Overrun RX:2 (IF0:0), TX:0, Break 0
Serial1: Errors: Framing 0, Parity 0, Overrun RX:2 (IF0:0), TX:0, Break 0
Serial1: Errors: Framing 0, Parity 0, Overrun RX:2 (IF0:0), TX:0, Break 0
Serial1: Errors: Framing 0, Parity 0, Overrun RX:58 (IF0:0), TX:0, Break 0

But the ones that concern me are the Serial1 Errors.

This is my dosbox config for the serial ports:

serial1=directserial realport:ttyS0 transparent:1 txdelay:1 rxdelay:1
serial3=nullmodem server:127.0.0.1 port:8000 transparent:1 txdelay:1
serial2=nullmodem server:127.0.0.1 port:8001 transparent:1
serial4=disabled

The first one is the one I use in my application. Serial3 and Serial2 are for other debugging purposes of which one helps make a network run in DOSBOX. I have other code for the networking that is executed before-hand. I should make that as a post in itself.

So anyways, I tried various settings for my real serial port.

I tried these three lines separately:

serial1=directserial realport:ttyS0 transparent:1 txdelay:1
serial1=directserial realport:ttyS0 transparent:1 txdelay:1 rxdelay:1
serial1=directserial realport:ttyS0 transparent:1
serial1=directserial realport:ttyS0

and /dev/ttyS0 is my serial port for linux.

and everytime I do I/O with the serial port, I keep getting the overrun errors.

Is there a way to fix this? Maybe there's something I can do at the linux level that I'm currently not aware of? Or maybe there's a way in DOSBOX to fix this?

Any idea?