SER5.EXE DOOM SERIAL DEVICE DRIVER NEW FEATURES: - "Talk" feature is now SPLIT screen...no more overwriting each other :) - Dos Shell - Directory Listing and File Flagging - Displaying WadFile Map Directories. - Configure Option almost completly rewritten. - Autowarping for Pwads - Configuration file now called SER5.CFG (instead of modem.cfg) New Items to the CFG file: * DOOMEXE= To specify the Doom EXE to run if not 'doom'. * DOOMVER1_2= To tell SER5 not to use response files when calling doom. * DIRECTORY= To set the default location of Pwad files. * WADNAME= If you play one Pwad all of the time, you can specify it here. * NODROPDTR= To tell SER5 not to drop DTR when exiting SER5. * ALTDEATH= To enable the DeathMatch 2.0 (altdeath) feature. * ALTBAUD= For a secondary Baud rate, selectable at runtime. * ALTBAUDINIT= For a third init string, to be used with ALTBAUD. - ZMODEM File Transfers: To send files while in SER5. ******PLEASE READ SER5.HLP, IT CONTAINS IMPORTANT NOTES****** FEATURES: (As retained from SER4) - Baud rates: 9600, 14400, 19200, 38400, 57600, 115200. - Uses 'extratics=1' (whatever it is) which removes delays on some machines. - All 'mod' operations removed which fixes slowdowns after 2 minutes. - Many functions optimized to speed up communication. - Compiled with several speed optimizations plus 80386 instructions instead of 8088/8086. - 'Talk' feature -- type msgs to your partner to debug com port setup, or to decide on game features. - 'Configure' option allows game settings to be modified after connecting. - Port stays connected after game ends, allowing settings to be re-configured and a new game started. - Extensive statistics available at end of each game. - Episode AND map settings to allow warping to another level. - Lots of msgs printed during startup to help with debugging. - 'Phonebook' list of names and numbers in modem.cfg, allowing dial-by-name. - Two modem init strings in modem.cfg. - Modem init strings sent slower - some modems had problems if sent too fast. - All command-line arguments moved to modem.cfg file. INSTALLATION: - Change to your DOOM directory and unzip SER5.ZIP. - Make a subdirectory named "TRANSFER" directly below your DOOM directory. - Move DSZ0529X.ZIP to the TRANSFER directory and unzip it there. - Read SER5.HLP for information regarding the new .CFG file switches and for important information about the File Transfer option. - Edit SER5.CFG to change computer/port settings(see help at bottom of file) - Run "SER5" WITHOUT arguments. NEW NOTES: - Any parameter can be passed on to Doom by using the DEVPARM string in either the SER5.CFG file or the Configure feature at runtime, whether it requires -devparm or not. See the list of other parameters in the Doom FAQ which is included in the latest version of Doom, and on the ftp sites. The Doom FAQ is currently DMFAQ58.TXT by Hank Leukart . - For the problem of saving a game, and then getting different player numbers (colors) when re-loading... Use the PLAYER= line in SER5.CFG to force each player number to either 0 or 1. Note that this number is zero-based, while the Doom startup screen is 1-based (1 or 2), and that this is inconsistent because of Id's original SERSETUP code. We decided to keep it this way to avoid (further) confusion. Also, note that Id's original suggestion of using player number 1 on the slower computer refers to the number in the SER5.CFG file, not the doom startup screen. - About 3- and 4-player games... The answer is, yes, it is possible, but not with SER5, or any other code based off of SERSETUP.EXE. There is a program called RMSSETUP on the ftp sites that's supposed to allow more than 2 players using serial com ports, and is based off of IPXSETUP.EXE, which is the network code. It has to use the net code because data packets need to be sent to a particular player, rather than just the "other player" as in the serial code. RMSSETUP is currently RMS255B.ZIP by Antony Suter , please ask him, not us :-) NOTES: (As retained from SER4) - Yes, this means id's setup.exe won't work with ser4. But that's ok, because ser4 has far surpassed setup, so you don't need it anyway. I tried making it use the modem.cfg file, plus command-line args, plus being able to re-configure at run-time, and the amount of code was becoming enormous. I decided that a 63K executable was pushing it already, and the extra prompting in ser4 probably removes the need for setup anyway. Settings for the computer/port should only need to be done occasionally, so they're in the modem.cfg file. Game settings are configurable on the fly. - I removed the code that reset the port back to 9600 at shutdown, in case you want to check it with a 'portinfo' type of program afterwards. - A couple of people suggested a way of having one side send the game settings to the other computer. Because of code space, I decided to leave that complicated feature out. The 'Talk' and 'Configure' features should take care of it. TROUBLESHOOTING: - For modem connections: - Use the correct init strings! Turn off compression and error correction. Also fix the baud rate at the desired speed. There have been several cases of modems working at 9600, but not at 14400. If this happens to you, check the init string again. - Be aware that some modems won't process anything after ATZ -- use the second init string for other commands, or better yet, use AT&F instead. - 8250 UARTs do not support 115200 baud. - You also might try using a separate communications program set to N81 to make the original connection and to test the link, then exit without hanging up and start SER5 with "Connected already". - For a list of Modem Init Strings, please see the list that comes with the latest version of Doom, or the latest Doom FAQ. - For null modem connections: - Use a null modem cable (well, I had to say that). - Select "Connected already". - Try 9600 baud. Slow computers may not be able to handle the higher rates. - Use the "Talk" feature to send characters back and forth to check the line. If they're not coming across clearly, something's wrong -- check IRQs and base addresses for conflicts with other ports or devices. Try changing to another port, or disabling/removing the sound card, mouse, etc. to check for a conflict. Also try using a diagnostic program such as Microsoft's MSD.EXE which comes with the later versions of DOS. - On 8250 UARTs, expect overrun errors, especially with higher baud rates. The 8250 (=16450) UARTs only have a one byte send/receive buffer, so it will occasionally overwrite a byte if it doesn't get read fast enough. If this happens, you'll probably notice it as a slight delay while playing, and it'll be reported as a UART Overrun Error in the stats. However, you should be able to play just fine with any combination of 8250's and/or 16550's. - With a 66 Mhz machine using a 16550 UART, I've seen "Read Bytes Per Interrupt" around 3 to 3.5, and "Write Bytes Per Interrupt" around 7 to 8. With a 66 Mhz machine using an 8250 UART, both numbers are usually 0.9. - Still won't work??? Well, I've run out of suggestions. If you *do* get it working, post your success story to the net to help someone else. SOURCE CODE: - Full source code is available in SER5_SRC.ZIP (see below). - SER5, SER4 and Id's original SERSETUP were all compiled using Borland's C/C++ Compiler with a .PRJ project file (included in the source), which contains the compile and link settings used. We've also included a .MAK makefile in case you'd like to use that instead. WHERE TO GET IT: - SER5.ZIP and SER5_SRC.ZIP are available by anonymous FTP from the usual doom sites, including (as of Sep. 1, 1994): - wuarchive.wustl.edu /pub/MSDOS_UPLOADS/games/doomstuff/... - infant2.sphs.indiana.edu /pub/doom/... - and infant2's current /pub/doom mirrors: ftp.cdrom.com /pub/doom California ftp.iglou.com /doom Kentucky ftp.orst.edu /pub/gaming/doom (weekly) Oregon nctuccca.edu.tw /PC/games/DOOM Taiwan ftp.luth.se /pub/msdos/games/doom Sweden ftp.uni-erlangen.de /pub/pc/msdos/games/ID/doom-stuff Germany (Check the 'incoming' directories also in case it hasn't been moved yet.) - We're also posting SER5.ZIP to alt.binaries.doom, but only once. Please try the FTP BY MAIL option below if you miss it and don't have ftp access. FTP BY MAIL: - If you don't have FTP access, try the FTP mail server. Send mail to: ftpmail@decwrl.dec.com with the following as the msg: reply connect binary chdir uuencode chunksize 49000 (Use this if on CompuServe. Default is 64000 bytes) get The file will then be uuencoded and mailed to you in chunks. Put the mail msgs in order into one file and uudecode it to create the requested file. To get a directory listing, use the command "dir ". To have a full help file mailed to you, use the command "help". THANKS: - Many Thanks to Id Software for releasing the original SERSETUP source, and making an incredible game. (Without Doom, we'd have no reason to spend weeks working on this code) - To the progrmamers of DEU.....whose nicely documented source code helped me track down some discrepencies in Borland C++'s documentation. - To Jeff Baker: A good friend who helped me catch my errors and for letting me use his computers with a NULL modem. - To Brian Plumb : Helped me with Beta Testing and gave me a few ideas. - This program uses a lot of ideas from the following sources: - Many late nights of trying to be creative. - Several people from "alt.games.doom" on the internet. - Other SERSETUP-hack programs. HISTORY: - 03/19/94 - SER4 released by Russell Gilbert. - 09/09/94 - SER5 released. The new user interface was programmed by Paul Hermann and debugged by Paul Hermann and Russell Gilbert. COPYRIGHT INFORMATION: - Doom and Doom ][ are copyrighted by Id Software. - Pkzip is copyrighted by PKWARE Inc. - DSZ is copyrighted by Omen Technologies Inc. The DSZ archive distributed with SER5 MUST be distributed in its original form. - SER5 is based on the SERSETUP source code provided by Id Software. SER5 is Freeware and may be distributed any way that you wish, provided that the archive is distributed in its original form. Note: Although SER5 is freeware, donations will be freely accepted. Feel free to contact us through our E-mail address if you are interested in making a donation. DISCLAIMERS: - Id Software will not provide support for SER5, so don't ask them. - Although it should never happen... the authors of SER5 will not be held liable for any loss of data or damage to hardware that may be caused by using SER5. Good luck, we hope it works for you... Paul Hermann (hermann@vision.poly-eng.uakron.edu) Russell Gilbert (NEW ADDRESS---> b804683@csc1.ftw.bnr.com)