Funkpaint is a multi format editor supporting hires, multi, multicolor interlaced and DTV pictures. It runs on a Commodore 64/128 or DTV and supports various input devices and memory expansions.
Last test version: Funkpaint 0.43b (2014.04.05)
The zoom editor is for doing pixel level work, so most of the screen is covered by a magnified view of the image. On hires pictures the pixel size is 4×4, for multicolor it's 8×4 and for multicolor interlace and DTV it's 8×8.
The zoom area is bordered by scrollbar which indicate the position of the edited window relative to the complete image size. It can also be used to navigate around in the image by clicking on the scroll bar which moves the area to the selected position.
Clicking the arrows will scroll the image to the respective direction. If a Micromys mouse adapter is used with a scroll wheel mouse then it's possible to scroll vertically with the scroll wheel. Horizontal scrolling is achieved by holding down the SHIFT key. The F2, F4, F6 and F8 keys are assigned for image scrolling as well.
The flashing rectangle in the zoom area is the cursor where new pixels will be set by SPACE (drawing color) or DEL (delete color). The cursor can be moved around by the cursor keys in the respective directions. The F1, F3, F5 and F7 keys can be used to move by 8 pixels, which is useful for fast line drawing. When moving the cursor with keys the zoom area scrolls automatically in a way that at least one character row/column is always visible ahead.
The flashing crosses near to the cursor mark the borders of the active character for hires and multicolor pictures. For DTV and multicolor interlace pictures there's a gray grid for the same purpose as the resolution is different.
Setting pixels can be done by the cursor keys while holding the SPACE or the DEL keys or by holding the left or right mouse buttons while moving the mouse. When using the mouse for drawing the cursor follows it.
The top right corner contains an original sized cut out of the edited image for multicolor and hires pictures. For multicolor interlace and DTV pictures use the ← button to preview changes.
There's a 4×4 block of colors on the right side, this can be used to select the drawing color by left or right clicking on it. The drawing color is shown by a flashing rectangle, the delete color (right button or DEL key) is not indicated. The drawing color and the delete color can be exchanged by pressing C.
Setting the drawing color to the one under the cursor can also be done by using the STOP key, or the middle mouse button.
Colors can also be selected from the keyboard by the 1, 2, 3, 4, 5, 6, 7 and 8 keys with or without shift just like in BASIC, or by pressing the Q, W, E, R, T, Y, U, O and I keys for the shifted set of colors.
Dittering mode can be changed by the H key. The current one is displayed next to the color display.
The movement speed is displayed after the SPEED:
text. Big numbers
mean faster movement. The + and − buttons can be used
to adjust the speed.
The active pixel and character positions are displayed after the XP:
,
YP:
, XC:
and YC:
texts respectively.
The colors used in the active character are shown after the C1
(bits
%10, lower nibble), C2
(bits %01, high nibble) and C3
(bits %11,
color memory). The background color is displayed after BK
(bits %00),
while the foreground color is FG
(bits set on hires images). Unused bit
combinations are indicated by two shades of gray instead of a single color.
The bit pattern assignment is automatic. If the painted color is present in the character, the already assigned bit pattern is used, otherwise the first free one is used from top to bottom.
It can happen that there are no more free bit patterns to assign the new color. Then the bit pattern of the overwritten pixel will be assigned to the new color, which will recolor all the other pixels with this bit combination in the character. On multicolor and multicolor interlace images if this was a background pixel, then no pixel is set or recolored.
On hires images the foreground and background color can be exchanged by pressing SHIFT + C. This will not change the displayed image itself, but it can be used to ensure consistent assignment of bit patterns of colors for underlayed sprites use for example. SHIFT + X toggles monochrome display mode, which makes bit pattern verification easier.
Pressing the ← button takes to the view mode, while pressing M activates the disk menu.
The color of background for multicolor and multicolor interlace pictures can be set to the drawing color by pressing B. All non-background pixels with this new color will be converted to background pixels. The previous background pixels are simply recolored.
The HOME key fills up the active character with background color on multicolor and multicolor interlace pictures. On hires or DTV pictures the delete color is used. The complete picture can be filled up using CLR.
The undo function is activated by SHIFT + Z, redo is C= + Z. The undo level depends on the available memory. Simple moving and drawing with the same color with the keyboard does not create an undo point.
The L key toggles between pixel and interlace emulation in the interlace zoom editor.
The view mode shows the whole picture at the same time. There's a toolbar made of sprites on the top border.
The color rectangles can be used to select the drawing color and the delete color by clicking with the left and right mouse button. The drawing color and the delete color can be exchanged by pressing C.
Setting the drawing color to the one under the mouse can also be done by using the middle mouse button.
Colors can also be selected from the keyboard by the 1, 2, 3, 4, 5, 6, 7 and 8 keys with or without shift just like in BASIC, or by pressing the Q, W, E, R, T, Y, U, O and I keys for the shifted set of colors.
The ,
and
icons can be used for free hand drawing.
The icon works like the freehand mode. However when the
button is released the area is closed by a line to the starting point and then
it's filled up.
The icon is for line drawing, the start point is selected by holding
down the left button, the end point is set when the button is released.
The icon is for curved lines, selecting start and end is the same as
for the straight line, after that the control point is placed by left clicking.
The and
icons are for box drawing, the start corner is
selected by holding down the left button, the end corner is set when the
button is released.
The and
icons draws circles. The middle point is selected by holding down
the left button, the diameter is set when the button is released.
The icon activates copy mode. Area definition works like the box drawing tool (select, hold, release).
Copies are created by left click, exit with STOP.
The icon fill a closed area. It fills up the area where it was
started bordered by other colors.
The icon shows the current dittering mode. Clicking multiple times
on the icon selects different patterns.
To select the tools from keyboard use the A, S, D, F, G and H keys, this is equivalent to clicking on them.
The undo function is activated by SHIFT + Z, redo is C= + Z.
The + and − buttons can be used to adjust the joy speed.
Right now the cursor keys can be used to scroll the image by 8 pixels. This function will go away as soon as the copy function is implemented.
Pressing the SPACE or ← takes back to the zoom editor, while pressing M activates the disk menu.
Most of the screen is covered by the directory list. This can be updated by pressing D.
The active drive can be selected by pressing C.
Loading and saving is done by L and S, executable pictures can be saved by P.
Loading or saving in other picture formats are selected by pressing the keys as indicated on the right side, right now these are Koala and Art studio.
Pressing E or CRSR=> takes back to the zoom editor.
1 button only when connected to the joy port, unless the resistor hack for right/middle buttons was done on the POT lines. The mouse blocks the keyboard most of the time, but maybe it's slightly better on port 2.
3 buttons are supported on the userport classical games adapter port 3 (PB6 as right and PA2 as middle buttons). This method is recommended as the keyboard is not disturbed.
Some Amiga mouse converters may not work as they give the pulses too fast.
2 buttons, 5 with Micromys or compatible adapters.
Please note that after the mouse is connected for the first few movements the cursor jumps around. This is normal, and it starts to behave after the encoding range is determined.
Works on both ports, but port 2 is recommended to avoid unexpected interference with the keyboard (e.g. left button and right shift on port 1 blocks operation).
If not all 3 buttons exists the right button can be emulated by pressing SHIFT and the middle one by C= together with the left button.
Sideways scrolling can be achieved by pressing SHIFT while scrolling vertically.
A special keyboard handler is used to track simultaneous key presses, this allows using cursor keys in zoom mode while holding down the SPACE or DEL. It can suppress most joy port disturbance, however there's a smaller chance of invalid key presses if port 2 is used.
Right now extended memory is used for storing undo states. The number of states depends on the memory size.
Undo sizes are:
There needs to be space for redo as well, that's why on RetroReplay there's no undo functionality for multicolor interlace pictures.