VOGONS

Common searches


First post, by ariqu

User metadata
Rank Newbie
Rank
Newbie

I've been toying with using DOSBox to run the door games my GameSrv system has. Originally, I have a 32-bit Windows running on my server, but have since switched to a 64-bit version for the extra RAM. This, of course, alienated all the 16-bit software. Using the socket inheritance of DOSBox and a FOSSIL driver, I've successfully received data from DOSBox running Legend of the Red dragon. The problem is, I can't get it to transmit anything. I can hit keys locally on the server and the game responds, and updates on the client, but I can't type anything on the client and have the game respond. If it quit the game and close the DOSBox window, the client drops back to the GameSrv menu, and begins rapidly refreshing, once for each keypress I made while trying to interact with LORD.

I have inhsocket:1 and telnet:1 set in the serial1=nullmodem line of the conf file. GameSrv has a command line variable called *SOCKETHANDLE which is supplying the socket number. I have tried using both X00 and ADF for FOSSIL, as well as both FOSSIL settings in LORD. I don't think it's the FOSSIL software doing it.

Any ideas?

Reply 2 of 18, by ariqu

User metadata
Rank Newbie
Rank
Newbie

This looks to be old, as it references your patch, which was incorporated into DOSBox and is mentioned in the documentation for 0.74. The rest details how to get the BBS/telnet host to execute a DOSBox session with the socket inheritance, but does not detail anything involving the FOSSIL settings or door game settings in that session.

I went to try this out, but I'm not sure which patch it is referring to. It seems the earliest patch you have listed applies to .70 and the instructions are for 0.63. So I tried your Megabuild in place of regular 0.74. Same behavior.

I did, however, try this with Synchronet as the instructions are written for it. No change in behavior.

Are there any options in DOSBox that would cause that TX not to work?

Reply 4 of 18, by Tark

User metadata
Rank Newbie
Rank
Newbie

I am having the same problem trying to run an old version of Tradewars in Dosbox on a Synchronet BBS. The game (in Dosbox) outputs to the BBS but doesn't see any input from the BBS.

It is as if the socket inheritance feature only works in one direction.

Blue Lobster BBS
telnet://bluelobster.dyndns.org

Reply 5 of 18, by ariqu

User metadata
Rank Newbie
Rank
Newbie

Care to swap notes?

Like, OS, DOSBox version, command line? TechGurl appears to be attempting this or, from the sounds of it, may already have it working, but is attempting to keep DOSBox from drawing a window.

I have Windows Server 2003 R2 x64, and I've tried both stock 0.74 and the Megabuild h-a-l-9000 made.

@h-a-l-9000:

I'm having a hard time finding which SVN build has the fixed serial routines you mentioned. I didn't realize there were more than one SVN build, actually.

Reply 6 of 18, by Tark

User metadata
Rank Newbie
Rank
Newbie

Since I was the last post, I assume you're talking to me.

I'm running Win XP SP2, Synchronet 3.15a, Dosbox 0.74. Playing with Dosbox, I have succeeded in calling out to telnet BBSes using a DOS dialup terminal program (using URLs in place of phone numbers) and in setting up a DOS BBS (Tritel 1.1) in Dosbox and having it function normally. What I can't seem to get working is a DOS BBS door under Synchronet with DOSBOX.

I've tried a variety of settings:
serial1=nullmodem inhsocket:1 telnet:1
also serial1=modem listenport:23

I've tried it both loading and not loading ne2000.com.

