README.TXT Driver File Contents (AllianceVP128VGA.zip)

RELEASE NOTES FOR PROMOTION(tm) Win95 Display Driver

RELEASE DATE: 2/10/97.

(c) COPYRIGHT 1993-1996 ALLIANCE SEMICONDUCTOR ALL RIGHTS RESERVED.
-------------------------------------------------------------------------------

OVERVIEW:
---------
Windows 95 Display Driver

The following files are included in this release:
 PROMTN.DRV     -- Display Driver
 PROMTN.VXD     -- VDD Miniport
 PROMTN.INF     -- Installation Script
 PROMDD32.DLL   -- 32 bit DirectDraw
 DC95.DLL	-- ProMotion Director's Chair 95 that is loaded into Display Properties
 PMGAMMA.EXE	-- ProMotion Gamma utility loaded into toolbar tray
 PMSPLASH.EXE	-- ProMotion Splash Screen
 README.TXT     -- This File
 LICENSE.TXT	-- License Agreement 
 OEM95DRV.DOC	-- MS Word Document which describes the driver switch settings 

BUG FIXES AND FUNCTIONALITY CHANGES:

Version 4.03.00.2031 (Alliance-3D support ONLY)
++++++++++++++++++++++++++++++++++++++++++++++++
- Direct X 3 compatible version number.
- D3D updates.

Version 4.03.00.1109 (Alliance-3D support ONLY)
+++++++++++++++++++++++++++++++++++++++++++++++
- Official release of 4.03.00.1107 source.

Version 4.03.00.1108 (Alliace-3D + 3Dfx VG96 support)
+++++++++++++++++++++++++++++++++++++++++++++++++++++
- Initial release for Alliance-3D and 3Dfx VG96.

Version 4.03.00.1107 (experimental release; no SSafe backup for p3dtextr.c and
++++++++++++++++++++  p3dstate.c.)
- Fixed fanthom triangles in D3D Tunnel.
- Temporarily disabled 3D clipping enable.

Version 4.03.00.1106
++++++++++++++++++++

- Disabled AT3D ES3 work arounds in Direct X driver; this driver does NOT work 
  properly with AT3D ES3; this driver is intended for AT3D ES4 and AT24.
- Added code to access registry from Direct X driver.
- Fixed missing  mouse when exiting Fox and Bear from mode 320x200x8; fixed GPF
  in cursor code caused by previous fix.
- In mini VDD, only wait if GE busy and not host blt in progress.  Otherwise, do
  not wait.
- Moved refresh + CRTC tables into one file (PREFRESH.H) so changes are 
  isolated to one file per OEM.
*********WHQL FIXES (whql project)
- Fixed intermittent lock up with Plus! software cursor. (cursor code.)
- Fixed GPF when exiting full screen DOS before initializing DirectDraw
  (initialized by running Direct X game or app.)
- Fixed Active Movie problem:  video reverts to software after returning from full screen DOS.
- Fixed incorrect mouse (pointer or hour glass); intermittent problem with software cursor.
- Disabled second video window by default.  The second overlay may be 
  enabled in the PROMTN.INI as follows:
	[ProMotion]
	NumberOfOverlays=2
- Fixed corruption in cshow after switching between desktop and full screen
  DOS (VDD code.)
- Disabled second video window (overlay.)
- Remove 1600x1200x8 from desktop mode list.  This mode may be enabled as desktop 
  mode by adding the following lines in PROMTN.INI.
	[Resolution Preferences]
	Res_1600x1200 = 1
  The switch is off by default as oppose to other resolutions.
- Changed Direct Draw return value when failing CanCreateSurface() for 
  interlaced and 24bpp mode to DDERR_NODIRECTDRAWHW.  This value does not
  result a FAIL with TDDraw.
- Fixed screen corruption (vertical lines) after Alt Tabbing back and forth
  between Windows and FlightSim 5.1. (Fixed in VDD code.)
- Removed all Direct X caps for interlaced modes.
- Returned fail in CanCreateSurface() call for double indexed modes. 
- Disabled hardware cursor for all AT24 if pclk > 121 MHz.
- Fixed GPF in Plus! Windows 95 screen saver.
- Fixed Overfly: butterfly wings don't flap although flip caps is set.
- Fixed Overfly: second overlay is corrupted.
- Fixed Overfly: when overlays clip, back overlay disappears.
- Fixed WormHole blurry lines, etc.
- Fixed Doom II, disable clear in int10 call. Prevents upper 32K of memory from being
  wiped out, causing corruption in display.
