Images en basse résolution sur Apple II

Ce tutoriel a pour objet d’afficher des images ou dessins en basse définition sur Apple II : le mode « Low Graphic Resolution » (LGR) permet 40×40 ou 40×48 pixels en 16 couleurs.

La méthode proposée est la suivante :

  1. Partir d’une image avec une définition quelconque (mais pas trop élevée si possible)
  2. Travailler cette image sous Gimp, en réduisant le nombre de pixels et en utilisant une palette de couleurs adaptée au mode LGR de l’A2.
  3. Exporter cette image au format Bitmap (BMP).
  4. Convertir cette image en un programme BASIC grâce à un petit utilitaire développé en langage C.
  5. Le code BASIC généré peut alors être intégré dans un programme complet.
Le mode graphique Low Res de l’Apple II

La définition du mode « Low Graphic Resolution » est de 40×40 pixels lorsqu’une zone en bas de d’écran est réservée pour afficher du texte (mode mixte). Cette zone de texte peut être supprimée pour laisser la totalité de l’écran disponible pour l’image, et dans ce cas la définition est de 40×48 pixels.

16 couleurs peuvent être affichées, la palette étant la suivante :

Choisir une image

Dans ce tutoriel, nous partirons de l’exemple suivant :

Un schtroumpf sympa

Et oui, j’aime bien les schtroumpfs… L’image ici a une définition de 250×250 pixels. Considérant la faible définition de l’image cible (40 x 40 !), il vaut mieux éviter une image de départ ayant trop de détails ou une définition trop importante.

GimP

L’étape suivante est de transformer cette image en quelque-chose de compatible avec la basse résolution de l’Apple II. Nous utilisons ici le logiciel de retouche d’image Gimp. Ce dernier est très puissant mais complexe, nous en ferons toutefois une utilisation basique. Gimp est open source et disponible sur toutes les plateformes, et les tutoriels pour l’installer et apprendre les bases sont nombreux. 

Ouvrir d’abord l’image « schtroumpf » avec Gimp. Ce tutoriel a été élaboré avec la version 2.10, une version plus ancienne de Gimp devrait fonctionner sans problème.

Import de la palette

Dans Gimp, installer la palette de couleurs spécifique pour le LGR de l’Apple II. Pour ce faire, sélection le menu  :

Fenêtres → Fenêtres ancrables → Palettes

Puis dans la fenêtre des palettes, cliquer à droite et sélectionner l’option « Importer une palette… ». Importer la palette suivante :

Apple-II-Low-Res.gpl (le fichier est ici compressé au format zip)

La palette est alors installée une fois pour toutes, et il ne sera plus nécessaire d’importer la palette pour les images traitées ultérieurement.

Modification de L’image

Les modifications sont à apporter à l’image d’origine sont :

  • Etape 1: utilisation des couleurs de la palette. Pour cela il faut utiliser le menu :

Images → Modes → Couleurs indexées…

La fenêtre suivante apparaît :

Sélectionner l’option « Utiliser une palette personnalisée puis choisir la palette « Apple-II-Low-Res. La case « Enlever les couleurs non utilisées… » doit être cochée. Cliquer ensuite sur le bouton « Convertir ».

  • Etape 2 : modification du nombre de pixel. Pour cela :

Images → Echelle et taille de l’image…

Saisir une largeur de 40 et une hauteur de 40 (ou 48). Puis cliquer sur « Mise à l’échelle ». L’image obtenue, fortement dégradée, est celle-ci :

Le schtroumpf, toujours sympa, mais moins beau…
Export au format BMP

Exporter ensuite l’image au format BMP :

Fichier → Exporter sous…

Choisir un nom de fichier avec pour extension « .bmp », en ayant pris soin de cocher la case « Sélectionner le type de fichier (selon l’extension) ». Dans ce tuto, le fichier est nommé schtroumpf-40x40.bmp.

Les options suivantes sont à utiliser pour réaliser cet export :

Installation de l’Utilitaire de conversion en BASIC

Il est ensuite nécessaire de transformer l’image au format BMP en un programme BASIC Applesoft. L’utilitaire bmp_low_res_a2 a été crée à cette effet. Il a été développé en langage C et nécessite en premier lieu d’être compilé. Pour cela :

Télécharger l’archive bmp_low_res_a2_181012.tar.gz et la copier dans un répertoire de votre choix.

Décompresser l’archive, en tapant dans un émulateur de terminal la commande :

$ tar xvzf bmp_low_res_a2_181012.tar.gz

Pour compiler le programme :

$ make

L’executable obtenu est le fichier bmp_low_res_a2. Il est possible de le copier dans le répertoire des executables de votre choix (/usr/local/bin par exemple).

Ce utilitaire convertit le fichier BMP en lignes de DATA, plus précisément en une suite de 40 (ou 48) lignes de DATA ayant chacune 40 entiers. Un entier représente la couleur du point à afficher, et prend une valeur comprise entre 0 et 15.

Conversion en Basic

Dans notre exemple, voici comment effectuer la conversion :

$ ./bmp_low_res_a2 ./schtroumpf-40x40.bmp -o SCHTROUMPF.BAS -n 1000 -i 105

L’option -o définit le fichier de sortie (ou sortie standard par défaut). L’option -n suivie d’un numéro définit le premier numéro de ligne BASIC. L’option -i fixe l’incrément de ligne.

Voici le programme BASIC obtenu : SCHTROUMPF.BAS

Le programme basic final

La dernière étape est d’intégrer les lignes de DATA dans un programme en BASIC Applesoft permettant d’exploiter ces données et d’afficher l’image. Le programme BASIC proposé ici à titre d’exemple est le suivant :

10 GR
20 FOR Y=0 TO 39
30 FOR X=0 TO 39
40 READ CO
50 COLOR=CO
60 PLOT X,Y
70 NEXT X 
80 NEXT Y

Ajoutez à la suite de ce programme les lignes de SCHTROUMPF.BASpuis RUN.

Et voici le rendu :

Le schtroumpf sous Apple II. Encore sympa, mais un peu moche 🙂
Autres exemples

Voici quelques exemples d’autres images sympathiques affichées en low res.

Superbe dragon à l’air intelligent
Bel éléphant
Magnifique Picsou

Et maintenant…  à vous de jouer !