SGI DOOM FAQ
************

Version 1.08
September 15, 1994

This FAQ is available at http://cornelius.ucsf.edu/~troyer/sgidoomfaq.html
What's New: sgixdoom 1.6 on infant2, 1.666 is out, How to remap your
keys

Table of Contents
=================

o 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. 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!
   6. It only works on the smallest size!
   7. The window is too small!
   8. I have an R3000 and it's too slow!
   9. Why can't I use the mouse?
   10. Can I change the keys?
   11. Can I run DOOM on one machine and display it on
     another?
   12. Can one SGI host multiple DOOM processes for a
     deathmatch?
   13. Can you play across the internet?
   14. Can you play SGI vs PC?
   15. Why is there no music?
   16. How do I get the other levels?
   17. How do I register?
   18. I need to ask id Software a question.
   19. What are the cheat codes? the secret doors?
   20. Where is DOOM information on the net?
   21. Are there DOOM utilities for unix?
o 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?
o 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://infant2.sphs.indiana.edu/pub/doom/id/sgixdoom.tar.gz
  ftp://ftp.uwp.edu/pub/sgi/games/id/sgixdoom.tar.Z


  These ftp sites are usually overloaded and refuse additional
  anonymous logins. Try at night.

  (15 Sept 94: both of these files now are the 4 August v1.6ish
  -mips1 versions. You need this version to play the registered WAD.
  The mirrors will eventually be updated.)

  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!

  infant2 and ftp.uwp are overloaded. Try at night. To take some of
  the pressure off, infant2 may soon be upload only, with only mirrors
  available for downloading. See the list of infant2 mirrors from the
  DOOM Web. (If you're reading the text version of this FAQ, try
  ftp.cdrom.com, ftp.orst.edu, aurora.bld189.jccbi.gov, or
  wuarchive.wustl.edu)

4. Which SGI machines will run DOOM?

  DOOM was recompiled on August 4 without the -mips2 flag. It
  will now run on both R3000 and R4000 machines. You must be
  running a version of Irix 5 (usually 5.2) to run DOOM.

  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. It doesn't work!
   1. It says 'Error: Demo is from a different game version!

     You are running the 1.5ish version of sgixdoom with the
     1.666 registered doom.wad. Upgrade to the 1.6ish version
     again. You did pay for the registered wad, right?

   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.

   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, ([email protected]) and Travis Cobbs
     ([email protected]):

     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!

     If DOOM runs for a while and won't run again, or if you
     notice other memory problems, reboot your machine.
     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.

6. It only works on the smallest size!

  If you can run plain sgixdoom, but get a segmentation fault when
  you run sgixdoom -2 or -3 or -4, it may be because of memory
  problems: shut down a few processes and try again. If it used to
  work, but now doesn't, the problem is much more likely to be
  DOOM's leaky memory management (see above). Reboot your
  machine.

7. 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).

8. 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.

  For a truly twisted solution, Bill Lorton ([email protected]) 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]

9. 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.)