*********** P6 fixes (pci_burst_fix project)
- Fixed "virtual desktop" effect when switching from hi to lo res--after set mode to lower
  resolution, some off screen display on screen and is corrected by moving the mouse along
  the extents of the the desktop; Fixed by initializing the first move cursor position to 
  0,0 xy-coordinates.
- Fixed pink screen in full screen Xing MPEG.
- Prevent initializing OS_SCANLINES twice; fixed yellow block at the bottom of monitor bitmap in
  Display properties page.
- Fixed video corruption on second video overlay when playing 2 overlays simultaneously.
- Disabled video overlay for interlaced and 24bpp modes; failed CanCreateSurface32() call.
- Combined VXD.MAK and RES.MAK(version number) to MAKEFILE.
- Enabled 1280x1024x768x8/16 72 Hz.
- Disabled updating of the software cursor when the host blit is in progress; fixed hcursor.asm;
  does not seem to be a problem with hardware cursor.
- Fixed problem with pattern rectangle fill in AT24 rev C. The problem was due to the corruption 
  in the pattern when it is moved to offscreen because of the linear burst problem. The pattern 
  is copied to offscreen memory in reverse order to prevent bursts. 
- Disabled code which assigns MCLK for 1 MB and 2 MB; MLCK is set in BIOS--50 MHz.
- Turned on support for OS_SCANLINES in scanline.asm
- Disabled 640x480x24 if AT24 C and in P6 systems (assumming 1 MB memory.)
- Isolated fix in 4.03.00.1502 to AT24 C and in P6 systems only and set only 
  once per power up.
- Added code to detect P6; flag fP6Processor is set with P6 system.
- Disabled 640x480x24 if not 1 MB memory.
- Set MCLK = 66 MHz for 1 MB and MCLK = 56 MHz for 2 MB; this is a work around for P6 burst
  corruption. (v4.03.00.1502)
- Fix for linear burst problem on pentium pro. Use host blit port instead of punting to dib engine 
  for color to screen blits and characters.


- Added capability to read driver switches from the registry; to enable the
  code, enable compile switch PMREGISTRY in global.h/inc; note: new file is
  added to the source:  registry.c.  
- Combined VXD.MAK and RES.MAK(version number) to MAKEFILE.
- Added: to update version for drivers: .DRV, .VXD, .DLL, provided one file--
  PHYSVER.VER--to update the version of all three drivers. 
- Fixed:  driver does not enable 128 bit GE access for AT24 E, which results
  in lower benchmark performance.
- Added file, OEM.H, for OEM specific switches; add DIAMOND switch to enable/
  disable Diamond refresh table.
- Enabled PC_RECTANGLE support; added fix to corruption on top left of display 
  when running Winbench 96, rectangle operations--used correct pointer to 
  scratch memory.
- Fixed horizontal line on top of video window; corrected programming of tile 0.
- Modified freelist() to make sure that each Y node in linked list is deallocated.

Version 4.03.00.2101 (3rd attempt for WHQL release)
+++++++++++++++++++++++++++++++++++++++++++++++++++
- Fixed corrupted windowed DOS screens in WHQL DispTest; changed planar pages 
  from 4K to 16K in GetVDDBank and SetLatchBank in mini-VDD code.

Version 4.03.00.2101 (2nd attempt for WHQL release)
+++++++++++++++++++++++++++++++++++++++++++++++++++
- Fixed WHQL TDDraw failure in case 31, Blt ROPs; returned correct supported ROPs.
- Fixed BTS #1448; Divide error when running Monster Truck/Hellbender in 24bpp.
- Added Min/Max Stretch Factor ( 1.0x, 9.999x)in DX to prevent warning in 
  WHQL Overfly.exe.
- Added version number for PROMTN.VXD.

Version 4.03.00.1105
++++++++++++++++++++
- Fixes to D3D drivers.
- Removed 512x384 modes; currently not in BIOS.

