
Changes in v1.11: (19 May 94).

Better fix for ET4000/W32 auto-detection.
Fix typo that prevented ET3000 auto-detection.
Clipping bug with compiled bitmaps fixed.
Shared library 1.1.7.

Changes in v1.10: (9 May 94)

Possible fix for ET4000/W32 auto-detection (does iopl(3) now).
Logitech mouse fix.
Repeated keyboard_init/keyboard_close fix.
vgagl fixes for mach32 'misordered' 32bpp truecolor and 32bpp paged fillbox.
mach32 - Forgot to disable write mask for VGA framebuffer (zgv2.2 screen
	 corruption after online help)
mach32 - Wrong assumption about BIOS enabling the mem aperture.. was actually
	 done by Xfree.. driver will setup linear framebuffer itself using
	 info from the EEPROM now.
mach32 - added mach32/mach32.std-modes info file..
mach32 - ran a spell checker over my README's to throw away the worst errors.
mach32 - Patched vgapix for correct RGB_MISORDERED support.
mach32 - This needed an additional global for the modeinfo-flags (short cut is MODEFLAGS).
mach32 - Changed blankadjust for 32bpp modes and DAC-type 2.
mach32 - Patched mach32 autodetection code.
mach32 - Changed 32bpp setting at all by defining a new dacmode (needed for dac-types 5)
mach32 - Changed VFIFO handling and vfifo defaults for 16/24/32bpp modes.
mach32 - Added fuzz factor of 0.5KHz when obeying monitor horz restriction.
mach32 - deleted dacwidth config command (was not useful)
mach32 - Added setuplinear command for mach32 (would be useful for cirrus too)
mach32 - Changed order of restore of extended ati registers to obey locking..
	 may need even more fixing..that is ensure restore of vgaregs before they are locked
	 again when restoring extended ATI lock registers.
mach32 - Had to change order of entries in save-/setregs array for mach32 for this.
Shared library v1.1.6.

Changes in v1.09: (2 May 94)

