Update revision history for archive rev 64


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

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 situations 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.

Changes for 41.5 (r62 archive)

- fixed a memory leak problem in the color extraction code for
  Flood()/graphics operations. A certain buffer was not freed.
- extracting certain pens on planar rastports didn't work at all for
  Flood()/graphics operations. Now fixed.

Changes for 41.4 (r60 archive)

- fixed a bug with computation of free video memory in OpenScreenTagList()
  patch

Changes for 41.3 (r59 archive)

- modifed graphics.library color function patches, to avoid possible problems
  on systems with multiple graphics boards installed.
- modified CVideoCtrlTagList()/cybergraphics to avoid possible problems in a 
  multi monitor system.
- CVideoCtrlTagList()/cybergraphics waits for the vertical blank period now
  until it applies the given tags to the viewport

Changes for 41.2 beta6 (r58 archive)

- Complement draw WritePixel()/graphics now correctly works under rgb
  colour screens. This fixes e.g. some problems with the various circle
  tools of ImageFX/Photogenics/PageStream3.1 etc. when used with screens
  that have more than 256 colours.

Changes for 41.2 beta5 (r57 archive)

- fixed a problem with the mousepointer moving to fast. This problem
  was introduced with cgxsystem.library 41.2 beta4
- WaitBOVP() and AllocDBufInfo() graphics patches were accidentally
  removed in cgxsystem.library 41.2 beta4. fixed

Changes for 41.2 beta4 (r55 archive)

- fixed the "mouse pointer can't be moved beyond position 1363 in
  x direction" problem
- modified CoerceMode()/graphics patch to return the real viewport
  display id instead of the base monitor id in case of a cybergraphx
  mode
- added some new lvo's to cybergraphics.library for CyberGL
- fixed some problems in the view related code that should cure
  some trouble with native amiga modes used like in ScalaMM or
  ProDad's SSA Player.
- fixed a bug in the RGB24 3BPP cpu masked pattern blit code
- fixed a bug in the RGB15PC fmt writepixel code (used by PII)
- optimized cpu bitblit code for 3BPP rectangle copies
- added a new call to the cybergraphics.library interface
- optimized cpu filling code for 3BPP rectfills
- fixed a bug in the RGB24 3BPP line drawing code

Changes for 41.2 beta3 (r54 archive)

- Scrolling of superbitmap layers speeded up a lot with Superlayers
  enabled. Now uses the blitter whereever possible.

Changes for 41.2 beta2 (r53 archive)

- Fixed a D2 data register trashing problem with BltBitmap()/graphics
  0xc0 minterms on truecolour bitmaps.
- added support for superbitmaps in Superlayers and fixed some damage
  region related bug in Scrollraster()/graphics patch
- fixed conversion bug with RGBA/ARGB scaling in ScalePixelArray()/cgx
  when destination bitmap format was RGB15

Changes for 41.2 beta1 (r52 archive)

- Superlayers now support smartrefresh in all weird clipping and damage
  cases.

Changes for 41.2 (r51 archive)

-  added  new  layers  replacement.   Should  speed  layers  up  a  lot,
   especially when sizing layers.  It is disabled by default, you have to
   set envarc:cybergraphx/SUPERLAYERS to "1" to enable it.  At the moment
   this superlayers is in beta-state, and some work still has to be done.
   SuperBitMap layers and custom clipping to offscreen smartrefresh buffers
   are not done yet.  So use this BETA-OPTION at your own risk, and if it
   doesn't work, disable it and wait for later releases.

Changes for 41.1 beta9 (r50 archive)

- graphics/BitMapScale() now also supports scaling of chunky,hicolour and
  truecolour bitmaps. It only worked for planar destinations before.

Changes for 41.1 beta8 (r49 archive)

- internal changes in MovePixelArray()/cybergraphics. Should now work
  with layered RastPorts, too.
- added optimized code for drawing circles in hi/true colour modes
- increased writepixel output speed for  hi/true colour modes.

Changes for 41.1 beta7 (b47 archive)

- flood fills are a bit faster for planar bitmaps now. This should improve
  performance for certain flood fill operations on workbench icons.

Changes for 41.1 beta6 (b46 archive)

- improved speed auf RECTFMT_LUT8 WritePixelArray()/cybergraphics call
  on 15/16 bit rgb colour screens. Apps like Frodo4.0 which use
  WritePixelArray/RECTFMT_LUT8 may gain a litte speed due to the
  optimized call. Stack usage increases though.

