The History of PowerCache This file contains descriptions of the specific changes and fixes that occur in the different releases of PowerCache. The most recent version is first in the list. The following list of abbreviations indicate the nature of the change: MIN - Minor bug fixed MAJ - Major bug fixed NEW - New feature CH - Change in operation OPT - Optimization or improvement of existing feature ----------------------------------------------------------------------------- PowerCache 37.115 - Another maintenance release 10-Apr-1994 MIN Some internal semaphore code cleaned up CH Upped PowerCache's low memory handler priority, to have it called before exec tries to expunge resident libraries. CH Low-memory handler will now try to only free what exec actually needs (in terms of size and memory type), not simply all buffers of all installed caches like previous versions of PowerCache did. NEW Added a reset handler (popular request). Please consult the docs, section 'Important Notes' for a detailed explanation of the restrictions which apply for this particular feature. MIN The previous versions of PowerCache would not run unless locale.library was present in LIBS:, effectively blocking out all pre-V38 users. Fixed. NEW Improved Deutsch (German) translation provided by Steffen Salzmann MIN Minor discrepancy in test.rexx fixed. On machines with only CHIP memory (stock A1200 for example), the ADDCACHE part was pretty useless, since it always installed a cache using FAST memory. It now simply requests 'ANY' memory (Gábor Nagy) NEW Magyar (Hungarian) translation graciously provided by Gábor Nagy CH Removed the internal icon imagery for the preferences file from the PowerCache executable itself. PowerCache now uses ENV:Sys/def_powercache.info if available, and ENV:Sys/def_project if not. Saved another 1000 bytes. MIN In unregistered mode, if you did not answer the initial 'About' requester during the timeout period (30 minutes), the machine would hang once you finally did. Fixed. CH Statistics windows can now be closed with ESCape. ----------------------------------------------------------------------------- PowerCache 37.104 - Maintenance release 05-Jan-1994 CH Recompiled with SAS/C 6.51. This took more than 15k off the executable and also made the program considerably (MUCH) faster. Goodbye Aztec.. :) MIN Listview showing cacheable devices were not showing the correct unit number. Fixed. CH Signal bit usage reduced by one per cache. This means that read-only caches now require NO signal bits, and read-write caches require only one. See the docs, section "Troubleshooting", for a detailed description of this. MIN Partitions with names longer than 4 (WB_2.x: for example) could cause strange effects when editing caches. Fixed. CH Utterly minor fix: You can now create directories from the file requester whenever you save the preferences :-) MIN Several possible deadlock situations (pertaining mostly to intuition window refreshing) were found and fixed. CH Read-only caches were not being efficiently primed when fresh sector data was being written. Read-only caches now prime themselves quicker than in earlier versions. MAJ ARexx command 'CACHEABLE' returned an empty list until PowerCache's window had been opened at least once. CH ARexx command 'VERSION' now returns the $VERsion string, and not the cx broker title (you'll get a bit more info this way) MIN Removed all known Enforcer hits, including: · Selecting Remove in main window caused a BYTE-READ from 00000185 (This one was a bug in the hotkey handling code, so no doubt this fix also removes other hits) · Closing the Device Information window caused a BYTE-READ from 00000023 · Several LONG-READ from 00000000's were found and removed. NEW PowerCache now reports unknown filesystem types in the Device Information window using an ascii representation of the dostype identifier. This way the filesystem 0x6D754644 is reported as 'muFS' in stead of just 'Unknown'. MIN Error handling during premature disk ejections improved. Retry/Cancel of warning requester now works properly. Funny nobody noticed this before. OPT Beefed up documentation (major overhaul), improved online help routines CH Cancel/Restore now also affects changes made to installed cache buffers (ANY kind modification can now be cancelled) MIN PowerCache would (likely) go berserk if you edited or removed a cache (or quit the program) while the cache purge algorithm was active. Fixed. NEW Implemented RND cache algorithm NEW Added LANGUAGE tooltype/cli parameter. You can now force PowerCache to start up in any particular language (in case you start it before IPrefs). Happy now, Reza? :-) NEW Netherlands (dutch) locale graciously provided by Paul van der Heu NEW Svenska (swedish) locale graciously provided by Magnus Holmgren NEW Italiano (italian) locale graciously provided by Roberto Tosco NEW Stat-hotkeys can now be assigned for each installed cache. Pressing the hotkey activates the statistics window for that cache and opens up on the window on the default public screen. CH ADDCACHE, EDITCACHE, GETCACHEINFO and LISTCURRENTLYCACHED ARexx commands now accept/return a STATHOTKEY string (to support the new statistics hotkeys from ARexx) CH Main window is now locked during cache flush operations (i.e. after editing a cache that contains unwritten buffers). MIN 'Purge Timeout' was not being ghosted for R/O caches. MIN Same thing for the 'Free After Purge' gadget. CH Default refresh rate for stat windows changed to half a second. MIN Quitting PowerCache via the Exchange program was impossible. Fixed. NEW You can now request buffers of type '24BitDMA'. CH Changed syntax for ADDCACHE, EDITCACHE, GETCACHEINFO and LISTCURRENTLYCACHED slightly, to accept the new '24BITDMA' memory type. Also, changed 'FASTMEM' argument to 'FAST' and 'CHIPMEM' to 'CHIP'. Time to check your arexx scripts.. :-) NEW Caches may now be individually enabled or disabled via a new checkbox gadget in the main window. NEW Added two ARexx commands to enable and disable caches individually (ENABLECACHE/DISABLECACHE). NEW Added ARexx commands to show and hide statistics windows (SHOWSTATS/HIDESTATS) CH Moved the Purge gadget from the cache preferences window to the main window. NEW Added PURGE ARexx command MIN PowerCache would sometimes crash when exiting. Fixed. CH Improved window gadgetry, gadget underscoring, window refreshing and hotkey handling everywhere. Cleaned up the gadget layout. All windows except the DeviceInfo window are now SIMPLE_REFRESH, resulting in greatly reduced memory and cpu usage. MIN Statistics windows can now be operated when the cache edit window is open. They used to be totally deaf to user input events (gadget presses etc) during cache editing. Funny nobody noticed this :-) CH Removed font sensitivity. PowerCache now uses the system default font only if it is an 8 point font. This was done to keep things simple and cut down on code size (the font ajust code was a mess anyway). Future versions may re-implement some form of font sensitivity. Complaints -> NIL: :-) CH Removed the 'Use Help' gadget (and the USEHELP arexx command). All help actions are now simply deferred until you press HELP. MIN The requester showing 'No FAST memory available' did not lock the cache configuration window from input. MIN Installing a new cache by double-clicking always worked, even if a cache was already installed for the selected device. ----------------------------------------------------------------------------- PowerCache 37.64 - Now uses keyfiles for registration 05-Aug-1993 NEW German (deutsch) locale graciously provided by Gerhard Kupka CH Evaluation version now permits multiple volume caching, leaving the startup requester and the half-our timer as the only two constrains in the eval version 8^) CH Now uses keyfiles rather than seperately compiled versions for each registered user. New "registering" section in the docs (read it!) and registration form. MIN PowerCache did not close the catalog it was using. This made it very difficult to make new language translations for PowerCache, since you had to reboot the machine to test a modified string. Fixed. OPT Removed redundancies in the GUI code, shaving some 500 bytes off the executable. Hey! It all adds up :-) MIN ARexx command SETENABLEKEY was returning the previous _disable_ key rather than the previous enable key. Fixed. ---------------------------------------------------------------------------- PowerCache 37.58 - Additional minor changes 18-Jul-1993 MIN Devices with no TCB are no longer shown in the device list. This also removed a few (harmless) Enforcer hits that appeared when opening PowerCaches window. NEW The distribution now contains the COMPLETE CatComp source, including .cd file and all .ct files. NEW Norsk (norwegian) locale graciously provided by Mario Gonzalez NEW Français (french) locale graciously provided by Reza Elghazi OPT Cache purge routine made signifficantly faster. Floppy users will notice this for sure. NEW Listviews in main window now have double-click actions (device list -> install cache, currently cached -> edit cache) MIN Version strings added everywhere (was actually missing from the executable as well. Oops!) OPT Window message port sharing code rewritten so that windows no longer reserve a signal bit each. This means statistics and deviceinfo windows can now be opened even though you are caching many units. MIN Statistics windows were trashing memory. Fixed. MAJ Zooming stat windows could cause crashes (bug introduced in 37.51, sorry!) - Fixed. ----------------------------------------------------------------------------- PowerCache 37.51 - Minor changes 01-Jul-1993 MIN USEHELP command was missing in the ARexx docs OPT Minor optimization in file cache code CH Statistics windows will no longer display buffer usage for file caches (not much sense in that) MIN In certain borderline cases, statistics windows could cause division by zero errors. Fixed. CH Distribution now includes version 38.1042 of reqtools.library ----------------------------------------------------------------------------- PowerCache 37.46 - First public release - ENJOY! 18-Jun-1993 CH NOHELP keyword replaced by a checkbox in the main window NEW Implemented USEHELP ARexx command (a la BEEP/POPUP) MIN Minor syntax error in The Installer script corrected MIN Starting PowerCache from another directory than the current one meant no online help, unless PowerCache: had been correctly assigned. Fixed. OPT Excessive use of message ports (or, to be precise, signal bits) would result in failure to use more than three caches at a time, or open more than five different windows of any type (info, statistics, etc). PowerCache now only creates message ports where it is strictly necessary. MIN Opened devices were not always being closed if the cache initialization code failed. Fixed. MIN 'Currently Cached' listview was not being properly updated after a Remove Cache operation. Fixed. MIN Bug in the preferences file loading fixed. NEW 'Currently Cached' listview entries now show cache mode and type, as well as cache dimensions NEW All windows can now be okayed by hitting RETURN or ENTER, and cancelled using ESCape (as opposed to pressing gadget shortcut keys or using the mouse) MIN PowerCache would generate a [harmless] Enforcer hit when pressing HELP over a LISTVIEW gadget. Fixed. ----------------------------------------------------------------------------- PowerCache 37.35 - Second round of bug fixes 5-Jun-1993 NEW All gadgets now have keyboard shortcuts CH No longer Inhibit()s drives before caching them MIN PREFSFILE keyword didn't work MIN 'Beep' feature now works as advertised OPT Cache routines made generally faster OPT Read-only caches are now 30-50% faster than read/write caches. OPT Cache write operations sped up. With a prefetch of 1, no drive access will occur even if a large file is copied onto a drive. It stays entirely in the cache. MIN On exit, PowerCache would reset all device function vectors - even those which it had failed to initialize in the first place. Fixed. MAJ Auto-configuration code was broken. It now works as described in the docs. MIN If PowerCache was stopped while its child task was busy purging a cache, either PowerCache or the child would hang (and the drive would not be completely updated). Fixed. CH Cache flush child task (executed when a cache times out) is now "interruptable" so to speak. A Dir df0: would take forever if the drive was being updated by PowerCache. The Dir operation now takes precedence over the flush operation, which will be postponed until the drive becomes idle once again. MIN PowerCache would hang or crash if reqtools.library could not be opened. Fixed. NEW PowerCache now waits for a validating drive to settle down before adding a cache to it. MIN Failure to allocate a cache line of the type selected for that cache would cause a horrible system crash. Fixed. CH Pressing HELP over the main preferences window now links AmigaGuide to the HelpInfo section in the manual, and not simply to Main (the first node). MAJ Low-memory handler was not being removed when quitting PowerCache. Would cause instant guru if PowerCache was stopped and the system then ran low on memory. MIN Delay time for statistics windows was only being ajusted once, not once per second. Fixed. OPT Window refreshing (after a Zoom operation) is now optimized and fully compliant with C= guidelines. MIN The Install window wasn't refreshing gadtools gadgets at all. It now does. MIN A small error in the cache editing function could cause unpredictable behaviour (that means GURU) when okaying changes. Fixed. ----------------------------------------------------------------------------- PowerCache 37.15 - First round of bug fixes 25-May-1993 MAJ PowerCache would crash if started twice (it will now correctly wake up the dormant copy and exit) MAJ Purge gadget in Cache Edit window would lock up the program. Fixed. MIN Internal structure arbitration tightened up. Could cause lockups if removing a cache from a frantically active drive. OPT Cache buffer loading routines are now faster. NEW Added NOHELP switch/tooltype ----------------------------------------------------------------------------- PowerCache 37.10 - Internal beta (first attempt) 17-May-1993 - History begins.