3. What files will be the result of using this program ?
4. What file extensions accepts the program ?
7. Color palette in Atari800Win emulator and Graph2Font
8. Colorful pictures in Hires mode
The Graph2Font (G2F) program treats the image as fields with dimensions of 4x8, 2x8, 8x8 pixels. These fields are charset(s) (fonts) and if only some field is repeated then it's exchanged with adequate sign (font). This is some kind of loseless image compression. At the beginning this program had been used only to convert graphics to chars but now it also allows you to do multicolor graphics for the 8-bit Atari.
In the 4x1 pixels mode sprites (PMG objects) are not supported.
With the 2x1,1x1 modes they should work without any problems.
Currently thanks to the PMG objects and the chars, pictures made with G2F may have up to 9 colors per single (raster) line. Perhaps it isn't as many colors as in CIN-format but there is no interlace.
Now it is possible to set up the 5th player as well as changes in raster. Similarly to GED (graphics editor by John Harris) you may change the same (or other) color register several times in one line.
PMG objects have 4 priorities (without 0) in color graphics mode and one priority in hires. Understanding of them will allow you to do graphics colored-up with these objects.
You are free to set any of the PMG objects, colors changing in every line, etc. in Graph2Font, but user should be aware to obey the limit of color-changes per line, because the Atari probably will not make it. To test this limit, just use the 'Check' option (Option->Check, CTRL+C).
*- Why on PC ?
Because it's easier to see the picture or to change the resolution. Also, on PC you can just see more at once. And in the future the processing of more files at once (batch mode) will probably be possible.
Screen resolution (Screen) and the Atari graphics mode (Pixel)
32,40,48 - amount bytes per line 1x1,2x1,4x1 - the proportions of Atari 8-bit pixel (which matches Basic Graphics modes 8,15,9)
It's important to remember that the TV allows to display only 44 bytes per line. Two bytes on the left and on the right will not be shown.
After changing the graphics mode (Options->Standard, Options->Optymizing)
you get the possiblity to save the FNT, SCR, TAB, ALL files.
Screen in text-mode has the height of 30 chars by default, the last row is always in Pixel=2 mode and thank to it, the screen doesn't become "bent".
If you choose one of the "graph-to-font" methods, there appears also third one - "Original". The graphics here isn't converted into fonts but vice-versa (the font into graphics). If it is on the screen with more than one char of the same number (after using "Optymizing"), then only the modification of last char will be remembered.
The easiest way is then to set "Original" after choosing "Standard" optimizing. Here any char of charset has its own unique number. The change of any of it will be remembered.
FNT - this file contains charsets (1024 byter each) SCR - here are the graphics on chars - 960, 1200 or 1440 bytes long TAB - 30-bytes table, each line is represented by one charset, it's only saved and if you are going to load FNT file, the program automatically loads the this file ; if TAB file do not exist, you can see a message ALL - all mentioned above files are being appended into single file, you can only save it, because G2F doesn't allow to load it back into program COL - color palette for each screen-line (5 x 256 bytes long) PMG - some informations about PMG graphics, not very useful for Atari G2F - "native" format of this program - instead of loading all files mentioned above ; simply use this one :)
It's also possible to save a file in Atari-DOS format (6-byte header -> shown at picture below). By default FNT, SCR and TAB files are saved without this header. When compiling into XEX or ASM file - the headers are switched off.
Saving the FNT file without DOS-header with compression Standard or Optymizing allows to load it later back into G2F.
Graph2Font accepts following formats: BMP, DAT, MIC, INV, FNT.
FNT - charset compressed using Standard or Optymizing compression, if the number of charsets exceeds 1, then program tries to load TAB file (see above section) MIC - 7680, 9600 or 11520 bytes, data for ANTIC screen memory, last 4-bytes with colors (712, 708, 709, 710) DAT - max 240*48 bytes of every stuff, screen-data as in MIC-file but in others resolutions INV - inverse map, this file is very similar to SCR-file, but it's allocated in different table in memory. In the conversion process the chars will be compared with the chars in SCR and if the value will be >=128 then in SCR-file the inverse-bit will be set. Allowed lengths are 960, 1200, 1440 bytes (same as in SCR). It's useful when the graphics has been already converted to chars and there's no need to do it again but instead use this file. BMP - the files in Windows Bitmap-format, saved in any way. After loading it G2F will suggest the replacement the BMP-colors into the colors form Atari-palette and the user will be allowed to set them himself (herself?) :)
I guess in intuitively way :) with using mainly mouse except for pixeling in Zoom mode where color can be selected by pressing Q and W keys, and 1-8 keys for turning PMG objects on and off.
Why it is done in this way? Because in some lines you could change color pallette and to make sure cursor is motionless and shows proper line, you have to use second hand :). So the program is intended to use by clever human beings. :D. G2F requires also some knowledge of Atari 8-bit graphics.
{File} Open... - loads a file with acceptable extension Save As.. - saves a file with one of (mentioned above) formats /G2F/ - saves all data in one file /ASM/ - creates file in X-ASM format, together with FNT and SCR file that are needed while compiling ASM file. /BMP/ - saves current picture as BMP file /XEX/ - saves ASM and compiles it as executable file for Atari (XEX format) /MIC/ - saves only picture data (raw screen) /COL/ - saves info about picture's colors /PMG/ - saves info about PMG objects Exit - finishes G2F and quits to Windows
{Edit} Colors - color editing every line. If color changes applies to the whole graphics, you need to set LINE parameter to 0 and RANGE to 239, then press FILL COLORS button. Rasters - editing of color changes' in rasterline Screen - screen editing - for image that was already conveted into chars, and here you can add 5th color, modify the look, etc. Sprites - sprite (PMG objects) editing, setting up their colors, position, width, priority
{Options} Standard - converts picture into charsets without any compression Optymizing- converts picture into charsets with compression ; in case of using 1x1 or 4x1 pixel mode, special routine checks whether the char is inversed Original - converts chars into picture ; automatic conversion into chars is disabled and modyfing any of the char will make other chars with the same code look identical Check - tests amount of changes per single line ; if that amount is bigger than allowed limit for selected screen width and graphics mode, then an error will appear Chars fill- displays how many chars were used in each charset Show chars- shows graphics as Atari chars
{Screen} Clear - clears screen and sets up the line counter to 0 (Height) Chg Col - Change Colors, so it changes colors of the picture Chg Spr - Change Sprites, so it changes color or shapes of sprites (PMG objects) MoveXY - moving screen in horizontal and vertical way Negativ - make graphics (not chars, but graphics data) as inverted (Refresh) - refreshes screen {Zoom} - enlarges screen ; you can put pixels on (background) graphics and PMG objects in Atari pixel ratio {About} - tells about G2F creators
Three windows of choice (or frames to be exact) are located on the right side. You can decide whether
PREVIEW: PMG - ...to show and edit PMG objects (players + missiles) only Gfx - ...to show and edit (background) graphics only All - ...to show and edit (background) graphics together with PMG objects There is edit mode enabled in ZOOM for every option mentioned above. SCREEN: 32 - narrow screen, width at 32 bytes (256 pixels in HiRes) 40 - normal screen width, 40 bytes (320 pixels in HiRes) 48 - wide screen, 48 bytes in line (384 pixels in HiRes) There is always wide screen in ZOOM mode. PIXEL: 1x1 - Graphics 8 Basic mode, max. 384x240 pixels (HiRes mode), 2 colors 2x1 - Graphics 15 Basic mode, max. 192x240, 4 colors + 5th color with chars (inverse) 4x1 - Graphics 9 Basic mode (GTIA mode), max. 96x240, 16 shades of one color MODE: "GED+" enables raster editing, up to 4 changes per line ; the screen works at width of 32 or 40 bytes in this mode "DLI" can be changed every line on DLI-interrupt and with all screen's width. "GED-" enables raster editing (bitmap graphics)
After you have loaded a graphics, you can start to make it more colorful. As Dracon noticed, G2F allows you to create graphics in MCS-style, so 5 colors on chars and sprites (PMG objects). There are some examples available of converted MCS-graphics, just take a look at "DRUID.G2F".
You can also use 'Edit Screen' option to convert graphics into chars and add 5th color. In Zoom mode (ALT+Z) G2F tells whether you can that 5th color on desired area, or not. Keep in mind that you can't make chars inversed in Zoom mode.
Choosing ZOOM allows you to edit (background) graphics and PMG objects. There are 5 zoom scales to choose from: 1x, 2x, 4x, 8x, 16x.
Buttons Colors lub Sprites turn on or off windows with color palette (COLORS) or PMG objects (SPRITES).
FILL SPRITES selects a drawing style of players and missiles.
XOR - pixels are being put and cleared alternatively OR - pixels are being put ; fast fill AND - pixels are being cleared ; fast clearing
In case of setting up PREVIEW=GFX, you can change pen size in Zoom mode - PEN SIZE. Available sizes (width x height) are: 1x1, 4x4, 8x8 pixels. The cursor is in the shape of square or rectangle.
COLORS window shows current color palette of graphics (PlaField), in a line where the mouse cursor is located.
SPRITES window tells if there is any PMG object located at cursor position. By pressing keys 1-8 you can turn on objects (red description) or turn off (without red description).
This window comes in handy when the PMG objects overlap. The number of PMG object defines overlapping order: P0, P1, P2, P3. A missile goes together with Player (they're linked in some way): M0, M1, M2, M3. The less number sprite is, the higher priority it has.
At the top is the pair P0-M0 (Player0 and Missile0), next is P1-M1, P2-M2, P3-M3 (so, there are objects at the top from the left and there are objects at the bottom on the right).
To get to the P1, you have to turn P0 off (if it is being overlapped by P0). Press a key that is located on small colorful square (above object's description) ; pressing that key again will turn the object on.
There is a facilitation when modifying PMG objects - it is a special display mode: PREVIEW=PMG. Turning this on will cause all objects to be put on a black background, so it's easier to see what happens on the screen. :)
Changing the shape and color of a PMG object.
Set desired screen line (LINE parameter) and range (RANGE) in which the change will appear.
This applies only to shape and colors. You can change missiles to missiles and players to players. There is no possibility to change missile to player or vice-versa.
Changing colors of picture.
Set desired screen line (LINE) and range(RANGE) in which color change will appear.
e.g. color change 709 -> 710 (pixels of 709 color register will be replaced with pixels of 710 color register)
e.g. color change 710 -> 711 (color of 710 will replace color register 711 - so it's faster for using inverse (5th color) on the screen)
You can move yellow cursor by using arrow keys from numeric keypad (NumLock=ON) or by clicking on the picture. Its screen position X,Y is displayed at left upper corner of 'Edit Screen' window.
One of char (CHAR parameter), being under cursor, is displayed at the bottom of window. Next to it, there is also shown its number in charset (value 0-127, inversed chars as 128-255 values). Changing this number will cause putting new char (which number was just entered), that will be placed at current cursor position.
CHARSET button tells about current charset number the cursor stays at. Pressing that button will open a window in which you can see the whole current charset.
By pressing left mouse button on one of displayed chars twice, you make char code entered into CHAR parameter and putting it at yellow cursor's position in the picture.
INV button allows to add or remove an inverse of the char ; in case of 2x1 pixel mode, it gives 5th color. Inverse can be set also by pressing SPACE key or Ins(0) key from numeric keypad as well.
MEM button preserves char (value) from CHAR parameter, just to use it when putting on the screen later (right mouse button). The char can also be preserved by pressing ENTER key.
ADD button preserves next char and adds it to the list. So, in this way you can put on the screen a lot of preserved chars with only one mouse click (right button). A single char can also be added to the list by clicking + key.
As for the (Y) parameter, this means how many lines will be moved vertically (if you make the values in multiple of 8 (1 char height), the data will be moved together with the inverse flag.
If you make your cursor motionless when being at the window with value, then a small 'balloon' appears ; it suggests you in which direction the picture is to be moved.
You can decide what type of data will be moved: PMG (players and missiles), GFX (graphics data), Colors (color palette and raster-changes).
COPY and PASTE buttons serves to copy and paste horizontal areas that are set by LINE and RANGE parameters.
If you want to copy a graphics block, select it from the top by using LINE-RANGE parameter and also with sliders that are located at the bottom of 'Move XY' window.
You can copy between different pictures.
Range, which the screen is to be moved, applies only to 'MOVE X' parameter. There is always the whole screen moved for 'MOVE Y' option; to get rid of it, you have to use'Copy->Paste' option.
- you can set colors by clicking on colorful square and choose one from the palette ('Select Color...') - you can set line range in LINE window (current line) and in RANGE parameter, so that's the range color that color changes after pressing FILL COLORS button. You can use mouse to set Y-position for LINE parameter. - GET button allows you to automatically setting for LINE and RANGE parameters; they both will show the range, in which selected color appears (there is a sign '*' near current color) - Load and Save Colors are available after selecting 'File->Open...' command - In zoom mode you can change active color by pressing Q key (in the left) or W key (in the right). Color 0 (BAK) serves also to PMG objects modification.
- you can set colors in a similar way like in Edit Colors function - X-field is a horizonal position of a player or a missile; X=-1 means invisible object (you can also use mouse, by clicking in the picture). To put '-1' value just enter '0' - S-field is player or missile width ; S=0 means single width, S=2 means double width and S=4 is quadruple width - Priority is the way of overlapping PMG and PlayField graphics, which would require some greater explanation. Keep in mind that priority works different in 2x1 and 1x1 mode. - 'Player 4' is 5th player (numeration in G2F starts from zero - 0..4) - LINE and RANGE parameters work the same as in 'Edit Colors'. Pressing FILL COLORS will set new colors in selected area. And changing following parameters: X position, S width, 5th player and Priority, requires to confirm it with CHANGE button. You can use mouse to set X and Y position for LINE parameter. - a small button between LINE and RANGE is GET; it takes information about already set objects in line (LINE parameter), color, X position, S width. After pressing this button, LINE, RANGE and vertical selection of range are being set up. This button comes in handy when checking out whether a PMG object (that you edit now), wasn't set before. - Load and Save Sprites functions are now available after selecting 'File->Open...' - Using keys from '1' to '8' in Zoom mode, you can decide whether editing of PMG object is allowed or not (object's name in red color = modification is allowed; and lack of the red one = modification is disabled). That comes in handy when sprites overlap one another - then you can turn the object at the top off, and all next operation will apply to the object below. Keep in mind there is always player or missile of the least number located at the top.
If you change X position or S width of a PMG object, then a small 'star' sign appears (*). It means this object is being modified right now.
PMG - Players Missiles Graphics
Colors come from PM0(704), PM1(705), PM2(706), PM3(707) ; and for player and missles it remains the same.
PF - Playfield
Colors come from PF0(708), PF1(709), PF2(710), PF3(711), BAK(712). PF3-color appears only when PF2-color is to inverse flag.
The priority will define relationships between colors mentioned above. There is neither priority mode=0 nor combination for greater amount of bits implemented. Personally, having created some pictures, i always used only priorities mentioned below.
priority 1 2 4 8 the highest> PM0 PM0 P4 PF0 PM1 PM1 PF0 PF1 PM2 P4 PF1 PM0 PM3 PF0 PF2 PM1 P4 PF1 PF3 PM2 PF0 PF2 PM0 PM3 PF1 PF3 PM1 P4 PF2 PM2 PM2 PF2 PF3 PM3 PM3 PF3 the lowest> BAK BAK BAK BAK
BAK (background) has always the lowest piority, so it will be covered by any other color.
The easiest thing is when using priority=4. Then you can create a picture, in which all PM (player/missile) colors are covered by playfield (PF) ones. In this situation BAK-color (background) will not be what its name says, but it is now rather a special 'see-through' color (PMG objects will be visible through that one). And as for black color, that is the most frequently used one for the background, it will now become as PF0 or PF1 or PF2 or PF3.
You should smartly arrange your picture, so that BAK-color will be used for making "holes" in which you will put PMG objects later.
An example picture named "DRUID" is done in different way than on real Atari, because its author used =0, =4 and =8 priorites. When priority is set equivocally, PM colors cause color change of PF (overcolors). For the G2F version, I use priority =4 and background from PF0 register instead of BAK color. I put pixel from BAK in places where I want to see sprite's color.
Main aim of map editor is to put together an image from many screens. Every screen has width of 32, 40 or 48 bytes and height from 1 to 30 lines (1 line = 8 rasterlines).
EDIT MAPS option will be activated after loading .G2F or .BMP file. ALT+M causes Graph2Fnt to open extra window, in which left side is reserved for preview of screens' layout. Right one allows to preview their contents.
Width and Height define max. width and height of edited map. Altering those values will change amount of fields (small squares) that represent screens. Asterisk (*) that is placed in that field means there is set up screen.
To get started:
create new directory and select it in G2F (choose NEW in FILE submenu)
All screens that the map consist of, will be saved in this directory.
To view a screen, just click on any field marked with '*'. Then chosen screen appears - it's centered and also you can see other adjoining ones.
INSERT SCREEN button allows to add screen to a field of X,Y coordinates.
REMOVE SCREEN kills screen from field of X, Y coordinates.
EDIT SCREEN button causes G2F to load selected screen from X,Y position into main window.
. Color palette in Atari800Win emulator and Graph2Font
Graph2Font uses a bit improved color palette (JAKUB.ACT).
To match up colors from Atari800Win and G2F, choose 'View->Palette...' option in emulator and load JAKUB.ACT or G2F.ACT, which is located under \Palette\ directory in G2F.
Then select 'Use external palette' checkbox there, but 'Apply adjustment' option you should leave unmarked.
This simple and wonderful trick make pictures in emu look identical as in G2F. :)
- And why does G2F's color palette should not be the same as that default one in Atari800Win ?
- That's because of some unexpected wonders that could happen to your work. For example, >0 colors that completely make hires colorful, which isn't true on real Atari (but it works on emulator though). A800Win has got too dark colors by deafult, so not all picture's details will be visibile.
Coloring graphics in hires is not clear enough for everybody.
The whole trick is based on interrelation between sprite and graphics colors (it's all about its brightnesses, to be exact).
There are 2 colors available in hires that interact with each other: PF1(709) and PF2(710)
PF1 is brightness and only graphics brightness (lit pixels)
PF2 is background color (unlit pixels)
If you change PF2 (background), then PF1 (graphics) takes PF2's color and PF1's brightness.
If you are going to change PF1, keep in mind that you can only alter its brightness and PF2 remains the same.
'Sprites' color PM0...PM3 will depend on brightness of lit pixels of graphics, so they are mainly from PF1 and less from unlit pixels (PF2)
Sprite is located above PF1: - if brightness from PF1<>sprite brightness, then sprite will take brigtness from PF1 register, PF1's graphics is, in some way, colored with sprite's color - if brightness from PF1 = sprite brightness (they're equal), then sprite doesn't change its brightness and it covers PF1 color.
Sprite is located above PF2: - sprite color remains the same, it covers only PF2 color
So, according to mentioned interrelation, you can now try to colorise in hires mode ; you only have to swap graphics'' colors, that means PF2 (background) will become a color of lit pixels of PF1 and PF1 is changed to PF2.
Because of this change, PF1 color becomes background one and its brightness will affect sprites' brightness. Background is usually black and brigtness of black color is =0 :)
So, if sprite will cover PF1 color (that is =0), then also it takes brightness =0.
Going this way, if sprite color =0 and PF1=0, PF2=14 and the sprite partly covers PF1 color and also part of PF2, then you see only colored fragment of PF2 color; there will be only black color in PF1's place (sprite's color =0 took over brightness PF1=0).
If you use colors, you have to keep in mind that in places where PF1=0, sprite also will take brigtness =0. Fortunately, such black color doesn't stand out ; in any case check out yourself - there is a colored picture done in that way: 'TVTEST_HiRes.G2F'
When coloring HiRes graphics with using sprites and rasterchanges, you should pay attention to the way sprites are placed; they always should overlap playfield graphics that has changed color. It turned out that Atari in HiRes mode has got a small bug that emulator will not show.
There is an additional (brighter) color that appears in a place, where color from raster-change and sprite come across. It is in the shape of a small vertical bar.
To get rid of it, remember that sprites always have to overlap area with changed color at one pixel 'depth'.
You can do a data compilation only with using X-Asm by Mr.Fox :) http://atariarea.histeria.pl/x-asm/
Select one of the three possible routines: GED+ or DLI or GED-.
After pressing Save ASM button, the program will write *.ASM file or *.ASQ, *.FNT and *.SCR or *.RAW
G2F will write PMG data, regardless of using it.
An example fragment of program written in assembler may look like this:sta $d40a ;line=22 lda >fnt+$400*$01 sta $d40a ;line=23 sta CHARBASE lda #$FA ldx #$03 ldy #$6E sta $d40a ;line=24 sta Playfield_Color3_PF3 stx Player2_Size sty Player2_PositionX lda #$F2 sta Player2_Missile2_Color_PM2 sta $d40a ;line=25In every line with 'STA $D40A', there is placed a piece of information about which one it is. This information helps to find out where the changes appear (and to correct some bugs in G2F).
The correction may be necessary when there are too many 'STA' statements placed in 1 line (see chapter 9). You will see empty line on Atari or the computer simply will lock-up (that means Atari was unable to make changes in the line). There will be following warning (in program's listing) in this case:
;-- too many changes in this lineIf Atari screen differs from what it look in G2F, you have to check out which is the mentioned line. Then, enter G2F and move one of color changes (or sprites) up or down.
While pixeling "Druid" picture, I noticed that changing PMG objects on the area with BAK color (background) may cause some small garbage to appear on Atari (that means single long pixels that are remains of changing of PMG's X position. To eliminate them, you just have to erase pixels - set up wider range in which player or missile is to be appear, then delete unwanted (extra) area. Or save *.asm file (Save ASM) - because area without acitive (set) PMG objects will be nullified.
If it turned out that both Atari and G2F final effect don't look the same, please let me know about it at: tbiela@poczta.onet.pl
Saving currently displayed picture in Windows' BMP file. Format specification is 24bit per pixel and screen will be resized (there will be used Atari screen ratio).
Trying to load that BMP-file again to G2F will probably shock you. :) especially when there are more than 4 colors on the screen.
This operation will cause automatic data compiling to *.XEX file with using 'XASM.EXE' program.
Filename can be long, and 'XASM.EXE' file has to be placed in the same directory from which G2F has been started .../XASM/xasm.exe
Program works without any problems with following hardware:
OS: Windows 98SE, 2000, XP (WIN 32-BIT IS PREFERABLE) GFX: Nvidia_TNT2-M64, Nvidia_Geforce3_Ti450, ATI RAGE 128 (32 mb), S3Virge, ATI RADEON 9800 RAM: 64MB CPU: Celeron_656Mhz, P3_450Mhz, P2_233Mhz, P4_2,80 GhzProgram doesn't work with following hardware:
OS: Windows 95
Graph2fnt prefers graphics cards with full TrueColor support.
G2F will load BMP file saved in any way.
It will display first 16 colors from BMP palette and show which ones from Atari palette they will be exchanged for.
User can set Atari colors (708-712) himself (herself? ;) ) by clicking arrow up/down keys in the field where the cursor is located.
Confirmation of change and the process of exchanging BMP color for Atari ones according to new order, will follow after pressing PREVIEW button.
BMP files can also be loaded separately ; for every loaded fragment there will be set separate Atari palette then.
There has been added a new option since version 3.5 -> CHECK. It serves to check out if the picture is completely error-free. Error means to exceed limit of changes per line.
For every screen width this limit is different. Graphics mode doesn't matter.
In case of ASM=GED+ option, if there are more than 4 changes per line on the picture, then program doesn't allow you to write ASM and XEX file.
Maximum amount of changes per line:ASM=DLI (char mode) Pixel=1 Pixel=2 48b 2 4 40b 3 5 32b 4 6 ASM=GED+ (char mode) Pixel=1 Pixel=2 40b 4 4 32b 4 4 ASM=GED- (bitmap mode) Pixel=1 Pixel=2 40b 3 3 32b 4 4
To enable raster editing, select following mode: GED+ or GED- (pixel=1 or 2 ; screen=32 or 40 bytes).
There are 4 or 3 global changes per one line available, i.e. this changes are being made outside screen's frame and they can change whole line from left to right edge.
4 changes for GED+ mode and 3 ones for GED- at width=40 bytes, but at width=32 (narrow screen) there are 4 changes available /instead of 3 ones/.
So it all comes to fact that chars mode is faster than bitmap one (1 cycle more for bitmap screen).
Besides global changes, you can change up to 6 changes in a line (rasterline). Shortcut for raster editing is ALT+R, and there are two modes available: Automatic and Manual.
AUTOMATIC - here you theoretically can set 3 changes in a rasterline. But to tell the truth, you change one or two values and the third one serves to restore initial state of just changed register.
Range in which you set the change, is more limited than in MANUAL mode in order to eliminate possible error when counting delays in cycles. There are some errors possible for screen width=40 bytes so then you need to correct them by hand.
Set range of LINE and RANGE in which you want to make a change at beginning of the color change (LEFT EDGE) and its end (RIGHT EDGE). Every change of right and left edge has to be confirmed by APPLY button.
If you don't set "A", then its change goes to next line. It is visible only on real machine (G2F won't show it).
MANUAL - here you can decide about changes in raster as if you would do this from assembler . There is 12 fields (checkboxes), and using them you prepare a special program to change raster. BTW. As I understand these 12 checkboxes are related with parts of the screen (it's divided).
GED+ (char mode)
for screen width=32 you have to do everything in 68 cycles ( LIMIT=68 ).
for screen width=40 you have to do everything in 60 cycles ( LIMIT=60 ).
GED- (bitmap mode)
for screen width=32 you have to do everything in 68 cycles ( LIMIT=68 ).Every change of VALUE or REGISTER must be confirmed by pressing APPLY button - that's only way to make this change accepted. There is one disadvantage, though: rasterline is modificated at the moment of pressing APPLY button, so you shouldn't press CHANGE button until you set-up all fields.
G2F shows when there is a need to press APPLY button - when its name looks like this: '> APPLY <'.
If total amount of cycles in lines fits into LIMIT, you can make changes in selected screen area (LINE and RANGE) by pressing CHANGE.
DEFAULT VALUES button puts default values into current edited line (these default values mean some commmands that do nothing: lda#0 sta $d01e. And thus, you can delete all raster changes, reset them at initial stage).
For changing graphics mode in rasterline please refer to "Changing graphics mode in new line". A trick about showing three different graphics mode in one rasterline (that is used in Our 5OFT's demo-part for UNITY project) can be done as follows: Screen is set to hires mode (pixel=1) and somewhere in the middle of the rasterline you can try to set up the 16-shades gtia mode (same as graphics 9 in basic / $d01b=$40) and at the end you must turn it off ($d01b=$00). And then you can see 3 different gfx modes already. It seems to be a little trick or "bug" in GTIA.
Remark #1:
Left side of the screen is slower than right one, i.e. raster changes will occur on larger area than on the right side.
Remark #2:
ANTIC in charset modes takes every 8th line for itself, i.e. raster dividing won't work in every 8th line of screen (there will be visible empty lines, the so called "dirty lines"). To hide them you should draw properly or hide them cleverly with sprites (PMG objects). Empty lines apply to every color that is being changed or object in GED+ mode.
Remark #3:
Graph2Font displays only color changes in raster. Changes related to other PMG objects are not fully implemented yet. But it doesn't mean they shouldn't work on Atari already.
---Hey, to make things more clear, here is an excerpt from one of TeBe's mails to me. This one regards details of "raster programming" in Manual mode: this raster-program can be viewed by entering EDIT RASTERS (ALT+A), next point to any line by cliking mouse cursor and then some values in comboboxes should appear.
global offset = -21. -> checkbox number ldx# $FC 2. sta $d01e or NOP4 3. lda# $40 4. sta $d01b (therefore from this moment you have 16-shades mode, because there is value of $40 in Accumulator) 5. ldy# $F4 6. stx $d017 (X value was set at the beginning and here it is activated) 7. lda# $00 8. sty $d016 (next color) 9. lda# $00 10. sta $d01b (here you turn off 16-shades mode, and then 4-color mode appears; and there is its value in Accumulator - it equals $00) 11. lda# $00 12. sta $d01e4-color mode that appears after that 16-shades one, has shifted color pallette (moved to the left by 1).
---
And finally there is a "crib sheet" on using raster changing in AUTOMATIC mode (the way I used in my FIGHT picture so far!):In case of MANUAL mode, you can set VALUE and REGISTER by clicking APPLY button for each separate field
To change graphics mode in a line, you have to show that line (with the help of mouse cursor) in vertical bar from left side of picture.
If it can be done, you can see new shape of mouse cursor (it is in the shape of small hand).
Every single mouse click (left mouse button) cause mode change from 1 to 2, from 2 to 4 and from 4 to 1.
Two highest bits of $d01b register affect kind of graphics mode:
$00 (%00000000) GTIA mode turned on, it allows to set 4-colors mode $c0 (%11000000) 16-colors mode, you can chabge only color brightness $80 (%10000000) 9-colors mode, you can change every color $40 (%01000000) 16-shades mode, there is only 1 color in 16 shades
When changing this register, you also change sprite priorities. G2F won't interfere in values that are being written to $d01b during creating a line. It interferes only when $d01b register (PRIOR_GTIACTL) is being changed at the beginning of creating every line when using EDIT SPRITES option.
- Do you want to keep G2F color palette also under Atari800Win emulator? Try to active JAKUB.ACT palette in emulator, or use G2F.ACT (recommended). - If you want to make sprites to be show through graphics, just exchange BAK color with PF0 or PF1 (use "Change Colors" option). Exchanging with other colors (PF2, PF3) may turn out to be too complicated. - When using sprites, start from the last one (4th) then use more higher sprites (3-2-1). Making it this way, first sprite will cover the rest, and you won't lose save your nerve :) - You can quit from any windows (except main one and ZOOM) by clicking ESC keyHints from users:
Tezz
A good tip for anyone converting from BMPs is to force the colour that is not used with one one the other four as the inverse colour. The BMP conversion appears to choose the least used colour in the picture as the inverse. I generally split the screen into 5 colour sections and add large blocks of the most used colours in empty regions of the screen and then edit them out later. This way I can determin which of the colour registers are assigned to each particular colour within the BMP. The remaining sections/colours can then be completed with clever use of PMGs. The cut and paste is very handy to put the sections back together as this copies all the dli and sprite data in the selected region. another excellent feature...
Emkay (advanced G2F user:))
The best way to edit screens is to use 708 and 709 as "resolution filters". So choose the colors with the widest areas on the screen for 708/709 ... 710/711 registers can filter the resolution of the PM graphics. For the best use of those "block" colors just try to search for colors with a minimum distance... By using PMg: Start using player 4 first... then P3 ...P2 ...P1 While P1 has the highest priority and you need to put some more colors over there, you can simply go on by overlaying the players. But keep in mind that placing P#4 above P#1 is quite a big mess...
Heaven
Fast BMP-picture conversion from higher machines:
1. Turn a picture into grayscale2. Reduce color-depth to 4 or 5 colors (sometimes it needs to be used with dithering option!)
3. Scale the picture down to 160x200 piksels.
ALT+A - Change Rasters ALT+C - Edit Colors ALT+E - Edit Screen ALT+M - Edit Maps ALT+R - Refresh Screen ALT+S - Edit Sprites ALT+Z - Zoom Shift+C - Change Colors Shift+Del - Clear Screen Shift+End - Negativ Shift+M - Move XY Shift+S - Change Sprites Shift+Ctrl+O - Optymizing Shift+Ctrl+R - Original Shift+Ctrl+S - Standard Ctrl+B - Save BMP Ctrl+C - Check Ctrl+F - Chars fill Ctrl+G - Save G2F Ctrl+H - Show chars Ctrl+J - Save JGP Ctrl+L - Save Colors Ctrl+M - Save MIC Ctrl+O - Open... Ctrl+P - Save Sprites (PMG) Ctrl+S - Save ASM Ctrl+X - Save XEX Ctrl+Alt+X - Exit
v3.7.8.2 - added reading of pictures in PIC format (Koala Microilustrator) - added 'Smart Colors' option which is activated during loading BMP files. This automatically detects color changes in the picture and convert them into 4 (Atari) colors v3.7.8 - added 'EDIT MAPS' option - added ability to delete sprite data ('Clear sprite data' option) in 'EDIT SPRITES' submenu (info about shape of sprite is deleted) - fixed saving to PMG file ; the info about color of 5th player was not saved before - added ability to edit chars in Edit Screen -> Charset