Version History for UltraBlankª This file contains a brief description of the changes in UltraBlank, by version number. UltraBlank is Copyright © 1990-1994, and this version history is Copyright © 1991-1994 by Robert S. Claney. See the accompanying documentation for full details. This file only contains a brief description of individual changes which have occurred. More complete information on features which users will notice is contained in the UltraBlank Documentation. Version 2.08 Rework the CDA, including itÕs screen, so more options can fit (& to make it less cluttered). Add the ÒUse Ball (Non-SHR)Ó option to the CDA menu, so that it can be changed from non-desktop programs. Support (finally) the 40/80-column display setting for the CDA screen. Minor changes to the NDA code. More optimization of the interrupt code. Kill (again) the SoundCP-style bounce sound option, since it keeps crashing. Remove the last trace of the transparent option. Add a Blink Border option to the Sound Effects menu. Version 2.07 Change logic of systemSaysForceUndim request response to always reset the blanking countdown, instead of just when weÕre already blanked. Remove code which checks for ÔnormalÕ background on the boot screen before displaying the error splash-screen, since people would probably like to know that UB had a problem even if it messes up a startup pic. Fix bug where, if the OS version was too old, instead of aborting installation, only part was skipped (probably been there since Å2.04). Some code optimization & streamlining, especially in the ball animation code. More effort to support a SoundCP-style bouncing sound. Version 2.06 Move ÒBlanking OffÓ option from the Delay to the Type menu for both NDA & CDA, since it makes more sense from the userÕs point of view that way (although the ÔinactiveÕ flag is still associated with the delay internally). Add an even CuterCuteAbout (why? Because I could :). For those keeping score, this makes 2 interrelated Easter eggs. Version 2.05 Add code to detect if weÕre being installed by an Init installer such as IRª, and refuse to install, since making permanant tool patches while an application is active is not a Good Thing (e.g., if the app made some tool patches itself). Add two more speeds of ÒPsychedelicÓ (one on either end). Disable ÒTransparentÓ color, since it takes up space. ÔColorizeÕ the icon used in help windows. Version 2.04 Add a Request Procedure, & respond to the systemSaysForceUndim request issued by System 6.0.1. A side-effect of this is that only 1 copy of UltraBlank can be in the system at once (from this version on); More than one copy has always been bad, but the request system makes it much easier to detect. Minor code & text cleanup. Version 2.03 Disable using the SoundCP bounce sound, until I can find out why the computer sometimes crashes when itÕs used. Minor code tweaking. Version 2.02 Add new ÒtransparentÓ color type, which just shows whatÕs on the SHR desktop where the ball is (which may not stay in, since it does take some memory & isnÕt very impressive when blanking text mode apps [the screen is usually just the bare background]). Start adding code for a new optional bouncing sound (via the Sound CP). Assorted minor code touch-up. Version 2.01 Remove System 5.0.x support, saving some memory. Add new ÒvariableÓ color type (in 3 speeds) for the Bouncing Ball. Change some defaults. Minor code revisions & cleanup. Version 2.00 Add Bouncing Ball blanking type (!), as well as 3 options relating to it. Change scan-line restore logic so it will ignore the ÔinterruptÕ bit. Disallow entering CDA when NDA is open, to avoid problems. Change Advanced Options so it displays a dialog instead of growing the window. Change the default DA name to be the same under System 5 & 6 (& different than it was in either case). Fix the rVersion resource, now that I can actually see what it looks like. Actually use the version number in the resource for displays. Add rComment, rIcon, and rBundle resources. Use the proper toolbox call to put icons on the screen (when possible) during installation. Animate the icon. Rewrite Help. Add more tool patches, so IÕll (sometimes) know when the screen changes to/from SHR. Remove the Ò(Old Mode)Ó type of blanking, since absolutely nobody has told me that they need it. Allow header for CDA to be relocatable, since the system doesnÕt seem to have any problems with it. Rework CuteAbout. Some code optimizations & cosmetic changes. Version 1.51 Revise memory allocation for DAs, since some programs apparently canÕt handle relocatable DAs (mostly NDAs). Some cosmetic changes. Version 1.50 Change the internal storage of CDA & NDA headers to keep more programs happy (and squeeze into smaller holes in memory). Change CDA code to make both options work more cleanly. Version 1.48 Allow users to choose whether the screen blanks the old way or the new way, in case the new way is incompatible with something. Change the new way so itÕs compatible with animation, when it gets written. Add Option-Close check for NDA, to allow not saving changes. Changes to manual, including making it paragraph, as opposed to line terminated, for people with word processors. Some code tweaking and changes. Change some internal data to make poorly written programs work. Program still takes about 2k during operation. Version 1.47 (special) Change the way the screen is blanked, to avoid a problem a registered user was having. (Not widely released.) Version 1.46 Put back some of the Òobsolete & unneededÓ code, since it actually is (oops, & thanks, proofer)! Expand the number of styles available for the NDA option. Version 1.45 Add Advanced Options to set DA text & NDA style, so the user can (hopefully) find something he/she likes ;). Add an rVersion resource for any programs which look for it. Remove all other resources, since theyÕre currently more trouble than theyÕre worth. Add code to check for fire-buttons in the blanking code. Remove some obsolete & unneeded code. Version 1.43 Experiment with moving some data to resources (fun with REZ :). Remove underscore from NDA entry, Õcause System 6 sorts the DA menus. Touch up CuteAbout. Version 1.42 Change modifier absorb logic (for manual blanking) to keep eating modifier changes until both control & shift are let up, to make it easier to manually blank the screen. Change the modifier mask for testing for manual blanking, so an ADB modifier bug is avoided which caused blanking during high speed space/delete/arrow usage. Change blanking code so the border is kept at black while the screen is blanked, since some programs apparently keep setting the border color to something else while theyÕre running. Version 1.40 Remove Absorb Keypress option, since the keys canÕt reliably be eliminated. Add patches to intercept mouse and keyboard interrupts before the Event Manager can steal them, eliminating the Ôdelay syndromeÕ when using the mouse. Also, added tool patches so the first patches will stay. Trap some attempts to kill the HeartBeat task que so blanking can stay alive. A small (approx. 0.25k) increase in operating memory usage, but shouldnÕt be a problem. ÔTuneÕ help. Touch up CuteAbout. Version 1.36 Finalize splash-screen & associated code. Experiment with an Absorb Keypress option. The load file is much larger than 1.31, but most of the increase is in non-resident code & data, keeping memory usage near previous versions in actual use. Version 1.35 Consolidate some code. Change the minimum required version of GS/OS to 3.3, or System Disk version 5.0.3, because of bugs in 3.1 which were cropping up. Ask GS/OS to unload UltraBlank if there were problems installing (such as too old a version of GS/OS), as well as putting up a message on the boot screen to this effect. First attempt to put a splash-screen on the boot screen. Change (again) segment unloading logic. Add a Help button to the NDA. Version 1.31 Clean up some of the code, including using TaskMasterDA, since I now have the TechNote telling how to use it right. Code slightly smaller, but not enough to notice. Modify segment attributes so only the static segments are marked ÒNo Special MemoryÓ, since the attribute is ignored on dynamic segments. Version 1.30 Clean up CDA interface and move most interface code to a dynamic segment, to keep memory usage near the level of 1.20. Change segment attributes so that none of the pieces of the program are loaded in special memory. This should clear up any problems between UltraBlank and the Memory Manager when switching to P8. This means the program may not load on a VERY full machine, but the memory used is so small that this shouldnÕt be a problem. Version 1.29 Code changes so dynamic segments always unload after use. Add code to force reconnection of blanking code when possible, since some programs are apparently doing nasty things to the system. First attempt to support a CDA interface. Touch up CuteAbout. Version 1.20 Code revisions: Unload initial setup code after use to save memory. Move most non-blanking (i.e. NDA interface) code and data to dynamic segments to further cut typical memory usage to about 50% of v1.18. Dynamic segments only loaded when needed for NDA support, then purged. De-ÒexpressÓ loadfile because of obscure dynamic segment conflicts. Change to ÒWatchÓ cursor (if QDAux is loaded) during time-consuming activities to show user that something is happening. Touch up CuteAbout. Version 1.18 Fix bug: some ÔtweaksÕ in v1.15 were misplaced, causing restore to leave the screen black some of the time (Pretty bad production bug, eh?). Perform some code consolidation & optimization. Break data up into separate segments where appropriate, allowing the program to squeeze into smaller areas in memory. Version 1.15 Clean up Dialogs. Tweak the restore code so it fixes text mode properly. Version 1.14 Fixed bug where the screen would be restored incorrectly if there had been a change in video mode since blanking. Fixed problem where programs were playing with the SHR color tables while blanked so restore code doesnÕt stomp on it now. Version 1.10 First version (that works!) that loads as a Permanent Startup. Handle blanking any video mode. Install previous NDA code for user interface. Consolidate code to save space. Change interrupt timing from 1/15 to 1/10 second for reduced system loading. Move config file to System.Setup directory. Add CuteAbout (for the adventurous). Versions 1.05 Ñ 1.09 Experimenting with loading as an STR (now PIF) instead of an NDA to allow blanking any program. Definitely not for release! (VERY radical system crashes!) Version 1.00 First Release. Fixed fragmenting memory problem. Finalize configuration file format (Name, attributes, contents). Check to make sure weÕve got GS/OS v3.1 or later (System 5.0.2). Version 0.98 Almost ready for Ôprime timeÕ; Update rest of program to use GS/OS. Working reliably with different programs. Version 0.90 Shift delay setting to pop-up menu format. Use GS/OS toolbox routines for About window. Use GS/OS to access config file. Finalize memory usage. Versions 0.01 Ñ 0.80 Various tinkering (& amusing system crashes). Finalize code to control blanking (in there somewhere).