 Win32OS2 + Quake2 + 3DFX/Voodoo2 + AMD/K6-2/3DNOW                  Feb.15, 1999
 ==================================================

While AMD K6-2 processors are pretty fast in business applications,
their performance is rather poor in 3D games like Quake2, compared to their
Intel PII or Celeron competitors. One key to overcome that K6-2 performance
limitation is to make use of their new 3DNow! floating point instruction set.

The basic requirements to run Quake2 in OS/2 v4 using Win32OS2 libraries:
-----------------------------------------------------------------------------
 * OS/2 v4 (fixpak>=5)
 * Win32OS2 -- the latest release is alpha4 dated Sep.98
 * Quake2 for Win32 CDROM (there may exist demo versions also)
 * update to Quake2 version 3.20
   (q2-3.20-x86-full.exe -- download links at http://www.planetquake.com/files)
 * optional 3DFX VooDoo or Voodoo2 accelerator hardware
 * GLIDE2X.DLL driver for 3DFX hardware (if present), WinNT version
   (http://www.3dfx.com/docs/DRIVERS/v2_drvwnt/nt40v2.exe -- VooDoo2+NT version)

The 3DNow! tuning steps:
------------------------
1. Compared to earlier releases, the latest GLIDE2X.DLL (v2.54) has a little
   bit of 3DNow! support built in.
  --> ~5% gain in 3DFXGL accelerator mode
2. Download the Quake2 executables recompiled by AMD, including 3DNow! support.
   (http://www.3dnow.net/files/3dnowq2-320.exe)
   Replace QUAKE2.EXE and GAMEX86.DLL, copy REF_GLAM.DLL and REF_SWAM.DLL to 
   the Quake2 directory. Do not use the 3DFXGLAM.DLL module, it is Win9x only.
   Duplicate instead the original Quake2 3DFXGL.DLL file to 3DFXGLAM.DLL.
   In the "video options" menu there are now new entries available for 3DNow!
   support in 3DFX accelerator mode or software refresh mode.
  --> ~15..20% gain in 3DFXGL+3Dnow! accelerator mode, including gain of step 1
  --> <5% gain in 3DNow! software refresh mode
3. I created 2 patches to make the AMD supplied 3DFXGLAM.DLL runnable in OS/2.
   a) Allow 3DFXGLAM.DLL to perform port I/O:
       -- rename original 3DFXGLAM.DLL to AM3DFXGL.DLL and copy additionally
      my "forwarder DLL" (again called 3DFXGLAM.DLL) into the Quake2 directory.
   b) Patch out some driver version check from AM3DFXGL.DLL:
       -- "PATCH AM3DFXGL.PAT /A"
      This patch must be applied to the Win32 DLL, not the PE2LX output file.
  --> ~50% gain in 3DFXGL+3Dnow! accelerator mode, including gain of step 2


Files included here:
--------------------
readme             (this file)
3dnowq2-320.zip    Quake2 v3.20 Win32 executables, recompiled by AMD for K6-2.
glide2nt.zip       3DFX's VooDoo2 driver v2.54, contains a little bit of 3DNow!
                   support. Extracted from original NT40V2.EXE archive.
patches.zip        some files to make AMD's VooDoo2 driver work in Win32OS2. 




Robert Lalla, Loerrach, Germany       rlalla@stepnet.de
