DOOM Modem Help, Version 3.13

                           Last Change: 22/Oct/96

                     By Keith Turbyfill (& Ian Mapleson)

Please post all Doom, Doom II and Heretic help-related questions to:

  rec.games.computer.doom.help

However, Doom/etc. editing-related questions should be posted to:

  rec.games.computer.doom.editing

Note: even though this FAQ may not already have an init string that is
specifically for your modem, it is nevertheless well worth trying out some of
the strings listed for other modems - one of them might just be right for you.
Also, this file does have very good instructions for constructing a new init
string from scratch, so have a go at making a new string if this file does not
have a string for your modem already (if this is the case, and you successfully
discover a usable init string for your modem, then please email me to say what
the string is so that I can add it to this file. Thanks! :)

Your modem instruction manual should tell you how to change the configuration
of your modem to a new init string; PC users will find the appropriate info
after the init strings list in this file.

Ian.

The Doom Help Service (DHS):  http://doomgate.gamers.org/dhs/

SGI Network Admin, University of Central Lancashire, Preston, England, PR1 2HE.
mapleson@gamers.org | Tel: (+44 -0) 1772 893297, Fax: (+44 -0) 1772 892913 
"There is no magic, only stuff." - Nakor, "The King's Buccaneer" (R.E. Feist)

*******************************************************************************

--------------------
GENERAL INIT STRINGS
--------------------

Having problems with DOOM serial?  I tried several modems and
configurations.  The init string below seemed to provide the most 
consistent results across the widest number of modems.  DOOM requires
a 9600 bps connect speed.  A 2400 baud modem won't work.  There are
some utilities which claim to allow 14.4 connect speeds, but I have
not been able to get the modems to respond properly after using them.
(I prefer to wait for an official patch from ID).

AT &F S46=0 &K0 &Q0 &D2 &W
AT Z H0


---------------------------------
SPECIFIC MODEM BRAND INIT STRINGS
---------------------------------

Here is the much requested specific modem list.  If you have PROVEN
connection methods and init strings, please send them to me (*) so I can
expand the list. Thanks to the MANY people who provided so MANY lists
of working modem strings and information!

(*) Actually, email me (Ian) since Keith no longer maintains this list. My
    email address for Doom-related things is:  mapleson@gamers.org

Boca M1440i (internal):
ATS48=0S37=9S46=136%C0%E0%M0&K0&Q0&R1&C1&D2\G0\N1N0

Boca 14.4k (internal):
AT&C0N0S37=9&K0W0&Q0S36=3S48=128%C0

Boca 14.4 Fax/Modem
AT S46=0 S37=9 N0 &Q0 &D2 &K4

Boca 14.4k (external):
AT &F S0=1 S36=0 &K0 &Q6N0S37=9 &D2

Boca 14.4k:
AT S46=0 S37=9 N0 &Q0 &D2 &K0 %C0

Cardinal 14.4k v.32bis, v.42bis Fax/Modem:
AT &F N0 S37=9 &Q0 &D2 \N1

DataBridge 36,600 baud voice/fax/data modem:
AT&F&A3&B1&H1&R2&D2&C1X4S0=0S7=90#CID=0
AT Z H0
36600

Digicom Systems (DSI) (softmodem):
AT Z \N0 &D2 &K0 S48=48

Digicom Systems Scout Plus:
ATZ*E0*N3*M0*S0*F0&D2

Gateway Telepath:
AT &F S37=9 %C0 &K0 &Q6 \G0

Gateway Telepath 14.4k:
AT S46=0 S37=9 N0 &Q0 &D2 &K0 %C0

Gateway Telepath I:
AT S0=1 &N6 &K0 &M0

Gateway Telepath II:
AT S0=1 S37=9 %C0 &Q0 &K0

Generic v.32bis 14.4k Fax/Modem:
AT \N0 %C0 B8

Generic 14.4k Fax/Modem:
AT S46=0 S37=9 N0 &Q0 &D2 %C0 \G0 &K0

GVC 14.4k (internal):
AT &F B8 \Q0

Hayes 28.8k V.FAST Modem:
AT &Q6 &K S37=9 N %C0 \N0

Infotel 144I:
AT&Q0 S37=9 N0 &D2

Infotel 14.4:
&F0 \N1 &D2 S37=F8

Intel 14.4k:
AT \N0 %C0 \Q0 B8

Intel 14.4k (internal):
AT Z B8 Q1 \C0 \N1 %C0 \V "H

Linelink 144e:
AT &F &D1 &K0 &Q6 S36=3 S46=136 %C0
19200

