home *** CD-ROM | disk | FTP | other *** search
/ The Grim Reaper 13 / Grim_Reaper_The_Issue_13_1994___BASIC.atr / ged.doc < prev    next >
Text File  |  2023-02-26  |  16KB  |  1 lines

  1. GED v.2 - See the end of this document for new changes.¢¢GED is not a full featured drawing program. I have used it only for doing color and simple pixel cleanup. It is also the only self contained program right now that can display this graphic format.¢¢GED, and the code which it contains, are not public domain. It is freely distributable though for non-commercial applications. Please contact me if you wish to use this graphic format in a commercial product. GED is (C) 1993 by John Harris.¢*¢GED OVERVIEW¢------------¢¢GED was designed to create the best possible flicker-free graphics that the Atari can display. It uses almost 10K of inline code to continually stuff new colors into the color registers, allowing up to 9 playfield colors per scan line.¢¢GED can also place PMGs anywhere on the screen. You may change the width, color, and priorities. GED can change one graphic register per scan line, allowing you to reposition PMGs for multiple uses. GED tries to be as flexible as possible with PMG editing, so that you can simply position and draw wherever you wish. However there are limits to what the program can do, and it may be beneficial to read the TECH.DOC file, to get a better idea for what is going on.¢¢The bottom line of all this, is that you can get up to 14 colors per scan line, and 9 of those can change every line. Plus having full control over all of the graphic registers, and being able to change one per scan line.¢*¢GED DRAWING¢-----------¢¢The joystick can be used to move the cursor. The movement may appear choppy at first, but the stick routines are designed to allow single pixel movements by tapping the stick in any direction. Even diagonals can be moved without getting horizontal or vertical 'tails' on the diagonal lines.¢¢The cursor can also be moved with the arrow keys. The keys by themselves will move 1 pixel. With Contol pressed, it will move 8 pixels.¢¢Shift-Control-Up will take the cursor to the top of the screen. This will be useful for changing player/missle registers, as described later.¢¢Press the fire button on the joystick to draw with the active color. If the pixel was already the active color, at the location where the fire button was first pressed, then pixels will be erased with the background color as long as the button is held down. This allows easy plot and erase of a particular color without having to select colors from the keyboard. The tradeoff, is that you must make sure you start drawing on a pixel that is a different color to prevent going into 'erase mode'.¢¢To change the active color register, use the keys 0-3, with 0 being the background color. You can also move the cursor onto a color you wish to draw with, and press 'G' to grab that color.¢¢To clear the entire screen, press the keys Shift-Control-Tab.¢¢Press Shift-X to exit to DOS.¢*¢FILL MODE¢---------¢¢Press the Spacebar to toggle between drawing mode and fill mode. There is an icon at the top of the screen to indicate what mode you are in. It will be a line in draw mode, or a filled box in fill mode. The cursor flash rate will also be faster in fill mode, as an additional visual cue.¢¢Fills may also be made in dither mode. Press the 'D' key, followed by a number from 0-3. A crosshatch dither will be formed between this number, and the active color register. The icon will show a dithered box when the dither option is set. Press D again to return to solid fill.¢¢The fill mode in GED is a simple top down fill, within the borders of the color register where the fill was started.¢¢Press 'U' to Undo a fill operation.¢¢The fill mode currently fills only the color register. Color palette settings are not carried with the fill, and these may need to be copied manually with the 'C' command (Described later). This will likely be improved in a later release as well.¢*¢PLAYER/MISSLE EDITING (PMG)¢---------------------------¢¢Press 'P' to toggle between PMG and playfield editing. An indicator just to the left of the Draw/Fill icon will turn on in PMG mode.¢¢The mode will default to an auto-select of whichever PMG object is under the current cursor location. Just press the fire button to draw/erase, or enter PMG commands, and they will automatically use the PMG at the cursor location, if one exists. Nothing will happen if there is no PMG object at that location.¢¢Specific PMG objects may be selected manually, by pressing the keys 1-4 to select players 1-4, or 5-8 to select missles 1-4. Even though players are technically labeled from 0-3, I use 1-4 for ease in keyboard selection. Manual selection will become necessary if two PMGs overlap, because the auto-select routine will always take the lower number.¢¢Both solid and dithered fills react differently with PMG objects.¢¢There is no function to fill to graphic borders, and fill mode will simply copy the current line of a PMG object to the next line. Thus to fill a PMG, you will need to draw a line across the top of the PMG, press the spacebar to turn on fill mode, and then hold the fire button while pulling the joystick down. Dither mode operates in the same way, except that when dither patterns are detected, they are bit shifted to maintain the pattern. To create a dithered PMG, you will need to plot every other pixel on the top line of the PMG. Press the spacebar and the 'D' key, and then hold the fire button and stick down in the same manner as solid filling.¢*¢PMG COMMANDS¢------------¢¢< > Change the current PMG's width.¢M   Toggle the priority bit for missles being used as a 5th player.¢O   Toggle the priority bit for overlapping PMG colors.¢F   Toggle four modes of playfield and PMG priority order. This changes which objects appear 'in Front' of other objects.¢*¢POSITIONING PMGs¢----------------¢¢Shift 1-8 sets the horizontal position of the corresponding PMG to the cursor location. This operates a bit differently whether or not the cursor is located on the top scan line. There is a table that stores the starting attributes for all PMG registers. When the cursor is on the top scan line, any PMG changes will be made to this table, and all of the PMG attributes can be configured. When the cursor is partway down the screen, changes are made within the DLI routine which can only support one register change per line. In case of conflicts, GED will try to find free spots to make DLI register changes, but there are limits to what the program can do. This is explained more fully in the TECH.DOC file, and I suggest you study this if you want to get the most out of this potentially powerful ability.¢¢Another difference occurs when changing PMGs at the top of the screen. The missle objects have some auto-positioning logic to place themselves at optimum locations. When fifth player enable is turned off, missles will automatically be placed at the end of their corresponding players, allowing a slightly larger player object. Changes to the player's position or size will automatically relocate the missle to its proper place. With fifth player enabled, all of the missles will be placed one after another, adjusting for any changes in missle size. Shift-5, which sets the location of the first missle, will set the starting location of the fifth player. These auto-placements are only valid at the top of the screen. If you reposition PMGs in the middle of the screen, each missle must be moved individually - even with fifth player enabled.¢*¢BRUSHES¢-------¢¢GED allows a limited form of brushes, that can copy data from a PMG object to the playfield. The implementation is simple, but can still be quite useful.¢¢Draw a shape in one of the PMG objects, and then move the cursor to the top of the shape and press the 'B' key. This will place the program in Brush mode, and anytime the joystick button is pressed, GED will copy the shape from the PMG object into the playfield at the cursor location, using the active color register. The first blank line encountered in the PMG object will mark the end of the brush.¢¢The drawing mode icon will be a round dot when in brush mode.¢¢Press 'B' again, or the space bar to return to regular drawing mode.¢*¢COLOR PALETTE CONTROLS¢----------------------¢¢Briefly, since the color registers are stuffed multiple times per line, a change in the color palette will only effect a portion of the line which I call a color cell. To see a visual appearance of color cells, start from the empty GED screen and fill it with color register 1. Then move down several lines and fill with color 2. Repeat with color 3. Then press the 'T' key to put up the test palette, and look at the screen. The color registers in the playfield data have not been changed, but multiple colors are being stuffed into them, creating vertical bands of color. Each different colored section of a line is what I call a color cell. It's a color register that is only displayed for part of the scan line. There are eight color cells per line, although you would have to plot all of the color registers on the same line in order to see all eight color cells on the same line.¢¢The TECH.DOC file has a more complete description of color cells. If you're lost, try and study that file and see if it makes any more sense. I'm always available to answer questions as well.¢¢With that out of the way, here's how you change colors.¢¢Shift-Arrows adjust the Hue+Intensity of the color cell at the cursor location.¢¢When PMG mode is active, the color of the currently selected PMG object will be changed. Changing PMG colors works a bit differently than the playfield colors. Since new colors are not stuffed automatically each line, PMG color changes will effect all lines from the cursor position to the bottom of the screen, or to any other place where the color was previously changed further down the screen.¢¢Playfield color changes only effect one scan line, so there needs to be an easy way to copy color palettes to additional lines. The 'C' key will copy the current color cell into the same position on the next line down. You can hold down the C key to repeat the effect. Use the C function when you are changing just one color, and don't want to change any of the other color cells.¢¢The 'W' key will copy the entire line of color cell palettes to the next line down. Use this function when you have changed all of the color registers, and want to copy the entire palette.¢¢The 'X' key allows you to exchange two playfield color registers. One register should be selected with the 0-3 keys, (or the G command). Then position the cursor on top of the color you wish to exchange with, and press X. The command will effect all of the screen below, and to the right of the cursor location. Also, the active color register will be exchanged as well. Since the pixel at the cursor location was swapped, having the active color changed too will allow you to press X a second time to toggle things back the way they were.¢*¢COLOR CELL BOUNDARIES¢---------------------¢¢GED now allows the locations of the color cell boundaries to be skewed left or right as a group. Normally, this is the first step to perform when coloring a picture, to best match color cell boundaries to the objects in the picture. This is a global screen setting only, and cannot be adjusted in mid-screen.¢¢The ',' and '.' keys skew the boundaries left or right.¢¢The 'T' key changes the screen to a test palette, which will make it easier to see the boundaries between the color cells. This is the best mode to be in when using the above skew control. Press T again to return to the normal screen palette.¢*¢DISK I/O¢--------¢¢The compression protocol has not yet been implemented, but this will be included in a future release. Future GED versions will be able to load uncompressed pictures without problems.¢¢To get a disk directory, press Esc, and then a number from 1-9. The directory function also sets the current default drive. Filenames for loading & saving will use the default drive without having to type 'Dn:'.¢¢L - Load graphic.¢S - Save graphic. This will prompt with the last loaded filename. Press return to accept it, or edit the name and press return.¢¢GED will load DOS II binary files with the load function. This can be used to import GR.15 raw data, PMG data, or GED format color palettes. Although there is no method for saving individual components like this from within GED, these may be saved from DOS after exiting GED. Here are the memory addresses for the various components:¢¢$5330-$5AFF Color palette data¢$5B00-$5FFF PMG data¢$6000-$600F Picture header¢$6010-$7F4F 320x200 screen data¢*¢COLORING HINTS¢--------------¢¢The default priority mode in GED is to draw PMG objects behind the playfield. In this mode, PMGs will only be visable in sections of the picture that are cleared to background color. This often works out best, since you can make the players maximum width, and mask in front of them with other colors at full resolution. Note that when the missles are combined as a fifth player, this object appears in front of all playfield colors, regardless of the priority settings. I'm a bit confused by this, since the hardware manual appears to show that it should be possible to have its priority below the playfield. This is not the way it works in the real world though.¢¢Coloring pictures in GED can be an interesting process, because of all the potential choices for selecting which registers or objects will display which colors. The boundaries where the color register changes occur are staggered for each register (See the TECH.DOC file for more information). What this means, is that finding the optimum selection of color registers often requires a lot of juggling, and there are no rules that say a solid colored object will be drawn entirely with the same color register. As an object changes shape as it progesses down the screen, it may cross different color boundaries, making it advantageous to switch to a different color register. You would then change the palette of the new register to match, and the old register will be freed to use for something else.¢¢I will be uploading some tutorial pictures in the near future, to help you figure out how to make the best use of available registers. I just didn't have time to finish these for the initial release.¢*¢OTHER SAMPLE PICTURES¢---------------------¢¢The MARTIAN.GED picture was done with an early version of GED that did not support PMG objects. Even still, it has a good dispersion of colors for a playfield only picture, showing as much as 8 colors per line. I also really like the anti-aliased fonts.¢¢TEST.GED shows how many colors you can display on one line using the new mode. By including dithering, the bars at the top show 40 colors per line. The boxes at the bottom show a decent flesh tone color made by alternating scanlines of pink and orange. The box in the middle is formed from the colors of the other two. The greatest thing about this flesh color, is that it takes only one color register since there are no horizontal changes.¢*¢GED UPDATE HISTORY¢------------------¢¢** v.1 **¢¢Initial release.¢¢** v.2 **¢¢New Features:¢¢Undo command for fill operations, using the 'U' key.¢¢The 'X' key allows you to exchange two playfield color registers. One register should be selected with the 0-3 keys, (or the G command). Then position the cursor on top of the color you wish to exchange with, and press X. The command will effect all of the screen below, and to the right of the cursor location. Also, the active color register will be exchanged as well. Since the pixel at the cursor location was swapped, having the active color changed too will allow you to press X a second time to toggle things back the way they were.¢¢Quick reference guide included as file GEDQUICK.DOC.¢¢Bug Fixes:¢¢Several internal operations did not adjust properly to different skew settings, causing the wrong color cells to be selected.¢¢The C command to copy colors did not work.¢¢The position of Missle #1 was not stable.¢¢Positions of missles 2-4 did not automatically adjust to changes in missle #1's position, when 5th player mode is enabled (Note, auto-adjustment only occurs when position is changed on the top scan line).¢¢GED has a run address appended to the file, for non-Sparta users. Hopefully, I will continue to remember this in the future.¢*¢KEEP IN TOUCH¢-------------¢¢I'm always interested to receive feedback on GED, or anything else.¢¢John Harris¢45346 Graceway Dr.¢Ahwahnee, CA 93601¢¢jharris@cup.portal.com¢GEnie:JHARRIS32¢