Version 4.03.00.1104
++++++++++++++++++++
- Diamond Fixes:
	+ Fixed: Bitmap corruption in 8bpp during setup of Magic School Bus 
	  Explores the Human Body and and Explores the Ocean.
	+ Adjusted refresh rates 800x600x75 and 1152x864x70 to be within 1%.
	+ Fixed: black video window when playing AVI in 640x480, 800x600 16bpp.
 	+ Fixed: Greenish video window when playing AVI in 1024x768x16.
	+ Fixed: noise appears to the right of video window in 1280x1024x8 
	  75 and 85 Hz; fix: because there is not enought memory bandwidth, 
	  run video window in software in these modes.
	+ Fixed: DX 2 Rockem exits when set to highest mode, 1600x1200x8.
- To work around insufficient 4 MB x/y addressing in modes <= 1024x768x8, 
  set maximum available memory for these modes to 2 MB; so, device bitmap
  is supported in these modes with maximum video memory = 2 MB.

Version 4.03.00.1103
++++++++++++++++++++
- (Fix) Enabled burst enable/disable for AT24 C only.
- Enabled hardware cursor disable with PCLK > 121 MHz for AT24 C only.
- Implemented font cache routine with no register reordering to prevent burst; for 
  non-AT24 C.
- Enabled 640x400x32, 1 MB, for AT24 and up to support TV output.
- Added 1600x1200x8 mode in switch case statement(physdd32.c) to fix Rockem3d
  bug: exits game when going to highest resolution mode.

Version 4.03.00.1102
++++++++++++++++++++
- Initial release with Direct3D support.
- Note:  PROMDD16.DLL is no longer part driver binaries.
- Diamond Fix:
	+ Fixed corrupted text in Word 7 footnote; prevent Blts if height 
	  and/or width is zero.

Version 4.02.00.0097
++++++++++++++++++++
- Same as 4.03.00.1101 fixes.
Version 4.03.00.1101 (for WHQL release)
++++++++++++++++++++
- Fixed GPF in AT3D, software cursor code.
- Fixed remaining of mouse images after mouse is moved.

Version 4.03.00.2101
++++++++++++++++++++
- Disabled installation of PMGamma and PMSplash in this version of drivers.
- Fixed internal/external driver versions for all executable files except for PROMTN.VXD.
- Added separate function for post AT24 C to support quick start in InitScanline.

Version 4.02.00.0096(Direct X I compatible version)
++++++++++++++++++++
- Added fix to corrupted fonts in Word 6, P6 systems; reordered register writes to do
  font cache.
- Disabled device bitmaps if memory size = 4 MB in modes <= 1024x768x8.
- DC95 v1.00.01.01 refresh rate override support.
- Moved driver switches from SYSTEM.INI to PROMTN.INI; see updated OEM95.DOC.
- Direct X I support (initial release after Direct X II was supported.)
- Disabled hardware cursor for AT3D < ES4.
- Removed 1024x768 72 Hz and 1280x1024 72 Hz (non-VESA modes.)
- Disabled 640x400x32 on 1 MB for AT24 and up.
- Fixed blank refresh listing for 640x400x32; replaced with one refresh rate
  available:  70 Hz.

Version 4.03.00.1100 (see "checklist" for changes since 4.03.00.1098.)
++++++++++++++++++++
- Fixed missing bitmaps/corrupted screen on 4bpp modes; disabled device
  bitmaps support on 4bpp.
- Fixed lock up when switching refresh rates in 1024x768 and 1280x1024 4bpp.

Version 4.03.00.1099 (see "checklist" for details.)
++++++++++++++++++++
- NOTE:  Run this driver with BIOS > v2.25.01.47 (avoids remap of extended 
  registers) to fix lock up when switching refresh rates with software cursor
  enabled. 
- Linked in refresh table for Diamond.
- Fixed bug:  desktop gamma correction only affects top of display at 1152x864x16
  70 Hz; corected horizontal blank timings. 
- Added: disable hardware cursor for pixel clocks > 121.5 MHz.

Version 4.03.00.1098
++++++++++++++++++++
- Incorporated latest source code (from 4.1.3502 to 4.03.00.1097+); see check list for 
  details.  

Version 4.00.00.0001
++++++++++++++++++++
-Turbo version.
-Fixedbug missing bitmaps when leaving full-screen DOS.

Version 4.00.00.0000
++++++++++++++++++++
-  Revised version number from 4.1.3503 to 4.00.00.0000 for turbo drivers; note
   that regular, non-tubo drivers are released separately.
