VOGONS

Common searches


DirectSerial patch

Topic actions

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

User metadata
Rank DOSBox Author
Rank
DOSBox Author

@whocrazy: You could also try other drivers like http://www.digsys.se/adf.html, and my new version (which still has no BIOS support). Maybe your application can be configured to use the UART directly instead of INT14h BIOS?

About the new "version":

Configuration:
The configuration can be changed on-line within Dosbox. At the prompt, type 'serial1 modem', if you want a modem on com1. For a real serial port, type 'serial1 directserial realport:com1'. 4 serial ports are supported.
In the config file, it has moved to the BIOS section. I had to rename the entries from comX to serialX because of a config change issue.

Directserial:
- line error messages more detailed
- more tolerant handling of received data, so a slowly running application has a bigger chance to get it before RX overflow occurs

Modem:
- accepts connection only if a modem-aware program is running (DTR on)
- tested with the following terminal software:
Telix
Bananacom
SBBS with both MS Telnet and terminal running in Dosbox as client
BNU FOSSIL driver (not everything tested)

- tested with the following games:
Tyrian
Radix (Demo)
C&C 1
Warcraft
Warcraft2
Descent
Descent2
Terminal Velocity
TZone
F-29 Retaliator

- Does not work for:
Moo2 (1.3 patch, lower version even less) - It can connect, but shows me clock mouse pointer after I chose my color, and nothing more happens.

I've also been working on the IPX emulation, and have been able to make some more games work. But maybe at a high price: It uses up a hardware interrupt, as I can't think of any other way to make the protected mode runtime switch to the right context for event notification.
- Additional working games (always only 2 players tried):
Tyrian
Radix
Moo2
Warcraft

- still not working:
C&C1 (Multiplayer game can be started, but immediately says "Games are out of sync" and also does some illegal reads, which are caused by a zero pointer. It does not crash anymore, though.

These games are still working despite of me messing with IPX:
Warcraft2
Terminal Velocity
Descent (I think)
Descent2

Testing with more than 2 players and other would be required.

Attachments

  • Filename
    ser4_dosbox.zip
    File size
    393.82 KiB
    Downloads
    226 downloads
    File comment
    Windows executable
    File license
    Fair use/fair dealing exception
  • Filename
    ser4_dosbox_noisy.zip
    File size
    394.88 KiB
    Downloads
    182 downloads
    File comment
    Windows executable with debug messages related to serial port and IPX (maybe good for tracking issues)
    File license
    Fair use/fair dealing exception
  • Filename
    ser4_source.zip
    File size
    767.25 KiB
    Downloads
    172 downloads
    File comment
    Source (patch files and plain source code files)
    File license
    Fair use/fair dealing exception
Last edited by h-a-l-9000 on 2005-07-04, 22:38. Edited 3 times in total.

Reply 35 of 353, by `Moe`

User metadata
Rank Oldbie
Rank
Oldbie

How about linux support? I could write up a basic version, and assist in testing. Lacking a serial port, I couldn't test/support it, however.

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

User metadata
Rank DOSBox Author
Rank
DOSBox Author

Of course, further compatibility would be great.
I have been looking for multiplatform libraries, but found none with all the required functions. It's actually rather difficult to find them at all.
We can do it on our own, too.
I'd probably find a way to test it with real serial ports (maybe Dosbox works on Knoppix, or I put Linux on a spare harddisk..).

Reply 38 of 353, by whocrazy

User metadata
Rank Newbie
Rank
Newbie

Hi. when running your compiled version of dos box I get the error this application has failed to start because the file msvcp71d.dll was not found. Where the hell can I get that file?

Reply 39 of 353, by HunterZ

User metadata
Rank l33t++
Rank
l33t++

Sounds like that binary was compiled with Microsoft Visual C++ and the person forgot to include the MSVC++ DLLs with it. You might be able to get them from Microsoft's web site.

Reply 42 of 353, by halfgaar

User metadata
Rank Newbie
Rank
Newbie

HAL9000, you said that Warcraft was still working with your new version, but I can't get it to work with version 0.63. I see a lot of network traffic, but Warcraft crashes (it doesn't respond anymore, and I can't get my mouse back with ctrl-F10). Killing one of the players gives the other his control back. When you say "still" do you mean compared to 0.63?

And about retaliator, I can't get it to talk to the modem. Whatever I type in, ATZ, ATS1, etc, I don't see modem messages on the stdout.

And a problem with TZone, is that the phonenr field is not long enough to type in an IP-address.

Do you have sollutions for these problems?

And, are your modifications going to be part of the new version of dosbox?

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

User metadata
Rank DOSBox Author
Rank
DOSBox Author

Warcraft: You're talking about IPX, right? (just to be sure)
I only tested if a game could be started, not much more. Warcraft1 is a bit primitive and playing against myself is not so much fun.

Retaliator: In the head to head menu, press F2 to set the right com port.

TZone: The modem accepts alphabetical computer names as phone numbers. The IP number format is only necessary if the game only accept numbers, like Warcraft1. Of course your network must be able to resolve the name properly (ping computername gives response). This is already possible in 0.63, but with a bug, though. TZone accepts letters. Another hint for TZone: In the AUTO-Field, type ATS0=1.

The 'still' is related to IPX and 0.63 and not too extensive testing.

Wether my code gets into official Dosbox or not is not my decision 😉

Reply 44 of 353, by halfgaar

User metadata
Rank Newbie
Rank
Newbie

Warcraft: You're talking about IPX, right? (just to be sure)
I only tested if a game could be started, not much more. Warcraft1 is a bit primitive and playing against myself is not so much fun.

Yeah, ipx. The game doesn't even start. It's says "connecting" forever, until one of the player's dosbox's is killed. Then the other says "failed to connect"

Retaliator: In the head to head menu, press F2 to set the right com port.

I of course set the correct com port 😀. Choosing the wrong port gives an error. Choosing COM2 just does nothing.

Years ago, I have been able to play it over a modem.

TZone: The modem accepts alphabetical computer names as phone numbers. The IP number format is only necessary if the game only accept numbers, like Warcraft1. Of course your network must be able to resolve the name properly (ping computername gives response). This is already possible in 0.63, but with a bug, though. TZone accepts letters. Another hint for TZone: In the AUTO-Field, type ATS0=1.

I was planning to play over the internet, so user342342.ispBLA.domain.net doesn't fit 😀. But, I could add the IP to my OS's hosts file.

But IPX is my first problem. The modem doesn't work at all, because the virtual modem doesn't respond to the game. It gets stuck in it's responses.

Have all these features been tested on Linux? If I can, I'll try testing all this on two windows machines.

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

User metadata
Rank DOSBox Author
Rank
DOSBox Author

Warcraft: Ok, just checked it - doesn't work on 063, maybe I mixed up dosboxes back then...

If you are using the dosbox.conf in my zip file, the modem is on COM1. Retaliator doesn't cause problems over here. COM2 is directserial com1.

The hosts file will probably be the only way you get this to work with long names.

I haven't tested this on Linux because I currently don't have one installed. And I'd probably get mad trying to compile something 😅 if it behaves the same way as MinGW does. (No, I'm not Linux-ignorant 😉 )

