Permalink
Cannot retrieve contributors at this time
Fetching contributors…
| 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 <enter> 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<enter> to see all available modes. | |
| Type vid_mode <mode #> to set a mode, where <mode #> 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<enter> | |
| 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 <mode #> | |
| lists the description for the specified video mode, where <mode #> is as | |
| reported by vid_describemodes. | |
| vid_describemodes | |
| lists descriptions for all available video modes. | |
| vid_mode <mode #> | |
| sets the display to the specified mode, where <mode #> 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 <mode #> | |
| 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 <wait type> | |
| 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 <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<enter> | |
| 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<enter> | |
| 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<enter> | |
| 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<enter> | |
| 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 <speed> | |
| 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 <track number> | |
| Plays the specified track one time. | |
| cd loop <track number> | |
| 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 <track1> <track2> <track3> ... | |
| 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 <port#> | |
| Specifies a UDP port to be used other than the default of 26000. | |
| -noipx | |
| Disables support for IPX. | |
| -ipxport <port#> | |
| 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 <n> | |
| players. If you do not specify a number <n> 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 <n> players. | |
| If you do not specify a number <n> 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 <n> | |
| irq <n> | |
| 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 <n> | |
| Sets the baud rate. Valid values for <n> 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 <key> <command> | |
| Where <key> is a valid key control and <command> 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 <demoname> <map> [track]" This starts up level <map> and begins | |
| recording a demo into a file name <demoname>.dem. You can specify the | |
| optional <track> to choose a background music from the CD, otherwise the | |
| default selection for that map will be played. | |
| Playing a Demo | |
| -------------- | |
| "playdemo <demoname>" This command will open the file <demoname>.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: | |
| --------------------------------------------------------------------------- | |