1Changes in 1.4.3
2
3Yury Starkov <yury1@mail.lv>:
4 fix banshee.c setdisplaystart().
5 fix gl_enablepageflipping() call in demos/fun.c
6
7Hans de Goede <hans@highrise.nl>:
8 fix vesa.c for modes where logical width is not the minimum necessary.
9
10Morris Michael Slutsky <mslutsky@umich.edu>:
11 A new mouse driver for DR mouse with two wheels. (DRMOUSE4DS)
12
13Chris Purnell <cjp@oit.net>:
14 fbdev driver.
15
16Matan Ziv-Av <matan@svgalib.org>:
17 doc/Makefile changed to have the man pages uncompressed in the distribution.
18 GeForce support in nv3.c.
19 Matrox G450 driver (called g400.c).
20 ATI Rage 128 driver.
21 S3 Savage driver.
22
23Changes in 1.4.2:
24
25Bart Oldeman <Bart.Oldeman@bristol.ac.uk>:
26 vga_simple_init, vga_chipset_setregs, vga_chipset_saveregs - for dosemu.
27 fix sis driver to program 25 and 28MHz clocks correctly, in case
28  bios misporgrammed them.
29 other fixes for sis.c
30
31Klaus Stehle <klaus.stehle@uni-tuebingen.de>:
32 Fix gl_writen to behave as per the man page (not stop at nul char).
33
34Ben Winslow <rain@insane.loonybin.net>:
35 support for Wacom Graphire tablet/mouse.
36
37malekith@ikar.mps.com.pl:
38 support for mouse type pnp (explanation of this type in gpm).
39
40Krzysztof Nikiel <krzych00@priv7.onet.pl>:
41 move mouse_init to vga_init (before giving up root privileges), and
42  not closing mouse upon return to text mode. This enables svgalib
43  programs to use the mouse device even when the device is only readable
44  by root.
45
46Matan Ziv-Av <matan@svgalib.org>:
47 Banshee fixes to support high resolution modes.
48 nv3 fix to support nv3 (Riva128) cards again.
49 nv3 fix to restore memory page number.
50 fix gl_hline to do nothing if x1>x2 (rather than segfault) + man page.
51 workaround for double clock speed for some rage cards
52 laguna (Cirrus logic 546X) driver.
53
54Changes in 1.4.1:
55
56Shigehiro Nomura <s.nomura@mba.nifty.ne.jp>:
57 neomagic driver.
58
59Jay Link <jlink@svgalib.org>:
60 Functions gl_fillcircle(3) and gl_bcircle(3), for greater flexibility.
61 Main algorithm of gl_bcircle(3) provided by Chris Atenasio:
62  <chris@svgalib.org>.
63
64Sergey A. Kononenko <sergk@ssu.ccssu.crimea.ua>:
65 s3 driver update to support linear mode with Trio64 + small fixes.
66
67Matan Ziv-Av:
68 sis, banshee, i740 drivers.
69 nv3 updated for TNT and GeForce.
70 scitech's gtf in timing.c (not used yet).
71 vgapci can now be used to find more than one vga card.
72
73Robert J. Ragno <rjr@MIT.EDU>:
74 fix compile problems with gcc-2.95
75
76Greg Alexander <galexand@acm.org>
77 add support for fourth button of Trackman Marble.
78
79
80Changes in 1.4.0:
81
82Matan Ziv-Av <matan@svgalib.org>
83 vgapci uses /proc/bus/pci kernel interface, when available.
84 Rage driver.
85 Added static modes.
86 Extended dynamic mode creation with vga_addtiming(3), vga_guesstiming(3),
87  vga_addmode(3) and newmode config file option.
88 Functions vga_cetcurrenttiming(3) and vga_changetiming(3), for mode
89  tuning at runtime.
90 All mmaps of /dev/mem are done by driver initialize function and
91  vga_init, so /dev/mem file descriptor is closed when relinquishing root
92  privileges.
93 Moved mach64.c driver to a different directory.
94 vga_reset utility added to facilitate restoring textmode without
95  rebooting, in case svgalib fails to do it properly.
96
97Christian Groessler <cpg@aladdin.de>:
98 Chips&tech driver fixes.
99 Changing vga_setlinearaddressing to return error when in mode that does
100  support linear.
101
102Luke Angel <luke@illuminated.com.au>:
103 FPC (Pascal) demo.
104
105Don Secrest <secrest@aries.scs.uiuc.edu>:
106 Rewrite of et6000 driver to comply with newer svgalib driver interface.
107
108Russell Marks <rus@forfree.at>:
109 Fixed bug in console switching when in background mode (it used to
110  effectively disable console-switching after the first switch, which
111  broke zgv).
112 Made vga_getscansegment() and vga_drawscansegment() work correctly
113  for non-4-pixel-aligned x locations in mode-X modes, and made
114  mode-X vga_getscansegment() set page to *read*, not write.
115
116
117Changes in v1.3.1: (16 Aug 98):
118
119Wichert Akkermann <wakkerma@debian.org> & Kevin Vajk <kvajk@ricochet.net>:
120 Ensure stdin/out/err don't point to sensitive files (/dev/mem) by accident.
121
122David Bateman <dbateman@ee.uts.edu.au>:
123 C&T: Added support for 65555, 68554, 69000 and 64300 chips
124      Some smaller fixes (65554 memory probing, max. pixel clock)
125
126David Grant <dave@reach.net>:
127 Remove some egcs warnings.
128
129Christian Groessler <cpg@aladdin.de>:
130 C&T: Further 65550 enhancements, fix text-mode stretching.
131 C&T: does not need iopl(3) anymore.
132 map_framebuffer() also works for non root now.
133 vga_setmode() typo fixed
134 Increase buffers for vgapci
135
136Bernd Schmidt <crux@Pool.Informatik.RWTH-Aachen.DE>:
137 Lrmi.c support under egcs, nested int calls.
138
139Don Secrest <secrest@aries.scs.uiuc.edu>:
140 Support for linear frame buffer.
141
142Scott Stone <sstone@ume.pht.co.jp>:
143 Glibc adaptions for lrmi.c.
144
145Brion Vibber <brion@pobox.com>:
146 Variation of lrmi glibc adaptions.
147
148Matan Ziv-Av <matan@svgalib.org>:
149 Minor apm/nv3/vesa patches.
150 Vgapci enhanced (some buffer sizes changed).
151 MX driver added.
152 TextProg option added.
153
154Changes in v1.3.0: (11 June 98):
155
156Daniel Engstr�m <daniel.engstrom@riksnett.no>:
157 Provided an svgalib-style joystick driver.
158
159Harald Hoyer <HarryH@Royal.Net>:
160 Readjust speed for certain Logitech Mousemen.
161
162Jan Hubicka <hubicka@atrey.karlin.mff.cuni.cz>:
163 Some internal additions for cards with no VGA functionality.
164
165Elliot Lee <sopwith@circ.us.eu.org>:
166 Yet another ViRGE/VX id for autodetection.
167
168Attila Lendvai (101) <101@kempelen.inf.bme.hu>:
169 Logarithmic mouse acceleration.
170 Mouse acceleration config by config file.
171 Rename GSVGAMODE to SVGALIB_DEFAULT_MODE
172 Parse ~/.svgalibrc and SVGALIB_CONFIG_FILE.
173 Mouse emulation in raw keyboard mode
174 Changed his email
175
176Lalo Martins <lalo@webcom.com>:
177 Fix misinterpretation of monitor freq limits in Mach32 interlaced (fix
178  generalized and applied to a related code segment as well: eowmob, below)
179
180Marek Mintal <mintal@chelin.chtf.stuba.sk>:
181 Fixed gl_copyfrom/tocontext in more than 8bpp.
182
183Don Secrest <secrest@aries.scs.uiuc.edu>:
184 ET6000 Support.
185 A tiny ET4000 fix.
186
187Trek <trek00@freenet.hut.fi>, <trek@mediaservice.net>:
188 Added gl_printf.
189
190Brion Vibber <brion@pobox.com>:
191 Added Intellimouse support, PS/2 and serial.
192 Fake keyboard events for using wheel with legacy apps.
193 Updated mousetest demo to do something with middle button and wheel (RX axis).
194 Added limited keyboard layout remapping for raw keyboard.
195
196Michael Weller <eowmob@exp-math.uni-essen.de>:
197 demos/Makefile misused $* in chown accel and others.
198 Makefile now robust for comments in /etc/ld.so.conf (Problem cause/fix found
199  by <martinp@gmx.de>)
200 Makefile failed to remove certain library stubs not removed by ldconfig on
201  Slack 3.3 reported by Jacek Tokarski <tokarsk@us.edu.pl>
202 Various rewritings of gl_printf().
203 Documentation fixes.
204 Mach32 lowered iopl() accidently on occasion.
205 Allow disabling sigint in graphicsmode.
206 Made apm test more grateful to VGA cards.
207 Mach32 proper accel bitmap (RD_MASK) in 32K colors.
208 Allow joystick sharing and multiple joystick support, bind joystick
209 interface into svgalib.
210
211Matan Ziv-Av <matan@svgalib.org>:
212 Added apm driver for AT3D.
213 Added nv3 driver for Riva128.
214 Added a driver for 'nicely behaved' Vesa bioses.
215
216Changes in v1.2.13: (4 Dec 97):
217
218Pekka T. Alaruikka <alaruik@cc.hut.fi> & Michael Friman <no email>:
219 Modified the VC switch queue & other clean up.
220
221Mike Chapman <mike@paranoia.com>:
222 Added mouse acceleration.
223
224Ryan Rubley <rubleyr@river.it.gvsu.edu>:
225 Added TVGA9440 support.
226 Provided trap-out tool.
227
228Frodo Looijaard <frodol@dds.nl>:
229 Email changed.
230
231Michael Weller <eowmob@exp-math.uni-essen.de>:
232 Fix the 512 chars console font fix.
233
234Changes in v1.2.12: (4 Sep 97):
235Pekka T. Alaruikka <alaruik@cc.hut.fi> & Michael Friman <no email>:
236 Fix a bug in the background mode support, introduced by Michael.
237 Optimizing speed of the background mode support.
238
239Greg Alexander:
240 Autodetect S3Trio64V2/DX.
241 New 640x480 example timing.
242
243Ricardas Cepas <rch@pub.osf.lt>
244 Save 512 chars of console font (needed for newer kernels).
245
246Michael Talbot-Wilson <talmg@wren.forensic.sa.gov.au>:
247 Some more glibc modification & success reports.
248
249Michael Weller <eowmob@exp-math.uni-essen.de>:
250 Transformed all README's in a bunch of man pages and even documented
251  previously unknown stuff.
252 Makefile modifications to allow installation of man pages.
253 Makefile modifications to ensure default configuration is for ELF.
254 Fixed accelerated gl_fillbox for more than 8bpp problem reported by
255  Anthony Chu <anthony@av4800.tatung.com.tw>
256
257Changes in v1.2.11: (29 Jun 97):
258
259Pekka T. Alaruikka <alaruik@cc.hut.fi> & Michael Friman <no email>:
260 Background mode support.
261
262David Bateman <dbateman@ee.uts.edu.au>:
263 Support for Chips & Technologies 655xx chipsets
264
265Gary Clark <GaryC@mail.jeld-wen.com>:
266 Allow S3 virge to be autodetected as S3 Trio 64
267
268Jeff Epler <jepler@inetnebr.com>:
269 Allow for coexistance of GPM and svgalib
270
271David Goldsmith <dhg@dec.net>:
272 Pointed out buffer overrun security flaws using saved uids and provided a fix.
273
274H. Hanemaayer <H.Hanemaayer@inter.nl.net>:
275 Some Cirrus 5436 fixes and changes to mode timings for Cirrus
276 Remove lock from a few Ark registers.
277
278Dr Stephen Henson <shenson@bigfoot.com> (former Stephen Henson
279                                                            <shenson@nyx.net>):
280 Fix an ELF/gcc flaw in inlstring.h (former BugsNotFound)
281
282Ron Koerner <koerne00@marvin.informatik.uni-dortmund.de>:
283 Enhanced ALI driver.
284
285Jae-Hyuck Lee <jalee@grail.cba.csuohio.edu>:
286 Makefile problems (probably due to new gmake, used to work b4).
287
288Stephen Lee <sl14@cornell.edu>:
289 Detects the Trio64V+.
290 A few patch to Trio64 RAMDAC code to make it work better on the V+.
291
292Robert Lupton <rhl@astro.Princeton.EDU>:
293 Typo in vga_waitevent().
294 Possible race condition releasevt_signal() when restoring signal.
295
296Szeredi Miklos <mszeredi@eik.bme.hu>:
297 Reset keystates on a VC switch in keyboard.c
298
299David Mosberger-Tang <davidm@AZStarNet.com>:
300 Some (more) changes for clean Linux/Alpha support.
301
302Tomi Sarvela <tsarvela@nether.tky.hut.fi>:
303 Added support for Cirrus 5436.
304
305Paul Sheer <psheer@icon.co.za>:
306 Gl line drawing routine with inlined set_pixel.
307
308Lodewijk Voge <lodewijk@reddwarf.xs4all.nl>:
309 Autodetect Hercules Stingray 64/Video as ark2000pv.
310
311Vernon C. Hoxie <vern@zebra.alphacdc.com>:
312 Solved (hopefully) the Mach32-AST problem.
313
314Michael Weller <eowmob@exp-math.uni-essen.de>:
315 Search free console on startup as zgv did. Should also fix a problem with
316   /dev/tty & zgv on newer kernels (reported by Mike Castle <mcastle@cris.com>).
317 Various Makefile fixes and changes. (Most useful reports by:
318   Kieron Brown <kieron@acfd.bris.ac.uk> &
319   Don Secrest <secrest@aries.scs.uiuc.edu>)
320
321Oliver White <owhite@nla.gov.au>:
322 Fix typo that broke G1024x768x32K and G640x480x16M32 and higher in ark.c
323
324Eric Sharkey <sharkey@superk.physics.sunysb.edu>:
325  Added 6-D mouse support
326  Added Spacetec Spaceball/Spaceorb mouse protocol (special thanks to
327    Brett Viren <bviren@superk.physics.sunysb.edu> for reverse engineering
328    this protocol and providing many lines of code which I've included
329    in svgalib)
330  Added spin demo, adapted and expanded from the original spin program
331    by Jason Lyons <jason_l@hotmail.com>
332  Added mdev config file option to set mouse device
333  Fixed scale bug in mouse_setposition()
334
335Changes in v1.2.10: (20 Mar 96)
336
337Andreas Arens <ari@av.rwth-aachen.de>:
338 Support for new S3 clockchip ICD 2061A in a new clockchip module.
339 Sierra SC1148X ramdac support
340 Sierra SC15025 ramdac support
341 New `DacSpeed' config option
342 Fix for 928 modes.
343
344Stefan Kanthak <kanthak@Gazelle.Informatik.RWTH-Aachen.DE>:
345 Several changes for support of Alpha _JENSEN_ system as well.
346
347Stephen Lee <sl14@cornell.edu>:
348 Makefile patches:
349   - LFLAGS is for lex, use LDFLAGS instead.
350   - Changed default target.
351   - Create symlinks for new binutils.
352   - Moved ramdac and clockchip into their own directory.
353   - 3dkit can now compile in a separate directory.
354   - use $(CC) $(INCLUDE) instead of just gcc for making dependency files.
355 Cleanup ATI driver (also fix for a buglet).
356 Partial S3 868 support.
357 SDAC 24bpp support (probably wouldn't work with 864, though).
358 Allow 1152x864 & 1600x1200 modes for drivers that can use modeline
359   in libvga.conf (e.g. S3).
360 S3 4bpp doesn't like Linear Bank Switching.
361 SDAC doesn't seem to do pixel multiplexing at 4/8bpp.
362 ramdac.c bugfix and cleanup.
363 okay, so some people still have pixel swapping problem on the 805. (sigh)
364   I've put in an experimental fix for it.
365 split ramdac.c into individual files.
366 968/IBMRGB support.  Only 256 colors for now.
367 Merged Trio64 patch from Moto Kawamura <kawamura@mmp.cl.nec.co.jp>.
368 Changed handling of S3 CR34 for VGA modes at Andreas' suggestion.
369 Updated libvga.config and README.config.
370 Small fix for libvga.h macros.
371 Rewrote __vga_dumpregs().
372
373Bill Randle <billr@master.CNA.TEK.COM>:
374 Patches to allow compiling only some of the ramdac drivers.
375 Enhanced vga_drawscansegment() to remove it's limitations.
376 New function: vga_getscansegment();
377 Allow intermixing of vga_setpalette()/vga_getpalette calls.
378
379Tomi Sarvela <tsarvela@nether.tky.hut.fi>:
380 Some more scancodes for vgakeyboard.h
381
382Paul Sheer <psheer@icon.co.za>:
383 Routine to draw quick triangles and some 3d demos in 3dkit/
384
385Erik Troan <ewt@redhat.com>
386 Renamed a read[bwl] and write[bwl] for ALPHA support under latest kernels.
387
388Michael Weller <eowmob@exp-math.uni-essen.de>:
389 Fixed security leak from linux-security@vger in restorefont -r.
390 Fixed Fix for vgapal.c so it started working again. Added index register sets
391  back to vgadrawscansegment for ATI SVGA cards.
392 Cleaned support to compile only few RAMDACS in (still not happy with it though)
393 Even more scancodes to vgakeyboard.h
394 New function vga_waitevent() plus eventtest demo due to request for libgrx by
395  Daniel Lee Jackson <djackson@ichips.intel.com> (although there was no such
396  flexible solution required)
397 Docs for vga_(draw/get)scansegment(), vga_waitevent();
398
399Changes in v1.29: (11 Nov 95)
400
401Stephen Lee <sl14@crux1.cit.cornell.edu>:
402 Minor Makefile patches.
403 16 color modes work on the S3 805.
404
405Scott Snyder <SNYDER@D0SB10.FNAL.GOV>
406 Fix to have Mach32 not remap the location of some ELF libs (modified by Michael).
407
408Heiko Schroeder <heiko@pc73121.dialup.rwth-aachen.de>
409 Implemented a modeline config command for libvga.conf to userdefine
410  modes for all drivers using timing.c
411
412Andreas Arens <ari@av.rwth-aachen.de>:
413 ET4000 patches to avoid problems with 132 column consoles and with IOPERM
414  in ET4000/W32.
415 RAMDAC (SC15025) for S3
416
417Ron Koerner <koerne00@marvin.informatik.uni-dortmund.de>:
418 New driver for ALI2301 (keyword: ALI) cards in all SVGA 256 colormodes.
419
420Peter Ekberg <peda@pulkan.rydnet.lysator.liu.se>
421 Waiting for console activation could be interrupted by signals.
422
423Michael Weller <eowmob@exp-math.uni-essen.de>:
424 Fixed fix of Oak, modifies mode timings depending on detected chipset
425 Minor typo in egadrv.c
426 Documented unavailability of SIGUSR1/2 as Peter suggested.
427 Fixed a problem in raw keyboard mode noticed by Stephen (matter of
428  seconds coz of good description)
429
430Changes in v1.28: (7 Oct 95)
431
432Koen Gadeyne <kmg@barco.be>:
433 Typo for S3 genDac (S3 SDAC, S3 Trio) made all clocks unusable.
434 Support for 24bpp (true-color) on S3 805 cards with GenDAC.
435
436Honza alias Jan Hubicka <hubicka@limax.paru.cas.cz>:
437 Possible segfault in gl/cbitmap, fixed gl_regioncode for clipping
438 on Dec Alpha.
439
440Sven Grothklags <sven@uni-paderborn.de>:
441 Bugfixes for compressed fonts in vgagl.
442
443Stephen Lee <sl14@crux1.cit.cornell.edu>:
444 Several pixel swapping fixes on S3-805, New Dacspeed keyword for ATT20C490
445 Changed monitor setup to accept seperate h/vsync values (see README.config),
446 Reintroduced lost (?) et3000 support in distribution shared lib.
447 Rejoined ELF/a.out Makefiles, in fact rewrote all Makefiles.
448 Again many code cleanups to pass -Wstrict-prototypes
449
450Michael Weller <eowmob@exp-math.uni-essen.de>:
451 Fixed confusion about termios setting between keyboard.c and vga.c (console
452  lockup at <VC-switch>-Enter)
453 Catched ALL fatal signals for gentle touch down.
454 Patched mach32 to accept new h/vsync monitor setup.
455 Some tiny a.out patches to Stephen's Makefile's
456 Even more code cleanups. Now EVERY sourcefile passes -Wstrict-prototypes
457  and even the esp. pedantic warnings of my vanilla a.out gcc 2.6.3
458  (who seems to be more pecular than other compilers)
459 Reformatted ALL sources due to requests.
460 Minimal fix to allow using chipset ATI on Mach32 (doesn't give you much,
461  though)
462 vga_safety_fork() enhanced, uses iopl now. (which has its own security issues,
463  see README)
464
465Frodo Looijaard <frodol@dds.nl>:
466 Fixed Oak driver to support Oak-67 again. Note: The fix might have broken
467 Oak-87 support by accident.
468
469Christopher Wiles <wileyc@moscow.com>:
470 Slight modifications of above Oak fix.
471
472Peter Ekberg <peda@pulkan.rydnet.lysator.liu.se>:
473 Some more scancodes in vgakeyboard.h and doc fix for vga_getkey();
474
475Changes in v1.27: (21 August 95)
476
477Mach32 related changes(M. Weller <eowmob@exp-math.uni-essen.de>):
478 cosmetic fixes, new config commands svgaclocks, ramdac, vendor to
479 help support alien (not conforming to original ATI specs) cards
480 (should work for dell now). Fixed several NULL ptr dereferences
481 that delurked under ELF.
482
483David Mosberger-Tang <davidm@AZStarNet.com>:
484 Patches to make svgalib work on Linux/Alpha. (Only known to work with #9 GXE
485 PCI, other cards may or may not work)
486
487Harm Haanemayer <hhanemaa@cs.ruu.nl>:
488 Change duplicate include check vgamouse.h.
489 Fix bug in gl_getpixel in 3-bytes-per-pixel modes.
490 Allow ctrl-c detection to be disabled in raw keyboard interface.
491
492Gregory Margo <gmargo@newton.vip.best.com>:
493 Support for the Logitech Mouseman mouse series.
494 Override mouse mode from environment (SVGA_MOUSE_OVERRIDE) (useful for doom)
495
496Stephen Lee <sl14@crux1.cit.cornell.edu>:
497 ELF support, countless patches for code clean up, bugfixes in S3 15/16/24 bpp,
498 autodection for more chips (but alas, no support for them)
499
500Moved config files to /etc/vga due to requests, patched makefiles for automatic
501 reconfiguration. (M. Weller <eowmob@exp-math.uni-essen.de>)
502
503Changes in v1.26: (27 April 95)
504
505Really fix console-switching in raw-keyboard mode.
506Fix SDAC support.
507Fix Trio64 detect. Modes don't work though (use Ramdac "normal").
508Move ET4000 chiptype detection so that it works when chipset is
509forced in config file.
510Fix Cirrus 5420/22/24 support.
511Mach32 related changes:
512Minor typos in mach32info fixed. 68800-6 should now be reported correctly.
513Fixed compiler warnings in mach32.c due to changed interface (no new accel
514interface yet).
515Newflag for red first in 24bpp returned for Mach32 with DAC 4
516Support for 24bpp red first in whole svgalib + vgagl.
517Added support for 32bpp in vgadraw.c
518Added detection for 24bpp red first in vgatest.
519TODO: Fix raw-keyboard console switching when alt is kept pressed (e.g.
520Doom).
521
522Changes in v1.25: (7 March 95)
523
524Problem with programs that don't call vga_init finally fixed.
525Fix console-switching in svgalib raw-keyboard mode (vgakeyboard.h).
526Working ARK driver (includes acceleration).
527Linear addressing detection changed (supports partial framebuffers).
528Add more RAMDAC support -- AT&T490-compatible truecolor DACs supported
529for S3.
530Tweak mouse/keyboard header files to fix conflict with libgrx compile.
531
532Changes in v1.24:
533
534Fix bug causing "not running in ..." messages if vga_init wasn't called.
535Better structure for driver interface ("DriverSpecs"). Fields other
536than the basic driver functions can be included. Type checking is also
537better. Most drivers haven't been updated for the new return types;
538feel free to send patches. Something might be broken, watch out.
539Better acceleration inferface.
540Fix ARK chiptype detection.
541Untested ARK chip support.
542Largely fixed S3-864 + SDAC support.
543Untested clock/DAC support for the Trio64 in the S3 driver.
544Unlock extended registers when forcing Cirrus in config file.
545Try to avoid Cirrus hardware lock-up when switching certain modes.
546Add "accel" program to test new acceleration interface.
547
548Changes in v1.23: (8 Feb 95)
549
550ET4000/W32 tweaks.
551Added gl_allocatecontext. Use this instead of declaring GraphicsContext
552variables statically. Demo programs changed accordingly.
553Safer VC switching with blits.
554Allow Cirrus SVGA modes with 512K memory.
555Possible Cirrus 5422 MCLK detection fix.
556Incorporate ATI 'driver' from Scott Heavner (allows VGA with 132-column
557textmode).
558Untested ARK driver and untested generic S3 support (640x480x256 @ 60 Hz).
559Unused acceleration interface sketch (accel.h/cirrus.c).
560
561Changes in v1.22:
562
563ET4000 additions for STG170x DAC (tseng3.c and driver), linear addressing
564support for W32p, better general linear addressing handling with new driver
565function, 8-bit color components CLUT support for AT&T DAC (David
566Etherton).
567Cirrus driver tweaks.
568S3 driver rewritten for S3-864 + SDAC (doesn't work yet) using new
569interface.
570Linear addressing probing with vga_setlinearaddressing. Console switching
571is not a good idea with linear addressing enabled.
572Treat Oak 077 as standard VGA (incompatible with OTI-087 mode dumps).
573Fix planar getpixel (untested).
574VC switching in RAW keyboard mode (e.g. Doom) (doesn't always work)
575[was typo, fixed in 1.25].
576
577'VGAGL' status:
578	Should be usable seperate from svgalib with minor changes.
579	GraphicsContext should be allocated dynamically (malloc)
580	by library for compatibility/extensibility.
581	Non-expanded font text write functions added (untested...).
582	Missing is proper direct page flipping support (double-buffering
583	in video memory). This would require all operations to be
584	performanced at a certain offset into the framebuffer.
585
586Changes in v1.21: (23 Dec 94)
587
588Partially restructured Cirrus driving using clean, XFree86-style
589SVGA-generalized interface. Check out timing.*, vgaregs.* and cirrus.c.
590Cirrus driver itself should now support all 542x/543x cards.
591Fix MouseSystems movement overflow.
592Fix PS/2 mouse support finally (sorry).
593Fix (old) Logitech protocol mouse handling (hopefully - I lost the
594message that contained the fix).
595Fix Cirrus bitblt bug.
596gvga6400 driver BIOS check changed; munmap seems to mess things up.
597Add vga_getpixel() (untested).
598Incorporate restorepalette patch from Charles Blake, allows custom
599textmode console colors (see utils/README).
600
601Changes from Michael Weller:
602Made GSVGAMODE parsing case insensitive, and added names for 16M32 modes.
603vgatest displays info about 16M32 modes better.
604mach32 - Support for 8bit clut on type 2 DACS.
605Added testaccel demo.
606mach32 - Support for all accelerator functions.
607Added vga_hlinelist(), vga_blitwait(), vga_ext_set(), [vga_accel()]
608mach32 - eeprom interpretation more robust and configurable for stupid AST
609	 boards.
610mach32 - changed 16M4 -> 16M32 for compatibility
611Fix: reserve memory for one screen on EACH setmode call (as the README
612     states).
613mach32 - Added support for AST style EEPROM checksums.
614Added commands to control RTS/DTR lines for multiprotocol mice.
615Fix: mach32 - VGA modes should work now even in 132 columns text modes.
616Sanity check for MAX_REGS in vga.c
617Fix: Raised MAX_REGS as was actually needed.
618Fix: Textmode utils now give errors on problems with accessing files.
619Fix: Restore of Mach32 regs after clock probe was broken (cosmetic, no
620     problems reported).
621Fix: Mach32 Dac1&4 have to use double/triple clocks in 16/24bpp.
622
623
624Changes in v1.20: (25 Nov 94)
625
626Clean up VT code a bit.
627Slight ET4000/W32p detection fix.
628Possible mach32 32bpp copyscreen fix.
629Allow VT-switching with mouse support (it was disabled because of
630interaction with an old version of selection, I take it things are
631better now?).
632Preliminary Cirrus 5434 support (untested, only 1280x1024x256 for now),
633will be fixed soon.
634New Oak driver (Christopher Wiles).
635Use seteuid instead of setuid to give up setuid-root permissions.
636Hack that may fix 132-column textmode/VGA mode problems on ET4000.
637Fix color/mono config option (mono was broken).
638Disable 320x200x256 page flipping for ET4000.
639Fix Cirrus fillblt register corruption problem.
640GVGA6400 driver (Arno Schaefer).
641vga_init now returns -1 if not on a suitable console (0 otherwise); hard
642	exit can only happen in vga_setmode (David Liu). This should help
643	programs with multiple output devices like gnuplot.
644Added mouse_init_return_fd and keyboard_init_return_fd for select() use.
645Add SIGKILL catch to raw keyboard interface.
646PS/2 mouse support possibly fixed.
647Shared library 1.2.0 (corresponds with main svgalib version number).
648
649
650Changes in v1.12: (17 June 1994)
651
652Delay console checking until actually setting a mode (should fix problems
653with device-probing programs like gnuplot).
654Fix planar mode getmodeinfo bug for Trident and others (should fix floating
655point exceptions in zgv).
656Support PS/2 mouse in config file.
657Fix one-byte-per-pixel gl_putboxmask.
658Shared library 1.1.8.
659
660Changes in v1.11: (19 May 94).
661
662Better fix for ET4000/W32 auto-detection.
663Fix typo that prevented ET3000 auto-detection.
664Clipping bug with compiled bitmaps fixed.
665Shared library 1.1.7.
666
667Changes in v1.10: (9 May 94)
668
669Possible fix for ET4000/W32 auto-detection (does iopl(3) now).
670Logitech mouse fix.
671Repeated keyboard_init/keyboard_close fix.
672vgagl fixes for mach32 'misordered' 32bpp truecolor and 32bpp paged fillbox.
673mach32 - Forgot to disable write mask for VGA framebuffer (zgv2.2 screen
674	 corruption after online help)
675mach32 - Wrong assumption about BIOS enabling the mem aperture.. was actually
676	 done by Xfree.. driver will setup linear framebuffer itself using
677	 info from the EEPROM now.
678mach32 - added mach32/mach32.std-modes info file..
679mach32 - ran a spell checker over my README's to throw away the worst errors.
680mach32 - Patched vgapix for correct RGB_MISORDERED support.
681mach32 - This needed an additional global for the modeinfo-flags (short cut is MODEFLAGS).
682mach32 - Changed blankadjust for 32bpp modes and DAC-type 2.
683mach32 - Patched mach32 autodetection code.
684mach32 - Changed 32bpp setting at all by defining a new dacmode (needed for dac-types 5)
685mach32 - Changed VFIFO handling and vfifo defaults for 16/24/32bpp modes.
686mach32 - Added fuzz factor of 0.5KHz when obeying monitor horz restriction.
687mach32 - deleted dacwidth config command (was not useful)
688mach32 - Added setuplinear command for mach32 (would be useful for cirrus too)
689mach32 - Changed order of restore of extended ati registers to obey locking..
690	 may need even more fixing..that is ensure restore of vgaregs before they are locked
691	 again when restoring extended ATI lock registers.
692mach32 - Had to change order of entries in save-/setregs array for mach32 for this.
693Shared library v1.1.6.
694
695Changes in v1.09: (2 May 94)
696
697Significant mach32 driver/docs update (potentially dangerous bug fixed).
698Some vga_draw primitives now support 32-bit pixel modes (better support is
699in vgagl).
700Cirrus 320x200x256 registers redefined to support page flipping (setmodeX
701doesn't work anymore).
702Trident 320x200x256 page-flipping disabled.
703Shared library 1.1.5.
704
705Changes in v1.08: (27 Apr 94)
706
707Improved vgagl 24-bit physical/32-bit virtual screen support (pageflipping
708really fixed, speed increase (alignment)).
709S3 driver hacked (try it if you are bold).
710Sierra 15025/26 DAC support should work for 32K modes now.
711Added PS/2 mouse support (untested).
712More vgagl 32bpp primitives.
713320x200x256 vgagl page flipping fix (this is a big one).
714Added ctrl-c detection to low-level keyboard interface.
715vgagl copyboxfromcontext added, and more efficient copyboxtocontext.
716Shared library 1.1.4.
717
718Changes in v1.07: (19 Apr 94)
719
720Moved main library source into src/. Cleaned up shared library making.
721Fix permissions of utils/convfont.
722Fix tty behaviour:
723Open /dev/tty instead of /dev/tty0 (previously non-root users could not run
724programs if /dev/tty0 was not world-readable, like in the recent slackware).
725Don't kill the terminal settings when detecting a non-graphics capable
726virtual console (stupid bug related to use of atexit()).
727Limited support for ioperm(1) by Olaf Titz. Allows non-root users to run
728svgalib binaries which are not setuid-root.
729Emulated paged copybox in vgagl (untested).
730Utility to read out the ATI mach32 EEPROM.
731Shared library 1.1.3.
732
733Changes in v1.06: (11 Apr 94)
734
735vgagl pageflipping fix for 24-bit/32-bit virtual screen.
736Fix 16 color mode availability on ATI mach32.
737Possible ET4000/W32 Sierra 15025/26 64K color fix.
738vgagl compiled bitmaps enhanced (not completely compatible with v1.05),
739but still untested.
740Possible Trident 320x200 page flipping fix.
741Shared library 1.1.2
742
743Changes in v1.05: (2 Apr 94)
744
745Some unfinished SVPMI stuff (feedback strongly encouraged).
746Added vgagl compiled bitmap functions (256 color only, untested).
747Added definitions for 32 bits per pixel truecolor modes (not used yet). I
748don't feel like adding vga_draw* functions for these; use vgagl.
749vgagl now supports VGA 16 color modes indirectly.
750Added RAW mode keyboard interface (vgakeyboard.h).
751Mouse driver fix.
752Shared library 1.1.1.
753
754Changes in v1.04: (29 Mar 94)
755
756Support for more than 1Mbyte of memory on ET4000W32i/W32p and 24-bit Sierra
757DAC (15025/6) (untested). Fixed copying 4 bytes per pixel virtual screen to
758three bytes per pixel screen (e.g. '3d' in truecolor modes). Fixed missing
759gl_enablepageflipping. Fixed Cirrus linear addressing.
760Amazing alpha ATI mach32 driver by Michael Weller; configuration file format
761extended.
762Shared library version 1.1.
763
764Changes in v1.03:
765
766EGA support fixed (Kapil Paranjabe). Added vga_safety_fork.
767utils/Makefile fixed.
768
769Changes in v1.02:
770
771vgagl bitmap scaling improved. vga_lockvc/unlockvc should be useful now to
772avoid corruption of certain VGA registers used for drawing.
773
774Changes in v1.01:
775
776Fixed copying to planar 256 color mode in vgagl, and added page flipping
777support. Setting an SVGA mode after a planar 256 color mode clears the
778screen properly now. Shared library 1.0.10.
779
780Changes in v1.00: (Jan 94)
781
782[The version number doesn't say anything about stability/completeness etc.]
783A number of bug fixes related to Mode X (display start, console switching,
784planar 320x200x256 allowed with vga_setmodeX()).
785Added vga_copytoplanar256 for Mode X-like modes. Added smooth scrolling demo
786program. Demo programs moved to demos/.
787Cirrus linear addressing works (if you have less than 16Mb of memory); see
788demos/testlinear. Added ET3000 driver. Trident 8900 reboot-beep problem should
789be fixed.
790Shared library 1.0.9
791
792Changes in v0.99:
793
794ET4000 patches by Hartmut Schirmer: ET4000 register dumps now have extra
795registers, so old register dumps won't work; register dump program (tseng3,
796moved to et4000/ directory) supports VESA modes. Microsoft mouse handling
797bug fixed. Shared library 1.0.8.
798
799Changes in v0.98:
800
801Some minor bugfixes, low-level mouse handling rewritten (was very slow).
802Added vga_runinbackground and vga_oktowrite as a kludge to allow a graphics
803program to run in the background (not entirely safe). Disabled ET4000 clock
804detection (wasn't used yet).
805Shared library version 1.0.7.
806
807Changes in v0.97:
808
809Fixed Cirrus 1024x768x256 non-interlaced. Other modes use default (lowest)
810frequencies. Fixed bad virtual screen bug in vgagl (copyscreen).
811Incorporates patches from Hartmut Schirmer (et4000 clock frequency
812determination). Shared library 1.0.6.
813
814Changes in v0.96:
815
816Corrected et4000/et4000.default. Cirrus 1024x768x256 non-interlaced.
817Hopefully fixed Cirrus monitor settings. Cirrus blitting works again. Fixes
818in vgagl truecolor framebuffer support. Shared library 1.0.5.
819
820Changes in v0.95:
821
822Avoid writing to some reserved registers on ET4000 and Trident (fixes dual
823monitor setups) (David Monro). Cirrus 1024x768x256 was doing scary things if
824the svgalib monitor type was set to allow non-interlaced. Added Cirrus
8251024x768x16 non-interlaced and 1280x1024x16 interlaced. Shared library
8261.0.4.
827
828Changes in v0.94:
829
830Added 132x43 textmode tweaking utility. Put utilities in utils/.
831restoretextmode was not saving/restoring extended registers anymore. Shared
832library 1.0.3. Hack to prevent standard VGA modes from failing to work after
833having run XFree86 on Cirrus. gl_setcontextwidth fixed.
834
835Changes in v0.93:
836
837Oops, version 0.92 was not quite up to date. Shared library is 1.0.2. We'll
838get libvga.so.1.0.99 before the end of the year at this rate :-).
839gl_copybox truly fixed.
840
841Changes in v0.92:
842
843Fixed broken configuration file reading; some minor changes.
844Shared library is now version 1.0.1. Source is flawed.
845
846Changes in v0.91:
847
848Various fixes. Dumpreg should work better in X now. The default dynamically
849defined ET4000 registers are now in /usr/local/lib/libvga.et4000.
850Added vga_getgraphmem.
851Shared library support (requires tools 2.8 to build). This greatly reduces
852executable size and is good for binary compatibility.
853__svgalib_graph_mem is now shadowed in a read-only user-visible global
854variable (graph_mem) for easier shared library building.
855Fixed console switching bug when a textmode is set in between the setting
856of graphics modes.
857
858Oak 640x480x256 should work now.
859
860vgalgl updates. Added 4 bytes per pixel virtual screen support.
861
862Added vga_init. This will detect and initialize the driver, and give up
863supervisor rights, having obtained I/O permissions. This is the recommended
864first line of any program that uses svgalib.
865
866Should do chmod a+s on restorefont.
867
868EGA support from egalib by Kapil Paranjabe integrated into svgalib. This
869is currently untested.
870
871Mouse support (can also be used independently). Added vga_lockvc and
872vga_unlockvc; vga_getkey (read keyboard without waiting). Using the mouse
873means no console switching for now.
874
875Initial untested S3 driver. Goal is to provide support for truecolor modes
876on the 801/805/928, in SVGA mode. Properly uses monitor type variable.
877[doesn't work]
878
879Configuration file for mouse/monitor type. Monitor type not used by drivers
880yet, except Cirrus.
881
882
883Changes in v0.9:
884
885Extensive changes and restructuring, by Hartmut Schirmer. Dynamic
886(run-time) register loading from a configuration file for ET4000 cards,
887providing binary compatibility. High resolution 16-color modes (for ET4000
888at least). More stable virtual console switching.
889
890copybox, and gl_setpalettecolor bugs fixed in vgagl.
891
892Fixed setting of standard VGA mode after SVGA mode.
893
894
895Changes in v0.82:
896
897Virtual console switching cleanup.
898
899The dumpreg program now also shows extended registers.
900
901Added Oak driver, but extended registers have not been filled in. Somebody
902should run XFree86 with the Oak driver, dump the extended registers with the
903dumpreg program (make sure the Oak driver is enabled in config.h), and put
904them in oak.c. With some luck it'll work.
905
906
907Changes in v0.81:
908
909Restorefont (write option) was broken again due to bug in vga.c; gl/text.c
910was missing in v0.8. Added vga_disabledriverreport.
911
912
913Changes in v0.8:
914
915Fixed major bug in vga_getmodeinfo in vgadrv.c. This may have caused
916spic to fail on unsupported SVGA cards in 320x200x256.
917
918vga.c split, and other changes (Hartmut Schirmer). Note that mode numbers
919beyond 1024x768x256 have changed. Standard VGA modes 720x350x16 and
920720x480x16 added.
921
922Virtual console switching improved (bank/linewidth/displaystart preserved).
923
924
925Changes in v0.7:
926
927Trident textmode restoration and SVGA modes should work now on 1M cards
928(thanks to Scott Heavner).
929
930Bug fixes in vgagl.
931
932
933Changes in v0.6:
934
935Trident driver bug fixed; detection cleaned up. 800x600 and 1024x768 on 1Mb
936cards don't work correctly.
937
938Added Cirrus 800x600x16M NI (at 50 Hz), and program to set the Cirrus memory
939clock to a higher value (setmclk.c).
940
941Added framebuffer graphics library for one, two and three byte-per-pixel
942modes. Documentation improved.
943
944vga_setrgbcolor added.
945
946ET4000 Hicolor fixes (thanks to Savio Lam), and other fixes (Scott Heavner).
947
948
949Changes in v0.5:
950
951Fixed palette register timing bug (caused occasional corruption of textmode
952palette).
953
954Added function that checks the environment variable GSVGAMODE for a
955default mode (vga_getdefaultmode). The environment string can either be a
956mode number (compatible with VGAlib Ghostscript), or a mode name as
957in (G640x480x2, G640x480x16, G640x480x256, G640x480x32K, G640x480x64K,
958G640x480x16M, PROMPT (ignore)).
959
960
961Changes in v0.4:
962
963restorefont.c as distributed in v0.3 missed a case line in a switch
964statement which made it useless.
965
966Each VGA register write in the library was producing silly debugging code
967(I forgot to restore the macro definition), making everything significantly
968larger than neccessary.
969
970Added vga_getchipset function. vgatest now only lists modes that are
971available.
972
973The ET4000 driver has been improved, including Hicolor DAC detection
974(thanks to David Monro and Daniel Jackson).
975
976Cirrus driver:
977Fixed 5420/2/4 bug, cleaned up detection, changed the 800x600 timings, and
978added missing modes 1024x768x256/32K/64K, as well as 320x200x15/16/24bit.
979Also, there's support for some of the accelerated features of the Cirrus
9805426, the driver provides bitblt (move box), fillblt (fill box), and
981imageblt (write bitmap from system memory) functions.
982
983Display start address can now be meaningfully changed in 16-color and planar
984256 color VGA modes for page-flipping (address is expressed as number of
985pixels).
986
987Fixed the vga_flip() functionality; if you press escape during
988vga_getch() the console is switched to textmode until another key is
989pressed. [note: this has been obsoleted by console switching]
990The default amount of video memory saved in SVGA modes is the size
991of one screen. If the program uses more (if it uses page-flipping, for
992example), you must indicate it with the vga_claimvideomemory function. This
993prevents 2048 or 1024K being saved when only a few hundred K is required.
994
995svgalib now waits until the virtual console it is running in becomes active
996before setting the first graphics mode.
997
998Implemented transparent virtual console switching (which uses vga_flip).
999
1000