$XFree86: xc/programs/Xserver/hw/xfree86/drivers/apm/README,v 1.6 2000/02/13 03:06:36 dawes Exp $

Note 1: This driver is work in progress. It might not work at all.
Want to help? Docs are at 
ftp://beta.xfree86.org/pub/xf86/devel/Documentation/apm

This is the Alliance Promotion driver for XFree86 4.0+. It currently only
supports the AT3D, AT25 chipsets (found on various Voodoo-Rush cards) and AT24.
There is incomplete support for the 6422. The 6422 chips are supported in the
XFree86 3.3.x series.

What has worked on my computer :
    - XAA for 8/16/24/32 bpp
    - DGA and DGA2
    - DPMS
    - glide2x
    - using as a module
    - shadow framebuffer
    - AT3D
    - AT24
    - AP6422 (although with problems, including locks)
    - multi card setup (with and without Xinerama)
    - Xv images, even with (slightly modified) glide2x ; note that there is
      still a little problem with vertical offset.

There is some support for PC-98 with the help of Isao Ohishi
(ohishi@aero.rim.or.jp). It's still under development. I hope that 8bpp
works correctly.

What has not worked :
    - I2C (I'm not sure my card, Hercules 128/3D, has proper cabling)

What is untested :

What should be done :
    - overlays (with the video engine, everything should be overlayable
      with everything)
    - (why not) 3210 support


       Loïc Grenié

Authors:
-----------------------------------------------------------------------
Kent Hamilton    Initial creation.
Henrik Harmsen   Lots of additions and fixes.  <hch@cd.chalmers.se>
Loic Grenie      Conversion to 4.0.            <grenie@lami.univ-evry.fr>
		 Additions and fixes.


History:
-----------------------------------------------------------------------
Created by Kent Hamilton for Xfree86 from source from Alliance

Modified 1997-06 by Henrik Harmsen
  - Added support for AT3D
  - Acceleration added for 8,16,32bpp: (for AT3D and AT24)
    - Filled rectangles
    - Screen-screen bitblts
    - Host-screen color expansion bitblts for text
  - DPMS support
  - Enabled hardware cursor code (also in 8bpp)
  - Set to programmable VCLK clock
  - Set MCLK to 57.3 MHz on AT3D.
  - Various bugfixes and cleanups

Modified 1997-07-06 by Henrik Harmsen
  - Fixed bug that made the HW cursor screw up on VT switches
  - Probably fixed bug that screwed up the screen when using
    screen-screen bitblts. This forced me to put an ApmSync() at 
    the end of ApmSubsequentScreenToScreenCopy() which makes
    me unhappy... But: Better it works than not...

Modified 1997-10-19 by Henrik Harmsen
  - HW line drawing.
  - HW clipping.
  - Added support for ROP's.
  - Text acceleration now lots faster and support for accelerated
    proportional text. (Uses SCANLINE_PAD_DWORD + clipping).
  - Combined write for many register writes gives good 
    general speedup. (write x+y as a single 32 bit entity, rather
    obvious, really...:-)
  - Now waits for correct number of free slots in FIFO before
    issuing writes to the card.
    This seems to have eliminated the last instances of dropped
    interrupts from serial IO and no more lost packets in PPP :-)
  - Converted cursor support to use XAA interface.
  - Fixed ApmSync(). Finally removed call to ApmSync at end of
    ApmSubsequentScreenToScreenCopy() :-)

Modified 1998-03-29 by Henrik Harmsen
  - Added DGA support.
  - Added accel support for AP6422. Fixed AT24 accel support.
  - Fixed clock register calculation for AP6422 and AT24.
  - DPMS support for AT24 & AP6422.
  - 2% faster text accel for AT24/AT3D :-)

Modified 1998-12-18 by Loic Grenie
  - Converted to Xfree86 4.0 driver interface. (Only support for 
    AT25/AT3D chips).

Modified 1999-03-14 by Henrik Harmsen
  - Various fixes to bring it up to 3.9Pd.
  - Added preliminary (completely untested) support for dynamic 
    loading.

Modified 1999-07-07 by Loïc Grenié
  - Converted to new RAC. Support for DGA and DGA2, I2C, Rush extension.

Modified 2000-02-10 by Loïc Grenié
  - Bug fixes
  - AP6422 (bugged !)
  - Xv driver
