QUAKE MODEM/SERIAL HOWTO V 0.1

Author:  Tim Aberg    tnta@erols.com

Date: 6/22/96

Description: Instructions on how to set up modems and serial games in Quake.

Other Documentation: TECHINFO.TXT ( Include with Quake )



EXAMPLES FOLLOW EXPLANATION!





Serial/Modems setup:



I. Create a file called "MODEM.CFG" in a text editor and put it in the

   "id1" directory located within your Quake directory .  If you use the

   MODEM.CFG file, you will not have to set up the Modem/Serial parameters

   ( MULTIPLAYER -> COMMUNICATIONS CONFIG menu ) within Quake.



 A. MODEM.CFG should contain the ONE of the following for COM1 or COM2:

    If you have two modems ( Yes 2 of your friends can dial in at the

    same time ) use both of the lines below to enable both of your

    modems. ( DO NOT INCLUDE THE COMMENTS OR THE LEADING SPACES )



    COM1 BAUD 57600 MODEM STARTUP <MODEM INIT STRING> ENABLE

            (Use above for a modem on COM1 )

  

    COM2 BAUD 57600 MODEM STARTUP <MODEM INIT STRING> ENABLE

            (Use above for a modem on COM2 )





 B. How to set up modems on other COM ports.

   

  1. You must find out what hex port and irq your modem is on.

     This may be in you modem docs or can be found in the

     WIN95 Control Panel->System->Device Manager->Ports->Resources



     Below list the most common PORTs and IRQs for COM3 and COM4.

     THE PORT AND IRQ CANNOT BE SHARED WITH OTHER SERIAL PORTS.



     COM3: PORT = 0x3E8 IRQ = 4

     COM4: PORT = 0x2E8 IRQ = 3



  2. Quake only "knows" about COM1 or COM2, so you need to "map" other

     COM ports into COM1 or COM2 with the PORT and IRQ statement. If you

     have one modem, you should always "map" it into COM1 not matter what

     COM port it may be, even COM8.  If if you have 2 modems ( Yes 2

     of your friends can dial in at the same time ) "map" your modems

     into COM1 and COM2.  The first line below "maps" a COM3 modem into

     COM1 and line 2 "maps" COM4 into COM2.  The line, or lines below,

     depending on the number of modems, should be placed in MODEM.CFG.

      ( DO NOT INCLUDE THE COMMENTS OR THE LEADING SPACES )



     COM1 PORT 0x3E8 IRQ 4 BAUD 57600 MODEM STARTUP <MODEM INIT STRING> ENABLE

                         ( Maps COM3 into COM1 )



     COM2 PORT 0x2E8 IRQ 3 BAUD 57600 MODEM STARTUP <MODEM INIT STRING> ENABLE

                         ( Maps COM4 into COM2 )



 C. Direct Serial Connections



  1. Direct serial connections are handled like modems except the MODEM statement

     is replaced with DIRECT; and DON'T include the STARTUP <MODEM INIT STRING>.

     The following line or lines are placed in the MODEM.CFG file.

     For example a direct serial link on COM1:



        COM1 BAUD 57600 DIRECT ENABLE   (Thats it!)



  2. Follow the instructions above on using the PORT and IRQ statements to "map"

     other COM ports into COM1 and COM2.  For example a COM3 serial port "mapped"

     into COM1:



        COM1 PORT 0x3E8 IRQ 4 BAUD 57600 DIRECT ENABLE





MODEM/SERIAL NOTES:



