AkuSprite Editor

Lesson AkuSprite1 - Getting Started With Akusprite Editor
Akusprite Editor was written by the author of these tutorials to aid in the converting of ChibiAkumas from the Amstrad CPC to the MSX and Spectrum

While originally designed for this purpose, it was extended to provide basic export functionality for ALL systems covered in these tutorials... it is the ONLY tool used by the author for creating graphics files for retro systems (Though Krita is used for drawing - AkuSprite Editor is used to convert these to native formats)

included in Z80 sources.7z

AkuSprite Editor is under continued development - it will never be 'finished' provided these tutorials continue.

Some of the functions are very specialist, and not for general use - but we'll cover the basics here.

Overview of the UI
The Help Button: (Bottom Right)
Click this Help Button- then click on a menu option or other function - if available, a relevant tutorial on how to use the function will be loaded in your web browser... Menu items with help are marked with [?]

Refresh/Undo/Redo: (Lower Left)
Refresh will repaint the screen (in case of graphical glitches)
Undo will undo your last draw (or few draws)
Redo will redo your last draw (or few draws)

Drawing Tools: (Left)
These buttons select a drawing tool... a related tool menu will also appear top right.

Editor Window: (Middle)
The editor is the main pixel drawing area... there is a preview middle right, and zoom tool top right
Left Click: Draws in Foreground color
Right Click: Draws in Background color
MouseWheel: Zooms in/out
Ctrl + Mousewheel: Cycle through sprites
Alt + Mousewheel: Cycle through banks (frames of animation)
MiddleMouse/Mouse 4: Pick Foreground color from picture
Mouse 5: Pick Foreground color from picture

Sprite Selector: (Bottom Right)
Akusprite editor uses up to 8 banks of 64 sprites
Sprites should be your 'enemies' or whatever graphics you're drawing
Banks should be the separate frames of animation for those sprites (if required) - this was designed for 'reducing' functionality on low spec systems... Eg... the 64k version could use 2 banks, the 128k version could use 4... a 16 bit version could use all 8!

Palette: The first 16 colors are shown at the Top... the full 256 color palette is shown in a tab bottom right...
The palette can be redefined by clicking on SetPal and clicking on a color...
There are two ways to set a color... using the color picker, or a 1 nibble per channel -GRB color definition (The format used in my tutorials)... toggle between these options by repeatedly clicking on SetPal

Alternate Palette: (Top Right)
This is used by systems with 'color attributes' - such as the ZX Spectrum or MSX1
Please note that this is an experimental function - many of the formats do not export color attributes.


AkuSprite editor was upgraded from 16 colors to 256 colors... it does not support >256 colors at this time

Lesson AkuSprite2 - Drawing Tools
Akusprite editor has a variety of pixel editing tools... in this episode we'll look at each, and learn how to use them

included in Z80 sources.7z

The tools - summary
AkuSprite Editor offers 5 pixel drawing tools...

Pixel Paint... Draw pixels dot by Dot

ZX paint... set color attributes of pixels / blocks

Color swap... swap colors  useful for converting 16 color images to 4 color

Tile Copy... Crude Tilemap functions

Flood Fill... Fill areas.

Pixel Paint
Pixel paint allows the drawing of individual dots - it's designed for drawing simple sprites, or touching them up.
The Sprite editor draws with two colors - a Foreground Color (left) and a Background color (Right):
Left Click: Draws in Foreground color
Right Click: Draws in Background color

You can pick a color from the sprite:
MiddleMouse/Mouse 4: Pick Foreground color from picture
Mouse 5: Pick Foreground color from picture
On the right hand side of the screen is the tool settings...

Check mode allows 'checkerboard' patterns to apply to the drawn pixels

The checkerboard option will automatically swap between the foreground and background colors to effect a 'dithered' pattern.


Check Mode patterns are intended to simulate extra colors on low color systems - they can used with 'Color Swap' to convert a 16 color picture to 4 or 2 colors.

There are also color reduction options on the display panel - newer export routines export this dithering straight to the file!

Flood Fill
Flood Fill will fill a closed area with a solid color

Flood fill can use the foreground or background color via left or right mouse button.


The flood fill also allows for 'Checkerboard' fills...

Please note, due to technical reasons, when a area is checker filled - it is first internally solid filled with color 255 - then checker filled with the correct color - this will only cause problems if you sprite uses color 255

Color Swap
Color swap replaces a color in the sprite.

Clicking on a pixel will replace that color with either the foreground or background color.

Color Swap is intended for converting 16 color images to 4 or 2 color, but can also be used for 'filling' small areas
There are 4 color conversion modes:
'Block' will swap an 8x8 area - it's designed for recoloring spectrum bitmap graphics
'Sprite' will swap the color on the entire sprite
'AllSprites' will swap the color on all sprites in the current bank
'8x1' will swap the color on an 8 pixel wide strip - it's designed for recoloring MSX1 screens
Color swap also supports Check modes as the other functions


ZX Paint
ZX Paint is for applying color attributes to an image - these are a separate 'overlay' of colors to the bitmap data.

To use this you should enable an 'Alternate palette' with the button at the far right.

Note - although it's called 'ZX Paint' this tool also applies MSX and other color attributes.

You should also check the correct 'Display Mode' is selected in the 'Settings Tab'

