home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
DP Tool Club 19
/
CD_ASCQ_19_010295.iso
/
vrac
/
sirdv198.zip
/
SIRDOOM.DOC
< prev
next >
Wrap
Text File
|
1994-10-09
|
33KB
|
721 lines
SIRDOOM
A DOOM Loader
for
Game Connection
Copyright (c) 1994 by Sirius Software, Inc.
Finally, you can play DOOM 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) and play DOOM 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 loader that not only allows you to play up to
four way DOOM, but also allows you to play without the need for
expensive modems and difficult modem configuration. Also, it 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 and V1.6B. It will also support DOOM
II when released without modification.
Although SIRDOOM makes DOOM 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.
We are working on a configuration utility, but for the time being, you
will need to configure SIRDOOM yourself. To do this, create a file
called SIRDOOM.CFG (or start with the example provided). This file is
a simple text file that you can edit to change your SIRDOOM
configuration. The following options are available:
General Options
* BAUD: <baud rate>
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: <input/output buffer size>
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: <dial command prefix string>
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: <modem init string>
When you type Alt-I, SIRDOOM will send this string to your
modem to initialize it.
Unlike most terminal programs, SIRDOOM will not automatically
initialize your modem when you enter to allow easy entry and
exit while leaving the connection active.
HANGUP: <modem hangup string>
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: <game interrupt override>
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: <default BBS phone number>
This is the default number to dial when you enter Alt-D.
When the configuration utility is finished, you will have a
dialing directory, but for now, enter the BBS number with
this option. You will be allowed to override this value when
dialing.
PORT: <com 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 by specifying the hex address of the port that you want
to use. 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: <interrupt number>
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 specify the port
address in the port option for it to take effect. If the
port option is not used, or com 1-4 is specified, the default
interrupt vector for the com port selected will be used.
Example:
PORT: 2F8
IRQ: 5
This would configure SIRDOOM to use the standard COM2
address, but instead of IRQ 3, it would use IRQ 5.
FLOW: <ON or OFF>
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 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
9600, lock your modem at 9600 before calling.)
FIFOS: <ON or OFF>
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 automatically detects the presence of hardware fifos.
ARGS: <argument list>
These are the command line arguments for DOOM. Unless you
host the game, any selections you make for skill level,
episode, 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.
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.
PATH: <doom 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.
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: <argument list>
These are the command line arguments for DOOM. The main
options are:
-skill <skill level>
Game difficulty from 1 to 5.
-episode <episode number>
Game episode (for registered owners) from 1 to 3.
-deathmatch
Non-cooperative play.
You will need to consult the DOOM 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. (See the discussion on baud
rates and data volume below).
TICDUP: <tick duplication factor>
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.
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 this configuration file is built, using SIRDOOM is as easy as
using Telix or ProComm. Type SIRDOOM to enter terminal mode, and then
Alt-I if you want to initialize your modem. Use Alt-D to dial a Major
BBS system, and join a Game Connection multi-player channel. You must
use DOOM mode with SIRDOOM, so the system you call must have the
multi-player version of Game Connection V1.40 or higher. 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 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 is 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 requires 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.
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 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 even
slightly detrimental.
You will need to enable hardware (RTS/CTS) flow control for V1.2 of
DOOM via your modem init string. It is always suggested to use
hardware flow control, but is not essential for V1.5B or higher.
UARTS:
Functional 16550 UARTs are still needed with SIRDOOM. You may be able
to play without them, but the game will be slow and choppy.
What is a 16550 UART?
A 16550 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 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 space 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
DOOM, or make the game much slower. Disk caching software, especially
with write caching, will almost always cause a problem. V1.2 often
crashed when we had a cache running, where V1.5B seems to run fine, but
much slower. DOOM 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.
You would also 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 hang
or play slowly if it conflicts with a TSR. For the best performance,
we suggest a clean boot with nothing loaded other than a mouse driver.
FAQ (Frequently Asked Questions)
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 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. See the
next problem, also.
Q. We were in game mode, but some or all of the players did not
automatically enter the game when Alt-S was pressed by the host.
A. Make sure that DOOM mode was selected. If DOOM mode is not used,
SIRDOOM cannot communicate properly.
Q. Non-host players get to "Listening for network startup..." and go
no further, or host player gets to "Sending startup info..." and
stops.
A. For the host player, be patient. Until all players are finished
initializing, no one can fully enter the game. Other than that,
someone is most likely losing communications or the host has fallen
out of the game. Hit ESC several times to return to teleconference
mode and try again.
If problems persist, one or more of the players either doesn't have
the proper hardware, is not configured properly, or has some
incompatibility with DOOM. See the hardware and software
considerations section for more details.
Q. Players get to black screen, but stay there.
A. Again, be patient. A slow machine may be taking longer to
initialize. If waiting fails, one or more of the players involved
is not able to communicate or has an incompatibility problem.
Again, 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 Major BBS that was running nothing but Game Connection, and all
players had 486 computers with quality modems and UARTs. If the BBS
exhibits delays, this will affect game play. Also, 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).
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, or a low quality modem/com board. If your RxD light is doing
this, then someone else in the game is causing the choppiness. See
the 'Down to the Nitty Gritty' section for possible solutions.
Q. Game freezes while playing.
A. A long delay (e.g. 1-2 seconds) from the BBS can cause massive
resends. This will cause all systems to freeze until they recover
from the delay. If they do not recover within several seconds, they
will probably never recover; you will have to exit and start again.
Down to the Nitty Gritty
If you cannot successfully play a game of DOOM, then you will need to
do some controlled tests to find the source of your problems.
Unfortunately, due to the high demands of DOOM, 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 is very playable
modem-to-modem. Game Connection has been extensively tested with
multiple 4-player DOOM 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 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. 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.
The first step is to test your system for overall DOOM compatibility by
running DOOM solo. This will confirm your sound card, video, and
general hardware compatibility with DOOM
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 is launched. The first thing you
will see is a DOOM header announcing the version of the game, etc,
followed by several lines of text informing you of the progress of the
connection. 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 have a low level conflict with the game, and should not have made
it to this point.
If the game hangs at "Listening for network startup...", ESC out and
have the other player host the game. If it hangs at the same point,
then neither player is capable of switching to protected mode and using
VGA graphics. This should not happen if all steps have been followed.
More likely, it will get to a black screen for at least one of the
players when one person starts the game, and hang at "Listening..." if
the other player hosts. The player that causes the hang at
"Listening..." is the culprit in this case. If all steps have been
followed, either SIRDOOM is consuming enough memory that DOOM cannot
load on this machine, or it is not capable of handling the high speed
communications required by DOOM. If memory is the problem, a clean
boot (hold F5 for DOS 6+) should solve the problem. Otherwise, the
problems can be caused by non-16550 UARTs on a slow machine,
non-functional fifos on 16550 UARTs, or a conflict with a TSR or
driver.
If the game gets to a black screen both ways, then the problem is
almost certainly a communications problem on one of the systems. DOOM
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.
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.) 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.
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. If the game
plays well at this point, you have shown the problem to lie in the rate
at which your system updates VGA 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). You may also want to
look up V1.5B of DOOM. This version is by far the most stable and
presents a low enough data volume to eliminate many of the possible
problems. V1.2 is stable, but has a much higher data volume, so flow
control is an issue. V1.6B is undependable. The game is often choppy
in solo mode and should not be used in testing if choppiness is what
you are trying to avoid. For the time being, DOOM II should be
treated as V1.6B, as I am certain they use the same engine and
communications. If choppiness persists, then we are back to
communications problems.
You can put your hardware to the acid test by trying a Ymodem-g upload
at high speed. Failure of this test can point to many problems, but
each is sure to cause problems with DOOM play. Improper flow control,
non-16550 UARTs, or data loss on the BBS can each factor into this
problem. You should resolve this problem before going further in
attempts to play DOOM, as it is much more vigorous than Ymodem-g.
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 of having 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, then we are back to hunting. Assuming all steps have been
faithfully followed, we have isolated the problem to a single system's
communications.
I would imagine that about 20% of the people 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 successfully.
We have eliminated the BBS, UARTs, flow control (two player games don't
require flow control), video speed and general incompatibilities.
Modem configuration is a key point now. Watch your TxD light
carefully. 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 you may be suffering from line noise. Be
very certain that you have data compression disabled, and try calling
at different times to try to avoid line noise. Without constant,
steady communications, DOOM 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 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 is a good test. That may eliminate or prove your modem as
the source of the problem. Alternatively, you could try a modem (and
serial cable if external) that is known to work on your system. If
your modem is found to be the problem, I'm not surprised. DOOM 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 data
pumps that are priced as such due to low QA. 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 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, downloaded DOOM V1.5B, called long distance, 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 the BBS
being overloaded, a slow computer, non-16550 UARTs 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 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.
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. EXTRA can be
used without compression at 14.4K. Three players can safely play at
14.4K without compression. For four players, data compression must be
used, and EXTRA should not be used.
DOOM V1.5B
V1.5 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 will work for 14.4K.
DOOM V1.6B+
With V1.6 and above, the EXTRA option should probably be used for all
games other than 2400 bps play. CPS rates are always within the
bandwidth of a 9600 bps or better modem.
TICDUP should be left alone unless play is choppy. V1.6 is unstable
and can sometimes be choppy even in solo mode. TICDUP will usually
smooth this out, but can also make movement accuracy suffer. TICDUP
can be set from 1 (default) to 5.
For 2400 bps play, you will need to use the TICDUP option. For two
players, set this option to 2. Set it to 3 or 4 for three players,
and 5 will just allow four players. 2400 bps play will always be
choppy, although it should be affect less by the performance of the BBS
you are playing on than high speed play.
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. This is a new product, and I'm certain that more questions
and problems will arise, esp. due to hardware and software
incompatibilities or conflicts. We will be happy to field all
questions from your sysops and add any common problems to this list.
DOOM, Telix, ProComm, and The Major BBS are all trademarks of their
respective owners.
SIRDOOM and Game Connection are trademarks of Sirius Software, Inc.