- BitMapScale()/graphics patch trashed 68k data register D7 in some cases.
  This is now fixed.

Changes for 41.1 beta5 (b45 archive)

- improved speed auf RECTFMT_LUT8 WritePixelArray()/cybergraphics call
  on 8 bit screens. It should be as fast as WritePixelArray8()/graphics
  patch now. Apps or games which have cybergraphx support and use
  WritePixelArray/RECTFMT_LUT8 instead of WritePixelArray8 may gain a
  litte speed due to the optimized call.

Changes for 41.1 beta4 (b44 archive)

- fixed "test screen to small" problem introduced with beta2

Changes for 41.1 beta3 (b43 archive)

- added some code to get powersnap working on truecolour screens

Changes for 41.1 beta2 (b42 archive)

- added additional planar bitmap checks in BltBitmap()/graphics code
  to avoid some strange effects with certain programs

Changes for 41.1 (b41 archive)

- LockBitMapTagList()/cgx always returned a 0 as handle. Now it returns the
  handle properly.
  This will most likely fix all AmiWin related lockups. 

Changes for 41.0 b362 (b40 archive)

- added support for multiple boards of the same kind. The drivers need to
  have that feature implemented though to use that option.
- fixed some problems with standard menu backfilling when PLANES2FAST option
  is enabled. Please don't use that option when you are not aware of what it's
  doing actually. It reduces compatibility and general stability in some cases.

Changes for 41.0 b348 (b39 archive)

- inlined some code in cgxsystem.library. This will slightly improve speed
  in some areas

Changes for 41.0 b320 (b37 archive)

- added horizontal/vertical lines hw acceleration for gfx boards
  that don't have a special line engine but allow for solid fill.

Changes for 41.0 b303 (b36 archive)

- mouse/screen blankers which blanked the mouse sprite the way the C= blanker
  does, now blank the mouse sprite again properly.

Changes for 41.0 b299 (b35 archive)

- Due to a bug in the rect filling code, swapping/toggling of simple refresh
  windows got really slow unter truecolour screens with v2 and previous
  V3 versions. There is really a VISIBLE speed INCREASE with that fixed now
  when using simple refresh windows.

Changes for 41.0 b291 (b34 archive)

- nextscreens should get updated properly now

Changes for 41.0 b289 (b33 archive)

- This is for all WritePixel/PutPixels lovers out there:
  wasted 20 minutes of my valueable time to increase writepixel output. This
  graphics function is mostly unused with os graphics operation but some people
  really think that the speed of this function is a general speed indicator
  Rather strange ......
- fixed a bug in OpenScreen()/intuition patch. If applications called it with
  other flags besides NS_EXTENDED set in the newscreen.type field, the 
  Extended tag field was ignored. This e.g. fixes some screen opening problems
  with Finalwriter.
- programs which use the SA_LikeWorkbench tag to open a screen correctly open 
  on a cybergraphx display now, if the workbench is opened on a cybergraphx
  display, too.

Changes for 41.0 b270 (b32 archive)

- the mouse crsr is now disabled on the previous view if the active
  view changees to a different gfx card
- fixed a problem with masked rectfills with screens that have less than 256
  colours

Changes for 41.0 beta263

- LoadRGB4/SetRGB4 now behaves like in earlier betas which should fix some
  palette problems with older programs.

- enabled support for 8bit hardware accelerated planar bitmap to chunky
  bitmap blits 

- Truecolour related parts of BltBitmap()/graphics rewritten. Should be 
  faster now under certain cases.


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

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

Changes for 41.4 (r55 archive)

- video layer area is cleared now when CreateVLayerHandleTagList() is 
  called
- It is unable to open cgxvideo.library now, if no graphics board with
  video overlay capatibilities could be found.

Changes for 41.3 (b53 archive)

- horizontal filter characteristics are set now depending on the scale
  factor.
- added support for overlays on high/truecolour screens

Changes for 41.2 (b47 archive)

- removed some obsolete debug output in ChangeWindowBox()/intuition patch

Changes for 41.1 (b41 archive)

- bumped rev to 41.1

Changes for 41.0 beta99 (b39 archive)

- should now work with z2 kind of boards


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.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

Changes for 2.1 beta2 (b55 archive)

- fixed a bug in the h/w accelerated software crsr clipping code
- the boot picture decoding is now handled by an external library
  called cgxbootpic.library.

Changes for 2.1 (b53 archive)

- bumped rev to 2.1
- enabled 2d polygon engine for 15/16/24 bit resolutions. This
  increases speed for areafills in rgb colour modes.
