=================     ===============     ===============   ========  ========
\\ . . . . . . .\\   //. . . . . . .\\   //. . . . . . .\\  \\. . .\\// . . //
||. . ._____. . .|| ||. . ._____. . .|| ||. . ._____. . .|| || . . .\/ . . .||
|| . .||   ||. . || || . .||   ||. . || || . .||   ||. . || ||. . . . . . . ||
||. . ||   || . .|| ||. . ||   || . .|| ||. . ||   || . .|| || . | . . . . .||
|| . .||   ||. _-|| ||-_ .||   ||. . || || . .||   ||. _-|| ||-_.|\ . . . . ||
||. . ||   ||-'  || ||  `-||   || . .|| ||. . ||   ||-'  || ||  `|\_ . .|. .||
|| . _||   ||    || ||    ||   ||_ . || || . _||   ||    || ||   |\ `-_/| . ||
||_-' ||  .|/    || ||    \|.  || `-_|| ||_-' ||  .|/    || ||   | \  / |-_.||
||    ||_-'      || ||      `-_||    || ||    ||_-'      || ||   | \  / |  `||
||    `'         || ||         `'    || ||    `'         || ||   | \  / |   ||
||            .===' `===.         .==='.`===.         .===' /==. |  \/  |   ||
||         .=='   \_|-_ `===. .==='   _|_   `===. .===' _-|/   `==  \/  |   ||
||      .=='    _-'    `-_  `='    _-'   `-_    `='  _-'   `-_  /|  \/  |   ||
||   .=='    _-'          `-__\._-'         `-_./__-'         `' |. /|  |   ||
||.=='    _-'                                                     `' |  /==.||
=='    _-'         I  P  X   N  E  T  W  O  R  K   F  A  Q            \/   `==
\   _-'                                                                `-_   /
 `''                                                                      ``'
                       Release v1.00 - Jun 08, 1994 EST
               Written by: Josh Jackson (joshjackson@delphi.com)
            "DOOM: Where hackers gnaw the bones left from the banquet
                 of data prepared by the mighty wizards of id."
                       - The Unofficial DOOM Specs v1.3 -
           "The poets talk about love, but what I talk about is DOOM,
                  because in the end, DOOM is all that counts."
            - Alex Machine/George Stark/Stephen King, _The Dark Half_
-----------------------------------------------------------------------------

----------------
ACKNOWLEDGEMENTS
----------------

   Thanks Id for such a KICK ASS game!!  DOOM is a registered trademark of Id 
   Software.
   Hank Leukart for the "OFFICIAL" DOOM FAQ. (And the cool header!)
   Matt Fell for the Unofficial DOOM Specs v1.3
   
References are made to the following programs, here is a list of the authors:

   DEU 5.21         : Raphael Quintet,
                      Brendon J Wyber
   DUE 5.21 GCC port: Per Allansson,
                      Per Kofod
   IDBSP10          : Ron Rossbach
   BSP11X, BSP11TC  : Collin Reed
   BSP11W           : Collin Reed, Alex Korobka
   VNB1050          : Robert Fenske, Jr.
   DOOM, IPXSETUP   : The Mighty Wizards of ID

--------
CONTENTS
--------

=SECTION ONE=  Introduction
      [1-1] What is an IPX NETWORK?
      [1-2] Distribution of this FAQ
      [1-3] Disclaimer

=SECTION TWO=  Setting up an IPX NETWORK for DOOM
      [2-1] Required Hardware
            [2-1-1] The LAN cards
            [2-1-2] The interconnecting cables/T's/Terminators
      [2-2] Required Software
      [2-3] Purchasing your equipment
      [2-4] Connecting the computers

=SECTION THREE= Playing the game
      [3-1] IPXSETUP.EXE
      [3-2] Trouble Shooting
      [3-3] Speeding up your game play (Notes for level builders)
      [3-4] Recommended add on software
            [3-4-1] IPXFER
            [3-4-2] DFE
            [3-4-3] IPXSETUP 1.1

------------------------------------------------------------------------------
SECTION *1*:  Introduction
------------------------------------------------------------------------------

[1-1]: What is an IPX NETWORK?

   The term IPX (Internetwork Packet Exchange protocol) simply represents
an industry standard, developed by XEROX, for communicating between computers
in a Local Area Network (LAN), Mainframe, or the two computers that you have 
sitting around your house.

   In order to implement this you will need all of the required hardware 
(detailed later), software, and the know how.  Hopefully this FAQ will detail
most of this information so that you can be up and running in 2, 3, or 4 
player games soon.

[1-2]: Distribution of the FAQ

   This FAQ is intended for anyone and everyone that wants more information
or is having trouble setting up an IPX based network for DOOM.  I would 
appreciate it if no modified copies of the FAQ other those I release in the
future be distributed in any form.

NOTE: If you feel any of the information in this FAQ to be incorrect please
send me EMAIL or contact me in person to let me know.  I will make a prompt
adjustment and re-release it.

[1-3]: DISCLAIMER

   The author accepts no responsibility for any damage whether it be hardware,
software, or mental caused by the use of the information contained in this
FAQ.  All the information presented here is, to the best of my knowledge,
technically correct.

NOTE:  I am not a certified network technician.  All of the information in
       this FAQ was obtained through personal experience.  I have been working
       with IPX based networks (mostly Novell) for the last five years and
       have become quite familiar with both their inner and outer workings.
       Therefor I do not claim that all of the information contained in this
       document to be free of error, but it is working for me, so I hope it
       works for you!

------------------------------------------------------------------------------
SECTION *2*:  Setting up an IPX Network for DOOM
------------------------------------------------------------------------------

[2-1] Required Hardware

   Contrary to popular belief, you do NOT need a full blown LAN to operate
IPX network DOOM.  Since you simply need the LAN cards and you IPX drivers,
you can set up a network for DOOM for around $10,000 less than a server 
based local area network.

   [2-1-1] The LAN cards

      The first piece of equipment you will need to set up you DOOM network
   is a set of LAN cards.  Whether they be Ethernet, ARCNET, or some other
   off the wall type, they just need to be able to talk to one another.  My
   personal system is set up an a series of NE2000 compatible Ethernet cards.
   Most all of my discussion will be based around NE2000 compatibles, since I
   have had no trouble whatsoever with these cards. (Plus they are very fast
   and inexpensive). When purchasing your LAN cards, it is recommended that 
   you purchase cards that support CO-AX cable hookups.  CO-AX is cheaper, 
   easier to obtain and a better medium for network communications than 
   twisted pair.

   [2-1-2] The interconnecting cables/T's/Terminators

      Next is your cable hookups.  The cable that I am using is standard
      RG-58 CO-AX cable.  This cable is inexpensive and VERY easy to obtain.
      In order to hook your cables to the LAN cards, you will NEED a set of
      BNC style T connectors. 

      >>>NOTICE<<<
         YOU CAN NOT HOOK TWO CARDS DIRECTLY TOGETHER WITH THE CABLES AND
         HAVE IT WORK!!!  YOU WILL NEED A SET OF Ts AND TERMINATORS.  THE
         TERMINATORS ARE EXPLAINED IN THE NEXT PARAGRAPH.

      Finally, you will need a set of 50ohm terminators.  These terminators
      are crucial to your network's operation.  If you are not sure what I
      mean by terminators, I will include a description of them and how to
      build your own in the next section.  Whether you are connecting 2, 3,
      or 4 computers, you will need exactly 2 terminators.

[2-2] Purchasing your equipment

   Purchasing all of this equipment is not as tricky or as expensive as you
might think.  The LAN cards can be obtained either through me, the Computer
Shopper, or at most Computer shows.  The rest of the equipment is available
at your local Radio Shack store.

   If you would like to order LAN cards, you may do so through me (Jackson
   Software) by contacting me at the following:

      internet: joshjackson@delphi.com
      Snail   : Joshua Jackson
                Jackson Software
                10506 Bayard Rd.
                Minerva, OH  44657
      Phone   : (216) 868-1169

   For those of you wishing to setup a DOOM network, I am currently offering
   you a deal that you won't find anywhere else;  I am selling NE2000 compat.
   Ethernet cards to anyone who wants them at my cost (wholesale) plus
   shipping charges.  Both software and hardware configured cards are
   available starting at around $40.

   The cabling and all of its accessories can be obtained pre-made through
   me, or if you are a do-it-yourselfer, at you local Radio Shack.

   If your cards do not already come with a BNC T connector on the back, the
   Radio Shack Part# and current price is:

      278-112  BNC T-Adapter   $3.19 ea
      (You will need one per network card)

   Next is the terminators.  The parts to make one of these from radio shack
   are the following:

      278-251  BNC male to F female   $1.99 ea
      (One per terminator - you will need two of them)
      (BTW: F style is the same as used for cable TV connectors)      

      271-1311 5pack of 100ohm Resistors $.49 ea
      (You will need two resistors per terminator and two terminators per
       network)

   Building the Terminator:

      Take two 100 ohm resistors and twist the end leads together so that
      the resistors are in parallel (this will give you 50ohms)

      here is a poor rendition of a text diagram

           -----------[100]------------
   leads    `twist,         `twist,        leads
           -----------[100]------------

      once you have your 50 ohm resistor, you will need to insert one of the
      twisted ends into the small hole on the F style end of the BNC to F
      style adapter.  The other end you will simply wrap around the threaded
      outer casing of the adapter.  To secure the resistors in place, you can
      use tape, but I recommend either heat shrink tubing (Radio Shack Part
      Number: 278-1627) or better yet Liquid Plastic (available at most
      hardware stores).

      Your terminator is now complete, on to the cables.  As mentioned
      earlier, the cable you will need is standard RG-58 cable.  The Radio
      Shack part number and price are:

         278-1314  RG-58 Co-AX   $.20 per foot.

      The ends for the cables are:

         278-103  $2.99 ea.
         (You will need two per cable)

      Building your cables:

         first, I recommend that you either get some practice stripping CO-AX
         or you buy yourself a set of CO-AX strippers.  This is not the 
         easiest thing in the world to do!

         1. Cut the cables to the desired length (Plus a couple of inches if
            you have never attempted to strip CO-AX before)
         2. Strip the CO-AX to the below specifications:

             _________
             _________}}}=------
                 |     | |  |
                 |     | |  `---> Inner solid copper wire  9/16"
                 |     | `------> Dielectric (White plastic) 1/32"
                 |     `--------> Shielding (Braided wire) 1/18" - 3/16"
                 `--------------> Outer casing

         3. Twist the BNC end onto the stripped cable, making sure that the
            inner wire fits into the VERY small hole up inside the center
            of the connector.

         4. Get excited, you are almost there!  On to the next section.

[2-3] Required Software

   The required software that will be needed to play your game as far as your
LAN card is concerned will come as three files:
                                              
         LSL.COM
         <A vendor specific driver>  (Mine is NE2000.COM)
         IPXODI.COM

   Please do note:  I have received several calls regarding an file called
IPX.COM that comes with a lot of the LAN cards out there.  From my experience,
DOOM does NOT like these drivers unless you are attached to a fully server
based LAN.  This file IPX.COM, integrates all of the three above drivers
into one itsy bitsy little file.  If anyone out there has gotten DOOM to
run with MORE than 2 player while using this file and you are NOT on a full
Local Area Network, please write or call and let me know exactly what you
did you make this configuration functional.

This is purely speculation, but I believe that the IPX.COM file is geared
toward a server based network and is not designed for peer to peer
communication with the lack of some form of packet routing service available
(such as a hub or router in a LAN).

The final piece of required software is of course IPXSETUP.EXE.  This file
is supplied with DOOM v1.2 or above.  To get two player game going with
no special options simply type:

   IPXSETUP  

on both computers.  If you wish for more than two players in a network game,
you will have to specify the -NODES parameter when starting IPXSETUP.

   eg:    IPXSETUP -NODES 3

would start a three player game.  A maximum of four players van be specified
for a network game of DOOM.

[2-4] Connecting the computers

   Now the the grand finale- Putting it all together.

   1. Install the LAN cards in an available slot in your computer.  Refer to
      the instruction manual provided with the card if you are unsure as how
      to go about doing this.  If you still have trouble, call your 8 year
      old son/daughter into the room and have them do it! :)

   2. Connect the BNC T connectors to the back of all the cards.

   3. The two end computers (or both in a two player network) should have
      one of their BNC T ends capped off with the BNC terminators that we
      made earlier >> AGAIN I STRESS- THIS IS CRITICAL FOR PROPER NETWORK
      OPERATION!!! <<

   4. Connect the remaining BNC T ends with the cables that we made earlier.


   Another poorly designed diagram:

      < or >   indicates a terminator
      T        indicated a BNC T
      ===      indicates the cabling


     <T===============T==============T===============T>
   -----------     -----------    -----------      -----------
   Computer #1     Computer #2    Computer #3      Computer #4


   5. GO FOR IT!!!!

------------------------------------------------------------------------------
SECTION *3*:  Playing the game
------------------------------------------------------------------------------

[3-2] Trouble Shooting

   The following section is a Questions and Answers section of commonly asked
questions (hence the name FAQ I guess)

   Q) Why can I only get two players working?
   A) #1 Make sure that you are specifying the -NODES parameter for IPXSETUP.
      #2 Make sure that all of the LAN cards that you are using speak the
         same language (Ethernet 802.3, etc)
      #3 Make sure all of your cabling is properly connected and there are no
         shorts in it. (Some LAN cards WILL use a shorted cable as a terminator
         hence causing you a lot of grief trying to figure out why the third
         computer is not being recognized)
      #4 This one is somewhat a mystery, but it does happen:
            I have received several calls regarding an file called
            IPX.COM that comes with a lot of the LAN cards out there.  From my 
            experience, DOOM does NOT like these drivers unless you are 
            attached to a fully server based LAN.  This file IPX.COM, 
            integrates all of the three above drivers mentioned in section 2-3 
            into one file.  If anyone out there has gotten DOOM to run with 
            MORE than 2 player while using this file and you are NOT on a full 
            Local Area Network, please write or call and let me know exactly 
            what you did you make this configuration functional.

    Q) Why can't I get any of the computers to talk to one another?
    A) #1 Make sure that all of the LAN cards that you are using speak the
          same language (Ethernet 802.3, etc)
       #2 Make sure that the end computers have the Terminators attached to
          the open ends of the BNC Ts!
       #3 Check your cables for a dead cable.

    Q) What is IPX NOT DETECTED?
    A) ummm, go figure!  (Load your drivers!)
          
    Q) Why does IPXSETUP give me an "OPEN SOCKET 0xFF" after I abort an
       IPXSETUP session?
    A) The original IPXSETUP.EXE has a bug in it.  It does not close the
       communication channel that it opens if you abort it.  The error 0xFF
       if generated by the IPX driver if you try to open an already open
       IPX socket (communications channel).

    Q) What can I do about "OPEN SOCKET 0xFF" short of rebooting the all of
       the computers?
    A) #1 Write a program that closes the open socket (yeah, right! :)
       #2 Obtain a copy of the IPXSETUP.EXE that I have modified and
          placed on Software Creations and the ftp site: infant2.sphs.indiana.
          edu  called IPXSTP11.ZIP  (located in the /pub/doom/multi_doom/net
          directory)  I have corrected the bug in the program so that it will
          close the open socket before terminating.  Other than this bug fix,
          IPXSETUP 1.1 is identical to the original IPXSETUP by ID  (I used
          their source and simply recompiled it)

     Q) Why is my network game play so slow?
     A) #1 The speed of you network is limited to the following:
           -The speed of the SLOWEST computer
           -The speed of you network cards
           -The number of active images on the level being played
        #2 You are using a PWAD file that was either poorly created or
           the PWAD file you are using was run through a poor NODES builder.

      
[3-3] Speeding up your game play (Notes for level builders)

   The speed of your network game play is based on several things.  The
most limiting factor in network game play is the speed of the slowest
computer.  For instance even if you have 3 Pentium/90s and only one 386sx/33
running on a network, game play will be reduced to a crawl!

Second is the speed of the LAN cards that you are using.  I do not recommend
that you use cheap 8bit cards, such as many of the ARCNET cards that you can
pick up at a local computer show for half the price of a good 16bit card!

Next, make sure that all of the cables and most importantly, the terminators
are properly connected and of the right values.  Excessive packet collisions
can result, hence slowing down you game play.

Finally, a note for level builders:

The following is from my personal experience.  If certain NODE builders are
used to compile the necessary BSP information in a PWAD file, it can very
seriously reduce the speed at which the game engine can generate images.

The following is my personal review as well as ratings and problems that I
encountered while developing my own PWAD levels:

NODE builders  (Best - Worst)

Name          Description/Problems
-------------------------------------------------------------------------
IDBSP10.EXE   A port of John Carmack's source for Id's NODE compiler.
              Absolutely AWESOME!  This is by far the best node builder
              that I have run across.  No problems to mention.
              This program was written for GCC therefor is 32bit DOS extended
              and does not have any memory problems

BSP11X,       An excellent series of NODE builders! Before the above
BSP11TC,      mentioned program can into existence, this was my node builder
BSP11W.EXE    of choice.  Problems:  does not calculate REJECT data therefor
              some games can be slowed down, especially if there are a lot of
              monsters lurking about.  Also, BSP11X and BSP11TC will run out
              of memory on large PWADs.  BSP11W works in both Windows and DOS,
              if you use it in DOS, you are limited to 640k, and for you 
              speed freaks out there like myself, you probably don't want to
              start up Windows just to compile your PWAD (unless you use a
              Windows WAD editor,  yech!)

VNB1050.EXE   Builds a glitch free set of nodes, but does so in such a fashion
              that they are not optimized for use with the DOOM game engine.
              This will seriously slow down game play.  If you have a faster
              computer, you may never notice this, but on a 386, you will most
              likely find that the games are a bit choppy when looking out 
              across large areas.

DEU's         Well, I LOVE the editor, but their node builder still needs a
              little bit of work.  In some complex areas, it will give you
              the Hall Of Mirrors effect.


Here is my personal setup for creating PWADs:

   DEU521GCC  The 32 bit extended port of DEU 5.21
   IDBSP10    For recompiling the NODES and other related BSP information


[3-4] Recommended add on software
      
      [3-4-1] IPXFER

         file: IPXFER10.ZIP

         I wrote this package of software for sending files back and forth
         across an IPX network.  I hate to brag, but I have received SEVERAL
         email messages about how useful this program is and have even had
         a few people wanting to register it (it's freeware, but if you want
         to send money for a registration fee, I'll gladly repay the favor in 
         DOOM related software that I have collected from MANY sources free of
         charge)

         IPXFER is currently at version 1.00 and is available on Software
         Creations BBS and at the ftp site: infant2.sphs.indiana.edu

         It is designed to eliminate the headache of flipping floppies when
         you are swapping PWADS (wow, what a tongue twister).  It will 
         transmit data at rates between 50k - 250k per sec, depending on the
         speed of the slowest computer and the speed at which your computer
         writes to the harddrive (a cache helps) It is also capable of 
         multiple file transfers (you can tell it to send *.*).

      [3-4-2] DFE

         file: DFE133.ZIP

         DFE stands for DOOM Front End.  If you have a copy that is below
         version 1.33, you should upgrade as soon a possible!  The lesser
         versions of this program were rather bug infested, sorry about that
         :(

         This program is basically like a menu system that allows you to
         choose what Episode/Level you want to play, Load an external PWAD,
         Select Number of player, and whether you want there to be No 
         Monsters.  It supports Single Player, Modem, Serial, and IPX network
         games.  It also has a built in Map/Sprite Viewer that will allow you
         to locate all of the Weapons/Monsters/Goodies on a level and view
         them.  The Map viewer can load external PWAD files and display their
         maps as well.

         This file is available at the same locations as IPXFER10.ZIP

      [3-4-3] IPXSETUP 1.1

         file: IPXSTP11.ZIP

         This program is a modified version of Id's IPXSETUP.EXE.  It has
         been modified to eliminate that annoying little tick "OPEN SOCKET
         0xFF" after you abort a Network game start up session (IPXSETUP).

         This program is 100% identical to Id's IPXSETUP other than the fact
         the this bug has been fixed.

         NOTE: If you download a copy of either IPXFER10.ZIP or DFE133.ZIP,
         the IPXSETUP 1.1 is included.

         This file is available at the same locations as IPXFER10.ZIP


      Software Creations BBS 14.4k Lines:

         (508) 368-7036
         (508) 368-4137


                                 Happy Hunting!

                                 Josh
                                 joshjackson@delphi.com
