CPC_TOOLKIT V1.0

Version initiale du 10/08/2009

Par Fano (fano.aka.mainbit.aka.hexagon@gmail.com)
Tables AY par Targhan

Ecrit avec XBlite (www.xblite.org) , source sur demande.
Ce programme utilise la librairie FreeImage , informations de copyright  l'intrieur.

Ceci est un outil 'maison', surement un peu spartiate mais avec trs efficace avec quelques fichiers ".BAT"
Son principal intert est de tranformer des fichiers , principalement graphiques, cres pour le CPC/+ sur un PC
muni de windows dans un format pratique pour l'inclusion dans du code depuis WinApe.
Ce n'est pas un outil de conversion mais plutot un outil de transfert.

Si vous avez envie d'y ajouter une GUI , demandez moi le source.
Si certaines fonctions manquantes vous semblent utilent, un petit mail et j'essaierai d'ajouter a ;)

Malgr le fait qu'il n'utilise FreeImage, il n'accepte que les fichiers BMP 256 couleurs.

BASIC
cpc_toolkit basic filename

filename = nom du fichier image sans extension

Gnre un sprite au format PX8 de 16*16
              OCTET
format PX8: [76543210] <-- un pixel (lol)

ASM
cpc_toolkit asm filename

filename = nom du fichier image sans extension

Gnre un sprite compil en ASM 16*16 , le premier mot indique le temps en NOP ncssaire pour mettre  jour le sprite

KEY
cpc_toolkit key file1 file2

file1 = nom du fichier image de dpart sans extension
file2 = nom du fichier image d'arrive sans extension

Gnre un sprite compil 16*16 en ASM reprsentant la diffrence entre l'image de dpart et l'image d'arrive
Utile pour gnrer des sprites anims prenant peu de place

HALF
cpc_toolkit half filename

filename = nom du fichier image sans extension

Gnre un sprite au format PX4 de 16*16

                                    OCTET
format PX4 : pixel de gauche --> [7654|3210] <-- pixel de droite


RLE
cpc_toolkit rle filename decoder_address

filename = nom du fichier image sans extension
decoder_address = adresse du dcoder RLE, obsolte mettre NONE

Gnre un sprite au format RLE de 16*16

                OCTET
format RLE : pixel --> [7654|3210] <--nombre de pixels (SI null ALORS fin)

Dcodeur RLE Z80 inclus avec ce programme.


MODE1
cpc_toolkit mode1 filename

filename = nom du fichier image sans extension
La largeur de l'image doit tre multiple de 4.

Gnre le sprite d'une image en mode 1 (4 couleurs) , la disposition des bitplans est celle la
disposition native du CPC (entrelacement), les lignes ne suivent pas la structure cran mais linairement.

Les couleurs sont cycles  3, ce qui peut tre utile pour travailler sur plusieurs gammes de
palettes sur la mme image.
Exemple , la couleur 5 deviendra 1 (5 AND 3 = 1)

MODE 0
cpc_toolkit mode0 filename

filename = nom du fichier image sans extension
La largeur de l'image doit tre multiple de 2.

Gnre le sprite d'une image en mode 0 (16 couleurs) , la disposition des bitplans est celle la
disposition native du CPC (entrelacement), les lignes ne suivent pas la structure cran mais linairement.

Les couleurs sont cycles  15, ce qui peut tre utile pour travailler sur plusieurs gammes de
palettes sur la mme image.
Exemple , la couleur 16 deviendra 0 (16 AND 15 = 0)


SPT
cpc_toolkit spt filename

filename = nom du fichier image sans extension

Divise une image en sprites de 16*16 au format BMP.
Les noms des nouvelles images sont de "filename(numro d'image dans la colonne)-(numro d'image dans la ligne).bmp"

PAL
cpc_toolkit pal filename start_color

filename = nom du fichier image sans extension
start_color = premire couleur  prendre en compte

Extrait 15 couleurs  partir de start_color et les transforme au format CPC+ pour ensuite 
les crire dans un fichier source ASM.

ADD0
cpc_toolkit add0 image tileset

image : nom du fichier image sans extension
tileset : fichier ".set"  crer ou auquel ajout les caractres.

Cre ou ajoute (si le fichier existe dj)  un jeu de caractres (fichier .set) une image.L'image sera divise en
caractre de 4*8 pixels mode 0 et les caractres redondants supprims.
A la cration, le fichier ".set" prend la palette de la premire image.Le nombre maximum de caractres et de 255.
Cette fonction est ddie uniquement au mode 0.

FINAL0
cpc_toolkit final0 tileset

tileset : fichier ".set" cre avec la commande ADD0

Finalise un fichier ".set" en gnrant deux fichiers :
         - un BMP de 8*2048 pixels pour TileStudio (utiliser import tiles)
         - un fichier ".til" de 256 caractres de 4*8 pixels (16 octets) soit 4096 octets (4K) pour le CPC en mode 0.

Une fois finalis, vous pouvez supprimer le fichier ".set".
L'offset de chaque caractre se calcule simplement : offset=(nTile*16)

COL

cpc_toolkit col mapname width height

mapname : fichier sans son extension correspondant  une map exporte par TileStudio en mode 8bits,0 based (fichier .bin).
width : largeur de la map
height : hauteur de la map

Inverse la hauteur et la largeur d'une map.Gnre un fichier ".lvl"

DMA

filename : fichier au format RAW PCM unsigned 8bits 15625hz (15KHZ) (extension .SND) sans son extension.
tablename : table de conversion (fournies : table_ay1.bin ,table_ay2.bin ,table_ay3.bin par Targhan)

Converti un sample  15Khz en un fichier source ASM pour le format "dma", la description des donnes est
inclue dans le fichier.

