[exelvision] utilitaire pc2des, exemples

Couvre tous les domaines de l'émulation logicielle ou de la virtualisation ainsi que les discussions sur les divers outils associés.

Modérateurs : Papy.G, fneck, Carl

Daniel
Messages : 17419
Inscription : 01 mai 2007 18:30
Localisation : Vaucluse
Contact :

Re: [exelvision] utilitaire pc2des, exemples

Message par Daniel »

Palette de dcexel pour écran monochrome et pour écran couleur :

Code : Tout sélectionner

//Initialisation palette /////////////////////////////////////////////////////
void Initpalette(void)
{
 int i;
 extern int monochrome;
 //0=noir 1=rouge 2=vert 3=jaune 4=bleu 5=magenta 6=cyan 7=blanc
 int b[8]={0,0,0,0,2,2,2,2};
 int g[8]={0,0,2,2,0,0,2,2};
 int r[8]={0,2,0,2,0,2,0,2};
 //definition des intensites pour correction gamma
 int x[3]={0,180,255};
 int mb[8]={0, 70,110,180, 40, 90,120,210};
 int mg[8]={0,140,220,250, 80,180,240,255};
 int mr[8]={0, 35, 55,140, 20, 45, 60,180};
 //initialisation pour chaque couleur
 for(i = 0; i < 8; i++)
 {
  pcolor[i].b = (monochrome) ? mb[i] : x[b[i]];
  pcolor[i].g = (monochrome) ? mg[i] : x[g[i]];
  pcolor[i].r = (monochrome) ? mr[i] : x[r[i]];
 }
}
Remarque : La valeur x[1] n'est pas utilisée. Elle est prévue pour des machines ayant 3 niveaux par couleur (comme le MO5). Pour l'EXL100 il n'y a que deux niveaux : 0 et 2.
Daniel
L'obstacle augmente mon ardeur.
kevlar
Messages : 77
Inscription : 13 avr. 2012 11:44

Re: [exelvision] utilitaire pc2des, exemples

Message par kevlar »

merci beaucoup !
En plus c'est du C.

De mon côté j'ai trouvé un peu de temps ce matin pour l'interface au niveau de l'ouverture des fichiers ; le plus de la version Gtk/linux, si j'arrive à la finir, ce sera d'importer du vectoriel SVG, donc ce sera très sympa, j'espère, pour les graphismes "bd/cartoons" que souhaite Jester.
jester
Messages : 2328
Inscription : 01 janv. 2009 23:16
Localisation : Grenoble

Re: [exelvision] utilitaire pc2des, exemples

Message par jester »

Sinon pour faire des conversions il y a l'outil ImageMagick avec ces APIs... j'utilise cet outil en ligne de commande car il dispose de filtre sympa pour obtenir des tramages qui passent bien pour rendre des couleurs intermédiaires (pas de la bouillie par diffusion).
La conversion de couleur sans tramage montre vite ses limites et l'image perd surtout en piqué, on a vite l'impression de regarder un négatif de photo dés lors que l'image est complexe et/ou avec trop de couleurs.
kevlar
Messages : 77
Inscription : 13 avr. 2012 11:44

Re: [exelvision] utilitaire pc2des, exemples

Message par kevlar »

