SIRDOOM A DOOM/Heretic Loader for Game Connection Copyright (c) 1994 by Sirius Software, Inc. Finally, you can play DOOM, DOOM II, and Heretic with up to four players via modem. SIRDOOM has a built in terminal that will allow you to call your favorite Major BBS system running the multi-player version of Game Connection (V1.40 or higher for DOOM, and V1.45 or higher for Heretic) and play against a group of friends or acquaintances. While there, check out the other games that are playable in multi-player mode via Game Connection. SIRDOOM is a simple terminal program, and fairly self explanatory, with a built in DOOM/Heretic loader that not only allows you to play up to four way games, but also allows you to play without the need for expensive modems and difficult modem configuration. It also allows you to play a much smoother game than previously possible by optimizing the data to reduce the volume. This front end has been tested thoroughly with DOOM V1.2, V1.5B, V1.6B, V1.666, DOOM II, and Heretic. Support for DOOM and Heretic were combined into this single program due to the similarities in their operation, and to keep from cluttering your system with more files. However, even though it is the same front end, the communications of the two games are different, and require separate game modes. Make sure you select DOOM mode for DOOM or DOOM II, and HERETIC mode for Heretic. Game modes are explained a more thoroughly in SIRGCONN.DOC, the user documentation for Game Connection that should be available on your system. Although SIRDOOM makes DOOM and Heretic play smoother and relaxes some of the hardware needs, the game still requires high powered equipment for smooth play. Please read the hardware considerations section below. Installing and Configuring SIRDOOM To operate SIRDOOM, simply unzip SIRDOOM.ZIP into either your DOOM or Heretic directory, or preferably, somewhere in your path so you can play any of the games without the need for multiple copies of SIRDOOM floating around. Placing these files in your path will allow you to type SIRDOOM from any path on your computer and select the game you wish to play. The first thing you will want to do after installing SIRDOOM will be to configure SIRDOOM for your system. The configuration editor will come up automatically the first time you run SIRDOOM, and can be accessed at any time by typing Alt-C from SIRDOOM. This editor is fairly self explanatory. You are allowed to configure the com port, baud rate, init and dial strings for your modem, create a dialing directory of the systems you frequent, set up one or more paths where DOOM or Heretic are located on your system, and select game options. The 'Extra Args' field in the game options editor allows you to specify additional arguments that the configuration editor does not handle automatically, such as warping or external wad files. To warp in DOOM, use "-devparm -warp "; to do so in DOOM II, use "-warp ". The configuration editor will generate a file called SIRDOOM.CFG. This is a simple text file that SIRDOOM reads to determine your configuration. If you wish to edit this file with a text editor, the options are as follows: General Options * BAUD: This is the baud rate you want to use for communicating with the BBS. It can be set to any standard rate, but must be set to at least 9600 for DOOM to operate. This is the only required option. If it is not provided, SIRDOOM will take your current UART speed, which in most cases is 2400. NOTE: With versions of DOOM V1.6B or higher, 2400 bps play is also possible, although much choppier than 9600 play. See the TICDUP option for more details. BUFSIZ: By default, SIRDOOM uses 1K buffers for input and output. This number can be increased (as high as 64000) or decreased if you like by adding the BUFSIZ option. The size of your I/O buffers should probably not be increased. Our testing shows no more than a 40 byte build-up in the buffers during normal play with 4 players. It may even help to decrease the size if you are having trouble moving your player accurately. DIAL: This is the string that will be used to dial your modem when you type Alt-D. This should normally be set to ATDT, but is configurable so you can set it to what you like. INIT: SIRDOOM will sent this string to your modem when you first enter (if you are not already connected), and each time you hit Alt-I. Note that unlike most terminal programs, SIRDOOM does not send an init string if you are already connected. This feature allows you to easily enter and exit the program without having your init string sent to everyone on the system when you re-enter. HANGUP: SIRDOOM will automatically drop DTR briefly in an attempt to hang your modem up when Alt-H is pressed. If this does not cause your modem to hang up (usually because your init string includes &D0), you may need to specify a hangup string here. INTR: By default, SIRDOOM will attempt to locate an empty user interrupt on it's own to use for communicating with DOOM. If you run into a conflict, you may need to override the interrupt used. Example: INTR: 0x60 This will cause SIRDOOM to use the general purpose interrupt 60 hex for communications. NUMBER: This field is only useful if you are not using SDCONFIG. It is the number that SIRDOOM will dial when you press Alt-D, but is set each time by SDCONFIG. PORT: COM port to use to call the BBS. Set this to 1-4 for the com port you will be using. If you are using non-standard hardware, you can override the port using the PORTADDR and IRQ options below. PORTADDR: If you are using non-standard hardware, you can override the PORT option by specifying the hex address of the port that you want to use with this option. If you do not understand the use of this ability, then you most likely do not need to use it. If this option is used, you MUST also specify the IRQ to use (see the next option). IRQ: This option should not normally be used. It will allow you to redirect the communications interrupt for non-standard com ports. Currently only irq 2 through 7 are supported. If this option is used, you MUST also use the PORTADDR option to set the address of the port to use. Example: PORTADDR: 2F8 IRQ: 5 This would configure SIRDOOM to use the standard COM2 address, but instead of IRQ 3, it would use IRQ 5. FLOW: This option allows you to override the default value for flow control. In most instances, flow control defaults to ON. If your modem does not support hardware (RTS/CTS) flow control, you do not have it configured to do so, or your serial cable is incomplete, then you may need to disable flow control. Keep in mind that doing so will most likely cause data compression and data buffering to fail. Only use this option if you are unable to get flow control working, and then it is suggested that you call the BBS at the same speed as your modem connects to remove the need for flow control. (eg. if you connect at 14400, set your modem to 14400 before calling.) FIFOS: This option allows you to override the automatic sensing of hardware fifos. The only valid uses for this option are to shut off fifos if your UART has defective fifos or to turn them on if your modem does not have true 16550s, but has firmware emulation of a 16550. We have had reports that attempting to use fifos with 16550 emulators does not work. Your results may be different. Feel free to play with this option if you are having communications problems, but you are best to leave it out, as SIRDOOM performs thorough tests to detect the presence and proper operation of fifos. UART: This option allows you to override the automatic sensing of UART type and stops the UART testing. If you use the FIFO option, it will force the UART type to 16550A, and NOFIFO will force it to 16450. One possible use for this option would be if you have non-16550 UARTs, and don't plan to upgrade, but do not want the warning text to appear each time you enter SIRDOOM. The other use would be to force SIRDOOM to work with your UARTs even if they fail some of the tests. Each warning that SIRDOOM or COMTEST return is an indication that something is non-standard or malfunctioning with your UART. This problem may or may not be detrimental to the smooth operation of DOOM, but chances are, it will be. ARGS: These are the command line arguments for DOOM. Unless you host the game, any selections you make for skill level, episode, warping, deathmatch, etc. will be overridden by the host player. If you wish to pass player specific arguments to DOOM, you can specify them on this line. For a complete list of arguments available, consult your documentation or the DOOM FAQ. The most common player arguments are: -file Load an external wad file. -turbo <1-255> For V1.666 and DOOM II, this argument will increase you character's normal walking speed. 255 is the same as running. JUMP Use this option with 16550 UARTs if your game freezes after a few minutes of play. The person causing the problem can be determined by looking at the modem lights to see who is no longer transmitting. Normally, a non-16550 UART will not maintain an interrupt condition. If interrupts are disabled for too long, or an interrupt is not serviced in time, that interrupt may be lost. Since it is critical to receive every interrupt in order to keep data transmitting, this can cause the game to freeze randomly a few minutes into the game. It is usually aggravated by using the keyboard. This is overcome when no 16550 is present by transmitting a single byte after each packet (aka jump starting the transmit interrupt chain). A few 16550 UARTs also suffer from this problem. If you have 16550 UARTs, but the game freezes a few minutes into the game, adding JUMP to your configuration file will force the code to treat the UART as a non-16550, and jump start the interrupt after each packet. Since the FIFO buffers are still operational, these UARTs will perform somewhere between a non-16550 and a 16550. The communications code in SIRDOOM goes to great lengths to avoid this problem, and an occurance of it has not been reported for a long time, but this option has been left in in the event it is needed. PATH: This allows you to set SIRDOOM up in a path other than where DOOM is located. For instance, if you are running the CD-ROM version of DOOM, you will need to use this option to tell SIRDOOM where DOOM is located. This option is filled in by SDCONFIG when you select from your list of DOOM paths. NOTIFY: ON|OFF| This option allows you to tell SIRDOOM whether or not to notify you if a user enters your game channel while you are playing, and if so, how often to allow notifications. It assumes that the system you are playing on has the capability of sending these notifications and that the sysop has configured Game Connection to allow users to enter the channel while a game is in progress. NOTIFY: OFF Will not disturb your game when someone enters the channel. NOTIFY: ON Will notify you each time someone enters the channel. NOTIFY: 15 Will notify you when someone enters the channel, but will ignore users entering if they enter less than 15 seconds apart. This is the default setting for SIRDOOM to allow you to be notified, but to stop someone from forcing you out of a game by constantly re-entering your channel. BEEP: If you are allowing notifications when users enter the channel, this option will allow you to customize the notification beep by extending or reducing its duration. The default is 4, and valid values are from 0 to 100. 0, however, will not generate a notification beep. FREQ1: FREQ2: FREQ3: If you are allowing notifications when users enter the channel, these options will allow you to customize the notification beep by changing the frequencies. There are three different frequencies, with delays between them. The default values are 300, 500, 300. The original version with the notification capabilities used 700, 1000, 700, but that sounded too much like the game sound effects. If you are not happy with the notification tone, feel free to play with these options. Valid values are from 0 to 65535, but you won't be able to hear much higher than 11000 Hz, or lower than 20 Hz. If you want a headache, try setting BEEP high and setting all frequencies to 11000 Hz. Your dog should let you know, then, when someone enters the channel. Host (Master) Options The player starting the game (by typing Alt-S from terminal mode) is the game host. This player has additional options available to determine communications methods and game settings. You may wish to configure these so that you can host a game, even if you are not the chosen host. All values have defaults, so no arguments have to be specified. ARGS: These are the command line arguments for DOOM. The main options are: -skill Game difficulty from 1 to 5. -episode Game episode (for registered owners) from 1 to 3. -deathmatch Non-cooperative play. -altdeath New version of deathmatch for V1.666 and DOOM II. All weapons disappear when taken, and all items come back after 30 seconds. -warp Start at a location other than episode 1, level 1. For all version other than V1.666 and DOOM II, you will need to preceed this argument with -devparm. For DOOM II, there are 30 levels instead of 3 episodes of 9 levels each. In this case, use: -warp Try levels 31 and 32. You will need to consult the DOOM or Heretic FAQ for a complete list and explanation of the options. EXTRA For slow systems or networks, this option can be used to smooth out play. The price for using this option is almost twice the data volume. It will cause DOOM to send extra information in each packet, so that resends do not happen quite as often. (See the discussion on baud rates and data volume below). TICDUP: This feature is only available with DOOM V1.6B or higher. Using it with lower versions of DOOM will cause the game to kick one or more of the players out and hang the rest. This option will allow you to decrease the overall data volume at the expense of control accuracy. It can be used to reduce data volume when the EXTRA option is needed, or can be used to allow 2400 bps users to play. See the data volume chart for details. One more use for this option is to decrease packet frequency which may allow smoother play with a poor connection or non-16550 UART. It won't correct the problems, but is a little less demanding of your hardware, and reduces the number of packets that need to be resent. X25 This option is for players on X.25 networks or line oriented networks (such as some telnet connections). It will reduce network delays on networks that wait for a line terminator before sending a packet. Since delays are extremely detrimental to DOOM play, the tradeoff of higher data volume is a good one. Using SIRDOOM Once you have configured SIRDOOM, it is as simple to operate as using Telix or ProComm. Type SIRDOOM to enter terminal mode. Use Alt-D to dial a Major BBS system, and join a Game Connection multi-player channel. You must use DOOM Mode for DOOM or DOOM II, and HERETIC mode for Heretic when using SIRDOOM. Once everyone is there, the channel moderator begins game mode by typing START, and then begins the game by typing Alt-S. Players that respond will be listed, and the host will be informed when all players have been accounted for. He/She then presses ENTER to launch DOOM or HERETIC, or ESC to return to teleconference. If you are successful on your first attempt, you either have a well set-up system, or you are one of the lucky ones. DOOM and HERETIC are both very demanding for multi-player gaming. See 'Hardware Considerations' below for details on setting up your system. If you are not successful, see the 'Down to the Nitty Gritty' section. Upon completion of the game, all users will return to teleconference mode. Ctrl-Z's should not be necessary, as SIRDOOM enters these for you. That's about all there is to it. Have a great deathmatch. Hardware Considerations DOOM and Heretic require pretty high horsepower from your computer and modem. When playing multi-players, the slowest player will dictate the smoothness of the game for all players. A 386 or better is required, and a 486 with a local bus video card is best. Heretic has a little higher data volume, and will be a little more difficult to get going than DOOM, so you should probably get DOOM working properly first. Modems: Your modem must be at least 9600 for normal play. The connect rates of the various players is not important, so long as each is higher than 9600 (for 4-player games using V1.2, you will need to use 14.4K or better with data compression enabled). This is with SIRDOOM only! Other communications programs for DOOM/Heretic require pretty closely matched connect rates with hardware data compression for a smooth game. Our test of SIRDOOM showed a 20% decrease in game speed when hardware compression was enabled. Since the total data volume (excluding the use of the EXTRA option by the host) is less than 9600 for four players using V1.5B or higher, data compression is not needed, and can even be detrimental. You should probably start with error correction enabled. After getting the game running, you can see if the game is smoother with error correction off. This has been reported to be the case with some modem brands. Be forwarned, however, that doing so may cause your game to abort with a consistency failure if line noise does occur. If you have problems such as this, the only solution is to get a higher quality modem. You will need to enable hardware (RTS/CTS) flow control via your modem init string if your modem is set to a speed higher than the connect speed. (e.g. If your modem is set to 38400, but you connect at 14400, hardware flow control is essential.) See your modem documentation for the proper commands. UARTS: Functional 16550 UARTs are highly suggested for DOOM/Heretic play. You may be able to play without them, but the game will be slow and choppy. What is a 16550 UART? A UART (Universal Asyncronous Transmitter/Receiver) is the chip on your computer that allows it to send information to your modem. For internal modems, it is built into the modem itself; for externals, it is either on your motherboard, or an add-on com board. Prior to Pentiums, I have never seen a computer with a 16550 UART built in, so you will most likely have to buy an add-on card to get one. These cards are fairly inexpensive ($25-$40 for 2 16550 com ports, game port and parallel port.) The difference between these and normal UARTs is that instead of having one place for data to be sent or received, they have 16 byte buffers for each. This allows communications programs to send 16 bytes at a time instead of one, and receive up to 16 bytes at a time. DOOM runs in protected mode; communications are done from "real" mode. Protected mode allows a program to use extended memory, but does not normally allow direct access to hardware. In order to communicate via modem, DOOM must switch to real mode, and then back to protected mode. Switching between modes (task switching) takes a fair amount of CPU time. Functional 16550 UARTs allows a program to cut these task switches by a factor of 2 to 16 and improves communications speed and reliability which improves game smoothness. Software Compatibility We have found that many TSRs and drivers are either not compatible with the DOOM engine, or make the game run much slower. Disk caching software, especially with write caching, will almost always cause a problem. DOOM V1.2 often crashed when we had a cache running, where V1.5B seems to run fine, but much slower. The DOOM engine also requires a large amount of extended memory in order to operate, and will hang if that memory is not available. Caches consume that memory and are likely to cause the game to hang. Additionally, the more players in a game, the more memory required. If three players that can each play a 2-way game successfully have problems in a 3-way game, the problem is almost certainly insufficient memory on one of the systems, although, flow control can also come into play here due to the increased data volume. Total system memory is not the only concern here. The DOOM engine requires a good bit of conventional memory for network or modem play also. You would be wise to unload as many TSRs and drivers as possible. DOOM may refuse to load if there is not enough memory, or it may load fine, but hang or play slowly if it conflicts with a TSR, or doesn't have enough memory for operation after loading. For the best performance, we suggest a clean boot with nothing loaded other than a mouse driver. FAQ (Frequently Asked Questions) We have had very few reported problems that were not covered in the following Q&A. If you have a problem running DOOM or Heretic with SIRDOOM, knowing how your setup reacts in each of the following areas before seeking assistance will greatly increase the odds of someone being able to help you. Q. No players respond to the host when Alt-S is pressed. All players besides the host stay in teleconference. A. Be certain that the channel moderator selected DOOM Mode (or HERETIC mode if you are playing Heretic) and typed START. This is a very low volume point in the communications, so hardware and software capabilities are not usually an issue. For some reason, the other players are not receiving the communications from the host. Either the game mode is wrong, the channel is not in game mode, the host's system is not sending, or the data is being lost or corrupted before it gets from the host to the BBS. In this case, the host player needs to go through the 'nitty gritty' section below to determine the problem with his/her setup. If the host is able to talk with the other players in teleconference, then his/her system is indeed capable of transmitting, but is not able to do so at high speed, or during game mode. Another possible cause of this problem is that the host does not have a functional 16550 UART, but forced fifos on in the configuration file. Q. Some of the players besides the host entered the game when Alt-S was pressed, but one or more remained in teleconference. A. The players that are not entering the game are having communications problems. This problem may be due to a hardware or configuration problem with a couple of channels on the BBS, but is more than likely due to a problem on the affected systems. The data is being sent to them, but their system is either not receiving it, or it is being corrupted before SIRDOOM gets a look at it. If these players were not having problems in the teleconference, then their systems are apparently able to send and receive data, but only as fast as a person types. Higher speed communications are failing. The affected players should go through the 'nitty gritty' section to determine their problem. Q. Non-host players get to "Listening for network startup..." and go no further, and host player gets to "Sending startup info..." and stops. No one gets beyond this to a black screen or the game opening screen. A. First, be patient. Until the slowest system has initialized its refresh daemon, no one can begin the game. If you can confirm that everyone in the game was at these prompts (i.e. not still initializing), then the host player has a high speed communications problem or a software conflict. The host was able to communicate with everyone enough to get them out of the teleconference, assign player numbers, and send the initialization data from DOOM/Heretic. Also, the game had sufficient memory to load and at least do the initial communications. If the host is able to ESC back to teleconference (you may have to hit ESC several times), then his/her system is unable to handle high speed communications. Make sure your modem is configured to use hardware flow control, and that you have a complete serial cable if the modem is external (some serial cables sacrifice the flow control lines in order to get by with fewer wires.) Q. Players get to black screen, but stay there. A. Again, be patient. A slow machine or noisy connection may be taking longer to initialize, or communicate with the other players. If waiting fails, one or more of the players involved is not able to communicate, does not have enough memory for the game to run, or has an incompatibility problem. Refer to the hardware and software considerations section for details. Q. Game is playable, but very slow and choppy. A. There are many possibilities here. Our primary testing was done on a BBS that was running nothing but Game Connection, and all players had 486 computers with quality modems and UARTs. Since then, we have had reports of success with 20-30 simultaneous DOOM/Heretic players on a BBS that was anything but a dedicated game server. Sysops, make sure you have 16550 UARTs. You may wish to run COMTEST on your serial ports to test their functionality. Your system polling rate and loading are also an issue here. If your polling rate is too high, you have too many modems for your computer to handle, or for some other reason your system is overloaded, it will not be able to efficiently transport the data, and can cause the game to play poorly. Players, you can probably assume that the BBS is working properly unless you are helping the sysop with initial setup. If any one of the players has a slow computer, a bad connection, or a non-16550 UART, they will slow the game for everyone. Have everyone reduce their screen size to a minimum (by pressing '-' on the keyboard), and see if the game smoothness improves. If so, a slow computer or video card is your problem. Data compression can cause choppiness and should be disabled if not needed (See the Data Rates section for details). Also, if you cannot get a smooth game with error correction on, you may want to try turning it off. Your modem is much better at error correction than the game is, but with some modems, error correction will make the game choppy. If there is a noticable improvement, leave error correction off. If there is not, you will should leave it on to overcome even small amounts of line noise, and to keep your game from aborting due to consistency failure errors. You can tell a lot by watching the TxD and RxD lights on an external modem. For proper play, both lights should flicker with a constant intensity. If your TxD light is going dark occasionally, and then very bright, your modem is sending in bursts, which will cause the game to be choppy. This can be caused by data compression, line noise, error correction (with some modems) or a low quality modem/com board. If your RxD light is doing this, then someone else in the game or the BBS is causing the choppiness. See the 'Down to the Nitty Gritty' section for possible solutions. Q. Game freezes while playing. A. I've known DOOM to occasionally freeze mid-game for no apparent reason. If this happens consistently near the beginning of the game, then you may wish to look at the JUMP option for SIRDOOM.CFG. Otherwise, write it off as a quirk of the game and start over. NOTE: If any player hangs up or loses carrier without exiting the game properly, everyone else in the game will hang. The only solution to this is to find the guy that dropped out and either permenantly disable his call waiting, or give him an attitude adjustment. I am experimenting with some changes that may convince the game that the player exited properly, but for now, the game will simply hang. Down to the Nitty Gritty If you cannot successfully play a smooth game of DOOM/Heretic, then you will need to do some controlled tests to find the source of your problems. Unfortunately, due to the high demands of these games, the solution may be anywhere from "disable your cache" to "you need a better computer." The first thing to keep in mind is that DOOM, DOOM II, and Heretic are very playable modem-to-modem. Game Connection has been extensively tested with multiple simultaneous 4-player games, and can easily rival IPX play for two players and will even exceed the smoothness and responsiveness of LAN play when three or four players are involved. For those who have not successfully played DOOM/Heretic via Game Connection, or who are not happy with the response, you should do all initial testing with a single opponent that has been successful. Since the weakest player will dictate the game response, it is not wise to make your first attempt with more than two players, or against another untested system. Playing with someone who has been successful eliminates their hardware, software, and configurations from the possible problems, and will allow you to determine the source much more easily. Also, until you know what the problem is, you should always clean boot. (You can do this by holding F5 after a reboot for DOS V6+.) Do not load ANY TSRs or device drivers that are not essential for the operation of your computer. This should remove driver conflicts and insufficient memory problems (if you have enough memory installed) from the list of possible causes. OK, the first step is to test your system for overall DOOM/Heretic compatibility by running the game solo. This will confirm your sound card, video, and general hardware compatibility with the DOOM graphics engine. If you cannot get the game to play in solo mode, you will need to contact Id Software's tech support. Then, try playing a modem-to-modem or serial game using the default drivers. You can do this either through Game Connection, using Distributed Mode, or by calling a friend directly. The communications engine requires more memory (both conventional and extended), tests your computer's ability to quickly switch from protected mode to real mode and back, and is much more demanding in the way of system horse power. If you cannot get this to work, you will again need to contact Id Software's tech support. Next, call the system you will be playing on with your normal terminal program (e.g. Telix, ProComm, etc.), using the same modem init string you are using in SIRDOOM (if you have error correction disabled, you will probably want to re-enable it for this test), and attempt a Ymodem-g file upload and download. If either of these fail, you have either a hardware or a configuration problem (or the BBS does). Resolving this problem may be as simple as adding a command to your modem init string to turn on error correction or hardware flow control, or it may require a new modem cable or serial port board, or it could be a problem with your hardware itself. Until you can do these file transfers, you have no need to go further, because YOU WILL NOT BE ABLE TO PLAY DOOM OR HERETIC. Next, run SIRDOOM and call the BBS you will be playing on. If you cannot get to game mode (where all players are advised to enter Ctrl-Z's to exit) then your problem is most likely a configuration error in SIRDOOM.CFG (baud rate, com port, etc.). This part of SIRDOOM is a very simple terminal program that should present no problems. If you enter game mode successfully, but do not get to the point where all players have been accounted for and the host is asked to hit ENTER to start the game, again, it is most likely due to a configuration error. The only time we have ever seen this is when fifos were forced on via SIRDOOM.CFG when they did not exist. Most problems will show up after DOOM/Heretic is launched. The first thing you will see is a header from the game announcing the version, etc, followed by several lines of text informing you of the progress of the connection (Heretic uses a couple of boxes here). Before the game attempts to use VGA, extended memory, or communications, it will go through numerous steps, including initializing the refreash daemon, checking for a mouse, checking for a GUS, etc. If you do not make it to "Sending network startup..." for the host player or "Listening for network startup..." for others, then you most likely have a software conflict with the game, and should not have made it to this point. All I can suggest is to see if you failed to remove all unneeded TSRs and drivers. If the game hangs at "Sending network startup..." for the host and "Listening for network startup..." for the non-host player, ESC out and have the non-host player host the game. If it hangs at the same point, then neither player is capable of switching to protected mode or using VGA graphics. This should not happen if all steps have been followed, but in the event that you were unable to locate someone who had successfully played, you may wish to ask around to find someone. The blind rarely succeed at leading the blind. More likely, it will get to a black screen for one or both of the players. If only one players screen goes black, then communications are working to this point, but one of the players is hanging when the game attempts to go to protected mode or use VGA graphics. The culprit is the one that does not make it to the black screen. That player probably has insufficient memory for the game to load, but it may also be caused by a conflict with a driver or TSR, or a communications problem. If either player has an external modem, they can check the RxD and TxD lights to see if they are both flickering away. If they are not, then the system is most likely hung, and will have to be rebooted. Try to free up some more memory or remove a few more TSRs. If both lights are flickering, then the system is apparently not able to handle high speed communications to any degree. The best thing to do here is to go over your init string thoroughly, or try different modems, serial port cards and serial cables. You must have skipped the Ymodem-g test. If the game gets to a black screen both ways, then the problem is almost certainly a communications problem on one of the systems. The game has successfully loaded on both machines, but the data is not getting passed between them once it kicks into high gear. If one machine is known to work, then the other player must look into hardware considerations. Again, there is no sense in continuing if the Ymodem-g test failed, so you shouldn't have made it this far. Now we get into the tough part. Most people will be able to successfully enter the game; not being able to do so is a pretty good indication that all steps were not followed. Your problems should now be limited to either choppiness or freezes while playing the game. Let me tackle the more serious problem of freezes first: Every instance we have experienced where the game consistently freezes mid-game has been due to inadequate communications hardware. First, try it several times to make sure it is consistent (If not, your problem may be the BBS you are playing on or just one of DOOM's quirks.) If you do not have a 16550 UART, get one before continuing your quest. It would be a shame to continue searching when the solution is so easy and inexpensive. It appears that some modems, or modem configurations, can cause freezes, also. If you can, borrow a different brand of modem from someone to see if that solves your problems. Some modems are not uniform in quality and cannot be depended upon. We have had problem reports for almost every brand of modem priced under $200. One brand that never seems to present a problem is ZyXEL. You may wish to try the JUMP command in SIRDOOM.CFG. That may solve your freezes, but it will almost guarantee that the game will be choppy. If this works, then something on your system is keeping interrupts disabled too long, which is usually due to the system being too slow, or your UART is not maintaining interrupts long enough. You might want to try a different com board if you have an external modem. Game choppiness is the most common problem, and has the widest array of causes of any problem encountered. The easiest problem to overcome is video speed. If both players reduce their window size to a minimun (by pressing '-'), this can be removed from consideration, or shown to be the culprit. If the game plays well at this point, you have shown the problem to lie in the rate at which your system updates the video screens. You will need to play with a smaller screen or get a faster computer and/or video card (local bus video adapters with VGA accelerators are best). If you are playing with a version of DOOM less than V1.666, then you should not work too hard on reducing choppiness until you get a newer version. V1.2 sends almost twice as much data as the other versions, which can cause a slow game. You should be able to locate the patch to upgrade this to V1.666 fairly easily. V1.6B is unstable, and sometimes plays choppy in solo mode. We have not seen any such problems with V1.666, DOOM II, or Heretic. Try disabling your error correction and calling back. Hang around for a while on the system to see if you are experiencing any line noise. If your problem is a noisy line, you will not be able to play a smooth game until the noise clears up or you call a system where you do not see line noise. If you do not see line noise, go ahead and attempt a game. In some cases, error correction itself can cause the game to be sluggish. If that does the trick, then you will either have to put up with the choppiness, leave error correction disabled, or get a higher quality modem. Again, I want to warn you that leaving error correction disabled may cause the game to abort if line noise does occur. If you are unsure of the response of the BBS you are playing on, try playing on our support system (307-237-2112). This system is guaranteed to have the latest version of Game Connection, and is not bogged down by other users or inefficient modules. This will cost you a long distance phone call, but will remove all BBS software and hardware from the possible problems. If this solves your problems, then you will need to speak to your sysop about possible alternatives. If not, try turning off error correction again to see if your connection to our system is suffering from line noise. If so, you may want to download the list of systems running Game Connection from our GAMES library and try a couple of others. If there is no line noise, then we are back to hunting. Assuming all steps have been faithfully followed, we have isolated the problem to a single system's communications; yours. I would imagine that about 20% of the people that were having problems are still having problems at this point. Solutions are wearing pretty thin. We are now certain that your opponent is able to play DOOM or Heretic successfully. We have eliminated the BBS, UARTs, flow control (high speed Ymodem-g uploads will fail if you do not have proper flow control), video speed and general incompatibilities. Modem configuration is a key point now. Watch your TxD light carefully while you play. If it is occasionally going dark, and then bright, as opposed to flickering at a constant intensity, your modem may still be using data compression, or it may be doing a poor job of error correction, or you may be suffering from line noise. Be very certain that you have data compression disabled, experiment with disabling error correction, and try calling at different times to try to avoid line noise. Without constant, steady communications, these games will be choppy. This is truely the nitty gritty point, as you appear to have a modem or com board that is not up to par. Be absolutely certain that you have followed all steps, and that you have nothing loaded by CONFIG.SYS or AUTOECEC.BAT other than possibly a mouse driver. It would be a shame to dig into hardware because you skipped a step. You should also be certain that you do not have an interrupt conflict on your modem. In some cases, such a conflict may go unnoticed until put to a vigorous test. You may want to try switching your modem to a different com address. You are now left with trying different hardware. This can be an expensive proposition unless you have a friend that will allow you to swap temporarily. Trying your modem on a computer that has been successful at playing a smooth game of DOOM or Heretic may eliminate or prove your modem as the source of the problem. Alternatively, you could try a modem (and serial cable if external) on your computer that is known to work. If your modem is found to be the problem, I'm not surprised. DOOM's comminications engine is so demanding that a modem otherwise fully functional can be detrimental. The only modems that I have 100% faith in is ZyXEL. I'm sorry to keep harping on this, as I know they are expensive, but this is the only company I know of that has not sold out by opting for the low cost chip sets that are priced as such due to low QA. With the others, you may buy one that works wonderfully, and the next doesn't. In short, you really do get what you pay for in modems. Defective or malfunctioning com boards can also be a consideration. It is fairly inexpensive to get a new com board with 16550s, so you may want to try this first if you do not have the ability to easily swap modems. If you have made it this far and are still having problems, you may want to try Empire Deluxe. You've removed all TSR's and drivers from memory, gotten the latest version of the game, called long distance to play a game, and changed your com board, serial cables and modem. Go back to the beginning and try one more time, as the only remaining solution is to try a different computer. I should make one comment here: no one that we know of has made it to this point. In most cases, freezes are due to software or hardware conflicts, or insufficient memory, and choppiness is due to a slow computer or video card, non-16550 UARTs, improperly configured modems or occasionally a low quality modem. If you have followed each step to the letter and have not resolved your problem, you may wish to persue other games supported by Game Connection. DOOM is but one of the supported games and is by far the most demanding. Data Rates I will attempt to summarize the data rates presented by DOOM and Heretic in this section based on the number of players. For the best possible game, you should select the configuration with the highest data volume supported by your connection (without data compression if possible). All suggested values are for maximum throughput without compression where possible. The EXTRA option smooths the game play, so it should be used where possible, and when it doesn't require data compression. Keep in mind that this option causes a large increase in data volume, so you should discontinue its use if your three or four player games play worse than two player games with the same opponents. DOOM V1.2 V1.2 does not support TICDUP, so the only variables are the number of players and the EXTRA option. Two players can play without data compression at 9600 and EXTRA can be used without compression at 14.4K. Three players can safely play at 14.4K without compression if the EXTRA option is not used. For four players, data compression must be used, and EXTRA should not be used. DOOM V1.5B V1.5B does not support TICDUP. Two or three players can play at 9600 with or without the EXTRA option, and no need for data compression. For four players, the EXTRA option should not be used for 9600 but should work for 14.4K. DOOM V1.6B, DOOM V1.666, DOOM II, and Heretic With V1.6B and above, the EXTRA option can be used for all 9600 or better two way games, and should be safe for three way games. For four players, it may work, but is pushing the available bandwidth, so TICDUP should be used to compensate. TICDUP can be set from 1 (default) to 5. The higher the value, the less effect a communications problem will have on your game, but you may also lose movement and aiming accuracy. Feel free to experiment with this option to see if you can get a better game. While it doesn't correct any problems, it can make the effects of existing problems less noticable, and can be used to reduce the data volume so that EXTRA can be used. For 2400 bps play, you will always need to use the TICDUP option. For two players, set this option to 2 or higher. Set it to at least 3 or 4 for three players, and 5 will just work for four players. 2400 bps play will always be choppy. If you have additional question, please direct them to your sysop, or post them in the MajorNet Game Connection Users forum if your system carries it. We will be happy to field all questions from your sysops and add any common problems to this list. DOOM, DOOM II, Heretic, Telix, ProComm, Toyota, and The Major BBS are all trademarks of their respective owners. SIRDOOM and Game Connection are trademarks of Sirius Software, Inc.