[Last Edit: 12/3/91]

Switches are preceded with / and may be given with either the full
name or the abbreviation (where present).  For DV.EXE and QEMM.SYS,
switches which accept arguments may use either an equal sign '=' or
a colon ':' between the switch and its argument.

DV.EXE switches (documented and otherwise) updated for Version 2.40:

                         Version
 Ab  Name            2.0x 2.2x 2.3x 2.4x      Comments
 --  --------------- ---- ---- ---- -----  -----------------------------
 AE  ABORTONERROR     ..  ...6  14  0      /AE=Y or /AE=N
 AS  ALWAYSSAVEMAP    ..  ..56  14  0      /AS=Y or /AS=N
 CV  CODEVIEW         ..  0256  14  0      adj keyboard use for debugger
 CL  COMMLOAD         ..  ..56  14  0      /CL=x
 DM  DELAYMSMOUSE     ..  ...6  14  0      /DM=Y or /DM=N
 DI  DOSIDLE          .1  ....  ..  .
 DT  DOSTERM          01  0256  14  0      pass prog termination req to DOS
 XB  EXCLUDEBANK      ..  ....  14  0      /XB=hh don't use INTs hh - hh+7 [5]
 EN  EXTERNALNOTIFY   ..  ..56  14  0      /EN=hh set XDI multiplex number [1]
 FB  FIRSTBANK        .1  0256  14  0      /FB=hhhh [3]
 FO  FIRSTORIGINAL    .1  0256  14  0      /FO=hhhh [3]
 EE  GENERICEEM       .1  0256  14  0      use EEMM calls (not hardware)
 71  GRAB71           .1  ....  ..  .
 HW  HWINT            ..  0256  14  0      spec handling for hardware ints [2]
 I2  IRQ2             .1  ....  ..  .
 I3  IRQ3             .1  ....  ..  .
 I4  IRQ4             .1  ....  ..  .
 I5  IRQ5             .1  ....  ..  .
 IC  IRQC             .1  ....  ..  .
 LD  LOCKOUTDISK      01  0256  14  0      no taskswitch during disk I/O
 MT  MACHINETYPE      ..  ..56  14  0      /MT=hh [4]
 MS  MINSHAREDMEMORY  ..  ...6  14  0      /MS=n reserves n K of shared mem
 MR  MSMOUSERESET     ..  ..56  14  0      /MR=hhhh [4]
 NI  NOIDLE           ..  0256  14  0
 NR  NORESET          ..  0256  14  0
 NS  NOSETUP          01  0256  14  0      ignore DVSETUP.DV
     NOVEOJ           ..  ..56  14  0
 OK  OLDKEYBOARD      01  0256  14  0      force 83/84-key keyboard
 OP  OVERLAPPREFIXES  01  0256  14  0      allow prgs to have same PSP addr
 PM  PARTIALMAPPINGOK ..  ...6  14  0      /PM=3 use only EMS3, else EMS4 calls
 PO  PROTECTOPEN      ..  0256  14  0
 RP  RAMPAGE          .1  0256  14  0      assume AST RAMpage EMS board
 RR  ROUNDROBIN       01  0256  14  0
 SB  SECONDBANK       .1  0256  14  0      /SB=hhhh [3]
 SO  SECONDORIGINAL   .1  0256  14  0      /SO=hhhh [3]
 SS  SWAPSHAREDMEMORY ..  ...6  14  0      /SS=Y or /SS=N
 U4  SWAPUSINGEMM4    ..  0256  14  0      /U4=Y or /U4=N
 UX  UNPROTECTEXTENDED .  0256  14  0
 W3  WINDOWS3         ..  ....  14  0

[1] somewhat buggy in 2.31, as DV.EXE will use the specified multiplex
    number, but DVXMS.DVR (which DV.EXE loads) still uses the default
    DEh if no XDI drivers were loaded prior to DV.

[2] /HW is immediately followed by a colon or an equal sign, 1 to 4 hex
    digits, another colon or equal sign, and "L", "D", "F", "0", "M",
    "U", or "V" (DV 2.3+).  "F" = Foreground, "V" = Virtualize

[3] /FB, /FO, /SB, and /SO are immediately followed by a colon or an
    equal sign and 1 to 4 hex digits

[4] /MR and /MT expect a hex number (/MR up to 4 digits, /MT up to 2 digits)

