Index du forum




Un petit coup de main... Vous pouvez nous aider à mettre ce site à jour: n'hésitez pas à me contacter !!!

* Connexion   * Inscription

* FAQ
Nous sommes actuellement le 30 Nov 2025, 07:22

Index du forum » Z80 Coding

Le fuseau horaire est UTC+1 heure


My CPC Toolkit

Modérateur: poulette73



Publier un nouveau sujet Répondre au sujet  Page 1 sur 1
 [ 7 message(s) ] 
  Aperçu avant impression Sujet précédent | Sujet suivant 
Auteur Message
fano
 Sujet du message : My CPC Toolkit
Message Publié : 10 Août 2009, 22:16 
Hors-ligne
VIP
VIP
Avatar de l’utilisateur

Inscription : 15 Août 2008, 13:00
Message(s) : 968
Localisation : Troyes, France
Comme j'ai eu du mal à trouver les routines pour transformer les données à ma sauce du PC vers le CPC, je me suis écrit un toolkit.
Puis les nouvelles fonctions s'ajoutant au fil des mois, il s'est étoffé quelque peu.
Du coup, je l'ai nettoyé un peu, y ai ajouté une ligne de commande et écrit une petit notice.
Il est principalement utile pour les sprites sur CPC+, les pages graphiques mode 0/1 sur CPC, la convertion de palettes PC/CPC+, possède quelques commandes pour TileStudio (mode 0) ainsi qu'un bout de code pour faire les listes DMA que j'utilise.
Certaines commandes sont encore a finaliser comme la transformation des samples en AY list.

En espérant qu'il vous soit aussi utile qu'à moi :)

Pièce jointe :
my_cpc_toolkit.zip


Code :
BASIC
cpc_toolkit basic filename

filename = nom du fichier image sans extension

Génère 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

Génère un sprite compilé en ASM 16*16 , le premier mot indique le temps en NOP nécéssaire pour mettre à jour le sprite

KEY
cpc_toolkit key file1 file2

file1 = nom du fichier image de départ sans extension
file2 = nom du fichier image d'arrivée sans extension

Génère un sprite compilé 16*16 en ASM représentant la différence entre l'image de départ et l'image d'arrivée
Utile pour générer des sprites animés prenant peu de place

HALF
cpc_toolkit half filename

filename = nom du fichier image sans extension

Génère 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 décoder RLE, obsolète mettre NONE

Génère un sprite au format RLE de 16*16

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

Décodeur 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.

Génère 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 linéairement.

Les couleurs sont cyclées à 3, ce qui peut être utile pour travailler sur plusieurs gammes de
palettes sur la même 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.

Génère 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 linéairement.

Les couleurs sont cyclées à 15, ce qui peut être utile pour travailler sur plusieurs gammes de
palettes sur la même 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(numéro d'image dans la colonne)-(numéro d'image dans la ligne).bmp"

PAL
cpc_toolkit pal filename start_color

filename = nom du fichier image sans extension
start_color = première 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" à créer ou auquel ajouté les caractères.

Crée ou ajoute (si le fichier existe déjà) à un jeu de caractères (fichier .set) une image.L'image sera divisée en
caractère de 4*8 pixels mode 0 et les caractères redondants supprimés.
A la création, le fichier ".set" prend la palette de la première image.Le nombre maximum de caractères et de 255.
Cette fonction est dédiée uniquement au mode 0.

FINAL0
cpc_toolkit final0 tileset

tileset : fichier ".set" crée avec la commande ADD0

Finalise un fichier ".set" en générant deux fichiers :
         - un BMP de 8*2048 pixels pour TileStudio (utiliser import tiles)
         - un fichier ".til" de 256 caractères 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 caractère se calcule simplement : offset=(nTile*16)

COL

cpc_toolkit col mapname width height

mapname : fichier sans son extension correspondant à une map exportée 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.Génère 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 données est
inclue dans le fichier.


Vous n’êtes pas autorisé(e) à consulter les fichiers insérés à ce message.

_________________
"NOP" tel est le programme parfait ! court, rapide, lisible et sans bugs (connus)


Haut
 Profil  
 
norecess
 Sujet du message : Re: My CPC Toolkit