d'accord, je connaissais imagemagick en ligne de commande ; pourrais-tu me dire en gros la suite d'ordres que tu lui passes ? (je n'ai plus développé avec ce très bon soft depuis 2009)
jester
Messages : 2328
Inscription : 01 janv. 2009 23:16
Localisation : Grenoble

Re: [exelvision] utilitaire pc2des, exemples

Message par jester »

- ImageMagick pour générer image en 8 couleurs Exl100 (idem algo de 6502man):
convert 1942.gif -channel red -threshold 112 -channel green -threshold 112 -channel blue -threshold 112 1942_8.gif

- ImageMagick pour générer PCX en 8 couleurs, commande simplifiée:
convert 1942.gif -dither none -posterize 2 1942_8.gif

- N&B
convert 1942.gif -scale 100%x50% -ordered-dither o2x2 -colors 2 -monochrome 1942.pcx
convert 1942.pcx -dither none -posterize 2 1942.pcx

- ImageMagick pour générer PCX en 8 couleurs avec tramage sympa (sans bouillie immonde):
convert 1942.gif -ordered-dither checks -posterize 2 1942_8.pcx

- Pour remplacer une couleur transparente par une autre:
convert truc1.gif -tranparent-color #0000FF truc2.gif

- Pour générer un masque
convert truc.gif -alpha extract -negate mask.gif

- Pour changer une taille et imposer la couleur du fond
convert truc1.gif -background BLACK -extent 24x36 truc2.gif
kevlar
Messages : 77
Inscription : 13 avr. 2012 11:44

Re: [exelvision] utilitaire pc2des, exemples

Message par kevlar »

merci bien !
Je viens de faire plusieurs tests, et je retiens cette version :

Code : Tout sélectionner

convert source.jpg -ordered-dither checks  -posterize 2 -colors 8 result_8.gif
L'image est plus fidèle, et j'ai remarqué qu'il est plus pertinent de redimensionner en 320x200 en mode true-color 24 bits avant de la convertir.

Image

La chose qui me souffle, c'est que la conversion 8 couleurs utilise directement la bonne palette pour l'EXL. :D
kevlar
Messages : 77
Inscription : 13 avr. 2012 11:44

Re: [exelvision] utilitaire pc2des, exemples

Message par kevlar »

Un petit avion prototype japonais :
Image


Une Ferrari 312 T (l'image de départ est un peu sombre) :

Image

Allez, reste plus qu'à intégrer çà au programme est assurer la conversion au format .DES en final !
Avatar de l’utilisateur
6502man
Messages : 12327
Inscription : 12 avr. 2007 22:46
Localisation : VAR
Contact :

Re: [exelvision] utilitaire pc2des, exemples

Message par 6502man »

Oui le résultat est pas mal.

Il faudrait que j’intègre le dithering a mon convertisseur ca serait pas mal peut être ....

Maintenant tu va pouvoir nous faire un petit slideshow de tes photos converties :wink:
Phil.

www.6502man.com

To bit or not to bit.
1 or 0.
Fabrice Montupet

Re: [exelvision] utilitaire pc2des, exemples

Message par Fabrice Montupet »

kevlar a écrit :Un petit avion prototype japonais
Il s'agit de l’excellent J7W1 Shinden, si je me souviens bien :)
kevlar
Messages : 77
Inscription : 13 avr. 2012 11:44

Re: [exelvision] utilitaire pc2des, exemples

Message par kevlar »

@6502man : il faut d'abord finir Pic2des Linux !
@fabrice : bien vu, et cela montre que la conversion d'image est assez correcte !
jester
Messages : 2328
Inscription : 01 janv. 2009 23:16
Localisation : Grenoble

Re: [exelvision] utilitaire pc2des, exemples

Message par jester »

-colors 8 impose 8 couleurs,
-posterize 2 impose 1 bit par composante (2 valeurs), donc la palette est naturellement celle de l'Exl (dans ce cas il n'y a pas de palettes en fait).
-ordered-dither checks choisit le seul motif+algo de dithering que je supporte (utilisant un pattern 1010/0101 pour les lignes paire/impaires): il crée juste des couleurs intermédiaires et améliore les ombres/changement de ton sans créer de la diffusion... il se compresse assez bien.
kevlar
Messages : 77
Inscription : 13 avr. 2012 11:44

Re: [exelvision] utilitaire pc2des, exemples

Message par kevlar »

Une question pour le format cible .DES :
chaque ligne comporte si j'ai bien compris 122 octets ; or, avec le codage propre à l'EXL, nous devrions avoir besoin de (320/8)x3 = 120 octets pour coder les pixels de chaque ligne.
A quoi servent les deux octets surnuméraires ?
jester
Messages : 2328
Inscription : 01 janv. 2009 23:16
Localisation : Grenoble

Re: [exelvision] utilitaire pc2des, exemples

Message par jester »

Je te conseille d'aller lire la les docs techniques sur l'Exl100/tel dispo chez Daniel (par exemple programmer en assembleur sur Exl100).
Les deux octets de contrôle existent dans les modes mixte (texte +bitmap) et bitmap, pas texte.
Ils servent de synchro et aussi pour fixer la couleur de bordure (et de fond pour les premiers caractères d'une ligne texte... mais c'est compliqué), et surtout pour indiquer le mode de la prochaine ligne en mode mixte (texte ou bitmap).

L'archi Exelvision est trop compliquée pour qu'on puisse répondre à toutes tes questions, ça va vite être lourd... il est impératif de se taper les docs techniques avant. Et il te restera encore des questions, j'en suis sur... Exelvision c'est vraiment plus fort que toi :mrgreen:
Fabrice Montupet

Re: [exelvision] utilitaire pc2des, exemples

Message par Fabrice Montupet »

jester a écrit : Exelvision c'est vraiment plus fort que toi :mrgreen:
Ah non, c'est SEGA qui est plus fort que toi ! Par contre, Exelvision fait des trucs incroyables...à la limite, ça fait peur ;)
jester
Messages : 2328
Inscription : 01 janv. 2009 23:16
Localisation : Grenoble

Re: [exelvision] utilitaire pc2des, exemples

Message par jester »

Ah oui, j'ai tout mélangé, lorsqu'on vient à confondre Sega et Exelvision c'est qu'il y a du mal de fait !
Répondre