Skip to content

Latest commit

 

History

History
522 lines (379 loc) · 20.6 KB

File metadata and controls

522 lines (379 loc) · 20.6 KB

Guide Utilisateur — Image2PCE II

Version 0.1.7

Image2PCE II

Introduction

Image2PCE II est un outil de conversion d'images pour la console PC-Engine / TurboGrafx-16. Il transforme n'importe quelle image en données graphiques compatibles avec les contraintes matérielles de la console :

  • Résolution : Variable (32 à 128 tuiles en largeur, 32 à 64 tuiles en hauteur)
  • Couleurs : RGB333 (512 couleurs possibles)
  • Palettes : 16 palettes de 16 couleurs chacune
  • Tuiles : 8×8 pixels avec déduplication automatique
  • Calcul VRAM : Affichage en temps réel de l'occupation mémoire (BAT + tuiles)

Table des matières

  1. Interface
  2. Courbe RGB333
  3. Visualiseurs
  4. Masque de dithering
  5. Groupes de palettes
  6. Éditeur de tuiles
  7. Palettes générées
  8. Workflow recommandé
  9. Fichiers projet
  10. Formats d'export
  11. Format technique PC-Engine
  12. Raccourcis et astuces
  13. Dépannage

Interface

Barre supérieure

Bouton Description
Open image Ouvrir une image source (PNG, JPEG, GIF, WebP, BMP)
Load project Charger un projet sauvegardé (.i2p)
Save project Sauvegarder le projet complet (image, réglages, masque, groupes)
Save binaries Crée un répertoire et exporte .bat, .tiles, .pal
Save .asm Exporter en format assembleur commenté
VRAM Adresse de base VRAM pour les tuiles (défaut: $4000)

Panneau des réglages

Redimensionnement

Choisissez l'algorithme de mise à l'échelle :

  • lanczos : Haute qualité, recommandé pour les photos
  • nearest : Pixels nets, idéal pour le pixel art
  • catmullrom : Bon compromis qualité/netteté

Nombre de palettes

Définit le nombre de palettes générées (1 à 16). Plus il y a de palettes, plus les couleurs seront fidèles, mais chaque tuile ne peut utiliser qu'une seule palette.

Couleur 0

  • auto : La couleur de fond est détectée automatiquement
  • fixée : Cliquez sur une couleur dans les palettes générées pour la définir comme couleur 0 (transparence)

Dithering

  • aucun : Pas de tramage
  • Floyd–Steinberg : Diffusion d'erreur pour un rendu progressif
  • ordered : Motif régulier de points

Seed (graine de dithering)

Le paramètre Seed contrôle le comportement déterministe du dithering Floyd-Steinberg.

Pourquoi une seed ? L'algorithme de clustering des palettes utilise des structures de données dont l'ordre d'itération peut varier. La seed garantit que le même résultat soit reproductible.

Élément Description
Champ numérique Entrez une valeur de seed (0 à 9 quadrillions)
Bouton 🎲 Génère une nouvelle seed aléatoire

Utilisation :

  • Même seed + même image = même résultat (toujours identique)
  • Seed différente = résultat potentiellement différent (distribution des palettes différente)
  • Cliquez sur 🎲 pour explorer différentes variations du dithering
  • Notez la seed d'un résultat qui vous plaît pour pouvoir le reproduire

Astuce : Si le résultat du dithering ne vous convient pas, essayez plusieurs seeds avec le bouton 🎲 jusqu'à obtenir un rendu satisfaisant, puis conservez cette seed.

Options

  • Transparence : Active la gestion de la transparence
  • Keep ratio : Préserve le ratio d'aspect de l'image source
  • Masque dithering : Active le masque éditable sur l'image source

Couleur de fond

Couleur utilisée pour remplir les zones vides (si le ratio est préservé).

Taille BAT et positionnement

La PC-Engine supporte plusieurs tailles de BAT (Block Address Table). Ce groupe de réglages permet de configurer la taille de la BAT, les dimensions de l'image et son positionnement.