[5] DV uses two banks of eight interrupts to relocate the hardware interrupts
    from their defaults of 08h-0Fh and 70h-77h.  /XB specifies that a
    particular bank of interrupts not be considered available for the
    relocation; the specified hex number must be a multiple of 8 (i.e. X0 or
    X8).

-------------------------------------------------------------------------------
XDV.COM switches (documented and otherwise) updated for Version 2.40:

                          Version
 Ab  Name           2.0x 2.2x 2.3x 2.4x      Comments
 --  -------------- ---- ---- ---- -----  -----------------------------
 DP4 DONTPATCHDOS4  ..   ...6  1   0
 X   EXCLUDE        ?1   0256  1   0      don't use high memory region [1]
 F   FILE           ?1   0256  1   0      load DV from /F=<path>
 EE  GENERICEEM     ?1   0256  1   0      use EEMM calls (not hardware)
 L   LIST           ?1   0256  1   0      list the memory areas used
 NS  NOSETUP        ?.   0256  1   0      ignore DVSETUP.DV
 NT  NOTOKENRING    ..   ...6  1   0      don't check for token ring adapter
 RP  RAMPAGE        ?1   0256  1   0      assume AST RAMpage EMS board

[1] /X=hhhh-hhhh (same as QEMM X= switch)


-------------------------------------------------------------------------------
QEMM386.SYS switches (documented and otherwise).  These are NOT preceded by
a slash.
                             Version
 Ab   Name              4.xx  5.xx    6.xx      Comments
 ---- ------------------ ------------------  -----------------------------
 ARAM ADAPTERRAM         .   00 11  00       RAM on an adapter board
 AROM ADAPTERROM         .   00 11  00       ROM on an adapter board
 AU   AUTO               23  00 11  00       turn on only if needed
C386S COMPAQ386S         .   00 11  00       running on a COMPAQ 386s
 CER  COMPAQEGAROM       .   00 11  00       relocate COMPAQ video ROM
 CHR  COMPAQHALFROM      .   00 11  00       split system ROM in half
 CRM  COMPAQROMMEMORY    .   00 11  00       use COMPAQ mem reserved for ROM
 CO   CONTEXTS           23  00 11  00       generates err msg in 5.00+
 DB   DISKBUF            .   00 11  00       set size of SCSI disk buffer
 DBF  DISKBUFFRAME       .   .  .   00       buffer disk access into pg frame
 DM   DMA                23  00 11  00       set size of DMA buffer
 DUX  DONTUSEXMS         .   00 11  00       don't grab mem from XMS provider
 D4   DOS4               23  00 11  00       alter EMS page order for DOS 4
 EMB  EMBMEM             .   .  11  00       limit XMS memory
 X    EXCLUDE            23  00 11  00       consider range unmappable
 XST  EXCLUDESTEALTH     .   .  .   00       don't stealth specified ROM
 XSTI EXCLUDESTEALTHINT  .   .  .   00       don't stealth specified interrupt
 EXT  EXTMEM             23  00 11  00       reserve extended memory
 F10  FASTINT10          .   .  .   00       F10:N call original INT 10
 FEMS FORCEEMS           .   00 11  00       provide EMS calls even if no frame
 FSTC FORCESTEALTHCOPY   .   .  .   00       copy tables even when excluded
 FR   FRAME              23  00 11  00       set page frame segment or NONE
 FB   FRAMEBUF           .   .  .   00       buffer INT 21 calls in page frame
 FL   FRAMELENGTH        .   00 11  00       set pages in page frame
 GS   GETSIZE            .   00 11  00       report high-load memory (OPTIMIZE)
 HA   HANDLES            23  00 11  00       number of EMS handles
      HELP               .   00 11  00
      HMAMIN             .   00 11  00       min allocation in HMA
 IA   IGNOREA20          23  00 11  00       don't trap 8042 for A20 control
 I    INCLUDE            23  00 11  00       consider range mappable
 I386 INCLUDE386         .   00 11  00       same as I, but ignd by QRAM,Q50/60
      IOTRAP             .   00 11  00       =1 or =64 num reps of I/O space
 LB   LABEL              .   00 11  00       internal, used by OPTIMIZE
 LD   LOCKDMA            .   00 11  00       no interrupts during DMA
 MA   MAPS               23  00 11  00       number of alternate register sets
 ME   MEMORY (also MEM)  23  00 11  00       v4.23 does not accept MEM
 NA   NAMES              23  00 11  00       generates err msg in 5.00+
 NCF  NOCOMPAQFEATURES   .   00 11  00       turn off CER, CHR, CRM
      NOEMS              .   00 11  00       don't provide EMS
 NO   NOFILL             23  00 11  00       don't fill conventional memory
      NOHMA              .   00 11  00       don't allow HMA to be used
 NOPE NOPAUSEONERROR     .   00 11  00       don't pause for key on error
 NR   NOROM              23  00 11  00       don't map reboot page of ROM BIOS
 NRH  NOROMHOLES         .   00 11  00       don't find empty holes in ROM
 NOSH NOSHADOWRAM        .   00 11  00       don't use C&T shadow RAM
 NS   NOSORT             23  00 11  00       don't sort memory by speed
 NTR  NOTOKENRING        .   00 11  00       ignore token ring adapter
 NT   NOTOPMEMORY        .   00 11  00       don't search for "top memory"
      NOVDS              .   00 11  00       don't provide virtual DMA services
