Update revision history for archive rev 68


cgxsystem.library
=================

Changes for 41.11 (r68 archive)

- CyberGraphX now respects the setting of the autoscroll flag in the
  screenmode prefs program. WB screens always had autoscrolling enabled
  before.
- minor speedup for JAM2 cpu drawing mode of BltTemplate()/graphics
  in hicolor modes
- BltTemplate()/graphics calls with mask=0x00 in hi/truecolor modes are
  terminated early now
- inverse video JAM1 cpu drawing mode of BltTemplate()/graphics should now
  work properly for hicolour modes
- fixed a bug in BltBitmap()/graphics patch, FillPixelArray()/cybergraphics
  and InvertPixelArray()/cybergraphics
  Relocaled hi/truecolour video maps are rendered at the correct offset now.
- revised the CyberGraphX GELs system.
- fixed a severe, long outstanding bug in the DragGList()/graphics patch
  that bobs which had the BOBSAWAY flag set were never removed from the 
  GELs list.

Changes for 41.10 (r67 archive)

- pointer colours are now restored properly if you activate a next screen
  and reactivate the frontmost screen again after that. (only happened when
  frontmost screen was in high/true colour)
- added new env switch USESEMAPHORES which lets CyberGraphX use Semaphores
  to avoid disabling of multitasking under certain conditions.
  The value of this variable is only checked at boot time.
  Enabling this option may lead to lockups under certain conditions but is
  more system friendly in general because multitasking is not disabled during
  certain drawing operations.
- removed some obsolete ExecBase/4.L accesses that could slow down graphics
  operations if cyberguard/enforcer like tools were enabled

Changes for 41.9 (r66 archive)

- fixed a bug in the WriteLUTPixelArray()/cybergraphics call

Changes for 41.8 (r65 archive)

- added new LVO to cybergraphics.library to write chunky pixel arrays with custom
  colormaps to truecolour screens
- new LVO added to cgxsystem.library to give applications access to the list of
  installed graphics devices
- if a OpenScreenTags()/intuition tag SA_ColorMapEntries is detected with
  a data value greater 256 it is limited to 256. This fixes some problems with
  truecolour screens in conjunction with certain applications (e.g. gmultiview)
  that are always trying to get 1<<depth entries.
- BltBitmap()/graphics calls with mask=0x00 are never passed to the gfx
  card drivers anymore.
- You can now click "through" transparent regions of a layer
- Fixed a bug in the HideWindow()/cgxsystem.library call
- If SUPERLAYERS is activated can be checked by searching for the public
  semaphore "SLayerSemaphore" now

Changes for 41.7 (r64 archive)

- new LVOs added to cgxsystem.library to allow for easy support of window
  iconification. Windows can be hidden by a simple call now (SUPERLAYERS only)
- added new LVOs to cgxsystem.library to let applications support transparent
  regions inside layers (SUPERLAYERS only)
- DoCDrawMethodTagList()/cybergraphics did not work at all actually because
  the supplied hook was never called. Fixed.
- mouse pointer hotspot changes due to modification of the HIRESCRSR env
  variable take now effect immediately.
- all aga sprite resolution related mouse pointer hotspot problems should
  be fixed now (e.g. PageStream3/Iconian cross hair)
- CModeRequestTagList()/cybergraphics.library now correctly returns a 0
  instead of -1L/INVALID_ID if the mode requester is canceled
- fixed a serious problem with screen dragging in conjunction with updating of
  next screens. If the front screen was dragged down while there was something
  updated in the background the system could crash.
- blitting of LUT8 format src bitmaps to rgb destinations maps crashed
  immediately. Fixed.
- BestCModeIDTagList()/cybergraphics now always returns the displayid of the 
  first graphics board available of that kind if the CYBRBIDTG_MonitorID tag
  is specified. If multiple boards of the same kind were installed, it always
  returned the last board available in most cases before.

Changes for 41.6 (r63 archive)

- SUPERLAYERS could return 0 with some NO-OP layer operations. Now intuition 
  requesters should work properly.
- Layer damage code in SUPERLAYERS ScrollRaster patch rewritten
  Now every exotic situation should be handled properly.
- Discovered that some code "out there" relies on a private field in
  layer structure, which was changed with SUPERLAYERS. The old field
  is now supported and this causes for example MUI complex 
  virtual groups to scroll more smoothly.