Message Publié : 11 Août 2009, 01:23 
Très bonne initiative !

Ton "toolkit" semble bien plus ouvert que ce que j'ai fait pour la Phat 1, 2 & Pheelone :) en effet, mes outils étaient ultra-spécifiques à chacune de ces prods.

Donc Thumb Up pour le caractère "générique" de ton outil qui, visiblement, peut-être utilisé dans un tout autre contexte que ce que toi tu avais pensé au départ :)


Haut
  
 
hERMOL
 Sujet du message : Re: My CPC Toolkit
Message Publié : 11 Août 2009, 10:06 
Hors-ligne
Site Admin
Avatar de l’utilisateur

Inscription : 20 Août 2007, 18:21
Message(s) : 5103
et c'est a une année lumière de mon bin2asm :)

je profite de ce topic , car je cherche des tools pour :
1) "uniformiser" la palette d'une serie d'images (que les couleurs sois dans le même ordre (bmp256c ou 16c))
2) recadrer/couper une serie d'images, le tout paramétrable en ligne de commande (x,y,hauteur,largeur)
irfanview permets de le faire par sont GUI, mais je cherche en ligne de commande.


Haut
 Profil  
 
fano
 Sujet du message : Re: My CPC Toolkit
Message Publié : 11 Août 2009, 12:09 
Hors-ligne
VIP
VIP
Avatar de l’utilisateur

Inscription : 15 Août 2008, 13:00
Message(s) : 968
Localisation : Troyes, France
Merci norecess, j'ai cherché à éviter les fonctions trop spécialisées quitte à procéder en plusieurs appels pour traiter histoire que ça reste souple.

Hermol, que veux tu dire par "que les couleurs soient dans le même ordre" ? dans l'ordre de la luminance ou par gamme de couleurs ?

Sinon pour le 2 , tu peux peut être jeter un oeil à Nconvert http://www.xnview.com sinon au pire y'a moyen de l'ajouter en 2 minutes.

_________________
"NOP" tel est le programme parfait ! court, rapide, lisible et sans bugs (connus)


Haut
 Profil  
 
hERMOL
 Sujet du message : Re: My CPC Toolkit
Message Publié : 11 Août 2009, 20:39 
Hors-ligne
Site Admin
Avatar de l’utilisateur

Inscription : 20 Août 2007, 18:21
Message(s) : 5103
c'est simpa , je pense que le nconvert doit faire l'affaire, je connaissais xnview , mais pas celui là :cow:


Haut
 Profil  
 
fano
 Sujet du message : Re: My CPC Toolkit
Message Publié : 11 Août 2009, 20:51 
Hors-ligne
VIP
VIP
Avatar de l’utilisateur

Inscription : 15 Août 2008, 13:00
Message(s) : 968
Localisation : Troyes, France
Il est bien pratique, avant il était inclus avec la distro de XNview
Par contre si tu veux faire du travail par lots, XNview le permet aussi.

_________________
"NOP" tel est le programme parfait ! court, rapide, lisible et sans bugs (connus)


Haut
 Profil  
 
hERMOL
 Sujet du message : Re: My CPC Toolkit
Message Publié : 11 Août 2009, 21:12 
Hors-ligne
Site Admin
Avatar de l’utilisateur

Inscription : 20 Août 2007, 18:21
Message(s) : 5103
arff , il y a même un format -cpc en sortie :kissed:


Haut
 Profil  
 
Afficher les messages publiés depuis :  Trier par  
Publier un nouveau sujet Répondre au sujet  Page 1 sur 1
 [ 7 message(s) ] 

Index du forum » Z80 Coding

Le fuseau horaire est UTC+1 heure


Qui est en ligne ?

Utilisateur(s) parcourant ce forum : Aucun utilisateur inscrit et 40 invité(s)


Vous ne pouvez pas publier de nouveaux sujets dans ce forum
Vous ne pouvez pas répondre aux sujets dans ce forum
Vous ne pouvez pas éditer vos messages dans ce forum
Vous ne pouvez pas supprimer vos messages dans ce forum
Vous ne pouvez pas insérer de pièces jointes dans ce forum

Aller vers :  
cron
Powered by phpBB® Forum Software © phpBB Group
Traduit en français par Maël Soucaze.