DAZZLE Users Manual Documentation for Revision 4.1f 17 March 1991 1. INTRODUCTION ...................................... 1 2. SHAREWARE ......................................... 2 3. COMMAND LINE OPTIONS .............................. 3 3.1 Specifying Options ............................... 3 3.2 Compatibility Options ............................ 4 3.2.1 /C = COMPATIBLE mode, use BIOS. ................. 4 3.2.2 /2 = 2 part palette update. ..................... 4 3.2.3 /N = NO retract of hard disk heads. ............. 4 3.2.4 /X = XT compatible mode, inferior but works. .... 4 3.2.5 /K = Keyboard typematic unchanged. .............. 5 3.3 Artistic Options ................................. 5 3.3.1 /H = Hide EGA border. ........................... 5 3.3.2 /S = SHOW mode, quick single image. ............. 5 3.3.3 /E = EGA operation mode forced. ................. 6 3.3.4 /V = VGA operation mode forced. ................. 6 3.3.5 /T = TALL video aspect ratio mode. .............. 6 3.3.6 /F = FIXED colors instead of randomized. ........ 6 3.3.7 /A = ALTERNATE (faster) color cycling speed. .... 7 3.3.8 /M = MAD (fastest) color cycling speed. ......... 7 3.4 Other Options .................................... 7 3.4.1 /B = Bashful, no closing credits. ............... 7 3.4.2 /Q = Quiet, no tones (no effect on beeps). ...... 7 3.4.3 /I = Insecure, no antiviral checking. ........... 7 3.5 Specifying the INPUTFILE ......................... 8 4. ON-LINE HELP ...................................... 8 4.1 Cursor Keys within HELP .......................... 8 4.2 Exiting HELP ..................................... 8 5. PRIMARY DAZZLE MODES .............................. 8 5.1 Selecting Modes .................................. 9 6. KEYS ACTIVE IN ALL MODES .......................... 9 6.1 ESCAPE : Program Termination ..................... 9 6.2 TAB : Freeze Image ............................... 9 6.3 "+" and "-" : Color Cycling Clock Adjustment ..... 9 6.4 Shf-F10 : Reinitialize the Color Palette ......... 10 6.5 The Fade Control keys ............................ 10 6.5.1 W : Wipe (curtain) fade ......................... 10 6.5.2 L : Linewipe fade ............................... 10 6.5.3 X : heXagon fade ................................ 10 6.5.4 S : Starburst fade .............................. 10 6.5.5 R : Rectangles fade ............................. 11 6.5.6 E : Exclusive-OR fade ........................... 11 6.6 Special Fade Control keys ........................ 11 6.6.1 P : Pan/Scroll fade ............................. 11 6.6.2 H : Hold current display ........................ 11 6.6.3 N : Next display now ............................ 12 6.7 Mouse Clicks ..................................... 12 7. KEYS ACTIVE IN "SEMI-AUTO" MODE ................... 12 7.1 F8 : Toggle continuous drawing mode .............. 12 7.2 F9 : Select Random Image ......................... 12 7.3 F10 : Draw Current Image ......................... 12 7.4 Alt-F10 : Reinitialize Current Algorithm ......... 13 7.5 Specific Image Selection Keys .................... 13 Program and all related documentation Copyright MicroTronics page ii 8. CONFIGURATION ..................................... 13 8.1 Cursor Keys within CONFIGURE ..................... 13 8.2 Exiting CONFIGURE ................................ 13 8.3 Image Size Control ............................... 14 8.4 Fade Enable Control .............................. 14 8.5 File Access Menu ................................. 14 8.5.1 Select Mode ..................................... 14 8.5.2 File Name ....................................... 15 8.5.3 Path ............................................ 15 8.5.4 F3 : View Disk Directory ........................ 15 8.5.5 F4 : Execute Save/Load .......................... 15 9. CONFIGURATION FILE FORMAT ......................... 16 9.1 Shift Key Tokens ................................. 16 9.2 Key ID ........................................... 16 9.3 Configuration Value .............................. 16 9.4 Comment Lines .................................... 16 9.5 Version Flag ..................................... 17 10. PROGRAM INTEGRITY ................................. 17 11. PROGRAMMERS COMMENTS .............................. 17 12. LEGALESE .......................................... 17 13. DAZZLE Distribution Authorization ................. 18 14. EPILOGUE .......................................... 19 Program and all related documentation Copyright MicroTronics page iii 1. INTRODUCTION DAZZLE and DAZE are randomized color pattern generators for MsDOS/PCDOS computers with EGA or VGA compatible color displays and adapters. Performance art for the eyes, and DAZZLE now supports optional interactive control! A source of beauty; sometimes subtle, sometimes vibrant, always changing. The image engine has over 30 primary image drawing algorithms, most of which have at least two styles of presentation, many of which have multiple internal drawing variations. There is also an assortment of "fades", including split screens and pans, used by the imaging system for greater diversity of presentation. The entire color range of the detected video system is utilized for maximum variety and visual stimulation. When the "Semi-Automatic" mode of DAZZLE is active, the user can play the program from the keyboard. Specifically selecting each pattern to draw, or letting the program select the pattern randomly. The selected pattern is generated for as long as the user holds the draw key. There are no limits on the mixing of image patterns. The user can then invoke a specific fade effect, or let the program select an effect randomly. The types of displays that can be generated in this fashion are far more varied, and personal, than anything that "Auto" mode ever produces. There is now a configuration menu that allows the customization of DAZZLE image generation. It also allows the selective disabling of various fades. This configuration information can be written to an editable text file, and either loaded again from the menu or loaded automatically at program invocation by specifying the file name on the DAZZLE command line. An on-line HELP text window system is now included in DAZZLE. In the self generating "Auto" mode (the only mode supported by DAZE), the primary image algorithms are mixed randomly on the screen. Typically from 3 to 8 are overlaid at a time, producing a very large assortment of possible displays. Each display remains for a while to be appreciated, then the screen is cleared via a fade algorithm, and another set of patterns is presented. Mathematically speaking, an exact pattern match might not occur for many days of continuous operation. Of course, human perception is far less exacting and will discern repetition well ahead of these extremes, but the general effect is still impressive. Note that the starting patterns of the program will be different each time it is executed. If the program seems predictable, then exit it and start it over again. Program and all related documentation Copyright MicroTronics page 1 The July 1990 issue of "PsL News" (713-524-6394) described DAZZLE as: ...the best kaleidoscope program we've seen yet. The beautiful use of colors, enhanced even further by the use of fading in and out, is, for want of a better word, awesome. DAZZLE has received other good press reviews, and has been awarded "Best New Graphics Program for 1990" (Dec. 90 PsL News). Dazzle can be used in a variety of ways. At the office it keeps the screen from being burned by constant display of an unchanging prompt. Simply start the program when leaving your desk or answering the phone or otherwise diverted. One option is to start Dazzle from a keyboard locking program so that unauthorized access is prevented on your unattended computer until you return. In reception areas, at trade shows, in showrooms, in waiting rooms, in schools, in display windows, and other events where the desire is to attract attention; use a faster cycling mode of Dazzle to peak curiosity and draw visitors to your area. DAZZLE can be invoked from within your presentation software (see the "/S" command line option) for an extra touch of pizzazz. Dazzle can be used to aid relaxation. In its slower cycling VGA modes (where this program REALLY shines) it is often soothing and helps one to shift conscious attention from the cares of the day. When overwhelmed with problems or pressures, it is often true that shifting one's focus from an immediate concern allows the objectivity needed to enhance decision making and settle the nerves. Used with your favorite music, Dazzle can be highly entertaining and regenerating. DAZZLE is a performing art tool for the eyes. The MIDI control and full manual image control options have not yet been implemented (we plan to offer these to Registered Users only), but even in its current random play mode it is great "living" mobile art. Capture stills, record it on your VCR, use the images as backgrounds for your slide presentations, or play it live with your band. Applications are boundless. DAZE is a REDUCED size and functionality derivative of DAZZLE that is intended for use as a window icon, a pattern generator that can be called from programs with little memory to spare, or as a compact drawing function for use by your screen saver program. 2. SHAREWARE Please note that this program is NOT FREE. You are entitled to use it for evaluation over a short time to determine if it functions adequately for your needs, after which time a registration fee paid directly to MicroTronics is required by copyright law, and greatly appreciated. Any distribution or online fee paid by you to copy DAZZLE is usually not forwarded to MicroTronics by the distributor, and therefore would not constitute payment of a registration fee. Shareware is a brave concept in software marketing that allows you to "try before you buy." Shareware authors retain all rights under Program and all related documentation Copyright MicroTronics page 2 their copyright, but allow free distribution of their programs. Distributors of Shareware--including online BBS' and catalog outlets- -usually do not charge for the Shareware software itself. The distributors are charging for their own services in providing access to their resources. Registration payment directly to the author entitles the user to additional services, information, and newer products. It is a great deal for users, authors, and distributors alike. Please support this honor system marketing technique so that more great programs of increasingly professional quality can reasonably be provided via this system. 3. COMMAND LINE OPTIONS When you enter the command "DAZZLE -?" at the DOS prompt you will be presented with the following display. Usage: DAZZLE [- options] [/ options] [inputfile] -c = COMPATIBLE mode, use BIOS for better portability. -2 = 2 part palette update to fix flickering screens (slower). -n = NO retract of hard disk heads. -x = XT compatible, inferior but works. -k = Keyboard typematic unchanged. -h = Hide EGA border. -s = SHOW mode, quick single image. -e = EGA operation mode forced. -v = VGA operation mode forced. -t = TALL video aspect ratio mode. -f = FIXED colors instead of randomized. -a = ALTERNATE (faster) color cycling speed. -m = MAD (fastest) color cycling speed. -b = Bashful, no closing credits. -q = Quiet, no tones (no effect on beeps). -i = Insecure, no antiviral checking. During the display the "+" and "-" keys can be used to control color cycling speed. The TAB key will FREEZE the display till SPACE is pressed. F1 activates on-line help during the program. F2 provides a configuration menu. ESCAPE terminates the program. 3.1 Specifying Options The DAZZLE program accepts any combination of options on the initial command line that affect its mode of operation. The options can be preceded with either the "/" (slash) character or the "-" (minus) character. At least one space must exist between the DAZZLE command and the first option. For example: "DAZZLE -FN" instructs DAZZLE to execute with Fixed colors and No retract of the hard disk drive heads. The options are not case sensitive--upper and lower case letters are treated identically. The options can be concatenated into a single string (like: -FN), or can be entered separately (like: -F -N), the effect is the same. The optional inputfile can be specified anywhere on the command line. For example: "DAZZLE -I DAZZLE.DZL" has the same effect as "DAZZLE DAZZLE.DZL -I", which is to tell DAZZLE to startup in the insecure mode, and to load configuration file DAZZLE.DZL prior to starting the image generation process. The effects of each option are detailed below. Program and all related documentation Copyright MicroTronics page 3 3.2 Compatibility Options Seven of the options for DAZZLE are specifically related to increasing portability of the program to various computers and displays. The "c", "2", "n", "x", "k", "e", and "v" options default to the most desirable modes, but can be controlled by the user. VGA users also should refer to the "t" option for details. 3.2.1 /C = COMPATIBLE mode, use BIOS. Normally DAZZLE bypasses the video adapters BIOS code for maximum speed in color palette cycling. However, some adapters can have problems with this mode of operation. To cause DAZZLE to use the provided BIOS the "C" option can be used. If your display flickers or distorts, or the color fails to cycle smoothly during the display, then try this option to determine if it corrects the problem. As of Rev. 3.9g this option also affects the EGA operational mode. This was needed by some VGA adapters when DAZZLE was operated in the forced EGA mode. This option reduces program performance speed and should not be used if not needed. 3.2.2 /2 = 2 part palette update. Normally the entire color palette is updated at one time for each tick of the color cycling clock. If the CPU clock speed or the VGA palette register update rate is too slow, the upper part, or perhaps all of the display, will flicker badly during the display. To determine if this is due to palette updates, press and hold the "-" (minus) key during the running display until it beeps (this is the slowest cycling clock rate). If the display flickers only when the color changes, then palette update speed is a problem. Using the "2" option splits the VGA palette update request into two almost equal groups that are handled sequentially. This should remove, or at least significantly reduce, cycling induced flicker. This option should not be used if not needed, as it slows the entire display generation process. This option affects operation with VGA adapters only, since they allow longer 256 color palettes. Short 16 color palettes for EGA's are never divided into two separate updates. 3.2.3 /N = NO retract of hard disk heads. Since the DAZZLE display is often allowed to run for hours, the hard disk heads are normally parked into a safe power-down position as a precaution in case electrical power is lost, or the computer powered down while DAZZLE is active. This process has no effect on the image generation performance of DAZZLE, but if your drive controller is highly nonstandard it might cause DAZZLE to fail to start. Some disk drives make a really nasty sound when they are next accessed after they have been parked. While this is not an error, nor technically a cause for concern, it sure can upset someone not sure of what is happening. The user can issue this option to prevent any attempt to park the hard disk heads. 3.2.4 /X = XT compatible mode, inferior but works. This option should allow DAZZLE to execute on 8088 or 8086 based PC/XT type computers with EGA or VGA adaptors and color displays. This option will be automatically initiated if the 808x style CPU is detected at program startup, but specifying the command line option avoids the warning message. The EGA performance on XT computers seems acceptable, Program and all related documentation Copyright MicroTronics page 4 but the VGA mode may be noticeably inferior to the performance of an 80x86 based computer. The faster the CPU clock the better the overall performance and fluidity of DAZZLE. 3.2.5 /K = Keyboard typematic unchanged. Revision 4.1a contains enhancements to make the program largely immune to some "keyboard acceleration" utilities that exist. These utilities cause the self-repeating "typematic" function of the keyboard to function far more rapidly. They come in two flavors: * Those that tell the keyboard to send keys more often. * Those that trick DOS into thinking that more keys arrive than actually are sent by the keyboard. The latter of these types proved to be able to trash the keyboard interfacing of prior versions of DAZZLE because of their "slight of hand" tactics. This revision is now more able to withstand this attack. The former of these types is less of a problem, but is capable of drastically reducing the performance of DAZZLE on computers with slower CPU clocks. Without specifying this command line option, DAZZLE will set the "typematic" rate of the keyboard to it's minimum value for best program performance. When DAZZLE terminates it puts the "typematic" speed back to a value typical of most DOS defaults, unfortunately I am not aware of a way to test the setting before changing it. Those that use a keyboard speed-up utility that stops having an effect after DAZZLE has been executed have the first type of such a utility, which I believe is the better of the two. If you want the keys back to their quicker speed you can re-execute your speed-up command. If you find this unacceptable then use this command line option to force DAZZLE to keep from changing the "typematic" rate of the keyboard, if you must. The "/S" and the "/B" options automatically disable changing of the typematic rate. 3.3 Artistic Options These options adjust the image generating algorithms used by the program. They are largely artistic in nature but allow customizing the presentation to various environments and requirements. 3.3.1 /H = Hide EGA border. Some folks find the colored border on the EGA display distracting, and some displays do not perform retrace masking properly. This option will cause the border color in EGA modes to be forced to black at all times. 3.3.2 /S = SHOW mode, quick single image. This option gives a single panel of images and then terminates automatically. This is most useful when DAZZLE is to be executed from within other programs or batch files. As of revision 4.0 the image displayed is different each time. Program and all related documentation Copyright MicroTronics page 5 3.3.3 /E = EGA operation mode forced. Normally DAZZLE will automatically detect the video adapter hardware attached and adjust itself to use either the EGA or the VGA mode. This "/E" option allows VGA users to select and view the EGA mode of operation, which is 640x350x16 in format. As of revision 4.0 this option, like the "/V" option, will prevent DAZZLE from aborting if it thinks that it has detected an unacceptable video controller/monitor combination, though it will still give its usual error messages during startup. 3.3.4 /V = VGA operation mode forced. Normally DAZZLE will automatically detect the video adapter hardware attached and adjust itself to use either the EGA or the VGA mode. This option generally SHOULD NOT BE NECESSARY, OR USED. It should be unable to cause any damage, but is intended for rare compatibility conflicts where the startup code in DAZZLE falsely rejects the video controller/monitor combination as unacceptable. This option, like the "/E" option, will allow the error messages to be reported (so that you can write us of the problem), but will prevent the program from aborting itself. If the controller/monitor is really VGA compatible, or really EGA compatible if using the "/E" option, then normal image generation should be observed. Unlike the "/E" option, this option lacks artistic usage or impact. The VGA mode uses all 256 color palette registers for a far more subtle and interesting series of displays. NOTE: If VGA users wish to use an image capture type program to extract the display into a file, you should use either the "/E" option or the "/T" option, since these modes use standard BIOS supported video modes. The default VGA mode of DAZZLE uses a specially enhanced 320x400x256 mode that is not properly captured by most commercial products. Both VGA modes require no more than 256kB of video memory. 3.3.5 /T = TALL video aspect ratio mode. Normally the EGA mode of DAZZLE uses a 16 color 640x350 resolution display with a modified aspect ratio (screen is mapped as if it had 640x700 resolution). The default VGA mode uses 256 color 320x400 resolution. The "/T" option causes the program to use the standard BIOS supported screen resolution and aspect ratio in generating all images. The effect is slightly faster image generation, but with a noticeably tall aspect ratio. As of revision 4.0 this option is functional with the VGA display mode, and causes it to use the BIOS supported 320x200 video mode. This allows VGA images to be captured, or converted to NTSC television video images for recording on video tape. Note that due to VGA hardware limitations, using this option will prevent the display of "dual page" effects (where a screen composed of a different image than the one being displayed is "panned" or "scrolled" onto the visible display area). 3.3.6 /F = FIXED colors instead of randomized. Normally DAZZLE will randomize the color palette registers between each screen erase before starting the next image generation. This allows all the possible colors (up to a quarter million on VGA) to be used by the program. This option forces the palette to an identical state at all times. Program and all related documentation Copyright MicroTronics page 6 3.3.7 /A = ALTERNATE (faster) color cycling speed. The default color cycling mode is the slowest, with the most subtle shadings and transitions. This option increases the cycling rate used in shaping the palette contents. This effect is distinct from, but can complement, the "+" and "-" keys that can be used while the program is active. 3.3.8 /M = MAD (fastest) color cycling speed. This option not only greatly accelerates the color palette contents rotation, but it also increases the number of image primitives that can be displayed in "Auto" mode at one time before the screen is erased. The effect is a far busier screen, a more intense visual experience. This is particularly suited to attention-getting in showrooms and other public displays, whereas the default mode is more practical for personal meditation and relaxation. 3.4 Other Options 3.4.1 /B = Bashful, no closing credits. DAZZLE will identify itself, including its revision level, when the program is started. This opening identification will remain on the screen with a "Press any key" prompt until the user makes some key entry (or about 30 seconds pass). The BASHFUL option will allow DAZZLE to start after only a 2 second delay, without requiring an extra keystroke. This mode also will prevent closing credits when the program terminates (similar to the SHOW option), and additionally prevents DAZZLE from clearing the type-ahead keyboard buffer when it exits. This allows usage of DAZZLE in a more classical "Screen Saver" mode, since whatever key is pressed to exit is not lost. This mode disables ALL key interpretation of DAZZLE. Even the "+" and the "-" keys will cause DAZZLE to terminate. DAZZLE does not (yet) initiate itself in a "Screen Saver" fashion, but by using this option it can be called from such a utility. DAZZLE has been successfully used within MS/Windows386 (copyright MicroSoft), but use of this option will prevent window selection keystrokes. Use of the command line options "/IBN" with DAZZLE, or "/BN" with DAZE, will prevent any text or credits display and avoids the startup delay. 3.4.2 /Q = Quiet, no tones (no effect on beeps). This option will block the tones that DAZZLE emits at various points in its operations. But warning beeps are generally not restricted. As of revision 4.1, DAZZLE uses programmed tones for most alerts and signals that it issues. These tones are of short duration, and change pitch depending on the condition being signaled. With the increase in operational options these tones are very helpful in determining the state the program is in. The one place where these tones are superfluous is the tiny tune in the closing credits, but this tune can be aborted with any keypress. 3.4.3 /I = Insecure, no antiviral checking. Before starting the image display process DAZZLE will normally perform a test on the disk copy of itself in an attempt to assure that no unauthorized modifications ("hacks") have been made to the program after it was distributed from MicroTronics. This is a safety feature added for YOUR protection! Once you have used your copy of DAZZLE, after it has passed its antiviral test and you no longer wish to endure the Program and all related documentation Copyright MicroTronics page 7 delay at every invocation for this testing, you can use this command line option to bypass this safety feature. IF YOUR COPY OF DAZZLE FAILS THIS TEST, PLEASE NEVER USE THIS OPTION! INSTEAD WRITE TO US, AND TO THE SUPPLIER THAT GAVE YOU THE BAD COPY, AND LET US KNOW! A clean copy can be in your hands in a very short time, and might save your entire software investment. 3.5 Specifying the INPUTFILE As of revision 4.1, DAZZLE can accept the optional specification of an input file on the command line. This file must contain a text script that is consistent with the program's language specification. The specification of a path as well as a filename is acceptable. If the file cannot be found DAZZLE will abort. Be sure to separate the file name from options with at least one space. 4. ON-LINE HELP As of revision 4.1, DAZZLE now supports an on-line help menu system. You may press the "F1" function key to activate the help subsystem. This system is intentionally limited in size and scope to keep the program from growing too large, but it offers useful summaries of the newest and most pertinent features of DAZZLE. At this time the screen that was being displayed when help is activated is erased when help is exited. 4.1 Cursor Keys within HELP When within the help subsystem DAZZLE recognizes the various standard cursor keys. The "HOME" key jumps to the first page of help text. The "END" key jumps to the last page of help text. The "PgDn" key advances to the next page of help text, the "PgUp" returns to the previous page. The arrow keys also can be used. Note that the bottom right of the text window shows what page movement keys are valid at that point. 4.2 Exiting HELP The text menu subsystems, including the help system, can be exited by pressing the same key that invokes that subsystem. Thus to exit help press the "F1" key again. 5. PRIMARY DAZZLE MODES As of revision 4.1, DAZZLE now has two primary modes of operation. The original "Automatic" (a.k.a. "Auto") mode, which is fully self generating; and a new "Semi-Automatic" (a.k.a. "Semi-Auto") mode, which allows interactive control of the image generation process. Some keys are only effective in the "Semi-Automatic" mode, others are active at all times. Program and all related documentation Copyright MicroTronics page 8 5.1 Selecting Modes Selection between these two modes is done by pressing the "ALT" (Alternate) key and the "F9" function key. This combination is referred to as "Alt-F9" for short. At program startup DAZZLE is always in "Auto" mode. To enter "Semi-Auto" mode press "Alt-F9". There is a short high pitched tone. The display is cleared. The palette is reinitialized to a new setting. Then a short multi-tone chirp is emitted to indicate that "Semi-Auto" is ready for image drawing commands. To return to "Auto" mode press "Alt-F9". There is a short lower pitched tone. The display is cleared. The palette is reinitialized to a new setting. Then the self generating engine begins creating random image displays. 6. KEYS ACTIVE IN ALL MODES Some key commands that DAZZLE recognizes are active regardless of the current display mode. The meaning of some keys changes slightly depending on the current display mode. 6.1 ESCAPE : Program Termination There is an old adage, "The first and most important thing to learn about any program is how to get out of it." This key will do the job for you regardless of where you are in the program, just keep banging it till you get back to the DOS prompt. Note that when not in the various text menu screens, that "ENTER" also will terminate the program. 6.2 TAB : Freeze Image The "TAB" key can be pressed at any time to "freeze" the current image display. Once pressed, DAZZLE will remain in "freeze" mode until the "SPACE" key is pressed (the "n" key will also work since R4.1b). While in "freeze" mode, the "TAB" can be repeatedly pressed to toggle between color-cycling and color-static modes. The "Shift-F10" key can be used to change the palette of an image in "freeze" mode. This is most useful in stabilizing a specific display for image capture programs or screen photography. Even an image in the midst of a fade or pan can be put into "freeze" mode. This key is also active in the "Semi-Automatic" mode, though here its usefulness is limited to halting a fade in mid- execution. 6.3 "+" and "-" : Color Cycling Clock Adjustment The fluid changing of DAZZLE images is largely the result of a clock driven rotation of the display's color palette. The user can adjust the rate of this clock at any time by using the "-" (minus) key or the "+" (plus) key. Pressing "-" reduces the clock rate, pressing "+" increases the clock rate. Note that DAZZLE defaults to maximum speed in VGA modes, and almost maximum rate in EGA modes. When either the maximum or the minimum clock rate is reached the console emits a short tone. Program and all related documentation Copyright MicroTronics page 9 This process is distinct from, yet can complement, the palette control command line options. 6.4 Shf-F10 : Reinitialize the Color Palette Pressing the "SHIFT" key and also the "F10" function key simultaneously, called "Shf-F10" for short, causes the current color palette of the display to be reinitialized to a new random condition. There is a short tone at the start of the request, and another tone when the process is completed. In EGA modes the process is almost instantaneous, in VGA modes it can take up to a few seconds. 6.5 The Fade Control keys DAZZLE allows the user to select which fades will be used. The actions of these keys vary slightly depending on the current mode. In "Auto" mode, pressing one of the fade keys sets which fade will be used next but allows the normal image generation process to continue. In the "Semi-Automatic" mode the fade keys induce the selected fade immediately. 6.5.1 W : Wipe (curtain) fade Vertical or horizontal curtain wipe. Sometimes in color, sometimes to black. 6.5.2 L : Linewipe fade This selects a straight line drawing algorithm that uses random deltas on the X and Y coordinates to produce some really interesting and convoluted weavings of lines. This pattern can come up in unsymmetric mode--a single row of lines moving around--or in four sided or eight sided symmetry. Like many fades, it can be in solid color mode, or may come up in exclusive-OR mode. This latter mode moves a "ghost" of the image through the display, and creates complex mosaic texturing. The modes that will be used at any time are randomly selected. 6.5.3 X : heXagon fade I took this one from a game program I've been working on forever. It is a basic six sided shape that burst from the center of the screen. Some of its sides are transparent, some are solid. This fade can use the exclusive-OR mode, which can be really pleasing. 6.5.4 S : Starburst fade This one was a direct result of watching "Star Trek: The Next Generation" (copyright Paramount) one too many times. The stars in the burst can have long or short tails. This fade will sometimes be invoked by the Hexagon fade, just cause I thought they looked nice together. Program and all related documentation Copyright MicroTronics page 10 6.5.5 R : Rectangles fade This selects a series of rectangles that are rotated on an axis in the center of the screen. The rectangles grow as they spin. 6.5.6 E : Exclusive-OR fade While some other fades, and most image generating algorithms, can use the exclusive-OR technique (a computer term for a mathematical process, don't fret if it's greek to you) to produce "ghost" or mosaic images; this fade does this every time. It just builds a rectangle around the virtual screen in memory and moves it into the center of the screen. Note that many shapes within the effected area have the direction of their color motion reversed when this effect passes over them. 6.6 Special Fade Control keys The following behave a little differently, so I set them aside for special discussion. 6.6.1 P : Pan/Scroll fade Unlike the previous fade keys, this one has to be pressed at a certain time to have any effect in the "Automatic" mode. When DAZZLE is drawing in "Auto" mode it is in the "Auto Daze" state. Once the last image has been drawn it switches to the "Fade Out" state. The first thing this latter state usually does is just pause for a while so that you can appreciate the incredible beauty of the display. The "P" key is only recognized in "Auto" mode if pressed while still in the "Auto Daze" state. Once the last image has been drawn and the pause delay starts the key will simply be ignored. In the "Semi-Automatic" mode this key won't induce a Pan/Scroll. Since that effect is not supported in the "Semi-Auto" mode, pressing "P" causes one of the other fades to be randomly selected and executed immediately. 6.6.2 H : Hold current display This is distinct from, yet similar to, the "freeze" command that is called with the "TAB" key. This key is simply ignored in the "Semi- Auto" mode. In the "Auto" mode it lets the "Auto Daze" (refer to Pan/Scroll description) state continue to normal completion, and will even let a Pan/Scroll proceed normally if one happens to have been selected by the "Fade Out" state. But it causes the "Fade Out" state to jam in the pause delay mode forever. Here the program will wait until you manually select a fade. Note that the fade that you select will commence immediately. Program and all related documentation Copyright MicroTronics page 11 6.6.3 N : Next display now This key has been made immediately effective in all modes. It stops any current image generation or fade, and begins a screen clear process. 6.7 Mouse Clicks As of revision 4.0c DAZZLE will test for the presence of a MicroSoft compatible Mouse driver. If any mouse button is pressed (or if the screen is contacted when using a Touch Screen system that is MicroSoft Mouse compatible) DAZZLE will usually interpret that action as being the same as pressing the "ENTER" key. Note that in the text menu subsystem of this current version a mouse click aborts the program. 7. KEYS ACTIVE IN "SEMI-AUTO" MODE As of revision 4.1, DAZZLE supports a whole set of commands to allow the user to control the image generation process of the program. Refer to "Selecting Modes" above for details on accessing the "Semi- Automatic" mode. Note that configuration options that disable a fade cause that fade to be unavailable in the "Semi-Auto" mode also. In addition to the keys described in the "KEYS ACTIVE IN ALL MODES" section above, the following keys can be used while in the "Semi-Auto" mode. 7.1 F8 : Toggle continuous drawing mode This key is similar to the F10 Draw Current Image key, except that "F8" will draw the selected image continuously until the next press of the "F8" key. All other keys maintain their normal function even while the continuous drawing mode is active. This mode is switched off when you exit 'Semi-Automatic' operation, but remains active through a fade or menu access. Review the section below with the F10 key description for more details. 7.2 F9 : Select Random Image If the user wishes to let DAZZLE randomly select the next image generating algorithm to be drawn then press the "F9" function key. It selects another image each time it is pressed. Note that specific images can be selected as detailed below. 7.3 F10 : Draw Current Image Once an image algorithm has been selected by whatever means, the "F10" key is pressed to draw that image. The image will be drawn for as long as you hold down this key. You may release the key, and when you press it again it will simply resume where it left off if you have not pressed another key. It is suggested that you start an image with just a tap of this key, note what it is doing, and then decide how long you wish to hold it. Since there are no limits on image generation time with this key, you can let a really interesting pattern grow continuously, producing visual effects that "Auto" mode will never duplicate. This key will remember the image being played even if you perform a "fade". So if a great image gets too busy, you can "fade" it and press "F10" again and Program and all related documentation Copyright MicroTronics page 12 pick up where you left off. Due to the behavior of the "typematic" key repeat built into the keyboard controller, it is possible for DAZZLE to get confused about when you release the "F10" key. If this happens then the selected image will continue drawing after you release this key. Just a quick tap of this key again will bring it to a halt. 7.4 Alt-F10 : Reinitialize Current Algorithm This key allows the continued use of the same currently selected image algorithm. But it causes the image algorithm to be reinitialized to new random settings. This is most useful for changing between various modes of the same algorithm. Some images support use of exclusive-OR for "ghosting" or mosaic texturing, some can change shape, most will change color and screen location when this is pressed. 7.5 Specific Image Selection Keys It is possible to specify exactly which image algorithm you wish DAZZLE to use by pressing one of the Alt-keys 0 thru 9, or A thru Z. Press the "Alt" key, and a letter key or number key (use the numbers along the top of the keyboard, not the ones over on the side calculator pad). Each represents a specific image selection. The "Image Size" display in the "Configuration" menu list the name of each algorithm, and the Alt-key that can be used to select that image. 8. CONFIGURATION As of revision 4.1, DAZZLE allows the user to customize some of the characteristics of the image generation and fade actions. At any time you may press the "F2" function key to activate the configuration menu subsystem. This system is currently a bit limited in its range, but it offers useful enhancements and controls. 8.1 Cursor Keys within CONFIGURE When within the configure subsystem DAZZLE recognizes the various standard cursor keys. The "HOME" key jumps to the first entry field of the current screen. The "END" key jumps to the last entry field of the current screen. The "PgDn" key advances to the next screen, the "PgUp" returns to the previous screen. The arrow keys also can be used. Note that the bottom right of the text window shows what page movement keys are valid at that point. 8.2 Exiting CONFIGURE The text menu subsystems, including the configure system, can be exited by pressing the same key that invokes that subsystem. Thus to exit configure press the "F2" key again. Program and all related documentation Copyright MicroTronics page 13 8.3 Image Size Control This screen allows the user to customize the images generated in the "Auto" mode of DAZZLE. When an image is called, it is allowed to draw on the display for a variable amount of time, the duration of which centers around the number entered in this menu. This number is multiplied by an internal value that reflects the size of the display and the resolution of the current active video mode. Therefore these numbers are relative and not absolute in their impact. Since the screen resolution varies from EGA to VGA, it is also true that the maximum value that can be entered changes between video modes. You may enter any large number, DAZZLE will reduce your input to the legal range for the current mode. The minimum value is 1. As this number is increased the selected image is allowed to draw longer, producing either larger patterns, more patterns, and/or a greater variety of pattern variations. The "KEY" field shows which Alt-key (refer to "Specific Image Selection Keys" above) will select that specific image drawing algorithm. The "NAME" field shows the internal name of that image. The "SIZE" field shows the current relative size limit for that image. 8.4 Fade Enable Control This screen allows the user to selectively enable or disable specific fades. If disabled, the fade will be unavailable in either "Auto" or "Semi-Automatic" modes. If the user presses a fade command key (refer to "The Fade Control Keys" above) for a fade that has been disabled then DAZZLE will randomly select an enabled fade to execute. The "KEY" field shows which key (without the "Alt", "Ctrl", or "Shift" keys being used) will select that specific fade algorithm. The "FADE" field shows the internal name of that fade. The "ENABLE" field shows the current state for that fade. 8.5 File Access Menu This screen allows the user to save or load a DAZZLE configuration file. There are three entry fields on this screen. Two additional function keys are also recognized only when viewing this screen. 8.5.1 Select Mode At this entry the user can select either to "Save" the current configuration information, or to "Load" an existing file. Press either the "S" key or the "L" key, then "ENTER". Program and all related documentation Copyright MicroTronics page 14 8.5.2 File Name At this entry the user can specify the file to be saved or loaded. Note that a default name is provided if one was not used at program invocation. To replace the name simply begin typing it in, and press "ENTER" when completed. Beneath this field is an unmarked "File Status" field. If you attempt to load a nonexistent file this will show "NOT FOUND". If you try to save over an existing file this will show "EXIST", unless the file is protected from overwriting, in which case it will show "READ ONLY". If you specify a wildcard character ("*" or "?") within this entry, then DAZZLE will automatically invoke a directory list to aid in your selection process. 8.5.3 Path The current disk and directory path is displayed in this field. You may specify any variation of disk and path information that DOS would normally support. Each of the following are legal: .. (changes to previous directory) C: (changes to C drive) \MT (to MT directory on current disk) D:\ (to root directory on D drive) 8.5.4 F3 : View Disk Directory Pressing the "F3" function key invokes the disk directory display. Note that if you have begun an entry in any of the menu's fields you must press "ENTER" before this key can take effect. Once a disk directory is displayed you may use the various cursor keys to move around. Arrow keys work, and the "HOME" key jumps to the top of the display, the "END" key jumps to the bottom. The "PgUp" and "PgDn" keys can be used to move about more quickly. Press "ENTER" to select a specific file, or "F3" again to exit this display. If you select a field that ends with a "\" (backslash) character, you are selecting a directory, and the display will be updated to reflect the contents of this new default path. The path field in the File Access Menu also will be updated to this new path. File names displayed in lower case letters are "Read Only". 8.5.5 F4 : Execute Save/Load Once the desired file has been specified, the "F4" function key can be pressed to execute the specified command. Upon successful completion the File Access Menu will be exited. Program and all related documentation Copyright MicroTronics page 15 9. CONFIGURATION FILE FORMAT The file that is used by DAZZLE is an editable text file that follows a simple format. Each entry in the file must be on a separate line, and consist of a "Key ID" and a "Configuration Value". It is suggested that the user invoke DAZZLE in it's default mode, use the File Access Menu to "Save" a copy of the program's configuration. That file should then be printed. With DAZZLE in the Configuration Menu mode, a printout of the configuration file, and a copy of this document in hand, the whole process should prove to be very clear. 9.1 Shift Key Tokens A token in DAZZLE is a character that represents a condition. In order to represent within the configuration file the condition of the three shift keys--Alternate, Control, Shift--a group of tokens have been assigned as follows: Alternate = ~ (Tilde character) Control = ^ (Caret character) Shift = ` (grave or backwards-quote character) Thus to specify the Alt-A key, the file entry would be "~A". To specify the Shift-F key, the file entry would be "`F". Note that version 4.1 of DAZZLE only uses the Alt-key in this file, others are for future expansion and enhancements. 9.2 Key ID A "Key ID" entry in the file consist of the key to be designated, with an optional shift key token prefix. Refer to Shift Key Tokens above for examples. 9.3 Configuration Value The value to be specified must be surrounded in square brackets; "[" and "]". If the value is for an Image Size entry, then the use of an unsigned integer value is required. Unsigned meaning no "+" or "-" values. Integer meaning no fractions, decimal points, or exponents. Therefore legal values are: "[25]" or "[0001]" or "[ 99 ]". Illegal values would include: "[-1]" or " 25]" or "[14.5]". If the value is for a fade entry, then the use of either a "Y" or an "N" character is required: "[Y]" or "[N]". 9.4 Comment Lines While reading (parsing) any line of text in the file, when a ";" (semicolon) is encountered DAZZLE stops reading that line. This allows the liberal insertion of various comments within the file. DAZZLE is very casual about parsing this file. It tolerates extra space and tab characters, so you can generally make the file look any way you like. Program and all related documentation Copyright MicroTronics page 16 9.5 Version Flag The first non-comment line in the file should be the version flag. It consists of a "#" (hash) character followed by an unsigned integer of the DAZZLE version of the creating program. This is intended for future compatibility between upgrades and should not be changed. 10. PROGRAM INTEGRITY All reasonable effort has been made to assure that the use of this program on any compatible computer system can have no detrimental side effects. In addition to extensive Quality Assurance testing, the DAZZLE program contains an internal integrity check (read the section on the "/I" command line option above). If someone makes any code modifications to this program, it probably will be detected and the program will refuse to execute. Any such persons will be aggressively pursued and prosecuted. As of revision 4.0 the antiviral system uses CRC checking instead of the previous checksum algorithm. 11. PROGRAMMERS COMMENTS DAZZLE is written mostly in Turbo C 2.0 (copyright Borland), though of late I have been in transition to Turbo C++ 1.0. Assembler code was used mostly due to two characteristics of DAZZLE: all image generation is done a single pixel at a time, thus video write mode 2 was needed for EGA speed; secondly, the VGA mode uses the not-so-standard but highly portable 320x400 mode instead of the normal BIOS supported 320x200 mode. 12. LEGALESE All commercial rights to this program are retained by the Author, but revenue derived from the images captured or photographed from DAZZLE or DAZE are free from any royalty, fee, or other claims by the Author of DAZZLE. The executable form of the program is released as a ShareWare product. Please note that this program is NOT FREE. You are entitled to use it for evaluation over a short time to determine if it functions adequately for your needs, after which time a registration fee is required by copyright law. The user or possessor of the DAZZLE program will in all cases hold MicroTronics and it's related entities harmless from all claims, liability and damages arising from the use of this product, or its unfitness for any specific purpose. Program and all related documentation Copyright MicroTronics page 17 13. DAZZLE Distribution Authorization The enclosed DAZZLE program is hereby offered for your use and distribution as a ShareWare product. Anyone wishing to charge people a fee for giving them a copy of DAZZLE must sign and return this form to MicroTronics, or will be in violation of copyright restrictions. If you wish to receive automatic upgrade releases then submit $15 payable to MicroTronics. Distributors recognized by the Association of Shareware Professionals may discount this cost by 50%. Name of Organization : _________________________________________________ Your Name : ____________________________________________________________ Address : ____________________________________________________________ ____________________________________________________________ ____________________________________________________________ TERMS OF DISTRIBUTION OF DAZZLE: 1. The fee charged may not exceed $7, including postage, mailer and any other charges. 2. Your library's catalog or listing must state that this program is not free, but is copyrighted software that is provided to allow the user to evaluate it before paying. 3. The offering and sale of DAZZLE will be stopped at any time the author so requests. 4. Copies must be made from the copy of DAZZLE sent to you directly from MicroTronics. The program and its documentation files must be supplied in their entirety, without modification, truncation, or omission. 5. Problems or complaints will be reported to the author for resolution. In return for the right to charge a fee for the distribution of the program DAZZLE, I agree to comply with the above terms of distribution. Signed, ___________________________________________ your signature Date Program and all related documentation Copyright MicroTronics page 18 14. EPILOGUE This program may be distributed complete, and as is, AT NO CHARGE (excluding reasonable duplication cost). All commercial rights retained by the author. This program must not be altered in any way, and is offered as is without warranty. The only assurance to the user is that all reasonable effort has been made to confirm that this program as released will produce no undesirable or damaging effects on the executing computer. This product consists of 3 files: DAZZLE.EXE DAZZLE.DOC OVERVIEW.DOC The file DAZE.EXE may optionally be included. Comments and inquires about updates and other products are welcome. Source can be purchased for some products. $15.00 ($20US overseas) registration payable to MicroTronics earns a free update and puts you on our mailing list. Be sure to mention this programs revision level when you write. Mailing address (1990,91): CompuServe [76236,1573] J.R.Shiflett's Midnight Visions Workshop c/o MicroTronics 503 Shenandoah Drive Spring, Tx USA 77381 Program and all related documentation Copyright MicroTronics page 19