SGI DOOM FAQ

Version 1.17
January 7, 1995

This FAQ is available at http://www.cmpharm.ucsf.edu/~troyer/sgidoomfaq.html
Please note the new URL and change your links and hotlists accordingly. Sorry
for the inconvenience. Thank you

What's New: (Inventor flythroughs) (DOOM ][ patch available) (updated net
resources)

Table of Contents

     Information for SGI people
       1. What is DOOM?
       2. Where can I get DOOM for the SGI?
       3. I can't get in to the ftp site!
       4. Which SGI machines will run DOOM?
       5. Has it been ported to any other machines?
       6. How did you get to port it? Do you have the code?
       7. How do I get the other levels?
       8. How do I register?
       9. Does it work with DOOM ][?
      10. I need to ask id Software a question.
      11. It doesn't work!
            1. It says Error: Demo is from a different game version!
            2. It says Unexpected '(' on line 1!
            3. It crashes with a broken pipe!
            4. It gives an error about incompatible architecture!
            5. It gives an X error in X_CreateWindow!
            6. It runs for a while and just stops!
            7. It throws up a blank screen and won't start!
            8. It dumps core!
            9. It used to run fast but seems slower now!
           10. It only works on the smallest size!
           11. It only works on the smallest size!
           12. Net games won't work!
      12. The window is too small!
      13. I have an R3000 and it's too slow!
      14. Why can't I use the mouse?
      15. Can I change the keys?
      16. Can I run DOOM on one machine and display it on another?
      17. Can one SGI host multiple DOOM processes for a deathmatch?
      18. Can you play across the internet?
      19. Can you play SGI vs PC?
      20. Why is there no music?
      21. Can I change the sounds with a PWAD?
      22. What are the cheat codes? the secret doors?
      23. Where is DOOM information on the net?
      24. Are there DOOM utilities for unix?
     Information for PC people
       1. What is an SGI?
       2. Wow, it must scream then, huh?
       3. Does it look really cool?
       4. Any other differences?
     About this FAQ

    ------------------------------------------------------------------------


Information for SGI people

  1. What is DOOM?

     Basically, Doom is an 3D arcade game where you run around in a maze and
     kill things with shotguns and chainsaws. The 3D action is good enough to
     make some people nauseous. (If the animated gore wasn't enough.) There is
     a slim plot, if you care about those things. After you get tired of
     killing things, you can run it over the net and kill things together with
     your friends. After you get tired of that, you can kill your friends.

     DOOM was originally written for the PC. It was tremendously successful
     because 1. everybody was amazed you could do that on a PC; 2. a playable
     portion was available as shareware; 3. it was user-extensible; 4. you
     could play against other people; and 5. it was an extremely fun game. SGI
     loaned David Taylor of id Software an Indy and he ported it.

     Dave Taylor says in the README

          I did this for fun. It doesn't generate revenue. Please don't call or
          write us with bug reports. They cost us money. Thanks. Besides, the
          Indy has to go back, so the bugs can't be fixed.

          The design philosophy of this port was to get something working which
          was fun. It ain't no opus just because it runs on an SGI so don't get
          your hopes up.

  2. Where can I get DOOM for the SGI?

     From the README.sgi
          SGI will be releasing a prettier version of this (icons, standard
          Indizone install style, etc) on the next Indizone CD they master.
     Until then, you can get the SGI version via anonymous ftp from
     ftp://ftp.cdrom.com/pub/doom/id/SGI/sgixdoom.tar.gz. ftp.cdrom.com is
     currently the official DOOM ftp site. The old site
     infant2.sphs.indiana.edu is gone. The ftp sites are usually overloaded and
     refuse additional anonymous logins. Try at night.

     Unpack it in it's own directory. Read the README.sgi. There are two
     programs, sgixdoom and sndserver. The file doom1.wad is the data for the
     first episode.

  3. I can't get in to the ftp site!

     The ftp sites are overloaded. Try at night. See the DOOM information on
     the net below for ftp site mirrors.

  4. Which SGI machines will run DOOM?

     You must be running a version of Irix 5 (usually 5.2) to run DOOM. (uname
     -r tells you which IRIX you are using.) DOOM will run on both R3000 and
     R4000 machines. DOOM will not, and never will, run under IRIX 4.0.x. Time
     to upgrade your machine.

     DOOM will run on machines like a Personal Iris 4D/25 if it is running Irix
     5.2, although it will be slow. It will run on an Onyx or Challenge if you
     move or remove the sndserver program (those machines usually have no
     sound).

  5. Has it been ported to any other machines?

     finger help@idsoftware.com to find out available ports. There are Linux
     and Solaris ports.

  6. How did you get to port it? Do you have the code?

     John Troyer just makes up the FAQ. I had nothing to do with the port. Dave
     Taylor of id software did the port. Of course the code isn't available. Do
     you think they're crazy?

  7. How do I get the other levels?

     This is alluded to in the README.sgi, but not spelled out. You obviously
     need a registered version. Buy the DOS version of the DOOM (see below).
     You'll need version 1.666, which is out now, and a version of sgixdoom
     based on version 1.6 beta. The originally released version of sgixdoom was
     based on the never-released 1.5 DOS version. The 4 Aug 94 version of
     sgixdoom is based on 1.6. You must have this version (now at all sites) to
     play the registered game. sgixdoom prints the version number at startup.

     If you have a PC and an older DOS version of DOOM (1.2), you'll need to
     patch it. The official patch (dm1666rp.zip) is out and on the ftp sites.
     Be sure you use a clean, original, nonpatched 1.2, and follow the
     instructions. Be sure you have the latest version of sgixdoom.

     The registration magic is inside the new doom.wad file you'll get. The
     file is 11 Megs. You should be able to just transfer it over from your PC
     to your SGI and start playing. (If you ftp, remember to use binary mode.)

     When the DOOM executable sees the doom.wad file, it will automatically use
     it instead of the shareware doom1.wad file.

     Having the registered version also enables features like the -file
     argument to use the incredible variety of homemade "patch" wad (PWAD)
     files. When DOOM runs these wad files, it does so by first loading the
     registered wad file, and then "overloading" it with the additional
     components defined by the after-market wad files. PWAD files are available
     at the ftp sites.

  8. How do I register?

     It costs $40 to register DOOM. From the README
          To register the entire DOOM trilogy call 1-800-IDGAMES. If you live
          outside of the USA, or if you wish to purchase DOOM with a check or
          money order please refer to the text file, (ORDER.FRM) located in
          your DOOM directory.
     I don't have an ORDER.FRM, so go download a DOS shareware version to get
     one.

     The registered version comes on disks. You must have access to a networked
     PC to first construct the 11 Meg doom.wad file and then transfer it to
     your SGI.

  9. Does it work with DOOM ][?

     Not yet. It is based on version 1.6, not 1.666, and if you try it is
     missing some resources necessary for DOOM ][.

     Several people have leaked/pre-announced that there will be a sgixdoom
     v1.7a on the upcoming IndiZone2 CD that will be DOOM ][ compatible. I
     assume it will be available from archive sites at that point as well. No
     word yet on the release date.

     In the meantime, jim@accelr8.com (Jim Reiss) has a patch file that will
     allow your sgixdoom to play part of DOOM ][. It is available from
     ftp://ftp.cmpharm.ucsf.edu/pub/troyer/sgipatch.tar.Z

 10. I need to ask id Software a question.

     Please don't mail them bug reports or ask for help about the SGI verison.
     From finger help@idsoftware.com: Do not send us mail about this. We will
     delete it. From the README.sgi,
          I did this for fun. It doesn't generate revenue. Please don't call or
          write us with bug reports. They cost us money. Thanks. Besides, the
          Indy has to go back, so the bugs can't be fixed.

     That's why this FAQ exists. If the answer to your question is not here,
     post to comp.sys.sgi.apps or rec.games.doom.{announce, help, misc,
     playing, editing}. Then email me the answer so I can include it in this
     file. You can safely assume that no bugs will get fixed in the SGI
     version.

     If you want release information, finger help@idsoftware.com. If you must
     ask them a question about the DOS version, their email address is
     help@idsoftware.com. They know nothing about SGI's, so don't even bother
     if that's your question.

 11. It doesn't work!
       1. It says 'Error: Demo is from a different game version!'

          You are running the 1.5 beta version of sgixdoom with the 1.666
          registered doom.wad. The version information is printed when sgixdoom
          starts up. Download the 1.6 beta version of sgixdoom again from the
          ftp sites. You did pay for the registered wad, right?

          Alternatively, you've got the 1.6 sgixdoom version and you the 1.2
          registered wad. You need to upgrade the registered wad to 1.666 with
          the patch file dm1666rp.zip found at all the archive sites.

          A third possibility is that you have the 1.6 sgixdoom, the 1.666
          doom.wad, and you're running an old PWAD. Solution: quickly start the
          game before the demo begins.

       2. It says Unexpected '(' on line 1!

          You are probably running on a machine with Irix 4.0.5 (try uname -a
          to check if you aren't sure.) You need to be running Irix 5.2. There
          are no plans to support Irix 4.0.5.

       3. It crashes with a broken pipe!

          You probably don't have sound on your system. (A $180,000 computer
          with no sound? Go figure.) Move the sndserver somewhere out of your
          path and it'll work fine, just with no sound.

       4. It gives an error about incompatible architecture!

          The original version id Software released was compiled with the
          -mips2 flag, which meant that only R4000 machines could play it. A
          new version has been released that will work with R3000's; go get a
          new version off one of the ftp sites.

          (If you got the version before 5 Aug 94, sndserver was not recompiled
          and still won't work; go download it again.)

       5. It gives an X error in X_CreateWindow!

          Your Xserver is probably running in TrueColor mode. It should be
          running in PseudoColor mode. Check /var/X11/xdm/Xserver or use the
          command xdpyinfo to see. If it is, restart your Xserver in
          PseudoColor mode. (This logs you out.) Instructions from Kevin
          Luster, (kluster@goth.engr.sgi.com) and Travis Cobbs
          (tcobbs@sgi.com):

          goth 123% cat Xservers.8
          :0 secure /usr/bin/X11/X -bs -nobitscale -c -pseudomap 4sight -solidroot sgilightblue -cursorFG red -cursorBG white

          goth 124% cat Xservers.24
          :0 secure /usr/bin/X11/X -bs -c -cc 42 -class TrueColor -depth 24

          So when I want to start up in 8 bit mode I su and then do a
          cp /usr/lib/X11/xdm/Xservers.8 /usr/lib/X11/xdm/Xservers and then use
          the Vulcan Death Grip (<Ctrl><Shift><F12><KeyPad />,
          all pressed at once) to restart X.

          When I want to go back to 24 bit I copy over the Xservers.24 file and
          restart X again.


       6. It throws up a blank screen and won't start!
       7. It runs for a while and just stops!
       8. It dumps core!
       9. It used to run fast but seems slower now!
      10. It only works on the smallest size!
      11. Net games won't work!

          If DOOM runs for a while and won't run again, or if you notice other
          memory problems (like a huge Xsgi process), reboot your machine or
          restart your X server (using the Vulcan Death Grip described above).
          Sometimes memory is not recovered if you do not use the "Quit"
          command from within the game. Always quit using the "Quit Game" menu
          selection.

          Some people have also had similar problems because of their .doomrc
          file. Throwing it out and starting over again seems to solve the
          problem.

 12. The window is too small!

     Read the README.sgi file. Start the game with the -2, -3, or -4 flag set.
     Reports are that r3000 machines run ok with -2, low-end Indys can handle
     up to -3, most everything else can use -4 (pixel quadrupuling: full
     screen).

 13. I have a R3000 and it's too slow!

     Use only -2 to get a decent-sized screen, not -3 or -4. Use -turbo XXX
     (where XXX is a number 0-250) to help the jerkyness.

     You can also lie to your machine about your screen size. For 1280x1024
     screens, you tell IRIX you have a 1024x768 screen. The regular or -2
     screen is then big enough to be usable with no additional CPU cycles.
     Credit goes to Kevin P. Smith of SGI. This may only work with some
     graphics types. To make the screen 1024x768, do /usr/gfx/setmon IRIS3K To
     restore it afterwards, do /usr/gfx/setmon 72HZ

     For a truly twisted solution, Bill Lorton (blorton@crl.com) suggests
     running DOOM with a small window and using snoop to blow it up
     full-screen. (Use colormap mode to get the colors right; see the snoop man
     page for details.) [Snoop comes with the demos, I think. -jt]

 14. Why can't I use the mouse?

     Read the README.sgi. No mouse support on the SGI version. Use the arrow
     keys to move, ALT left/right arrow to sidle left/right, SHIFT arrow to
     run, CONTROL to fire, TAB to get the map, ESC to pop up the new game menu.

     (sgixdoom -grabmouse is a mouse-control experiment, but it's not
     playable.)

 15. Can I change the keys?

     Matthew T. Nelson <nelsonm@ctron.com> remapped his doom keys based on the
     old game Lode Runner:

     i - forward (key_up)
     k - backward (key_down)
     j - turn left (key_left)
     l - turn right (key_right)
     u - strafe left (key_strafeleft)
     o - strafe right (key_straferight)


     You can do it too by editing the following entries in your .doomrc file:

     key_right               108
     key_left                106
     key_up                  105
     key_down                107
     key_strafeleft          117
     key_straferight         111
     key_fire                157
     key_use                  32
     key_strafe              184
     key_speed               182


     The numbers are the ascii decimal values of the (lowercase) letters you
     want to use. Fire, Strafe, and Speed work as advertised with the new
     keymappings.

 16. Can I run DOOM on one machine and display it on another?

     Yes, but it's slow. Try is small size (no -2, -3, or -4). Warning: the
     console of the originating machine will thunder with gunfire and screams!
     (This caused some embarrassment in our office.)

     To get a larger screen at no CPU/network cost, see how to use setmon
     above.

     Patrick Tufts (zippy@cs.brandeis.edu) writes:
          With a 1Mbit/sec local network, I can get a reasonable game going
          with a small screen (i.e., don't use -2, -3, or -4, and go to options
          and scale down the screen further).

     DOOM needs to throw a huge amount of pixels to the screen using X, not GL.
     To do this, it uses a shared memory extension to X. (DOOM shares a portion
     of memory with your Xserver so all those pixels don't have to be copied
     between processes.) If the Xserver is on a different machine, it obviously
     can't do this, and it's slow.

 17. Can one SGI host multiple DOOM processes for a deathmatch?

     Not as far as we know right now. Both because of the speed (see the above
     question), and because the networking code refuses to talk to itself on
     the same machine.

 18. Can you play across the internet?

     Yes. I just played a cross-continental 100ms-lag game that was jerky but
     very playable.

 19. Can you play SGI vs PC?

     No. So far, nobody's figured out how. Dan Hilebrand (danh@qnx.com) says:
          Actually, I just browsed the source and discovered that raw C structs
          are being passed back and forth, with machine-natural byte order.
          This means that QNX DOOM and Linux DOOM will talk to each other, but
          not to SGI DOOM.

 20. Why is there no music?

     The simple answer is that although SGIs have speakers, they have no
     samples or synthesizers built in, unlike PC sound cards which do. A
     detailed explanation from Gunner Wunner
     (wunner@nova.tat.physik.uni-tuebingen.de):

     Well, the music IS in the WAD, but there's another problem: most PC
     soundcards generate music using the Yamaha OPL-3 chip. This is nothing
     more than a little synthesizer chip. On other soundcards, General-MIDI is
     used. This means, that there are WaveTable chips on the soundcard, i.e.,
     ROMs with a bunch of samples. In either case, the PC just has to send the
     "playdata" to the soundcard (which sample is played at what pitch), but
     NOT the samples! The only exception I have ever seen are a few graphics &
     sound demos for PCs which send the music as one large stream of sample
     data to the soundcard (just like with MOD files, see the tracker.tar.Z
     program from Marc Espie). In contrast to this, most game developers (incl.
     ID) just use the synthi/WaveTable chips. As these chips are not built into
     SGIs, you can't get music. Duh. The only possibility is that the G-MIDI
     standard is emulated by software. This would mean that you keep 20-30 MB
     of sample data on your harddisk and spend 95 % of processor time for the
     G-MIDI emulation. There IS a G-MIDI emulator for SGIs, it is called Midia
     and was announced on comp.sys.sgi.announce a while ago. Take a look at
     this one and you'll be watching the processor go up in a huge cloud of
     smoke! ;-) Also, the Midia stuff doesn't sound that good IMHO.

 21. Can I change the sounds with a PWAD?

     The program sndserver only looks at the main WAD file for sounds. It
     doesn't look at the PWAD files you add with the -file command-line
     argument. You must generate a new main WAD file with the new sounds. (but
     make sure you keep the original!) The PC WAD editor DEU can do this, and
     Rob Kowalchuk <kowalc@cs.uregina.ca> has ported (but not yet released it)
     to the SGI.

     Dan Boardman <boardman@jerry.sal.wisc.edu> has written a small program to
     rewrite your main WAD file with the new sounds. It is available at
     http://jerry.sal.wisc.edu/~boardman/xdmaud.c

 22. What are the cheat codes? the secret doors?

     They are all the same as the PC version. See the FAQ, below.

 23. Where is DOOM information on the net?
     The DOOMGate
          (http://www.cedar.buffalo.edu/~kapis-p/doom/DoomGate.html) Entrance
          to the DOOMWeb, which contains all DOOM knowledge in the world.

     finger help@idsoftware.com
          Gives the latest on DOOM ports and releases.

     new newsgroups
          rec.games.computer.doom.announce, rec.games.computer.doom.misc,
          rec.games.computer.doom.help, rec.games.computer.doom.playing,
          rec.games.computer.doom.editing

          I highly recommend browsing rec.games.computer.doom.announce to find
          more information.

     ftp sites
          The official ftp site is ftp.cdrom.com. There is a list of cdrom
          mirrors from the DOOMWeb. Or get the file "DOOM-related FTP sites" or
          "How to get DOOM-related files via E-mail" from the newsgroup
          rec.games.computer.doom.announce

          (If you're reading the text version of this FAQ, mirrors of
          ftp.cdrom.com are at ftp.orst.edu, nctuccca.edu.tw, ftp.sun.ac.za,
          flinux.tu-graz.ac.at, ftp.uni-erlangen.de, ftp.sls.wau.nl,n
          ftp.luth.se, and ftp.dungeon.com)

     Frequently-Asked Questions
          A huge FAQ is available. It is in HTML form or at any of the ftp
          sites.

          The DOOMWeb also provides a quick tipsheet on DOOM cheat codes

 24. Are there DOOM utilities for unix?

     Obviously, you can't use any patches for DOS on your SGI executable. You
     can use people's homemade wad files once you are registered. Since a Linux
     port of DOOM is out, many of the wad editors, etc., may be ported soon.
     (The WAD editor DEU has already been ported to Linux.) Look around the ftp
     sites; some of the utilities may come with code; port them yourself and
     then announce them!

     janer@isy.liu.se (Jan Eriksson) says:
          If anyone is interested I have made a UNIX port of id's BSP node
          builder. Actually it's a port of Ron Rossbach's port to DOS. It's
          available via anonymous ftp from ftp.isy.liu.se in
          /pub/colour/doom/bsp_unix.tar.Z In the same directory there's also
          wadgc.zip which contains some other UNIX programs for editing DOOM
          .WAD files (Made by a friend of mine).

     There is a small C program to change sound effects in the WAD file.

     From Ken Russell (kbrussel@media.mit.edu): wadtoiv is a Doom wadfile to
     Open Inventor converter. This program reads in a Doom wadfile, and
     optionally a patchwad, and outputs a scene graph with faces and textures
     corresponding to the walls and ceilings in a specified level (episode and
     mission). Available from
     http://www-white.media.mit.edu/~kbrussel/wadtoiv.html.

Information for PC people

  1. What is an SGI?

     Silicon Graphics, Incorporated. If you don't know, you can't afford one
     :-). You know, Jurrasic Park, T2, stuff like that. High-end 3D graphics
     unix workstations. Indvidual models are called things like Indigo, Indy,
     Crimson, Onyx, Challenge etc.

  2. Wow, it must scream then, huh?

     It does ok. But DOOM is mainly doing a lot of pixmap blitting to the
     screen. It doesn't take advantage of SGI's special graphics hardware,
     which is used to do very fast 3D transformations, since DOOM isn't doing
     "real" 3D.

  3. Does it look really cool?

     It's an exact port. All the bitmaps, sounds, etc. are exactly the same.
     Even though you can play with quadrupled pixmaps on a 1280 x 1024 screen,
     the images look good and move fast. I don't have a PC, so I can't compare.
     From the README
          The design philosophy of this port was to get something working which
          was fun. It ain't no opus just because it runs on an SGI so don't get
          your hopes up.

  4. Any other differences?

     No music. No mouse support.

About this FAQ

This is a frequently-asked questions file for the SGI version of the game DOOM
from id Software. I am putting this together as a service since id is offering
no technical support on this port.

This is hastily thrown together from net sources. No guarantees on any of the
information. I will update it as I become aware of changes, but please mail me,
since I don't spend every minute fingering id software and reading
rec.games.computer.doom.*. I am neither a DOOM expert nor an SGI expert,
although I play a biochemist on TV. Nor do I plan to get heavily into making
.wad files and the like, so I'm not going to be up on the latest poop. If you
would like to take over responsibility for this SGI DOOM FAQ, just ask.

All this information is from the net. Unfortunately I didn't always save
people's names. If you feel you should be credited for some piece of
information, or would like to be listed here in the acknowledgements, just
email me and I'll add you. Among many others, thanks to Dan Boardman, Travis
Cobbs, Lan Dang, Marcus Gavel, Joachim Hoenig, Dan Hildebrand, Michael
Klepikov, Rob Kowalchuk, Sean Langston, Bill Lorton, Matt Nelson, Bob Nance,
Jim Reiss, Craig Ruff, Robert Teller, Patrick Tufts, Guenter Wunner, and T.J.
Kelly, Piotr Kapiszewski, and all the DOOMWeb guys.

You can mail me, John Troyer, at troyer@cgl.ucsf.edu. Corrections and
suggestions appreciated. This FAQ is available from

http://www.cmpharm.ucsf.edu/~troyer/sgidoomfaq.html

    ------------------------------------------------------------------------

john <troyer@cgl.ucsf.edu>
(Sat Jan 7 21:57:56 1995)
