| ★ CODING ★ CLASSEURS WEKA ★ Comment exploiter toutes les ressources et augmenter les performances de votre AMSTRAD CPC ★ |
| 5/10.3.2 - I. Les compacteurs (1er Complément) | Coding Classeurs Weka |
5/10.3.2 Compacteurs monochromes en mode 1I. Les compacteurs TASSEMENT D'OCTETS Nous avons vu plus haut (reportez-vous à la description du sous-programme ASSEMBLEUR MBG, chapitre 10.2 de la partie 5) quelle était la structure de l'écran en MODE 1. Si un objet affiché sur l'écran possède seulement deux couleurs : La couleur de fond et une couleur de motif, il apparaît que l'on peut réduire son occupation en mémoire. Le principe adopté est le suivant : Quatre bits sur les huit utilisés pour définir un groupe de 4 pixels sont essentiels pour définir totalement le dessin monochrome. Remarque : Dans la suite, nous parlerons de ce compacteur en le désignant par le nom « type 1 ».
Un deuxième type de compactage intéressant et facilement mis en œuvre consiste à compter le nombre d'octets (groupe de 4 pixels en MODE 1 ) identiques sur une ligne élémentaire, et à coder cette répétition : Nombre de répétitions, Octet, Terminateur. Remarque : Dans la suite, nous parlerons de ce compacteur en le désignant par le nom « type 2 ». L'écriture du sous-programme BASIC correspondant à ce compactage est immédiate. Pour chaque ligne du bloc à compacter, une recherche de répétition au niveau octet est effectuée puis codée :
gauche et inférieur droit de la portion d'image à compacter en vous servant des touches-flèches (la validation des deux coins se fait par la touche « ENTER »). Un certain temps, proportionnel aux dimensions du dessin à compacter et à la lenteur du BASIC (!) est nécessaire pour le calcul des fichiers compactés. Le programme affiche alors la place occupée par le compactage de type 1 et 2. Le programme de compactage des types 1 et 2 est le suivant :
Lignes 1040 à 1100 : Initialisation et présentation La routine du FIRMWARE « DOTPOS » est utilisée dans ce programme. Reportez-vous au chapitre 2.7 de la partie 4 pour avoir plus de détails à ce sujet.
|