Taille BAT Sélectionnez la taille de la BAT parmi les 5 tailles supportées :

  • 32×32 (1024 tuiles, 2 Ko) - mode standard
  • 64×32 (2048 tuiles, 4 Ko)
  • 128×32 (4096 tuiles, 8 Ko)
  • 64×64 (4096 tuiles, 8 Ko)
  • 128×64 (8192 tuiles, 16 Ko)

Largeur / Hauteur Définissent la taille de l'image convertie en tuiles. Les valeurs maximales sont limitées par la taille de la BAT sélectionnée. L'image peut être plus petite que l'espace BAT disponible.

Offset X / Offset Y Positionnent l'image dans la BAT. Ces valeurs sont automatiquement contraintes pour que l'image reste entièrement dans la BAT :

  • Offset X max = Largeur BAT - Largeur image
  • Offset Y max = Hauteur BAT - Hauteur image

Les zones de la BAT en dehors de l'image contiennent des tuiles vides (index 0, palette 0).


Courbe RGB333

L'éditeur de courbe permet d'ajuster la quantification des couleurs vers RGB333 (3 bits par canal = 8 niveaux).

  • Axe horizontal : Valeur d'entrée (0-255)
  • Axe vertical : Valeur de sortie (0-255, puis quantifiée en 8 niveaux)
  • Points de contrôle : Glissez pour modifier la courbe
  • Reset : Réinitialise la courbe linéaire

Astuce : Une courbe en S augmente le contraste. Relever les ombres ou abaisser les hautes lumières peut améliorer certaines images.


Visualiseurs

Source (gauche)

Affiche l'image originale chargée.

  • Zoom : Utilisez le curseur ou la molette de la souris pour agrandir (1x à 8x)
  • Navigation : Cliquez et glissez pour déplacer l'image

Sortie (droite)

Affiche le résultat de la conversion en temps réel.

  • Survol : Passez la souris sur une tuile pour voir sa palette associée
  • Zoom tuile : Un aperçu 10x de la tuile survolée s'affiche
  • Calcul VRAM : L'occupation mémoire est affichée (BAT + tuiles uniques)
    • Si la taille dépasse 64 Ko, un avertissement en rouge s'affiche
    • La déduplication des tuiles permet d'économiser de la VRAM

Simulation CRT

Simulez l'affichage sur un écran cathodique :

Mode Description
Aucune Pas de simulation
Scanlines Lignes de balayage horizontales
Aperture Grille Bandes RGB verticales (style Trinitron)
Shadow Mask Motif de points RGB (TV classique)
Composite Combinaison complète avec vignettage

Un léger flou analogique est automatiquement appliqué lorsqu'un mode CRT est sélectionné.

VRAM Map

La carte mémoire VRAM affiche visuellement l'occupation de la mémoire vidéo de 64 Ko de la PC-Engine. Elle se trouve sous l'histogramme dans le panneau des réglages.

Affichage

VRAM Map (64 Ko)                              42%
[█████BAT█████|           |████████Tiles████████|     ]
$0000         $4000       $8000       $C000       $FFFF
BAT: $0000-$0800 (2 Ko)    Tuiles: $4000-$A400 (25.2 Ko)
Élément Description
Barre BAT (bleu) Position et taille de la BAT, toujours à $0000
Barre Tuiles (violet) Position et taille des tuiles à l'adresse VRAM configurée
Échelle Adresses hexadécimales de $0000 à $FFFF
Pourcentage Occupation totale de la VRAM

Alertes

La VRAM Map détecte automatiquement les problèmes de configuration :

Alerte Description
Chevauchement BAT/Tuiles La zone de chevauchement s'affiche en rouge rayé avec le message d'alerte
Dépassement VRAM Les tuiles débordent au-delà de $FFFF

Conseil : Ajustez l'adresse VRAM dans la barre supérieure pour éviter les chevauchements. La BAT occupe les premiers octets à partir de $0000, placez donc vos tuiles plus loin (ex: $4000 par défaut).


Masque de dithering

Le masque de dithering permet de contrôler précisément où le tramage est appliqué sur l'image. Activez-le avec la checkbox Masque dithering dans les réglages.

Activer l'édition

Cliquez sur le bouton crayon (✏️) sous l'image source pour activer le mode édition. Le masque apparaît en semi-transparence sur l'image.

