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