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