How to make Doom2 connect using two modems


These are instructions for Doom2 version 1.9. If you have 1.666 or 1.7, you and the person you wish to connect Doom2 with over the modem should upgrade.

Step 1:  Do the initial configuration of the modem.cfg file, in your Doom2 directory.

First, you tell Doom2 what kind of modem you have. I do not recommend attempting to use the  "setup.exe" function which does this. It is in the long run less confusing to directly edit the file named modem.cfg and put in the correct modem commands for your modem. The layout of this file is like this:

          Line 1: modem init string
          Line 2: hangup string (a common one is +++ath or just ath, the game will run ok if
          this is wrong)
          Line 3: baud rate (common rate is 19200, supposedly going higher than this is not
          Line 4 is a text description of the modem and is unneeded by doom2.exe.

If you don't know what to put, for testing purposes on most modems, these four lines will work:

config for testing

Step 2: Determine what "com port" your modem uses.

The easiest way for most people to verify this is to see what Windows reports the modem's COM port to be. Double click "My Computer" on your desktop, then double click "Control Panel", then double click "modems". You'll see a modem window that resembles this, click the "diagnostics" tab to see this information:

As you can see, this modem is installed on Com2.

Step 3: Take note regarding what IRQ and Data Address is used by this COM port.

Most computers have 4 COM ports (COM1 COM2 COM3 and COM4) and 15 IRQs (also called "Interrupts", numbered 1 through 15). The typical COM, IRQ, and Address arraingement is this:

COM1 and COM3 both share IRQ4, and

COM2 and COM4 both share IRQ3.

IRQ3 uses "Address 2f8", and

IRQ4 uses "Address 3f8".

A quick way to take note of the COM port and data port setup you need to see is to just click "more info" off of the previous "modem properties" window. Here is what the "more info" window looks like:


The information at the top of the window is what we wanted to see: This example com port is on "Interrupt (IRQ)" 3, and Address 2f8. In other words: its completely normal for a Com2 machine.

If your PC differs from the typical COM/IRQ/Address arraingment, you may have to either (1) reconfigure your PC to use the standard arraingement, or (2) use a replacement serial driver to connect in Doom2. A replacement serial program is on the utilities page. I can't help you reconfigure your PC on a webpage, there's too many variables to go into.

Step 4: Enter dosmode (or open a dos window, if that is how you play) and see if Doom2 can talk to your modem.

From your DOS prompt, in your Doom2 directory, type "dm" and hit enter. DM stands for DeathManager. The DM window will come up, and if it doesent, you're not running Doom2 version 1.9:

You can use the arrow keys to select different fields (in the example above, COM2 is selected), and hit SPACE to toggle the fields on or off. Select your Connect Type as "Modem", your correct COM port, and Modem/Serial "wait for call", and then hit f10 to test.

If after you hit F10, Doom2 attempts to connect to the modem and the new window says "waiting for ring", you've done it, and you're ready to test your first modem-to-modem connection with your buddy, who is simarily configured.

If the window says "ERROR and a bunch of characters, it means that Doom2 was able to send data to the modem, but the modem did not like the INIT string that is in modem.cfg. You will need to find a working init string for your modem, hit "back" on your browser to return to the page that addresses that.

If the thing sits there and does nothing for a prolonged period of time, in most cases, this means Doom2 isn't able to make a connection to the modem at all. There can be many reasons for this, some of which include:

The modem does not use the COM port that you think it does. Sometimes Windows uses one com port for the modem, then when you reboot into DOS, the modem uses another. Re-run DM and try all four COM ports.

Your COM/IRQ/Address setup is nonstandard, and you didn't check like I told you to earlier.

You are running DM in a DOS prompt from within Windows, and your particular modem/OS install doesen't let Doom2 talk to the modem from within Windows. Try shutting all the way down to DOSmode.

You have a horrible WINMODEM. Some modems are manufactured without onboard controllers, and allow the Windows OS to do all of the work. At least some of the time, these WINMODEMs cannot be addressed by DOS apps. I suspect PCI modems may be more likely to be like this than ISA ones. I don't know how to "fix" WINMODEMS to be able to talk to Doom2. Go buy a new one, and make sure it doesent say "WINMODEM" on the package. In my experience, ISA modems have fewer problems connecting in Doom2 than PCI, so if you are new to this and can swing an ISA, I would suggest one.

Step 5: Connect to your buddy for the first time!

Once both of you get your PCs to where they say "waiting for ring" from DM, then try actually connecting. With one of you sitting at the "waiting for ring" prompt, the other one selects "Call" in DM's "Modem/Serial" section, puts in the phone number, and hit F10 when it's all done. The calling PC should dial the phone number, hopefully the other modem answers the phone, and modem-connected Doom2 loads and begins (a process which takes around 30 seconds in its entirety).

Here are some things that can go wrong at this stage:

The modem attempting to call out says "No Dial Tone". Either the last application didn't hang up the modem and it's still connected to something, the phone line isn't plugged into the modem, someone is talking on the phone and you don't realize it, or the phone cable you're using is bad. So far I have not seen this error message as a result of Doom2 or DOS being confused, it seems to mean exactly what it says.

The modems just make strange noises for a while, make strange characters on the screen, and then give up, with or without a weird error message. This means one of two things. In your case, since you are trying this for the first time with default-type init strings, it means that your modems are trying to connect with a bunch of things enabled, and the two modems aren't getting good results attempting to do this. It's time for both of you to pick real init strings, hit |back| on your browser for help with this. The other thing it can mean is that there is line noise on the phone line, if you think this is the case, try switching callers or redialing the game. This problem, even in line noise situations, can frequently be resolved through init string changes on one or both sides.

The game loads almost all the way, and then sits there at the last line of the sequence, either "sending network start information" or "waiting for network start information", and the game never starts. This is usually the problem listed in the paragraph just above this one, and is just a different manifestation.

The modem set to answer the phone just does not, and the phone just rings and rings. I dont have a lot of suggestions for this, except if you're running directly under Windows, try shutting down to DOS, or have that player place the call instead.

Step 6: If you haven't done it already, get a good init string.

The game plays better with good init strings! Just because your game connected with at&f, don't leave it that way and make a habit of using that init string for your games. at&f is good for an initial test, because finding a modem init string that is ideal for Doom can take a little effort, and you wouldn't want to take the time to do that until you know your modem can actually connect in Doom2 in the first place. Typically, when both you and your buddy have good init strings, after the modems stop making noises, it will almost instantly begin loading the game. If the machines are sitting going "beep... beep... beep..." and then the game loads, this can be an indicator that someone has a less than ideal init string.

Step 7: Understanding other modem neworking issues.

(1) ID Strings and -player commands

In modem connected Doom2, the Green player is called "Player 1" and the Indigo (grey) player is "Player 2". Green's relationship to the game is kind of strange: It appears to be the server, more or less, but in modem doom, it sees more lag in game than Indigo. This lag increases with the distance of the phone call: IE: A local connect will cause Green to have only slight lag, but a connect from Virginia to California will have relatively heavy lag that will take the Green player a lot of experience and work to partially overcome. Indigo's lag increases slightly as the distance of the connect increases, but not to the same degree as Green's does.

Each machine picks a number when it connects in Doom2, called an ID string, and the one that picked the lowest number takes the role of  The Server (Green). I don't know how it picks the number, it may be an attempt at randomness. The ID string your PC and the other PC picks are visible for the split second between the modem handshake and the network game loading.

You can override your machine's choice and tell your machine to pick all zeroes (which would make you Green) or all nines (which would make you Indigo). The commands to do this are entered at the same time you run "dm", as a command line parameter. The command to make yourself be Green is -player1 (no space between the word and the number). The command do make yourself be Indigo is -player2. It would be run like this:

D:\doom2>dm -player1

It is extremely rude to -player2 someone in a situation where color choice has not been discussed. An experienced player will be able to catch the 9999999 in the connect window as well, essentially  catching you in the act. In some circles, in a long distance call, it is customary for the person who is placing the call to play as Indigo, but I highly recommend clarifying beforehand any use of -player2 in such a game, if you would like to use it. I personally tend to hang up on people who -player2 me without prior discussion, not because I don't want to play as green (which I usually do anyway), but because I don't appreciate what they are doing. Furthermore, use of -player2 against someone who does not understand how it works, or cannot see when you do it, is cheating.

(2) Game speed and smoothness problems

The following things can cause gamespeed and stuttering issues:

Running Doom2 in a DOS prompt, from within Windows. Having a fast machine does not always guarentee that your game, running directly under Windows, will be performing to its maximum. Try shutting down to DOSmode.

CRAPPY INIT STRINGS.. I don't think its possible to repeat this too many times. It can be a real  problem!

Having a machine that is honestly not powerful enough to run Doom2 well. Doom2's networking slows down the speed of the entire game to match that of the slowest machine, a trait which makes the game as fair as possible, but can have some interesting effects. If you connect to a guy with a run-of-the-mill 486 and you are accustomed to the game on a P3-400 class machine, you are in for a gamespeed surprise. Connecting to a 386 is a serious Slow-Mo experience. Even some lower-powered Pentiums can cause a game to run noticeably slower than someone on a better machine might prefer.

A game that stops and starts at unpredictable intervals is usually suffering from line noise in the connect. That or, someone's PC is really busy doing something other than Dooming, and they should know better than to try to Doom with that much stuff going on in the background.