- software mouse pointer is now generated by the graphics engine.
  This will give a smoother moving pointer and will reduce cpu
  load when the pointer is moved.

Changes for beta 504 (b43 archive)

- added tooltype "PASSTHROUGH=(YES|NO) which disables/enables
  monitor switch.

Changes for beta 499 (b42 archive)

- fixed rgb colour template blits bug in conjunction with
  INVERSEVID drawmode

Changes for beta 492 (b40 archive)

- added support for multiple CV64s in one machine. All installed
  CV64s share the same config right now. The first CV64 board
  will keep the known screenmode names (CVision: xBit ..). All
  subsequent boards will get the board number added to the
  screen mode base name (CVision.2: xBit .. etc.) and modified
  display IDs
- removed roxxler p2c conversion support for this beta release
  needs to be reviewed. The alternative hardware p2c conversion
  method is still enabled though.

Changes for beta 443 (b39 archive)

- minor changes for latest cgxsystem.library

Changes for beta 441 (b37 archive)

- fixed refresh problems for screens that were moved horizontally
  (screens that are smaller than the visible width and centered
  to the viewport are updated properly now)
- device name is now "CVision64" instead "CyberVision"
- added code to support hardware planar 2 chunky blits
- enabled roxxler support code for p2c conversion

Changes for beta 399 (b36 archive)

- Due to some removal of some unused code, executable size could
  be reduced by around 4k

Changes for beta 398 (b34 archive)

- added wb tooltype support
  the env variable cybergraphx/bootlogo has now become a tooltype
  added tooltype MEMCLOCK=xx to modify default memory clock
- software crsr should now work as expected even on nextscreens
- added support for cgxmode hidden flag
- added a workaround for the save config bug in cgxmode

Changes for beta 369 (b33 archive)

- fixed a problem with swaps of 2 colour screens. if the screen was
  swapped in the whole display was erased.


Changes for beta

- mouse pointer colours are set correct now when a new view is
  opened


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

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 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 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.

Changes for 2.1 beta 6 (r55 archive)

- the boot picture decoding is now handled by an external library
  called cgxbootpic.library.

Changes for 2.1 beta 5 (b48 archive)

- modified board init code to fix some z2 related init problems

Changes for 2.1 beta 3 (b43 archive)

- bootlogo is visible now if scandoubler output is used
- added tooltype "PASSTHROUGH=(YES|NO) which disables/enables
  monitor switch.

Changes for 2.1 beta 2 (b42 archive)

- added support for multiple CV3Ds in one machine. All installed
  CV3Ds share the same config right now. The first CV3D board
  will keep the known screenmode names (CV64/3D: xBit ..). All
  subsequent boards will get the board number added to the
  screen mode base name (CV64/3D.2: xBit .. etc.) and modified
  display IDs

Changes for 2.1 (b41 archive)

- bumped rev to 2.1

Changes for 2.0 beta 1049 (b40 archive)

- minor internal changes

Changes for 2.0 beta 1045 (b39 archive)

- minor changes for latest cgxsystem.library

Changes for 2.0 beta 1043 (b37 archive)

- fixed refresh problems for screens that were moved horizontally
  (screens that are smaller than the visible width and centered
  to the viewport are updated properly now)

Changes for 2.0 beta 1039 (b36 archive)

- The test screen option should now work properly again. (broken
  since 2.0 beta 1023, save config bug workaround)
- fixed a few problems with nextscreens in hicolour/truecolor modes.
  The refresh should be ok now.

Changes for 2.0 beta 1027 (b35 archive)

- added support for masked bitblits. This improves compatibility to
  programs like CygnusEd in 8 bit (no text crsr trouble anymore when
  scrolling) but  - as a drawback - reduces standard shell scrolling 

Changes for 2.0 beta 1023 (b34 archive)

- added wb tooltype support
  the env variable cybergraphx/bootlogo has now become a tooltype
- software crsr should now work as expected even on nextscreens
- added a workaround for the save config bug in cgxmode

Changes for 2.0 beta 1007 (b33 archive)

- fixed a problem with swaps of 2 colour screens. if the screen was
  swapped in the whole display was erased.


Changes for 2.0 beta

- mouse pointer colours are set correct now when a new view is
  opened

Changes for 2.0 beta 961

- fixes a bug in hardware acceleration code for planar to chunky
  blits

Changes for 2.0 beta 892

- Fixes corrupt text problems

- Code for masked templates rewritten.


CGXMode
===========

Changes for 2.1 (b55 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
