============================================================================== MODOOM DOCUMENTATION ============================================================================== - Doom is a Trademark of ID Software ============================================================================== This program has only been tested on a limited basis. By using it you accept full responsibility for any damages it causes. The program uses standard DOS and C calls and should function as described below, but this is not guaranteed. The author cannot be held responsible for any problems that arise due to its use. There is such a wide range of computer systems and so many configurations it is hard to tell where this program will end up or how it will be used. It worked as described below during our testing and did not cause any problems. ============================================================================== If you find this program useful please distribute everywhere you can think of free of charge. You cannot charge for the program itself but you can charge for the cost of the media it is distributed on and/or the labor involved. All files listed under MODOOM FILES must be included when distributing. ============================================================================== MoDoom is designed to run the Doom game over a modem by connecting two modems together and then running the SERSETUP.EXE program passing any parameters present on the MoDoom command line or in the MODOOM.CFG file. If the config file is not present, MoDoom uses hard coded defaults that can be viewed by typing MoDoom /? on the command line. Any parameters passed to MoDoom on the command line will override any of the same parameters in the config file. MoDoom was created because the setup program with Doom would not work most of the time and you had to type in the settings every time you used it. ==================== MODOOM FILES ==================== MODOOM.DOC - This file, MoDoom documentation MODOOM.EXE - The MoDoom executable program MODOOM.CFG - The MoDoom configuration file FILE_ID.DIZ - MoDoom description file ==================== INSTALLATION ==================== - Copy MODOOM.EXE and MODOOM.CFG into the directory containing Doom. - Open MODOOM.CFG with any text editor and verify the commands will work with your modem. The settings for the config file are described under MODOOM.CFG SETTINGS. They work excellent with my USRobotics 14.4 Sportster external FAX/Modem and with my friends USRobotics 9600 Sportster internal. ==================== MODOOM.CFG SETTINGS ==================== - The config file keywords (i.e., ModemComPort) are case-sensitive and must appear exactly as shown below. - The file can contain blank lines and comments as long as the comments do not contain keywords. - The following are the defaults for the config file: Dial=0 LoadGame=-1 Episode=0 Mode=1 NoMonsters=0 Respawn=0 Skill=4 Number1= ModemDialString=AT&F&N6&K0&M0E1V1X4S11=55S0=0 ModemAnswerString=AT&F&N6&K0&M0E1V1X4S11=55S0=2 ModemResetString=ATZ ModemDialPrefix=ATDT ModemComPort=2 ModemBaudRate=9600 ModemParity=0 ModemDataBits=8 ModemStopBits=1 - ModemDialString The string sent to the modem when you will be the one to call another Doom player. This does not need a carriage return character (i.e., ^M or ! or |) or pause character (i.e., ~ or a comma), but can contain the pause character "~" or the carriage return character "|" if needed. - ModemAnswerString The string sent to the modem when you will be the one to answer a call from another Doom player. This does not need a carriage return character (i.e., ^M or ! or |) or pause character (i.e., ~ or a comma), but can contain the pause character "~" or the carriage return character "|" if needed. - ModemResetString The string sent to the modem to reset to software defaults. This should take the modem out of Auto-Answer mode and put in Terminal-Ready mode. NOTE: If you have problems with the modem not resetting correctly after exitting Doom, try putting one or two ~ characters right before the ModemResetString (i.e., ModemResetString=~~ATZ). - ModemDialPrefix The prefix used before dialing the number of another Doom player. If you have a pulse line, you should change this to ATDP. - ModemComPort The serial port which your modem is on. - ModemBaudRate The baud rate which the port will be set to. This does not initialize the modem any differently, just sets the port to that rate. - ModemParity The parity which the serial port will be set to. 0 means no parity. 1 means even parity. - ModemDataBits The data bits which the serial port will be set to. - ModemStopBits The stop bits which the serial port will be set to. - Dial If this is set to 0, MoDoom will put your modem into Auto-Answer mode by using the ModemAnswerString. If this is set to 1 thru 10 MoDoom will dial the corresponding Number#= entry in the MODOOM.CFG file. For example, if you have five numbers in the config file and the fifth reads "Number5=1234567" and you want to dial 1234567 just change "Dial=0" to read "Dial=5" or run MoDoom with the /DIAL5 parameter or the /DIALNUM# parameter to dial a specific phone number. - LoadGame This entry will call SERSETUP.EXE and pass it whatever game number you have specified. -1 means do not load a game, in other words, don't pass SERSETUP.EXE the -loadgame parameter. You can also load a game by running MoDoom with the /LG# parameter. - Episode This entry is to load a certain Doom Episode. 0 means use defaults and don't pass SERSETUP.EXE the -episode parameter. For example, to load Episode 3 change this line to read "Episode=3" or run MoDoom with the /EPIS3 parameter. - Mode This entry is to specify whether to start in cooperative or deathmatch mode. 0 means to use default mode (cooperative) and 1 means to use deathmatch mode. You can also run MoDoom with the /COOP or /DEATH parameters. - NoMonsters This entry is used to activate the no monsters feature. 0 means disabled, 1 means enabled. You can also run MoDoom with the /NOMON parameter. - Respawn This entry is used to activate the respawn feature. 0 means disabled, 1 means enabled. You can also run MoDoom with the /RESP parameter. - Skill This entry is used to specify what skill level to start at. 0 will use Doom defaults (skill 1) and 1 thru 5 will use that skill level. You can also run MoDoom with the /SKILL# parameter. - Number# These entries are used to specify the numbers of other Doom players. You can have up to ten in the config file. These lines should be after the Dial= entry. Any entries above "Number10=" will be ignored but can be in the config file. You can also run MoDoom with the /DIAL# parameter to dial an entry in the config file, or you can use the /DIALNUM# to dial a specific phone number. ==================== MODEM INITIALIZATION STRING ==================== - This seems to be a major problem point among Doom Modem players. The general idea to get your modem to work with Doom is to disable data compression, disable error control, and set your modem to 9600bps. - The following is a description of the commands appearing in the MODOOM.CFG file: AT - Modem attention command &F - Load the read-only (non-programmable) factory settings &N6 - Set the data rate to 9600bps &K0 - Disable data compression &M0 - Disable error control E1 - Turn echo on (usually default) V1 - Display verbal codes as opposed to numeric (usually default) X4 - Use result code set number 4 S11=55 - Set touch-tone dialing speed to 55 milliseconds S0=0 - Disable Auto-Answer mode S0=2 - Enable Auto-Answer mode (modem answers after 2 rings) - If for some reason you want to use multiple init strings in the configuration file, you can do so by adding the ~ (pause) character and the | (CR/LF) character. For example, to change the reset string to take the modem out of Auto-Answer mode and reset to the factory settings you would change ModemResetString to read "ModemResetString=ATS0=0|~~~AT&F". - Note that MoDoom automatically puts three ~ characters at the beginning of the init strings and the | character at the end. The rest of the init string is up to you. ==================== RUNNING MODOOM ==================== - The easiest way to play Doom over the modem is to call the other Doom player voice and one of you run MoDoom with the Auto-Answer parameters. Then when one of the modems is waiting for a call, hang up and have the other person run MoDoom with the dial parameters using the phone number of the other player. - To override any of the parameters in the MODOOM.CFG file, type MODOOM along with any parameters. To see a list of parameters type MODOOM /? on the command line. - Once MoDoom has started it will send the ModemResetString, then either the ModemDialString or the ModemAnswerString to your modem depending on whether you are the caller or the answerer. It will then display a prompt that it is waiting for the modems to connect. To abort the process just hit any key and the modem will be reset and Doom will not be run. Once the modems have connected, MoDoom will detect this, and run the SERSETUP.EXE program. If either player's screen appears and it is blank or only partially there, wait a minute or two. If the game doesn't begin you should restart the whole process and try to connect again. This has happened to us several times but always worked the second time. This doesn't appear to be MoDoom's fault. - When you exit from Doom, MoDoom will attempt to reset the modem by sending the reset string and dropping DTR. ==================== TROUBLE SHOOTING ==================== - When Doom runs the screen is blank or only partially there. If the screen doesn't redraw after a minute or two, hit ESC and quit like you normally do and rerun MoDoom. Usually the second time works fine. This doesn't appear to be a problem with MoDoom as it happened to me several times before I made this program. - Upon exiting from Doom you receive the "Resetting Modem" message but no modem reset commands appear on the screen and the modem does not reset. Try adding one or two tildes to the ModemResetString line in MODOOM.CFG. For example, change "ModemResetString=ATZ" to "ModemResetString=~~ATZ". - After exiting from Doom the modem is put into Auto-Answer mode and answers every call. This happened during testing and was determined to be caused by the modem hardware defaulting to Auto-Answer mode and MoDoom was not dropping DTR so the modem was left in Auto-Answer mode. If adding the tilde characters as described above doesn't work, try changing the DIP switches on your modem to not default to Auto-Answer mode. ==================== MISCELLANEOUS ==================== - A fellow Doom player and I worked for several days trying to get Doom to work optimally over the modem. After we created a batch file to echo commands to the modem and tested it thoroughly, I made this program so we could easily do what we did with the batch file. - Hopefully others can use this program and have as much fun as we did playing in deathmatch mode. But maybe you can get to bed before the next day comes. ============================================================================== END OF MODOOM DOCUMENTATION ==============================================================================