- NEOchrome Master - by Chaos, Inc. of the Delta Force (member of the Union) Preview: NEOchrome Master offers you the following features: - up to 10 different workscreens - totally keyboard controlled - faster drawing of the board. - calculate colors, also STE - using of the Fileselectbox by loading AND saving - loading- and saving-routines for different picture types: - NEOchrome - Degas packed and unpacked - IFF - Doodle - Checking the commandline and changing to the right picture type and loading the picture. - formatting of disks 100% MS-DOS - deleting files - rotate objects at any angle (not only 90ø) - cutter utility to cut objects into a library - saving of the copybox in image format - totally new animation tool - saving of the color palette (assembler and C syntax) - and changing the color palette in every scanline - STE/Blitter support - rasters! - magnify in the lower border of the fullscreen - Saving all options 1. Keyboard codes: 'A' Animate tool 'B' Brush 'C' Copybox 'D' Disk 'E' Eraser 'F' Fill 'G' Grabber 'I' Grid 'J' Jack Knife 'L' Line 'N' Nozzle 'P' Pencil 'R' Rasters 'S' Shapes 'T' Text 'X' Cutter Escape turn board on and off Shift-ESC select color #0 as painting color '1' select color #1 as painting color '2' ... . ... '9' ... '0' select color #10 as painting color 'ž' select color #11 as painting color (on German keyboard) ''' select color #12 as painting color (-'-) '#' ... Backspace ... Help select color #15 as painting color (On american and other keyboards the colors can be changed by the buttons on the upper row of the keyboard including all special chars.) It depends on the available memory how many workscreens NEOchrome offersto you. '0' select workscreen #0 (on numerical keyboard) '1' select workscreen #1 (on numerical keyboard). . '9' select workscreen #9 (on numerical keyboard) Space selects the actual color palette What now follows is a description of all new functions: 2. Copybox You can now rotate the contents of the copybox at any angle. To select any angle diffenrent to 90ø klick on the angle value by the left or (right) button. This will increase (decrease) the angle. You can also select the direction of the rotation by clicking on the small arrow right of the angle. 3. Grabber NEOchrome Master is able to calculate the needed colors between two colors. Put the left and the right color mark (move them by dragging with the right mouse button) to the desired left and right value of the colors. Select 'calculate colors'. NEOchrome Master will now calculate all colors between the left and right color mark so that there is a continues color flow from the left color marked color to the right one. You can now save the selected color palette (see Rasters for more details on selecting palettes) in an ASCII-file to include it into your sourcecode. NEOchrome Master can save for use by assembler or by C. 4. Fill Left button will fill as usual. The right button will fill with color #0 to delete a polygon. The whole miscellany options are now available by the fill function. This was necessary to get a new place in order to put the Raster function there. 5. Eraser Clicking once on the eraser icon selects eraser function. If you click with the right button again on this icon NEOchrome Master quits. Pressing the left button again deletes the whole picture without any UNDO. 6. Disk NEOchrome Master is now able to load files from different picture types. Clicking once at the disk icon you're able to select the desired picture type for loading and saving seperatly. NEOchrome Master is able to check for the right picture type and select this type automatically. This is only possible when the selected picture is saved in IFF-format, by NEOchrome Master in NEOchrome format, or as packed Degas picture. Otherwise NEOchrome Master will try to load the picture by the selected format. Saving pictures is always done in the selected format. You can format disk 100% MS-DOS compatible on any TOS version by clicking at 'format' (single- and double sided). To delete files simply click 'delete'. 7. Cutter This is one of the most complex new routines in NEOchrome Master. I'll try to explain it as good as possible, but you've to try it on your own for full understanding. With the help of the Cutter you can cut objects to animate them or to save them into a special file called 'object-file'. This file contains all information about the cutted objects, so you can use this object file to be loaded by your own program as a graphix library. There are two ways of selecting objects: Firstly, you can open a box similiar to the way of the copybox. Secondly, you can force NEOchrome to search for a frame which surrounds the object. Here it is necessary to set the painting color to the color of the frame (e.g. using the grabber). Afterwards click into the frame with the right mouse button. After selecting any objects it is possible to change the size of the selecting box by clicking the left mouse button at any side or edge of the selecting box. This will resize the selecting box in the way you'd clicked at the object. In order to move a selecting box you click into the selected area with the right mouse button while pressing the button. Realize, so far you just selected an object. To put it into your graphix library click on 'ADD' placed in the options menu (F1 does the same). The selected object is inserted before the right box. How to replace/show/delete a object that is already stored in your graphix library? (i) Select the actual object using the right and left arrow. (ii) click on 'Change' (='F2') /'Show' (='F3') /'Delete'. (Note: You can only insert or add an object when you'd selected an area before.) NEOchrome Master knows the position of all cutted objects. By clicking on 'Show', NEOchrome Master sets the selecting box to its stored position. NEOchrome Master also knows the name of the picture from which the objects are cutted. 'Show' also switches to the corresponding screen from which the object was cutted. How to save/load/clear all objects of your library? (i) Click on save/load/new. If you save your library, NEOchrome Master asks you whether it should save all headers too. 'No' means that the pure data is being saved without any further information (Note: This fromat can't be loaded again!). 'Yes' will save all information, like position and size too (Note: Only this fromat can be loaded). If you load a library, NEOchrome Master asks you whether it should load all pictures too. As you may remember, NEOchrome Master also knows the name of the pictures from which the objects were cutted. All these pictures are loaded by selecting 'Yes'. In case you've changed some graphix simply select 're-cut' (=F10) and NEOchrome Master cuts all objects again. The structure of the object-file (for use with own programs):For none-C-programmers: char=byte, int=word. --------------------------------------------- For Version $0100: char header[6]; always 'NEOOBJ' int version; version e.g. $0100 char filenames[4][13]; names of the four used pictures long filelength; number of bytes following after this entry int number; number of objects in this file --------------------------------------------- For Version $0101: char header[6]; always 'NEOOBJ' int version; version e.g. $0101 int internal_bytes; number of internal bytes following; This is repeated as often as internal_bytes/14: ---> | char screen_number; number of the following workscreen | char filename[13]; Filename for this workscreen --- long filelength; number of bytes following after this entry int number; number of objects in this file ------------------------------------------------ The following structure is called 'object_header': ( 0) long offset; Offset to object data (relativ object_header[0]) ( 4) int width; ( 6) int height; ( 8) unsigned char mask; Is there a mask? (unused) ( 9) unsigned char planes; # of planes (always 4) (10) int width_bytes; (12) int x_neo; Position at NEOchrome picture (14) int y_neo; -'- (16) long reserved; reserved for future use... Saving without any headers starts at this point: After all object_headers follows the data of the objects.... 8. Animate The animation tool can show all objects cutted or loaded by the Cutter. The number of the actual object is written between the two arrows. This object is shown on the screen. The position, where this object is drawn, can be changed by clicking in the icons at the lower right edge of the screen. There are five position where objects can be drawn: (i) left top edge of the screen. That means, that all left upper edges ob the objects are placed in the upper left edge of the screen. (ii) Right top edge of the screen..... (iii) Right bottom of the screen... (iv) Left bottom of the screen. (v) Center of the screen. All objects are centered in the middle of the screen (e.g. useful for objects that are getting greater). Animate can also automatically show all objects. You can tell NEOchrome Master where to start and where to end. To do so, click on arrow up or down of the desired border. NEOchrome Master will start by the number shown in the left arrow. It will end by the number shown in the right arrow (e.g. to show objects 5..9 select '9' in the right border by clicking on the up/down arrows. Then select '5' for the left arrow. ). Clicking with the left mouse button into one of the arrows shows the next/previous object. At the end NEOchrome will start over again. Clicking with the right mouse button into one of the buttons shows all objects automatically. This means, that NEOchrome Master in/decreases the number of the actual object by itself. To increase the speed of the animation you must again click with the right/left mouse button into the arrow. Whether to use the right or left mouse button depends on the direction of the animation (it's the same thing than the changing of speed for the color animation). There's one great problem: If the speed of the animation is at maximum level there is no more mouse cursor. To decrease the speed to a normal level press cursor down. Consequently you can press cursor up for more speed. Cursor left and right selects the previous/next object to show. Sometimes it is necessary to show the objects in a way called "ping pong". Here NEOchrome Master doesn't start over again at the right border. In spite it changes the direction and animates back. You can select this way by clicking at '<->'. But there is more to say.... Maybe you have more than one animation in your graphix library (e.g. 1..5 and 6..9). These are two 'sequenz'. You can change the actual sequenz by clicking at the right or left arrow beside 'sequenz'. Every sequenz has it's own parameters. If you change from one sequenz to another one NEOchrome Master changes all parameters to their last values. Saving just saves the values of all sequenzes not the objects! With the help of load you can load new values into the animate tool. The objects remain unchanged. 9. Rasters To get more colorful pictures you can now change the color palette at a special scanline. This can be done by 'rasters'. There are up to 200 color palettes per picture. The actual color palette can be selected by clicking on the right and left arrow. You can also press at cursor right or left to select a palette. Color palette #0 is the so called 'vbl-palette'. This palette is shown from the beginning of the screen till the 1st raster. To set a color palette at a spezific scanline click with the mousecursor into your picture. At this position will the raster appear. There's one problem! Working at 60Hz synchronisation andrasters at every scanline may crashs the computer. The solution is simple:Switch to 50Hz synchronisation or don't use more than 180 rasters. Another problem is the Blitter. The structure of the Atari ST makes it impossible, at least for me, to get stable rasters without turning the Blitter off. This means that the rasters flicker when moving big objects with the copybox. Turn the Blitter off (using the miscellany menu) and they stay quiet. (Again, solutions to this problem to me, Chaos, Inc.). The position of the actual raster is written in the options board. It can also be showed by clicking at 'Show'. You can erase a raster from your picture by either clicking at y=0 or clicking at 'Delete'. To transfer a single color palette click on the arrow-up. This stores the actual color palette in a buffer. You can read this buffer by clicking at arrow-down. This causes NEOchrome Master to replace the actual color palette by the stored one. You can also save/load rasters by clicking at save/load. All rasters are erased from the screen by clicking at 'clear'. All rasters with position and colors can be stored by clicking at 'Put'. Afterwards it's possible to get all these rasters again by clicking at 'Get'. This is useful to transfer all rasters from one picture/screen to another. Here is the format of the file containing all rasters (*.RST): -----> | WORD y_position; /* shows the position of this raster */ | WORD palette[16]; /* The colors of the raster */ | ------ This is repeated 200 times. The first entry of the file is always the vbl-palette. Its y-position is set to zero. All following rasters with a y_position of zero are not active. It's also possible that the y_positions of the rasters are not sorted. It's exactly the same setting as made in NEOchrome Master. There's another button, called 'LD PAL'. This means 'Load Palette'. Imagine the following situation. You painted a logo. Now you want this logo to get more colorful. e.g. with all rainbow colors in it. The color in which the logo is painted may be #1. Set rasters into your logo at every scanline. The palette of the rasters could be copied by using arrow-up and arrow-down (s.a.). Now you must change color #0 at every palette. Now it's time to use 'LD PAL'. Select color #1. This color would be changed by 'LD PAL'. Select the first raster of the logo as the actual raster. Click on 'LD PAL'. NEOchrome now asks for a *.PAL file. This file contains only colors. The first color of the file overwrites the selected color of the actual palette. The next color of the file overwrites the selected color of the next raster following the actual raster on the screen. This means, that you can change only one color, but in all following rasters. The format of this *.PAL file is very simple: It contains only words without any header. This means every color is coded into one word (like in the color palette register at $FF8240). The end of the file is marked by $ffff or by the physical file end. Important Note for painting with rasters: NEOchrome Master always shows in its board the color palette used at the mouseposition. Imagine the following situation. You are drawing a picture with two palettes. They are switched at position y=50. The actual color palette is #1 (from 50..199). Painting at y=20 shows you the color palette which is used at this coordinate. Moving the mousecursor into the board always shows the actual color palette (here it's the wrong one, because your're painting with palette #0). Maybe you get confused looking at the wrong color palette. Now it's time to use 'space'. Move the mousecursor back at position y=20. Press space. This selects the palette #0 (used at y=20) as the actual one. Moving into the option board now shows the color palette you are working with. Pressing 'space' works with all drawing function, not only rasters.... One more thing about rasters.... Only saving a picture in IFF-format saves the raster too. Remember: pictures with rasters should always be saved in IFF-format (Otherwise you lose your rasters). That's it folks..... I'm always glad to hear your opinion, critics and wishes about NEOchrome Master. Send them to me or give me a call.... Every bug that is send to me will be fixed (Please make a good description containing TOS version, computer type, RAM configuration, NEOchrome version and bug description). If you like NEOchrome Master send some donation either to Dave Staugas or to me, Chaos, Inc. The adress of Dave Staugas is printed by the scroller of NEOchrome Master. And remember..... NEOchrome beat'em all! --------------------------------------------------------------- What's new for version 2.07: - some bugs has been fixed. - Rasters now over the whole screen at any scanline. - 'LD PAL' to change only one color, but in every palette. - STE support could be switched on and off - magnifying glasses at the lower border of the fullscreen. - calculating colors also for STE. - the automatical recognation for the file type is now better. - You can now save all options that you selected. What's new for version 2.10: - totally new keyboard control routine, that's able to repair damaged data packages send by IKBD. It's a little bit self repairing. I hope that you don't have as much trouble as with TurboAss' keyboard routine. (In fact all version above 1.50 are really very (!) good!). - the load_object_bug of version 2.07 is fixed. ---------------------------------------------------------------- What's planned for future versions.... - TT support. (much, much work to go) - A printer output using grey tones. - a selectable grid width - only using 1,2,3, or 4 planes. - bigger pictures (e.g. 640x400) - monochrome painting (?) - selecting of number of workscreens to get more memory for cutter.