-  Added optimizations such as device bitmaps, font/string cache, etc.  
-  Fixed bug 1172:  DC95 allows 6410 to be set to > 75 Hz refresh rate.
-  Fixed bug 1184:  disable 1280x1024x16 interlaced from mode list; this
   refresh is not supported.
-  List of refresh rates returned through an escape call to querry resolution
   is limited by the minimum between monitor and chip set capabilities.
-  Added support to recognize AT3D; assumed that AT3D 2D is the same as AT24.  
-  Added standard file headers as indicated in SW Programming Guidelines; DD
   files checked out by HH are not updated.
-  Partially changed Engineering names to Marketing names; sources that
   are not changed are DD32 code currently checked out by Harold.
-  Fixed bug 1232:  Screen centering in ProMotion Driector's Chair is not
   restored after returning from DOS full screen; added escape call with
   flag = "SC" to update and restore screen center.

Version 4.1.3502
++++++++++++++++
-  Additinal fixes to DirectX 2 support.
-  Removed mode:  800x600x24bpp.

Version 4.1.3501
++++++++++++++++
-  Directdraw 2 support.
-  Initial release with Gamma utility.
-  Disabled ALL of Eric Jan's optimizations

Version 4.1.3412
++++++++++++++++
-  Incorporates Win31 bug fix--character drops with modem on 6422.
-  Incorporates Win31 bug fix--lock up in Speedy when running in BetterHalf
   mode.
-  Updates font caching routines by Eric Jan in order to fix
   missing fonts.

Version 4.1.3411
++++++++++++++++
-  Incorporates optimizations made by Eric Jan; modifications in:
	+ Bitblt
	+ Font caching
	+ Rectangles

-  Provides DirectX-2 Compatibility for promdd32.dll

Version 4.1.3410
++++++++++++++++
-  Driver now includes Director's Chair 95 and its supporting files
	+ dc95.dll
	+ pmhelp16.dll
	+ pmhelp32.dll

-  Director's Chair features currently include:
	+ An information page for ProMotion Display Driver and BIOS
	+ Changing the Refresh Rate setting for the current mode
	+ Refresh Rate Measurement Utility
	+ Screen-Centering Utility

-  Features added to the driver to support Director's Chair 95
	+ Returns the refresh rates supported for the current resolution
	+ Screen-Centering Functionality only works when driver boots
	  but cannot read the file when returning from DOS to Windows95.  

-  New 4MB Modes and FIFO Values
	+ 1280x1024x16bpp
	+ 1600x1200x16bpp
	+ 1024x768x32bpp
	+ 1152x864x32bpp

Version 4.1.3409
++++++++++++++++
-  Functionality of SYSTEM.INI switch settings has been changed 
        + VerInterp = 0 (Turns off Vertical Interpolation for all cases)
        + VerInterp = 1 (Turns on Vertical Interpolation for all cases)
        + VerInterp = 2 (Same as no entry in SYSTEM.INI which is the default.
                         Vertical Interp. is ON for VClk < 60MHz,
                         Vertical Interp. is OFF for VClk > 60MHz)

	+ HorInterp = 0 (Turns off Horizontal Interpolation, ON by default)

-  Incorporates 3210 BaseAddress fix for MIRO but the *.INF file from
   the MIRO subdirectory must be used.

Version 4.1.3408
++++++++++++++++
-  Switch settings have been added to the SYSTEM.INI
	+ VerInterp = 0 (Turns off Vertical Interpolation, ON by default)
	+ HorInterp = 0 (Turns off Horizontal Interpolation, ON by default)
	+ BurstsOn	= 1 (Turns on Bursts in Win95 driver, OFF by default)
-  Incorporates 3210 BaseAddress fix for MIRO but the *.INF file from
   the MIRO subdirectory must be used.


Version 4.1.3407
++++++++++++++++
-  Turns off Vertical Interpolation for all modes.
-  Adds 4MB modes to driver but FIFO values have not been tested.

Version 4.1.3406
++++++++++++++++
-  Fixes the vertical problem with DirectDraw at RefRates > 60Hz

Version 4.1.3405
++++++++++++++++
-  Enables Refresh Rate > 60Hz for 1024x768x4bpp and 1280x1024x4bpp


Version 4.1.3404
++++++++++++++++
-  Added backward compatibility for the 3210 and 6422 which limits
   the Maximum Refresh Rates
