home *** CD-ROM | disk | FTP | other *** search
/ Il CD di internet / CD.iso / SOURCE / D / SVGALIB / SVGALIB1.TAR / svgalib / CHANGES next >
Encoding:
Text File  |  1995-02-21  |  18.1 KB  |  470 lines

  1.  
  2. Changes in v1.24:
  3.  
  4. Fix bug causing "not running in ..." messages if vga_init wasn't called.
  5. Better structure for driver interface ("DriverSpecs"). Fields other
  6. than the basic driver functions can be included. Type checking is also
  7. better. Most drivers haven't been updated for the new return types;
  8. feel free to send patches. Something might be broken, watch out.
  9. Better acceleration inferface.
  10. Fix ARK chiptype detection.
  11. Untested ARK chip support.
  12. Largely fixed S3-864 + SDAC support.
  13. Untested clock/DAC support for the Trio64 in the S3 driver.
  14. Unlock extended registers when forcing Cirrus in config file.
  15. Try to avoid Cirrus hardware lock-up when switching certain modes.
  16. Add "accel" program to test new acceleration interface.
  17.  
  18. Changes in v1.23: (8 Feb 1994)
  19.  
  20. ET4000/W32 tweaks.
  21. Added gl_allocatecontext. Use this instead of declaring GraphicsContext
  22. variables statically. Demo programs changed accordingly.
  23. Safer VC switching with blits.
  24. Allow Cirrus SVGA modes with 512K memory.
  25. Possible Cirrus 5422 MCLK detection fix.
  26. Incorporate ATI 'driver' from Scott Heavner (allows VGA with 132-column
  27. textmode).
  28. Untested ARK driver and untested generic S3 support (640x480x256 @ 60 Hz).
  29. Unused acceleration interface sketch (accel.h/cirrus.c).
  30.  
  31. Changes in v1.22:
  32.  
  33. ET4000 additions for STG170x DAC (tseng3.c and driver), linear addressing
  34. support for W32p, better general linear addressing handling with new driver
  35. function, 8-bit color components CLUT support for AT&T DAC (David
  36. Etherton).
  37. Cirrus driver tweaks.
  38. S3 driver rewritten for S3-864 + SDAC (doesn't work yet) using new
  39. interface.
  40. Linear addressing probing with vga_setlinearaddressing. Console switching
  41. is not a good idea with linear addressing enabled.
  42. Treat Oak 077 as standard VGA (incompatible with OTI-087 mode dumps).
  43. Fix planar getpixel (untested).
  44. VC switching in RAW keyboard mode (e.g. Doom) (doesn't always work,
  45. function keys seem to return different scancodes at different times).
  46.  
  47. 'VGAGL' status:
  48.     Should be usable seperate from svgalib with minor changes.
  49.     GraphicsContext should be allocated dynamically (malloc)
  50.     by library for compatibility/extensibility.
  51.     Non-expanded font text write functions added (untested...).
  52.     Missing is proper direct page flipping support (double-buffering
  53.     in video memory). This would require all operations to be
  54.     performanced at a certain offset into the framebuffer.
  55.  
  56. Changes in v1.21: (23 Dec 94)
  57.  
  58. Partially restructured Cirrus driving using clean, XFree86-style
  59. SVGA-generalized interface. Check out timing.*, vgaregs.* and cirrus.c.
  60. Cirrus driver itself should now support all 542x/543x cards.
  61. Fix MouseSystems movement overflow.
  62. Fix PS/2 mouse support finally (sorry).
  63. Fix (old) Logitech protocol mouse handling (hopefully - I lost the
  64. message that contained the fix).
  65. Fix Cirrus bitblt bug.
  66. gvga6400 driver BIOS check changed; munmap seems to mess things up.
  67. Add vga_getpixel() (untested).
  68. Incorporate restorepalette patch from Charles Blake, allows custom
  69. textmode console colors (see utils/README).
  70.  
  71. Changes from Michael Weller:
  72. Made GSVGAMODE parsing case insensitive, and added names for 16M32 modes.
  73. vgatest displays info about 16M32 modes better.
  74. mach32 - Support for 8bit clut on type 2 DACS.
  75. Added testaccel demo.
  76. mach32 - Support for all accelerator functions.
  77. Added vga_hlinelist(), vga_blitwait(), vga_ext_set(), [vga_accel()]
  78. mach32 - eeprom interpretation more robust and configurable for stupid AST
  79.      boards.
  80. mach32 - changed 16M4 -> 16M32 for compatibility
  81. Fix: reserve memory for one screen on EACH setmode call (as the README
  82.      states).
  83. mach32 - Added support for AST style EEPROM checksums.
  84. Added commands to control RTS/DTR lines for multiprotocol mice.
  85. Fix: mach32 - VGA modes should work now even in 132 columns text modes.
  86. Sanity check for MAX_REGS in vga.c
  87. Fix: Raised MAX_REGS as was actually needed.
  88. Fix: Textmode utils now give errors on problems with accessing files.
  89. Fix: Restore of Mach32 regs after clock probe was broken (cosmetic, no
  90.      problems reported).
  91. Fix: Mach32 Dac1&4 have to use double/triple clocks in 16/24bpp.
  92.  
  93.  
  94. Changes in v1.20: (25 Nov 94)
  95.  
  96. Clean up VT code a bit.
  97. Slight ET4000/W32p detection fix.
  98. Possible mach32 32bpp copyscreen fix.
  99. Allow VT-switching with mouse support (it was disabled because of
  100. interaction with an old version of selection, I take it things are
  101. better now?).
  102. Preliminary Cirrus 5434 support (untested, only 1280x1024x256 for now),
  103. will be fixed soon.
  104. New Oak driver (Christopher Wiles).
  105. Use seteuid instead of setuid to give up setuid-root permissions.
  106. Hack that may fix 132-column textmode/VGA mode problems on ET4000.
  107. Fix color/mono config option (mono was broken).
  108. Disable 320x200x256 page flipping for ET4000.
  109. Fix Cirrus fillblt register corruption problem.
  110. GVGA6400 driver (Arno Schaefer).
  111. vga_init now returns -1 if not on a suitable console (0 otherwise); hard
  112.     exit can only happen in vga_setmode (David Liu). This should help
  113.     programs with multiple output devices like gnuplot.
  114. Added mouse_init_return_fd and keyboard_init_return_fd for select() use.
  115. Add SIGKILL catch to raw keyboard interface.
  116. PS/2 mouse support possibly fixed.
  117. Shared library 1.2.0 (corresponds with main svgalib version number).
  118.  
  119.  
  120. Changes in v1.12: (17 June 1994)
  121.  
  122. Delay console checking until actually setting a mode (should fix problems
  123. with device-probing programs like gnuplot).
  124. Fix planar mode getmodeinfo bug for Trident and others (should fix floating
  125. point exceptions in zgv).
  126. Support PS/2 mouse in config file.
  127. Fix one-byte-per-pixel gl_putboxmask.
  128. Shared library 1.1.8.
  129.  
  130. Changes in v1.11: (19 May 94).
  131.  
  132. Better fix for ET4000/W32 auto-detection.
  133. Fix typo that prevented ET3000 auto-detection.
  134. Clipping bug with compiled bitmaps fixed.
  135. Shared library 1.1.7.
  136.  
  137. Changes in v1.10: (9 May 94)
  138.  
  139. Possible fix for ET4000/W32 auto-detection (does iopl(3) now).
  140. Logitech mouse fix.
  141. Repeated keyboard_init/keyboard_close fix.
  142. vgagl fixes for mach32 'misordered' 32bpp truecolor and 32bpp paged fillbox.
  143. mach32 - Forgot to disable write mask for VGA framebuffer (zgv2.2 screen
  144.      corruption after online help)
  145. mach32 - Wrong assumption about BIOS enabling the mem aperture.. was actually
  146.      done by Xfree.. driver will setup linear framebuffer itself using
  147.      info from the EEPROM now.
  148. mach32 - added mach32/mach32.std-modes info file..
  149. mach32 - ran a spell checker over my README's to throw away the worst errors.
  150. mach32 - Patched vgapix for correct RGB_MISORDERED support.
  151. mach32 - This needed an additional global for the modeinfo-flags (short cut is MODEFLAGS).
  152. mach32 - Changed blankadjust for 32bpp modes and DAC-type 2.
  153. mach32 - Patched mach32 autodetection code.
  154. mach32 - Changed 32bpp setting at all by defining a new dacmode (needed for dac-types 5)
  155. mach32 - Changed VFIFO handling and vfifo defaults for 16/24/32bpp modes.
  156. mach32 - Added fuzz factor of 0.5KHz when obeying monitor horz restriction.
  157. mach32 - deleted dacwidth config command (was not useful)
  158. mach32 - Added setuplinear command for mach32 (would be useful for cirrus too)
  159. mach32 - Changed order of restore of extended ati registers to obey locking..
  160.      may need even more fixing..that is ensure restore of vgaregs before they are locked
  161.      again when restoring extended ATI lock registers.
  162. mach32 - Had to change order of entries in save-/setregs array for mach32 for this.
  163. Shared library v1.1.6.
  164.  
  165. Changes in v1.09: (2 May 94)
  166.  
  167. Significant mach32 driver/docs update (potentially dangerous bug fixed).
  168. Some vga_draw primitives now support 32-bit pixel modes (better support is
  169. in vgagl).
  170. Cirrus 320x200x256 registers redefined to support page flipping (setmodeX
  171. doesn't work anymore).
  172. Trident 320x200x256 page-flipping disabled.
  173. Shared library 1.1.5.
  174.  
  175. Changes in v1.08: (27 Apr 94)
  176.  
  177. Improved vgagl 24-bit physical/32-bit virtual screen support (pageflipping
  178. really fixed, speed increase (alignment)).
  179. S3 driver hacked (try it if you are bold).
  180. Sierra 15025/26 DAC support should work for 32K modes now.
  181. Added PS/2 mouse support (untested).
  182. More vgagl 32bpp primitives.
  183. 320x200x256 vgagl page flipping fix (this is a big one).
  184. Added ctrl-c detection to low-level keyboard interface.
  185. vgagl copyboxfromcontext added, and more efficient copyboxtocontext.
  186. Shared library 1.1.4.
  187.  
  188. Changes in v1.07: (19 Apr 94)
  189.  
  190. Moved main library source into src/. Cleaned up shared library making.
  191. Fix permissions of utils/convfont.
  192. Fix tty behaviour:
  193. Open /dev/tty instead of /dev/tty0 (previously non-root users could not run
  194. programs if /dev/tty0 was not world-readable, like in the recent slackware).
  195. Don't kill the terminal settings when detecting a non-graphics capable
  196. virtual console (stupid bug related to use of atexit()).
  197. Limited support for ioperm(1) by Olaf Titz. Allows non-root users to run
  198. svgalib binaries which are not setuid-root.
  199. Emulated paged copybox in vgagl (untested).
  200. Utility to read out the ATI mach32 EEPROM.
  201. Shared library 1.1.3.
  202.  
  203. Changes in v1.06: (11 Apr 94)
  204.  
  205. vgagl pageflipping fix for 24-bit/32-bit virtual screen.
  206. Fix 16 color mode availability on ATI mach32.
  207. Possible ET4000/W32 Sierra 15025/26 64K color fix.
  208. vgagl compiled bitmaps enhanced (not completely compatible with v1.05),
  209. but still untested.
  210. Possible Trident 320x200 page flipping fix.
  211. Shared library 1.1.2
  212.  
  213. Changes in v1.05: (2 Apr 94)
  214.  
  215. Some unfinished SVPMI stuff (feedback strongly encouraged).
  216. Added vgagl compiled bitmap functions (256 color only, untested).
  217. Added definitions for 32 bits per pixel truecolor modes (not used yet). I
  218. don't feel like adding vga_draw* functions for these; use vgagl.
  219. vgagl now supports VGA 16 color modes indirectly.
  220. Added RAW mode keyboard interface (vgakeyboard.h).
  221. Mouse driver fix.
  222. Shared library 1.1.1.
  223.  
  224. Changes in v1.04: (29 Mar 94)
  225.  
  226. Support for more than 1Mbyte of memory on ET4000W32i/W32p and 24-bit Sierra
  227. DAC (15025/6) (untested). Fixed copying 4 bytes per pixel virtual screen to
  228. three bytes per pixel screen (e.g. '3d' in truecolor modes). Fixed missing
  229. gl_enablepageflipping. Fixed Cirrus linear addressing.
  230. Amazing alpha ATI mach32 driver by Michael Weller; configuration file format
  231. extended.
  232. Shared library version 1.1.
  233.  
  234. Changes in v1.03:
  235.  
  236. EGA support fixed (Kapil Paranjabe). Added vga_safety_fork. 
  237. utils/Makefile fixed.
  238.  
  239. Changes in v1.02:
  240.  
  241. vgagl bitmap scaling improved. vga_lockvc/unlockvc should be useful now to
  242. avoid corruption of certain VGA registers used for drawing.
  243.  
  244. Changes in v1.01:
  245.  
  246. Fixed copying to planar 256 color mode in vgagl, and added page flipping
  247. support. Setting an SVGA mode after a planar 256 color mode clears the
  248. screen properly now. Shared library 1.0.10.
  249.  
  250. Changes in v1.00: (Jan 94)
  251.  
  252. [The version number doesn't say anything about stability/completeness etc.]
  253. A number of bug fixes related to Mode X (display start, console switching,
  254. planar 320x200x256 allowed with vga_setmodeX()).
  255. Added vga_copytoplanar256 for Mode X-like modes. Added smooth scrolling demo
  256. program. Demo programs moved to demos/.
  257. Cirrus linear addressing works (if you have less than 16Mb of memory); see
  258. demos/testlinear. Added ET3000 driver. Trident 8900 reboot-beep problem should
  259. be fixed.
  260. Shared library 1.0.9
  261.  
  262. Changes in v0.99:
  263.  
  264. ET4000 patches by Hartmut Schirmer: ET4000 register dumps now have extra
  265. registers, so old register dumps won't work; register dump program (tseng3,
  266. moved to et4000/ directory) supports VESA modes. Microsoft mouse handling
  267. bug fixed. Shared library 1.0.8.
  268.  
  269. Changes in v0.98:
  270.  
  271. Some minor bugfixes, low-level mouse handling rewritten (was very slow).
  272. Added vga_runinbackground and vga_oktowrite as a kludge to allow a graphics
  273. program to run in the background (not entirely safe). Disabled ET4000 clock
  274. detection (wasn't used yet).
  275. Shared library version 1.0.7.
  276.  
  277. Changes in v0.97:
  278.  
  279. Fixed Cirrus 1024x768x256 non-interlaced. Other modes use default (lowest)
  280. frequencies. Fixed bad virtual screen bug in vgagl (copyscreen).
  281. Incorporates patches from Hartmut Schirmer (et4000 clock frequency
  282. determination). Shared library 1.0.6.
  283.  
  284. Changes in v0.96:
  285.  
  286. Corrected et4000/et4000.default. Cirrus 1024x768x256 non-interlaced.
  287. Hopefully fixed Cirrus monitor settings. Cirrus blitting works again. Fixes
  288. in vgagl truecolor framebuffer support. Shared library 1.0.5.
  289.  
  290. Changes in v0.95:
  291.  
  292. Avoid writing to some reserved registers on ET4000 and Trident (fixes dual
  293. monitor setups) (David Monro). Cirrus 1024x768x256 was doing scary things if
  294. the svgalib monitor type was set to allow non-interlaced. Added Cirrus
  295. 1024x768x16 non-interlaced and 1280x1024x16 interlaced. Shared library
  296. 1.0.4.
  297.  
  298. Changes in v0.94:
  299.  
  300. Added 132x43 textmode tweaking utility. Put utilities in utils/.
  301. restoretextmode was not saving/restoring extended registers anymore. Shared
  302. library 1.0.3. Hack to prevent standard VGA modes from failing to work after
  303. having run XFree86 on Cirrus. gl_setcontextwidth fixed.
  304.  
  305. Changes in v0.93:
  306.  
  307. Oops, version 0.92 was not quite up to date. Shared library is 1.0.2. We'll
  308. get libvga.so.1.0.99 before the end of the year at this rate :-).
  309. gl_copybox truly fixed.
  310.  
  311. Changes in v0.92:
  312.  
  313. Fixed broken configuration file reading; some minor changes.
  314. Shared library is now version 1.0.1. Source is flawed.
  315.  
  316. Changes in v0.91:
  317.  
  318. Various fixes. Dumpreg should work better in X now. The default dynamically
  319. defined ET4000 registers are now in /usr/local/lib/libvga.et4000.
  320. Added vga_getgraphmem.
  321. Shared library support (requires tools 2.8 to build). This greatly reduces
  322. executable size and is good for binary compatibility.
  323. __svgalib_graph_mem is now shadowed in a read-only user-visible global
  324. variable (graph_mem) for easier shared library building.
  325. Fixed console switching bug when a textmode is set in between the setting
  326. of graphics modes.
  327.  
  328. Oak 640x480x256 should work now.
  329.  
  330. vgalgl updates. Added 4 bytes per pixel virtual screen support.
  331.  
  332. Added vga_init. This will detect and initialize the driver, and give up
  333. supervisor rights, having obtained I/O permissions. This is the recommended
  334. first line of any program that uses svgalib.
  335.  
  336. Should do chmod a+s on restorefont.
  337.  
  338. EGA support from egalib by Kapil Paranjabe integrated into svgalib. This
  339. is currently untested.
  340.  
  341. Mouse support (can also be used independently). Added vga_lockvc and
  342. vga_unlockvc; vga_getkey (read keyboard without waiting). Using the mouse
  343. means no console switching for now.
  344.  
  345. Initial untested S3 driver. Goal is to provide support for truecolor modes
  346. on the 801/805/928, in SVGA mode. Properly uses monitor type variable.
  347. [doesn't work]
  348.  
  349. Configuration file for mouse/monitor type. Monitor type not used by drivers
  350. yet, except Cirrus.
  351.  
  352.  
  353. Changes in v0.9:
  354.  
  355. Extensive changes and restructuring, by Hartmut Schirmer. Dynamic
  356. (run-time) register loading from a configuration file for ET4000 cards,
  357. providing binary compatibility. High resolution 16-color modes (for ET4000
  358. at least). More stable virtual console switching.
  359.  
  360. copybox, and gl_setpalettecolor bugs fixed in vgagl.
  361.  
  362. Fixed setting of standard VGA mode after SVGA mode.
  363.  
  364.  
  365. Changes in v0.82:
  366.  
  367. Virtual console switching cleanup.
  368.  
  369. The dumpreg program now also shows extended registers.
  370.  
  371. Added Oak driver, but extended registers have not been filled in. Somebody
  372. should run XFree86 with the Oak driver, dump the extended registers with the
  373. dumpreg program (make sure the Oak driver is enabled in config.h), and put
  374. them in oak.c. With some luck it'll work.
  375.  
  376.  
  377. Changes in v0.81:
  378.  
  379. Restorefont (write option) was broken again due to bug in vga.c; gl/text.c
  380. was missing in v0.8. Added vga_disabledriverreport.
  381.  
  382.  
  383. Changes in v0.8:
  384.  
  385. Fixed major bug in vga_getmodeinfo in vgadrv.c. This may have caused
  386. spic to fail on unsupported SVGA cards in 320x200x256.
  387.  
  388. vga.c split, and other changes (Hartmut Schirmer). Note that mode numbers
  389. beyond 1024x768x256 have changed. Standard VGA modes 720x350x16 and
  390. 720x480x16 added.
  391.  
  392. Virtual console switching improved (bank/linewidth/displaystart preserved).
  393.  
  394.  
  395. Changes in v0.7:
  396.  
  397. Trident textmode restoration and SVGA modes should work now on 1M cards
  398. (thanks to Scott Heavner).
  399.  
  400. Bug fixes in vgagl.
  401.  
  402.  
  403. Changes in v0.6:
  404.  
  405. Trident driver bug fixed; detection cleaned up. 800x600 and 1024x768 on 1Mb
  406. cards don't work correctly.
  407.  
  408. Added Cirrus 800x600x16M NI (at 50 Hz), and program to set the Cirrus memory
  409. clock to a higher value (setmclk.c).
  410.  
  411. Added framebuffer graphics library for one, two and three byte-per-pixel
  412. modes. Documentation improved.
  413.  
  414. vga_setrgbcolor added.
  415.  
  416. ET4000 Hicolor fixes (thanks to Savio Lam), and other fixes (Scott Heavner).
  417.  
  418.  
  419. Changes in v0.5:
  420.  
  421. Fixed palette register timing bug (caused occasional corruption of textmode
  422. palette).
  423.  
  424. Added function that checks the environment variable GSVGAMODE for a 
  425. default mode (vga_getdefaultmode). The environment string can either be a
  426. mode number (compatible with VGAlib Ghostscript), or a mode name as
  427. in (G640x480x2, G640x480x16, G640x480x256, G640x480x32K, G640x480x64K,
  428. G640x480x16M, PROMPT (ignore)).
  429.  
  430.  
  431. Changes in v0.4:
  432.  
  433. restorefont.c as distributed in v0.3 missed a case line in a switch
  434. statement which made it useless.
  435.  
  436. Each VGA register write in the library was producing silly debugging code
  437. (I forgot to restore the macro definition), making everything significantly
  438. larger than neccessary.
  439.  
  440. Added vga_getchipset function. vgatest now only lists modes that are
  441. available.
  442.  
  443. The ET4000 driver has been improved, including Hicolor DAC detection 
  444. (thanks to David Monro and Daniel Jackson).
  445.  
  446. Cirrus driver:
  447. Fixed 5420/2/4 bug, cleaned up detection, changed the 800x600 timings, and 
  448. added missing modes 1024x768x256/32K/64K, as well as 320x200x15/16/24bit.
  449. Also, there's support for some of the accelerated features of the Cirrus
  450. 5426, the driver provides bitblt (move box), fillblt (fill box), and
  451. imageblt (write bitmap from system memory) functions.
  452.  
  453. Display start address can now be meaningfully changed in 16-color and planar
  454. 256 color VGA modes for page-flipping (address is expressed as number of
  455. pixels).
  456.  
  457. Fixed the vga_flip() functionality; if you press escape during
  458. vga_getch() the console is switched to textmode until another key is
  459. pressed. [note: this has been obsoleted by console switching]
  460. The default amount of video memory saved in SVGA modes is the size
  461. of one screen. If the program uses more (if it uses page-flipping, for
  462. example), you must indicate it with the vga_claimvideomemory function. This
  463. prevents 2048 or 1024K being saved when only a few hundred K is required.
  464.  
  465. svgalib now waits until the virtual console it is running in becomes active
  466. before setting the first graphics mode.
  467.  
  468. Implemented transparent virtual console switching (which uses vga_flip).
  469.  
  470.