10. Can I change the keys?

  You should be able to do this in your .doomrc file. Anybody?

  Joachim Hoenig <[email protected]>
  tells us how to do it the hard way, using xmodmap to swap the keys
  for the Xserver:

     A to replace Shift_L (speed on)
     S to replace comma less (strafe left)
     D to replace period greater (strafe right)
     F to replace Control_L (fire)

     Of course, these are just possible examples. After exiting
     doom, you will want to restore your Xserver to its previous
     state (Typing is somewhat difficult with some keys
     swapped).

     So here is a possible startup script:

     -------------- CUT HERE ---------------
     #! /bin/sh

     cat << ENTER | xmodmap -
     keycode  13 = a A
     keycode  18 = Shift_L
     keycode  52 = s S
     keycode  19 = comma less
     keycode  59 = d D
     keycode  25 = period greater
     keycode  10 = f F
     keycode  26 = Control_L
     ENTER

     sgixdoom $*

     cat << EXIT | xmodmap -
     keycode  18 = a A
     keycode  13 = Shift_L
     keycode  19 = s S
     keycode  52 = comma less
     keycode  25 = d D
     keycode  59 = period greater
     keycode  26 = f F
     keycode  10 = Control_L
     EXIT
     -------------- CUT HERE ---------------

     note that other vendors than SGI use different keycodes, if
     you want to use another vendor's machine as display host. A
     standard keycode map can be printed using `xmodmap -pke'.

11. 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.)

  Patrick Tufts ([email protected]) 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.

12. 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.

13. Can you play across the internet?

  Yes. Anybody know at what ping time lag becomes annoying and/or
  impossible?

14. Can you play SGI vs PC?

  No. So far, nobody's figured out how. Dan Hilebrand
  ([email protected]) 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.

15. 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
  ([email protected]):

  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.

16. 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. 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.

  If you have a PC and an older DOS version (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. Once
  you've bought the commercial DOOM 2 release, you can use the
  doom2.wad file with the same sgixdoom binary.

  Having the registered version also enables features like the -file
  argument to use the incredible variety of homemade 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.

17. 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.

18. I need to ask id Software a question.

  Please don't mail them bug reports or ask for help about the SGI
  verison. 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 alt.games.doom .
  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
  [email protected]. If you must ask them a question about
  the DOS version, their email address is [email protected].
  They know nothing about SGI's, so don't even bother if that's your
  question.

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

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

20. Where is DOOM information on the net?
   o The DOOMGate (
     http://www.cedar.buffalo.edu/~kapis-p/doom/DoomGate.html):
     Entrance to the DOOMWeb.
   o finger [email protected] for the latest on DOOM
     releases
   o alt.games.doom, alt.games.doom.newplayers,
     alt.games.doom.announce, alt.binaries.doom
   o anonymous ftp. The main ftp site is
     ftp://infant2.sphs.indiana.edu/pub/doom (also fsp, port 21);
     infant2 is mirrored at ftp.uwp.edu, ftp.orst.edu,
     ftp.uni-erlangen.de, and aurora.bld189.jccbi.gov; other sites
     are ftp.uwp.edu/pub/games/id, ftp.uml.edu/msdos/Games/ID,
     and
     wuarchive.wustl.edu/pub/MSDOS_UPLOADS/games/doomstuff
     (See the list of mirrors from the DOOMWeb)
   o A huge FAQ is available. (here it is in HTML form.)
     Excerpted from the FAQ:

        The "Official" DOOM FAQ can still be requested from me, however.  My
     Internet E-mail address is "[email protected]."  Please make the
     subject of your E-mail "DOOM FAQ Request."
        The "Official" DOOM FAQ is posted every two weeks (or earlier
     if a new version is released) on the following Usenet groups.
             (1) comp.sys.ibm.pc.games.action
             (2) comp.sys.ibm.pc.games.announce
             (3) comp.sys.ibm.pc.games.misc
             (4) alt.games.doom
        The "Subject:" line of the post will be "'Official' DOOM FAQ v??.??"
     where "??.??" is the version number of the FAQ.
        New releases of the "Official" DOOM FAQ are uploaded to the
     following Internet FTP sites.
             (1) ftp.uwp.edu              IN /pub/incoming/id
                                          IN /pub/msdos/games/id/home-brew/doom
             (2) infant2.sphs.indiana.edu IN /pub/doom/incoming
                                          IN /pub/doom/text
             (3) wuarchive.wustl.edu      IN /pub/MSDOS_UPLOADS/games/doomstuff
        The file name of the upload will be "doom??.faq" where "??" is the
     version number of the FAQ.

21. 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!

  [email protected] (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).

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 alt.games.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 Travis Cobbs,
Lan Dang, Marcus Gavel, Joachim Hoenig, Dan Hildebrand, Sean
Langston, Bill Lorton, Bob Nance, Robert Teller, Patrick Tufts, Guenter
Wunner, and T.J. Kelly and all the DOOMWeb guys.

You can mail me, John Troyer, at [email protected]. Corrections and
suggestions appreciated. This FAQ is available from

http://cornelius.ucsf.edu/~troyer/sgidoomfaq.html


john <[email protected]>
(Thu Sep 15 19:34:52 1994)