Microcom AX:
&F \N1 \Q0 &D2

Microcom QX/4232bis:
AT %C0 \N0

Netcomm M7F:
AT &E &K0 B0 \V0 X4 &D2 \N1 \Q0 #J0 #Q9 %C0

Nokia ECM 4896M Trellis V.32:
AT Z %C0 /N0

Nuvotel IFX 14.4 (internal):
&F \N1 &D2 

Practical Peripherals 14400FX v.32bis:
AT Z S46=0 &Q0 &D2

Practical Peripherals 14400FX v.32bis:
AT S46=0 &Q0 &K0 &D2

Supra:
AT &F0 S46=136 %C0

Supra (external):
AT &K &Q &D \N1

Supra 14.4k v.32bis:
AT &F S46=136 &Q0 &D2

Supra 14.4k v.32bis:
AT &K &Q &D \N1

Supra Fax Modem 14.4K v.32 bis
AT &F %C0 S48=7 Q0 V1 W1

Telepath 14.4k:
AT &F&M0&K0&N6&H0 S0=1

Twincomm DFi 14.4:
AT&F &Q0 %C0 S37=9 &D2

UDS V.3223:
&F \N1 \Q &D2

UDS Fastalk 32BX:
&F0 \N1 &D2

USR Courier v.32bis:
ATS0=1 S7=60 E1 Q0 V1 &C1 &D2 &H0 &K0 &M0 &N6 &A3

USR Courier HST/DS 16.8k:
First reset the modem in a communication program with AT&F&W
AT X4 B0 &A0 &B0 &H2 &I0 &K0 &M0 &N6a

USR DS v.32bis v.42bis (external):
AT&m0&n6&a0&r1&h0&k0&i0&s0&b1x1

USRobotics 28.8VI &fax 33.66bps (works when called by DM.exe)
Thanks to rexs@nameless.com
ATZ &F1 &M0 &K0 &N0 &R1 S32=8

USR Sporster 9600:
AT&M0&K0&N6

USR Sportster V.34 28.8 (note: works best at 19200 baud):
AT &F &M0 &I0 &K0 &B0 &N0

USR Sportster 14.4k Fax/Modem USING ERROR CORRECTION:
AT S0=1 S7=60 E1 QO V1 &C1 &D2 &K0 &N6 &A3

USR Sportster 14.4k Fax/Modem (internal):
AT &F&M0&K0&N6&H0

USR Sportster 14.4k (internal):
AT &F &B1 &H0 &I0 &K0 &M0 &N6 &R1

USR Sportster 14.4k:
ATS0=1S7=60E1Q0V1&C1&D2&K0&N6&A3

USR Sportster 14.4k:
AT &F0 &K0 &M0 &N6 &H0 &I0 &B1 &R1

USR Sportster 14,000 Fax Modem:
AT S0=2 &N6 &K0 &M0 &I0 &H0 &R1 &A0 V1 X4

USR 14.4k:
AT &F&A0&K0&M0

USR 14.4k
AT &K0 &H0 &D0 &I0 &R1

USR 14.4k Dual Standard
ATB0&R1&B1&N6Q0X4&A0&D2&H0&I0&K0&M0M1

USR (model?):
&F E1 V1 X4 &C1 &D2 &N0             

ViVa 14.4k:
AT&F&Q6\N0%C0&D2N0S37=9

ViVa modem (internal):
&F&Q6\N0%C0&D2N0S37=9

Zoltrix model 14/14 VE:
AT S0=Q0 V1 &C1 &D2 W2 &Q0

Zoom 14.4k VFX:
AT&Q6S37=9N0%C\N0

Zoom 14.4k VFX:
AT&Q6S37=11N0%C&K0

Zoom OEM Modem:
AT&Q6S37=9N0&K0

Zyxel U-1496E:
AT Z &N4 &K0


I will add to this list as soon as I get ABSOLUTE verification on other 
modems.  Keep in mind, sometimes even these settings have to be tweaked 
in order to work with different modems (see specific settings below).
We have had some modems provide incredible smooth play when "tweaked" 
properly.  If you have one you are confident with, please send me the
modem vendor, version, and init string.


------------------
CONNECTION METHODS
------------------

Bascially, there are four effective ways to connect and play DOOM dialup:

1.  Connect via the DOOM SETUP program.
2.  Connect via command line options with the DOOM SERSETUP program.
3.  Connect via a communication program and then with SERSETUP
4.  Connect with redirected DOS commands and then with SERSETUP. 


-----------------
DOOM SETUP METHOD
-----------------