- ScalePixelArray()/cybergraphics now uses the blitter for line replication
  in source mode RECTFMT_LUT8 and RECTFMT_ARGB whenever possible.
- fixed a bug in DoCDrawMethodTagList()/cybergraphics. The supplied hook was
  always called with the parampacket and the object swapped.


cgxvideo.library
================

Changes for 41.8 (r67 archive)

- minor internal changes 

Changes for 41.7 (r64 archive)

- added new source types SRCFMT_RGB15 and SRCFMT_RGB16 to allow for rgb
  color space overlays

Changes for 41.6 (r63 archive)

- added new tag VOA_UseBackFill to allow for automatic backfill of simple
  refresh layers when the color keying option is used.

Changes for 41.5 (r58 archive)

- cgxvideo.library does not allow to create overlay on interlace screens
  anymore
- Fixed problem with wrong mousepointer colours when overlay was enabled.
  This fix requires at least CVision3D driver V2.2
- fixed a bug with 15/16/24 bit opaque overlays
- added color keying support.
- New tag VOA_UseColorKey for CreateVLayerHandleTags() call added
- New tags VOA_ColorKeyPen and VOA_ColorKey for GetVLayerAttr() call
  added


cgxbootpic.library
================

Changes for 41.6 (r58 archive)

- library now correctly supports library expunge which safes some memory
  after system boot.

Changes for 41.5 (r56 archive)

- initial public release


CV64 driver
===========

Changes for 2.5 (r68 archive)

- WaitBOVP does not cpu-poll the vblank state anymore to wait for the
  vertical blank phase.
- Added new tooltype DRAGGING=(YES|NO). If dragging is disabled it is 
  possible to keep multiple screens in video memory. 
- added tooltype "SCROLLMASK=(YES|NO) which disables/enables
  masking when scrolling/moving rectangles with a mask in 256 colour
  modes (e.g. scrolling text in shell windows).
  If you disable masking by specifying "NO", scrolling of e.g. shell text
  gets faster in 256 colours, you get some text crsr refresh problems with
  e.g. CygnusED (up to v3.5) though.
  Default setting for the SCROLLMASK option is "YES".
  ADDITIONAL NOTE: NEVER rename the CVision64.info file. The tooltype
  parsing does not work if it has a different name.
- fixed a derefenced pointer problem in the screen dragging code when empty
  areas were cleared (could lead to enforcer hits)

Changes for 2.4 (r64 archive)

- modified driver startup code, needs at least cgxsystem.library 41.7
  now
- Fixed a serious bug in the startup code which could have caused various
  trouble in certain situations at driver startup

Changes for 2.3 (r60 archive)

- DPMS support code now sets HSYNC/VSYNC to logic 0 instead of logic
  1
- fixed a small problem that the colors were not changed when a
  nextscreen was activated. (Introduced due to changes in 2.2/r59)
  
Changes for 2.2 (r59 archive)

- The code to display interlace views was partly wrong since the very
  beginning  of this driver (even for v2).
  It quite often worked for 8bit views but it most often failed for
  16/24bit displays. This should be fixed now.
- added support for cybergraphics.library v2 style DPMS PowerManagement
  again
- modified some lvo's to support modified color setting functions in
  cgxsystem.library



CV3D driver
===========

Changes for 2.11 (r68 archive)

- WaitBOVP does not cpu-poll the vblank state anymore to wait for the
  vertical blank phase 
- The driver adds a resource called cv3dscenic.resource to the system now
  to grant applications access to the external scenic/mx2 addon module
- fixed a derefenced pointer problem in the screen dragging code when empty
  areas were cleared (could lead to enforcer hits)
- Added new tooltype DRAGGING=(YES|NO). If dragging is disabled it is 
  possible to keep multiple screens in video memory. 
  Due to a redesign of some driver internals cgxvideo.library up to version
  1.8 and cgx3dvirgin.library up to version 1.5 don't work anymore if
  dragging is disabled. This will be fixed in a forthcoming release.

Changes for 2.10 (r67 archive)

- the blitter is used now to save/restore the software crsr background
  in double clocked 8bit modes (>100Mhz)
- switching from a high/true color screen to a double clocked (>100MHz)
  8bit screen should work without problems now
- The CV3D driver uses a modified PLL table now. This fixes some display
  clock problems with certain cards

Changes for 2.9 (r65 archive)

