★ CODING ★ CLASSEURS WEKA ★ Comment exploiter toutes les ressources et augmenter les performances de votre AMSTRAD CPC ★ |
9/8.01.1 - Turbo copie d'écran graphique | Coding Classeurs Weka |
9/8.1.1 Turbo copie d'écran graphiqueNous 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...).
Remarques :
|