Change Log

# 1 Change Log

Contents of this section

1995.01.29:

  - Updated P9000.sgml to mention using Robin's scanpci rather than PCIDUMP.EXE.
1995.01.15:

  - Fixed problem with line capping in accelerated line drawing. (Chris Mason)
  - Fixed p9000QuadAluGXset to be ~0 rather than 1. (Erik Nygren)
1995.01.14:

  - `Clocks` line is no longer used in `XF86Config` file. Operation should now be consistent with the operation of the other servers which use programmable clocks. (Erik Nygren)
  - Users with 1MB cards can now explicitly specify `videoRam` in the `XF86Config` file when autoprobing fails. The new `vram_128` option may also be used to force the detection of 128Kx8 SIMM's. (Erik Nygren)
  - Added p9000line.c and p9000seg.c for accelerated line drawing code using the p9000 quad/clipping engine. Blazingly fast for 1 clipping rectangle, could be made faster for multiple clipping regions by using software clipping. There is still a bug which causes xtest to report `Cap style incorrect for thin line and CapNotLast` for the `XDrawLines` tests but not for the `XDrawLine` or `XDrawSegments` tests fixed in 1995.01.15 patch. (Chris Mason)
  - Changed p9000blt.c, and p9000win.c to wait for the quad/blit engine to be free. Before a quad/blit, check SR_ISSUE_QBN, then blit, then when all blits are done, do a p9000QBNotBusy. (Chris Mason)
  - Changed p9000init.c to clear the screen using the quad meta coord drawing mode. Appears the rect mode does not update the CINDEX register correctly. Changed the color to 1 (black) from 0. (Chris)
  - Added p9000QuadAlu. When drawing a quad, the p9000 equivalent to X's source is the foreground mask. When bliting/pixel8ing/pixel1ing, it is the p9000 source mask and the p9000alu lookup table should be used. (Chris Mason)
  - Added some more registers to p9000reg.h. (Chris Mason)
1994.09.20:

  - Fixed problem which prevented 16 bpp modes from working (Erik Nygren)
1994.09.16:

  - Added screen blanking support for 16 bpp and 32 bpp modes. Screen blanking now powers down the RAMDAC rather than just changing the planemask. (Chris Mason, Erik Nygren)
  - Fixed more problems caused by switch to `XF86Config` (Erik Nygren)
  - Possible fix to maxclock for Orchid P9000 (Harry Langenbacher, Erik Nygren)
1994.09.15:

  - Now almost always works with `XF86Config` changes (Erik Nygren)
  - Cursor code looks at VTSema before writing to RAMDAC. This had been causing the x11perf server crash (Erik Nygren)
1994.09.08:

  - Fixed problem with xdm and restarting the server (Erik Nygren)
  - Fixed and enabled ImageRead in CopyArea (Chris Mason)
  - Made informational comments conform to standard :-) (Erik Nygren)
1994.09.05:

  - Fixed BIOS probe for Viper PCI (Bob Hollinger)
  - Fixes to Orchid P9000 support (Harry Langenbacher)
  - Changing of datatypes in clock code (Harry Langenbacher)
  - Fixed clock and misc reg restoration so now works fine with svgalib (Chris Mason, Harry, Erik)
1994.08.29:

  - Increased number of memory regions in xf86_OSlib.h from 2 to 3 as needed by the Viper PCI (Erik Nygren)
  - Changed method of short pauses in p9000vga.c to outb(0x80,0) (Erik)
  - Rewrote routines to determine sysconfig from horizontal resolution. Also added check for valid hres to probe. (Erik Nygren)
  - Added MoveWindow acceleration for all depths. Opaque move even looks nice at 32bpp now! (Chris Mason)
  - Minor fixes to acceleration. Acceleration is now enabled by default (Chris Mason)
  - Added `"noaccel"` option (Erik Nygren)
  - Added some fixes for Viper PCI (Matt Thomas)
1994.07.21:

  - Preliminary Viper PCI support - totally untested so disabled (Erik Nygren)
  - Preliminary Orchid P9000 support - incomplete and totally untested so disabled (Erik Nygren)
  - Preliminary accelerated support - incomplete and not fully tested so disabled (Erik Nygren and Chris Mason)
1994.07.08:

  - 16 and 32 bpp TrueColor support (Erik Nygren)
  - Color restoration hopefully fixed (Erik Nygren)
  - Changes to how `"Modes"` line in Xconfig is processed
  - Removed banking support :-(

I've started adding in support for other cards and for acceleration. Due to its untested nature, it is disabled. A define at the top of `p9000.h` controls all of these features. The Viper PCI code is untested and probably won't work the first time! The Orchid P9000 code is incomplete and is waiting for a few mods by Harry to change the way it deals with the clock. The acceleration code has been started on but probably won't work. It's provided more to give our developers a common base to start from. Notice the new global variable `p9000BytesPerPixel`, BTW. Before working on any acceleration, please contact nygren@mit.edu so we don't duplicate efforts. The code in `p9000blt.c` should work, but the stuff in `p9000im.c` probably won't.

For Diamond Viper PCI owners, you'll need to get the `PCIDUMP.EXE` program from the Unixware P9000 server for now. Run it under DOS and use the values to fill in `MemBase` and `IOBase` in the `Device` section of `XF86Config`. These values will change whenever you move cards around or add cards.

I've started adding in support for other cards and for acceleration. Due to its untested nature, much of it is disabled. A define at the top of `p9000.h` controls all of these features.

Next Chapter, Previous Chapter

Table of contents of this chapter, General table of contents

Top of the document, Beginning of this Chapter