Translator's Note: This is a first draft and has not been edited; it may contain errors. Neither I nor the Miami Valley Atari Computer Enthusiasts will assume responsibility for any loss of income, hardware, or software which you may think resulted from the use of Crack Art. The risk is yours. I have tried to follow the spirit of the German text, but having no color monitor, I have not been able to check my work. In some places I had to guess at what the authors meant. Nonetheless, the description shows this to be a very powerful drawing program, equal to those from the Mac or DOS camps costing hundreds of dollars. Please note that most of the comments inside [square brackets] are my comments, and were not in the original docs. Translastion Copyright 1992 by Kervyn D. Mach and the Miami Valley Atari Computer Enthusiasts, Inc. Permission to copy and distribute is given as long as this notice remains with the document. Commercial sale of this translation is forbidden. Miami Valley Atari Computer Enthusiasts P.O. Box. 24221 Dayton, Ohio, USA 45424 $3.00 For Disk Library Listing ******************************************************************** Forward to CRACK ART ________________________________________________________________ CRACK ART is, after long delay, now shareware and may not be sold commercially. The program may be further copied only together with this introduction. If you use it a lot, or just feel like it, send us DM20 (no play money, please) [about $13.33 US in Feb '92 - ed] The source code for CRACK ART consists of: - 13080 lines of GFA Basic - 148 principal assembler routines (compressed, about 1.5MBytes) The graphics claim about 134 kBytes. Programmers interested in the GFA source code can get it complete (including assembler INLINES and graphics) for about 0.5734 Pfennig per line [one third of a cent per line]. That would be then a ridiculous 75 marks [$50.00]. Therefore, laugh and cough up. The programmers accept no liability for possible damage to hard- or software resulting from the use of CRACK ART. (Since we've had not one problem in three years, we don't think you'll be the first.) It goes without saying that you should first of all make a tenpack of backup copies [also if you prefer sixpacks]. We had originally planned on a commercial enterprise through a firm whose name sounds like that of a classic 3D game in which a spaceship flies diagonally through the cosmos. Though their proposal sounded generous and had us thinking of huge profits, we were in the end outmaneuvered. Though we'd get DM 2.50 per unit sold (which we'd have to split) immediately, we hope that the shareware route will lead to surer (hard earned) money. Horn Blowing: The history of CRACK ART is quite amusing for those involved, probably more so for those who have run into the program or who know us. From the authors (early 1990) Jan 'Jaybee' Borchers ----------------------------------------------------------------- It all started with a Holsten... No...and...yes... It all started with the old Atari 800. As Atari then introduced its new XL series, I traded for a 600XL, later for an 800XL, which after a short time was traded in toward a pool table. Suddenly in 1987 an Atari 1040 STF stood on my 2.65 meter [8'9"] wide computer table. An Atari 520 ST was added to enable faster programming and test runs. (Networking research has unfortunately remained just that.). The 520 ST was soon sold again and in the meantime the 1040 grew to have little in common with the purchased item (PC case with two drives, modem, switchable operating system, built-in video digitizer, sound sampler, MHz indicator and NMI interrupt. The stereo and the sound distorter were taken back out.) Had you noticed? I'm a hardware hacker. Next is my TT8 (crappy sound from the internal speaker). Back to CRACK ART. Why the name? There is a diskette monitor by the name of CRACK, which, not yet full fledged, was designed for hacking about in every data Babel one could find on a disk. After we put this project on ice and decided on a pixel oriented drawing program to fulfill the same demands, we kind of adopted the name. To account for the artistic part, we tacked on the ART. The name was there; all we needed was the software. Detlef "Roy" Roettger ----------------------------------------------------------------- I had my first contact with computers when a classmate showed me his newest acquisition. I don't remember its name any more. Anyway, he soon traded it toward an Atari 400 (Price at that time about DM 1250 [$833 at today's rate of exchange]). With this computer, astounding things were possible and my interest grew. Later I bought myself an Atari 800XL. Shortly before I started college, I blew my savings on an Atari 260ST, which I still have, along with the 800XL, by the way. After experiencing various painting, drawing, and construction programs, we wanted to develop our own program, which would be superior to other programs in speed and especially in ease of use. That brought Alex, at the time an Information Sciences student in Erlangen, to the careless statement that this project, too, would be broken off before it was finished (sadly, it has happened). ................... CRACK ART grew and grew, becoming a goal in itself as we implemented more and more new ideas. Existence to everything - no program without its own picture format. The depackers and packers for the various graphic programs were so numerous that the idea for a pack algorithm of our own grew and grew. Therefore, files with the CA1 extension are low resolution pictures, with CA2 and CA3 being medium and high re solution pictures respectively. Thanks to certain tricks, the packer compresses very effectively. We know of no other graphics program that compresses its own files more effectively than CRACK ART. (Except for a new one of mine, in which the menu graphics were written. It uses the LZW packing algorithm.) Additional Comments (May 1991) ---------------------------------------------------- Jan now owns a TT. And guess what. Despite "incompatible" (Hey Julian!) programming methods, CRACK ART runs on it as well!!! Because we wrote most of the routines in assembler, the faster processor with the mind blowing speed has no trouble at all. CRACK ART Handbook 1.00 TT+ Copyright Detlef Roettger and Jan Borchers --------------------------------------------------------------- --------------------------------------------------------------- CRACK ART runs on every Atari ST/TT with at least 1 MB memory, TOS in ROM, and color monitor. We recommend at least 1.5 MB. The STE was not tested, but should have no problems. The Handbook ----------------------------- We have tried to make the handbook as thorough as possible, though it is really easier to show the operation to someone than to describe it in hairsplitting detail (One picture says more than a thousand words). Should a function seem unbelievably complicated at the first reading, you're probably right, but in practice it will prove to be simple and useful. Therefore, you should try each function as you read about it, on line as it were (assuming you have printed this out or own two computers). With this program, you have a powerful tool for producing and modifying graphics in ST low resolution. We've had great fun with the development and we wouldn't like to be without the program. We believe that you will see that when you use the program and moreover that opportunities for creating useful programs are not yet gone. We hope the explanations in this handbook are not too dry. We have strewn numerous small examples (and occasional wacky comments from Jan...) liberally in the text. These should clarify the operation of the program and lead the user through the tiny details. For those in a hurry, there is a list of keyboard commands for the elementary operations at the end of this handbook. These alone, however, won't clarify most functions. After that is an appendix with the HAVE YOU EVER SEEN...? details of the program. On the Construction of the Menus ------------------------------------------------- The various functions are represented on the menu by colored icons. You will immediately distinguish five groups: -Icons for the elementary drawing functions (in shades of gray) -Icons for block operations (multicolored) -Icons for disk operations (disk icon) -Icons for choice of screen (numbered in sequence) -Icons for special functions (strange) Functions are selected with the left mouse button. Some drawing functions allow specification of parameters after a double click. The right mouse button togg les between the menu and the drawing screen(s). Exit the program by clicking on the desktop icon in the lower right corner. If all drawing screens are empty, the program simply quits. Otherwise, it enumerates the occupied screens and gives you the opportunity to save or abandon them. Date and time are easy to set; the day of the week is then automatically calculated. The displayed time changes only when you click on a menu selection. (Mor e about this later.) General Overview of Alert- and Dialog Boxes. --------------------------------------------------------------- Alert Boxes -------------------- The alert boxes used in CRACK ART were entirely developed by us so there would be no breaks in the appearance of the menus. Their function is easily explained . All alert boxes contain up to ten lines of text and as many buttons as necessary in the bottom row. Default selections are ringed with red and can be sele cted with RETURN. Otherwise, make your choice with the left mouse button. All buttons have exit status. Dialog Boxes --------------------- The dialog boxes are somewhat more flexible in construction than the alert boxes. The first line of text names the function of the alert box, after which usu ally folow several lines denoting a function and buttons to activate them. The last line always consists of the buttons 'OK' and 'CANCEL.' Currently active functions are ringed with red. Parameters can be changed any way you wish. They will take effect only after you leave the box by clicking on OK and the next time you call the dialog box, your last inputs will show as current, i.e. ringed in red. If you click on CANCEL, the old values remain. File Select Box ---------------------- See under Disk Operations. Menu Icons ----------------------- -MENU SETS- --------------------------- The very first button in the menu allows global parameters to be set. Parameter: Bootvirus Test: On Off Double Click: Slow Normal Fast Mouse Form: Shaded Normal Stripes Mouse Color: Red Yellow Green Blue Mouse Shadow: On Off Menu Frames: Red Yellow Green Blue When SAVE SETTINGS is selected, these parameters are saved in a file called CRACKART.INF. The next time you load CRACK ART, they will be automatically set. ----------------------------------------------------------------- - WORK SETS - ----------------------------------------------------------------- So far, only three parameters may be set here. Parameter: Preview Zoom: On Off Zoom Grid: On Off Colors: Neochrome Cube Preview Zoom toggles the real time loupe between the function keys and the shifted function keys. Zoom Grid determines whether a pixel splitting raster is act ive in the loupe. Colors alters the format of the color selection after a double click on a color in the color menu (which also see). ----------------------------------------------------------------- - ASM - ----------------------------------------------------------------- Should somehow you want a function we haven't built in already, you can hang one of your own, up to 5000 bytes, here. From the stack, the routine will get the address of the working screen, the address of its color palette,and the addresses of three additional screens you can use as working storage. Be very carefu l not to exceed 32000 bytes per screen, or the program will probably crash. An example follows: ;-Example------------------------------- .TEXT ; Save registers before proceeding. movem.l d1-d7/a0-a6,-(sp) ;These addresses are on the stack and can be fetched like so. (Caution! When using this simple method in subroutines, pay attention, because the offsets are adjusted by the return address) move.l 60(sp),a0 ; Address of the current screen move.l 64(sp),a1 ; Address of the color palette (16 words) move.l 68(sp),a2 ; Address of the first workscreen move.l 72(sp),a3 ; Address of the second workscreen move.l 76(sp),a4 ; Address of the third workscreen ; Or you can replace the preceding five lines with ; movem.l 60(sp),a0-a4 ;Your routine starts here . . .; And ends here ;Before returning, restore the registers movem.l (sp)+,d1-d7/a0-a6 rts .DATA .EVEN ; Within the 5000 Bytes some storage is available label_1: .DC.W ... ... label_n:.DC.W ... .END; The routine must be written completely PC relative and, naturally can't contain a Block Storage Segment (.BSS). Assemble as a .PRG. If you haven't mastered Assembler, forget the whole thing here and now. If you're a C professional (I hate C! - Jan) [Me too! - ed], you might try that. Additionally, you can use the Physbase as working storage. On return from your routine, the menu is redrawn. Drawing Functions: --------------------------------------------------------------- +* Draw D = Freehand drawing + Eraser E = Eraser + Point P = Single points + Line L = Draw single line +* K-Line K = Polyline + Rays R = Rays + Frame F = Rectangle +* Circle C = Circle and Ellipse * Airbrush A = Spray can +* Box X = Filled rectangle +* Disc Y = Filled Circles and Ellipses +* Polygon W = Filled polygon * Spline I = Two different spline algorithms and one curve routine * Smear S = Smear pixels on the screen * Outline O = Add borders to Lines and areas + Fill Z = Fill a screen region * Mirror M = Draw with symmetry axes * Text T = Put text on the screen The functions marked with a plus sign work also with blocks. The block then serves as a paintbrush, or for functions that operate on surfaces, as a fill pattern using the current pattern (See also Color Menu). The functions marked with an asterisk control parameters which can be changed after double clicking on the icon. The letter after the function name is the keyboard equivalent of the menu icon. A colored border around the icon shows that it has been selected. The permissible MIRRORed drawing operations are automatically recognized and corrected if necessary. Drawing functions which require several operations are cancelled or ended with the right mouse button. The Drawing Functions: --------------------------------- -DRAW- ---------------------------------- Freehand drawing with the mouse button down. Brush or Block. Parameters: Tint: Opaque Scrape Source: 1 2 3 4 5 6 7 8 9 When Opaque is selected, you can't see through the drawn lines. With Scrape you scratch through the background of the screen selected via Source. This function is especially handy for trimming blocks whose edges were not neatly cut out. Limitations: You can't draw polylines with Opaque in block mode. Hint: Use slow mouse movements. Scrape works only pointwise and not with Block. Scrape large areas with BOX (which see). -POINT- --------------------------- Set single points. Brush or Block Point, in conjunction with the SHIFT and CONTROL keys, turns on special functions. SHIFT: The block is copied behind the current picture. CONTROL: The block is copied onto the current picture and the part of the picture that was covered up becomes the new block. With this, arbitrarily complicated blocks (especially in OBJECT mode) can be brought onto a picture. Try it once! -LINE- ---------------------- Draw lines by specifying the end points. Brush or Block -K-LINE- -------------------- Draw arbitrarily long chains of connected straight lines or regular polygons. End a line chain with the right mouse button. On completion of a polygon, the mouse is set in the center so that you can draw concentric polygons without having to mark the center point. Brush or block. Parameters: Mode: Free Regular Edges: 3 4 5 6 7 8 9 Limitations: - Blocks can't be used with regular polygons. - FRAME - --------------------- Draw squares by marking two corners with the mouse. Brush or block. - CIRCLE - ------------------------ Draw circles and ellipses. On completion of a circle, the mouse is set at the center so you can draw concentric circles [or ellipses? -ed] without having to locate the center point. Brush or block. Parameters: Mode: Center 2-Point 3-Point In center mode, circles and ellipses are specified with the center point and the radius or two semiaxes. To get true circles, hold down the ALTERNATE key while drawing. In 2-Point mode, you mark two points which are taken as the ends of a diameter and the circle is drawn between them. In 3-Point mode, you specify three points [not in a straight line] and a circle is fit to them. Limitations: CIRCLE works in Center mode only with the block. - ERASER - -------------------------- Brush: Mark the size of your eraser with a rectangle. With it, you can wipe the screen clean, except for the frame of the rectangle itself. Resize the rectangle by pressing the right mouse button. Block: The block is your eraser. The form of the block comes from the block mode (which see). - AIRBRUSH - ------------------------------ Spray can Parameters: Form: Flat Center - Uniform density across the spray or heavier in the middle Flow: Low Medium High Rate of flow Before spraying, set the spray size with a circle. Limitations: Works only with Brush. - RAYS - ---------------- Draw lines with a common start point. Brush or block. - POLYGON - ------------------------ Draw filled polygons, regular or no. Use the right mouse button when drawing irregular polygons. Brush: The polygon will be filled with the current background pattern. Block: The polygon will be filled with the background associated with the block. Limitations: Not more than 128 sides, please. - BOX - -------------------- Draw a filled rectangle or carry out a special function inside a rectangular region. Set two corner points of the rectangle with the mouse. Parameters: Tint: Opaque Scrape Glass Effects Source 1 2 3 4 5 6 7 8 9 Opaque: Brush: The rectangle will be filled with the current background pattern. Block: The rectangle will be filled with the background pattern associated with the block. (Try a checkerboard pattern and a multi-colored block.) Scrape: A rectangular region will be 'scraped' out of the screen specified by Source and the colors will be adjusted simultaneously. Glass: The current color will be applied transparently over the rectangle. (Good for multiple levels of a color.) Effects: An effect routine will be applied over the rectangle. The effects are specified in Source: 1 = ANTI 4 5 = EROSION 2 = ANTI 8 6 = MEDIAN - 3 = ROUND 7 = MEDIAN 4 = CONTRAST 8 = MEDIAN + 9 = DILATATION Limitations: With a block, only opaque mode is available. - DISC - ------------------ Draw filled circles or ellipses. Brush or block. Parameters: Mode: Center 2-Point 3-Point Same as CIRCLE, above. In brush mode, the current background is the fill pattern, while block mode uses the pattern associated with the block. - TEXT - ------------------ Add lines of text with either standard or a user-defined font. Specify the standard font's parameters in the Color menu (which see). Further Parameters: User-defined fonts may be no more than 32x32 pixels in 16 colors. CAUTION: User-defined fonts are always loaded on the current screen! Settings: Width - of the character Height - of the character Distance - between two characters in proportional spacing. Screen - which one do you want the font on? Save Parameters: A file with the name of the current screen and the extension DEF will be written with the current parameters. When a picture in the format C A1, IC1, PI1, or PC1 is loaded, a matching DEF file will be sought, and if found, read. To load SIGNUM! editor fonts: The characters are 16x24 pixels and are always in color #15. (Can be changed with EXCHANGE in the color menu.) These values will be automatically set. Distance is set to 1. In the color menu, EXTRA and PROP are chosen in order to be able to work with the fonts immediately. To load editor FNT fonts (TEMPUS, EDIMAX, DEGAS...) Up to 8x16 pixels, the above holds. - OUTLINE - ---------------------------- Put a colored border around an area. Select the area and/or the color with the mouse. Parameters: Form: Round Square - Mark the corners of the border. Part: Local Global - Put a border around only this area or around all areas of the same color on the screen. Mode: Initial All Put a border around only the selected color or bring all neighboring colors into the area. Type: Stay Grow - The bounded area remains or is wiped out. Limitations: Works only on the background color. - FILL - --------------------- Fill areas (Flood Fill). Brush: The current background pattern is the fill pattern. Block: The background pattern connected to the block is used. - SMEAR - ------------------- Wiping of pixels. Parameters: Flow: Low Medium High - Flow velocity of the smear function. Size: 02 04 08 16 - Edge length of the smearing rectangle in pixels. Limitations: Works only in Brush mode. - MIRROR - -------------------- Reflection about axes of symmetry. Parameters: Mirror Mode: Horizontal - Reflection about the horizontal axis of symmetry. Vertical - Reflection about the vertical axis of symmetry. Both - Simultaneous reflection about both axes Limitations: Doesn't work with ERASER, AIRBRUSH, TEXT, OUTLINE, FILL, SMEAR, SPLINE Should one of these functions be active when MIRROR is selected, the program shifts automatically to DRAW. If you select one of these functions while in MIRROR, you will be switched out. The fill pattern of area-related functions like POLYGON, BOX, and DISC is not reflected. - SPLINE - ----------------- Drawing spline curves with two different algorithms and arcs between two points. Parameters: Mode: Bezier - Spline that is tangent to a polyline Smooth - Spline that passes through the corner points of a polyline Curve - Arc between two endpoints. Intersection (below) is ignored. Intersection: 04 06 08 10 - Number of support points between two end points. Limitations: Doesn't work with Block. The Working Screens ------------------- In the lower left corner of the main menu, you will see nine numbered buttons, each with two light diodes. They represent the working screens. Depending on memory size, the available screens will be marked with blue LEDs on startup. (The blue LEDs have a further meaning for animation, which see.) The current working screen is marked with a red LED. Switch screens with the mouse or by typing the corresponding number. The right mouse button toggles you between the current screen and the main menu. The ESC key will get you back to the current screen from the main menu, but the reverse DOES NOT work. In the current screen, the ESC key cuts out a block. Functions with the Working Screens ----------------------------------------- Screen Erase: Holding the left mouse button down, drag the desired screen icon into the trash can. For safety, the program asks whether you really want to erase screen #n. Copying, Swapping, Flowing: Drag one icon onto a second. A dialog box appears, allowing: Everything | Picture | Color Palette Copy | Swap | Flow and, if it makes sense, recolor to match the current palette. Add to Animation List: A double click on the working screen icon turns the blue LED on or off (if the screen is available). The screens with the blue lights on are in the animation list; the others are not. (See ANIMATION) By the way, if you hold the mouse button down on an unavailable icon, the current one will be grabbed! - SHOW - (The gray button) ------------------------------- Next to the nine buttons is a similar one, labeled SUPER. With this one it is possible to get an overview of all active screens. A double click on this button allows the setting of parameters: Mode: Black/White Color(/TT-View) With Black/White, all occupied screens will be drawn in little gray-scale pictures. That takes a certain amount of time. After that, little frames are drawn around them all simultaneously. Under each picture is its name or a blue DISUSED. Empty screens are marked with a graffiti EMPTY SCREEN. With Color, all nine (or as many as available) screens will be drawn in reduced size using the color palette of the current screen. Thereby, it is possible to draw pictures larger than one screen. In order to match the edges of the component pictures, each can be "rolled out" like piecrust. Use the cursor keys and the pictures will be copied in the corresponding direction by one half the screen width or height. (Only the available screens, naturally.) This makes sense only for 1, 2, 3, 4, 6, and nine pictures. (You will see why when you try it.) The working screens will then show the seam lines and you can doctor them to match. Finally, all pictures can be restored to their original positions. With TT-View, screens 1-4 are shown in middle TT resolution with the current color palette. Blocks -------------- The menu may give you the idea that we're crazy about blocks. To be honest, we carry out nearly all our picture manipulations with blocks. On the other hand, we create our pictures with the loupe. This is one reason why the loupe got special attention, but more on that later. How, then, can one cut out the desired part of the screen? CRACK ART offers four (!!!!) possible ways to cut out a block. The ESC key always works. If you change your mind or find an error, just press ESC again or press the right mouse button and the previous block is still there. But, if you do something with the new block and then change your mind, you lose the previous block. 1. Cutting out a rectangular block ------------------------------------------ After you press the ESC key, a screen-sized cross hair appears. The current X and Y coordinates are shown in the lower left corner. With the mouse, move the cross hair to one corner of your block. It doesn't matter which corner. Press the left mouse button and hold it down. The cross hair disappears and a rectangle appears. Moving the mouse, draw a frame around the block you want. When you release the left button, the block is captured and all functions are directed at the block. Depending on which function was previously active, either a small, hollow cross hair or the block itself will follow the mouse motion. By way of explanation, all functions which do drawing operations on an area will use the block and its associated background pattern as a fill pattern. If you want to use the block as a pure fill pattern, a fully filled background pattern must be active. (Background patterns are set in the color menu. See there.) If you want to see your block, turn the DRAW function on by typing D. This guarantees that your block is tied to the mouse. You can draw as usual, but marked with the block. With the B key, you toggle between Block and Brush. 2. Cutting out a round block ------------------------------------- If you want to cut circular or elliptical blocks (Yes, that works, too.) press CONTROL+ESC. The large cross hair appears again, with which you mark the center of your block. Press and hold the left mouse button while you pull an ellipse around the desired area. See CIRCLE, above, for a review. When you release the mouse button, the round (elliptical) block is cut out. From here on, everything works as it did for rectangular blocks, only the block mode is OBJECT. More on that at the end. 3. Cutting a block with a lasso ------------------------------------- If rectangular or round blocks aren't enough, CRACK ART offers the possibility of cutting out blocks of arbitrary shape. Press SHIFT+ESC. A small cross hair, like those used by the drawing functions, appears. Move the cross hair to the start point of your cut and click (don't hold) the left mouse button to mark the point. Now, without pressing any mouse buttons, draw your lasso loop. No fair crossing your loop; CRACK ART inscribes a polygon inside it and fills it. Click the right button when you're done. Now, with the left mouse button, you can choose either what's inside or what's outside the loop as your block. From here on, everything works as described for rectangles and round blocks. Some programs allow maybe only 27 or 1000 corners on your polygon. You don't have to worry about such piddly numbers with CRACK ART. You will probably never need its maximum 10,000 points. TIP: If you want a block in the form of wild lines, scribble all over the screen, then cut off a tiny loop at the end. Only this part will be filled. Depending on the density of lasso lines, the resulting block is more or less recognizable. The block mode is OBJECT. When selecting a block by one of the three foregoing methods, if you hold down the ALT key, the spot occupied by the block will be erased when you cut the block out. You will have a hole in the picture, which you can restore with the UNDO key. 4. Cutting out a block via a fill function ------------------------------------------------- If you want to cut out a complicated looking (but connected) block, press ALT+ESC and click on the screen region which you want to take as a block.. Pixels of color 0 (background color) will be interpreted as borders of the block. The object within the border will be taken as a block. The block mode is OBJECT. What do the various block modes have to say? -------------------------------------------------- In the menu you will see in the top row a button with an artist's paintbrush on it. To its right is a button with a highlighted block. You can toggle back and forth between them with the mouse or the B key (radio buttons). Farther to the right are the buttons for setting the block mode and the block boundaries on the screen. - XRAY - ---------------- In this mode, all parts of the block having the background color (color 0) are transparent. - OBJECT - ---------------- This block mode is something quite special. It is produced by cutting with the lasso or the ellipse, through which the block mask is determined. All regions within the mask are opaque. If this mode is inactive, it can be turned on via the menu and produces an object mask. (See CUT and OBJECT.) - BLOCKED - ------------------ In this block mode, all regions of the block are opaque (rectangles). More about block modes: ----------------------------- You can switch back and forth between XRAY and BLOCKED without loss of information. You can use the menu buttons or the left and right parentheses on the keyboard. [Note - the German keyboard layout is different; you may have to experiment here.] If you shift from OBJECT to another block mode, you lose the old object mask. For example, take a block containing an unfilled circle. If you cut this block out in circular form, probably not exactly centered on the unfilled circle, you will have an Object Block with a mask which renders the inner area opaque, but which follows the contour well. If you switch to XRAY, the circle is transparent inside and out, but in BLOCKED mode, the circle is opaque inside and out, with a rectangular mask surrounding. Now, when you apply the OBJECT function to this block, you get a block that is opaque inside and transparent outside, with the circle perfectly bordering the mask. [Remember 'way back in the introduction when the authors suggested trying the various functions as you go along? This is a good place to do so.] Bordering the block with the screen edges ---------------------------------------------- With the buttons FREE-MOVE and EDGE-STOP, or the '/' and '*' keys, you can toggle back and forth between the two kinds of border specifying. EDGE-STOP means that the block can't pass beyond the screen boundaries, while FREE-MOVE lets the block cross half way over the boundary, that is till the middle of the block reaches the boundary. The Color Menu ------------------- The color menu allows access to some very powerful functions which are suitable not only for color manipulation but also for direct picture and block manipulation. As one of the primary tools in CRACK ART, it should not be underestimated. Because CRACK ART supports up to nine work screens with individual color palettes, it is pointless to set colors from the main menu. Thus, the color menu is reachable only from the work screens. To get it, press the SPACE bar, or, with the mouse cursor on the extreme edge of the screen, press the right mouse button. A pop-up menu will appear, with the 16 current colors displayed side by side. Above and below the color register are arrows. The upper arrow marks the current drawing color and the lower one points to the so-called EXCHANGE color, which we will cover below. Choose the drawing color by clicking on the register. On the right side of the menu are sliders for the red, blue, and green components of the drawing color. Adjust them by clicking on the upper or lower arrows on the sliders. By clicking and holding on the MOVE button on the left side, you can push the menu around the screen. Clicking on the fill pattern box calls up another menu containing 80 readymade fill patterns. The current one is ringed. Select with the left mouse button. The new fill pattern will be displayed in the color menu. The 80 fill patterns can't be edited. The possible fill patterns in CRACK ART are far too numerous to be limited to 16x16 pixel units. Since you can use any block as a fill pattern, you don't need to diddle with the built in patterns. The font display box always contains the A of the current font. For user-defined fonts, this is a useful check for the right sizes. Font attributes are set with the SYSTEM, EXTRA, and PROP boxes. The current settings are displayed in reverse video. Change the size of the system font with the buttons marked with left and right arrows. These buttons have no effect on user- defined fonts. If you choose the EXTRA option, the parameters you set by double clicking on the TEXT icon in the main menu are taken on here (SETTINGS). If you then turn on PROP, the user- defined fonts are displayed as proportional fonts. Options for manipulating the color palette ----------------------------------------------- Predefined Color Palettes: ---------------------------------- The function keys are loaded with 20 predefined color palettes. Palette F1 corresponds to the original ST palette and palette F2 to the preset CRACK ART palette. Palettes F11 through F20 are reached via SHIFT + F1 through F10. [Nothing here about F3 thru F10. Try it and see.] Many of these palettes are useful for gray scale pictures or digitalized or scanned graphics. Copying a Color to Another Register ---------------------------------------- If you hold the left button down on a color register, you can drag it to another one. When you release the button, the copying is complete. [Whether you can do one color at a time or the whole register has to come, is not clear here. Try it.] Swapping Two Color Registers --------------------------------- Proceed as above, but before releasing the mouse button, press the ALT key. Producing a Color Sequence ------------------------------- If you want a uniform or proportional color sequence between two registers, click on one, then press ALT and click on the other. [Which changes? Try it.] Determining the Color of a Point on the Screen ---------------------------------------------------- If you move the mouse pointer outside the menu boundaries, the arrow becomes a cross hair. Clicking the left button causes the color of the point under the cross hair to become the current drawing color. Direct Color Selection ---------------------------- If you double click on one of the color registers or outside the color menu, a raster of 16 colors appears. The raster is arranged in WORK SETS which are reached by COLORS. NEOCHROME gives you exactly the Neochrome color arrangement. CUBE gives you a stacked arrangement. (The faces of an RGB cube with sides of length eight.) Pick your color with the tiny frame [the cursor shape?]. When you click the left button, the new color will be placed in the current color register [replacing what?]. The right mouse button ends the process. Special Functions: ------------------------ SORT: Sorts the colors according to brightness. The pixels of the picture and the block will be changed accordingly. INV: Inverts the color palette. If you hold the ALT key down, a photo negative palette is created. INV+EX: Analogous to INV, but changes the picture, too. STATS: Displays a tabular overview of the picture points on the screen or in the block, depending on whether BRUSH or BLOCK was selected in the main menu. EXCHANGE: Exchanges the pixel colors according to the exchange rules set by the arrows below the color register. If. for example, you choose color #1 and its exchange arrow points to color #2, color #2 will replace color #1 everywhere in the picture or block. You can do several colors simultaneously. In this way you can correct colors after swapping registers. IMPORTANT! If you selected BLOCK in the color menu, exchanges work only on blocks. For this reason, EXCHANGE is a very powerful block function. With the following combinations (a key and the left mouse button), no pixel exchange will occur: ALT+EXCHANGE directs all exchanges back onto themselves. SHIFT+EXCHANGE rotates all exchange colors one position to the left. CONTROL+EXCHANGE rotates all exchange colors one position to the right. SET PLANES: Enables inblending or outblending [?] of single bitplanes via the buttons 0 through 3. The current arrangement of planes can be taken over with a double click on SET PLANES. [?] Exit by clicking the right mouse button. BRIGHT+-: Brightens or darkens the entire color palette. RGB+-: Brightens or darkens the primary colors of the palette. Most functions which alter the color palette can be undone to the previous condition with the UNDO key. Leave the color menu with the SPACE bar or the right mouse button. Block Operations ---------------------- - X-RAY - -------------- Function: The object mode will be set to X-RAY. Description: The function creates a mask which is transparent to all parts of the picture containing no graphic (Color 0). The resulting block mode is X-RAY. - OBJECT - ---------------- Function: Builds an OBJECT mask for the current block. Description: The function creates a mask which is transparent to all picture parts outside the block. Parts inside the block, on the other hand, don't show through. Try it with a circle. Block mode afterward is OBJECT. - BLOCKED - ------------------ Function: Sets object mode to BLOCKED. Description: The function builds a rectangular mask in the size of the block. The entire block region is opaque. Block mode stays BLOCKED afterward. - FREE MOVE - -------------------- Function: Allows movement of the block till the center of the block reaches a screen boundary. - EDGE STOP - ------------------- Function: No part of the block may pass the screen boundary. - SIZE - ------------ Function: Changes the size of the current block. Description: The current block is identified in the upper left corner. A frame marks the current size. The X and Y dimensions of the frame are shown in the lower left corner. Stretch the frame to the desired size with the mouse and left button. UNDO restores the previous size. HELP invokes interpolation during the size adjustment. This filters out some of the unattractive patterns that occur with simple resizing routines. The quality of the result is especially good in very small sizes. Holding down the ALT key allows only the vertical size to change; SHIFT key allows only the horizontal size to change; CONTROL key holds the aspect ratio constant. Right mouse button accepts the new block and takes you back to the menu. Block mode afterward is XRAY. - ROTATE - ----------------- Function: Rotates a block in angular steps. Description: The current block is displayed in the middle of the screen. A frame marks the rotation position and a line from the center of the frame to the mouse position helps determine the angle, which is displayed in the lower left corner. Turn the frame to rotate the block. Pressing the UNDO key sets block and frame back to zero rotation; Left mouse button carries out the rotation; HELP key causes nonaliasing rotation, calculating fractional degrees; BACKSPACE key causes modulo rotation [base 360?] and fills the entire screen with the rotated block; Right mouse button accepts the new block and takes you back to the menu, with an XRAY block mode. - H-SKEW - ----------------- Function: Horizontal shearing of the block. Description: The current block is displayed in the middle of the screen, surrounded by a parallelogram showing the current skew position. Change the parallelogram to distort the block. Pressing the UNDO key sets the block and frame back the way they were; Left mouse key carries out the operation; Right mouse button accepts the new block and takes you back to the menu with an XRAY block mode. - V-SKEW - ----------------- Function: Vertical shearing of the block. Description: The current block is displayed in the middle of the screen, surrounded by a parallelogram showing the current skew position. Change the parallelogram to distort the block. Pressing the UNDO key sets the block and frame back the way they were; Left mouse key carries out the operation; Right mouse button accepts the new block and takes you back to the menu with an XRAY block mode. - H-SKEW - ----------------- Function: Horizontal shearing of the block. Description: The current block is displayed in the middle of the screen, surrounded by a parallelogram showing the current skew position. Change the parallelogram to distort the block. Pressing the UNDO key sets the block and frame back the way they were; Left mouse key carries out the operation; Right mouse button accepts the new block and takes you back to the menu with an XRAY block mode. - H-PERSP - ----------------- Function: Horizontal trapezoidal warping of the block. Description: The current working screen is displayed as background. A trapezoid marks the current position an form of the block. Change the trapezoid to determine the future appearance of the block. Pressing the ALT+Left mouse button carries out the operation; Right mouse button takes you back to the menu with an XRAY block mode. - V-PERSP - ----------------- Function: Vertical trapezoidal warping of the block. Description: The current working screen is displayed as background. A trapezoid marks the current position and form of the block. Change the trapezoid to determine the future appearance of the block. Pressing the ALT+Left mouse button carries out the operation; Right mouse button takes you back to the menu with an XRAY block mode. - CURL - ------------- Function: Radial skewing of a block. Description: This function strongly resembles the BULGE routine in speed and operation. With the mouse, you specifiy two radii, a starting angle, and an ending angle. The block will be projected onto the specified region, whose maximimum size is a circle of diameter 200 pixels. The right mouse button stops the operation; block mode afterward is OBJECT. Peculiarities: No UNDO is possible. (Angles in the demo are incorrectly oriented. From 0 to 1 is actually 0 to 359. Try it.) - BULGE - -------------- Function: Spherical distortion of a block. Description: This block function is one of the most successful routines in the entire program in terms of speed and the results. First, a rectangle appears. In its upper half is shown a mirror symmetric filled curve. (The size depends on the block. Try some big blocks first.) When you press the right mouse button, the block transformation is carried out with this function. On completion, the block looks as if it had been stretched over a sphere. If you would like to control the distortion function, you can alter the curve by holding the left mouse button down. The height of the function is a measure of the stretching of the block at this point (on a circular path). The function isn't followed exactly, but generally acts like a lens placed very close. Experiment with middle sized to large blocks. The largest allowable ending block is a circle of diameter 200 pixels. Try to generate curves in the form of a normal distribution. (If you have trouble getting started, there is a picture on every 10 Mark note.) [We Yankees will have to remember the bell curve.] The results will usually fit almost exactly back into the original picture. If you had a colorful geometrical object there, you will see after the transformation how [the artist?] Vasarely creates his works. Since the ending block mode is OBJECT it can happen that circular blocks sometimes have a disturbing edge. Switch the block mode to XRAY or BLOCKED and generate a new mask with OBJECT. Peculiarities: No UNDO is possible. - TUBE - ---------------- Function: Pull the block around a tube. Description: With the mouse, a line drawing of the tube can be altered in radius and viewing angle. The function is activated with the left mouse button. The tube is built from back to front. Thereby, the rearward parts of the block, which would be visible from inside the tube, are darkened in order to give the effect of depth. Block mode at end is XRAY. Peculiarities: No UNDO is possible. - FIT-IN - ----------------- Function: Horizontal fitting of a block into an (almost) freely definable form. Description: The current screen is the background. Specify a start point with the mouse cursor or abort with the right mouse button. You can specify up to 9,999 more in defining your form (identical to cutting out with the lasso). Click the right mouse button to show completion of the border, then click the left button either inside or outside to show which is to be used as the form. (Normally inside; outside doesn't make much sense.) Before fitting begins, the form is made "horizontally convex." That is, the leftmost and rightmost points on each row of pixels are linked together. Then the block is squished into the resulting form. Ending block mode is OBJECT. Peculiarities: No UNDO possible. - DITHER - ---------------- Function: Five routines for producing a gentle color transition. Description: IMPORTANT: The appearance of the resulting block depends on the block mode! V-DITHER: Vertical dithering. A color sequence from top to bottom is produced. H-DITHER: Horizontal dithering. A left to right color sequence is produced. S-DITHER: Dithering according to arithmetic average [of what?]. The color sequence proceeds linearly from a center outward. M-DITHER: Dithering according to root mean square [again, of what?]. The color sequence proceeds quadratically from a center outward. R-DITHER: Radial dithering, using the Euclidean norm. The color sequence proceeds circularly outward from a center. After selection of the desired method, a partial color menu appears: the 16 color registers, each with an arrow above and below. The arrows can be moved with the left mouse button. They can't both point to the same color. The upper arrow points to the starting color - top side, left side, or center. The lower arrow points to the ending color - bottom, right side, or outer rim. Press the right mouse button to get things started. V- and H-DITHER run in real time and start immediately. For the others, the block is indicated and its size is shown with a rectangle. With the left mouse button, bick a dithering center inside the rectangle. The mouse cursor disappears and the function is carried out in the background. (That takes a little while. For R-DITHER, up to 64,000 square roots have to be calculated!) By the way, the dither matrices are adjusted according to the size of the block. If the block is too small to process with the specified number of colors, S-, M-, and R-Dither do nothing. V- and H-Dither will return the pure colors in lines. Each routine has three dither matrix sizes available. That gives up to 64 steps between two colors! The actual dithering is carried out differently according to the block mode. If the mode is BLOCKED, you get a dithered rectangle. For X-RAY, the color run is visible only where there is a graphic. That is, an empty block still looks empty and will therefore be shrunk to 1*1 pixels! Try R-DITHER with a predefined palette on a circular block in X- RAY mode. (See DEMO/DEMO3.CA1) - CUT - ---------------- Function: Minimize X and Y spread of the block. Description: The block is trimmed by removal of empty edges. Limitations: Doesn't work with block mode OBJECT. This function is on the HELP key in the working screen. Other block functions in the working screen: -------------------------------------------- Key: BACKSPACE -------------- Function: Turns block 90 degrees to the right. Description: The current block is rotated 90 degrees clockwise. This is quicker than calling up the menu and specifying 270 degrees (counterclockwise). The block doesn't rotate about its center point, but rather so that its left edge ends up on top. Pixels with X coordinate greater than 199 will be clipped by the lower screen edge and lost. If you want to preserve the right edge, flip the block with the cursor keys, then turn it. Key: RETURN ----------- Function: Sets the block to the current color palette. Description: Should the block come from a work screen with another color palette, you can try to reset the colors to conform to the current palette. The function tries to maintain as much as possible of the original colors and brightnesses. Key: Cursor Keys ------------------ Function: Block flipping. Description: The block and mask are flipped in the direction indicated by the cursor key. The Magnifying Glass ---------------- In the top row of the main menu is a button called WORK SETS. With this button, it is also possible to specify parameters for the magnifying glass. Clicking on the button brings up a dialog box on which the parameters Preview Zoom and Zoom Grid can be turned on or off. Preview Zoom means that when you choose a segment to enlarge, a real-time magnifying glass is displayed. The portion of the picture under the magnifying glass is enlarged fourfold. The 12x12 magnifying glass (F10) enlarges 16 fold. By the way, it is possible to traverse the edges of the picture with this magnifying glass, unlike a well known monochrome drawing program whose magnifying glass stops at the edges. The real time magnifying glass works in all 10 enlargements. If you turn it off, you get a crosshatched region marking the region to enlarge. With the Zoom Grid option, the individual pixels are marked by a grid in the background color. They're a little easier to distinguish this way. If you turn the option off, no grid is drawn. How Can I Call Up the Magnifying Glass? ---------------------------- If you are in the working screen, you call up the ten enlargement levels with the function keys. Enlargements run from 3*3 (F1) to 12*12 (F10). Depending on the parameter values specified, the real time magnifying glass is on the function keys and the frame is on the shifted function keys (Preview Zoom On) or vice versa (Preview Zoom Off). Both options are always available. Once you've chosen which preview mode you're in, you can change enlargements without the SHIFT key. The right mouse button puts you back in normal drawing mode. Choose the picture segment you want to enlarge and press the left mouse button to display the enlargement. You find yourself in the actual magnifying glass. On the Construction of the Magnifying Glass --------------------------------------- In the left part of the screen you will see a crosshatched, rectangular section of the working screen, which marks the enlarged area. The current color palette is above, with the current color marked with an arrow. Next to the color menu on the right are four arrows. By left clicking on one of them, you can cause the working area of the magnifying glass to move in that direction by 50% of the extent of the magnifying glass in that direction. The cursor keys function the same way. At the top right of the screen is a narrow box with which you can toggle the Zoom Grid without leaving the magnifying glass. The actual magnifying glass is at the lower right. On the Functions in the Magnifying Glass ------------------------------ The magnification can be changed at any time by pressing a function key. The center always stays in the magnified area. You can pick a new center by left clicking in the original picture. The magnifying glass and the little frame will follow. Abandon the magnifying glass by right clicking outside the magnified area. You can change the current color by left clicking in the color palette or by right clicking in the magnified area. The second method allows the current color of magnified sections to be changed quickly without constantly having to run back to the color palette. As fast as you left click on a pixel in the magnified view, the original is also changed. You can change it back with the UNDO key and change it back again with a second press of the UNDO key. You can also cut out rectangular blocks from inside the magnifying glass. Press the ESCAPE key and a double cross hair appears. Mark a corner of the block with it. The procedure then is the same as the normal cutting of a rectangular block, except the fram is doubled. If you hold down the ALT key when you releas the mouse button, the block will be erased from the magnifying glass. The UNDO key restores it. The block can be used only in the working screen. To save tedious painting in the magnifying glass, you can fill the whole area at once by holding the ALT key down while pressing the left mouse button anywhere in the magnified region. The area will be filled with the current drawing color. Disk Operations ----------------------------------------------------------------- General ----------------------------------------------------------------- Disk access is gained via the little diskettes (3.5" and azure blue, naturally) on the menu. LOAD Load a picture SAVE Save a picture SHOW Slide show [In German: Slide Show] DISK MENU Disk info / Delete a file / Virus test / Format CRACK FILE Look for picture data and sprites in files CRACK DISK Look for picture data on disk tracks or sectors These six functions can be called from the menu via the function keys F1 thru F6. Most diskette operations call up a file selector box. The Layout of the File Selector Box ----------------------------------------------------------------- The upper line displays the current path, or the end of it if it's longer than the space provided. The next line contains values for the number of files meeting the search criterion (file extension), the number of bytes in these files, an on-off button for disk verify, and the search criterion itself. The search criterion cannot be edited. Rather, you can choose the current one or *.* during LOAD and SAVE. In the next line are two buttons, BACK and REREAD. Use BACK to return to the next higher directory. REREAD causes the directory to be read again. Shown below BACK and REREAD are up to 12 file and/or folder names. Behind the files is their length in bytes while folders are marked by FOLDER in blue. With the slider on the right, you can move the window to display other files and folders (in real time!). Clicking on the arrows at the top and bottom of the slider bar causes the same action, but stepwise. A vertical line under the slider shows your relative position in the current folder or disk. On the right side are up to 16 diskette symbols labeled A thru P, representing the floppy drives and hard disk partitions on your system. The active drive is red and all others are blue. Switch between drives by left clicking on the one you want. Clicking the right mouse button on a drive symbol causes a display of the current path, the number of bytes used on the disk, and the number of bytes free on the disk. If you have but one floppy drive and no hard drive, only Drive A is shown and the imaginary Drive B is not depicted. During LOAD and SAVE operations, right clicking in the file display window allows you the choice of 25 different picture formats. A menu of picture types appears, showing the usual extenders. Each button on the menu is marked with a three character extender and below the button is a U or a C for uncompressed or compressed. Picture Formats: ---------------------------------------------------------------- Once you choose a picture format, the customary extender for that type is used for the file search extender. That way, you can use any extender you want and let Crack Art keep track of the types. For example, a compressed picture in Degas format doesn't have to have the extender 'PI1' to be loaded as a Degas picture. Of course, you have to set the search extender to *.* to bring the file name into the selector box. Just click on it and remember that the search extender and the actual extender are two separate critters. EXT Origin Resolution Compression ----------------------------------------------------------------- CA1 CRACK ART LowRes compressed/uncompressed CA2 MidRes CA3 HighRes IC1 IMAGIC LowRes compressed/uncompressed IC2 MidRes IC3 HighRes PC1 DEGAS LowRes compressed PC2 MidRes PC3 HighRes PI1 DEGAS LowRes uncompressed PI2 MidRes PI3 HighRes PAC STAD HighRes compressed PIC SCREEN Low/Mid/HighRes/VGA uncompressed CMP F.Mathy Low/Mid/HighRes compressed SPU SPECTRUM 512 320*199 uncompressed SPC 320*199 compressed ART ARTDIRECTOR LowRes uncompressed NEO NEOCHROME LowRes uncompressed IFF AMIGA 320*200 4/5/(6)Planes compressed/unc. IMG GEM monochrome compressed ---------------------------------------------------------------- - LOAD - (F1) ---------------------------------------------------------------- Once you find the file you want in the format you want, it's loaded into the current screen if the screen happens to be unoccupied. Otherwise, Crack Art looks for an empty screen and if it finds one, asks you via an alert box whether you want to load into the current screen or the empty screen. If all screens are occupied, Crack Art asks whether you really want to overwrite the current screen. If difficulties crop up during loading, Crack Art tries to load as much information as possible. Special Handling of Other Picture Formats and/or Resolutions: ---------------------------------------------------------------- LowRes pictures are loaded without any processing or conversion. MidRes pictures are mapped into ten colors and appear exactly as in medium resolution. Monochrome pictures can be converted by either of two ways. After loading, the program asks whether you want to keep the entire picture (WHOLE) or a part (SPECIAL). If you choose WHOLE, the picture is rendered in five shades of gray. If you choose SPECIAL, the entire picture is displayed and you can cut a 320*200 pixel section out of the 640*400 original. The section then takes over the 640*400 pixels of the original, but as a color picture, and only one fourth of the original shows on the screen. No gray scale is generated. SPECTRUM 512: ---------------------------------------------------------------- SPECTRUM 512 pictures offer still more choices. After the picture is loaded, the user is asked how he wants the color palette matching to proceed. WHOLE uses the entire picture as a basis for conversion. SPECIAL lets you match rectangular sections of the picture one at a time to get a better match. In the latter case, the picture is shown as a SPECTRUM 512 original in its original colors!!! Regrettably, we had to disable the mouse here in order not to disturb the interrupt-driven construction of the picture. Therefore, you move the crosshairs with the cursor keys. One press moves the crosshairs eight pixels. Shifted cursor keys move the crosshairs one pixel. Mark one corner with the HELP key, then mark the opposite. Everything outside the rectangle is erased and the color palette is adjusted according to what is inside the rectangle. That done, the entire picture is redrawn with this palette. (Every conversion takes three seconds on the ST, while the conversion program SPECDEG.TTP needs 16 seconds!!!) In this way, it is possible to hold nearly the original colors in various parts of the picture. CURRENT uses the current color palette for the conversion. Regardless of conversion, you will need every byte of memory. Thus, you might lose a block mask definition as Crack Art tries to make more space. The block mode after loading a SPECTRUM 512 picture is always XRAY. IFF Format ---------------------------------------------------------------- CRACK ART loads IFF packed pictures with resolutions of 320*200 pixels in 16 (4 bitplanes) and 32 (5 bitplanes) colors without problems. Pictures with 64 colors (6 bitplanes) in Amiga Half- Bright mode are not included. The program can convert them, however. (But not quite right. - Roy) Hold-and-Modify pictures are read with no problems, but the conversion is carried out for the half bright mode. Sorry! ----------------------------------------------------------------- - SAVE - (F2) ---------------------------------------------------------------- If you're ready to save the picture on your screen, pick SAVE from your menu and then choose the format from your PIC TYPE menu. Choose the floppy drive or hard drive partition as described above. You then have the opportunity, by double clicking on a name in the file selector box, to save under that name, or you can type in a new name. (As already mentioned, extenders are arbitrary, but they should nonetheless at least suggest the format.) If you elect to overwrite an existing file, CRACK ART will ask whether you're sure. Conversions: ---------------------------------------------------------------- Medium resolution pictures are stored in four levels of gray. High resolution pictures are transformed into 22 gray patterns. The conversion of the colors into gray patterns cane be done linearly with the option BRIGHTNESS, quadratically with the option COLORS, or by the FLOYD-STEINBERG method. Quadratic increases the contrast. FLOYD STEINBERG yields the best results. The gray levels can be stored as genuine patterns (PATTERN) or with error diffusion (RANDOM). RANDOM produces softer sequences. ---------------------------------------------------------------- - SHOW - (F3) ---------------------------------------------------------------- Slide show down a path you select in the file selector box. Lower folders are recursively (Yes, we can do that, too.) searched. Variable control modes and effects. ----------------------------------------------------------------- - DISK MENU - (F4) ----------------------------------------------------------------- [1] INFO Brief info about the floppy drive(s). [2] VIRUS Boot virus test. [3] DELETE Here files can be nibbled into the eternal bit heaven. No entire directories, please. [4] FORMAT Should you ever find yourself in the unfortunate situation of having no disk for your latest masterpiece, help is here! CRACK ART can format either single or double sided disks with 80 or 82 tracks. Make your choices in the dialog box. Once you've made your choices, formatting begins with no more questions. A graphic (prepare to be surprised) depiction of the process appears. If disk problems occur, their form is reported and control returned to the user. The disk name is generated from the format mode: CRACKART.SS Single sided, 80 tracks .SS+ Single sided, 82 tracks .DS Double sided, 80 tracks .DS+ Double sided, 82 tracks An antivirus program is written in the boot sector. On bootup, it prints the message, 'ANTI VIRUS BOOTER ½ BY JAYBEE 1991 and emits an unmistakable acoustic signal. (One doesn't have to stare stupidly at the screen any more while he daydreams.) ----------------------------------------------------------------- - CRACK FILE - (F5) ---------------------------------------------------------------- The graphic file monitor. It can search through files looking for graphic data and palettes. Its method is complicated and won't be explained here. The function is, however, fully implemented. Tip: Loading goes twice as fast from even offsets. Remarks: For safety's sake, SAVE requires a double click. ---------------------------------------------------------------- - CRACK DISK - (F6) ---------------------------------------------------------------- The graphic disk monitor. It can search through disks looking for graphic data and palettes. Before using it, check the parameters (sides, tracks, sectors) under DISK INFO in the DISK MENU. The method used by CRACK DISK is complicated and won't be explained here. The function is, however, fully implemented. ---------------------------------------------------------------- - EFFECTS - ---------------------------------------------------------------- The EFFECTS button in the menu offers access to additional picture processing functions, which can't be reached from the keyboard. (42. The answer to every question!) After selection of the button, the current screen is displayed. On its right side is the menu for the various effects. The menu is divided into names and numbers. The numbers represent the working screens. Clicking on a number switches you to that screen. Titled fields initiate functions. Holding [left mouse key on?] the SHOW field displays the entire screen. For all functions, the UNDO key undoes the last operation. The working screen and color palette are restored. However, if you switch to another screen before trying to UNDO, you're committed. All changes are permanent once you switch. Return to the main menu with the right mouse button. ---------------------------------------------------------------- Effects Functions ---------------------------------------------------------------- - ANTI 4 - ---------------------------------------------------------------- Function: Antialiasing function using four surrounding points. Description: After ANTI 4 is selected, the entire screen is processed from top to bottom. Multiple applications of the function bring other results. Remarks: Since the function considers only four surrounding points, it works less finely than the ANTI 8 function. Heavy application of ANTI 4 to a detail-rich picture is a kind of tone separation. The antialiasing function works best on color palettes with the maximum possible levels of a color. - ANTI 8 - ---------------------------------------------------------------- Function: Antialiasing function using eight surrounding points. Description: Identical to ANTI 4. Remarks: The consideration of eight surrounding points yields a somewhat finer effect. The algorithm works somewhat more slowly toward the above-mentioned tone separation. On thinly populated pictures, though, you will see a rapid development of the details toward the surrounding color. - ROUND - --------------------------------------------------------------- Function: Rounds corners off. Description: The ROUND function resembles the ANTI 4 function except that it operates only on pixels that form corners in the usual sense. Repeated application makes sense. Remarks: The function is handy for enlargements, where you want to smooth out the lumpiness. Repeated application tends toward 45-degree corners. - REL M - --------------------------------------------------------------- Function: Transforms a color picture into a relief picture with three levels of gray. Description: REL M process the picture diagonally from the lower left, using a very simple process: The higher the color number of the pixel, the longer the shadow. To be sure, we allow for such trivialities as plateau formation and sudden edges. The result has a palette of eight shades of gray, the minimum to produce the effect properly. Shadows are shown in color 0 (black), plateaus in color 4 (gray), and highlights in color 7 (white). Remarks: The results obtained with this function depend in strong measure on the arrangement of the colors in the original palette. The best results come from an arrangement according to brightness. Whether the relief bulges out or dishes in can be controlled. See SORT, INVERT, and EXCHANGE in the color menu. Since the color palette contains intermediate levels in addition to the three required colors, it can make sense to run the result through one of the antialiasing functions. That usually produces a better looking picture. You can control the shadow direction by flipping the screen first. (That's a screen function.) - REL C - ---------------------------------------------------------------- Function: Produces a psuedorelief. Description: The function works similarly to REL M. Pixels are darkened where shadows fall, highlights are brightened, and plateaus stay the same. Remarks: Operation is identical to REL M. - GREY - ---------------------------------------------------------------- Function: Converts a picture into eight levels of gray. Description: The colors are converted into gray values according to their brightness and the pixels set accordingly. Remarks: You can also mix pictures with different color palettes. The algorithm is still being changed. - RES 2 - ---------------------------------------------------------------- Function: Reduces the resolution of a picture to one fourth. Description: Out of 2*2 pixel regions, the function takes the color of the upper left pixel and replaces the colors of the other three with it. Repeated applications bring no further change. Remarks: This function yields amazing effects in combination with REL M, REL C, OUT 4, OUT 8, and EDGE (Which see). - RES 4 - ---------------------------------------------------------------- Function: Reduces the resolution of a picture to one sixteenth. Description: Results as from RES 2, only more abstract. - PIXEL - ----------------------------------------------------------------- Function: Coarsens the resolution to a 2*2 pixel basis. Description: Results are similar to those from RES 2, except that less information is lost because nine original pixels go into the calculation of the new 2*2 pixel rectangle. Remarks: Only unimportant changes result from repeated applications. Quartering the picture with SIZE is no better than HELP with SIZE. (It's logical, no?) - OR - ---------------------------------------------------------------- Function: Produces a mask from the graphic data. Description: All pixels with a nonzero color number are set to color 15. Repeated application yields no further change. Remarks: This function is handy for masking out particular graphic regions with the help of the block operations. - MASK - ---------------------------------------------------------------- Function: Produces an inverse mask from the graphic data. Description: All pixels with a color number of zero are set to color 15 and all other pixels are erased. The result is the inverse of BLUE. Repeated application toggles the mask back and forth. Two applications are identical to one OR. Remarks: Use is just like OR. - SEPARATE - ---------------------------------------------------------------- Function: Erases pixels which match those in a second screen. Description: If SEPARATE is clicked, the symbols for all occupied screens are shown reversed in order to show that further choices follow. Clicking on one of the screen symbols selects that one to compare against the active screen. The operation is carried out according to the rule, "Erase all pixels from the active screen which agree with the corresponding pixel on the comparison screen." The comparison screen is not altered. The pixel count on the active screen will not increase. Remarks: The function is handy during development of graphics to see what was changed from one step to the next. Partial antialiasing etc are easy afterwards. - OUT 4 - ---------------------------------------------------------------- Function: Leaves the boundaries of filled areas, referring to four neighbors. Description: The inner regions of filled areas are erased, leaving only the boundaries. Remarks: Complementary function to EDGE. Also produces astounding results in combination with RES 2, RES 4, PIXEL, REL M, and REL C. - OUT 8 - ----------------------------------------------------------------- Function: Leaves the boundaries of filled areas, referring to eight neighbors. Description: Same as OUT 4. Remarks: Produces astounding results in combination with RES 2, RES 4, PIXEL, REL M, and REL C. - EDGE - ---------------------------------------------------------------- Function: Erases the boundaries of filled areas. Description: The edges of filled areas are erased. Thus, it is possible to separate adjacent areas. Remarks: Complementary function to OUT 4. - MED- - ---------------------------------------------------------------- Function: Median filtering with slight darkening. Description: The RGB values of five pixels are sorted separately and the second darkest are used. [Which five?] Remarks: Belongs to the group ERO, MED-, MED, MED+, DILAT. - MED - ---------------------------------------------------------------- Function: Median filtering. Description: The RGB values of five pixels are sorted separately and the middle values are used. [Which five?] Remarks: Belongs to the group ERO, MED-, MED, MED+, DILAT. - MED+ - ---------------------------------------------------------------- Function: Median filtering with slight lightening. Description: The RGB values of five pixels are sorted separately and the second brightest are used. [Which five?] Remarks: Belongs to the group ERO, MED-, MED, MED+, DILAT. - ERO - ---------------------------------------------------------------- Function: Erosion. Description: The RGB values of five pixels are sorted separately and the darkest values are used. [Which five?] Remarks: Belongs to the group ERO, MED-, MED, MED+, DILAT. - CONTR - ----------------------------------------------------------------- Function: Contrast enhancement. Description: If a pixel is lighter than its eight neighbors, it is darkened and vice versa. Remarks: Makes barely perceptible color differences easier to see. - DILAT - ---------------------------------------------------------------- Function: Dilatation Description: The RGB values of five pixels are sorted separately and the brightest values are used. [Which five?] Remarks: Belongs to the group ERO, MED-, MED, MED+, DILAT. - UNZAG - ---------------------------------------------------------------- Function: Rounding edges off. Description: The UNZAG function resembles the ROUND function. The operation here, however, is restricted to the pixels which form a 45 degree edge. Remarks: Very limited applicability. - H-SHAT - ---------------------------------------------------------------- Function: Horizontal fraying of the picture. Description: The positions of each pair of horizontally adjacent pixels are switched. Remarks: This function is reversible. See V-SHAT. - V-SHAT - ---------------------------------------------------------------- Function: Vertical fraying of the picture. Description: The positions of each pair of vertically adjacent pixels are switched. Remarks: This function is reversible. See H-SHAT. - MINI - ---------------------------------------------------------------- Function: Calculate a mini picture. Description: The picture is converted into a grayscale picture of 80*50 pixels. Remarks: This function is used in the main menu to make the overviews. - RED - ---------------------------------------------------------------- Function: Pull the red out of a picture. Description: The red values of the pixels are presented as a grayscale picture. The color palette ends up as gray and red. Remarks: Belongs to the group RED, GREEN, BLUE. - GREEN - ---------------------------------------------------------------- Function: Pull the green out of a picture. Description: The green values of the pixels are presented as a grayscale picture. The color palette ends up as gray and green. Remarks: Belongs to the group RED, GREEN, BLUE. - BLUE - ---------------------------------------------------------------- Function: Pull the blue out of a picture. Description: The blue values of the pixels are presented as a grayscale picture. The color palette ends up as gray and blue. Remarks: Belongs to the group RED, GREEN, BLUE. - MID - ---------------------------------------------------------------- Function: Convert from medium to low resolution. Remarks: See CRACK FILE and CRACK DISK. - HI - ---------------------------------------------------------------- Function: Convert from high to low resolution. Remarks: See CRACK FILE and CRACK DISK. - TILE - ---------------------------------------------------------------- Function: Tesselate the screen with a rectangular section of the picture. Description: After you click on the menu field, use the crosshair which appears to cut a rectangle out of the picture (exactly like cutting out a block). Position and size of the block appear as usual in the lower left corner. The cutout is then used like tiles to cover the entire screen. Cutouts along the right edge and bottom of the screen are clipped if necessary. Remarks: This routine is very well suited for developing animations from a basic pattern. It is also applicable to the drawing routines which use blocks as fill patterns. - H-FREE - ---------------------------------------------------------------- Function: Horizontal displacement of screen lines. Description: The button enables a free displacement of individual screen lines through use of the cursor. Once the button is clicked on, a vertical reference line appears in the middle of the screen. This is your zero. Click and hold on any pixel in this line and you can drag it left or right as you wish. Wherever you leave this pixel is the new zero for that line. Work your way up and down the screen, setting offsets where you will. When you click on the right mouse button, the displacements are carried out and you find yourself back in the effects menu. - H-SIN - ---------------------------------------------------------------- Function: Horizontal sinusoidal displacement of screen lines. Description: Once this button is clicked on, a vertical reference line appears in the center of the screen, along with a frame whose dimensions are displayed in the lower left corner. Use the frame to set the size of a half-period sine wave (Think of a fat man's belly just touching the three sides of the frame.). Click the left [So it reads. This may be a typo.] mouse button to execute. The result is a bowed or wavy picture. - H-ZIG - ---------------------------------------------------------------- Function: Horizontal triangular (zig-zag) displacement of screen lines. Description: Analogous to H-SIN except that here a sawtooth wave is used. The result is a kinked or zig-zag picture. Remarks: Choosing a tiny frame, say 1*1 pixel, causes light smear effects which look different from those created with H-SHAT. - V-FREE - ---------------------------------------------------------------- Function: Vertical displacement of screen columns. Description: Analogous to H-FREE. - V-SIN - ---------------------------------------------------------------- Function: Vertical sinusoidal displacement of screen columns. Description: Analogous to H-SIN. - V-ZAG - ---------------------------------------------------------------- Function: Vertical triangular displacement of screen columns. Description: Analogous to H-ZIG. ---------------------------------------------------------------- END OF EFFECTS ---------------------------------------------------------------- SWITCHING BETWEEN 50 AND 60 HZ. ---------------------------------------------------------------- If this icon is selected, the user is asked if he really wants to switch the monitor frequency. Some monitors, especially TVs, don't tolerate 60 Hz well, therefore the special warning. [German house current is 220V, 50Hz.] This option doesn't work on TTs. ---------------------------------------------------------------- Animate ---------------------------------------------------------------- Here we finally explain the blue light diodes. (Do you have any idea how expensive blue LEDs are? Up to DM20 [approx $13] each! But only the best is good enough for CRACK ART! When CRACK ART loads, all available screens are marked with a blue LED. Doubleclicking on a blue LED deactivates the corresponding screen, removing it from the animation list. [Can you turn a screen back on? It doesn't say.] After you select the animation icon in the menu, an alert box appears, through which you can control the direction of the animation. LEFT: The screens follow in ascending order. RIGHT: The screens follow in descending order. BOTH: The animation runs back and forth, over and over. The speed of the animation can be controlled via the horizontal position of the mouse cursor. The fastest sequence occurs with the cursor against the left edge of the screen. The TT throws a monkey wrench into the works here. If you drive the animation too fast, the picture sways. Therefore, foot (hand) off the gas. ---------------------------------------------------------------- RELAX ---------------------------------------------------------------- If you click on the RELAX button, a .GAM program will be loaded from the GAME folder and the buttons will be redefined. If no game is found, a neutral relax button appears. We have let our infantile drives have free run here. The graphics were naturally created with CRACK ART. ASTROIDS by Roy ---------------------------------------------------------------- For fans: This is a small (approx 6500 bytes) PC-relative assembler program which runs as a subroutine. Remarks: Maximum 32 stones, 16 guns, and one spaceship on the screen. Spaceship motion is computed in a fixed point routine. The collision routine interrogates a diamond shape rather than a rectangle. This makes the sprite form more realistic. The speed is throttled to a playable level. It could go faster! Control: Joystick (implemented by JayBee): left, right, forward, fire. ESC to end the game. No extra lives. Game over when spaceship is gone or ESC key is pressed. BRAIN (Master Mind) by JayBee ---------------------------------------------------------------- Try to find the solution within the allowable moves. Doubled stones are not allowed. Game over when solved, not solved, ESC key and then mouse. ---------------------------------------------------------------- - PRINTER - ---------------------------------------------------------------- Loads a printer driver or calls an already loaded driver. This function is at the moment not fully converted. Our printer drivers are assembler programs. To accommodate a different printer, we change the source code and reassemble. For assembler programmers: Parameter passing to subroutines is covered under ASM in the main menu: Picture address / Pal address / Work_0 / Work_1 / Work_2 ---------------------------------------------------------------- - USER ID - ---------------------------------------------------------------- Shareware info... ---------------------------------------------------------------- - ACC - ---------------------------------------------------------------- Call accessories. Only if you have more than 1MB RAM should you load any (large) accessories. CRACK ART allows communication with accessories via the SCRAP buffer. It would be possible to pass a memory address and a list of all screens and color palettes, thereby allowing additional routines to be added to CRACK ART. The exact procedure is not documented here. ---------------------------------------------------------------- Keyboard Mapping ---------------------------------------------------------------- The keyboard is loaded with the essential functions to permit work without having constantly to refer to the menu screen. Most functions are assigned to keys which match their initials. The functions which carry out fill functions are assigned to keys from Z downward. In the menus, the equivalent keys are marked in red. Key Assignments in the Menu ---------------------------------------------------------------- D Draw 1-9 Screens P Point 0 Superview L Line F1 Load K K-Line F2 Save F Frame F3 Show C Circle F4 Disk Menu E Eraser F5 Crack File A Airbrush F6 Crack Disk R Rays W Polygon B Brush/Block toggle X Box ( X-Ray Y Disc ) Blocked T Text / Free Move O Outline * Edge Stop Z Fill S Smear ESC Switch to Work Screen M Mirror I Spline HELP Just for Joke Keyboard Assignments in the Work Screen ---------------------------------------------------------------- The keys for the drawing functions are identically assigned here. In addition, you can switch among working screens and specify block parameters. SPACE Color menu on / off UNDO Undo last operation F1-F10 (+Shift) Magnifying glass 3*3 to 12*12 Cursor left/right Choose drawing colors Cursor up Flip screen vertically Cursor down Flip screen horizontally Cursor+Block Flip block in corresponding direction ESC Cut out rectangular block Control+ESC Cut out circular or elliptical block Shift+ESC Cut out block with lasso Alternate+ESC Cut out block with fill function BACKSPACE Rotate block 90 degrees clockwise (fast) RETURN Set block to current color palette HELP Minimize block spread (CUT). Doesn't work with OBJECT. ClrHome Center block on screen Insert (TT only) Reduced display of the current screen in TT middle resolution ----------------------------------------------------------------- HAVE YOU EVER SEEN? ----------------------------------------------------------------- - That the operating system bug which left the top two screen lines empty when drawing filled objects has been overcome? - That the mouse casts a shadow when it finds itself over a menu shadow? - That the floppy lamps dim rather than blink at the end of information? - That the borders of the selected icons are not of uniform color, but rather are darker on the shadow side? - That the mouse throws a shadow on the borders, too? - That all icons were antialiased by hand? - That only as many disk drives as are actually attached are shown? (No virtual B through disk swaps.) - That even the Block Button has a shadow? - That the day of the week is correctly calculated from the date? [Sonntag, Montag, Dienstag, Mittwoch, Donnerstag, Freitag, Samstag] - That bad disk sectors are shown in dark red during formatting? (And it means absolutely nothing, because I don't flag them in the FAT. Therefore, kismet and into the trash with it! JayBee) - That empty screens are marked with a graffiti-looking EMPTY SCREEN? - That you might finally use up the ribbon on your color printer? (Except for lasers, Desk Jets, and similar great holes into which one can throw his entire savings...) - That every item in 'HAVE YOU EVER SEEN' begins with 'That?' ----------------------------------------------------------------- THE ULTIMATE END - YOU DID IT! -----------------------------------------------------------------