CODINGCLASSEURS 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 1

I. 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 ».

  • Si PEN 1 est la couleur du dessin, les 4 bits seront ceux de poids faible,
  • Si PEN 2 est la couleur du dessin, les 4 bits seront ceux de poids fort,
  • Si PEN 3 est la couleur du dessin, les 4 bits seront au choix, ceux de poids faible ou ceux de poids fort.
Cette distinction des couleurs apparaît lignes 1450 à 1480 :
  • Ligne 1450 : Extraction d'un octet du dessin,
  • Ligne 1460 : PEN 1,
  • Ligne 1470 : PEN 2,
  • Ligne 1480 : PEN 3.
REPETITION DE MOTIFS

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 :

  • Lignes 1610 à 1630 : Recherche de répétition
  • Ligne 1640 : Mémorisation
  • Ligne 1660 : Terminateur
Entrez le nom de l'image à compacter, puis délimitez les coins supérieur

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
Ligne 1100 : Chargement de l'image à traiter
Lignes 1140 à 1170 : Interface Assembleur avec la routine « DOTPOS » (Reportez-vous au chap. 10.2 de la partie 5 pour avoir plus de détails.)
Lignes 1190 à 1240 : Définition des coins supérieur gauche et inférieur droit du bloc à compacter.
Lignes 1400 à 1430 : Interfaçage avec DOTPOS
Lignes 1440 à 1510 : Compactage
Ligne 1530 : Mémorisation
Ligne 1540 : Terminateur (&FFAA)
Lignes 1580 à 1660: Compacteur de type 2
Lignes 2000 à 2230 : Sauvegarde d'un des compactages

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.

Page précédente : 5/10.3.2 - Compacteurs monochromes en mode 1
★ AMSTRAD CPC ★ DOWNLOAD ★

Type-in/Listings:
» WEKA  5-10-3-2-Compacteurs  monochromes  en  mode  1-I-Les  compacteursDATE: 2021-02-02
DL: 236
TYPE: PDF
SiZE: 148Ko
NOTE: 4 pages/PDFlib v1.6

» WEKA  5-10-3-2-Compacteurs  monochromes  en  mode  1-II-Les  decompacteurs-afficheursDATE: 2021-02-02
DL: 238
TYPE: PDF
SiZE: 458Ko
NOTE: 14 pages/PDFlib v1.6

Je participe au site:
» Vous avez des infos personnel, des fichiers que nous ne possédons pas concernent ce programme ?
» Vous avez remarqué une erreur dans ce texte ?
» Aidez-nous à améliorer cette page : en nous contactant via le forum ou par email.

CPCrulez[Content Management System] v8.732-desktop
Page créée en 899 millisecondes et consultée 421 fois

L'Amstrad CPC est une machine 8 bits à base d'un Z80 à 4MHz. Le premier de la gamme fut le CPC 464 en 1984, équipé d'un lecteur de cassettes intégré il se plaçait en concurrent  du Commodore C64 beaucoup plus compliqué à utiliser et plus cher. Ce fut un réel succès et sorti cette même années le CPC 664 équipé d'un lecteur de disquettes trois pouces intégré. Sa vie fut de courte durée puisqu'en 1985 il fut remplacé par le CPC 6128 qui était plus compact, plus soigné et surtout qui avait 128Ko de RAM au lieu de 64Ko.