Outils disponibles

Outil Description
Pinceau (🖌️) Peint en noir = zones avec dithering
Gomme (🧽) Peint en blanc = zones sans dithering
Cercle (⭕) Trace un cercle plein (clic = centre, glisser = rayon)
Rectangle (⬜) Trace un rectangle plein (clic = coin, glisser = coin opposé)
Polygone (🔷) Trace un polygone (clic = ajouter point, fermer ou double-clic = terminer)
Annuler (↩️) Annule la dernière action
Rétablir (↪️) Rétablit l'action annulée
Taille Ajuste le diamètre du pinceau (5-100 pixels)
Effacer Remplit tout le masque en blanc (aucun dithering)
Remplir Remplit tout le masque en noir (dithering partout)
Inverser Inverse le masque (noir ↔ blanc)

Outils de forme (cercle, rectangle, polygone)

  • Par défaut, les formes remplissent en noir (dithering)
  • Double-clic sur le bouton : bascule en mode blanc (pas de dithering)
  • Un indicateur visuel (fond bicolore) montre le mode actif
  • Shift pendant le tracé : inverse temporairement la couleur

Raccourcis clavier

Touche Action
X Basculer entre pinceau et gomme
Ctrl+Z Annuler
Ctrl+Y Rétablir
Escape Annuler le polygone en cours
Clic droit Annuler le polygone en cours
Shift + glisser Déplacer l'image pendant l'édition
Molette Zoomer/dézoomer

Fonctionnement

  • Noir = le dithering sera appliqué dans cette zone
  • Blanc = pas de dithering, couleurs unies

Le masque est automatiquement redimensionné pour correspondre à l'image de sortie, y compris si l'option "Keep ratio" est activée.


Groupes de palettes

L'éditeur de groupes de palettes permet de forcer certaines tuiles à utiliser une palette spécifique lors de la conversion. C'est utile pour garantir que des zones particulières de l'image utilisent les mêmes couleurs, ou pour optimiser manuellement la distribution des palettes.

Concept des tuiles virtuelles

L'image source est découpée en tuiles virtuelles correspondant aux tuiles PCE de sortie. La grille virtuelle a les mêmes dimensions que la sortie configurée (ex: 32×32 tuiles).

  • Une image source de 512×512 pixels avec sortie 32×32 tuiles → tuiles virtuelles de 16×16 pixels
  • Une image source de 640×480 pixels avec sortie 64×32 tuiles → tuiles virtuelles de 10×15 pixels

Activation

Cliquez sur le bouton cible (🎯) sous l'image source pour activer le mode édition. La grille des tuiles virtuelles apparaît en superposition sur l'image.

Outils disponibles

Outil Description
Pinceau (🖌️) Assigne les tuiles au groupe sélectionné
Gomme (🧽) Retire l'assignation (retour au mode automatique)
Taille Ajuste la taille du pinceau (1-5 tuiles)
Annuler (↩️) Annule la dernière action
Rétablir (↪️) Rétablit l'action annulée
Effacer tout Supprime toutes les assignations

Sélecteur de groupe

Une grille de 16 boutons colorés (0-F) permet de sélectionner le groupe de palette actif. Chaque groupe correspond à une des 16 palettes PC-Engine :

  • Les tuiles assignées à un groupe seront forcées à utiliser cette palette lors de la conversion
  • Les tuiles non assignées seront optimisées automatiquement par l'algorithme de clustering

Raccourcis clavier

Touche Action
X Basculer entre pinceau et gomme
Ctrl+Z Annuler
Ctrl+Y Rétablir
0-9, A-F Sélectionner directement un groupe (0-15)
Shift + glisser Déplacer l'image pendant l'édition
Molette Zoomer/dézoomer

Fonctionnement lors de la conversion

  1. Les tuiles avec contraintes sont pré-assignées à leur groupe
  2. Les couleurs de ces tuiles contribuent à la composition de leur palette
  3. L'algorithme de clustering optimise uniquement les tuiles non contraintes
  4. Les tuiles contraintes conservent leur groupe, même si d'autres couleurs seraient plus proches

Note : Si vous changez les dimensions de sortie, les assignations sont réinitialisées car la grille de tuiles change.


