----------------------------------- Readme file for RMSSetup 2.4.9 BETA ----------------------------------- 16th May 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.4.9 BETA. -- Files. RMSSETUP.EXE is the program and is 2.4.9 BETA. README.TXT 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, preferably the same version. Having 16550A serial chips is a definite 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. -node eg. "-node 1 3" for node 1 out of 3. is the node number from 1 to 4. 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. The non player nodes are drones that can also view left or right perspective. -line1 -line2 eg. "-line1 2" for COM2. is the port number from 1 to 4. Sorry no support for non standard IRQs or port addresses _yet_. At least one of -line1 or -line2 is needed. Each port must have a different IRQ, ie. use ports 1&2 or 1&4 or 2&3 or 3&4. The port is opened with a speed of 9600. One line is needed for each machine on the end of the chain. Two lines are needed for each machine within the chain. -speed1 -speed2 eg. "-speed 19200" is the new speed. Current speeds allowed are 4800 (argh!), 7200, 9600, 14400, 19200, 23040, 28800, 38400, 57600, 115200. 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 ... Supported as for standard DooM multiplayer drivers. -- Testing so far. The driver has greatly improved since the first beta release 2.2.4. It now works without any serial lockups. 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. 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. 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. RMSSetup is written with the overall view that all playing machines are physically present in the one (or two!) rooms. RMSSetup uses TX and RX buffers of 4096. Does not use MSR or LSR interrupts. Data at each existing stage is not overwritten by new data unlike existing ring buffer implementations. 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. RMSSetup will be changed so that adding more direct serial lines between machines using whatever spare ports are availiable will speed up operation. This will relieve some burden on some machines but will not increase the burden of any. Options will be added to allow use of non standard port addresses and IRQ numbers all the way to IRQ 15. 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!). -- 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... RMSSetup is free, but by all means send me international cheques in Australian dollars (AUD) for any amount you choose! 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@minyos.xx.rmit.edu.au] Snail: 167 York Rd Mt Evelyn, 3796 Victoria AUSTRALIA -- This readme file will self destruct in 5 seconds...