a.  Edit your MODEM.CFG file.  Change the first line (MUST be the first
    line) to provide the proper init string for your modem.

b.  Run the program SETUP in your DOOM directory.  Choose "Play network/
    modem/serial..."

c.  Choose Modem.

d.  Tab to fields and set as desired.  The most important fields are
    your COM port number.
    
e.  Finally, one side must "CALL" (supply phone #) and the other player 
    must "Wait for Call".  
    
f.  After pressing F10, Your screen should clear.  Both sides should see 
    the init string sent to there modem AND an exact match response.  If
    you lock up no modem response or ERROR, you need to check your 
    connection and modem init string.

g.  Next, one side will dial the number.  The receiving (waiting) player
    should see "Waiting for Call..." displayed.

h.  Upon ring, the receiving modem should issue an ATA and the modems 
    connect.

i.  This is the most common lock up point.  The modems connect, but the
    game never detects the other player.  Did both sides connect at a 
    true CONNECT 9600?  Did you see the connect message from your modem?
    (Look at modem command X4).  Are both modems in direct mode? (Look at
    modem command \N1 or &Q0).  Is there a flow control or break option
    causing a problem?  (Look at modem commands &K, \Q, \G, \K, &R).  The 
    modem commands are described in more detail in a later section.  Also
    check the IRQ settings for your COM port.  Is everything reporting 
    correctly?  You can run the utility MSD (comes with Windows) to get
    precise information on your COM ports and their IRQs).

j.  After each side detects and connects, the screen will clear and the
    blue ribbon will display across the top.  The normal DOOM startup and
    initialization will take place.

k.  Finally, each side displays a message indicating it is SENDING or
    LISTENING for the other player.  The same troubleshooting points above
    apply here.  This is the next point of common lock up.

l.  The last point where a lock up is encountered is right after the game
    "starts".  Each player is frozen.  Look here for not enough flow 
    control options set.

m.  Occasionally, I have run into CONSISTENCY FAILURES and 
    NETTICS > BACKUPTICS.  I currently have no solution for consisitency
    failures -- although it does seem to be more prevelant with specific 
    modem combinations.  The NETTICS > BACKUPTICS seems to be due to
    over-zealous modem tweaking.  Put some flow control back in and let
    the program and/or modem throttle the data.


----------------------------
COMMAND LINE SERSETUP METHOD
----------------------------

a.  This assumes you have read the standard connection information and
    edited your MODEM.CFG file, etc.


b.  The caller should start SERSETUP.  For example:

    SERSETUP -com1 -dial 555-1212

c.  The receiver should start SERSETUP.  For example:

    SERSETUP -com1 -answer

d.  Of course, you would specifiy YOUR COM port and the correct number to
    dial.  Additional options can be specified, but just stick with the
    basics when troubleshooting.  See the DOOM README info for more on 
    command line options.


----------------------------
COMMUNICATION PROGRAM METHOD
----------------------------

a.  This assumes you have read the standard connection information and
    edited your MODEM.CFG file, etc.

b.  Each side should start a communication program like Qmodem or Procomm.
    Each side should manually issue the AT commands to set the modem.  For
    example:

    AT &F \N1 &D2
   
c.  The caller should dial the receiver.  For example:

    ATDT 555-1212

d.  When the phone rings, the receiver should issue the AT answer command.
    For example:

    ATA

e.  After the modems connect, exit the program (try to leave the connection
    up or leave DTR high.  You may have to alter the &D2 to a different
    value to cause the modem to stay connected).

f.  Each side should start the SERSETUP.  For example:

    CD \DOOM
    SERSETUP -com1

g.  Of course, you would specifiy YOUR COM port and the correct number to
    dial.  Additional options can be specified, but just stick with the
    basics when troubleshooting.  See the DOOM README info for more on 
    command line options.


-----------------------------
REDIRECTED DOS COMMAND METHOD
-----------------------------

a.  This jewel came from Cris Williams (75300,2704) on Compuserve.  It
    does indeed work when other methods fail.


b.  This assumes you have read the standard connection information and
    edited your MODEM.CFG file, etc.


c.  These examples assume COM port 1 and a phone number of 555-1212.  Alter
    according to your setup and real phone numbers.

d.  Both sides issue the MODE command to the modem from the DOS (i.e. C:)
    prompt:

    MODE COM1:9600,N,8,1,P

e.  Both sides issue a redirected ECHO command to set the modems to place in
    direct mode and disable compression, etc...  For example:

    ECHO AT&F &Q0 &D2 > COM1

f.  The caller should issue the dial sequence.  For example:

    ECHO ATDT555-1212 > COM1

