MSX Village forum

La Place des Développeurs Image conversion pour MSX2

KN2000 Membre non connecté

Villageois

Rang

Avatar

Inscrit le : 08/06/2010 à 09h30

Messages: 209

Le 26/01/2022 à 13h47

Reprise du message précédent

Question bête, tu utilises bien le FreeImage.h pour Mac ? Enfin, si il existe...
Car, sur le GitHub de Aoineko, dans Freeimage.h, j'ai trouvé beaucoup de références à Windows mais pas à OS/X par exemple.

En fait, il y a bien des références à OS/X, j'ai lu trop vite. Edité par KN2000 Le 26/01/2022 à 14h28


Nous sommes en 2010 aps JC, toute la Gaule est envahie. Ah ben non, apparement, un village résiste encore aux envahisseurs Personalcomputerum et autres Consoledessalum. Bienvenue dans l'antre du emessix !
   
ericb59 Membre non connecté

Conseiller Municipal

Rang

Avatar

Groupe : compte ++ Groupe : Shoutbox

Inscrit le : 17/04/2012 à 10h25

Messages: 5566

Le 26/01/2022 à 15h33
oui par contre le tchat.h
j'en ai récupéré un mais je ne suis pas certain que ça le bon, apparemment il existe plusieurs versions....
pas certain non plus que ça soit compatible.


banniere-ericb59e
Site web    
KN2000 Membre non connecté

Villageois

Rang

Avatar

Inscrit le : 08/06/2010 à 09h30

Messages: 209

Le 26/01/2022 à 17h44
Si j'ai bien compris, tchar.h servirait pour l'unicode.

Essayes peut-être <wchar.h> à la place, ou alors <cwchar>... La première est une bibliothèque C et la seconde devrait être celle qui correspond en C++. Je vais prendre une aspirine


Nous sommes en 2010 aps JC, toute la Gaule est envahie. Ah ben non, apparement, un village résiste encore aux envahisseurs Personalcomputerum et autres Consoledessalum. Bienvenue dans l'antre du emessix !
   
aoineko Membre non connecté

Conseiller Municipal

Rang

Avatar

Groupe : Shoutbox

Inscrit le : 02/01/2011 à 21h17

Messages: 2907

Le 27/01/2022 à 01h12
J'ai récupéré MinGW et quand j'aurai un moment, je vais essayer de convertir mes programmes pour GCC.
Ensuite, il sera beaucoup plus simple d'en faire des versions Linux/MacOS.


On est toujours ignorant avant de savoir.
Github    
ericb59 Membre non connecté

Conseiller Municipal

Rang

Avatar

Groupe : compte ++ Groupe : Shoutbox

Inscrit le : 17/04/2012 à 10h25

Messages: 5566

Le 27/01/2022 à 10h28
aoineko :
J'ai récupéré MinGW et quand j'aurai un moment, je vais essayer de convertir mes programmes pour GCC.
Ensuite, il sera beaucoup plus simple d'en faire des versions Linux/MacOS.


Alors ça c'est une super idée... :)
J'ai hate :top


banniere-ericb59e
Site web    
aoineko Membre non connecté

Conseiller Municipal

Rang

Avatar

Groupe : Shoutbox

Inscrit le : 02/01/2011 à 21h17

Messages: 2907

Le 27/01/2022 à 13h42
Je termine d'ajouter le MSX-Audio à MSXgl (ça sera le dernier chip sonore ajouté pour le moment... la MoonSound attendra), puis je termine le support des formats Arkos, Trilo et WYZ, et ensuite je vais faire une grosse passe sur mes outils.
Ca faisait un bout de temps que je voulais les harmoniser (j'ai encore plein de code plus ou moins dupliqué) donc j'en profiterai lors du passage à GCC.
J'avance bien en ce moment, mais je peux pas te donner de date donc si tu es pressé, il vaut p'être mieux que tu prévois un plan B. :)


On est toujours ignorant avant de savoir.
Github    
Metalion Membre non connecté

Conseiller Municipal

Rang

Avatar

Inscrit le : 23/12/2009 à 15h32

Messages: 1503

Le 15/05/2022 à 10h58
Bonjour,

Je déterre ce sujet, car je viens d'utiliser CMSXimg pour la première fois.
Un très bel outil, très polyvalent et très flexible, bravo aoineko ! :top

Une première remarque : -help ne fonctionne pas, sauf erreur de ma part.

1) Je voudrais générer une palette personnalisée mais qui démarre à un certain numéro de couleur. Par exemple, générer une palette de 10 couleurs qui commence au numéro 6. Est-ce que c'est possible ? Je peux aussi décaler toutes les données couleur de 6 avec un petit programme Python, mais je voulais savoir si l'option existe.