Éditeur de tuiles

L'éditeur de tuiles permet de retoucher les pixels individuels du résultat converti, après la conversion initiale. Chaque tuile fait 8×8 pixels et utilise une seule palette parmi les 16 disponibles.

Activation

Cliquez sur le bouton 🎨 en bas du visualiseur de sortie (à droite) pour activer le mode édition. La barre d'outils se déploie avec les contrôles disponibles.

Outils disponibles

Outil Icône Description
Pinceau 🖌️ Dessine les pixels avec la couleur sélectionnée
Sélection 🔍 Verrouille toutes les tuiles sauf celles de la palette cliquée
Annuler ↩️ Annule la dernière action (jusqu'à 50 états)
Rétablir ↪️ Rétablit l'action annulée

Workflow d'utilisation

  1. Convertir l'image : L'éditeur n'est disponible qu'après une conversion
  2. Activer l'édition : Cliquez sur 🎨, le curseur devient une croix
  3. Sélectionner une zone :
    • Cliquez sur 🔍 (outil Sélection)
    • Cliquez sur une tuile dans l'image
    • Toutes les tuiles utilisant d'autres palettes sont verrouillées (overlay semi-transparent)
    • La palette de la tuile sélectionnée s'affiche
  4. Choisir une couleur : Cliquez sur une des 16 couleurs de la palette affichée
  5. Dessiner :
    • Cliquez sur 🖌️ (outil Pinceau)
    • Cliquez et glissez sur les tuiles déverrouillées pour peindre pixel par pixel
    • Les tuiles verrouillées ne peuvent pas être modifiées

Menu contextuel (clic droit)

En mode pinceau (🖌️), un clic droit sur une tuile affiche un menu contextuel :

Option Description
Convert to palette... Convertit la tuile vers une autre palette

Conversion de palette

Cette fonction permet de changer la palette d'une tuile individuelle :

  1. Clic droit sur la tuile à convertir
  2. Sélectionnez "Convert to palette..."
  3. Choisissez la palette cible parmi les 16 disponibles
  4. Les pixels de la tuile sont automatiquement convertis aux couleurs les plus proches de la nouvelle palette
  5. La sélection bascule sur la nouvelle palette

Note : Cette opération est annulable avec Ctrl+Z / Cmd+Z (les pixels et la palette de la tuile sont restaurés).

Raccourcis clavier

Raccourci Action
X Basculer entre Pinceau et Sélection
Ctrl+Z / Cmd+Z Annuler
Ctrl+Y / Cmd+Y Rétablir
Ctrl+Shift+Z / Cmd+Shift+Z Rétablir (alternative)
Clic droit Menu contextuel (en mode pinceau)

Comportements particuliers

  • Sélection requise : L'outil Pinceau nécessite d'abord une sélection via l'outil 🔍
  • Tuiles vides : Les tuiles entièrement de couleur 0 ne sont pas éditables
  • Verrouillage par palette : Toutes les tuiles d'une même palette partagent le même état de verrouillage
  • Historique limité : 50 états maximum (les plus anciens sont supprimés si dépassé)
  • Désactivation : Cliquer à nouveau sur 🎨 réinitialise l'éditeur (sélection, historique, verrouillage)

Palettes générées

Après conversion, les 16 palettes sont affichées avec leur utilisation :

  • Le nombre de tuiles utilisant chaque palette est indiqué
  • Cliquez sur une couleur pour la définir comme couleur 0
  • La palette survolée sur l'image de sortie est mise en évidence

Workflow recommandé

  1. Ouvrir une image avec "Open image"
  2. Ajuster les paramètres selon le type d'image :
    • Photo : lanczos + Floyd-Steinberg + 16 palettes
    • Pixel art : nearest + aucun dithering + palettes réduites
  3. Modifier la courbe RGB333 si nécessaire
  4. Convertir en cliquant sur le bouton bleu
  5. Vérifier le résultat avec la simulation CRT
  6. Sauvegarder le projet pour reprendre plus tard (optionnel)
  7. Exporter dans le format souhaité

Fichiers projet (.i2p)

Les fichiers projet permettent de sauvegarder et reprendre votre travail ultérieurement. Un fichier .i2p contient :

  • Chemin de l'image source : L'image originale sera rechargée automatiquement
  • Tous les réglages de conversion : Redimensionnement, palettes, dithering, seed, etc.
  • La seed de dithering : Pour reproduire exactement le même résultat
  • La courbe RGB333 : Points de contrôle personnalisés
  • Le masque de dithering : Zones avec/sans tramage
  • Les groupes de palettes : Assignations manuelles des tuiles

Sauvegarder un projet

  1. Cliquez sur Save project dans la barre supérieure
  2. Choisissez l'emplacement et le nom du fichier
  3. Le fichier .i2p est créé avec toutes les données

Charger un projet

  1. Cliquez sur Load project dans la barre supérieure
  2. Sélectionnez un fichier .i2p
  3. L'image source, les réglages, le masque et les groupes sont restaurés

Note : Si l'image source a été déplacée ou supprimée, seuls les réglages seront restaurés.

Raccourcis clavier

Raccourci Action
Ctrl+S / Cmd+S Sauvegarder le projet
Ctrl+Shift+O / Cmd+Shift+O Charger un projet

Indicateur de modifications

Le bouton Save project change de couleur (orange pulsant) lorsque le projet contient des modifications non sauvegardées :

  • Modification des réglages de conversion
  • Chargement d'une nouvelle image
  • Édition du masque de dithering
  • Assignation de groupes de palettes

Le bouton retrouve sa couleur normale après une sauvegarde réussie ou le chargement d'un projet.


Formats d'export

Binaires (répertoire avec .bat, .tiles, .pal)

L'export binaire crée un répertoire portant le nom choisi, contenant 3 fichiers :

Fichier Contenu Taille
.bat Block Address Table (mots 16 bits, little-endian) Variable (2 × nb tuiles)
.tiles Données des tuiles (format planaire PCE) Variable (32 × nb tuiles uniques)
.pal 16 palettes × 16 couleurs × 2 octets 512 octets

Important : Le fichier .tiles commence toujours par une tuile vide (32 octets à zéro) en position 0. Les tuiles vides de l'image pointent toutes vers cette première tuile, ce qui permet d'économiser de la VRAM.

Assembleur (.asm)

Fichier texte avec :

  • Données BAT formatées en .dw
  • Données des tuiles en .db
  • Données des palettes avec commentaires
  • Statistiques (tuiles uniques, doublons, taille mémoire)

Format technique PC-Engine

BAT (Block Address Table)

Bit 15-12 : Index de palette (0-15)
Bit 11-0  : Adresse VRAM >> 4

Tuile planaire (32 octets)

Octets 0-7   : Plan 0, lignes 0-7
Octets 8-15  : Plan 1, lignes 0-7
Octets 16-23 : Plan 2, lignes 0-7
Octets 24-31 : Plan 3, lignes 0-7

Couleur PCE (9 bits dans mot 16 bits)

0000 000G GGRR RBBB
       │   │   └── Bleu (3 bits, positions 0-2)
       │   └────── Rouge (3 bits, positions 3-5)
       └────────── Vert (3 bits, positions 6-8)

Raccourcis et astuces

Navigation

  • Molette souris : Zoomer/dézoomer sur les visualiseurs
  • Glisser : Déplacer l'image dans un visualiseur
  • Shift + glisser : Déplacer l'image pendant l'édition du masque

Général

  • Les réglages sont sauvegardés automatiquement
  • Double-cliquez sur le preview couleur 0 pour ouvrir le sélecteur de couleur
  • L'adresse VRAM accepte les formats $4000 ou 0x4000
  • Les tuiles vides (entièrement couleur 0) sont automatiquement dédupliquées

Dépannage

L'image est trop sombre/claire après conversion → Ajustez la courbe RGB333 pour compenser

Les couleurs sont trop différentes de l'original → Augmentez le nombre de palettes ou essayez un autre mode de dithering

L'export binaire ne fonctionne pas → Vérifiez que vous avez bien converti l'image avant d'exporter

La simulation CRT n'apparaît pas → Sélectionnez un mode autre que "Aucune" dans le menu déroulant