-  Fixed the lock-up when exiting DOS Full-Screen in 4-bit packed
   pixel and 24-bit modes (Fatal Exception 0E at 0137:BFF9A07C
-  1024x768x8 100Hz now comes up at 100Hz rather than 98Hz
-  1024x768x8 with 1MB underflow fixed
-  Banding/Shadow in 640x480 120Hz fixed by adjusting HTotal
-  In promtn.ini setting to 1280x1024x4 to 43Hz no longer comes up
   with blank screen.

Version 4.1.3403
++++++++++++++++
-  Added following refresh rates:
   * 100Hz, 120Hz @ 640x480x8bpp, 640x480x16bpp, 640x480x32bpp
   * 100Hz, 120Hz @ 800x600x8bpp, 800x600x16bpp
   * 100Hz @ 1024x768x8bpp
   * 85Hz  @ 1152x864x8bpp
   * 85Hz  @ 1280x1024x8bpp 

Version 4.1.3402
++++++++++++++++
-  Modified the PhysBltCmCd routine to fix the Windows
   explorer bug  (removed the rep movs instruction)


Version 4.1.3401
++++++++++++++++
-  Added 640x480x24bpp and 800x600x24bpp FIFO Support
-  Fixed the 800x600x32bpp@85Hz VESATimings Bug
-  No 85Hz support for 800x600x32bpp@85Hz nor 800x600x24bpp@85Hz
-  Fixed the fontcache bug shown in Speedy( Full Screen Text ) and
   WinBench 3.11 27pt. Font

Version 4.1.33
++++++++++++++
-  Fixed refresh rates (HHABECK)
-  Enabled 85Hz for 1024x768
-  Added 65Hz for 1600x1200

Version 4.1.32
++++++++++++++
-  Re-architected QuickROP fix for PHYSSL.ASM by turning off QuickROP only in
   PhysInitScanLine Proc
-  Changed the PHYSCACH routine back to the 6422 implementation, i.e. it no
   longer does direct HOST-TO-SCREEN uploads. (Fix for AT24 Rev C)


Version 4.1.31
++++++++++++++
QuickROP fix for PHYSSL.ASM fixed by using edx rather than eax 
QuickROP fix for PHYSCACH.ASM changed to use ebx rather than eax

Version 4.1.30
++++++++++++++
QuickRop fixes put into following routines:
  - PHYSCACH.ASM
  - PHYSSL.ASM

Version 4.1.29
++++++++++++++
Fixes made to DirectVideo, Directdraw.
85Hz added back to 1024x768
Refresh settings separated from physsetm.c to prefresh.h

Version 4.1.28
++++++++++++++
85Hz refresh rates removed for 1024x768

Version 4.1.27
++++++++++++++
Font cache reduced to 52k for 6422,3210
Vesa mode timings added, accessed by setting VESATimings=1 under [ProMotion] section of system.ini.
Fixes made to DirectVideo, Directdraw.

Version 4.1.26
++++++++++++++
Fifo waits removed for 6424
Checks for invalid FIFO status on 3210-6422
85hz refresh rates added

BTS #882,#885 - fixed


OUTSTANDING / OPEN ISSUES:
--------------------------
640 x 480 24bit and 800 x 600 16bit at 85Hz in 
a 1 meg configuration with fast page DRAM requires
an MCLK of at least 55MHz due to memory bandwidth
limitations.

800x600 16 color is only available after loading
the SVGA driver included with Windows 95.  This is
Microsoft's driver.


MISCELLANEOUS NOTES:
--------------------
This driver uses FIFO settings configured for EDO DRAM.
Download Driver Pack

How To Update Drivers Manually

After your driver has been downloaded, follow these simple steps to install it.

  • Expand the archive file (if the download file is in zip or rar format).

  • If the expanded file has an .exe extension, double click it and follow the installation instructions.

  • Otherwise, open Device Manager by right-clicking the Start menu and selecting Device Manager.

  • Find the device and model you want to update in the device list.

  • Double-click on it to open the Properties dialog box.

  • From the Properties dialog box, select the Driver tab.

  • Click the Update Driver button, then follow the instructions.

Very important: You must reboot your system to ensure that any driver updates have taken effect.

For more help, visit our Driver Support section for step-by-step videos on how to install drivers for every file type.

server: web4, load: 0.45