2) Serait-ce possible d'avoir une option de sortie au format sc*, qui peut être visualisé par ViewMSX ?

3) Serait-ce possible d'avoir une option -bpc 4 mais qui prend en compte les possibilités de la palette sur v9990 (5 bits pour chaque composante R,G,B) ?

:glass

Edité par Metalion Le 15/05/2022 à 13h11


MSX1: Daewoo DPC-200 / Yamaha CX5M
MSX2: Sony HB-F9P
MSXVR
Vidéo: V9990 (GFX-9)
Audio: MSX-Music (FM-PAC) / MSX-Audio (Audiowave) / OPL4 (Monster Sound FM Blaster) / OPNB (Neotron)
   
aoineko Membre non connecté

Conseiller Municipal

Rang

Avatar

Groupe : Shoutbox

Inscrit le : 02/01/2011 à 21h17

Messages: 2907

Le 15/05/2022 à 22h18
Roger! Roger! Je regarde tout ça dès que j'ai fini mes tâches en cours. :)


On est toujours ignorant avant de savoir.
Github    
aoineko Membre non connecté

Conseiller Municipal

Rang

Avatar

Groupe : Shoutbox

Inscrit le : 02/01/2011 à 21h17

Messages: 2907

Le 15/05/2022 à 23h36
Metalion :
Une première remarque : -help ne fonctionne pas, sauf erreur de ma part.


Corrigé

Metalion :
Je voudrais générer une palette personnalisée mais qui démarre à un certain numéro de couleur. Par exemple, générer une palette de 10 couleurs qui commence au numéro 6. Est-ce que c'est possible ? Je peux aussi décaler toutes les données couleur de 6 avec un petit programme Python, mais je voulais savoir si l'option existe.


Ce n'est pas possible actuellement.
Mais en fait, c'est déjà le cas car je n'utilise pas l'index 0.
Je vais ajouter cette option. :)

