home *** CD-ROM | disk | FTP | other *** search
/ Boot Disc 1 / boot-disc-1996-08.iso / content / demos / games / quake / qsw_091.1 / TECHINFO.TXT < prev   
Text File  |  1996-06-21  |  62KB  |  1,599 lines

  1. Welcome to the Quake Technical Information file!
  2.  
  3. TABLE OF CONTENTS
  4. -----------------
  5. Introduction to the Console..............
  6. Video Subsystem Documentation............
  7. Sound Subsystem Documentation............
  8. CD Audio Subsystem Documentation.........
  9. Network Subsystem Documentation..........
  10. Modem Strings............................
  11. Win95 Documentation......................
  12. Key Binding and Aliases..................
  13. Quake Keys and Common Commands...........
  14. Making a Config File.....................
  15. Reporting Quake Bugs.....................
  16.  
  17.  
  18. ==========================================
  19. ==     Introduction to the Console      ==
  20. ==========================================
  21.  
  22. Throughout this document, examples of commands are given, all of which
  23. are typed in at the console. To bring up the console, press the tilde ('~')
  24. key or press ESC to bring up the menu, select Options, and select Console...
  25. from the options menu. To exit the console, press ESC.
  26.  
  27. The console provides a way to change console variables and also accepts
  28. commands that change game settings such as movement keys, video mode, as
  29. well as providing an interface for key binding and command aliasing (more
  30. on that later).
  31.  
  32. The console also has a command history with which you can browse through
  33. previous commands. Use the up and down arrows to navigate through the
  34. command history and press <enter> to re-issue a command.
  35.  
  36. Partially typing a command and then pressing the TAB key will complete the
  37. currently typed text with the first matching console variable or command.
  38. (Yes, this is a good way to look for console commands.)
  39.  
  40. To review previous actions by page, use the PGUP and PGDN keys.
  41.  
  42.  
  43. ==========================================
  44. ==    Video Subsystem Documentation     ==
  45. ==========================================
  46.  
  47. Quick start
  48. -----------
  49.  
  50. Video modes can be inspected and changed only from the console; there
  51. is no menu interface for video mode-related stuff.
  52.  
  53. To see all the video modes that are available, bring up the console (either
  54. press tilde ('~'), or press Esc to bring up the menu, select Options, and
  55. select Console... from the Options menu).
  56.  
  57. From the console, type vid_describemodes<enter> to see all available modes.
  58. Type vid_mode <mode #> to set a mode, where <mode #> is the mode number
  59. listed for the desired mode by vid_describemodes.  Higher-resolution modes
  60. generally require more extra system memory in order to run, and many are
  61. not available in 8 Mb systems, even though they will still show up in
  62. the mode list from vid_describemodes.  If you try to set a mode for which
  63. there is insufficient system memory, you will receive a message to that
  64. effect, and the mode will remain unchanged.
  65.  
  66. See "Bug Reporting," below, for information on how to report any
  67. problems you encounter.
  68.  
  69.  
  70. More detail
  71. -----------
  72.  
  73. This version of Quake supports software drawing in a variety of
  74. video modes.  It does not support any 3-D hardware accelerators.
  75. Video modes that are build into Quake are:
  76.  
  77. 320x200, 360x200, 320x240, 360x240, 320x350, 360x350, 320x400,
  78. 360x400, 320x480, 360x480
  79.  
  80. However, the higher-resolution modes on this list require additional
  81. memory, and may not be available in 8 Mb systems.
  82.  
  83. In addition, all VESA 2.0 256-color linear framebuffer modes
  84. supported by the video adapter are supported.  Further information
  85. about VESA 2.0 is provided below.
  86.  
  87.  
  88. Video mode reporting and selection
  89. ----------------------------------
  90.  
  91. Quake assigns each available video mode a mode number, which can
  92. then be used to query information about the mode or to select the
  93. mode.  The first 11 mode numbers are always as follows:
  94.  
  95. 0:  320x200
  96. 1:  320x200
  97. 2:  360x200
  98. 3:  320x240
  99. 4:  360x240
  100. 5:  320x350
  101. 6:  360x350
  102. 7:  320x400
  103. 8:  360x400
  104. 9:  320x480
  105. 10: 360x480
  106.  
  107. You will notice that modes 0 and 1 are both 320x200; mode 1 is a
  108. Mode X-style version, which may someday allow support of page
  109. flipping for cleaner graphics, but right now it's just slower with
  110. no advantages, so use mode 0 for 320x200 resolution.  Modes 2-10
  111. are all higher resolution than mode 0, and look very nice, but are
  112. also all slower than mode 0.  Mode 0 is the fastest of the 11
  113. built-in modes.
  114.  
  115. In addition to the built-in modes, Quake checks for the presence
  116. of a VESA version 2.0 driver.  If such a driver is detected, the
  117. driver is queried for all 8-bit-per-pixel linear framebuffer (LFB)
  118. modes that are supported; also, if no LFB 320x200 mode is available,
  119. a banked 320x200 VESA mode is queried for.  All such modes are added
  120. to the mode list starting at mode 11.  The available modes will vary
  121. depending on adapter, graphics chipset, amount of memory, and VESA 2.0
  122. driver.  The higher the resolution, the lower the performance, and the
  123. higher-resolution modes will often be too slow for good gameplay
  124. on most machines.  (Also, higher-resolution modes often need more memory
  125. than is available in an 8 Mb system.)  The screen can be sized down to
  126. improve performance in higher-resolution modes, but then of course the
  127. effective resolution of Quake is reduced.
  128.  
  129. At the same resolution, VESA LFB modes are often faster than the non-VESA
  130. modes 0-10, because adapters often have faster memory access in LFB modes.
  131.  
  132. If a given VESA mode can support page flipping, then it defaults to page-
  133. flipped operation.  A VESA mode can be forced to non-page-flipped operation
  134. by setting the vid_nopageflip console variable to 1, then setting the mode
  135. (note that vid_nopageflip takes operation on the next, not the current, mode
  136. set).  If there is not enough memory for two pages in a VESA mode, or if the
  137. adapter doesn't support page flipping, then the mode will automatically
  138. be non-page-flipped.  Page flipping can have higher visual quality, but may
  139. be either faster or slower, depending on the graphics adapter and other
  140. hardware.  (See the discussion of the Pentium Pro, below, for a
  141. discussion of why page flipping can be faster but is sometimes much slower
  142. on that processor.)  Page-flipped modes use less system memory than non-
  143. page-flipped modes.
  144.  
  145. Quake's VESA support, including VESA driver detection, can be disabled by
  146. using the -stdvid command-line switch.
  147.  
  148. The maximum resolution supported by Quake is 1280x1024.  Modes with higher
  149. resolutions will not be reported by vid_describemodes, and cannot be set.
  150.  
  151. There is no support for any 3-D accelerator boards in this version of Quake.
  152. Coming soon.
  153.  
  154. Quake always starts up in mode 0, and modes 0-10 are always available, given
  155. enough system memory.
  156.  
  157.  
  158. How to get VESA 2.0 support
  159. ---------------------------
  160.  
  161. Some video adapters have VESA 2.0 support in ROM.  Other video
  162. adapters come with loadable VESA 2.0 TSRs.  In the absence of either
  163. of these, UniVBE, a shareware product from SciTech, provides VESA 2.0
  164. support for most video adapters.  The latest version of UniVBE can be
  165. obtained from the following locations:
  166.  
  167. www: http://www.scitechsoft.com
  168. ftp: ftp.scitechsoft.com
  169. CIS: GO SCITECH
  170. AOL: Keyword SciTech
  171.  
  172. SciTech can be contacted at:
  173.  
  174. email: sales@scitechsoft.com
  175.  
  176. SciTech Software
  177. 5 Governors Lane, Suite D
  178. Chico, CA
  179. 95926-1989
  180.  
  181. The current version at this writing is UniVBE 5.2.  This version
  182. supports many more adapters than previous versions, and adds
  183. a number of useful low- and medium-resolution modes, such as 512x384.
  184.  
  185.  
  186. Video-related commands
  187. ----------------------
  188.  
  189. vid_describecurrentmode
  190.    lists the description for the current video mode.
  191.  
  192. vid_describemode <mode #>
  193.    lists the description for the specified video mode, where <mode #> is as
  194.    reported by vid_describemodes.
  195.  
  196. vid_describemodes
  197.    lists descriptions for all available video modes.
  198.  
  199. vid_mode <mode #>
  200.    sets the display to the specified mode, where <mode #> is as reported by
  201.    vid_describemodes.
  202.  
  203. vid_nopageflip
  204.    when set to 1, VESA mode sets will always select non-page-flipped
  205.    operation.  When set to 0, VESA mode sets will select page-flipped
  206.    operation whenever possible.  All non-VESA modes are always
  207.    non-page-flipped.
  208.  
  209. vid_nummodes
  210.    reports the total number of modes available.
  211.  
  212. vid_testmode <mode #>
  213.    tries to switch Quake to the specified mode, then returns to the current
  214.    mode after 5 seconds.  This allows you to try an untested mode without
  215.    ending up with a black screen if, for example, the monitor can't display
  216.    the mode properly.  There may still be instances in which, due to VESA
  217.    driver or hardware bugs, the machine will hang in certain modes;
  218.    vid_testmode can't recover from these situations, but it can recover
  219.    from a blank or scrambled screen.
  220.  
  221. vid_wait <wait type>
  222.   sets the type of waiting that the video adapter should do, as follows:
  223.   0: no waiting
  224.   1: wait for vertical sync active
  225.   2: wait for display enable active
  226.  
  227. The default state of vid_wait depends on the video mode selected.
  228. In built-in modes 0-10, the default is always 0, no waiting.  You
  229. can set vid_wait to 1 (wait for vertical sync) to eliminate shear
  230. and tearing in these modes (so partially-completed frames are never
  231. drawn, resulting in a rock-solid image).  However, waiting for
  232. vertical sync can result in substantial performance loss.
  233.  
  234. In VESA modes, if the adapter is VGA compatible and there's enough
  235. memory for three video pages, then triple-buffering is enabled and
  236. vid_wait is set to 2, wait for display enable.  There is little
  237. performance loss to this sort of waiting.  If the adapter is not
  238. VGA compatible, or if there's only enough memory for double-buffering,
  239. then vid_wait is set to 1 (wait for vertical sync).  This can cause
  240. significant loss of performance, but some sort of wait is generally
  241. necessary to avoid occasional glitching of the screen when
  242. page-flipping; we always choose the lowest-cost wait option that
  243. seems to be safe to use.  If there's only enough memory for one
  244. page, or if vid_nopageflip 1 is in effect, then vid_wait is set to 0
  245. (no wait).  As with modes 0-10, vid_wait 1 can be used to eliminate
  246. shear, but at a performance cost.
  247.  
  248. We have encountered problems with a few adapters in VESA modes when
  249. vid_wait is set to 2 (wait for display enable).  Apparently some adapters
  250. just toggle display enable all the time, rather than only when pixels
  251. are being sent to the screen; this can cause occasional glitches in
  252. which the screen image jumps for one frame.  You can fix this by
  253. setting vid_wait to 1 (wait for vertical sync).  We would have made
  254. vid_wait 1 the default, but it's slower, and vid_wait 2 works on most
  255. machines.
  256.  
  257. The default setting for vid_wait can be changed from the console
  258. at any time.  If you are in a VESA mode that waits for vertical
  259. sync and want to turn it off to get a speed-up, you can do so.
  260. However, changing a vid_wait 1 default in a VESA mode may result
  261. in problems.  If vid_wait defaults to 1 (wait for vertical sync)
  262. in a mode, and you force it to 2 (wait for display enable), the
  263. machine may hang, because some VGA-incompatible adapters, such as
  264. some ATI Mach64s, don't support the display enable status.  If you
  265. force vid_wait to 0 (no wait), then the screen may glitch periodically
  266. if the page flips at a time that results in a bad flip address,
  267. although some adapters work fine with no wait at all.
  268.  
  269. If you force a new setting for vid_wait and encounter problems, DO
  270. NOT send us a bug report!
  271.  
  272.  
  273. Setting the video mode automatically
  274. ------------------------------------
  275.  
  276. If you want to default to a mode other than mode 0, place the line:
  277.  
  278. vid_mode <mode #>
  279.  
  280. in your .cfg file; the mode will be selected when you exec the .cfg
  281. file, either from the console or with +exec <filename>.cfg on the
  282. command line when you start Quake.  Note that if you use the .cfg
  283. file on another machine, it may cause problems if the other machine
  284. doesn't support the specified mode; the mode set should merely
  285. fail, but bugs in the VESA driver or the hardware can possibly
  286. cause the machine to hang.  You can always get the machine to
  287. function properly by removing the vid_mode line from the .cfg file,
  288. or not execing the .cfg file.
  289.  
  290.  
  291. Higher-quality perspective texture mapping
  292. ------------------------------------------
  293.  
  294. For maximum speed, perspective correction is performed only every 16
  295. pixels.  This is normally fine, but it is possible to see texture ripples
  296. in surfaces that are viewed at sharp angles.  For more precise texture
  297. mapping, set the console variable d_subdiv16 to 0.  Doing this will result
  298. in somewhat slower performance, however, and the difference in visual
  299. quality will not normally be noticeable.
  300.  
  301.  
  302. Known video problems and workarounds
  303. ------------------------------------
  304.  
  305. If you think you've encountered a bug, see "Bug Reporting," below.
  306. As a general rule, go back to mode 0 if you have problems; mode 0
  307. should work properly in all cases.
  308.  
  309. On some ATI Mach64 adapters, the palette is sometimes too dark in
  310. some VESA modes, and is tinted oddly (too red, for example) in other
  311. modes.  The workaround is to use different modes, or modes 0-10.
  312.  
  313. In modes 0-10, shear and tearing can occur as partially finished
  314. frames are displayed.  Workaround:  set vid_wait to 1 (wait for
  315. vertical sync); this can result in a substantial performance loss,
  316. however.  An alternative is to use a page-flipped VESA mode.
  317.  
  318. In page-flipped VESA modes, occasional glitched frames may occur with some
  319. VESA driver-hardware combinations.  Workaround:  set vid_wait to 1 (wait
  320. for vertical sync), or use a different mode.
  321.  
  322. Under Win 95, the palette occasionally gets messed up when switching from
  323. Quake to the desktop and back again.  You can restore the palette by
  324. bringing down the console (either press tilde ('~'), or press Esc to bring
  325. up the menu, select Options, and select Console... from the Options menu),
  326. and typing bf and pressing the enter key, to generate a background flash,
  327. which sets the palette.  Press Esc to exit the console.  Alternatively,
  328. setting the screen brightness, either from the Options menu or via the
  329. gamma console variable, sets the palette.
  330.  
  331. Under Win 95, if the system key (the key with the Win 95 flag on it) is
  332. pressed while Quake is running fullscreen in a VESA mode, Win 95 may be
  333. unable to switch back from the desktop to Quake, in which case it will
  334. notify you of this, then terminate the Quake session.  This is a quirk
  335. of Win 95, and there is no workaround other than not to press that key
  336. or not to use VESA modes.  (Some people go so far as to remove the system
  337. key from their keyboard.)  Switching away from Quake with Alt-Enter,
  338. Ctrl-Esc, Alt-Tab, or Alt-Spacebar all work fine.
  339.  
  340.  
  341. Performance
  342. -----------
  343.  
  344. Quake's graphics should be adequately fast in mode 0 (320x200) on all
  345. Pentium-class machines. If you feel Quake is running slowly, set the
  346. showturtle console variable to 1; you will then see a turtle icon
  347. appear in the upper left corner of the screen if the frame rate drops
  348. below 10 frame/second.  If you are getting the turtle, you are probably
  349. not getting great gameplay.  Performance can be improved in several ways:
  350.  
  351. * size down the screen with the minus key
  352.  
  353. * select a lower-resolution mode, if possible
  354.  
  355. * use a VESA mode
  356.  
  357. * if you're using a VESA mode and vid_wait is set to 1 (wait for
  358. vertical sync) by default (you can check by typing vid_wait<enter>
  359. in the console), you can try setting vid_wait to 0 or 2, as detailed
  360. in the discussion of the vid_wait command above.  Be aware that
  361. risks of screen glitching or hung machines are associated with
  362. overriding a default vid_wait 1 setting in VESA modes.
  363.  
  364.  
  365. Pentium Pro Performance
  366. -----------------------
  367.  
  368. The Pentium Pro is a very fast Quake platform, but has one weak spot; it is
  369. by default very slow on writes to video memory.  This means that in default
  370. hardware configurations, you are usually much better off setting
  371. vid_nopageflip to 1 if you use VESA modes, so drawing is done to system
  372. memory instead of to video memory.  Remember that you must set the mode
  373. after setting vid_nopageflip to 1 in order to get vid_nopageflip to take
  374. effect.  (vid_nopageflip can sometimes be faster on a Pentium, too, but
  375. not by nearly as much in general, and it's often slower.)
  376.  
  377. The Pentium Pro has some special features that are not turned on by default,
  378. but which can help Quake performance a LOT.  These features can be enabled
  379. by John Hinkley's program FASTVID, which can be obtained from
  380. ftp://members.aol.com/JHinkley/fastvid.zip.  Performance in 640x480
  381. mode on a Pentium Pro/150 nearly doubled after FASTVID was run; Quake
  382. was very playable (and looked great!) at this resolution.
  383.  
  384. There's the usual caution with FASTVID:  It could conceivably make your
  385. system run goofily, or who knows what.  FASTVID is not a product of
  386. id Software, and id makes no guarantees regarding FASTVID. In other words,
  387. use FASTVID at your own risk.
  388.  
  389. ************************************************************************
  390. IMPORTANT NOTE: FASTVID works only on Pentium Pros!!!  Please do NOT
  391. contact either John Hinkley or id with problems concerning FASTVID on
  392. Pentium or 486 machines.
  393. ************************************************************************
  394.  
  395.  
  396. Bug Reporting
  397. -------------
  398.  
  399. If you encounter a video-related bug, please fill out the form found at the
  400. end of this file and e-mail it to support@idsoftware.com.  There are several
  401. problems that are not bugs, and shouldn't be reported, including:
  402.  
  403. * unavailability of some VESA modes; VESA modes are only supported by
  404. Quake if they are 8-bpp, are LFB modes (except for 320x200), and are
  405. no greater than 1280x1024 in resolution.  If you have a VESA mode
  406. that doesn't seem to be working properly, please contact the
  407. manufacturer; we just use the information that the VESA driver
  408. provides us with.
  409.  
  410. * problems that occur when you change vid_wait from a default value
  411. of 1 (wait for vertical sync) in VESA modes
  412.  
  413. * sluggish performance on 486s
  414.  
  415. * the known palette problem on some Mach64s.
  416.  
  417. * the known palette problems switching from fullscreen to the desktop and
  418. back under Win95.
  419.  
  420. * the known problems switching back from the desktop in VESA modes after the
  421. system (Windows flag) key has switched from fullscreen to the desktop.
  422.  
  423. Apart from these, we would very much like to hear about any video
  424. problems you encounter.
  425.  
  426.  
  427. ==========================================
  428. ==     Sound Subsystem Documentation    ==
  429. ==========================================
  430.  
  431. Quake's sound subsystem works only with Sound Blaster compatible sound
  432. cards.  For Quake to get the correct settings for DMA channel and PORT
  433. address, you must set your BLASTER environment variable (or have it set for
  434. you with the DIAGNOSE utility in your SB16 directory).  If you do not have
  435. the BLASTER environment variable set, your sound will not work.  If your
  436. sound card supports Sound Blaster compatibility, Windows 95 should set this
  437. variable for you.
  438.  
  439. Note:  some sound cards do not have 100% Sound Blaster compatible
  440. hardware, but emulate the Sound Blaster interface.  Such cards may
  441. display some inconsistencies relative to an actual sound blaster.
  442. In particular, sound may be delayed, and hence lag, on the sound
  443. cards in some laptops.
  444.  
  445. Note:  it is possible for sound to get choppy if the frame rate
  446. drops to a very low level, below 5 frames a second.  A frame rate
  447. that low will not provide a good gameplay experience, so if you
  448. do experience choppy sound, your machine is almost certainly not
  449. fast enough to run Quake satisfactorily in general.
  450.  
  451. If (when) you see bugs, please use the form attached to the end
  452. of these docs to submit a bug report.
  453.  
  454. Sound Card Command Line Options, Commands, and Variables
  455. ==================================================================
  456.  
  457. The commands and variables below work under any operating system.
  458. Command-Line options are typed on the command line in most any place
  459. but only in operating systems which support command line interfaces,
  460. like DOS's COMMAND.COM, or NEXTSTEP's or Linux's csh, sh, or bash.
  461. For example, under DOS, the NOSOUND option would be used like this:
  462. "C:> quake -nosound".
  463.  
  464. Command-Line Options
  465. --------------------
  466.  
  467. NOSOUND
  468.   Syntax: -nosound
  469.   Description: This will prevent *any* sound code from being executed.  If
  470.     you are having technical difficulty with the game and then try
  471.     running the game with this option and the problem goes away, then
  472.     the problem is probably somewhere in the sound code.
  473.  
  474. SSPEED
  475.   Syntax: -sspeed <speed>
  476.   Description: This will ask the sound code to set the playback speed
  477.     within the constraints of the capabilities of the card.  This is
  478.     11025 Hz by default and usually from 8000 to 44100.  Making this
  479.     faster requires more CPU horsepower, and has no actual benefits,
  480.     because the sounds only contain 11 KHz data.  Making this slower
  481.     degrades sound quality, but improves performance and saves memory.
  482.  
  483. Commands
  484. --------
  485.  
  486. SOUNDINFO
  487.   Syntax: soundinfo
  488.   Description: This prints the "portable" information on your current
  489.         audio hardware setting in the game.  It specifies whether there is
  490.         stereo output (0 or 1), the number of samples in the DMA buffer, the
  491.         current sample position (changes each time you run SOUNDINFO and
  492.         ranges from 0 to the number of samples), the number of sample bits,
  493.     the submission chunk (1 in DOS or Linux w/ mmaped sound, larger in
  494.     Linux w/o mmaped sound), playback speed in Hz, the DMA buffer address
  495.     in hexadecimal (usually 8 digits after the 0x, starting with 0xf00..
  496.     in DOS, starting with 0x400.. in Linux, and less than 8 digits if the
  497.     hardware was not initialized successfully), and the number of
  498.         channels mixed in software (8 by default, changeable w/NUMCHANNELS
  499.         command).
  500.  
  501. STOPSOUNDS
  502.   Syntax: stopsounds
  503.   Description: Stops all further sound, including currently playing
  504.         sounds.  
  505.  
  506.  
  507. Sound Blaster Sound Card Command-Line Options and Commands
  508. ==========================================================
  509.  
  510. The following applies to Sound Blaster cards or compatibles under DOS
  511. or a DOS box.
  512.  
  513. Commands
  514. --------
  515.  
  516. SBINFO
  517.   Syntax: sbinfo
  518.   Description: This will print information on the Sound Blaster card
  519.     in the system.  If the version is 4 or greater, then it is some
  520.     kind of Sound Blaster 16 or compatible.  If less, then it is
  521.     probably a Sound Blaster or Sound Blaster Pro or compatible.
  522.     If the version is 3, then it will be reported as 2.  This is
  523.     a hack that may be fixed later.  The port is the I/O port
  524.     sensed from the A variable in the BLASTER environment variable.
  525.     The DMA is the DMA channel and is confirmed in hardware if the
  526.     card is version 4 or higher.  The mixer port can be ignored.
  527.  
  528.  
  529. ==========================================
  530. ==   CD Audio Subsystem Documentation   ==
  531. ==========================================
  532.  
  533. Overview
  534. ========
  535. Quake is designed to play background music off of a CD-ROM.  The Quake CD has
  536. music tracks on it and each level has been assigned a track that will be
  537. played.
  538.  
  539. Win95 Users:  Putting a CD other than the Quake CD into the drive when Quake
  540. is already running will sometimes cause another Windows application to start
  541. and switch you back to Windows with Quake running in the background.  You
  542. will probably want to stop whatever was started and switch back to Quake as
  543. quickly as possible... especially if you are playing deathmatch.
  544.  
  545.  
  546. Command Line Parameters
  547. =======================
  548. -nocdaudio
  549.    This will prevent the CD audio system from even attempting to initialize.
  550.    No CD commands or functions will be available.  The game will just run
  551.    with no music.
  552.  
  553. -cdmediacheck
  554.    This causes the game to periodically check to see if the CD has been
  555.    removed and a new one placed in the player.  It is off by default since
  556.    this operation is very slow on some CD players and is not needed under
  557.    Win95.  There is normally no reason to enable this option; it would
  558.    only be useful if you were going to be changing the CD from within the
  559.    game on a regular basis.
  560.  
  561. Commands
  562. ========
  563. There is normally no reason you would need to use any of these commands.  If
  564. you are playing Quake with the Quake CD in your CD-ROM drive, the appropriate
  565. music track will be played automatically.
  566.  
  567. cd on
  568.    Re-enables the CD audio system after a "cd off" command.
  569.  
  570. cd off
  571.    Shuts down the CD audio system.  No more music will be played unless it
  572.    is re-enabled.
  573.  
  574. cd reset
  575.    Causes the CD audio to re-initialize.  This is useful if you change
  576.    CDs or insert the CD after you've already run Quake.
  577.  
  578. cd play <track number>
  579.    Plays the specified track one time.
  580.  
  581. cd loop <track number>
  582.    Plays the specified track.  It will be repeated until either it is
  583.    manually stopped or another track is started.
  584.  
  585. cd stop
  586.    Stops the currently playing track.
  587.  
  588. cd resume
  589.    Will resume playback of a stopped track.
  590.  
  591. cd eject
  592.    This is for CD players that do not have a manual eject button.
  593.  
  594. cd remap <track1> <track2> <track3> ...
  595.    Allows you to switch what tracks are played.  This is especially useful
  596.    if you want to play music other than that on the Quake CD.  If the CD
  597.    audio system is told to play track 1, it will instead play the 1st
  598.    track you specified.  For example: assuming a CD with 1 data track and
  599.    8 music tracks, the command "cd remap 1 9 8 7 6 5 4 3 2" would leave
  600.    the data alone and play the audio tracks as if they had been placed on
  601.    the CD in the opposite order.
  602.  
  603. cd info
  604.    Reports information such as the number and types of tracks on the current
  605.    CD, what track (if any) is currently playing, and the playback volume.
  606.  
  607.  
  608. Variables
  609. =========
  610. bgmvolume
  611.    The background music volume.  Valid values are 0.0 though 1.0.  Changes
  612.    will normally be made using the options menu.
  613.  
  614.    Not all CD-ROM players support variable volume.  The 0.0 to 1.0 value
  615.    translated to a value from 0 to 255 before it is passed to MSCDEX.  How
  616.    this value is interpreted varies from drive to drive.  The only thing
  617.    required by the MSCDEX specification is that 0 is off and anything else
  618.    is on.  Some CD-ROM drives only have on and off so change to bgmvolume
  619.    will have have no effect on volume once it is on.
  620.  
  621.  
  622. Messages
  623. ========
  624. CDAudio_Init: MSCDEX version 2.00 or later required.
  625.    MSCDEX was either not loaded, or is a version earlier than 2.00.
  626.  
  627. CDAudio_Init: First CD-ROM drive will be used
  628.    MSCDEX reported that the system has more than one CD-ROM drive.
  629.    Quake will always use the first drive in this case.
  630.  
  631. CDAudio_Init: Unable to allocate low memory.
  632.    We were unable to allocate the memory needed to communicate with MSCDEX.
  633.    Although the game can still run, this indicates a severe low memory
  634.    condition.
  635.  
  636. CD Audio Initialized
  637.    Indicates that the CD audio system has successfully initialized.
  638.  
  639. CDAudio_Play: Bad track number N.
  640.    We attempted to play a track number that that is outside the range of
  641.    tracks recorded on the CD currently in the CD-ROM drive.  Probable causes
  642.    are that a CD other than Quake is in the player, or a custom level has
  643.    specified an invalid track number.
  644.  
  645. CDAudio_Play: Can not play data.
  646.    A valid track was requested to be played, but it was a not an audio track.
  647.    The probable causes are the same as for a bad track number.
  648.  
  649. CDAudio_Play: track N failed
  650.    A valid audio track was going to be played, but the play command to MSCDEX
  651.    returned an error.
  652.  
  653. CDAudio: media changed
  654.    This is simply a notification.  It can only occur if the "-cdmediacheck"
  655.    option was specified on the command line.
  656.  
  657. CDAudio: Error - playback stopped N
  658.    An error occurred while the CD was playing audio.  Playback has been
  659.    stopped and no further automatic play will be attempted; the game will
  660.    proceed without music.
  661.  
  662. CDAudio_Init: No CD in player.
  663.    MSCDEX reported an error while Quake was attempting to get information
  664.    about the current CD.  There is either no CD in the player, or it was
  665.    unable to get the track information.  No automatic CD play will be
  666.    attempted; the game will proceed without music.
  667.  
  668.  
  669. ==========================================
  670. ==    Network Subsystem Documentation   ==
  671. ==========================================
  672.  
  673. Overview
  674. ========
  675.  
  676. Quake is a client/server game.  You are always running over some type of
  677. network.  In a standalone game, you are using a loopback network; it just
  678. passes messages back and forth in memory buffers.  This readme is talking
  679. about real networks and multiplayer deathmatches.  There are three main
  680. sections: commands, LANs, and Serial.
  681.  
  682. Most normal configuration can be done via the game menus.
  683.  
  684. There are two types of Quake servers: dedicated and listen.  A listen server
  685. is a machine that is used to play the game and also hosts the game for other
  686. players.  A dedicated server only hosts the game; it runs in text mode and
  687. does not let anyone play on that machine.  A single player game is really 
  688. just a 1 player listen server that doesn't listen for network connections.
  689.  
  690. Dedicated vs Listen.  I'll try to make this simple: it is always better to
  691. use a dedicated server.  Why? Fairness and playability.  With a listen
  692. server, the person on the server always has advantages.  They will always be
  693. the first person into a level, they will always have zero latency, and they
  694. will get a server update on each and every frame.  On a dedicated server
  695. everyone gets equal treatment.  Getting into the server is a first come,
  696. first served proposition; latency is determined by each player's connection;
  697. and everyone is sent the same number of updates.  It's about as fair as life
  698. gets.  By the way, a good 486 machine works nicely as dedicated server.
  699.  
  700. Another suggestion.  Until there is a native Win95 version of Quake, IPX will
  701. usually provide better gameplay on a local area network.  This is due to the
  702. delicate balancing act that is required to let a DOS program use the Win95
  703. TCP/IP stack.
  704.  
  705. To start a Dedicated Server, you invoke Quake with the "-dedicated"
  706. command-line parameter.  When the server starts, you can type any command
  707. that you would normally type in the Quake Console, such as "map e1m1" to
  708. start the server on a specific map.  This can be done from the command-
  709. line as well by typing "quake -dedicated +map e1m1".  If a value is entered
  710. after "-dedicated", that is the amount of players allowed to connect, up
  711. to a maximum of 16 players. A dedicated server will quit to the OS whenever
  712. a fraglimit or timelimit is reached.  Example: "quake -dedicated 16" will
  713. start a 16-player dedicated server.
  714.  
  715. To start a Listen Server, you invoke Quake with the "-listen" command-
  716. line parameter, or use the Multiplayer menu in the game.  Starting a listen
  717. server from the command-line will allow you to handle more than 4 players,
  718. as 4 is the limit when starting a game from the Multiplayer menu.  If a
  719. value is used after the "-listen", that is the maximum amount of players
  720. allowed, up to 16 players.
  721.  
  722. Command Line Parameters, Commands, and Variables
  723. ================================================
  724.  
  725. Command line parameters
  726. -----------------------
  727. -nolan
  728.    Disables both IPX and TCP/IP support.
  729.  
  730. -noudp
  731.    Disables support for TCP/IP.
  732.  
  733. -udpport <port#>
  734.    Specifies a UDP port to be used other than the default of 26000.
  735.  
  736. -noipx
  737.    Disables support for IPX.
  738.  
  739. -ipxport <port#>
  740.    Specifies a IPX port to be used other than the default of 26000.
  741.  
  742. -noserial
  743.    Disable serial support.
  744.  
  745. -mpath
  746.    Enables support for code to use Win95's TCP/IP stack.  Do NOT use this
  747.    under DOS!
  748.  
  749.  
  750. Console Variables
  751. -----------------
  752.  
  753. net_messagetimeout
  754.    Specifies how long Quake should wait for a message to arrive before
  755.    deciding the connection has died.  The default is 3 minutes.  For
  756.    reference, messages usually arrive at the rate of about 20 per second.
  757.  
  758. hostname
  759.    This is the name for your server that will show up on an slist
  760.    (see below).  The default value is "unnamed".
  761.  
  762. net_speeds
  763.    Setting this variable to 1 will cause diagnostic network information
  764.    to be displayed once per second.
  765.  
  766. sys_ticrate
  767.    Only used by dedicated servers.  This determines the rate at which the
  768.    server will send out updates to the clients.  The default value is 0.05
  769.    (20 updatesper second).  For servers where bandwidth is limited, using
  770.    modems or the internet for example, it is advisable to lower this value
  771.    to 0.1 (10 updates per second).  This will have a very minor effect on
  772.    responsiveness, but will half to outbound bandwitdh required making the
  773.    modem players a lot happier.
  774.  
  775.  
  776. Console commands
  777. ----------------
  778.  
  779. net_stats
  780.    This is for debugging. It displays various network statistics.
  781.  
  782. slist
  783.    Looks for Quake servers on a local LAN (or over a null modem
  784.    cable).  This will NOT go outside the local LAN (will not cross
  785.    routers).
  786.  
  787.  
  788. LANs
  789. ====
  790.  
  791. Here are the LANs that are supported by the Quake test
  792. release.  For each one, you'll be told how to connect to a server
  793. *if it is not on your local network*.  If it is, you can use the
  794. "slist" command and connect by hostname.  See the main readme for
  795. a discussion of the connect command.
  796.  
  797. IPX
  798. ---
  799.  
  800. Quake has been run with Novell's ODI IPX stack under DOS, PDIPX with packet
  801. drivers under DOS, and the Microsoft IPX stack in a Win95 DOS box.  When
  802. connecting to a server using IPX, you specify its network:nodeaddress (like
  803. 12345678:1234567890AB).  If you are on the same network, you can just specify
  804. the node address.  If you are doing a connect command from the console, a
  805. full IPX address must be enclosed in quotes.
  806.  
  807. For example, the server's IPX address is "00FADE23:00aa00b9b5b2", you would
  808. enter: connect "00FADE23:00aa00b9b5b2"
  809.  
  810. Win95 TCP/IP
  811. ------------
  812.  
  813. Please see the Win95 section of this file for details about playing using
  814. TCP/IP under Win95.
  815.  
  816.  
  817. Kali
  818. ----
  819.  
  820. To Quake, Kali appears to be IPX.  Once you've got Kali up and running, run
  821. Quake as if it was on an IPX network.
  822.  
  823. Beame & Whiteside TCP/IP
  824. ------------------------
  825.  
  826. This is the only DOS TCP/IP stack supported in the test release.
  827. It is not shareware...it's what we use on our network (in case you
  828. were wondering why this particular stack).  This has been "tested"
  829. *extensively* over ethernet and you should encounter no problems
  830. with it.  Their SLIP and PPP have not been tested.  When connecting
  831. to a server using TCP/IP (UDP actually), you specifiy it's "dot notation"
  832. address (like 123.45.67.89).  You only need to specify the unique portion
  833. of the adress.  For example, if your IP address is 123.45.12.34
  834. and the server's is 123.45.56.78, you could use "connect 56.78".
  835.  
  836. Playing over the Internet
  837. -------------------------
  838. Yes, you can play Quake over the Internet.  How many people can be in
  839. the game? That depends.  How smooth will the game be?  That depends.
  840. There are just too many variables (bandwidth, latency, current load,
  841. etc...) for us to make any kind of promises about Internet play.
  842.  
  843.  
  844. Serial/Modem
  845. ============
  846.  
  847. The Quake serial driver supports two COM ports.  Although they are referred
  848. to as COM1 and COM2, you can configure them to use any normal hardware
  849. COM port (1 thru 4 on most PCs).  The com ports are used with interrupts,
  850. so their IRQ may not be used for another purpose (such as a LAN adapter
  851. or sound card).  The IRQ may not be shared with another device either;
  852. not even another COM port.  A client can only be connected to one server
  853. at a time, so multiple ports are really only useful on a server.
  854. When using modems, the client must originate the call and the server
  855. must answer.  This holds true even for a two player, non-dedicated
  856. server configuration.
  857.  
  858. In the Multiplayer menu, the default modem string is "ATZ".  If your modem
  859. games are too slow, you can change this string to the appropriate one for
  860. your modem as listed below in the "Modem Strings" section.
  861.  
  862.  
  863. The COMx commands
  864. -----------------
  865.  
  866. There are two commands to support serial/modem play for Quake.  They
  867. are: COM1 and COM2. Entering one of these commands with no arguments
  868. will display the status of that serial port, similar to this:
  869.  
  870. Settings for COM1
  871. enabled:   true
  872. connected: false
  873. uart:      16550
  874. port:      3f8
  875. irq:       4
  876. baud:      57600
  877. CTS:       honored
  878. DSR:       honored
  879. CD:        ignored
  880. startup:   ATZ
  881. shutdown:  ATH
  882.  
  883. When used with arguments, these commands change the settings and
  884. status of the COM ports.  The possible arguments are listed below;
  885. examples follow.
  886.  
  887. enable | disable
  888.    "enable" means that your configuration is complete and you want to use
  889.    the COM port.  "disable" is used to turn off a COM port, usually to
  890.    change its settings.  The default (initial) state is disabled.
  891.  
  892.  
  893. modem | direct
  894.    Use one of these two to let Quake know if you are using a modem or a
  895.    direct connection (also called a null modem).  Quake uses this to know
  896.    if it needs to handles modem initialization strings, dialing sequences,
  897.    and hangup procedures.
  898.  
  899. reset
  900.    This will reset the COM port to its default settings and state.
  901.  
  902.  
  903. port <n>
  904. irq <n>
  905.    These are used to set the I/O Port and IRQ that your serial port uses.
  906.    The default values are: port=3f8 irq=4 for COM1 and port=2f8 irq=3 for
  907.    COM2.  Note that the port number is displayed in hexadecimal; to enter
  908.    it you would use something like "COM2 port 0x2f8"; the "0x" preceding
  909.    the "2f8" indicates that you are giving the value in hexadecimal
  910.    otherwise decimal is assumed.
  911.  
  912.  
  913. baud <n>
  914.    Sets the baud rate.  Valid values for <n> are: 9600, 14400,
  915.    28800, 57600, and 115200.  57600 is the default.  Please note that
  916.    this is the baud rate used for the uart, not your modem.  It is
  917.    perfectly valid to use 57600 on a COM port that is connected to a
  918.    28.8 modem.
  919.  
  920. 8250 | 16550
  921.    Specifies the type of uart chip in your system. Normally this is
  922.    automatically detected, one of these need only be used if your chip
  923.    is incorrectly detected.
  924.  
  925. startup
  926. shutdown
  927.    This allows you to specify the startup and shutdown strings needed for
  928.    a modem for playing Quake.  If you've found values that previously worked
  929.    with Doom, use them here.  If you are playing over a null modem cable,
  930.    leave these blank.
  931.  
  932. -cts | +cts
  933. -dsr | +dsr
  934. -cd  | +cd
  935.    These determine if certain serial control lines should be honored or
  936.    ignored. The "-" means you want that line ignored, the "+" means to honor
  937.    it. "cts" is an abbreviation for "clear to send", "dsr" for
  938.    "data set ready", and "cd" for "carrier detect".  Most people will not
  939.    need to change these values. The default is to honor all 3 lines.
  940.  
  941. Quake always uses no parity, 8 data bits, and 1 stop bit; these
  942. values can not be changed.  The baud, port, irq, and uart type can
  943. not be changed on an enabled port, you must disable it first.
  944.  
  945.  
  946. Configuration examples
  947. ----------------------
  948. Example1: You have a machine with two serial ports you are going
  949. to use as a Quake server.  COM1 will be using a null modem cable and
  950. COM2 will be connected to a 14.4 modem.  You would use commands similar
  951. (the startup string would almost certainly be different) to these:
  952.  
  953. COM1 baud 57600 enable
  954. COM2 baud 14400 modem startup AT\N0%C0B8 enable
  955.  
  956.  
  957. Example2: You are going to use your machine to connect to a dial-up
  958. Quake server with your 28.8 modem connected to COM2.  You would
  959. use a command something like this:
  960.  
  961. COM2 baud 57600 modem startup AT\N0%C0B8 enable
  962.  
  963. Note the baud rate is not the same as the modem speed.  This allows
  964. the modem-to-uart communications to occur at a higher rate than
  965. the modem-to-modem communications.
  966.  
  967. Connecting to a serial Quake server
  968. -----------------------------------
  969.  
  970. Connecting to a Quake server over a serial/modem connection is done
  971. using the "connect" command.  The command "connect 5551212" would try to
  972. connect to a Quake server at the phone number 555-1212.  Note: your local
  973. phone company would probably appreciate it if you didn't try this number!
  974.  
  975. If you are using a null modem cable, you can type "connect #".
  976. Quake will then attempt to connect to the server.
  977.  
  978.  
  979. Known problems / workarounds
  980. ============================
  981. Packet drivers with PDIPX - there is a bug that stops a server running on
  982. this combination from responding to the slist command.  Use the patched
  983. version of PDIPX included with Quake to correct this problem.
  984.  
  985. SLIST sees no servers - Some PCMCIA ethernet cards and PPP drivers will
  986. not do the UDP broadcasts needed for the SLIST command (search for local
  987. games from the menu) to function correctly.  In these cases you must
  988. connect to a Quake game using either its IP address or hostname
  989. (DNS resolvable hostname, not the hostname variable in Quake).
  990.  
  991.  
  992. ==========================================
  993. ==            Modem Strings             ==
  994. ==========================================
  995.  
  996. Boca M1440i (internal):
  997. ATS48=0S37=9S46=136%C0%E0%M0&K0&Q0&R1&C1&D2\G0\N1N0
  998.  
  999. Boca 14.4k (internal):
  1000. AT&C0N0S37=9&K0W0&Q0S36=3S48=128%C0
  1001.  
  1002. Boca 14.4 Fax/Modem
  1003. AT S46=0 S37=9 N0 &Q0 &D2 &K4
  1004.  
  1005. Boca 14.4k (external):
  1006. AT &F S0=1 S36=0 &K0 &Q6N0S37=9 &D2
  1007.  
  1008. Boca 14.4k:
  1009. AT S46=0 S37=9 N0 &Q0 &D2 &K0 %C0
  1010.  
  1011. Cardinal 14.4k v.32bis, v.42bis Fax/Modem:
  1012. AT &F N0 S37=9 &Q0 &D2 \N1
  1013.  
  1014. Digicom Systems (DSI) (softmodem):
  1015. AT Z \N0 &D2 &K0 S48=48
  1016.  
  1017. Digicom Systems Scout Plus:
  1018. ATZ*E0*N3*M0*S0*F0&D2
  1019.  
  1020. Gateway Telepath:
  1021. AT &F S37=9 %C0 &K0 &Q6 \G0
  1022.  
  1023. Gateway Telepath 14.4k:
  1024. AT S46=0 S37=9 N0 &Q0 &D2 &K0 %C0
  1025.  
  1026. Gateway Telepath I:
  1027. AT S0=1 &N6 &K0 &M0
  1028.  
  1029. Gateway Telepath II:
  1030. AT S0=1 S37=9 %C0 &Q0 &K0
  1031.  
  1032. Generic v.32bis 14.4k Fax/Modem:
  1033. AT \N0 %C0 B8
  1034.  
  1035. Generic 14.4k Fax/Modem:
  1036. AT S46=0 S37=9 N0 &Q0 &D2 %C0 \G0 &K0
  1037.  
  1038. GVC 14.4k (internal):
  1039. AT &F B8 \Q0
  1040.  
  1041. Hayes 28.8k V.FAST Modem:
  1042. AT &Q6 &K S37=9 N %C0 \N0
  1043.  
  1044. Infotel 144I:
  1045. AT&Q0 S37=9 N0 &D2
  1046.  
  1047. Infotel 14.4:
  1048. &F0 \N1 &D2 S37=F8
  1049.  
  1050. Intel 14.4k:
  1051. AT \N0 %C0 \Q0 B8
  1052.  
  1053. Intel 14.4k (internal):
  1054. AT Z B8 Q1 \C0 \N1 %C0 \V "H
  1055.  
  1056. Linelink 144e:
  1057. AT &F &D1 &K0 &Q6 S36=3 S46=136 %C0
  1058. 19200
  1059.  
  1060. Microcom AX:
  1061. &F \N1 \Q0 &D2
  1062.  
  1063. Microcom QX/4232bis:
  1064. AT %C0 \N0
  1065.  
  1066. Netcomm M7F:
  1067. AT &E &K0 B0 \V0 X4 &D2 \N1 \Q0 #J0 #Q9 %C0
  1068.  
  1069. Nokia ECM 4896M Trellis V.32:
  1070. AT Z %C0 /N0
  1071.  
  1072. Nuvotel IFX 14.4 (internal):
  1073. &F \N1 &D2 
  1074.  
  1075. Practical Peripherals 14400FX v.32bis:
  1076. AT Z S46=0 &Q0 &D2
  1077.  
  1078. Practical Peripherals 14400FX v.32bis:
  1079. AT S46=0 &Q0 &K0 &D2
  1080.  
  1081. Supra:
  1082. AT &F0 S46=136 %C0
  1083.  
  1084. Supra (external):
  1085. AT &K &Q &D \N1
  1086.  
  1087. Supra 14.4k v.32bis:
  1088. AT &F S46=136 &Q0 &D2
  1089.  
  1090. Supra 14.4k v.32bis:
  1091. AT &K &Q &D \N1
  1092.  
  1093. Supra Fax Modem 14.4K v.32 bis
  1094. AT &F %C0 S48=7 Q0 V1 W1
  1095.  
  1096. Telepath 14.4k:
  1097. AT &F&M0&K0&N6&H0 S0=1
  1098.  
  1099. Twincomm DFi 14.4:
  1100. AT&F &Q0 %C0 S37=9 &D2
  1101.  
  1102. UDS V.3223:
  1103. &F \N1 \Q &D2
  1104.  
  1105. UDS Fastalk 32BX:
  1106. &F0 \N1 &D2
  1107.  
  1108. USR Courier v.32bis:
  1109. ATS0=1 S7=60 E1 Q0 V1 &C1 &D2 &H0 &K0 &M0 &N6 &A3
  1110.  
  1111. USR Courier HST/DS 16.8k:
  1112. First reset the modem in a communication program with AT&F&W
  1113. AT X4 B0 &A0 &B0 &H2 &I0 &K0 &M0 &N6a
  1114.  
  1115. USR DS v.32bis v.42bis (external):
  1116. AT&m0&n6&a0&r1&h0&k0&i0&s0&b1x1
  1117.  
  1118. USR Sporster 9600:
  1119. AT&M0&K0&N6
  1120.  
  1121. USR Sportster V.34 28.8 (note: works best at 19200 baud):
  1122. AT &F &M0 &I0 &K0 &B0 &N0
  1123.  
  1124. USR Sportster 14.4k Fax/Modem USING ERROR CORRECTION:
  1125. AT S0=1 S7=60 E1 QO V1 &C1 &D2 &K0 &N6 &A3
  1126.  
  1127. USR Sportster 14.4k Fax/Modem (internal):
  1128. AT &F&M0&K0&N6&H0
  1129.  
  1130. USR Sportster 14.4k (internal):
  1131. AT &F &B1 &H0 &I0 &K0 &M0 &N6 &R1
  1132.  
  1133. USR Sportster 14.4k:
  1134. ATS0=1S7=60E1Q0V1&C1&D2&K0&N6&A3
  1135.  
  1136. USR Sportster 14.4k:
  1137. AT &F0 &K0 &M0 &N6 &H0 &I0 &B1 &R1
  1138.  
  1139. USR Sportster 14,000 Fax Modem:
  1140. AT S0=2 &N6 &K0 &M0 &I0 &H0 &R1 &A0 V1 X4
  1141.  
  1142. USR 14.4k:
  1143. AT &F&A0&K0&M0
  1144.  
  1145. USR 14.4k
  1146. AT &K0 &H0 &D0 &I0 &R1
  1147.  
  1148. USR 14.4k Dual Standard
  1149. ATB0&R1&B1&N6Q0X4&A0&D2&H0&I0&K0&M0M1
  1150.  
  1151. USR (model?):
  1152. &F E1 V1 X4 &C1 &D2 &N0             
  1153.  
  1154. ViVa 14.4k:
  1155. AT&F&Q6\N0%C0&D2N0S37=9
  1156.  
  1157. ViVa modem (internal):
  1158. &F&Q6\N0%C0&D2N0S37=9
  1159.  
  1160. Zoltrix model 14/14 VE:
  1161. AT S0=Q0 V1 &C1 &D2 W2 &Q0
  1162.  
  1163. Zoom 14.4k VFX:
  1164. AT&Q6S37=9N0%C\N0
  1165.  
  1166. Zoom 14.4k VFX:
  1167. AT&Q6S37=11N0%C&K0
  1168.  
  1169. Zoom OEM Modem:
  1170. AT&Q6S37=9N0&K0
  1171.  
  1172. Zyxel U-1496E:
  1173. AT Z &N4 &K0
  1174.  
  1175.  
  1176. ==========================================
  1177. ==         Win95 Documentation          ==
  1178. ==========================================
  1179.  
  1180. Quake is a DOS application.  However, it runs fine from the MS-DOS prompt
  1181. under Win95, so long as the Properties for the MS-DOS prompt are set up so
  1182. that Quake can run.  (See "Set the MS-DOS Prompt Properties", below, for
  1183. information about setting MS-DOS Prompt Properties.)  Following are some
  1184. steps that can help Quake run better under Win95.
  1185.  
  1186.  
  1187. Have enough memory
  1188. ------------------
  1189.  
  1190. Quake requires at least 16 Mb of installed memory in order to run under
  1191. Win95.
  1192.  
  1193.  
  1194. Set the MS-DOS Prompt Properties
  1195. --------------------------------
  1196.  
  1197. If Quake won't run, the MS-DOS Prompt Properties may not be set correctly.
  1198. To set the Properties for the MS-DOS prompt, bring up a DOS session, and
  1199. either click on the MS-DOS icon in the upper left corner or press
  1200. Alt-Spacebar, then select Properties from the menu that comes up, and make
  1201. sure the following settings are correct.
  1202.  
  1203. In the Program sheet of MS-DOS Prompt Properties, make sure the "Suggest
  1204. MS-DOS mode as necessary" is checked.
  1205.  
  1206. In the Memory sheet of MS-DOS Prompt Properties, make sure all five fields
  1207. are "Auto".
  1208.  
  1209. In the Screen sheet of MS-DOS Prompt Properties, set "Usage" to Full-screen.
  1210.  
  1211. In the Misc sheet of MS-DOS Prompt Properties, uncheck the "Allow screen
  1212. saver" box, and check the "Always suspend" box.
  1213.  
  1214.  
  1215. Make sure there's enough free disk space
  1216. ----------------------------------------
  1217.  
  1218. If you get error messages like "can't lock memory" under Win 95, or if you
  1219. get other weird, inexplicable errors, make sure you haven't run out of disk
  1220. space; delete some files if necessary.  You can see how much disk space is
  1221. free by bringing up "My Computer" and clicking on the disk icon; the free
  1222. disk space will be shown at the bottom of the window.
  1223.  
  1224.  
  1225. Run fullscreen
  1226. --------------
  1227.  
  1228. Quake can run in a window under Win95--but it will run very slowly.  You are
  1229. unlikely to get satisfactory performance unless you run Quake fullscreen.
  1230. Quake normally comes up fullscreen under Win95; if you have switched it back
  1231. to windowed mode, you can get that window back to fullscreen by clicking on
  1232. it and then pressing Alt-Enter.
  1233.  
  1234.  
  1235. Shut down other applications
  1236. ----------------------------
  1237.  
  1238. Many Win95 apps and DOS apps run even when they're not the foreground
  1239. application.  Such applications contend for system resources such as memory,
  1240. processor cycles, and sound hardware.  If Quake seems to be running choppily,
  1241. if sound is garbled, or if the disk is going all the time, try shutting down
  1242. whatever other applications you have running.  For example, some players
  1243. have reported that Quake does not run as well when the Office shortcut bar
  1244. is running.
  1245.  
  1246.  
  1247. Restore the palette if it gets garbled
  1248. --------------------------------------
  1249.  
  1250. Under Win 95, the palette occasionally gets messed up when switching from
  1251. Quake to the desktop and back again.  You can restore the palette by
  1252. bringing down the console (either press tilde ('~'), or press Esc to bring
  1253. up the menu, select Options, and select Console... from the Options menu),
  1254. and typing bf and pressing the enter key, to generate a background flash,
  1255. which sets the palette.  Press Esc to exit the console.  Alternatively,
  1256. setting the screen brightness, either from the Options menu or via the
  1257. gamma console command, sets the palette.
  1258.  
  1259.  
  1260. Avoid the system key
  1261. --------------------
  1262.  
  1263. Under Win 95, if the system key (the key with the Win 95 flag on it) is
  1264. pressed while Quake is running fullscreen in a VESA mode, Win 95 may be
  1265. unable to switch back from the desktop to Quake, in which case it will
  1266. notify you of this, then terminate the Quake session.  This is a quirk
  1267. of Win 95, and there is no workaround other than not to press that key
  1268. or not to use VESA modes.  (Some people go so far as to remove the system
  1269. key from their keyboard.)  Switching away from Quake with Alt-Enter,
  1270. Ctrl-Esc, Alt-Tab, or Alt-Spacebar all work fine.
  1271.  
  1272.  
  1273. Give Quake more and/or locked memory
  1274. ------------------------------------
  1275.  
  1276. By default, Quake tries to allocate 8 Mb of unlocked memory for heap space
  1277. under Win 95.  More memory helps Quake run faster; you can allocate more
  1278. memory for Quake under Win95 by setting the command-line switch
  1279.  
  1280. -winmem x
  1281.  
  1282. where x is the number of megabytes to allocate for Quake.  If there's enough
  1283. memory in the system, the larger the number, up to about 16, the better the
  1284. performance.  If, however, there isn't enough memory in the system, or many
  1285. other applications are running, the larger number can just cause Quake to
  1286. page to disk a lot, and can actually slow performance considerably.  Also,
  1287. higher numbers can also cause Win 95 to take longer to start Quake and take
  1288. longer to return to the desktop afterward.  If you have 32 Mb or more in your
  1289. machine, -winmem 16 should provide the best performance for Quake.  If you
  1290. have less than 32 Mb, or a lot of applications running, then you will have
  1291. to experiment to find the best amount of memory to allocate for Quake.
  1292.  
  1293. You may optionally instruct Quake to lock itself in memory by using the
  1294. command-line switch
  1295.  
  1296. -winlock
  1297.  
  1298. so it won't get paged out by other applications.  This can avoid hitches when
  1299. parts of Quake get paged into and out of memory, and thus provide a smoother
  1300. playing experience.  On the other hand, it can cause Quake to take longer to
  1301. start, and can make the return to the desktop take longer when Quake ends,
  1302. because Quake has been hogging a lot of memory.  It is even possible, if most
  1303. of the memory in the system is locked by Quake, that it will take many
  1304. minutes to switch back to the desktop while Quake is running, so the system
  1305. will effectively be nearly frozen.  Therefore, use -winlock with caution;
  1306. Quake is not as well-behaved a Win95 citizen when -winlock is specified, and
  1307. does not share resources particularly well.
  1308.  
  1309. -winmem can be used in conjunction with -winlock; if -winmem specifies more
  1310. memory than is available to be locked, then Quake will lock as much memory
  1311. as possible.  Being too aggressive about how much memory is locked can
  1312. actually slow Quake performance, because unlocked parts of the system like
  1313. system CD and sound code and data can then be forced to page, so if you do
  1314. lock memory, you will have to experiment to find the sweet spot, unless you
  1315. have 32 Mb or more of memory.
  1316.  
  1317. -winlockunlock can be specified as an alternative to -winlock, to tell Quake
  1318. to lock its memory when it starts, then immediately unlock it.  The
  1319. advantages of doing this are: 1) it forces all of Quake's pages into memory,
  1320. so no pages should need to be brought in as Quake runs, making for smoother
  1321. running at the start, and 2) it enables Quake to determine whether the
  1322. specified amount of memory (if -winmem is also specified) is available in the
  1323. machine, so you can be sure Quake won't try to allocate more heap space than
  1324. the the amount of physical memory that's actually available.  Like -winlock,
  1325. -winlockunlock causes Quake to take quite a bit longer to start up, but it
  1326. has the advantage of making Quake a good Win95 citizen if you need to switch
  1327. back to the desktop, or have other apps running.
  1328.  
  1329. In general, Quake will run fine without any of the -winxxx switches, but you
  1330. may find that one or more of them--particularly -winmem if you have more than
  1331. 16 Mb--helps Quake performance on your machine.
  1332.  
  1333. None of this is an issue under DOS itself (as oppsed to a DOS box under
  1334. Win95), because Quake just uses all the memory in the machine under DOS.
  1335.  
  1336.  
  1337. ==========================================
  1338. ==        Key Binding and Aliases       ==
  1339. ==========================================
  1340.  
  1341. Pressing the tilde key ("~") will bring down the console (pressing the
  1342. tilde key or ESC while in the console will close the console). From the
  1343. console you can adjust your player controls, this is done by "binding"
  1344. keys to commands.  The format for binding keys is as follows:
  1345.  
  1346. bind <key> <command>
  1347.  
  1348. Where <key> is a valid key control and <command> is a valid quake command.
  1349.  
  1350. Example:
  1351. To bind the j key to the 'jump' command, you would type:
  1352. bind j +jump            
  1353. and press enter.
  1354.  
  1355. Non-printable keys such as 'page up' and buttons from the mouse/joystick are
  1356. bound in the same manner as printable characters. A list of bindable keys can
  1357. be found at the end of this file.
  1358.  
  1359. Example:
  1360. To bind the page up key to the 'jump' command, you would type:
  1361. bind pageup +jump
  1362. and press enter.
  1363.  
  1364. To bind the right mouse button to the attack command, you would type:
  1365. bind mouse2 +attack
  1366. and press enter.
  1367.  
  1368. The alias command is used to create a reference to a command or list of
  1369. commands.  When aliasing multiple commands, or commands that contain
  1370. multiple words (such as "fraglimit 50"), you must enclose all the commands
  1371. in quotation marks and separate each command with a semi-colon.
  1372.  
  1373. Example of an alias that changes some Deathmatch server parameters:
  1374.  
  1375. alias net_game "hostname my_server ; fraglimit 15 ; timelimit 15"
  1376. bind INS net_game
  1377.  
  1378. Once the server is spawned (you must be the one running the -listen server),
  1379. you just push the Insert key to set the hostname, frag limit and time limit
  1380. of the server. So now the first person to 15 frags, or with the one with the
  1381. most frags in 15 minutes, wins.
  1382.  
  1383. Another example would be to change to the Rocket Launcher, fire one rocket,
  1384. and change back to the Double Barrel Shotgun, when you press the "," key:
  1385.  
  1386. alias rl_dbsg "impulse 7 ; +attack ; wait ; -attack ; impulse 3"
  1387. bind , rl_dbsg
  1388.  
  1389. Aliasing is very powerful, allowing you great flexibility, so you should
  1390. experiment by aliasing different commands in various ways.
  1391.  
  1392. A list of common commands can be found in the next section.
  1393.  
  1394.  
  1395. ==========================================
  1396. ==    Quake Keys and Common Commands    ==
  1397. ==========================================
  1398.  
  1399. The following keys can be bound:
  1400.  
  1401. A-Z                     0-9
  1402. *F1-F12                 *TAB
  1403. ENTER                   SPACE
  1404. BACKSPACE               UPARROW
  1405. DOWNARROW               LEFTARROW
  1406. RIGHTARROW              ALT
  1407. CTRL                    SHIFT
  1408. INS                     DEL
  1409. PGDN                    PGUP
  1410. HOME                    END
  1411. PAUSE                   SEMICOLON
  1412.  
  1413. MOUSE1 (mouse button 1)
  1414. MOUSE2 (mouse button 2)
  1415. MOUSE3 (mouse button 3)
  1416.  
  1417. *~ (tilde)
  1418.  
  1419. * Can only be bound on the command line or in a .cfg file.
  1420.  
  1421. The ESC key cannot be bound. 
  1422.  
  1423.  
  1424. ==========================================
  1425. ==         Making a Config File         ==
  1426. ==========================================
  1427.  
  1428. The commands (bindings and aliases) discussed above can be included into a
  1429. file containing all of your personal configurations, known as a "config"
  1430. file.  This file can then be loaded during game play to enable all your
  1431. personal bindings and settings.
  1432.  
  1433. To do this, use your favorite editor to create a new file, such as
  1434. "fragmstr.cfg".  Your .cfg file MUST be located in the quake\id1 directory
  1435. or quake won't find it.  Then after launching Quake, you would type "exec
  1436. fragmstr.cfg" and press enter, from the console.  You can also exec you .cfg
  1437. file from the DOS command prompt by typing "quake +exec fragmstr.cfg".
  1438. When you exec a config file, it is the same as typing all the lines in your
  1439. config file into the console, only Quake does it for you.  Here is an
  1440. example config file (c:\quake\id1\bear.cfg) and the meaning of all the
  1441. bindings, aliases and settings:
  1442.  
  1443. -------------------------------cut here-------------------------------------
  1444. name player1            // Sets player name to player1 (lets your opponent
  1445.                         // know who fragged them)
  1446.  
  1447. sensitivity 4           // Sets the mouse sensitivity to 4
  1448.  
  1449. scr_conspeed 5000       // Sets the console raise/lower speed
  1450.  
  1451. lookspring 0            // Sets Mouse Look Spring to 0 (0=keep looking,
  1452.                         // 1=spring back, when mouse button is released)
  1453.  
  1454. vid_mode 10             // Sets Video Mode to mode 10 (360X480 resolution)
  1455.  
  1456. gamma .8                // Sets Gamma Correction to .8 (<1=Lighter, 1=normal
  1457.                         // and >1=darker)
  1458.  
  1459. viewsize 70             // Sets the Screen View size to 70 degrees
  1460.  
  1461. bind mouse1 +forward    // Binds the left mouse button to Move Forward
  1462.  
  1463. bind mouse3 +attack     // Binds the middle mouse button to Fire
  1464.  
  1465. bind mouse2 +mlook      // Binds the right mouse button to Mouse Look
  1466.  
  1467. bind HOME "save bear1"  // Binds the Home Key to quick save, saves to
  1468.                         // bear1.sav
  1469.  
  1470. bind ENTER +showscores  // Binds the Enter key to show Deathmatch Scores
  1471.  
  1472. bind SHIFT +speed       // Binds the Shift key to Run
  1473.  
  1474. bind CTRL +jump         // Binds the Control key to Jump
  1475.  
  1476. bind ; +mlook           // Binds the ; key to Mouse Look also
  1477.  
  1478. bind . +moveleft        // Binds the . key to Strafe Left
  1479.  
  1480. bind / +moveright       // Binds the / key to Strafe Right
  1481.  
  1482. color 3 4               // Makes Uniform Top green and Pants Red for Net play
  1483.  
  1484. alias rl_dbsg "impulse 7 ; +attack ; wait ; -attack ; impulse 3"
  1485.  
  1486. bind , rl_dbsg          // Aliases single rocket attack command and binds
  1487.                         // it to the ',' key.
  1488. -------------------------------cut here-------------------------------------
  1489.  
  1490.  
  1491. ==========================================
  1492. ==         Reporting Quake Bugs         ==
  1493. ==========================================
  1494.  
  1495. How to use the bug report:
  1496.  
  1497. Where to send bug reports:
  1498. E-mail  : support@idsoftware.com
  1499. FAX     : 214-686-9288
  1500.  
  1501. There are two sections of information - primary and secondary.
  1502.  
  1503. Primary information contains information such as date, your name, e-mail
  1504. address, etc.  Secondary information is actual bug information. There are
  1505. a few different sections depending on what type of bug you revieced
  1506. (sound, video, etc). Only fill out and include information from the section
  1507. related to the type of bug you received.
  1508.  
  1509. If possible, start Quake with the "-condebug" command line parameter
  1510. and try to reproduce the bug. Attach the "qconsole.log" file found in the
  1511. "id1" directory to the end of the bug report. If the bug is sound related,
  1512. while in Quake, execute the SOUNDINFO and SBINFO (DOS only) commands from
  1513. the console.
  1514.  
  1515. Please attach a copy of your CONFIG.SYS and AUTOEXEC.BAT file to the end of
  1516. the report.
  1517.  
  1518. Bugs submitted properly with this form will get attention.
  1519. Unformatted ones sent to personal accounts will be ignored.
  1520. If you see problems, please take the time to do this.
  1521.  
  1522. If you do not have all of the information requested in the form,
  1523. don't worry. Send what you do have.
  1524.  
  1525. Please include the version #. THe version # for Quake can be found in the
  1526. lower right hand corner of the console. To bring up the console, press the
  1527. tilde ('~') key. Press tilde ('~') again or ESC to exit.
  1528.  
  1529. -------------------------------cut here-------------------------------------
  1530.  
  1531.  
  1532. ============================================================================
  1533. ==              Quake Bug Report - Primary information                    ==   
  1534. ============================================================================
  1535.  
  1536. Date:  
  1537. Name:  
  1538. Phone number:  
  1539. E-mail address:  (please include this, we redirect tons of mail)
  1540. Game Title:  
  1541. Version #: 
  1542. Operating system (i.e., DOS 6.0 or Windows 95):
  1543. Computer type:  
  1544. BIOS date:
  1545. BIOS version:
  1546. Processor type:  
  1547. Processor speed:  
  1548. Do you program at school/work?
  1549. Do you provide tech. support at school/work?
  1550. Please state the problem you encountered:
  1551. Please state how to reproduce the problem:
  1552.  
  1553. If program crashed with nasty undecipherable techno-garbage, please
  1554. look for the eight-digit hex number which comes after "eip="
  1555. and write it down here:
  1556.  
  1557.  
  1558. ============================================================================
  1559. ==              Quake Bug Report - Secondary information                  ==
  1560. ============================================================================
  1561.  
  1562. ------------------------------ Video Related ------------------------------ 
  1563.  
  1564. Video Card Manufacturer:
  1565. Video Card Model:
  1566. Chipset Used:
  1567. BIOS Date:
  1568. (If using UniVBE, The above information can be found by running uvconfig)
  1569.  
  1570. Did the problem occur while in a VESA mode?
  1571.  
  1572. If so, what is the VESA driver and version?  (eg., UniVBE 5.1a,
  1573. built into board BIOS, or manufacturer provided TSR)
  1574.  
  1575. ------------------------------ Sound Related ------------------------------
  1576.  
  1577. Audio card brand and model:  
  1578.  
  1579. If DOS or a DOS box, please run the command "set > set.txt" then
  1580. attach "set.txt" to the end of the report.
  1581.  
  1582. ----------------------------- Network Related -----------------------------
  1583.  
  1584. What type of network connection was established when the error occurred?
  1585. (modem, nullmodem, or network)
  1586. If modem, Modem brand and model:
  1587.  
  1588. If network, Network card brand and model:
  1589.             Network protocol/configuration:  
  1590.  
  1591. ---------------------------------------------------------------------------
  1592.  
  1593.  
  1594.  
  1595.  
  1596.  
  1597.  
  1598.  
  1599.