Changes done for each driverversion:
mga_driver 0.13 beta1 (Rudolf)
- Millenium II:
- G100:
- 'Pins' card-config BIOS readout re-implemented / expanded,
- Complete 'official' card coldstart,
- SDRAM card CAS latency tuning included,
- Hardware cursor / 2D support fixed,
- RAM amount detection fixed,
- PLL timebase detection included,
- Improved BWindowScreen support,
- System, RAM and DAC speeds more accurately set.
- G200:
- 'Pins' card-config BIOS readout re-implemented / expanded,
- More official card coldstart,
- RAM amount detection fixed,
- B_YCbCr422 (is YUY2) hardware overlay colorkeying completed,
- PLL timebase detection included,
- Improved BWindowScreen support,
- System, RAM and DAC speeds more accurately set.
- G400/G400MAX:
- 'Pins' card-config BIOS readout re-implemented / expanded,
- Improved card coldstart,
- RAM amount detection fixed,
- B_YCbCr422 (is YUY2) hardware overlay colorkeying completed,
- PLL timebase detection included,
- Improved BWindowScreen support,
- System and DAC speeds more accurately set.
- G450:
- 'Pins' card-config BIOS readout re-implemented / expanded,
- RAM amount detection fixed,
- B_YCbCr422 (is YUY2) hardware overlay colorkeying completed,
- DAC speeds more accurately set,
- PLL timebase detection included,
- Improved BWindowScreen support,
- PLL loopback filters configured 'on the fly'.
- G550:
- 'Pins' card-config BIOS readout re-implemented / expanded,
- RAM amount detection fixed,
- B_YCbCr422 (is YUY2) hardware overlay colorkeying completed,
- DAC speeds more accurately set,
- PLL timebase detection included,
- Improved BWindowScreen support,
- PLL loopback filters configured 'on the fly'.
REMARK: Re-implementing Pins is something that has it's repercussions throughout the entire driver. Most improvements are at least somewhat connected to this. Pins describes the actual specifications of your videocard. It provides info on type, amount, speed and configuration of cardRAM. It tells the driver if TVout or DVI exist on your card. It also specifies largely what the other specifications are for every individual MGA card outthere.
mga_driver 0.13 alpha2 (Apsed)
- TODO cleaning code styling
- TODO use of pseudo-dma
- TODO g550 dual
- TODO get card properties, not using fake bios setup
- TODO ? remove preR5 cloning area bug turnaround
- TODO implementation of GET_ACCELERANT_DEVICE_INFO following cards
- 09/06/2002
- merge of overlay implementation by Rudolf for G200-G550 (no colorkeying yet, but scaling and filtering work now)
- Millenium2 workish with strang
- 12/05/2002
- Millenium2 not working
- 08/05/2002
- cleanup LOG scheme for efficiency?, and to log some confiruration parameters from testers
- 04/05/2002
- ioctl DEVICE_NAME implementation
- use Be Driver Settings API instead ./config/*.h files
- uses #define for registers, ? is more efficient, so mga_regs.c "moved" in mga_macros.h
- corrected G200 PIXPLLP.pixplls value from Matrox doc, no visible effect
- logging revisited to use vsprintf instead poor emulation
- 24/04/2002
- some modifications to cleanup G200 geometry and colors problems: most important: YDSTORG set to 0 and PIXRDMSK to 0xff
- Mark Watson's G400 driver renamed mga driver, because it shall work not only with G400
- Mark Watson's texts or unused files from previous release moved in MarkWatson directory
- mgaGx00 directory moved one level up, renamed mga and #include cleaned
G400 driver 0.13 alpha1 (Rudolf)
- Hardware overlay, no scaling, filtering or colorkeying yet.
G400 driver 0.12 (last version done by Mark Watson)
- uses patch from Jean-Michel Batto to enable support for the G550
G400 driver 0.11
- Dualhead support for the G450 (NOTE: no TVout though....)
G400 driver 0.10b
- Clears ZORG on G450, this fixes blitting crash (no reboot from win required)
G400 driver 0.10a
- (whistles)....This release never happened:-)
G400 driver 0.10
- TVout support (for medium resolution modes - picture placement still off)
- G450 support (must reboot from windows to prevent crash in screen to screen blit)
- Adjusted G100/G200 to use bios initialisation (colours still broken...)
G400 driver 0.09(a)
- 0.09 was initially (well for 3 months!) released with singlehead broken...
- Fixed G400 crash when cold booting (no idea why it works, but it does...)
- Preliminary G100 support (you must reboot from another OS, as with G200 - also only 32-bit)
G400 driver 0.08
- Preliminary G200 support
- Removed DMA stuff (just wastes memory ATM)
- More sensible use of CRTC/DAC connection on dualhead
- MAVEN border is black!
G400 driver 0.07
- PCI retries re-enabled (did not fix problem)
- DualHead support
- DMA preliminaries(just wastes 1MB RAM ATM)
G400 driver 0.06
- Supports custom monitor timing
- PCI retries disabled
- Detects amount of card RAM
- SDRAM support
- Uses VBI instead of VSYNC interrupt (more blanking time after waiting for retrace)
- CRTC unlocked at init
G400 driver 0.05
- Refresh rate set much more accurately.
- H-Sync, V-Sync polarity is REALLY set!
- Fix for R4.5.0 implemented, but still best to upgrade.
- Memory priority requests are set
- Benaphore for engine synchronisation initialised properly
- Synchronisation now always waits for idle if it has to wait, rather than attempting (and sometimes failing) to wait for individual operations.
- Pixel clock of display mode reported accurately (so refresh rate reported correctly)
- Maximum pixel clock reported correctly
G400 driver 0.04
- Discovered driver only works with R4.5.2, no fix (yet?) (please upgrade)
- Removed MAX hack (problem was not with MAX cards, but with Be version - see above)
- Adjusted vertical sync to give more precise refresh rates (still could be better)
- Fixed bug with MOVE_DISPLAY (occurred when returning from fullscreen apps)
- Adjusted mouse pointer positioning, so hot spot is in the correct place.
G400 driver 0.03a
- Reworked interrupt code, now uses correct method.
G400 driver 0.03
- Vertical blank interrupt fixed - no longer steals interrupts!
- Polarity is set for VSYNC and HSYNC
- refresh with low dot clock is now correct
- logfile now has 3 levels (1 - all, 2 - info, 3 - error)
- ROM is now mapped in a better way (thanx for the info)
- Sounds like init is failing for some G400MAX owners. Please try new version first, but if it still fails please do the following (it sets it up as a standard G400 without using the BIOS):
- cd accelerent/mgag400
- mv mga_fake_info.c mga_info.c