home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
DoomWare Developers Network
/
DoomwareDevelopersNetworkCd-OccurrenceI1994cytechCodehouse3c66710c.iso
/
occurenc
/
other1
/
other
/
dmrmss.txt
< prev
next >
Wrap
Text File
|
1994-10-20
|
10KB
|
309 lines
-----------------------------------
Readme file for RMSSetup 2.5.5 BETA
-----------------------------------
23th June 1994
== Notice.
RMSSetup is copyright (c) 1994 by Antony Suter.
RMSSetup is free of charge and may be freely distributed.
RMSSetup was built with the help of source code supplied free non gratis
by ID Software for their serial and network drivers for DooM.
This software is written for a specific purpose, to play multiplayer DooM,
and contains no code to attempt to modify or otherwise cause harm to your
machine. I can not be held responsible for your machine seeming to break
by your using this software.
The principals used in this software could easily be modified for use with any
game or other software.
== Intro.
Greetings. This is a Beta release of a driver that will allow anywhere from
2 to 4 players playing DooM over serial lines. It has been proven to work
and now works well.
Current version of RMSSetup is 2.5.5 BETA.
== Files.
RMSSETUP.EXE is the program and is 2.5.5 BETA.
README.255 is this file.
== What does it do? (When would I use it?)
Allows 3 or 4 players (or 2) to play DooM by just using serial cables.
As noted, you can play with just 2 players using RMSSetup, however, I
recommend using the DooM serial device driver by David Nugent, currently at
version 1.2.6. Look for "BNUDM126.zip" at your nearest ftp site.
== What do you need?
You need a machine for each player, up to a maximum of four.
You also need a a minimum of a cable for each player except one. These cables
are standard NULL modem cables. Fully shielded and grounded cables are
preferable (to reliably use higher speeds).
Two machines need one serial port each, the remaining machines need two
serial ports each.
Each machine needs to use RMSSetup, currently of the same version.
Having 16550A serial chips is a definite and serious plus, they will be used
automatically.
== How do I set it up?
Chain the machines together with the two slowest machines at the end of the
chain.
eg. The first setup I ever tested with was:-
+------+ +------+ +------+
|386-40| <-----cable-----> |486-66| <-----cable-----> |486-40|
+------+ +------+ +------+
port 1 port 1 port 2 port 1
== RMSSetup command line options.
These are fairly simple at the moment. Note that a 16550A FIFO will be used
automatically and transmits 16 characters and receives 8 characters at a
time. Most parameters are currently fixed, eg. buffer size.
Note that RMSSETUP will pass through to DOOM all parameters that you put
on the command line.
-rmsnode <pn> <tp>
eg. "-rmsnode 1 3" for node 1 out of 3.
<pn> is the node number from 1 to 4.
<tp> is the total number of nodes from 2 to 4.
This parameter is needed. Each machine must be a different node
number to work properly. Each machine must have the same total number
of nodes to work properly.
4 is the current maximum number of nodes handled by RMSSETUP. DooM allows
for 8 nodes but only 4 players, as of DooM version 1.2.
-rmsline <port>
eg. "-rmsline 2" for COM2.
eg. "-rmsline 2 speed 19200" for COM2 with speed 19200.
eg. "-rmsline com2" for COM2.
eg. "-rmsline addr 0x678" for non standard port at address 0x678.
eg. "-rmsline addr 0x678 irq 15" for non standard port at address
0x678 with irq 15.
eg. "-rmsline addr 0x678 irq 15 speed 57600" for non standard port at
address 0x678 with irq 15 and speed 57600.
This parameter has changed a lot since the last release. There is now
support for nonstandard addresses and IRQ numbers.
- If <port> is a number from 1 to 4 it will open the standard com port
of that number.
- If <port> is a word from "com1" to "com4" it will open the standard
com port specified.
- If <port> is the keyword "addr" then the next parameter is the base
address of the com port in decimal (eg. "1000") or hex. (eg. "0x3E8").
- If the keyword "irq" is specified after the base address, then
the parameter after the keyword "irq" is the IRQ number(*) of the
com port in decimal (eg. "11") or hex. (eg. "0xB").
* The IRQ number may be anywhere from 0 to 15 (decimal).
- Otherwise if the keyword "irq" is not specified, the IRQ number
will be autodetected.
speed <bps>
- After the port is specified, the keyword "speed" may be specified.
The next parameter is the speed in bps to use. Current speeds
allowed are 9600, 14400, 19200, 23040, 28800, 38400, 57600, 115200.
- Otherwise if the keyword "speed" is not specified, a default speed
of 9600 will be used.
Notes:
* Each keyword in line configuration needs to be in order.
* Each port must have a different IRQ, ie. use ports 1&2 or 1&4 or 2&3
or 3&4 or nonstandard ports.
* One line is needed for each machine on the end of the chain.
Two lines are needed for each machine within the chain.
For multiple lines, use multiple "-rmsline" options.
* To get real results from DooM you need to up the speed of your lines.
Use the highest speed that gives you smooth operation.
* See section on "Testing so far".
-vector <vectn>
Supported as like standard DooM multiplayer drivers.
Has been modified to accept a vector number in decimal (eg. "100") or
hex. (eg. "0x64").
== Testing so far.
Some of the time, not all of the machines will start up, ie. initial RMSSetup
handshaking works fine but one DooM machine (node 1) doesn't get past "sending
network info?. This problem is being worked on. I have a line on this problem.
The vital sent-once-only startup packet is being lost in the rush to get
started. The temporary "fix" is to keep re-starting the machines until
successful. It has been statistically proven that yelling "WORK" a few times
at the crucial moment helps greatly. Also lowering the speeds can help.
After talking with the guys at ID, they say it is a DOOM 1.2 problem that
will be fixed in 1.4. Apparently the packet resend relies on the VGA scan
rate time and is incorrectly reported by some VGA BIOSes. They plan to use
the standard DOOM frame timer in 1.4.
The only config tested with so far is the one shown in "How do I set it up?"
It worked fine with both lines operating at 19200, but was slow and somewhat
jerky. We had great success with one line at 38400 and another line at 23040
and later at 28800. At these speeds play with three machines was smooth.
To work out the effective speed down the whole chain do this:-
-> Sum the inverses of each line speed, and then invert the sum.
ie. With two lines at 19200 our overall speed was:-
1 / (1 / 19200 + 1 / 19200) = 9600
With one line at 38400 and the other at 23040 our overall speed was:-
1 / (1 / 38400 + 1 / 23040) = 14400
With one line at 38400 and the other at 28800 our overall speed was:-
1 / (1 / 38400 + 1 / 28800) = 16457
With three lines at 38400 (for four machines) you would get:-
1 / (1 / 38400 + 1 / 38400 + 1 / 38400) = 12800
== Miscellaneous and technical notes.
This software is written for a specific purpose, to play multiplayer DooM,
and contains no code to attempt to modify or otherwise cause harm to your
machine. I can not be held responsible for your machine seeming to break
by your using this software.
There is no serial handshaking support, hardware or software. (The current
version might swallow XON/XOFF characters.)
There is no modem support, currently, but RMSSetup will not hangup DTR when
it exits so you could get it working by dialing with your favorite comms
program.
All input from technical and experienced types very welcome.
RMSSetup needs to packetise data and simulate a little network for proper
operation.
RMSSetup might write a file on exit called "RMSSETUP.DBG" with packet
statistics, and may or may not include a dump of the first 31K of serial
traffic.
== The to do list.
Add support for more direct serial lines between machines using whatever
spare ports are availiable to speed up operation. This will relieve some
burden on some machines but will not increase the burden of any.
Add support for reading config info from a file in addition to the
command line.
Change the packet format for RMSSETUP version 3.0.0 to reduce the number of
times the data is copied around to increase RMSSETUP throughput.
Add new Fudge(TM) technology to solve DOOM startup problems.
Add new Fudge2(TM) technology to reduce the number of redundant DOOM packets
traveling around.
I will probably increase the number of lines per machine from 2 to 3 or 4.
I will also probably write code to allow multiple lines to use the one IRQ.
This might not be very useful on an ISA or VESA machine, but a serial setup
on a PCI machine could use this (Viva la DooM on 100MHz Pentium and PCI bus
everything!).
== The changed list.
2.5.5
- New configuration options for nonstandard serial ports.
- Now compiling with Borland C 4.0 with full optimization.
- Wasn't going to be released but there were problems reported with
the current (2.4.9) zip file on infant2.
2.4.9
- Solved serial lockups.
2.2.4
- Ye original. Had serial lockups.
== What do I want?
Please send to me (by email please) all bug reports being as explicit as
possible about the faults that you find. I am aware of some but send yours
anyway - just dont resend it several days later because you think i'm not
listening to you. I might not respond to all email.
== What else do I want?
Send me a postcard (or postcard email)... RMSSetup is free, but by all
means send me international cheques in Australian dollars (AUD) for any
amount you choose (eg. AUD $30)!
I also want ID Software to modify DooM to use higher resolutions on SVGA
video cards. Perhaps use VESA modes or a few standard chipsets, maybe using
accelerators. (S3!)
== Who am I?
Antony Suter
Email:
antony@werple.apana.org.au
[s871780@yallara.cs.rmit.edu.au]
Snail:
167 York Rd
Mt Evelyn, 3796
Victoria
AUSTRALIA
== This readme file will self destruct in 5 seconds...