## Changes done for each driverversion:

# nv_driver 0.08, (Rudolf)

- Fixed GeForceFX 5600 and FX 5700 monitor 'refresh out of range' / shutoff fault. nVidia changed the pixelPLL for the NV31 and NV36;
- Fixed acceleration engine restrictions code to adhere to GeForceFX 5600 restrictions: those are still NV20 style for this card;
- Fixed overlay scaling restriction code to adhere to GeForceFX 5600 restrictions: engine is still the NV10/NV20 one, so it can downscale to 1/8 of the picture size;
- Kernel driver now signals abort on not being able to setup the INT routine instead of letting the machine freeze during accelerant initialisation;
- BWindowScreen R3-style function update for acceleration and page flipping/virtualscreens in apps ('Allegro' update): fixed cloning accelerants;
- Now only programming options head select register on dualhead cards. This fixes driver hanging on integrated GeForce2 cards (ID 0x01a0), and maybe also on some other cards;
- Expanded modelist to include suggested modes above 1600x1200 upto 2048x1536 resolution (if a card supports them): Done by Andrew Bachmann;
- Added card recognition for GeForceFX 5700, FX 5950 and some other (older) cards;
- Added 256Mb RAM detection;
- Improved startup code: this should (could) fix random trouble on some cards like for instance hardcursor trouble on especially laptops;
- Added dualhead support (use Mark Watson's 'G400 Dualhead Setup' from BeBits for now);
- Updated mode granularity and max virtual size checking/limiting;
- Added dualhead support for 8- and 15bit colordepths;
- Fixed move_display distortions in virtualscreens especially visible in 8-bit colordepth (for both heads);
- Added 'overlay follows head' for dualhead stretch and switch modes: if more than half the overlay output window is on a screen, that screen gets the overlay output;
- Added dualhead switch mode (except for NV11 cards as they do not have output connector switching capability);
- Added monitor presence detection for both monitor output connectors on dualhead cards (analog type signals only);
- Added 'output follows monitor' for all modes: it does not matter on which connector you connect your monitor, the output will go there after setting a mode; like the card's BIOS does (except for NV11 cards as they do not have output connector switching capability).

# nv_driver 0.07 (Rudolf)

- Added card recognition for some Nvidia GeForce4 Ti 4600 cards (ID 0x0252);
- GeForce overlay activation updated: hardware should respond to the first request instead of to the second ('stampTV' update);
- Included B_YCbCr422 hardware overlay for TNT 1/2 class cards (pre NV10 architecture).

# nv_driver 0.06 (Rudolf)

- Added full 2D acceleration for TNT1 - GeForce FX cards;
- Added card recognition for GeForce FX Go and some older laptop cards;
- Implemented retrace synchronisation (INT routine);
- Geforce overlay updated: turned off ints explicitly, corrected upscaling restriction to be 8x, small speed improvement;
- Vertical timing updated: missed a register on all GeForce cards, missed another register on older cards;
- Register unlocking updated: missed a register on all supported cards.

# nv_driver 0.05 (Rudolf)

- Update on cursor move routine: pointer will nolonger accept illegal left-top positions. As a result it will nolonger vanish on some cards;
- Fixed hardware overlay on GeForce4 MX and Go series cards: disabled the embedded MPEG2 decoder engine which exist on these cards only;
- Fixed driver to adhere to the downscaling limitations of the new overlay engine existing in the GeForceFX series cards.

# nv_driver 0.04 (Rudolf)

- New cursor_move sync_to_retrace for all supported cards: now all display distortions should be gone (GeForce4 for example);
- Added hardware overlay support for the entire GeForce series cards;
- Now powering up all card function blocks: dualhead cards should now switch to the connected head (by it's BIOS) instead of hanging the system on boot (tested on a dualhead GeForce4 with a DVI and a VGA connector).

# nv_driver 0.03 (Rudolf)

- Prevent system or video freeze on dragging files or so in tracker windows;
- Pre NV10 cursor sync_to_retrace: no more distortions in cursor bitmaps on moving it;
- Cursor bitmapadress setup modification for laptops: The cursor should be visible now also on 'Go' type of cards;
- BWindowScreen / Sync_to_retrace fix: prevent apps from crashing on endless waiting for retrace. Wait_for_retrace is temporary disabled now until it's actually implemented.

# nv_driver 0.02 (Rudolf)

- hardcursor support;
- virtual screens / BWindowScreen support including panning/scrolling;
- colorspace selection;
- colorpalette setup;
- refreshrate selection;
- 85 cards of 4 brands are detected now: These are all TNT1 - GeForce FX5900 Ultra cards as far as I know. Hopefully all those cards will actually work OK with the driver;
- DPMS support;
- resolution selection (CRTC setup);
- switch to 'enhanced mode' included: VESA is gone now!
- cardspecs are setup (faked PINS);
- several small fixes done to get the driver working correctly on all four of my cards: PCI TNT1, AGP TNT1, AGP TNT2 and AGP GeForce2MX400.

# Still todo:

- Add support for internal display panels (laptops);
- TVout support;
- Partial card coldstart: setup RAM and CORE speeds (if possible).