| CPC Rulez https://cpcrulez.fr/forum/ |
|
| My CPC Toolkit https://cpcrulez.fr/forum/viewtopic.php?f=4&t=3818 |
Page 1 sur 1 |
| Auteur : | fano [ 10 Août 2009, 22:16 ] |
| Sujet du message : | My CPC Toolkit |
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. |
|
| Auteur : | norecess [ 11 Août 2009, 01:23 ] |
| Sujet du message : | Re: My CPC Toolkit |
Très bonne initiative ! Ton "toolkit" semble bien plus ouvert que ce que j'ai fait pour la Phat 1, 2 & Pheelone 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 |
|
| Auteur : | hERMOL [ 11 Août 2009, 10:06 ] |
| Sujet du message : | Re: My CPC Toolkit |
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. |
|
| Auteur : | fano [ 11 Août 2009, 12:09 ] |
| Sujet du message : | Re: My CPC Toolkit |
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. |
|
| Auteur : | hERMOL [ 11 Août 2009, 20:39 ] |
| Sujet du message : | Re: My CPC Toolkit |
c'est simpa , je pense que le nconvert doit faire l'affaire, je connaissais xnview , mais pas celui là
|
|
| Auteur : | fano [ 11 Août 2009, 20:51 ] |
| Sujet du message : | Re: My CPC Toolkit |
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. |
|
| Auteur : | hERMOL [ 11 Août 2009, 21:12 ] |
| Sujet du message : | Re: My CPC Toolkit |
arff , il y a même un format -cpc en sortie
|
|
| Page 1 sur 1 | Le fuseau horaire est UTC+1 heure |
| Powered by phpBB® Forum Software © phpBB Group https://www.phpbb.com/ |
|