The command line to call the door:
dosbox -socket %h (plus calls specific to the door and with and without "-telnet" which apparently doesn't exist in more recent versions of Dosbox to judge by the documentation)

I've had it close to working several times but just can't seem to get two-way communication between the BBS and the door. Do you have the h-a-l-9000 patch to Dosbox 0.63 or know where it can be found these days?

Blue Lobster BBS
telnet://bluelobster.dyndns.org

Reply 7 of 18, by ariqu

User metadata
Rank Newbie
Rank
Newbie

Yeah, that was a reply to you, Tark.

As far as that patch goes, it was merged into the current code a version or two back. It was the socket inheritance itself that was included in that patch. I'm not sure if something happened that is interfering with it, or if there was other patches involved, but as hal mentioned, there was serial code updated. I just wish I could figure out which SVN build has it. It seems almost every version either acts the same as 0.74 or doesn't have the enhanced serial code in it at all.

I can confirm regular telnet functionality works. I've run WWIV 4.30 in DOSBox before and it worked. It's something about the socket inheritance.

Reply 10 of 18, by Tark

User metadata
Rank Newbie
Rank
Newbie

The same for me, too. Dosbox 0.73 works!

I tested my door and it is working perfectly as far as I can tell.

The current Dosbox release (0.74) doesn't work, and strangely neither does 0.72. I hope the problem gets fixed in future Dosbox versions.

Blue Lobster BBS
telnet://bluelobster.dyndns.org

Reply 12 of 18, by h-a-l-9000

User metadata
Rank DOSBox Author
Rank
DOSBox Author

Thanks to ariqu who provided a preconfigured package, here's the fix.
I also did some code cleanup and a little improvement. usedtr will now, if the connection was lost in between, attempt to connect again if there is a rising edge on DTR.

Handling of some unused handshake lines was changed a bit too.

Attachments

  • Filename
    nullmodem.diff
    File size
    20.71 KiB
    Downloads
    397 downloads
    File license
    Fair use/fair dealing exception

1+1=10

Reply 13 of 18, by Tark

User metadata
Rank Newbie
Rank
Newbie

I've encountered a problem with my DOS BBS door running in DOSbox using socket inheritance.

On several occasions one of my Tradewars 1.03 players has disconnected while still in the door. When he does, neither the door nor DOSbox nor the BBS software detects that he has hung up and the BBS node remains "in use" and DOSbox stays open with the game at its command prompt until I arrive, sometimes hours later, and close DOSbox. (WinXP sp2, Synchronet 3.15a, tw2002 v1.03, DOSbox 0.73.)

The door, of course, was written to run in DOS and communicate through a modem. Can the current programming in DOSbox detect when a telnet user hangs up?

Blue Lobster BBS
telnet://bluelobster.dyndns.org

Reply 14 of 18, by h-a-l-9000

User metadata
Rank DOSBox Author
Rank
DOSBox Author

The BBS (Windows, right?) will realize that the TCP/IP connection is broken after a while. With the patch DOSBox will drop CD, and the game I had responded to that.

1+1=10

Reply 15 of 18, by Tark

User metadata
Rank Newbie
Rank
Newbie

Synchronet 3.15a running in WinXP SP2. The longest it has hung was 743 minutes (over 12 hours). When I discovered it, I closed DOSbox and the connection was broken.

Blue Lobster BBS
telnet://bluelobster.dyndns.org

Reply 16 of 18, by h-a-l-9000

User metadata
Rank DOSBox Author
Rank
DOSBox Author

DOSBox was still open and the socket inheritance was closed by the BBS? With the new patch "Lord" closed itself after a while because CD was dropped when the socket inheritance connection was broken.

1+1=10

Reply 17 of 18, by Tark

User metadata
Rank Newbie
Rank
Newbie

DOSbox was still open, the socket was still inherited, and the player supposedly was still on BBS Node 1, although he had hung up more than 12 hours earlier. Before this happened, if you had asked me, I would have said it wasn't possible.

It has happened three times.

Blue Lobster BBS
telnet://bluelobster.dyndns.org

Reply 18 of 18, by h-a-l-9000

User metadata
Rank DOSBox Author
Rank
DOSBox Author

Dunno if Synchronet expects the socket user to quit after a while on inactivity. If so, you would have to configure the game that runs in DOSBox to do so, if possible at all.

1+1=10