From 0023db327bc1db00068284b70e1db45857aeee35 Mon Sep 17 00:00:00 2001 From: Travis Bradshaw Date: Tue, 31 Jan 2012 14:32:09 -0600 Subject: The Quake sources as originally release under the GPL license on December 21, 1999 --- WinQuake/data/TECHINFO.TXT | 1901 ++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 1901 insertions(+) create mode 100644 WinQuake/data/TECHINFO.TXT (limited to 'WinQuake/data/TECHINFO.TXT') diff --git a/WinQuake/data/TECHINFO.TXT b/WinQuake/data/TECHINFO.TXT new file mode 100644 index 0000000..31c0501 --- /dev/null +++ b/WinQuake/data/TECHINFO.TXT @@ -0,0 +1,1901 @@ +Welcome to the Quake Technical Information file! + +TABLE OF CONTENTS +----------------- +Introduction to the Console.............. +Video Subsystem Documentation............ +Sound Subsystem Documentation............ +CD Audio Subsystem Documentation......... +Network Subsystem Documentation.......... +Modem Strings............................ +Win95 Documentation...................... +Key Binding and Aliases.................. +Quake Keys and Common Commands........... +Making a Config File..................... +Demos.................................... +Reporting Quake Bugs..................... + + +========================================== +== Introduction to the Console == +========================================== + +Throughout this document, examples of commands are given, all of which +are typed in at the console. To bring up the console, press the tilde ('~') +key or press ESC to bring up the menu, select Options, and select Console... +from the options menu. To exit the console, press ESC. + +The console provides a way to change console variables and also accepts +commands that change game settings such as movement keys, video mode, as +well as providing an interface for key binding and command aliasing (more +on that later). + +The console also has a command history with which you can browse through +previous commands. Use the up and down arrows to navigate through the +command history and press to re-issue a command. + +Partially typing a command and then pressing the TAB key will complete the +currently typed text with the first matching console variable or command. +(Yes, this is a good way to look for console commands.) + +To review previous actions by page, use the PGUP and PGDN keys. + + +========================================== +== Video Subsystem Documentation == +========================================== + +The Video Modes menu +-------------------- + +Video modes can most easily be selected from the the Video Modes menu, which +is brought up by selecting the Video Options choice in the Options menu. +All the resolutions that Quake can support on the current computer are +displayed. + +Please note that higher-resolution modes require correspondingly more +system memory in order for Quake to run, and that some high-resolution +modes may not be available when running Quake on 8 Mb machines. Such +modes are not listed in the Video Modes menu. Please do not report +video modes that do not appear in the Video Modes menu as bugs; either +those modes are not supported by your video adapter, or there is not +enough system memory for Quake to support those modes. + +The video modes listed in the Video Modes menu can be tested, set, and made +the default mode for Quake from the Video menu, as follows: + +* The arrow keys can be used to move the blinking indicator to any of the +modes listed in the Video menu. + +* Pressing the 'T' key tests the mode the blinking indicator points to, by +setting the mode, leaving it set for 5 seconds, and returning to the previous +mode. This lets you verify that your computer does in fact support that +mode. We highly recommend that you always test modes with 'T' before setting +them permanently by pressing the Enter key, in case some sort of hardware or +software glitch causes a mode to function incorrectly and produce a garbled +screen. It is unlikely but possible that testing or setting a mode will +cause your computer to hang or crash; if this happens, there is a serious +hardware or software bug, and you should not attempt to select that mode +again. + +* Pressing the Enter key sets the mode the blinking indicator points to, +leaving it set so Quake will then run in that mode. We suggest that you +test a mode by pressing the 'T' key before setting it by pressing the Enter +key. Note that a selection made with the Enter key remains in effect only +until Quake is exited (or a new mode is set). You must explictly make a mode +the default mode by pressing the 'D' key in order to automatically set that +mode when you start Quake up in the future. + +* Pressing the 'D' key makes the current mode the default mode that Quake +starts up with. Note that the current mode is the mode that's displayed in +white in the mode list, not necessarily the mode that the blinking indicator +points to. The current default mode is listed in the description of the 'D' +key at the bottom of the Video Modes menu. + +* Pressing Esc exits the Video Modes menu. + +Please see "Bug Reporting," below, for information on how to report any +problems you encounter. + + +Video modes from the console: Quick start +------------------------------------------ + +More comprehensive but more complex video control is available through the +Quake console. This section describes the commands necessary to perform +basic mode setting through the console (this is similar to what can be +accomplished through the Video Modes menu), and following sections describe +console video control in detail. + +To see all the video modes that are available, bring up the console (either +press tilde ('~'), or press Esc to bring up the menu, select Options, and +select Console... from the Options menu). + +From the console, type vid_describemodes to see all available modes. +Type vid_mode to set a mode, where is the mode number +listed for the desired mode by vid_describemodes. Higher-resolution modes +generally require more extra system memory in order to run, and many are +not available in 8 Mb systems; modes that are supported by the video +adapter but are currently unavailable due to system memory limitations +will still show up in the mode list from vid_describemodes, but will +have "**" in place of a mode number. (Such modes will not show up at +all in the Video Modes menu.) If you try to set a mode for which +there is insufficient system memory, you will receive a message to that +effect, and the video mode will remain unchanged. + + +More detail +----------- + +This version of Quake supports software drawing in a variety of +video modes. It does not support any 3-D hardware accelerators. +Video modes that are built into Quake are: + +320x200, 360x200, 320x240, 360x240, 320x350, 360x350, 320x400, +360x400, 320x480, 360x480 + +However, the higher-resolution modes on this list require additional +memory, and may not be available in 8 Mb systems. + +In addition, all VESA 2.0 256-color linear framebuffer modes +supported by the video adapter are supported. Further information +about VESA 2.0 is provided below. + + +Video mode reporting and selection +---------------------------------- + +Quake assigns each available video mode a mode number, which can +then be used to query information about the mode or to select the +mode. The first 11 mode numbers are always as follows: + +0: 320x200 +1: 320x200 +2: 360x200 +3: 320x240 +4: 360x240 +5: 320x350 +6: 360x350 +7: 320x400 +8: 360x400 +9: 320x480 +10: 360x480 + +You will notice that modes 0 and 1 are both 320x200; mode 1 is a +Mode X-style version, which may someday allow support of page +flipping for cleaner graphics, but right now it's just slower with +no advantages, so use mode 0 for 320x200 resolution. Modes 2-10 +are all higher resolution than mode 0, and look very nice, but are +also all slower than mode 0. Mode 0 is the fastest of the 11 +built-in modes. + +In addition to the built-in modes, Quake checks for the presence +of a VESA version 2.0 driver. If such a driver is detected, the +driver is queried for all 8-bit-per-pixel linear framebuffer (LFB) +modes that are supported; also, if no LFB 320x200 mode is available, +a banked 320x200 VESA mode is queried for. All such modes are added +to the mode list starting at mode 11. The available modes will vary +depending on adapter, graphics chipset, amount of video memory, and VESA +2.0 driver. The higher the resolution, the lower the performance, and +the higher-resolution modes will often be too slow for good gameplay +on most machines. (Also, higher-resolution modes often need more memory +than is available in an 8 Mb system.) The screen can be sized down to +improve performance in higher-resolution modes, but then of course the +effective resolution of Quake is reduced. + +At the same resolution, VESA LFB modes are often faster than the non-VESA +modes 0-10, because adapters often have faster memory access in LFB modes. + +If a given VESA mode can support page flipping, then it defaults to page- +flipped operation. A VESA mode can be forced to non-page-flipped operation +by setting the vid_nopageflip console variable to 1, then setting the mode + (note that vid_nopageflip takes operation on the next, not the current, mode +set, and note that it then stays in effect permanently, even when Quake is +exited and restarted, unless it is manually set back to 0). If there is not +enough memory for two pages in a VESA mode, or if the +adapter doesn't support page flipping, then the mode will automatically +be non-page-flipped. Page flipping can have higher visual quality, but may +be either faster or slower, depending on the graphics adapter and other +hardware. (See the discussion of the Pentium Pro, below, for a +discussion of why page flipping can be faster but is sometimes much slower +on that processor.) Page-flipped modes use less system memory than non- +page-flipped modes. + +Quake's VESA support, including VESA driver detection, can be disabled by +using the -stdvid command-line switch, and can also be disabled, along with +sound, network, and other hardware support, by the -safe command-line switch. + +The maximum resolution supported by Quake is 1280x1024. Modes with higher +resolutions will not be reported by vid_describemodes, and cannot be set. + +There is no support for any 3-D accelerator boards in this version of Quake. +Coming soon. + +Quake always starts up in mode 0, and modes 0-10 are always available, given +enough system memory. + + +A note on modes reported in the Video Modes menu +------------------------------------------------ + +The vid_describemodes console command lists all modes with +resolution less than or equal to 1280x1024 that are +supported by the video adapter, although modes for which there +is not enough system memory have "**" for the mode number. VGA, +Mode X-style, and VESA 2.0 modes are listed separately, so a +single resolution can be listed as many as three times, once for +each hardware mode that supports it. For example, mode 0 is +VGA mode 0x13, which supports 320x200 resolution, and mode 1 is +320x200 Mode X-style mode. Quake looks identical in both +modes, although it usually runs faster in mode 0. + +The Video Modes menu is much simpler. Only modes with resolution +less than or equal to 1280x1024 that are both supported by the +hardware and for which there is sufficient system memory are +listed. Further, a given resolution is listed only once. If a +given resolution is available in multiple hardware modes, then +selecting that resolution will select the appropriate hardware mode +as follows: + +If the mode is 320x200, then VGA mode 0x13 is selected, and +equivalent Mode X and VESA modes are ignored; + +Otherwise, the VESA version of the mode is used. + +You can always see what video mode is selected from the console by typing +the command: + +vid_mode + +command. + +None of this has any effect on selecting modes through the +console, where all the different versions of each mode are +listed, and the desired version can be selected by using the +appropriate mode number. + + +How to get VESA 2.0 support +--------------------------- + +Some video adapters have VESA 2.0 support in ROM. Other video +adapters come with loadable VESA 2.0 TSRs. In the absence of either +of these, UniVBE, a shareware product from SciTech, provides VESA 2.0 +support for most video adapters. The latest version of UniVBE can be +obtained from the following locations: + +www: http://www.scitechsoft.com +ftp: ftp.scitechsoft.com +CIS: GO SCITECH +AOL: Keyword SciTech + +SciTech can be contacted at: + +email: sales@scitechsoft.com + +SciTech Software +5 Governors Lane, Suite D +Chico, CA +95926-1989 + +The current version at this writing is UniVBE 5.2. This version +supports many more adapters than previous versions, and adds +a number of useful low- and medium-resolution modes, such as 400x300 +and 512x384. + + +Video-related commands +---------------------- + +vid_describecurrentmode + lists the description for the current video mode. + +vid_describemode + lists the description for the specified video mode, where is as + reported by vid_describemodes. + +vid_describemodes + lists descriptions for all available video modes. + +vid_mode + sets the display to the specified mode, where is as reported by + vid_describemodes. + +vid_nopageflip <1|0> + when set to 1, VESA mode sets will always select non-page-flipped + operation. When set to 0, VESA mode sets will select page-flipped + operation whenever possible. All non-VESA modes are always + non-page-flipped. The setting of vid_nopageflip is remembered + when Quake is exited (by being saved in config.cfg), and is reloaded + when Quake is restarted, so once vid_nopageflip is set to 1, all + VESA modes set in all Quake sessions after that point be will non-page- + flipped until vid_nopageflip is set to 0. Note that setting this + variable doesn't affect whether the current video mode is page-flipped, + but rather whether page-flipping can be used by future mode sets. + +vid_nummodes + reports the total number of modes available. + +vid_testmode + tries to switch Quake to the specified mode, then returns to the current + mode after 5 seconds. This allows you to try an untested mode without + ending up with a black screen if, for example, the monitor can't display + the mode properly. There may still be instances in which, due to VESA + driver or hardware bugs, the machine will hang in certain modes; + vid_testmode can't recover from these situations, but it can recover + from a blank or scrambled screen. + +vid_wait + sets the type of waiting that the video adapter should do, as follows: + 0: no waiting + 1: wait for vertical sync active + 2: wait for display enable active + +The default state of vid_wait depends on the video mode selected. +(_vid_wait_override can force vid_wait to 1, wait for vertical +sync; see the description of _vid_wait_override below.) +In built-in modes 0-10, the default is always 0, no waiting. You +can set vid_wait to 1 (wait for vertical sync) to eliminate shear +and tearing in these modes (so partially-completed frames are never +drawn, resulting in a rock-solid image). However, waiting for +vertical sync can result in substantial performance loss. + +In VESA modes, if the adapter is VGA compatible and there's enough +memory for three video pages, then triple-buffering is enabled and +vid_wait is set to 2, wait for display enable. There is little +performance loss to this sort of waiting. If the adapter is not +VGA compatible, or if there's only enough memory for double-buffering, +then vid_wait is set to 1 (wait for vertical sync). This can cause +significant loss of performance, but some sort of wait is generally +necessary to avoid occasional glitching of the screen when +page-flipping; we always choose the lowest-cost wait option that +seems to be safe to use. If there's only enough memory for one +page, or if vid_nopageflip 1 is in effect, then vid_wait is set to 0 +(no wait). As with modes 0-10, vid_wait 1 can be used to eliminate +shear, but at a performance cost. + +We have encountered problems with a few adapters in VESA modes when +vid_wait is set to 2 (wait for display enable). Apparently some adapters +just toggle display enable all the time, rather than only when pixels +are being sent to the screen; this can cause occasional glitches in +which the screen image jumps for one frame. You can fix this by +setting vid_wait to 1 (wait for vertical sync). We would have made +vid_wait 1 the default, but it's slower, and vid_wait 2 works on most +machines. + +The default setting for vid_wait can be changed from the console +at any time. If you are in a VESA mode that waits for vertical +sync and want to turn it off to get a speed-up, you can do so. +However, changing a vid_wait 1 default in a VESA mode may result +in problems. If vid_wait defaults to 1 (wait for vertical sync) +in a mode, and you force it to 2 (wait for display enable), the +machine may hang, because some VGA-incompatible adapters, such as +some ATI Mach64s, don't support the display enable status. If you +force vid_wait to 0 (no wait), then the screen may glitch periodically +if the page flips at a time that results in a bad flip address, +although some adapters work fine with no wait at all. + +If you force a new setting for vid_wait and encounter problems, DO +NOT send us a bug report! + +_vid_wait_override <1|0> + can be used to force wait for vertical sync in all modes. When + _vid_wait_override is set to 0, the type of waiting, if any, for + each video mode that's set thereafter is automatically set to + what appears to be the fastest safe state. However, it is + possible in some cases that automatic setting may result in some + screen glitching, and it is also true that shear can be + eliminated by waiting for vertical sync (although at a cost in + performance), so it may be desirable in some cases to override + the automatic wait selection and always wait for vertical sync. + This can be done by setting _vid_wait_override to 1. Once set, + this remains in effect through all succeeding mode sets, even + when Quake is exited and re-entered; the only way to keep Quake + from waiting for vertical sync once _vid_wait_override is set to + 1 is to set _vid_wait_override to 0. Note that changing + _vid_wait_override doesn't affect the current mode, but rather + takes effect on the next mode set. _vid_wait_override is initially + set to 0. + +_vid_default_mode + can be used to force Quake to start up in a particular mode. + The easiest way to select a default mode is by pressing the + 'D' key in the Video Modes menu, but you can alternatively + use _vid_default_mode to specify the mode in which you want + Quake to start up in future Quake sessions. _vid_default_mode + is initially set to 0. + + +Higher-quality perspective texture mapping +------------------------------------------ + +For maximum speed, perspective correction is performed only every 16 +pixels. This is normally fine, but it is possible to see texture ripples +in surfaces that are viewed at sharp angles. For more precise texture +mapping, set the console variable d_subdiv16 to 0. Doing this will result +in somewhat slower performance, however, and the difference in visual +quality will not normally be noticeable. + + +Known video problems and workarounds +------------------------------------ + +If you think you've encountered a bug, see "Bug Reporting," below. +As a general rule, go back to mode 0 if you have problems; mode 0 +should work properly in all cases. + +On some ATI Mach64 adapters, the palette is sometimes too dark in +some VESA modes, and is tinted oddly (too red, for example) in other +modes. The workaround is to use different modes, or modes 0-10. + +In modes 0-10, shear and tearing can occur as partially finished +frames are displayed. Workaround: set vid_wait to 1 (wait for +vertical sync); this can result in a substantial performance loss, +however. An alternative is to use a page-flipped VESA mode. + +In page-flipped VESA modes, occasional glitched frames may occur with some +VESA driver-hardware combinations. Workaround: set vid_wait to 1 (wait +for vertical sync) (you can set _vid_wait_override to 1 to make waiting +for vertical sync permanent for future Quake sessions), or use a different +mode. + +The VESA video drivers that come with some video adapters don't +support low-resolution modes such as 320x200; often, +nothing lower than 640x400 is supported. For example, +this is the case with some ATI adapters. There's nothing +Quake can do to provide low-resolution VESA modes in these +cases, because Quake simply supports whatever modes the VESA +driver chooses to report as supported. Unfortunately, 640x400 +is too high a resolution for really good performance unless you +have a very fast Pentium or a Pentium Pro, so on machines with +this sort of adapter, the VESA modes aren't very usable. +Workaround: Use UniVBE 5.2, which supports low-resolution modes +on a wide variety of adapters. Note that a few adapters simply can't +support low-resolution modes, in which case you'll have to stick with +the low-resolution VGA and Mode X modes that are built into Quake, +which run fine but may be somewhat slower than VESA modes. + +A few video adapters are almost but not fully VGA compatible, because +they don't support some unusual VGA video modes. In particular, a few +adapters don't support the 360-wide Mode X-style video modes that are +build into Quake (modes 2, 4, 6, 8, and 10), and display garbage in those +modes. Workaround: use different modes, such as 0, 3, 5, 7, 9, or any +VESA modes that are available. + +Under Win 95, the palette occasionally gets messed up when switching from +Quake to the desktop and back again. You can restore the palette by +bringing down the console (either press tilde ('~'), or press Esc to bring +up the menu, select Options, and select Console... from the Options menu), +and typing bf and pressing the enter key, to generate a background flash, +which sets the palette. Press Esc to exit the console. Alternatively, +setting the screen brightness, either from the Options menu or via the +gamma console variable, sets the palette. + +Under Win 95, if the system key (the key with the Win 95 flag on it) is +pressed while Quake is running fullscreen in a VESA mode, Win 95 may be +unable to switch back from the desktop to Quake, in which case it will +notify you of this, then terminate the Quake session. This is a quirk +of Win 95, and normally there is no workaround other than not to press +that key or not to use VESA modes. (Some people go so far as to remove +the system key from their keyboard.) However, you can +disable the system key for Quake with the following utility: + +http://www.microsoft.com/windows/download/doswinky.exe + +Switching away from Quake with Alt-Enter, Ctrl-Esc, Alt-Tab, or +Alt-Spacebar all work fine (except that if you disable the system key +with doswinky.exe, Ctrl-Esc will also be disabled). + + +Performance +----------- + +Quake's graphics should be adequately fast in mode 0 (320x200) on all +Pentium-class machines. If you feel Quake is running slowly, set the +showturtle console variable to 1; you will then see a turtle icon +appear in the upper left corner of the screen if the frame rate drops +below 10 frame/second. If you are getting the turtle, you are probably +not getting great gameplay. Performance can be improved in several ways: + +* size down the screen with the minus key + +* select a lower-resolution mode, if possible + +* use a VESA mode + +* if you're using a VESA mode and vid_wait is set to 1 (wait for +vertical sync) by default (you can check by typing vid_wait +in the console), you can try setting vid_wait to 0 or 2, as detailed +in the discussion of the vid_wait command above. Be aware that +risks of screen glitching or hung machines are associated with +overriding a default vid_wait 1 setting in VESA modes. + +To see how exactly fast Quake is running, bring up the console and type + +host_speeds 1 + +You will see a display at the top indicating total frame time in +milliseconds, and also server, graphics, and sound frame time in +milliseconds. (Note, though, that unless you also do + +snd_noextraupdate 1 + +sound time will actually show up as graphics time. However, +snd_noextraupdate 1 can cause sound to get choppy, so it's not +generally recommended.) + +Lower numbers are better. + +Type + +host_speeds 0 + +to turn off the frame time display. + + +Pentium Pro Performance +----------------------- + +The Pentium Pro is a very fast Quake platform, but has one weak spot; it is +by default very slow on writes to video memory. This means that in default +hardware configurations, you are usually much better off setting +vid_nopageflip to 1 if you use VESA modes, so drawing is done to system +memory instead of to video memory. Remember that you must set the mode +after setting vid_nopageflip to 1 in order to get vid_nopageflip to take +effect. (vid_nopageflip can sometimes be faster on a Pentium, too, but +not by nearly as much in general, and it's often slower.) + +The Pentium Pro has some special features that are not turned on by default, +but which can help Quake performance a LOT. These features can be enabled +by John Hinkley's program FASTVID, which can be obtained from +ftp://members.aol.com/JHinkley/fastvid.zip. Performance in 640x480 +mode on a Pentium Pro/150 nearly doubled after FASTVID was run; Quake +was very playable (and looked great!) at this resolution. + +There's the usual caution with FASTVID: It could conceivably make your +system run goofily, or who knows what. FASTVID is not a product of +id Software, and id makes no guarantees regarding FASTVID. In other words, +use FASTVID at your own risk. + +************************************************************************ +IMPORTANT NOTE: FASTVID works only on Pentium Pros!!! Please do NOT +contact either John Hinkley or id with problems concerning FASTVID on +Pentium or 486 machines. +************************************************************************ + + +Video Bug Reporting +------------------- + +If you encounter a video-related bug, please fill out the form found at the +end of this file and e-mail it to support@idsoftware.com. There are several +problems that are not bugs, and shouldn't be reported, including: + +* unavailability of some VESA modes; VESA modes are only supported by +Quake if they are 8-bpp, are LFB modes (except for 320x200), and are +no greater than 1280x1024 in resolution. If you have a VESA mode +that doesn't seem to be working properly, please contact the +manufacturer; we just use the information that the VESA driver +provides us with. + +* problems that occur when you change vid_wait from a default value +of 1 (wait for vertical sync) in VESA modes + +* sluggish performance on 486s + +* the known palette problem on some Mach64s. + +* the known palette problems switching from fullscreen to the desktop and +back under Win95. + +* the known problems switching back from the desktop in VESA modes after the +system (Windows flag) key has switched from fullscreen to the desktop. + +* video modes that are not listed in the Video Modes menu, or that are not +listed or are listed with "**" in the output from vid_describemodes; such +modes are either not supported by your video adapter, or cannot be supported +by Quake in the amount of memory your system has. High-resolution modes will +often not be available in 8 Mb systems. + +* 360-wide video modes that don't work although other resolutions do work + +* lack of low-resolution VESA modes; the availability of low-resolution modes +is the responsibility of the VESA driver. UniVBE 5.2 provides low-resolution +modes on most adapters. + +Apart from these, we would very much like to hear about any video +problems you encounter. + + +========================================== +== Sound Subsystem Documentation == +========================================== + +Quake's sound subsystem works only with Sound Blaster compatible sound +cards. For Quake to get the correct settings for DMA channel and PORT +address, you must set your BLASTER environment variable (or have it set for +you with the DIAGNOSE utility in your SB16 directory). If you do not have +the BLASTER environment variable set, your sound will not work. If your +sound card supports Sound Blaster compatibility, Windows 95 should set this +variable for you. + +Note: some sound cards do not have 100% Sound Blaster compatible +hardware, but emulate the Sound Blaster interface. Such cards may +display some inconsistencies relative to an actual sound blaster. +In particular, sound may be delayed on some cards. + +Note: it is possible for sound to get choppy if the frame rate +drops to a very low level, below 5 frames a second. A frame rate +that low will not provide a good gameplay experience, so if you +do experience choppy sound, your machine is almost certainly not +fast enough to run Quake satisfactorily in general. + +If (when) you see bugs, please use the form attached to the end +of these docs to submit a bug report. + +Sound Card Command Line Options, Commands, and Variables +================================================================== + +The commands and variables below work under any operating system. +Command-Line options are typed on the command line in most any place +but only in operating systems which support command line interfaces, +like DOS's COMMAND.COM, or NEXTSTEP's or Linux's csh, sh, or bash. +For example, under DOS, the NOSOUND option would be used like this: +"C:> quake -nosound". + +Command-Line Options +-------------------- + +NOSOUND + Syntax: -nosound + Description: This will prevent *any* sound code from being executed. If + you are having technical difficulty with the game and then try + running the game with this option and the problem goes away, then + the problem is probably somewhere in the sound code. + +SSPEED + Syntax: -sspeed + Description: This will ask the sound code to set the playback speed + within the constraints of the capabilities of the card. This is + 11025 Hz by default and usually from 8000 to 44100. Making this + faster requires more CPU horsepower, and has no actual benefits, + because the sounds only contain 11 KHz data. Making this slower + degrades sound quality, but improves performance and saves memory. + +Commands +-------- + +SOUNDINFO + Syntax: soundinfo + Description: This prints the "portable" information on your current + audio hardware setting in the game. It specifies whether there is + stereo output (0 or 1), the number of samples in the DMA buffer, the + current sample position (changes each time you run SOUNDINFO and + ranges from 0 to the number of samples), the number of sample bits, + the submission chunk (1 in DOS or Linux w/ mmaped sound, larger in + Linux w/o mmaped sound), playback speed in Hz, the DMA buffer address + in hexadecimal (usually 8 digits after the 0x, starting with 0xf00.. + in DOS, starting with 0x400.. in Linux, and less than 8 digits if the + hardware was not initialized successfully), and the number of + channels mixed in software (8 by default, changeable w/NUMCHANNELS + command). + +STOPSOUNDS + Syntax: stopsounds + Description: Stops any current looping sounds. + + +Sound Blaster Sound Card Command-Line Options and Commands +========================================================== + +The following applies to Sound Blaster cards or compatibles under DOS +or a DOS box. + +Commands +-------- + +SBINFO + Syntax: sbinfo + Description: This will print information on the Sound Blaster card + in the system. If the version is 4 or greater, then it is some + kind of Sound Blaster 16 or compatible. Version 2 is an 8 bit mono + sound blaster, Version 3 is an 8 bit stereo sound blaster pro. + The port is the I/O port sensed from the A variable in the BLASTER + environment variable. The DMA is the DMA channel and is confirmed in + hardware if the card is version 4 or higher. The mixer port can be + ignored. + + +========================================== +== CD Audio Subsystem Documentation == +========================================== + +Overview +======== +Quake is designed to play background music off of a CD-ROM. The Quake CD has +music tracks on it and each level has been assigned a track that will be +played. + +Win95 Users: Putting a CD other than the Quake CD into the drive when Quake +is already running will sometimes cause another Windows application to start +and switch you back to Windows with Quake running in the background. You +will probably want to stop whatever was started and switch back to Quake as +quickly as possible... especially if you are playing deathmatch. + + +Command Line Parameters +======================= +-nocdaudio + This will prevent the CD audio system from even attempting to initialize. + No CD commands or functions will be available. The game will just run + with no music. + +-cdmediacheck + This causes the game to periodically check to see if the CD has been + removed and a new one placed in the player. It is off by default since + this operation is very slow on some CD players and is not needed under + Win95. There is normally no reason to enable this option; it would + only be useful if you were going to be changing the CD from within the + game on a regular basis. + +Commands +======== +There is normally no reason you would need to use any of these commands. If +you are playing Quake with the Quake CD in your CD-ROM drive, the appropriate +music track will be played automatically. + +cd on + Re-enables the CD audio system after a "cd off" command. + +cd off + Shuts down the CD audio system. No more music will be played unless it + is re-enabled. + +cd reset + Causes the CD audio to re-initialize. This is useful if you change + CDs or insert the CD after you've already run Quake. + +cd play + Plays the specified track one time. + +cd loop + Plays the specified track. It will be repeated until either it is + manually stopped or another track is started. + +cd stop + Stops the currently playing track. + +cd resume + Will resume playback of a stopped track. + +cd eject + This is for CD players that do not have a manual eject button. + +cd remap ... + Allows you to switch what tracks are played. This is especially useful + if you want to play music other than that on the Quake CD. If the CD + audio system is told to play track 1, it will instead play the 1st + track you specified. For example: assuming a CD with 1 data track and + 8 music tracks, the command "cd remap 1 9 8 7 6 5 4 3 2" would leave + the data alone and play the audio tracks as if they had been placed on + the CD in the opposite order. + +cd info + Reports information such as the number and types of tracks on the current + CD, what track (if any) is currently playing, and the playback volume. + + +Variables +========= +bgmvolume + The background music volume. Valid values are 0.0 though 1.0. Changes + will normally be made using the options menu. + + Not all CD-ROM players support variable volume. The 0.0 to 1.0 value + translated to a value from 0 to 255 before it is passed to MSCDEX. How + this value is interpreted varies from drive to drive. The only thing + required by the MSCDEX specification is that 0 is off and anything else + is on. Some CD-ROM drives only have on and off so change to bgmvolume + will have have no effect on volume once it is on. + + +Messages +======== +CDAudio_Init: MSCDEX version 2.00 or later required. + MSCDEX was either not loaded, or is a version earlier than 2.00. + +CDAudio_Init: First CD-ROM drive will be used + MSCDEX reported that the system has more than one CD-ROM drive. + Quake will always use the first drive in this case. + +CDAudio_Init: Unable to allocate low memory. + We were unable to allocate the memory needed to communicate with MSCDEX. + Although the game can still run, this indicates a severe low memory + condition. + +CD Audio Initialized + Indicates that the CD audio system has successfully initialized. + +CDAudio_Play: Bad track number N. + We attempted to play a track number that that is outside the range of + tracks recorded on the CD currently in the CD-ROM drive. Probable causes + are that a CD other than Quake is in the player, or a custom level has + specified an invalid track number. + +CDAudio_Play: Can not play data. + A valid track was requested to be played, but it was a not an audio track. + The probable causes are the same as for a bad track number. + +CDAudio_Play: track N failed + A valid audio track was going to be played, but the play command to MSCDEX + returned an error. + +CDAudio: media changed + This is simply a notification. It can only occur if the "-cdmediacheck" + option was specified on the command line. + +CDAudio: Error - playback stopped N + An error occurred while the CD was playing audio. Playback has been + stopped and no further automatic play will be attempted; the game will + proceed without music. + +CDAudio_Init: No CD in player. + MSCDEX reported an error while Quake was attempting to get information + about the current CD. There is either no CD in the player, or it was + unable to get the track information. No automatic CD play will be + attempted; the game will proceed without music. + + +========================================== +== Network Subsystem Documentation == +========================================== + +Overview +======== + +Quake is a client/server game. You are always running over some type of +network. In a standalone game, you are using a loopback network; it just +passes messages back and forth in memory buffers. This readme is talking +about real networks and multiplayer deathmatches. There are three main +sections: commands, LANs, and Serial. + +Most normal configuration can be done via the game menus. + +There are two types of Quake servers: dedicated and listen. A listen server +is a machine that is used to play the game and also hosts the game for other +players. A dedicated server only hosts the game; it runs in text mode and +does not let anyone play on that machine. A single player game is really +just a 1 player listen server that doesn't listen for network connections. + +Dedicated vs Listen. I'll try to make this simple: it is always better to +use a dedicated server. Why? Fairness and playability. With a listen +server, the person on the server always has advantages. They will always be +the first person into a level, they will always have zero latency, and they +will get a server update on each and every frame. On a dedicated server +everyone gets equal treatment. Getting into the server is a first come, +first served proposition; latency is determined by each player's connection; +and everyone is sent the same number of updates. It's about as fair as life +gets. By the way, a good 486 machine works nicely as dedicated server. + +Another suggestion. Until there is a native Win95 version of Quake, IPX will +usually provide better gameplay on a local area network. This is due to the +delicate balancing act that is required to let a DOS program use the Win95 +TCP/IP stack. + +To start a Dedicated Server, you invoke Quake with the "-dedicated" +command-line parameter. When the server starts, you can type any command +that you would normally type in the Quake Console, such as "map e1m1" to +start the server on a specific map. This can be done from the command- +line as well by typing "quake -dedicated +map e1m1". If a value is entered +after "-dedicated", that is the amount of players allowed to connect, up +to a maximum of 16 players. A dedicated server will quit to the OS whenever +a fraglimit or timelimit is reached. Example: "quake -dedicated 16" will +start a 16-player dedicated server. + +To start a Listen Server, you invoke Quake with the "-listen" command- +line parameter, or use the Multiplayer menu in the game. Starting a listen +server from the command-line will allow you to handle more than 4 players, +as 4 is the limit when starting a game from the Multiplayer menu. If a +value is used after the "-listen", that is the maximum amount of players +allowed, up to 16 players. + +Command Line Parameters, Commands, and Variables +================================================ + +Command line parameters +----------------------- +-nolan + Disables IPX, TCP/IP, and serial support. + +-noudp + Disables support for TCP/IP. + +-udpport + Specifies a UDP port to be used other than the default of 26000. + +-noipx + Disables support for IPX. + +-ipxport + Specifies a IPX port to be used other than the default of 26000. + +-noserial + Disable serial support. + +-mpath + Enables support for code to use Win95's TCP/IP stack. Do NOT use this + under DOS! + +-listen [n] + Starts Quake ready to be a non-dedicated server for up to + players. If you do not specify a number after -listen it will + default to 8. The maximum allowed value is 16. + +-dedicated [n] + Starts Quake ready to be a dedicated server for up to players. + If you do not specify a number after -listen it will default to 8. + The maximum allowed value is 16. A dedicated Quake server stays in + text mode. This is the Quake console with most commands still + available; those that make no sense (like vid_mode) are ommitted. + +Console Variables +----------------- + +net_messagetimeout + Specifies how long Quake should wait for a message to arrive before + deciding the connection has died. The default is 3 minutes. For + reference, messages usually arrive at the rate of about 20 per second. + +hostname + This is the name for your server that will show up on an slist + (see below). The default value is "unnamed". + +sys_ticrate + Only used by dedicated servers. This determines the rate at which the + server will send out updates to the clients. The default value is 0.05 + (20 updatesper second). For servers where bandwidth is limited, using + modems or the internet for example, it is advisable to lower this value + to 0.1 (10 updates per second). This will have a very minor effect on + responsiveness, but will half to outbound bandwitdh required making the + modem players a lot happier. + + +Console commands +---------------- + +net_stats + This is for debugging. It displays various network statistics. + +slist + Looks for Quake servers on a local LAN (or over a null modem + cable). This will NOT go outside the local LAN (will not cross + routers). + + +LANs +==== + +Here are the LANs that are supported by the Quake test +release. For each one, you'll be told how to connect to a server +*if it is not on your local network*. If it is, you can use the +"slist" command and connect by hostname. See the main readme for +a discussion of the connect command. + +IPX +--- + +Quake has been run with Novell's ODI IPX stack under DOS, PDIPX with packet +drivers under DOS, and the Microsoft IPX stack in a Win95 DOS box. When +connecting to a server using IPX, you specify its network:nodeaddress (like +12345678:1234567890AB). If you are on the same network, you can just specify +the node address. If you are doing a connect command from the console, a +full IPX address must be enclosed in quotes. + +For example, the server's IPX address is "00FADE23:00aa00b9b5b2", you would +enter: connect "00FADE23:00aa00b9b5b2" + +Win95 TCP/IP +------------ + +Please see the Win95 section of this file for details about playing using +TCP/IP under Win95. + +Kali +---- + +To Quake, Kali appears to be IPX. Once you've got Kali up and running, run +Quake as if it was on an IPX network. + +Beame & Whiteside TCP/IP +------------------------ + +This is the only DOS TCP/IP stack supported in the test release. +It is not shareware...it's what we use on our network (in case you +were wondering why this particular stack). This has been "tested" +extensively over ethernet and you should encounter no problems +with it. Their SLIP and PPP have not been tested. When connecting +to a server using TCP/IP (UDP actually), you specifiy it's "dot notation" +address (like 123.45.67.89). You only need to specify the unique portion +of the adress. For example, if your IP address is 123.45.12.34 +and the server's is 123.45.56.78, you could use "connect 56.78". + +Playing over the Internet +------------------------- +Yes, you can play Quake over the Internet. How many people can be in +the game? That depends. How smooth will the game be? That depends. +There are just too many variables (bandwidth, latency, current load, +etc...) for us to make any kind of promises about Internet play. + + +Serial/Modem +============ + +The Quake serial driver supports two COM ports. Although they are referred +to as COM1 and COM2, you can configure them to use any normal hardware +COM port (1 thru 4 on most PCs). The com ports are used with interrupts, +so their IRQ may not be used for another purpose (such as a LAN adapter +or sound card). The IRQ may not be shared with another device either; +not even another COM port. A client can only be connected to one server +at a time, so multiple ports are really only useful on a server. +When using modems, the client must originate the call and the server +must answer. This holds true even for a two player, non-dedicated +server configuration. + +In the Multiplayer menu, the default modem string is "ATZ". If your modem +games are too slow, you can change this string to the appropriate one for +your modem as listed below in the "Modem Strings" section. + + +The COMx commands +----------------- + +Use the menus for serial play whenever possible. The console +interface is only for unusual configurations. It is much more +difficult to understand and use correctly. + +Those of you who do use the console commands for serial play need to +know that the menus always use the first Quake COM line (COM1); yes, +even for COM2. The names COM1 and COM2 here mean the first and second +serial ports, not necessarily the PC COM1 and COM2 ports (although those +are the default configurations). + +There are two commands to support serial/modem play for Quake. They +are: COM1 and COM2. Entering one of these commands with no arguments +will display the status of that serial port, similar to this: + +Settings for COM1 +enabled: true +connected: false +uart: 16550 +port: 3f8 +irq: 4 +baud: 57600 +CTS: ignored +DSR: ignored +CD: ignored +clear: ATZ +startup: +shutdown: ATH + +When used with arguments, these commands change the settings and +status of the COM ports. The possible arguments are listed below; +examples follow. + +enable | disable + "enable" means that your configuration is complete and you want to use + the COM port. "disable" is used to turn off a COM port, usually to + change its settings. The default (initial) state is disabled. + + +modem | direct + Use one of these two to let Quake know if you are using a modem or a + direct connection (also called a null modem). Quake uses this to know + if it needs to handles modem initialization strings, dialing sequences, + and hangup procedures. + +reset + This will reset the COM port to its default settings and state. + + +port +irq + These are used to set the I/O Port and IRQ that your serial port uses. + The default values are: port=3f8 irq=4 for COM1 and port=2f8 irq=3 for + COM2. Note that the port number is displayed in hexadecimal; to enter + it you would use something like "COM2 port 0x2f8"; the "0x" preceding + the "2f8" indicates that you are giving the value in hexadecimal + otherwise decimal is assumed. + + +baud + Sets the baud rate. Valid values for are: 9600, 14400, + 28800, 57600, and 115200. 57600 is the default. Please note that + this is the baud rate used for the uart, not your modem. It is + perfectly valid to use 57600 on a COM port that is connected to a + 28.8 modem. + +8250 | 16550 + Specifies the type of uart chip in your system. Normally this is + automatically detected, one of these need only be used if your chip + is incorrectly detected. + +clear +startup +shutdown + This allows you to specify the clear, startup, and shutdown strings + needed for a modem for playing Quake. If you've found values that + previously worked with Doom, use them here. If you are playing over + a null modem cable, leave these blank. + +-cts | +cts +-dsr | +dsr +-cd | +cd + These determine if certain serial control lines should be honored or + ignored. The "-" means you want that line ignored, the "+" means to honor + it. "cts" is an abbreviation for "clear to send", "dsr" for + "data set ready", and "cd" for "carrier detect". Do not change these + values unless you are absolutely positive you need to. The default is to + ignore all 3 lines. + +Quake always uses no parity, 8 data bits, and 1 stop bit; these +values can not be changed. The baud, port, irq, and uart type can +not be changed on an enabled port, you must disable it first. + + +Configuration examples +---------------------- +Example1: You have a machine with two serial ports you are going +to use as a Quake server. COM1 will be using a null modem cable and +COM2 will be connected to a 14.4 modem. You would use commands similar +(the startup string would almost certainly be different) to these: + +COM1 baud 57600 enable +COM2 baud 14400 modem startup AT\N0%C0B8 enable + + +Example2: You are going to use your machine to connect to a dial-up +Quake server with your 28.8 modem connected to COM2. You would +use a command something like this: + +COM2 baud 57600 modem startup AT\N0%C0B8 enable + +Note the baud rate is not the same as the modem speed. This allows +the modem-to-uart communications to occur at a higher rate than +the modem-to-modem communications. + +Connecting to a serial Quake server +----------------------------------- + +Connecting to a Quake server over a serial/modem connection is done +using the "connect" command. The command "connect 5551212" would try to +connect to a Quake server at the phone number 555-1212. Note: your local +phone company would probably appreciate it if you didn't try this number! + +If you are using a null modem cable, you can type "connect #". +Quake will then attempt to connect to the server. + + +Known problems / workarounds +============================ +Packet drivers with PDIPX - there is a bug that stops a server running on +this combination from responding to the slist command. Use the patched +version of PDIPX included with Quake to correct this problem. + +SLIST sees no servers - Some PCMCIA ethernet cards and PPP drivers will +not do the UDP broadcasts needed for the SLIST command (search for local +games from the menu) to function correctly. In these cases you must +connect to a Quake game using either its IP address or hostname +(DNS resolvable hostname, not the hostname variable in Quake). + +"BW_OpenSocket failed: 5" - This error is specific to the Beame and +Whitesdie TCP/IP stack. This stack uses DOS file handles as it's +socket handles. This error occurs when DOS runs out of file handles. +You need to increase the number specified by "FILES=" in the DOS +config.sys file. + +Severe lag using TCP/IP under Win95: + - Occasionaly when you first connect in to a Quake game using Win95 +TCP/IP you will experience severe lag and not be able to control your +player's actions. This usually clears up in 10 to 15 seconds. + - There is apparently a strange limbo state for Microsoft's File and +Print sharing. This has been seen when it was installed and then later +removed, but it still appears on the menus. For some unknown reason +this causes severe lag for a Quake game. You need to go back and make +sure that it is either completely installed or removed. + + +========================================== +== Modem Strings == +========================================== + +Boca M1440i (internal): +ATS48=0S37=9S46=136%C0%E0%M0&K0&Q0&R1&C1&D2\G0\N1N0 + +Boca 14.4k (internal): +AT&C0N0S37=9&K0W0&Q0S36=3S48=128%C0 + +Boca 14.4 Fax/Modem +AT S46=0 S37=9 N0 &Q0 &D2 &K4 + +Boca 14.4k (external): +AT &F S0=1 S36=0 &K0 &Q6N0S37=9 &D2 + +Boca 14.4k: +AT S46=0 S37=9 N0 &Q0 &D2 &K0 %C0 + +Cardinal 14.4k v.32bis, v.42bis Fax/Modem: +AT &F N0 S37=9 &Q0 &D2 \N1 + +Digicom Systems (DSI) (softmodem): +AT Z \N0 &D2 &K0 S48=48 + +Digicom Systems Scout Plus: +ATZ*E0*N3*M0*S0*F0&D2 + +Gateway Telepath: +AT &F S37=9 %C0 &K0 &Q6 \G0 + +Gateway Telepath 14.4k: +AT S46=0 S37=9 N0 &Q0 &D2 &K0 %C0 + +Gateway Telepath I: +AT S0=1 &N6 &K0 &M0 + +Gateway Telepath II: +AT S0=1 S37=9 %C0 &Q0 &K0 + +Generic v.32bis 14.4k Fax/Modem: +AT \N0 %C0 B8 + +Generic 14.4k Fax/Modem: +AT S46=0 S37=9 N0 &Q0 &D2 %C0 \G0 &K0 + +GVC 14.4k (internal): +AT &F B8 \Q0 + +Hayes 28.8k V.FAST Modem: +AT &Q6 &K S37=9 N %C0 \N0 + +Infotel 144I: +AT&Q0 S37=9 N0 &D2 + +Infotel 14.4: +&F0 \N1 &D2 S37=F8 + +Intel 14.4k: +AT \N0 %C0 \Q0 B8 + +Intel 14.4k (internal): +AT Z B8 Q1 \C0 \N1 %C0 \V "H + +Linelink 144e: +AT &F &D1 &K0 &Q6 S36=3 S46=136 %C0 +19200 + +Microcom AX: +&F \N1 \Q0 &D2 + +Microcom QX/4232bis: +AT %C0 \N0 + +Netcomm M7F: +AT &E &K0 B0 \V0 X4 &D2 \N1 \Q0 #J0 #Q9 %C0 + +Nokia ECM 4896M Trellis V.32: +AT Z %C0 /N0 + +Nuvotel IFX 14.4 (internal): +&F \N1 &D2 + +Practical Peripherals 14400FX v.32bis: +AT Z S46=0 &Q0 &D2 + +Practical Peripherals 14400FX v.32bis: +AT S46=0 &Q0 &K0 &D2 + +Supra: +AT &F0 S46=136 %C0 + +Supra (external): +AT &K &Q &D \N1 + +Supra 14.4k v.32bis: +AT &F S46=136 &Q0 &D2 + +Supra 14.4k v.32bis: +AT &K &Q &D \N1 + +Supra Fax Modem 14.4K v.32 bis +AT &F %C0 S48=7 Q0 V1 W1 + +Telepath 14.4k: +AT &F&M0&K0&N6&H0 S0=1 + +Twincomm DFi 14.4: +AT&F &Q0 %C0 S37=9 &D2 + +UDS V.3223: +&F \N1 \Q &D2 + +UDS Fastalk 32BX: +&F0 \N1 &D2 + +USR Courier v.32bis: +ATS0=1 S7=60 E1 Q0 V1 &C1 &D2 &H0 &K0 &M0 &N6 &A3 + +USR Courier HST/DS 16.8k: +First reset the modem in a communication program with AT&F&W +AT X4 B0 &A0 &B0 &H2 &I0 &K0 &M0 &N6a + +USR DS v.32bis v.42bis (external): +AT&m0&n6&a0&r1&h0&k0&i0&s0&b1x1 + +USR Sporster 9600: +AT&M0&K0&N6 + +USR Sportster V.34 28.8 (note: works best at 19200 baud): +AT &F &M0 &I0 &K0 &B0 &N0 + +USR Sportster 14.4k Fax/Modem USING ERROR CORRECTION: +AT S0=1 S7=60 E1 QO V1 &C1 &D2 &K0 &N6 &A3 + +USR Sportster 14.4k Fax/Modem (internal): +AT &F&M0&K0&N6&H0 + +USR Sportster 14.4k (internal): +AT &F &B1 &H0 &I0 &K0 &M0 &N6 &R1 + +USR Sportster 14.4k: +ATS0=1S7=60E1Q0V1&C1&D2&K0&N6&A3 + +USR Sportster 14.4k: +AT &F0 &K0 &M0 &N6 &H0 &I0 &B1 &R1 + +USR Sportster 14,000 Fax Modem: +AT S0=2 &N6 &K0 &M0 &I0 &H0 &R1 &A0 V1 X4 + +USR 14.4k: +AT &F&A0&K0&M0 + +USR 14.4k +AT &K0 &H0 &D0 &I0 &R1 + +USR 14.4k Dual Standard +ATB0&R1&B1&N6Q0X4&A0&D2&H0&I0&K0&M0M1 + +USR (model?): +&F E1 V1 X4 &C1 &D2 &N0 + +ViVa 14.4k: +AT&F&Q6\N0%C0&D2N0S37=9 + +ViVa modem (internal): +&F&Q6\N0%C0&D2N0S37=9 + +Zoltrix model 14/14 VE: +AT S0=Q0 V1 &C1 &D2 W2 &Q0 + +Zoom 14.4k VFX: +AT&Q6S37=9N0%C\N0 + +Zoom 14.4k VFX: +AT&Q6S37=11N0%C&K0 + +Zoom OEM Modem: +AT&Q6S37=9N0&K0 + +Zyxel U-1496E: +AT Z &N4 &K0 + + +========================================== +== Win95 Documentation == +========================================== + +Quake is a DOS application. However, it runs fine from the MS-DOS prompt +under Win95, so long as the Properties for the MS-DOS prompt are set up so +that Quake can run. (See "Set the MS-DOS Prompt Properties", below, for +information about setting MS-DOS Prompt Properties.) Quake will NOT run +under Windows NT. Following are some steps that can help Quake run better +under Win95. + + +Have enough memory +------------------ + +Quake requires at least 16 Mb of installed memory in order to run under +Win95. + + +Set the MS-DOS Prompt Properties +-------------------------------- + +If Quake won't run, the MS-DOS Prompt Properties may not be set correctly. +To set the Properties for the MS-DOS prompt, bring up a DOS session, and +either click on the MS-DOS icon in the upper left corner or press +Alt-Spacebar, then select Properties from the menu that comes up, and make +sure the following settings are correct. + +In the Program sheet of MS-DOS Prompt Properties, make sure the "Suggest +MS-DOS mode as necessary" is checked. + +In the Memory sheet of MS-DOS Prompt Properties, make sure all five fields +are "Auto". + +In the Screen sheet of MS-DOS Prompt Properties, set "Usage" to Full-screen. + +In the Misc sheet of MS-DOS Prompt Properties, uncheck the "Allow screen +saver" box, and check the "Always suspend" box. + + +Make sure there's enough free disk space +---------------------------------------- + +If you get error messages like "can't lock memory" under Win 95, or if you +get other weird, inexplicable errors, make sure you haven't run out of disk +space; delete some files if necessary. You can see how much disk space is +free by bringing up "My Computer" and clicking on the disk icon; the free +disk space will be shown at the bottom of the window. + + +Run fullscreen +-------------- + +Quake can run in a window under Win95--but it will run very slowly. You are +unlikely to get satisfactory performance unless you run Quake fullscreen. +Quake normally comes up fullscreen under Win95; if you have switched it back +to windowed mode, you can get that window back to fullscreen by clicking on +it and then pressing Alt-Enter. + + +Shut down other applications +---------------------------- + +Many Win95 apps and DOS apps run even when they're not the foreground +application. Such applications contend for system resources such as memory, +processor cycles, and sound hardware. If Quake seems to be running choppily, +if sound is garbled, or if the disk is going all the time, try shutting down +whatever other applications you have running. For example, some players +have reported that Quake does not run as well when the Office shortcut bar +is running. + + +Restore the palette if it gets garbled +-------------------------------------- + +Under Win 95, the palette occasionally gets messed up when switching from +Quake to the desktop and back again. You can restore the palette by +bringing down the console (either press tilde ('~'), or press Esc to bring +up the menu, select Options, and select Console... from the Options menu), +and typing bf and pressing the enter key, to generate a background flash, +which sets the palette. Press Esc to exit the console. Alternatively, +setting the screen brightness, either from the Options menu or via the +gamma console command, sets the palette. + + +Avoid the system key +-------------------- + +Under Win 95, if the system key (the key with the Win 95 flag on it) is +pressed while Quake is running fullscreen in a VESA mode, Win 95 may be +unable to switch back from the desktop to Quake, in which case it will +notify you of this, then terminate the Quake session. This is a quirk +of Win 95, and there is no workaround other than not to press that key +or not to use VESA modes. (Some people go so far as to remove the system +key from their keyboard.) Switching away from Quake with Alt-Enter, +Ctrl-Esc, Alt-Tab, or Alt-Spacebar all work fine. + + +Give Quake more and/or locked memory +------------------------------------ + +By default, Quake tries to allocate 8 Mb of unlocked memory for heap space +under Win 95. More memory helps Quake run faster; you can allocate more +memory for Quake under Win95 by setting the command-line switch + +-winmem x + +where x is the number of megabytes to allocate for Quake. If there's enough +memory in the system, the larger the number, up to about 16, the better the +performance. If, however, there isn't enough memory in the system, or many +other applications are running, the larger number can just cause Quake to +page to disk a lot, and can actually slow performance considerably. Also, +higher numbers can also cause Win 95 to take longer to start Quake and take +longer to return to the desktop afterward. If you have 32 Mb or more in your +machine, -winmem 16 should provide the best performance for Quake. If you +have less than 32 Mb, or a lot of applications running, then you will have +to experiment to find the best amount of memory to allocate for Quake. + +You may optionally instruct Quake to lock itself in memory by using the +command-line switch + +-winlock + +so it won't get paged out by other applications. This can avoid hitches when +parts of Quake get paged into and out of memory, and thus provide a smoother +playing experience. On the other hand, it can cause Quake to take longer to +start, and can make the return to the desktop take longer when Quake ends, +because Quake has been hogging a lot of memory. It is even possible, if most +of the memory in the system is locked by Quake, that it will take many +minutes to switch back to the desktop while Quake is running, so the system +will effectively be nearly frozen. Therefore, use -winlock with caution; +Quake is not as well-behaved a Win95 citizen when -winlock is specified, and +does not share resources particularly well. + +-winmem can be used in conjunction with -winlock; if -winmem specifies more +memory than is available to be locked, then Quake will lock as much memory +as possible. Being too aggressive about how much memory is locked can +actually slow Quake performance, because unlocked parts of the system like +system CD and sound code and data can then be forced to page, so if you do +lock memory, you will have to experiment to find the sweet spot, unless you +have 32 Mb or more of memory. + +-winlockunlock can be specified as an alternative to -winlock, to tell Quake +to lock its memory when it starts, then immediately unlock it. The +advantages of doing this are: 1) it forces all of Quake's pages into memory, +so no pages should need to be brought in as Quake runs, making for smoother +running at the start, and 2) it enables Quake to determine whether the +specified amount of memory (if -winmem is also specified) is available in the +machine, so you can be sure Quake won't try to allocate more heap space than +the the amount of physical memory that's actually available. Like -winlock, +-winlockunlock causes Quake to take quite a bit longer to start up, but it +has the advantage of making Quake a good Win95 citizen if you need to switch +back to the desktop, or have other apps running. + +In general, Quake will run fine without any of the -winxxx switches, but you +may find that one or more of them--particularly -winmem if you have more than +16 Mb--helps Quake performance on your machine. + +None of this is an issue under DOS itself (as oppsed to a DOS box under +Win95), because Quake just uses all the memory in the machine under DOS. + +By default, Quake tries to allocate 8 Mb of unlocked memory for heap space + + +Watch out for limbo subsystems +------------------------------ +Microsoft's File and Print sharing and IPX protocol stack have both been +known to cause strange problems when they are in a limbo state. The limbo +state is seems to be an uninstall that did not complete succesfully. Both +of these cause poor network play performance. If you are experiencing +severe lag, check the File and Print services. If you the warning "IPX +driver send failue: 04", check the IPX protocol stack. They need to be +either completely installed or removed; the problems only occur when they +get into this strange semi-installed state. + + +========================================== +== Key Binding and Aliases == +========================================== + +Pressing the tilde key ("~") will bring down the console (pressing the +tilde key or ESC while in the console will close the console). From the +console you can adjust your player controls, this is done by "binding" +keys to commands. The format for binding keys is as follows: + +bind + +Where is a valid key control and is a valid quake command. + +Example: +To bind the j key to the 'jump' command, you would type: +bind j +jump +and press enter. + +Non-printable keys such as 'page up' and buttons from the mouse/joystick are +bound in the same manner as printable characters. A list of bindable keys can +be found at the end of this file. + +Example: +To bind the page up key to the 'jump' command, you would type: +bind pageup +jump +and press enter. + +To bind the right mouse button to the attack command, you would type: +bind mouse2 +attack +and press enter. + +The alias command is used to create a reference to a command or list of +commands. When aliasing multiple commands, or commands that contain +multiple words (such as "fraglimit 50"), you must enclose all the commands +in quotation marks and separate each command with a semi-colon. + +Example of an alias that changes some Deathmatch server parameters: + +alias net_game "hostname my_server ; fraglimit 15 ; timelimit 15" +bind INS net_game + +Once the server is spawned (you must be the one running the -listen server), +you just push the Insert key to set the hostname, frag limit and time limit +of the server. So now the first person to 15 frags, or with the one with the +most frags in 15 minutes, wins. + +Another example would be to change to the Rocket Launcher, fire one rocket, +and change back to the Double Barrel Shotgun, when you press the "," key: + +alias rl_dbsg "impulse 7 ; +attack ; wait ; -attack ; impulse 3" +bind , rl_dbsg + +Aliasing is very powerful, allowing you great flexibility, so you should +experiment by aliasing different commands in various ways. + +A list of common commands can be found in the next section. + + +========================================== +== Quake Keys and Common Commands == +========================================== + +The following keys can be bound: + +A-Z 0-9 +*F1-F12 *TAB +ENTER SPACE +BACKSPACE UPARROW +DOWNARROW LEFTARROW +RIGHTARROW ALT +CTRL SHIFT +INS DEL +PGDN PGUP +HOME END +PAUSE SEMICOLON + +MOUSE1 (mouse button 1) +MOUSE2 (mouse button 2) +MOUSE3 (mouse button 3) + +*~ (tilde) + +* Can only be bound on the command line or in a .cfg file. + +The ESC key cannot be bound. + + +========================================== +== Making a Config File == +========================================== + +The commands (bindings and aliases) discussed above can be included into a +file containing all of your personal configurations, known as a "config" +file. This file can then be loaded during game play to enable all your +personal bindings and settings. + +To do this, use your favorite editor to create a new file, such as +"fragmstr.cfg". Your .cfg file MUST be located in the quake\id1 directory +or quake won't find it. Then after launching Quake, you would type "exec +fragmstr.cfg" and press enter, from the console. You can also exec you .cfg +file from the DOS command prompt by typing "quake +exec fragmstr.cfg". +When you exec a config file, it is the same as typing all the lines in your +config file into the console, only Quake does it for you. Here is an +example config file (c:\quake\id1\bear.cfg) and the meaning of all the +bindings, aliases and settings: + +-------------------------------cut here------------------------------------- +name player1 // Sets player name to player1 (lets your opponent + // know who fragged them) + +sensitivity 4 // Sets the mouse sensitivity to 4 + +scr_conspeed 5000 // Sets the console raise/lower speed + +lookspring 0 // Sets Mouse Look Spring to 0 (0=keep looking, + // 1=spring back, when mouse button is released) + +vid_mode 10 // Sets Video Mode to mode 10 (360X480 resolution) + +gamma .8 // Sets Gamma Correction to .8 (<1=Lighter, 1=normal + // and >1=darker) + +viewsize 70 // Sets the Screen View size to 70 degrees + +bind mouse1 +forward // Binds the left mouse button to Move Forward + +bind mouse3 +attack // Binds the middle mouse button to Fire + +bind mouse2 +mlook // Binds the right mouse button to Mouse Look + +bind HOME "save bear1" // Binds the Home Key to quick save, saves to + // bear1.sav + +bind ENTER +showscores // Binds the Enter key to show Deathmatch Scores + +bind SHIFT +speed // Binds the Shift key to Run + +bind CTRL +jump // Binds the Control key to Jump + +bind ; +mlook // Binds the ; key to Mouse Look also + +bind . +moveleft // Binds the . key to Strafe Left + +bind / +moveright // Binds the / key to Strafe Right + +color 3 4 // Makes Uniform Top green and Pants Red for Net play + +alias rl_dbsg "impulse 7 ; +attack ; wait ; -attack ; impulse 3" + +bind , rl_dbsg // Aliases single rocket attack command and binds + // it to the ',' key. +-------------------------------cut here------------------------------------- + + +========================================== +== Demos == +========================================== + +The standard Demos +------------------ + +Quake has 3 standard demos that start playing when you first run the game. +It will cycle through these demos until you start or join a game. + +Recording a Demo +---------------- +"record [track]" This starts up level and begins +recording a demo into a file name .dem. You can specify the +optional to choose a background music from the CD, otherwise the +default selection for that map will be played. + +Playing a Demo +-------------- +"playdemo " This command will open the file .dem and +play the demo. + +How to not play the standard demos at startup +--------------------------------------------- + +So you've seen the Necropolis demo 10 billion times now and really don't +ever want to see it again? Here's how. + +The easy way is to start Quake with a "+map" command. You could do +"quake +map start" and you'll start on the single player start level. +Or you could do "quake +map nonsense" and you'll wind up at the Quake +console since there is no map named nonsense. You can accomplish the +same thing with a "+connect" too. "+connect" by itself will look for +Quake servers on the local network, "+connect 192.12.34.56" or +"+connect host.timbuktu.edu" will try to connect the the specified +Quake server. + +There is another way to not show the demos; one that also keeps your +customizations in a seperate directory from the data files in the +Quake distribution. + +Do this in the quake directory (the directory where you installed Quake; +where you find "quake.exe" and "the id1" directory). Create a file named +"quake.rc". Its contents should be: + +exec default.cfg +exec config.cfg +exec autoexec.cfg +stuffcmds +menu_main + +Create a batch file to run Quake in the quake directory. "Q.BAT" is a good +name. It's contents should be: + +quake -game . %1 %2 %3 %4 %5 %6 %7 %8 %9 + +If you normally use the Q95 batch file, just add the "-game ." part to +that file. + +Now you can run "q" and quake will start off with the main menu displayed +instead of running the demos. + +You can also make a seperate subdirectory for this if you'd like. For +example, make a directory named "mine" in the quake directory. Create +the "quake.rc" file as specified above in this directory. Use +"-game mine" instead of "-game ." in your batch file. + +Important note: The directory specified by "-game" is where Quake will +look for config.cfg, load and save games, and record and play +demos. + + +========================================== +== Reporting Quake Bugs == +========================================== + +How to use the bug report: + +Where to send bug reports: +E-mail : support@idsoftware.com +FAX : 214-686-9288 + +There are two sections of information - primary and secondary. + +Primary information contains information such as date, your name, e-mail +address, etc. Secondary information is actual bug information. There are +a few different sections depending on what type of bug you revieced +(sound, video, etc). Only fill out and include information from the section +related to the type of bug you received. + +If possible, start Quake with the "-condebug" command line parameter +and try to reproduce the bug. Attach the "qconsole.log" file found in the +"id1" directory to the end of the bug report. If the bug is sound related, +while in Quake, execute the SOUNDINFO and SBINFO (DOS only) commands from +the console. + +Please attach a copy of your CONFIG.SYS and AUTOEXEC.BAT file to the end of +the report. + +Bugs submitted properly with this form will get attention. +Unformatted ones sent to personal accounts will be ignored. +If you see problems, please take the time to do this. + +If you do not have all of the information requested in the form, +don't worry. Send what you do have. + +Please include the version #. THe version # for Quake can be found in the +lower right hand corner of the console. To bring up the console, press the +tilde ('~') key. Press tilde ('~') again or ESC to exit. + +-------------------------------cut here------------------------------------- + + +============================================================================ +== Quake Bug Report - Primary information == +============================================================================ + +Date: +Name: +Phone number: +E-mail address: (please include this, we redirect tons of mail) +Game Title: +Version #: +Operating system (i.e., DOS 6.0 or Windows 95): +Computer type: +BIOS date: +BIOS version: +Processor type: +Processor speed: +Do you program at school/work? +Do you provide tech. support at school/work? +Please state the problem you encountered: +Please state how to reproduce the problem: + +If program crashed with nasty undecipherable techno-garbage, please +look for the eight-digit hex number which comes after "eip=" +and write it down here: + + +============================================================================ +== Quake Bug Report - Secondary information == +============================================================================ + +------------------------------ Video Related ------------------------------ + +Video Card Manufacturer: +Video Card Model: +Chipset Used: +BIOS Date: +(If using UniVBE, The above information can be found by running uvconfig) + +Did the problem occur while in a VESA mode? + +If so, what is the VESA driver and version? (eg., UniVBE 5.1a, +built into board BIOS, or manufacturer provided TSR) + +------------------------------ Sound Related ------------------------------ + +Audio card brand and model: + +If DOS or a DOS box, please run the command "set > set.txt" then +attach "set.txt" to the end of the report. + +----------------------------- Network Related ----------------------------- + +What type of network connection was established when the error occurred? +(modem, nullmodem, or network) +If modem, Modem brand and model: + +If network, Network card brand and model: + Network protocol/configuration: + +--------------------------------------------------------------------------- + + + + + + + + -- cgit v1.2.3