VOGONS

Common searches


First post, by cg_chas

User metadata
Rank Newbie
Rank
Newbie

I have an image with Dos 6.22 / Windows 3.11 that I boot with DosBox 0.73. I am attempting to get either modem or nullmodem communcations working with Chessmaster 4000 Turbo which I'll refer to in this thread as CM.

The problems are as follows:

Attempts with emulated modem results in a connect, but CM does not see a connection so it times out. The DosBox log shows a connect at 57600.

Attempts with emulated nullmodem results in a connect reported by DosBox, but also results in an overrun: Serial2: Errors occured: Framing 0, Parity 0, Overrun 1 (IF0:0), Break 0. This error appears on the nullmodem server, not the client. Just as the error happens, the CM on the nullmodem server reports that there is no connection and the CM on the client eventually times out.

What I have done so far to gain a better understand of this problem is to install ProCommPlus2.0 and connect using modem emulation and transfer some binary back and forth using the ZMODEM protocol. What I found is that using ZMODEM streaming, there are lots of CRC errors and in effect many resends. When i set the ZMODEM window size to 2k-window, the errors completely disappeared and the transfers worked, but they were still very slow- 1000bps. I noticed also that ZMODEM with QModemPro for DOS was also triggered constant resends resulting in very very slow transfers.

I've been able to get all of my DOS games under DOSBox to connect using any of ipxnet, nullmodem, and modem. (I haven't tested for extended periods of time yet as CM was to be the first lengthy test)

I get the same results on several systems, so i believe software configuration will be the answer assuming this is not a bug with CM or the modem emulation, or perhaps even some windows intervention however, I am using the latest patch 1.4 for CM which supposedly did address modem issues.

I've been tweaking around with the settings at http://home.arcor.de/h-a-l-9000/dbdl.html but no luck as of yet.

One last thing, CM supports these BAUD rates: 300, 1200, and 2400. Is there any way to throttle back DOSBox to see if that is the problem?

Any ideas?

Chas

system details below

Here are 2 of the systems i have been testing with:

Motherboards Asus P5E3 Premium and Asus PP-DLW

Processor type and speed Intel Q9400 and and Dual Intel Xeon 2.8

Amount and type of RAM 2GB OCZ/2GB Corsair

Video board w/ RAM amount and type ATI Radeon 4870HD/ATI Radon 9800PRO

Sound board Onboard ADI 1988(SoundMax)/Onboard SoundMax

Operating system WinXPPro/WinXPPro

Game name (and version, if applicable) ChessMaster 4000 Turbo v1.4 under Windows 3.11

Description of problem (be detailed: saying "it's jerky" doesn't help, saying "the player sprites seem to be jerky when I'm pressing any of the arrow keys" does) see above

Reproducibility of problem (always, only once, always but only on a specific level, etc.) always

Sound mode used sb16

Video mode (Software, OpenGL, Direct3D, or Glide, and resolution) software / s3 / vga and 1024x768

Version of emulator (for VDMSound, probably 2.0.4 or 2.1.0; for DOSBox, 0.58+) 0.73

Steps already attempted to solve the problem (please say you've read the README if you haven't, and READ IT IF YOU HAVEN'T!) i've read it and see above

Reply 2 of 7, by cg_chas

User metadata
Rank Newbie
Rank
Newbie
h-a-l-9000 wrote:

Is this a Windows game? If yes, Windows has some COM port settings in its menu.

Yes, this is a Windows game.

I've gone through several blind permutations of settings changes with the Windows Ports Settings and there are no apparent differences. I know to restart Windows 3.11 after each settings change.

Maybe you can suggest what setting you think might affect this issue.

The settings that windows has in its menu are as follows:
Baud Rate 1200-19200
Data Bits 4-8
Parity Even, Odd, None, Mark, Space
Stop Bits 1, 1.5, 2
Flow Control Xon/Xoff, Hardware, None

Advanced
Base I/O Port Address
IRQ

Reply 3 of 7, by h-a-l-9000

User metadata
Rank DOSBox Author
Rank
DOSBox Author

Do you attempt the connection on the same computer or on different ones? As on the same computer you need different listenports for each instance.

In the COM port settings I'd have tried lower baud rates and different flow control (of course identical settings on both sides).

I haven't tried if the serial port works in Windows 3.1 yet. You could try a DOSBox latest SVN version or if that doesn't work maybe make a log using my 'Megabuild 5'.

Wrong subforum btw.

1+1=10

Reply 4 of 7, by cg_chas

User metadata
Rank Newbie
Rank
Newbie
h-a-l-9000 wrote:

Do you attempt the connection on the same computer or on different ones? As on the same computer you need different listenports for each instance.

Different computers.

h-a-l-9000 wrote:

In the COM port settings I'd have tried lower baud rates and different flow control (of course identical settings on both sides).

I tried them all.

h-a-l-9000 wrote:

I haven't tried if the serial port works in Windows 3.1 yet. You could try a DOSBox latest SVN version or if that doesn't work maybe make a log using my 'Megabuild 5'.

I havent looked at the latest SVN past .73 yet, but I do have your MB5 installed. How exactly do I enable serial port logging with that?

h-a-l-9000 wrote:

Wrong subforum btw.

I saw, but I figured it would be best not to report in another forum so as to not get flamed on my first post here 😀

Reply 5 of 7, by cg_chas

User metadata
Rank Newbie
Rank
Newbie

I can say this much.

The problem appears to be a compatibility issue with Chessmaster and DosBox's serial communcations.

I have VC++ 2008 installed and I've downloaded the SDL, SDLNet, and DosBox sources. This week I am going to try and "Step Into" the serial and nullmodem source code with the debugger and see if i can see anything odd.

The problem is perfectly consistent and appears to reside with the nullmodem server side and Chessmaster "slave" side.

Other apps are able to function under Win3.11 , despite the very poor bitrate.

Reply 7 of 7, by cg_chas

User metadata
Rank Newbie
Rank
Newbie
h-a-l-9000 wrote:

serialx=... ... ... dbgall

to activate the logging in MB5

when i change
serial2 nullmodem port:5000
to
serial2 nullmodem port:5000 dbgall
when the client connects, the nullmodem server crashes 😢

i guess that gives me something else to debug when i get this built.