revision history for archive rev 70 cgxsystem.library ================= Changes for 41.19 (r70a archive) - added support for boundary aligned CyberGraphX bitmaps (e.g. required by Fusion) - added new feature. If the mode you selected in ScreenMode prefs is not available when the Workbench screen is opened, CyberGraphX tries to find a replacement mode. If wb width and height were set to default mode dimensions, it uses a width of 640 and height of 480 by default. - fixed a bug in the BltBitmap()/graphics minterm 0xc0 planar->planar code introduced in 41.18. blits with a width less than 32 did not work when both source and dest x were on a 32 pixel boundary - added coordinate sanity checks to CyberGraphX's graphics.library/Draw() function since programs like VisualPrefs seem to call it with invalid (negative) coordinates which caused memory havoc in certain cases. ADDITIONAL NOTE: Some people reported that increasing stack size of the initial shell fixes certain boot problems. Try to add a stack command in the startup-sequence to check if it fixes anything. Also, there seems to be mount related problem with certain drivers that causes some systems to halt at boot time. The c:mount command does enforcer hits when there is no tooltype set for .info files in devs:dosdrivers. Unfortunately this can lead to a total system deadlock in certain cases. The AHI audio driver for example does not have ACTIVATE=(0|1) in its .info file and mounting it causes hits in most cases. Please fix it and check if booting the system works again without problems in case of any trouble. Changes for 41.18 (r70/PPC-CD archive) - minor changes for the CGX AGA release Changes for 41.17 (r69f archive) - fixed a long outstanding bug in the display mode installation code for OS 3.1. This bug could lead to loss of AGA/ECS mode monitor IDs when multiple graphics cards were installed in the system. - cgxsystem.library.ppc now falls back into 040/060 mode if ppc.library can not be found. - FillPixelArray()/cybergraphics does not trash register D2 anymore when rendering to a non layered rastport ADDITIONAL NOTE: If you experience any problems with cgxsystem.library.ppc please try the .040 version first to check if it solves your trouble before reporting any bugs. Changes for 41.16 (r69e archive) - changed behaviour of custom bitmap support code for OpenScreenTagList()/ intuition introduced in 41.15. This should fix some problems with programs like Resource or CyberView which pass a custom bitmap to OpenScreenTagList() - added CyberGraphX support for AllocScreenBuffer()/ChangeScreenBuffer()/ FreeScreenBuffer() intuition calls - GetBitMapAttr(bm,BMA_FLAGS)/graphics now sets the BMF_DISPLAYABLE flag for CyberGraphX displayable bitmaps - fixed some problems in DrawEllipse()/graphics with overlapping pixels in complement drawing mode - OpenScreenTagList()/intuition cleared the SA_ErrorCode long field in some cases although the screen was not opened properly. (-> e.g. CygnusED's Spawn new CED option never opened a new screen but a window because it always got an errorcode of 0) - OpenScreenTagList()/intuition now uses the width/height parameters of the NewScreen structure instead of ignoring it and using the default dimensions. - The mouse pointer should not jump around anymore if someone tries to drag a non draggable screen (if driver has dragging disabled). Fix requires latest drivers also - fixed an enforcer hit problem that occured in conjunction with the SysLock utility Changes for 41.15 (r69d archive) - hopefully fixes the crash problems introduced in r69c - removed some debug output in the DoCDrawMethodTags()/cybergraphics call which was in r69c/41.14 Changes for 41.14 (r69c archive) - There is now a special ppc version of cgxsystem.library included. Please use that if you have a ppc accelerator card. - flood fill algorithm replaced by a faster version which leads to faster icon redrawing in certain cases cgxvideo.library ================ Changes for 41.10 (r69 archive) - removed all CVision3D hardware dependencies. Instead it uses a generic CGX3 driver VStream API now. Make sure you have the latest drivers installed when you use this library. - added support for GIMMEZEROZERO windows 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.7 (r69 archive) - fixed a mismatched free mem size in image decoder 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.10 (r70a archive) - The driver added an additional, faulty screenmode to the mode list in some weird cases. Now fixed - Fixed an illegal memory access in the acceleration code for patterned mask fills (e.g. used by colorwheel gadget) - If the BOOTLOGO is enabled the driver now automatically switches to Amiga video again after the logo is displayed for 8 seconds (requires that CV64 VGA input is connected to amiga video output of course). You had to use LAMIGA-m after 8 seconds manually before to switch to the amiga video. - added support for boundary aligned video maps in DRAGGING=OFF mode (e.g. required by Fusion). Requires at least cgxsystem.library 41.19 Changes for 2.9 (r69f archive) - modified MOVE16 bitmap swap in/out code to workaround a bug in certain 040 accelerator cards. - fixed a potential race condition when an interrupt occured, the int handler was already installed but the hardware was not initialized completely. - (YES|NO) is also accepted for the BOOTLOGO tooltype now instead of (1|0) - reenabled roxxler support. There is now an additional tooltype USEROXXLER=(YES|NO) to disable roxxler manually. Default is enabled. Changes for 2.8 (r69e archive) - added os3 style doublebuffer support. Only works with dragging disabled (tooltype DRAGGING=NO), otherwise any attempt to allocate a dbufinfo will fail. Requires at least cgxsystem.library 41.16 Changes for 2.7 (r69c archive) - the driver does not crash with divide by zero anymore at startup if modes with pixelfrequencies less than 12.5 mhz or higher than 135mhz are loaded Changes for 2.6 (r69 archive) - added bitblit acceleration for some occasionally used minterms - added 2 new driver calls - fixed a problem in the bitmap swap code for interleaved bitmaps <= 16 cols - the memory management code now uses a first in/first out mechanism for bitmaps - fixed a bug in the memory management code that only occured while mungwall was running - driver recompiled with SAS/C 6.58 and global optimizer enabled - modified init code to workaround a bug of certain boards (int level is set to 6 although it is programmed to 2 which could lead to lockups at startup). - fixed a bug in patterned masked fill acceleration code for rgb screens that was introduced in 2.5 (fixes a problem with colorwheel on rgb screens) CV3D driver =========== Changes for 2.16 (r70a archive) - The driver added an additional, faulty screenmode to the mode list in some weird cases. Now fixed - If the BOOTLOGO is enabled the driver now automatically switches to Amiga video again after the logo is displayed for 8 seconds (of course requires cv3d scandoubler output). You had to use LAMIGA-m after 8 seconds manually before to switch to the amiga video. - added support for boundary aligned video maps in DRAGGING=OFF mode (e.g. required by Fusion). Requires at least cgxsystem.library 41.19 Changes for 2.15 (r69f archive) - modified MOVE16 bitmap swap in/out code to workaround a bug in certain 040 accelerator cards - fixed a potential race condition when an interrupt occured, the int handler was already installed but the hardware was not initialized completely. - reenables draggable screens again that were accidentally disabled in 2.14 even if tooltype DRAGGING was set to "YES" - fixed a bug in the PLL table code introduced in r67 (v2.10). display modes that were defined with a pixelclock > 121MHz always used a maximum pixelclock of 121MHz really - (YES|NO) is also accepted for the BOOTLOGO tooltype now instead of (1|0) Changes for 2.14 (r69e archive) - added os3 style doublebuffer support. Only works with dragging disabled (tooltype DRAGGING=NO), otherwise any attempt to allocate a dbufinfo will fail. Requires at least cgxsystem.library 41.16 - Overlay in 15bit rgb modes enabled RGB16 for the primary stream. Now the colours are correct for 15bit overlay screens Changes for 2.13 (r69c archive) - added new tooltype called MULTIMEDIAMEM=(YES|NO) which enables/disables the multimedia extensions like video overlay and 3d. If disabled, extension memory is used as extra video memory for amiga bitmaps/screens. Changes for 2.12 (r69 archive) - added bitblit acceleration for some occasionally used minterms - added support for generic CGX3 driver video stream API. cgxvideo.library 41.10 uses the new interface. - removed an obsolete debug output that could appear with a certain interrupt state - added 2 new driver calls - fixed a problem in the bitmap swap code for interleaved bitmaps <= 16 cols - The version string of the driver now gives info on the zorro version it is compiled for instead of the cpu version - the memory management code now uses a first in/first out mechanism for bitmaps - fixed a bug in the memory management code that only occured while mungwall was running - driver recompiled with SAS/C 6.58 and global optimizer enabled (only for Z3 version) Cirrus Logic drivers ==================== Cirrus 2.7 (r70a archive) - The driver added an additional, faulty screenmode to the mode list in some weird cases. Now fixed - added support for boundary aligned video maps in DRAGGING=OFF mode (e.g. required by Fusion). Requires at least cgxsystem.library 41.19 - The PicassoIV driver does not try to enable the flickerfixer anymore if the tooltype PASSTHROUGH is set to NO Cirrus 2.6 (r69f archive) - modified MOVE16 bitmap swap in/out code to workaround a bug in certain 040 accelerator cards. - reenabled DPMS support functionality for PicassoII,Spectrum,PiccoloZ2/Z3 cards egain - PiccoSD64/Piccolo 15/16bit<->8bit format conversions were incorrect for dragged screens. Fixed - (YES|NO) is also accepted for the BOOTLOGO tooltype now instead of (1|0) - fixed some PIV flickerfixer related problems ADDITIONAL NOTE: Starting with r69e, a PicassoIV driver is included although it was originally planned to be released with the r70 archive. This driver is not 100% in some respects although it should work ok for most stuff. It has been included to show that this driver is neither a hoax, nor that it is "phase5 tactics" to delay the driver and release r69a-zz archives until r70 is out. Keep in mind that CGX3 is a freebie and so is the PIV driver. Development of the driver has been and is actually in no way supported by VillageTronic. If you don't feel comfortable with the driver, don't use it. Bug reports are appreciated nevertheless. KNOWN PROBLEMS: With CGX3, some PicassoII users reported strange "fuzzy" pixel problems when displaying fonts on 15/16 bit screens. Since this only happens on certain cards, its very hard to reproduce and to track down. We hope to fix it in a future release. Cirrus 2.5 (r69e archive) - added os3 style doublebuffer support. Only works with dragging disabled (tooltype DRAGGING=NO), otherwise any attempt to allocate a dbufinfo will fail. Requires at least cgxsystem.library 41.16 - added real vblank int support for PicassoIV (needs at least p4resource v2) - bootlogo should show up now if enabled for Spectrum/PicassoII(+)/Piccolo cards - PASSTHROUGH tooltype now works for Spectrum/PicassoII(+)/Piccolo cards - hopefully fixed remaining masking problems for template blits in 8bit modes with PicassoII(+)/Spectrum/Piccolo cards (e.g. FinalWriter toolbar was displayed wrong in 2-128 colours) Cirrus 2.4 (r69 archive) - init code now correctly initializes the DrvrName field in the GraphDev structure - vga switch did not switch into passthrough mode when control was given over to another graphics card installed into the system. Now fixed. - disabled DPMS functionality for PicassoII,Spectrum,Piccolo Z2/Z3 because this cards don't support DPMS really. - fixed 24bit modes software cursor invisible bug when screen dragging was disabled - 24bit modes for Cirrus GD5446 cards work now. It seems that the 32bit Mac alike modes don't work due to a Cirrus hardware bug. - The CGXMode hidden mode flag is now supported by the driver - added 2 new driver calls - fixed a problem in the dragging code - added DRAGGING=(YES|NO) tooltype - the display is blanked now if a new view is loaded - added PicassoIV support ADDITIONAL NOTE: Beginning with the PicassoII driver in release 68 people reported strange problems. Some people had distorted fonts in 16bit, some only had 2/3 of the screen displayed horizontally and some missed complete menu strips. Actually only a few people reported that, so we assume that it only happens with certain PicassoII cards. As we don't know how to fix that problem (it works fine with the PicassoII we have) we need your help. If you experience such problems, please mail some more detailed information (PicassoII board revision, chip id revision, os version, resolution used etc.) to cybergfx.bugs@vgr.com so that the problem can hopefully be fixed in a forthcoming release. Symbios Logic drivers ===================== RetinaZ3 2.5 (r70a archive) - The driver added an additional, faulty screenmode to the mode list in some weird cases. Now fixed - Fixed an illegal memory access in the acceleration code for template blits RetinaZ3 2.4 (r69f archive) - modified MOVE16 bitmap swap in/out code to workaround a bug in certain 040 accelerator cards. - fixed a potential race condition when an interrupt occured, the int handler was already installed but the hardware was not initialized completely. - (YES|NO) is also accepted for the BOOTLOGO tooltype now instead of (1|0) RetinaZ3 2.3 (r69e archive) - added os3 style doublebuffer support. Only works with dragging disabled (tooltype DRAGGING=NO), otherwise any attempt to allocate a dbufinfo will fail. Requires at least cgxsystem.library 41.16 - inverse video mode texts were not displayed inverse in all cases. Fixed. - modes now support the hidden flag RetinaZ3 2.2 (r69d archive) - fixed some modulo problems for non visible display bitmaps when the DRAGGING option was disabled - fixed a bug in the 8bit complement solid fill code RetinaZ3 2.1 (r69c archive) - initial release AA driver ========= CGXAGA 2.3 (r70a) - driver now properly checks for a CS PPC/Blizzard PPC card CGXAGA 2.2 (r70/PPC-CD archive) - initial release CGXMode ======= Changes for 2.7 (r70a archive) - fixed an enforcer hit when CGXMode was started from Workbench and no gfxcard driver was available at all (e.g. started with CGXAGA driver installed only) Changes for 2.6 (r69f archive) - board list now shows all available cards - bumped catalog version to 8, old catalogs need to be updated - save does not quit anymore, there is an extra quit button now - CGXMode now properly opens the testmode screen when no gfxcard was specified at startup in the shell command line (only fixed for wb start in 2.5 but not for shell start) Changes for 2.5 (r69d archive) - CGXMode now properly opens the testmode screen when no gfxcard was specified at startup Changes for 2.4 (r69 archive) - The program uses cgxsystem.library's driver database interface now to check for the availability of a specified graphics card. - CGXMode uses the first graphics card installed now as default instead of CyberVision64 - recompiled with SAS/C 6.58 - if the changes require a reboot, the program tells you to reboot manually now instead of doing a reboot automatically after 4 seconds - added 85khz monitor default resolutions to menu - default resolutions are not hidden by default anymore - bumped catalog version to 7, old catalogs need to be updated - modified test mode mechanism. Does not rely on file notification anymore but uses a direct driver interface now. Requires the latest monitor drivers and cgxsystem.library to be installed - added PicassoIV graphics card to list of supported cards. Changes for 2.3 (r66 archive) - added Inferno graphics card for DKB Wildfire to list of supported cards. 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