EDIT: C'est fait.
Tu peux utiliser l'option -paloff pour choisir l'offset de l'index de début de la palette (1 par défaut).
Nouvelle version 1.14.2 dispo sur GitHub.
Pas testé (c'est pas bien)

Metalion :
Serait-ce possible d'avoir une option de sortie au format sc*, qui peut être visualisé par ViewMSX ?


Il suffit d'utiliser l'option -out mon_image.sc5.
Par contre, je ne connais pas les détails de ce format (raw) donc pas sur que ce soit 100% compatible. Notamment pour les screen MSX1 ou je ne sais pas dans quel ordre son placé les tables.

Metalion :
Serait-ce possible d'avoir une option -bpc 4 mais qui prend en compte les possibilités de la palette sur v9990 (5 bits pour chaque composante R,G,B) ?


Tu peux me donner le mapping des bits de chaque couleur dans l'entier 16-bits ? (ou se trouve le bit non utilisé et dans quel ordre sont placées les couleurs)

EDIT: Dans la doc j'ai trouvé un format sur 3 octets ; c'est celui-là ?


On est toujours ignorant avant de savoir.
Github    
Metalion Membre non connecté

Conseiller Municipal

Rang

Avatar

Inscrit le : 23/12/2009 à 15h32

Messages: 1503

Le 16/05/2022 à 11h14
aoineko :
Corrigé
C'est fait.

Merci !

aoineko :
Metalion :
Serait-ce possible d'avoir une option de sortie au format sc*, qui peut être visualisé par ViewMSX ?

Il suffit d'utiliser l'option -out mon_image.sc5

OK, c'est parfait, de toutes façons c'était juste le format sc5 que j'utilise.

aoineko :
Metalion :
Serait-ce possible d'avoir une option -bpc 4 mais qui prend en compte les possibilités de la palette sur v9990 (5 bits pour chaque composante R,G,B) ?


Tu peux me donner le mapping des bits de chaque couleur dans l'entier 16-bits ? (ou se trouve le bit non utilisé et dans quel ordre sont placées les couleurs)

EDIT: Dans la doc j'ai trouvé un format sur 3 octets ; c'est celui-là ?

Oui, c'est bien un format sur 3 octets.
Code :
R: byte [0-31]
G: byte [0-31]
B: byte [0-31]

Donc relativement facile à transformer à partir d'un bmp 24-bits.
On prend les valeurs de R,G,B et on les transforme linéairement par :
Code :
composante_5bits = composante_8bits * 31/255



MSX1: Daewoo DPC-200 / Yamaha CX5M
MSX2: Sony HB-F9P
MSXVR
Vidéo: V9990 (GFX-9)
Audio: MSX-Music (FM-PAC) / MSX-Audio (Audiowave) / OPL4 (Monster Sound FM Blaster) / OPNB (Neotron)
   
aoineko Membre non connecté

Conseiller Municipal

Rang

Avatar

Groupe : Shoutbox

Inscrit le : 02/01/2011 à 21h17

Messages: 2907

Le 16/05/2022 à 13h01
Ok, j'te fait ça ce soir.


On est toujours ignorant avant de savoir.
Github    
Metalion Membre non connecté

Conseiller Municipal

Rang

Avatar

Inscrit le : 23/12/2009 à 15h32

Messages: 1503

Le 16/05/2022 à 14h12
aoineko :
Ok, j'te fait ça ce soir.

Nickel.

Pour être sûr qu'on se comprenne bien : l'idée c'est d'avoir une conversion type sc5 (donc 2 pixels par octets, avec 4 bits par couleur), mais au lieu de travailler sur la palette restreinte du v9938, d'utiliser celle, étendue, du v9990.

Cela permet de réaliser la conversion de bmp 24-bits pour le mode graphique P1 du v9990.

J'aime bien être précis :D


MSX1: Daewoo DPC-200 / Yamaha CX5M
MSX2: Sony HB-F9P
MSXVR
Vidéo: V9990 (GFX-9)
Audio: MSX-Music (FM-PAC) / MSX-Audio (Audiowave) / OPL4 (Monster Sound FM Blaster) / OPNB (Neotron)
   
aoineko Membre non connecté

Conseiller Municipal

Rang

Avatar

Groupe : Shoutbox

Inscrit le : 02/01/2011 à 21h17

Messages: 2907

Le 16/05/2022 à 23h30
C'est ajouté (version 1.14.4).
L'option --pal24 permet de formater la palette au format 24-bits (3 bytes) pour le V9990.

unknown

Par contre, j'ai pas trouvé d'info sur le flag YS du bit#7 du composant Rouge.

J'ai aussi ajouté l'option --bload pour ajouter le header de 7 octets des images au format BLOAD.


On est toujours ignorant avant de savoir.
Github    
Metalion Membre non connecté

Conseiller Municipal

Rang

Avatar

Inscrit le : 23/12/2009 à 15h32

Messages: 1503

Le 17/05/2022 à 08h40
aoineko :
C'est ajouté (version 1.14.4)

Merci :top
Je vais faire quelques tests.

aoineko :
Par contre, j'ai pas trouvé d'info sur le flag YS du bit#7 du composant Rouge.

Ce bit sert à déterminer la couleur transparente de la palette. Par défaut, c'est la couleur zéro, mais si on veut définir une autre couleur comme transparente, lors de l'envoi des données palette, on met ce bit à 1 pour la couleur correspondante. Personnellement, je n'ai jamais utilisé cette option.

EDIT : il y a quelque chose qui coince ... (Windows 10, PowerShell) :moue
Code :
Le programme «CMSXimg.exe» n’a pas pu s’exécuter: L'exécutable spécifié n'est pas une application valide pour cette plateforme de système d'exploitation.Au caractère Ligne:1 : 1
+ .\cmsximg -help
+ ~~~~~~~~~~~~~~~.
Au caractère Ligne:1 : 1
+ .\cmsximg -help
+ ~~~~~~~~~~~~~~~
    + CategoryInfo          : ResourceUnavailable: (:) [], ApplicationFailedException
    + FullyQualifiedErrorId : NativeCommandFailed
Edité par Metalion Le 17/05/2022 à 09h00


MSX1: Daewoo DPC-200 / Yamaha CX5M
MSX2: Sony HB-F9P
MSXVR
Vidéo: V9990 (GFX-9)
Audio: MSX-Music (FM-PAC) / MSX-Audio (Audiowave) / OPL4 (Monster Sound FM Blaster) / OPNB (Neotron)
   
aoineko Membre non connecté

Conseiller Municipal

Rang

Avatar

Groupe : Shoutbox

Inscrit le : 02/01/2011 à 21h17

Messages: 2907

Le 17/05/2022 à 09h13
Metalion :
EDIT : il y a quelque chose qui coince ... (Windows 10, PowerShell) :moue


Bizarre. C'est quoi la dernière version qui fonctionnait chez toi ? :hum

Tu peux rééssayer avec la nouvelle version sur GitHub ?


On est toujours ignorant avant de savoir.
Github    
ericb59 Membre non connecté

Conseiller Municipal

Rang

Avatar

Groupe : compte ++ Groupe : Shoutbox

Inscrit le : 17/04/2012 à 10h25

Messages: 5566

Le 17/05/2022 à 09h57
Possible problème 32 vs 64 bits en Poweshell ?
En tout cas, ca fonctionne sous PowerShell ou DOS sous mon Windows 11. Edité par ericb59 Le 17/05/2022 à 10h00


banniere-ericb59e
Site web    
Répondre
Vous n'êtes pas autorisé à écrire dans cette catégorie