La Place des Développeurs Image conversion pour MSX2
ericb59
Membre non connecté
Conseiller Municipal
Salut lulu,
Il y a bien quelques outils sympa pour convertir des images PNG/BMP sur les modes MSX d'écran MSX, mais c'est plus rare pour le MSX2.
Avez-vous trouvé des outils intéressant ?
Je cherche un outil en ligne de commande pour convertir vers les mode d'écran MSX2 et +
Si possible qui puisse fonctionner sur MAC / Linux ( je sais j'en demande beaucoup) si pas je me contenterai d'un outils windows.
(J'en étais resté à l'outils de Janone qui marche bien : https://msx.jannone.org/conv/ )
Il y a bien quelques outils sympa pour convertir des images PNG/BMP sur les modes MSX d'écran MSX, mais c'est plus rare pour le MSX2.
Avez-vous trouvé des outils intéressant ?
Je cherche un outil en ligne de commande pour convertir vers les mode d'écran MSX2 et +
Si possible qui puisse fonctionner sur MAC / Linux ( je sais j'en demande beaucoup) si pas je me contenterai d'un outils windows.
(J'en étais resté à l'outils de Janone qui marche bien : https://msx.jannone.org/conv/ )
Dans les outils classiques, BMP2MSX le fait pour tous les modes, y compris MSX2.
Edité par Metalion Le 17/01/2022 à 14h53
Edité par Metalion Le 17/01/2022 à 14h53
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)
ericb59
Membre non connecté
Conseiller Municipal
Je l'ai pas mal utilisé Bmpsx.
C'est le seul que je connaisse qui gère tous les screen mode du MSX.
Mais je cherche un outil en ligne de commande...
Personne n'a rien trouvé ?
C'est le seul que je connaisse qui gère tous les screen mode du MSX.
Mais je cherche un outil en ligne de commande...
Personne n'a rien trouvé ?
aoineko
Membre non connecté
Conseiller Municipal
Il peut convertir des images d'à peu près n'importe quel format (JPEG, BMP, PCX, TGA, PNG, GIF, ICO, etc.) vers la plupart des formats MSX.
Voici les options à utiliser en fonction des screen modes :
- Screen 1 : -mode gm1 (je me souviens pas de l'avoir testé )
- Screen 2&3 : -mode gm2 (que j'utilise dans Final Smash)
- Screen 5&7 : -mode bmp - bpc 4
- Screen 6 : -mode bmp - bpc 2
- Screen 8 : -mode bmp - bpc 8
Sur MSX2, tu peux aussi choisir la palette à utiliser (celle de base, une généré spécialement ou un palette custo).
Tu as pas l'équivalent de WINE sur MacOS pour exécuter des programmes Windows ?
Voici les options à utiliser en fonction des screen modes :
- Screen 1 : -mode gm1 (je me souviens pas de l'avoir testé )
- Screen 2&3 : -mode gm2 (que j'utilise dans Final Smash)
- Screen 5&7 : -mode bmp - bpc 4
- Screen 6 : -mode bmp - bpc 2
- Screen 8 : -mode bmp - bpc 8
Sur MSX2, tu peux aussi choisir la palette à utiliser (celle de base, une généré spécialement ou un palette custo).
Tu as pas l'équivalent de WINE sur MacOS pour exécuter des programmes Windows ?
On est toujours ignorant avant de savoir.
ericb59
Membre non connecté
Conseiller Municipal
aoineko :
Tu as pas l'équivalent de WINE sur MacOS pour exécuter des programmes Windows ?
Tu as pas l'équivalent de WINE sur MacOS pour exécuter des programmes Windows ?
Si mais ca n'a pas d'intérêt pour un outils en ligne de commande, et je ne peux pas l'intégrer à mon workflow.
Sinon je peux l'utiliser sur Mon WINDOWS 11 ARM que j'ai virtualisé sur Mac. C'est pas ça le problème. Edité par ericb59 Le 19/01/2022 à 15h02
ericb59
Membre non connecté
Conseiller Municipal
@aoioneko : Est-ce que tu pourrais faire une version de ton outils de conversion en supprimant tout le code C++ spécifique microsoft ?
Les librairies Freeimage existent aussi sur MAC/Linux. Je pense que tu utilise cette librairie pour la lecture de différents format de fichier sources ?
Mais même si ca ne lisait que du BMP, ça serait super.
Les librairies Freeimage existent aussi sur MAC/Linux. Je pense que tu utilise cette librairie pour la lecture de différents format de fichier sources ?
Mais même si ca ne lisait que du BMP, ça serait super.
aoineko
Membre non connecté
Conseiller Municipal
ericb59 :
@aoioneko : Est-ce que tu pourrais faire une version de ton outils de conversion en supprimant tout le code C++ spécifique microsoft ?
Les librairies Freeimage existent aussi sur MAC/Linux. Je pense que tu utilise cette librairie pour la lecture de différents format de fichier sources ?
Mais même si ca ne lisait que du BMP, ça serait super.
Les librairies Freeimage existent aussi sur MAC/Linux. Je pense que tu utilise cette librairie pour la lecture de différents format de fichier sources ?
Mais même si ca ne lisait que du BMP, ça serait super.
Je ne pense pas qu'il y ait de code spécifique Microsoft...
C'est juste de la lecture de ligne de commande et de la création de fichier.
C'est censé être du C++ standard.
FreeImage est la librairie que j'utilise pour la lecture et la manipulation des images.
Elle est indispensable, mais effectivement, elle existe pour Mac et Linux.
Je vais regarder ce soir ; ne serait-ce que pour ajouter les fichiers manquant de CMSXtk.
On est toujours ignorant avant de savoir.
ericb59
Membre non connecté
Conseiller Municipal
@aoinkeo
Déjà ça c'est uniquement chez M$
#include <tchar.h>
Cette lib n'existe pas en standard.
Ensuite quand j'essaie de compiler tes outils avec GCC j'ai beaucoup ce genre d'erreur
et
Je ne saurais dire si c'est un problème de compatibilité de code ou autre par contre.
Ou alors faut ajouter des paramètres à la compilation ?
PS CMSXtk, je l'ai récupéré d'un autre de tes projets finalement.
Edité par ericb59 Le 20/01/2022 à 12h45
Déjà ça c'est uniquement chez M$
#include <tchar.h>
Cette lib n'existe pas en standard.
Ensuite quand j'essaie de compiler tes outils avec GCC j'ai beaucoup ce genre d'erreur
Code TEXT :
./CMSXtk_string.h:41:10: warning: generalized initializer lists are a C++11 extension [-Wc++11-extensions] return { buf, len };
et
Code TEXT :
/CMSXtk_string.h:41:10: error: non-aggregate type 'std::string' (aka 'basic_string<char>') cannot be initialized with an initializer list return { buf, len };
Code TEXT :
CMSXbin.cpp:371:6: error: use of undeclared identifier 'fread_s' if (fread_s(binData, fileSize, sizeof(u8), fileSize, file) != fileSize)
Je ne saurais dire si c'est un problème de compatibilité de code ou autre par contre.
Ou alors faut ajouter des paramètres à la compilation ?
PS CMSXtk, je l'ai récupéré d'un autre de tes projets finalement.
Edité par ericb59 Le 20/01/2022 à 12h45
La seconde partie indique que tu devrais indiquer à GCC d'utiliser exclusivement la norme C++11. Après, ce n'est pas fiable à 100% car certains compilateurs sont très laxistes sur le respect des normes. Certains compilateurs vont être en retard et d'autres piocher suivant le cas dans différentes normes.
GCC est réputé strict avec les différentes normes, d'où le Warning.
Par contre, ton 2e extrait indiquerait un problème de non respect de la définition des aggregate type.
Après, ça serait intéressant de savoir par Aioneko, pourquoi il se sert de tchar.h...
- Edit - Quelques fois, cela peut provenir d'un tableau ou d'une structure écrit dans un format C que l'on a transformé en classe. Soit, on revient en arrière et on les déclare en tant que structure, soit on ajoute un public: à la classe pour que tous les membres soient public et non pas private. Enfin, je ne suis pas un pro de C/C++ Edité par KN2000 Le 20/01/2022 à 14h28
GCC est réputé strict avec les différentes normes, d'où le Warning.
Par contre, ton 2e extrait indiquerait un problème de non respect de la définition des aggregate type.
Après, ça serait intéressant de savoir par Aioneko, pourquoi il se sert de tchar.h...
- Edit - Quelques fois, cela peut provenir d'un tableau ou d'une structure écrit dans un format C que l'on a transformé en classe. Soit, on revient en arrière et on les déclare en tant que structure, soit on ajoute un public: à la classe pour que tous les membres soient public et non pas private. Enfin, je ne suis pas un pro de C/C++ Edité par KN2000 Le 20/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
ericb59
Membre non connecté
Conseiller Municipal
Citation :
Je vais mettre le code source dans XCODE, il m'en dira sans doute plus sur ces erreurs, et avec un peut de chance me proposera des solutions.
Bon ben Xcode il aime pas ca non plus...
Qu'est-ce qui ne va pas a ton avis aoineko ?
Edité par ericb59 Le 21/01/2022 à 17h11
ericb59 :
Plus que moi en tout cas.
KN2000 :
L Enfin, je ne suis pas un pro de C/C++
Plus que moi en tout cas.
Oui, mais je souligne que je suis très impressionné par le travail d'Aoineko sur sa MSXgl et de ton travail sur Fusion-C. C'est du temps passé en recherches, en essais... et cela donne un choix supplémentaire à la communauté pour réaliser un projet.
Pour le résultat sur XCode, je dirais qu'il manque une bibliothèque ou alors les définitions des constantes, des variables se font trop tard.
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 !
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 !
Répondre
Vous n'êtes pas autorisé à écrire dans cette catégorie