• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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