DMSERDRV - Replacement Serial Driver for DOOM 1.2 ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ (c) 1994, Simply Silly Software About is DMSERDRV ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ When ID Software shipped DOOM 1.2, many people looked forward to playing 2 player's via serial. We had heard about network users playing multi-player and we were jealous. Unfortunately, when the MODEM patch finally shipped, most player found it hard to configure and or use. The reason, SERSETUP was ID's programmer's first attempt at creating a serial driver; and it was not bad. Most of the problems resulted from not having the right modem INIT string. DMSERDRV, was created to not only attempt to solve several of the small bugs in the original SERSETUP code, but to also add upon it. DMSERDRV is capable of supporting baud rates from 9600 to 115.2k (included 16.8k). It fixes several of the slowdown bugs, and expands on the MODEM.CFG file. But most importantly, it is 100% compatible with the original SERSETUP. COPYRIGHT AND WARRANTEE NOTICE ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ The name DMSERDRV is (c) 1994, Simply Silly Software, but the actual program has been released in to the public domain. All we ask, is you distribute it without any modifications. The source code to DMSERDRV is available, but only if you request it from us. See the section titled "Contacting Simply Silly Software" for more information. There is no warrantee, either expressed or implied. We have done our best to test DMSERDRV, but hey, bugs do occur. If you have a problem, or find a bug, then please contact us. SYSTEM REQUIREMENTS ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ DMSERDRV has the same requirements as SERSETUP, except it requires 65k of memory to run instead of 45k. It has been optimized for size, and compiled with for the 80386 instruction set for power. INSTALLING DMSERDRV ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ If you are going to use DMSERDRV with either ID's SETUP.EXE or a second party shell (such as MoDoom or Doom/Master 1.0) other than Doom/Master 2.0, then you will need to replace SERSETUP.EXE with DMSERDRV. First, copy DMSERDRV in to your DOOM 1.2 directory. Next, rename SERSETUP.EXE to SERSETUP.$$$ (ie: at the DOS prompt, type "REN SERSETUP.EXE SERSETUP.$$$"). Finally, rename DMSERDRV.EXE to SERSETUP.EXE (ie: at the DOS prompt, type "REN DMSERDRV.EXE SERSETUP.EXE"). If you are going to use DMSERDRV with Simply Silly Software's DOOM/MASTER 2.0, then simply copy DMSERDRV.EXE in to your Doom directory, and in DM, select Use DMSERDRV from the configuration menu. DMSERDRV Command Line Switches ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ DMSERDRV was designed to be 100% compatible with SERSETUP, from both the command line, and in MODEM.CFG! But there have been some additional command line parameters added. Here is a full listing of DMSERDRV's parameters, and what they do. -h : displays an online help screen -com : Tell DMSERDRV which com port to use. can be any value from 1-4. ex: -com2 -baud : Selects the baud rate to communicate at. Can be any value between 9600 and 115200. NOTE: It does not check to see if the baud rate is valid. -null : Sets DMSERDRV up for a game via a null-serial cable. It sets the baud rate automatically to 115200 and bypasses the dial or answer screens. -dial : Dial a phone # and attempt to connect and play DOOM. -answer : Wait for the phone to ring, then attempt to connect and play DOOM. DMSERDRV Command Line Switches cont. ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ The following switches, are used to help get DMSERDRV to work with strange modems or serial ports. -uart : Selects the UART port address to use. It must be entered in HEX, and be proceeded with a "0x", ie: 0x3F8. -irq : Which irq to use. -vector : What interrupt vector do you wish to use to communicate with DOOM. It also must be entered in HEX like - uart. -sendwait : When this command is added, DMSERDRV will wait for xx milliseconds between each character when sending a modem command. This fixes the problem with several modems. -cmdwait : If you use the cmdwait command, DMSERDRV will wait for xx milliseconds after sending the entire modem command. -nofifo : Forces DMSERDRV in to 8250 mode even if a 16550 exists. -extratics : Used to help slower modems All command line parameters, will override anything in the MODEM.CFG. MODEM.CFG ÄÄÄÄÄÄÄÄÄ When we updated the serial routines, we also expanded on the modem configuration file MODEM.CFG! But, in order to keep DMSERDRV 100% compatible with SERSETUP, the first 2 lines of MODEM.CFG remain the same. So, the first line, is your modem INIT string, and the second line is the modem HANGUP string. We have added a third line. This only, hold the modem DIAL string. The original SERSETUP forced you to use TONE dialing, now you can select it. After the first 3 lines, you can add other DMSERDRV parameters. They take the form "command=value". Here is a complete listing... comport= : Use COMx (-com) baud= : Switch to bps (-baud) uart= : Use a different UART port (-uart) irq= : Use a different IRQ isr (-irq) vector= : INT to talk to DOOM (-vector) sendwait= : Pause sending char (-sendwait) cmdwait= : Pause after sending (-cmdwait) nofifo=1 : Make 16550's act liek 8250's Notice how all of the options in the MODEM.CFG have a command line switch. This allows you to override your MODEM.CFG at run time. For a better description of what the option does, refer to the section "DMSERDRV Command Line Switches." Exiting DMSERDRV ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ From anywhere in DMSERDRV, if you press the key, you will exit back to dos, hanging up the phone, and closing down the serial port. DMSERDRV, DOOM, and Modems ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ DOOM, is a picky program when it comes to how you setup your modem. This is because of the way DOOM sends information via modem (or serial). Every time your screen is refreshed, a data packet is sent out. If you have any extra features of your modem turned on, it will slow DOOM down to a crawl. This is why the following 3 things MUST (I REPEAT MUST) be turned off. Flow Control (also called handshaking), Error- Correction protocol, and Compression. IF YOU DO NOT TURN THESE OFF, neither DMSERDRV or SERSETUP will work. Refer to your manual on how to turn them off. So other important things we found out while testing DMSERDRV. First, Doom plays poorly when hooked from a 486dx2-66 to a 386-dx40. Also, if you do not have a high speed 16550 UART chip, then you may not want to use 115200 bps when playing via null-serial. It will lose characters on many machines. What is Simply Silly Software ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ Simply Silly Software, is a small shareware company consisting of 2 people. We are dedicated to creating add-ons, trainers, cheats, and utilities for popular games and may even produce a game or two ourselves. Contacting Simply Silly Software ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ The best way to contact SIMPLY SILLY SOFTWARE, is to send us EMAIL at SILLYSFT@AOL.COM! You can also phone us at (914)336-4735 from 10:00am to 7:00pm est. But we would prefer email. Coming Soon from Simply Silly Software ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ Doom/Master 2.0 - avail now - DM 2.0 is the best DOOM shell out there. It supports both SERSETUP and DMSERDRV, has a built in terminal, phone book, random Episode/map, and network support. You can also configure not only the modem, but all of the features of doom such as SoundCard, input device, etc. It is the perfect replacement for SETUP.EXE. registration fee: $5.00 Lands of Lord CD trainer - due April - This is a mega trainer to Virgin's Lands of Lore CD. It includes the ability to edit characters online, includes stats, equipment, and spells. Many added functions like no-clipping, god mode, etc. registration fee: $5.00 Ultima 8 Pagan Character Editor - avail now - A character editor for Ultima 8, Pagan. registration fee: $5.00 And coming Spring/Summer of 94, pcGAMEGOD - The ultimate cheat machine - supports simply codes that can be traded in magazines via BBS, or Email. - also included MEGA-MODULES that include online character editors, and super trainers. - the ability to view DOS text files without leaving the game. - a BOSS key - A full screen, mouse driven interface that working inside the game. Special Thanks, and credits ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ DMSERDRV is a modified version of SERSETUP by ID software. It was modified by Joseph M. Wilcox. I would like to thank the following people who help test various version, or help with sections of code I did not understand. Andy, Rob, Lou, Cliff, Mike-D for help testing. To Sean and John at ID software for putting up with my questions. And many thanks to RUSSEL GILBERT (author for SER4) for the help on the serial routines. And of course, Holly, for putting up with me for the past 2 weeks.