APPLICATIONSDIVERS ★ ACCELERATEUR (CPC REVUE) ★

Accelerateur (CPC Revue)Applications Divers
Il s'agit d'un utilitaire permettant d'accélérer la vitesse d'affichage des messages à l'écran. L'affichage sur Amstrad est en effet un peu lent, ceci étant dû en grande partie à la gestion des fenêtres texte. Aussi, ai-je réécrit une routine d'affichage beaucoup plus rapide.

Le programme a élé écrit en assembleur. La routine d'affichage peut être utilisée soit dans des programmes en assembleur, soit en BASIC. On exemple : pour afficher 20 fois le mot "BONJOUR" en BASIC (donc avec la routine d'affichage de la ROMJ, il faut 0,3 seconde. Avec ma routine, il ne faut plus que 0,12 seconde. On comprendra donc aisément l'intérêt d'une telle possibilité dans des programmes qui affichent en permanence des données à l'écran.

L'activation de la nouvelle routine est obtenue grâce à deux nouvelles commandes RSX. L'utilisation est quant à elle complètement automatique. Le programme est censé n'être utilisé qu'en mode 2 ; ce mode n'autorise, en effet, que 2 couleurs. Il n'y a donc pas de test e couleur de crayon comme pour le mode 0 ou 1 ; c'est là une des explications de la rapidité d'exécution. D autre part, il ne îaut pas que l'écran ait roulé" : c'est-à-dire qu'il y ait eu écriture sur la 26e ligne. Une fois le programme machine chargé en mémoire à l'adresse 41000, l'activation des nouvelles commandes RSX se fait simplement par un CALL 41000. Deux nouvelles RSX sont alors créées. RAPID : qui permet un affichage rapide. Tout ce qui apparaîtra à l'écran sera affiché en mode rapide, sauf les commandes tapées au clavier, les définitions de fenêtres sont quant à elles ignorées. Par exemple, si on fait PRINT "BONJOUR", le mot "BONJOUR" sera affiché en mode rapide. Le catalogue d'une disquette est lui aussi affiché sous ce moae. Pour utiliser la commande RAPID, il faut être sous mode 2. NORM : permet le retour à un affichage normal.

PRINCIPE GENERAL DE FONCTIONNEMENT DE LA ROUTINE

Lorsque la commande RAPID est exécutée, elle détourne le vecteur d'affichage (» BB5A) vers la nouvelle routine. A ce moment, tout caractère destiné à #BB5A (contenu dans l'accumulateur) sera utilisé par la routine. Le programme distingue :

  • les caractères de contrôle (codes ASCII <32), sauf CR (ASCII 13) et LF (ASCII 10). Si un tel caractère est rencontré, alors il est affiché par la routine de la ROM. Exemple : si l'on fait un PRINT CHR$(7) et que l'on se trouve en mode rapide, alors on entendra bien un bip et non le caractère n° 7 qui s'affichera. Seuls les caractères 10 et 13 sont traités par la routine cor ceux-ci reviennent assez souvent : une chaîne de caractères se termine en effet avec ces deux caractères ; ils sont donc traités par la nouvelle routine afin d'optimiser encore plus la vitesse.
  • les autres caractères (code ASCII > 31). Dans ce cas, la routine comporte en entrée le code ASCII du caractère à afficher dans l'accumulateur. On calcule ensuite l'adresse en ROM de la définition du caractère à partir de son code ASCII. Le programme recherche ensuite tes coordonnées X et Y du curseur, calcule l'adresse en mémoire vidéo correspondant à cette position et affiche te caractère à cette adresse. La routine augmente ensuite la position du curseur d'une position avec vérification et contrôle d'arrivée en fin de ligne. D'autre part, comme la configuration des adresses écran change lorsque l'on écrit sur la 26' ligne, un test est effectué pour savoir si l'on écrit sur cette ligne. Si oui, alors la routine émet un bip invitant à taper sur une touche pour pouvoir continuer l'écriture, mais après avoir effacé l'écran. Je terminerai par un simple test d'exemple:

    FOR I= 1 TO 100:PRINT "REVUE DES CPC";:NEXT

    En affichage normal, le programme s'exécute en 2.46 secondes. Avec la nouvelle routine rapide, il ne met que 0.6 seconde !

CPC n°36

★ EDITEUR: CPC Revue
★ ANNÉE: ???
★ CONFIG: 64K + AMSDOS
★ LANGAGE:
★ LiCENCE: LISTING
★ AUTEUR: Frédéric SOL
 

★ AMSTRAD CPC ★ DOWNLOAD ★

Type-in/Listing:
» Accelerateur    (CPC  Revue)    FRENCHDATE: 2020-04-22
DL: 199
TYPE: ZIP
SiZE: 6Ko
NOTE: Uploaded by CPCLOV ; 40 Cyls
.HFE: Χ

★ AMSTRAD CPC ★ A voir aussi sur CPCrulez , les sujets suivants pourront vous intéresser...

Lien(s):
» Applications » Search and Hide (CPC Amstrad International)
» Applications » Gestion de Sommaires
» Applications » Vector: Serveur sur CPC 6128
» Applications » Time Controller (CPC Amstrad International)
» Applications » CPC Cowsay
» Applications » Automobiltuning (Schneider Aktiv Special)
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.7-desktop/c
Page créée en 219 millisecondes et consultée 1607 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.