CODINGCLASSEURS WEKA ★ Comment exploiter toutes les ressources et augmenter les performances de votre AMSTRAD CPC ★

9/8.01.1 - Turbo copie d'écran graphiqueCoding Classeurs Weka
9/8.1.1 Turbo copie d'écran graphique

Nous vous proposons une autre version du programme développé en Partie 9, chapitre 8.1, dans laquelle la boucle de calcul des éléments graphiques à imprimer est effectuée en Assembleur.

Si vous avez utilisé le programme Basic de copie d'écran graphique, vous avez pu voir à quel point son exécution est lente.

La partie de programme incriminée se trouve entre les lignes 3080 et 3140. Dans ces lignes sont identifiés les pixels dont la couleur est diffé­rente de la couleur de fond. Pour une ligne élémentaire, ces pixels sont au nombre de 320. Une ligne d'impression est constituée de 7 pixels les uns au-dessous des autres comme le montre le schéma suivant :

Pour chaque ligne de 7 pixels, le nombre de points testés est donc de 320 x 7 = 2240. Cela explique le long temps de calcul (en Basic) entre deux lignes consécutives à imprimer. Grâce au sous-programme Assembleur qui suit, le temps de calcul pour chaque ligne est inférieur à une seconde...

La logique du sous-programme Assembleur est la suivante :

Le sous-programme Assembleur est le suivant :



Pour éviter d'entrer les codes opératoires, voici un chargeur Basic qui fabrique le fichier binaire « hcbin » à partir de données hexadécimales définies en DATA:

Utilisez le programme de checksum donné en Partie 9 chapitre 8.4 pour vérifier que les lignes de DATA entrées sont bien correctes (une seule erreur peut « planter » l'ordinateur, voire endommager la disquette qui se trouve dans le lecteur...).
Les données affichées par le programme de checksum doivent être les suivantes :
62 43 8B F3 CD 25 1F
Le programme de copie d'écran est le suivant ;

Remarques :

  • ligne 1060, l'utilisation de la commande WIDTH permet de spécifier que les passages à la ligne sur l'imprimante ne se font pas de manière automatique.
  • ligne 1070, chargement du fichier binaire « hcbîn ».
  • ligne 1130, calcul de la valeur de la variable ve%.
  • ligne 1140, stockage de la valeur de ve% en &905C et &905D pour le sous-programme Assembleur.

Page précédente : 9/8.01 - Copie d'écran graphique
Je participe au site:

» 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.7-desktop
Page créée en 041 millisecondes et consultée 1277 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.