VOGONS


DirectSerial patch

Topic actions

Reply 140 of 353, by h-a-l-9000

User metadata
Rank DOSBox Author
Rank
DOSBox Author

It should say Internal error in serial port(1)(number) now? (number is the interesting part).

IPX should have an performance advantage: serial port produces an interrupt per character, IPX (well something similar to an interrupt) per packet.
Wit the serial stuff I have to buffer up some data (txdelay) before sending it or else there would be a huge network overhead... 48 bytes IP headers for one byte of payload.
About lag: On a serial connection there is no lag to be expected at all (expect if the other computer is a slug) but since the emulated one uses IP there will be some.
I don't really know how games handle the data stream internally but even on the serial port there will be some 'data units'. The game can only use such a unit when it is complete. In IPX it will make a packet of such a unit and send/receive it as a whole.

We could theorize a lot about this but practical experiences are a lot better... I must admit I only test on LAN or even on one computer and don't know how it behaves on the real internet.

1+1=10

Reply 141 of 353, by Alkarion

User metadata
Rank Member
Rank
Member

I've attached logs from both Warcraft and Command and Conquer. Seems Warcraft doesn't produce errors. Don't be confused by the log, I switched the serial configuration on the fly for no apparent reason.

With respect to lag, I was rather referring to the modem connection, for which game programmers should have anticipated some lag.

We could theorize a lot about this but practical experiences are a lot better... I must admit I only test on LAN or even on one computer and don't know how it behaves on the real internet.

I'm open for testing 😉

Reply 142 of 353, by h-a-l-9000

User metadata
Rank DOSBox Author
Rank
DOSBox Author

Oh, you're talking about the modem, not the nullmodem 😀

1+1=10

Reply 146 of 353, by rcblanke

User metadata
Rank Oldbie
Rank
Oldbie

Very nice h-a-l, have to check this out! BTW, may I ask how you've created the .exe? Did you use gcj, or another compiler?

Reply 148 of 353, by h-a-l-9000

User metadata
Rank DOSBox Author
Rank
DOSBox Author

Patch updated.

1+1=10

Reply 149 of 353, by Banzai

User metadata
Rank Newbie
Rank
Newbie

HAL:

Firstly, I want to thank you so very much for the recent improvements you've made to the DIRECTSERIAL emulation in DOSBox! There are applications I have which won't even run correctly in either VMWare or VirtualPC but works perfectly in this version of DOSBox! 😁

There are, however, a couple of applications which still fail due to serial I/O issues. Now, these aren't games, so I'm not going to elaborate, but it would be really helpful if I had the sources for the .EXE in dosbox3.zip so I can attempt to track down the source of the problem (if you've already committed them to CVS, nevermind, I'll pry them out from there).

Thanks!

Banzai

Reply 150 of 353, by h-a-l-9000

User metadata
Rank DOSBox Author
Rank
DOSBox Author

It's the nullmodem2.diff from the previous page.

I'm not a Dosbox developer, you can talk to me about other things than games too 😉

Good to hear it works better. Would be nice if you share your findings.

1+1=10

Reply 151 of 353, by Banzai

User metadata
Rank Newbie
Rank
Newbie

Ah, the patch file seems to have vanished. 🙁
Perhaps I'm not looking in the right place?

Reply 153 of 353, by Banzai

User metadata
Rank Newbie
Rank
Newbie

Just FYI: The .diff file seems to have an error in the section that diff's the VS project file: dosbox.vcproj. I get a 'malformed patch at . . . ." error. If I remove that section, it patches up ok, so maybe the version of PATCH is not right . . .

If it works for you, then I must be doing something wrong (not the first time). 😜

Reply 154 of 353, by Qbix

User metadata
Rank DOSBox Author
Rank
DOSBox Author

I've had the same error a few times as well with patches lately from hal.

Water flows down the stream
How to ask questions the smart way!

Reply 155 of 353, by h-a-l-9000

User metadata
Rank DOSBox Author
Rank
DOSBox Author

Better? 😀

Edit: remove old patch file

Last edited by h-a-l-9000 on 2006-09-10, 16:52. Edited 1 time in total.

Reply 156 of 353, by Banzai

User metadata
Rank Newbie
Rank
Newbie

Okay, great. We get a clean patchup of current CVS, and we have a clean build under VS-8 (A.K.A. VS 2005) after the requisite project conversion. I did have to add WS2_32.lib to the link properties, for some reason. Now I need to do some testing. . . .

Thanks! I really appreciate your help . . . . 😀

Reply 157 of 353, by Pan

User metadata
Rank Newbie
Rank
Newbie

Can I assume this patch file only adds capabilities to the Windows version of Dosbox? 😀 It applies okay to the source code, but won't compile on a Linux system.

Thanks.

Reply 158 of 353, by h-a-l-9000

User metadata
Rank DOSBox Author
Rank
DOSBox Author

It is intended to work on Linux too but I can't check since I don't have a Linux environment. There is no directserial support in that patch but the other changes apply to Linux too.
Does it compile with
#define NATIVESOCKETS 1
commented out in config.h? What is the compilation error?

1+1=10

Reply 159 of 353, by Pan

User metadata
Rank Newbie
Rank
Newbie

During compilation, the following error is output on my console.

serialdummy.cpp:103:2: warning: no newline at end of file
if g++ -DHAVE_CONFIG_H -I. -I. -I../../.. -I../../../include -I/usr/include/SDL -D_GNU_SOURCE=1 -D_REENTRANT -g -O2 -MT serialport.o -MD -MP -MF ".deps/serialport.Tpo" -c -o serialport.o serialport.cpp; \
then mv -f ".deps/serialport.Tpo" ".deps/serialport.Po"; else rm -f ".deps/serialport.Tpo"; exit 1; fi
nullmodem.h:89: error: extra qualification 'CNullModem::' on member 'TelnetEmulation'
make[4]: *** [serialport.o] Error 1

If I comment out the line you noted, the compilation error still occurs.

By the way, I should mention that I was using the nullmodem3.diff file you posted above alone. If there's any other patch I should of applied, let me know. I wasn't entirely sure which patch file to apply, but that one seemed a good bet.

Hope this helps 😀