- optimized size of Z2 driver
- blits with mask=0 are now handled correctly. This solves some problems with
  certain mui application that use certain ScrollRaster()/graphics tricks.
- Offset bug in the line drawing code fixed.
- Fixed a offset bug in the triangle areafill code.

Changes for 2.8 (r64 archive)

- Fixed a serious bug in the startup code which could have caused various
  trouble in certain situations at driver startup
- modified driver startup code, needs at least cgxsystem.library 41.7
  now

Changes for 2.7 (r63 archive)

- multiple CV64/3D boards now correctly get a different basename.
  All boards following the first one will get the board number added
  to the screen mode base name (CV64/3D.2: xBit .. etc.)

Changes for 2.6 (r62 archive)

- Z2 pointer image bug fixed. (introduced with r60)

Changes for 2.5 (r61 archive)

- added tooltype "SCROLLMASK=(YES|NO) which disables/enables
  masking when scrolling/moving rectangles with a mask in 256 colour
  modes (e.g. scrolling text in shell windows).
  If you disable masking by specifying "NO", scrolling of e.g. shell text
  gets faster in 256 colours, you get some text crsr refresh problems with
  e.g. CygnusED (up to v3.5) though.
  Default setting for the SCROLLMASK option is "YES".
  ADDITIONAL NOTE: NEVER rename the CVision3D.info file. The tooltype
  parsing does not work if it has a different name.
- added some special code for 24bit resolutions greater/equal 1024 pixel
  width. It now uses the blitter for rectfills and moving rectangles in
  these modes

Changes for 2.4 (r60 archive)

- Changed maximum raster size to 2048x1536 to allow definition of
  1024x768 24bit views. It is not recommended to use a pixelwidth
  of 1024 in these modes though, because the blitter only works in
  resolutions up to 1016 pixel width in 24bit modes. Define a 1016
  pixel width viewmode instead.
- modified hardware crsr code to allow a max resolution of 1024x768
  24bit resolution with 3MB video ram even.
- DPMS support code now sets HSYNC/VSYNC to logic 0 instead of logic
  1

Changes for 2.3 (r59 archive)

- The code to display interlace views was partly wrong since the very
  beginning  of this v3 driver.
  It quite often worked for 8bit views but it most often failed for
  16/24bit displays. This should be fixed now.
- added support for cybergraphics.library v2 style DPMS PowerManagement
  again
- modified some lvo's to support modified color setting functions in
  cgxsystem.library

Changes for 2.2 (r58 archive)

- fixed some problems with wrong mouse pointer colours when overlay is 
  enabled.


Cirrus Logic drivers
====================

Cirrus 2.3 (r68 archive)

- fixed a bug in JAM1 pattern fill code for 8bit modes (e.g. fixes crashes
  with reqtools dir requester)
- fixed a derefenced pointer problem in the screen dragging code when empty
  areas were cleared (could lead to enforcer hits)
- inverse solid fills now work properly in 24bit modes (only relevant for
  PiccoSD64 driver)
- fixed bug in pattern fill and masked patterned fill code for 16/24 bit
  modes. (only happened for GD5426 cards like Spectrum/Piccolo/PicassoII)
- fixed a bug in the screen dragging code when a 8bit screen was in front
  and a 16bit screen behind (crashed for Spectrum and Piccolo cards)

Cirrus 2.2 (r67 archive)

- added support for accelerated solid mask fills
- fixed pattern fill rendering bug in both LUT and RGB modes.
- fixed a bug in the acceleration code for patterned fills in 8bit mode.
  The width for this fills was 1 one pixel too large.
- fixed the problem of missing texts in 16/24 bit modes for accelerated
  mono source bitblits

Cirrus 2.1 (r66 archive)

- initial release



CGXMode
=======

Changes for 2.3 (r66 archive)

- added Inferno graphics card for DKB Wildfire to list of supported card.

Changes for 2.1 (r55 archive)

- added cgxmode.ct and cgxmode.cd to distribution for people who want to do their
  own locale translations
- the "modes are gone after reboot problem" is hopefully gone now
- the hidden status of modes is now displayed in the info box in the main window
- default name for PicassoII card is now "PicassoII" instead of "Picasso"
- changed test image design on test screen


Tools
=====

Changes for showcgxconfig 41.0

- Initial release. Tool to list all available graphics devices installed.
  Needs at least cgxsystem.library 41.8