NOVID NOVIDEO            .   .  .   00     * not documented for v6.00
 NV   NOVIDEOFILL        23  00 11  00       don't backfill in video mem range
 NVR  NOVIDEORAM         .   00 11  00       don't put RAM into video mem range
 NW3  NOWINDOWS3         .   .  11  00       don't load Windows 3 support
 NX   NOXBDA             23  00 11  00       don't move extended BIOS data area
      NOXMS              .   00 11  00       don't provide XMS memory
 ODV  OLDDV              23  00 11  00       enable EEMS support for DV 1/2.00
 OF   OFF                23  00 11  00       turn QEMM off
      ON                 23  00 11  00       turn QEMM on
      PAUSE              .   00 11  00       pause for key when displaying msgs
      RAM                23  00 11  00       map RAM into upper memory area
 R    REGION             .   00 11  00       load high into specified region
      ROM                23  00 11  00       map ROM into RAM for speed
      SORT               .   .  .   00       SORT:Y use fastest memory first
 ST   STEALTHROM         .   .  .   00       ST:M ST:F hide ROMs behind highRAM
 SUS  SUSPENDRESUME      .   .  .   00       laptop "suspend/resume" feature
 TA   TASKS              23  00 11  00       max interrupt nesting level
 U8   UNUSUAL8042        23  00 11  00       nonstandard keyboard controller
 UX   UNUSUALEXT         .   00 11  00       nonstandard extended-memory BIOS
 VS   VCPISHARE          .   .  .   00       share page table with VCPI clients
      VGA                23  .  .   .
VREGA VIDRAMEGA          .   00 11  00       vid area not mappable
VREMS VIDRAMEMS          .   00 11  00       make vid area mappable, don't fill
 VHI  VIRTUALHDIRQ       .   .  .   00       VHI:N = don't disable INT 15h/90h
      VXDDIR             .   .  .   00       locatn of .VXD files for Windows3
 WD   WATCHDOG           .   00 11  00       type of watchdog timer in system


-------------------------------------------------------------------------------
QEXT.SYS switches:
                           QEXT Version
 Ab   Name                    5.xx              Comments
 ---- ------------------ ------------------  -----------------------------
 BS   BLOCKSIZE             00 10 12         size of transfer per protmode trip
 EXT  EXTMEM                00 10 12         leave this much non-XMS ext memory
 HA   HANDLES               00 10 12         number of extended memory handles
      HELP                  00 10 12         list all commands
      HMAMIN                00 10 12         minimum alloc allowed in HMA
 ME   MEMORY (also MEM)     00 10 12         only use part of extended memory
 NOPE NOPAUSEONERROR        00 10 12         don't wait for key if error
      NOXMS                 00 10 12         don't provide XMS memory
      PAUSE                 00 10 12         wait for key after parsing cmds
 U8   UNUSUAL8042           00 10 12         keyboard controller is nonstandard
 VD   VDISKVERSION=m,n      00 10 12         pretend to be VDISK version m.n
 ?                          00 10 12         list all commands

***END***

I seem to have become the de facto maintainer of this list, so if you have
info on any versions not listed here, or details on undocumented switches,
please send them to:

            ralf+@cs.cmu.edu
            Ralf Brown 1:129/26.1 (note: replies outside Z1 will be routed
                                   via Internet -> UUCP -> Fido and may thus
                                   take a while if they do in fact arrive)