g.  When the phone rings, the receiver should issue the command:

    ECHO ATA > COM1

h.  Both sides should start SERSETUP.  For example:

    SERSETUP -com1


----------------------
COMMON MODEM COMMANDS
----------------------

Here are the most common settings and what they do:

&F    - This fetches the factory default in most modems.  Always a
        good starting point.  Modems with multiple factory settings
        may require a qualifier (i.e. &F0)

S46=0 - This register setting disables compression on many v.32 and v.42
        modems.  You might also try S46=136 or %C0.

&K0   - Disable flow control between the modem (DCE) and your PC (DTE).
        This was one of the most common problems -- You should look
        at flow control options more closely if you connect and just hang
        WITHOUT the screen clearing and displaying the blue banner.  Check
        your modem documentation carefully.  The command(s) to manipulate
        flow control varies quite a bit on various modems.  The commands
        \G and \G0 were also quite common.

&Q0   - Places the modem in DIRECT mode.  This is by far the best method
        for pumping data down those wires!  At least to start with, stay 
        away from the error correcting and speed buffering configurations.  
        The command \N1 is the next most common command to set the modem 
        in direct mode. 

&D2   - DTR handling.  DTR is the signal (voltage) on the serial connector
        on your PC that says "I'm here".  This control helps with initially
        talking to the modem and disconnecting.  The &D2 in tells the modem
        how to handle the loss of the DTR signal from the PC.  In this case,
        the modem will go into COMMAND MODE from DATA MODE (if not already
        there) and send the normal verbose response (i.e. "OK").  Many modems
        also support a neat option (&D3) which recalls the prior 
        configuration.

&W    - Write the configuration to the modem's memory.  This is optional
        but I always like to do this -- just like I always like to use
        the factory reset (&F) at the beginning.  

        IMPORTANT:  When you use the &W you permanently change your modem
                    modem settings.  If your other communication programs
                    do not set your modem each time, you may have to 
                    configure your modem for those other programs again.


S37=F8  - Another very common problem is when 14.4 modems report a connect
          of CONNECT 14400.  Doom requires 9600.  Try to force the modem 
          to 9600 bps.  F8 is hexadecimal notation.  Your modem 
          documentation may describe the settings in decimal or 
          in binary notation.  For example:

          F8        - hexadecimal
          248       - decimal
          11111000  - binary

          The binary notation is the most clear when interpreting the 
          effect to bit registers.  Once you set your bits correctly,
          you can use the calculator in Windows 3.1 to binary/hex/decimal
          conversions (when in the scientific mode).
          
          Keep in mind the place holders and the least to most significant
          bits!  It's easy to work in the wrong direction when dealing
          with bit registers.  

          If binary notation is foreign to you, call your modem vendor
          and describe what you need.  They will be able to give you the
          proper code.

          Another common speed setting is %B.  Some modems take a value, 
          i.e. %B4 while others take the speed i.e. %B9600


Other areas which helped depending on the modem (or modem connected to)
was with flow control and slave speed.  Your modem may or may not respond
or allow some of these settings.  (Some modems simply locked up).

\J0     -   Slave the DTE (PC) to DCE (modem) speed.  \J is sometimes used
            (no 0 qualifier required or used).

&R1     -   Force Ready-To-Send and/or Clear-To-Send high.  On a couple of
            if your modem is using EIA leads for flow control, this leaves
            the pipe wide open.

\K5     -   Break control.  Haven't determined how effective this is and what
            effect the break and buffer flush has on DOOM.  It's worth 
            experimenting with.

   
-----------------------------------------------------------------------------

I hope this helps you frustrated serial players out there.

Finally, thanks to ID for the most awesome games I've played.  Wolf3D,
SPEAR, and DOOM have provided the best value for my money.  I urge you
to register your software to help support them!

Please note I have been SWAMPED with responses and requests for help.  
Please be patient for a response if you write.  If you do write, try to 
give as much exact information as possible:  Modem vendor, modem model, 
modem revision (use the ATI and AT&F or AT\S command).  Also include the 
EXACT init strings you've used and EXACTLY where you locked up.  Write
down ALL of the last 5 lines displayed on the screen before locking up.
If I can, I'll try to help.  Unfortunately, I am receiving so many requests,
I may have to stop responding...  Hopefully, things will slow down...

If you have found a working connect method or init string, please send it
to me with the modem type and model number.  (What was used on BOTH sides
would be even better!).


Keith Turbyfill
Compuserve ID: 73322,332
America On Line ID: turby
Internet ID: turby@aol.com