Reply 46 of 353, by halfgaar

User metadata
Rank Newbie
Rank
Newbie

If you are using the dosbox.conf in my zip file, the modem is on COM1. Retaliator doesn't cause problems over here. COM2 is directserial com1.

I didn't use your conf. The modem part doesn't have much to configure, so I don't see the need. Direct serial isn't even present in my config, which I believe had to do with the inabillity to use it on Linux.

I also tried having it on COM1, with the same result.

Reply 48 of 353, by halfgaar

User metadata
Rank Newbie
Rank
Newbie

You mean Retaliator on 0.63? I never wrote anywhere that it works...

Well, I was asuming my problem was more with Retal than with Dosbox, because the modem didn't give any response at all. So far, every game produced something as modemcommands on stdout, Retal didn't. Yet I was still able to type in commands.

Anyway, I was just wondering if you knew of any Retal modem issues, not related to dosbox. I guess you don't 🙁

Reply 50 of 353, by whocrazy

User metadata
Rank Newbie
Rank
Newbie

Unfortunately, there is no way to control how the voice synth program handles the com port, you can only specify com 1 com2 or whatever. Since vdm sound doesn't work properly with what I want to do with it, thats why I decided to use dosbox, because I heard that the sound is better. I hope that someday somehow I'll be able to get my voice synth program working. I could attach the main .com file if you like, though I'm not sure if you'll even be able to test it out, because you need the actual hardware present, and. what's more, you can't just use any old hardware, you need the hardware with the right serial number embedded in it.
the hardware I use is made by artic technologies.

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

User metadata
Rank DOSBox Author
Rank
DOSBox Author

You could give http://www.digsys.se/adf.html another try - that link works for me. The file is http://www.digsys.se/cgi-bin/download.pl/adf_150.zip .

Edit: Oh sorry - now I realized that you are looking for msvc*71d.dll, not msvc*71.dll. I wonder what went wrong there... Anyway rename the libraries msvcr71.dll and msvcp71.dll to msvcr71d.dll and msvcp71d.dll, should be a quick fix.

Reply 53 of 353, by `Moe`

User metadata
Rank Oldbie
Rank
Oldbie

Could it be that the precompiled exe uses the debug variants of msvcrt? at least that's what that name sounds like, IMHO. I guess there's an option in MSVC to choose which CRT you wish to link against...