This enables the visual overlay with the color attributes.
We should select a foreground and background color - Spectrum colors also support brightness.

Flashing spectrum colors are not supported :-(

We've selected Bright Red pixles - on a Blue background
There are 3 modes... Normal Colors and PixelPaint

We'll be working on a crude smiley pic

Normal Mode will draw pixels and set color at the same time - this is the same as PixelPaint mode
Colors Mode will set color attributes without drawing pixels - this should be used for re-coloring an image
PixelMap Mode will draw pixels but not set color attributes

TileCopy
Tile Copy allows for creating small tilemaps...

It was designed for converting the 'Chibialiens' titlescreen into a 256 tile image for systems like the MSX 1
We've drawn a simple image in pixel paint mode... we're going to make a 24x24 image with 'Tile Copy'

Sprite 0 should not be used for creating a tile map - use sprite 1+
This is because Sprite 0 used for the tile patterns generated from your tile map
The TileCopy Panel is shown here..

On the left is the captured tile ... This is read from the sprite with right click, and pasted to the sprite with Left Click.

Clear+Add will reset the tile patterns in sprite 0, and build a tilemap in the clipboard from the current sprite.
Add will add more tiles into the patterns in sprite 0 if required,

The settings of the generated tile are show... FirstTile is the first tile to scan when building the tilemap, NextTile is the next unused tile.

Format is the Tilemap format... 256+ will use 1 byte per tile - if the tile number goes over 255 a second byte will be used.
Nibble supports just 16 tiles, and uses 1 nibble per tile
We're going to copy the components - selecting a tile with Right Click - and pasting it with left click


We've created a 3x3 tilemap!
Now let's convert our tilemap to patterns!... clock on Clear+Add
The unique tiles will be identified, and stored in Sprite 0 as a patterns.
The clipboard will be filled with ASM code to draw the original image.

Akusprite Editor is really for graphics - the tilemap function isn't adequate for building a scrolling platformer.

It's possible an alternate tool for level building will be written in the future, but there are no promises - the author of these tutorials doesn't have any spare time left!


Lesson AkuSprite3 - Functions!
There are a variety of functions on the menus which may help you with special kinds of manipulation (and save you using an extra tool like krita)... lets learn more.

included in Z80 sources.7z

File menu
The File Menu saves and loads the current set of sprites.

Resave / Save
will save the sprites in the 'normal' akusprite format (.txt - essentially a giant CSV!)

Save Palette will just save the palette of the sprites

Import palette will import the palette only from another sprite file
Import pixels will import just the pixel data from another sprite file (not palette or colors)
Import Color Attribs will import the Spectrum color attributes from another file.

Load Recent will show a list of previously worked on files.

Import Image
will load a file - if the file is 256 colors or less, the palette can also be imported.

File Processor allows conversion (compression) of binary files on disk to RLE


Save/Load BMP will create a single giant image containing all the sprites and the palette

The 'MAP' has a colored square defining the area covering each sprite, the sprites themselves are in other files.

This can be edited in another program, and re-imported - provided the MAP is not corrupted, the sprites will be correctly imported - by altering the MAP, the sprite sizes can even be changed!


Many of these tools are specialist, and were designed for ChibiAkumas ZX and MSX

In most cases you will be better using Copy & Paste and making changes in Krita or similar application.

Transform menu
The 'Transform' options will allow flipping and moving the sprite data
FlipX and FlipY will flip the current sprite in the selected Axis
Pixel Shift Up,Down,Left,Right allow for shifting a sprite...

You will be prompted for a shift amount, and the sprite will be moved accordingly
TileShiftX is for 256 pixel wide sprites only... it was for creating scrolling backgrounds in ChibiAkumas on the Spectrum or MSX

Edit Menu Options
Copy and Paste options will transfer the current sprite to or from the Clipboard.

Copy Preview copies the 'edit window' including color attributes and the grid.
Canvas Size allows the 'cropping of the sprite...
in this case we've cropped the image to 32,32.
Duplicate From will copy another sprite to the current sprite.

Duplicate Offset From will also copy another sprite, however an X,Y 'offset' can be specified, which will be the destination of the sprite
In this example sprite 0 has been duplicated to offset 32,32
MakeTiles will repeat the sprite to fill an specified size
The image will be tiled.

Tools Menu Options
Interlace-Y doubles the height of the image - adding a zero color line between each real line.

In ChibiAkumas on the CPC Sprites could be scaled to double height in this way, drawing alternate lines This was to 'simulate' the effect on the MSX
Interlace-OddFields and Interlace-EvenFields will take every odd or even row and remove the other lines...

It's intended for creating a pair of images for MSX-interlaced graphics modes.
Here is the result
BlackBorder and BlackBorderTight were used for ChibiAkumas MSX

On that system Color 0 was transparent - a color 1 'black border' was required to mimic the CPC graphics - these functions were used to automate this task
Here is the result
Palette tint can be used to blend the color palette

It will take a RGB color - and a percentage  (0-1)... the color palette will be tinted accordingly
Here the palette has been tinted 50% red....

This was used for the ChibiAkumas cave level on the MSX/CPC+ to tint the palette depending on lighting effect
Palettes allows the use of default palettes for the sprites (for example if you're using MSX2 256 color mode)

It also allows the importing of 256 color palettes from irfanview.