(last updated 12/24/97)

--------------------------
V2DOSFIX.EXE V1.0 12/23/97
--------------------------

This program fixes Rendition V1000-accelerated MSDOS games so that
v2x00 chips can run them straight from plain-old MSDOS (i.e. no Win95!!!)
V2DOSFIX.EXE modifies the game's exe file, so...

*** PLEASE MAKE A BACKUP OF ALL EXE FILES YOU PLAN TO PATCH WITH V2DOSFIX ***

-----------
The problem
-----------

 *   Early Speedy3D-API (MSDOS) games do not recognize the V2x00; these
 *   games refuse to load if they are run from plain MS-DOS.  (The V2x00's
 *   Win95 device drivers trick Speedy3D apps into thinking a V1000 is
 *   present.)  While such games can still be played Win95's DOS-box, 
 *   most people want to play MSDOS games under plain MSDOS.

 *   Rendition has already updated Speedy3D to detect and support
 *   the V2x00 chips, but the older games have yet to be updated by
 *   their respective publishers.  So in the mean-time, the V2x00's
 *   Speedy3D compatibility is compromised.

Workaround
----------
 *
 *   When a Speedy3D game is run, the program first checks your PC for the
 *   presence of the Rendition Verite V1000.  If it can't find the V1000,
 *   the program kicks the user back to the MSDOS prompt.  Hmmm...how can
 *   we get around this problem?  Easy, change the program's code to look
 *   for our V2100/V2200 !
 *
 *   So... v2dosfix modifies the game's Verite detection() routine.  When
 *   invoked with the specified game-filename, v2dosfix searches for the
 *   first occurence of the V1000's PCIvendorID (0x1163) and
 *   PCIdeviceID (0x0001.)  Upon locating this pair, V2DOSFIX replaces
 *   the old deviceID:0x0001 with the V2x00 deviceID (0x2000)
 *
 *   Thus, the modified game exe now checks for the V2100/V2200 (I think
 *   both chips share the same PCI deviceID.)  It will run straight from
 *   MS-DOS!  (Incidentally, the patched-game can still be run a Win95
 *   dos-box.)

-----------------------
HOW TO USE V2DOSFIX.EXE
-----------------------

Before you start, does the game need to be patched?

    YES - The game in question runs fine from a Win95 dos-box.  But under
                plain MS-DOS, it aborts execution and reports something
                like "could not find Rendition chipset."

    NO  - The game in question is "designed for Windows95."  If the game uses
                DirectX, chances are it wasbuilt with the RRedline API.
                RRedline is reported to work with all current Verite
                products, V1000 and V2x00 alike.  If your DirectX game
                used to run on your V1000, but does not run on your V2x00,
                you'd better contact the publisher's tech-support because
                v2dosfix can't do anything for Windows games.

    NO  - The game in question has been recently updated or released.
                The latest Speedy3D API natively detect both the V1000 and
                V2x00, such games should already work under DOS.  The
                latest Vquake and Indycar II patches are examples of
                recent Speedy3D games which do *NOT* need fixing.

Now that you've determined whether you need to run v2dosfix, here are the
instructions!  Not hard at all.

        1)      Make a BACKUP of the Rendition-Ready DOS-binary
                (nasrend.exe, tomb.exe, etc.)

        2)      invoke v2dosfix from the dos command-line with the
                filename of the game's binary

                        e.g.  C:\TOMBRAID\V2DOSFIX tomb.exe

                (don't forget the '.exe' !)

        3)      Cross your fingers.

        4)      Run your program under vanilla MS-DOS.  Hope it works for
                you!


---------------
Troubleshooting
---------------
 *   Well the patching-process either works or it doesn't.  If v2dosfix
 *   fails, looks like you'll have to continue playing the game under
 *   Win95's dosbox.
 *
 *
 *
 *   Alternatively, you could attempt to patch your game-file manually.
 *   Use your favorite HEX-EDITOR on the game-binary.
 *   1)  Search for the PAIRED 32-bit pattern(s) "63 11 00 00" and
 *       "01 00 00 00"
 *   2)  Try changing "01 00 00 00" (V1000 ID) to "00 20 00 00" (V2100 ID.)
 *
 *   Presumably, the patterns occur in several different spots.  Through
 *   trial and error, you might be able to patch the correct location, and
 *   hence fix your Verite-DOS game.


-----------
Limitations
-----------
 *
 *   A successfully patched game file will NO LONGER RUN on V1000 boards!
 *   Probably not a big deal to most of you, but I still have to mention it.
 *
 *   The loose nature of the pattern-finding algorithm may turn up multiple
 *   occurences of the search-pattern (deviceID/vendorID.)  In the event
 *   that V2DOSFIX detects multiple ( i.e. >1 ) occurences, it will assume
 *   the patch-process has failed.  You will receive a message warning of 
 *   probable failure.
 *
 *   The absence of a failure report is not a 100% assurance:  running
 *   the patched game-executable is the real test.
 *
 *   For the record, I've tested v2dosfix with the following titles :
 *
 *      Nascar2         ( NASREND.EXE   v1.02   05/97 )
 *      Tomb Raider     ( TOMB.EXE      beta4   01/97 )
 *


----------
Final note
----------
 *   Oh, quite a few of you have asked, "But if I patch my V1000-DOS games,
 *   can I still run them under Win95?"  The answer is 'YES', the successfully
 *   patched exe can be launched from MSDOS or Win95 ( at least Tomb
 *   Raider and Nascar2 seem to run fine in both situations.)
 
 *   Having been written before the V2x00 came into existence, most Speedy3D
 *   games are *NOT* optimized for the V2x00 architecture.  As a result,
 *   users who upgraded from the V1000 to V2x00 may not see a huge
 *   performance improvement.  For example, ID Software has cited this
 *   disclaimer regarding the latest VQuake.


--------------------
Comments, questions?
--------------------
 *   Please, I'm a busy college-student...chances are other people on the
     'net can help you with this program.  Try out the usenet newsgroups
     like
        comp.sys.ibm.pc.hardware.video,
        comp.sys.ibm.pc.games.action,
        comp.sys.ibm.pc.games.adventure,
        etc.

     Rendition has been nice enough to run their own news-server.  On
        news.rendition.com, you'll find newsgroups dedicated to the
        Rendition chipset(s), and hopefully posters who can better answer
        your questions!

     Be sure to visit Rendition's site (http://www.rendition.com) frequently
        Bjorn's 3D-site http://www.bjorn3d.com is another excellent site
        loaded with tips&tricks for Verite owners.

 *   Well, if you *must*, you can email me at liaor@uci.edu
     (If you indicate that your social status is single, Taiwanese, female,
      I *might* find more time to reply!  just kidding :)

        Rendition Crusader #7
        Royce Liao (liaor@uci.edu)
        http://www.eng.uci.edu/~liaor