Significant mach32 driver/docs update (potentially dangerous bug fixed).
Some vga_draw primitives now support 32-bit pixel modes (better support is
in vgagl).
Cirrus 320x200x256 registers redefined to support page flipping (setmodeX
doesn't work anymore).
Trident 320x200x256 page-flipping disabled.
Shared library 1.1.5.

Changes in v1.08: (27 Apr 94)

Improved vgagl 24-bit physical/32-bit virtual screen support (pageflipping
really fixed, speed increase (alignment)).
S3 driver hacked (try it if you are bold).
Sierra 15025/26 DAC support should work for 32K modes now.
Added PS/2 mouse support (untested).
More vgagl 32bpp primitives.
320x200x256 vgagl page flipping fix (this is a big one).
Added ctrl-c detection to low-level keyboard interface.
vgagl copyboxfromcontext added, and more efficient copyboxtocontext.
Shared library 1.1.4.

Changes in v1.07: (19 Apr 94)

Moved main library source into src/. Cleaned up shared library making.
Fix permissions of utils/convfont.
Fix tty behaviour:
Open /dev/tty instead of /dev/tty0 (previously non-root users could not run
programs if /dev/tty0 was not world-readable, like in the recent slackware).
Don't kill the terminal settings when detecting a non-graphics capable
virtual console (stupid bug related to use of atexit()).
Limited support for ioperm(1) by Olaf Titz. Allows non-root users to run
svgalib binaries which are not setuid-root.
Emulated paged copybox in vgagl (untested).
Utility to read out the ATI mach32 EEPROM.
Shared library 1.1.3.

Changes in v1.06: (11 Apr 94)

vgagl pageflipping fix for 24-bit/32-bit virtual screen.
Fix 16 color mode availability on ATI mach32.
Possible ET4000/W32 Sierra 15025/26 64K color fix.
vgagl compiled bitmaps enhanced (not completely compatible with v1.05),
but still untested.
Possible Trident 320x200 page flipping fix.
Shared library 1.1.2

Changes in v1.05: (2 Apr 94)

Some unfinished SVPMI stuff (feedback strongly encouraged).
Added vgagl compiled bitmap functions (256 color only, untested).
Added definitions for 32 bits per pixel truecolor modes (not used yet). I
don't feel like adding vga_draw* functions for these; use vgagl.
vgagl now supports VGA 16 color modes indirectly.
Added RAW mode keyboard interface (vgakeyboard.h).
Mouse driver fix.
Shared library 1.1.1.

Changes in v1.04: (29 Mar 94)

Support for more than 1Mbyte of memory on ET4000W32i/W32p and 24-bit Sierra
DAC (15025/6) (untested). Fixed copying 4 bytes per pixel virtual screen to
three bytes per pixel screen (e.g. '3d' in truecolor modes). Fixed missing
gl_enablepageflipping. Fixed Cirrus linear addressing.
Amazing alpha ATI mach32 driver by Michael Weller; configuration file format
extended.
Shared library version 1.1.

Changes in v1.03:

EGA support fixed (Kapil Paranjabe). Added vga_safety_fork. 
utils/Makefile fixed.

Changes in v1.02:

vgagl bitmap scaling improved. vga_lockvc/unlockvc should be useful now to
avoid corruption of certain VGA registers used for drawing.

Changes in v1.01:

Fixed copying to planar 256 color mode in vgagl, and added page flipping
support. Setting an SVGA mode after a planar 256 color mode clears the
screen properly now. Shared library 1.0.10.

Changes in v1.00: (Jan 94)

[The version number doesn't say anything about stability/completeness etc.]
A number of bug fixes related to Mode X (display start, console switching,
planar 320x200x256 allowed with vga_setmodeX()).
Added vga_copytoplanar256 for Mode X-like modes. Added smooth scrolling demo
program. Demo programs moved to demos/.
Cirrus linear addressing works (if you have less than 16Mb of memory); see
demos/testlinear. Added ET3000 driver. Trident 8900 reboot-beep problem should
be fixed.
Shared library 1.0.9

Changes in v0.99:

ET4000 patches by Hartmut Schirmer: ET4000 register dumps now have extra
registers, so old register dumps won't work; register dump program (tseng3,
moved to et4000/ directory) supports VESA modes. Microsoft mouse handling
bug fixed. Shared library 1.0.8.

Changes in v0.98:

Some minor bugfixes, low-level mouse handling rewritten (was very slow).
Added vga_runinbackground and vga_oktowrite as a kludge to allow a graphics
program to run in the background (not entirely safe). Disabled ET4000 clock
detection (wasn't used yet).
Shared library version 1.0.7.

Changes in v0.97:

Fixed Cirrus 1024x768x256 non-interlaced. Other modes use default (lowest)
frequencies. Fixed bad virtual screen bug in vgagl (copyscreen).
Incorporates patches from Hartmut Schirmer (et4000 clock frequency
determination). Shared library 1.0.6.

Changes in v0.96:

Corrected et4000/et4000.default. Cirrus 1024x768x256 non-interlaced.
Hopefully fixed Cirrus monitor settings. Cirrus blitting works again. Fixes
in vgagl truecolor framebuffer support. Shared library 1.0.5.

Changes in v0.95:

Avoid writing to some reserved registers on ET4000 and Trident (fixes dual
monitor setups) (David Monro). Cirrus 1024x768x256 was doing scary things if
the svgalib monitor type was set to allow non-interlaced. Added Cirrus
1024x768x16 non-interlaced and 1280x1024x16 interlaced. Shared library
1.0.4.

Changes in v0.94:

Added 132x43 textmode tweaking utility. Put utilities in utils/.
restoretextmode was not saving/restoring extended registers anymore. Shared
library 1.0.3. Hack to prevent standard VGA modes from failing to work after
having run XFree86 on Cirrus. gl_setcontextwidth fixed.

Changes in v0.93:

Oops, version 0.92 was not quite up to date. Shared library is 1.0.2. We'll
get libvga.so.1.0.99 before the end of the year at this rate :-).
gl_copybox truly fixed.

Changes in v0.92:

Fixed broken configuration file reading; some minor changes.
Shared library is now version 1.0.1. Source is flawed.

Changes in v0.91:

Various fixes. Dumpreg should work better in X now. The default dynamically
defined ET4000 registers are now in /usr/local/lib/libvga.et4000.
Added vga_getgraphmem.
Shared library support (requires tools 2.8 to build). This greatly reduces
executable size and is good for binary compatibility.
__svgalib_graph_mem is now shadowed in a read-only user-visible global
variable (graph_mem) for easier shared library building.
Fixed console switching bug when a textmode is set in between the setting
of graphics modes.

Oak 640x480x256 should work now.

vgalgl updates. Added 4 bytes per pixel virtual screen support.

Added vga_init. This will detect and initialize the driver, and give up
supervisor rights, having obtained I/O permissions. This is the recommended
first line of any program that uses svgalib.

Should do chmod a+s on restorefont.

EGA support from egalib by Kapil Paranjabe integrated into svgalib. This
is currently untested.

Mouse support (can also be used independently). Added vga_lockvc and
vga_unlockvc; vga_getkey (read keyboard without waiting). Using the mouse
means no console switching for now.

Initial untested S3 driver. Goal is to provide support for truecolor modes
on the 801/805/928, in SVGA mode. Properly uses monitor type variable.
[doesn't work]

Configuration file for mouse/monitor type. Monitor type not used by drivers
yet, except Cirrus.


Changes in v0.9:

Extensive changes and restructuring, by Hartmut Schirmer. Dynamic
(run-time) register loading from a configuration file for ET4000 cards,
providing binary compatibility. High resolution 16-color modes (for ET4000
at least). More stable virtual console switching.

copybox, and gl_setpalettecolor bugs fixed in vgagl.

Fixed setting of standard VGA mode after SVGA mode.


Changes in v0.82:

Virtual console switching cleanup.

The dumpreg program now also shows extended registers.

Added Oak driver, but extended registers have not been filled in. Somebody
should run XFree86 with the Oak driver, dump the extended registers with the
dumpreg program (make sure the Oak driver is enabled in config.h), and put
them in oak.c. With some luck it'll work.


Changes in v0.81:

Restorefont (write option) was broken again due to bug in vga.c; gl/text.c
was missing in v0.8. Added vga_disabledriverreport.


Changes in v0.8:

Fixed major bug in vga_getmodeinfo in vgadrv.c. This may have caused
spic to fail on unsupported SVGA cards in 320x200x256.

vga.c split, and other changes (Hartmut Schirmer). Note that mode numbers
beyond 1024x768x256 have changed. Standard VGA modes 720x350x16 and
720x480x16 added.

Virtual console switching improved (bank/linewidth/displaystart preserved).


Changes in v0.7:

Trident textmode restoration and SVGA modes should work now on 1M cards
(thanks to Scott Heavner).

Bug fixes in vgagl.


Changes in v0.6:

Trident driver bug fixed; detection cleaned up. 800x600 and 1024x768 on 1Mb
cards don't work correctly.

Added Cirrus 800x600x16M NI (at 50 Hz), and program to set the Cirrus memory
clock to a higher value (setmclk.c).

Added framebuffer graphics library for one, two and three byte-per-pixel
modes. Documentation improved.

vga_setrgbcolor added.

ET4000 Hicolor fixes (thanks to Savio Lam), and other fixes (Scott Heavner).


Changes in v0.5:

Fixed palette register timing bug (caused occasional corruption of textmode
palette).

Added function that checks the environment variable GSVGAMODE for a 
default mode (vga_getdefaultmode). The environment string can either be a
mode number (compatible with VGAlib Ghostscript), or a mode name as
in (G640x480x2, G640x480x16, G640x480x256, G640x480x32K, G640x480x64K,
G640x480x16M, PROMPT (ignore)).


Changes in v0.4:

restorefont.c as distributed in v0.3 missed a case line in a switch
statement which made it useless.

Each VGA register write in the library was producing silly debugging code
(I forgot to restore the macro definition), making everything significantly
larger than neccessary.

Added vga_getchipset function. vgatest now only lists modes that are
available.

The ET4000 driver has been improved, including Hicolor DAC detection 
(thanks to David Monro and Daniel Jackson).

Cirrus driver:
Fixed 5420/2/4 bug, cleaned up detection, changed the 800x600 timings, and 
added missing modes 1024x768x256/32K/64K, as well as 320x200x15/16/24bit.
Also, there's support for some of the accelerated features of the Cirrus
5426, the driver provides bitblt (move box), fillblt (fill box), and
imageblt (write bitmap from system memory) functions.

Display start address can now be meaningfully changed in 16-color and planar
256 color VGA modes for page-flipping (address is expressed as number of
pixels).

Fixed the vga_flip() functionality; if you press escape during
vga_getch() the console is switched to textmode until another key is
pressed. [note: this has been obsoleted by console switching]
The default amount of video memory saved in SVGA modes is the size
of one screen. If the program uses more (if it uses page-flipping, for
example), you must indicate it with the vga_claimvideomemory function. This
prevents 2048 or 1024K being saved when only a few hundred K is required.

svgalib now waits until the virtual console it is running in becomes active
before setting the first graphics mode.

Implemented transparent virtual console switching (which uses vga_flip).