1. Try different BAUD values until you get good performance.  57600 is

   a good place to start for Pentiums with 28.8k modems ( My P120 and 28.8k

   V34 Modem work great at 115200 ). Use 28800 or lower for 14.4k modems.

   Some values may not work with your system. Older computers :( might need

   lower baud rates. 



2. You need to place your modem init string in place of <MODEM INIT STRING>.

   Use ATZ if you don't know, but you may not get good performance. Example:



   COM1 BAUD 57600 MODEM STARTUP ATZ ENABLE



3. Check TECHINFO.TXT that comes with Quake for other serial options, but usually

   you can use the default values for the other parameters.



4. It is not possible to use a COM1 and a COM3 devices because COM1 and COM3

   both share IRQ 4.  Also you cannot use COM2 and COM4 as they share IRQ 3.



5. The COM3 and COM4 values use above for PORT and IRQs should be checked

   with your hardware.





III. MODEM.CFG examples   ( DON'T PUT LEADING SPACES IN THE MODEM.CFG FILE )



 A. One modem one COM1, with ATZ as the modem init string. 



      COM1 BAUD 57600 MODEM STARTUP ATZ ENABLE





 B. One modem on COM2, with AT&F1 as the modem init string.



      COM2 BAUD 57600 MODEM STARTUP AT&F1 ENABLE





 C. Two modems on COM1 and COM2, with ATZ as the modem init string.



      COM1 BAUD 57600 MODEM STARTUP ATZ ENABLE

      COM2 BAUD 57600 MODEM STARTUP ATZ ENABLE





 D. One modem on COM3 "mapped" to COM1, with ATZ as the modem init string.



      COM1 PORT 0x3E8 IRQ 4 BAUD 57600 MODEM STARTUP ATZ ENABLE





 E. One modem on COM4 "mapped" to COM1, with ATZ as the modem init string.



      COM1 PORT 0x2E8 IRQ 3 BAUD 57600 MODEM STARTUP ATZ ENABLE





 F. Modem on COM1, Direct Serial on COM2, with ATZ as the modem init string.



     COM1 BAUD 57600 MODEM STARTUP ATZ ENABLE

     COM2 BAUD 57600 DIRECT ENABLE





 G. Modem on COM3, "mapped" to COM1, Direct Serial on COM2, with ATZ as the 

    modem init string.



     COM1 PORT 0x3E8 IRQ 4 BAUD 57600 MODEM STARTUP ATZ ENABLE

     COM2 BAUD 57600 DIRECT ENABLE





 H. Direct Serial on COM1, Modem on COM4, "mapped" to COM2, with ATZ as the

    modem init string.



    COM1 BAUD 57600 DIRECT ENABLE

    COM2 PORT 0x2E8 IRQ 3 BAUD 57600 MODEM STARTUP ATZ ENABLE

     

 The following will not work, you cannot share IRQs:



    COM1 BAUD 57600 DIRECT ENABLE   (COM1 is also IRQ 4)

    COM2 PORT 0x3E8 IRQ 4 BAUD 57600 MODEM STARTUP ATZ ENABLE

      (COM3 "mapped" to COM2)



IV. Setting up a batch file to launch Quake and "run" your modem.cfg file.



 A.  Create a batch file called GOMODEM.BAT using a text editor in your Quake

     directory.  This will "run" your modem config file when quake starts.



     GOMODEM.BAT should contain the following: (NO LEADING SPACES!)



        quake +exec modem.cfg





V. Starting Client and Server Quake Modem/Serial games.



 A. Run GOMODEM.BAT to start Quake.  You need not to change any serial

    settings within Quake, the MODEM.CFG took care of this for you.

    You should see the modem initialized when quake starts.

    The Serial setings in the "MULTIPLAYER -> COMMUNICATIONS CONFIG" 

    menu may show that the serial port is not configured, but it really is.

    Trust Me  :)  You can start Quake by executing QUAKE.EXE when you are

    not using the modem.



 B. The Quake Client DIALS the Quake server which ANSWERS the phone. One guy

    must be the CLIENT and the other one must be the SERVER. Usually the faster

    machine should be the server, but you can trade off to be fair (The server

    has no lag, while the client usually experiences some).



  1. First, the server computer starts a game by entering the "MULTIPLAYER" menu

     menu then "START A MULTIPLAYER GAME". Select the desired options and then

     start the game with "BEGIN GAME".  Quake will enter the level you selected

     and answer the phone when it rings to connect your victim. (Yes, you can

     run around and grab the loot before your friend calls ) QUAKE STARTS

     THE LEVEL RIGHT AWAY, IT DOES NOT WAIT FOR THE CALLER!  QUAKE SHOULD

     ANSWER THE PHONE AUTOMATICALLY! Remember to set the total number of

     players before you do "BEGIN GAME"



  2. Once the Server is ready to go, the Quake client dials the server by

     entering the console and typing "connect xxx-xxxx" where xxx-xxxx is

     the phone number of the server. Your modem should connect and start you

     on the level selected by the server.



  





VI. Some other Quake tips:



 1. A config file called "AUTOEXEC.CFG" in the "id1" directory will be

    executed whenever Quake is run.



 2. For Win95 people with 32MB of RAM, add -winmem 16 to the command line

    when you start Quake. Quake usually only grabs 8MB of RAM in Win95.

    For example, make a "GO.BAT" file that includes the following:

 

    quake -winmem 16



 3. If your Quake server has modems and is hooked into a local network, they

    can be used at the same time!  The server will allow 2 dial-in clients

    ( Shareware ) and up to 14 local network clients. Quake will answer the     phone

    and connect local lan players automatically. Quake Shareware allows

    16 total players.