★ APPLICATIONS ★ DIVERS ★ LE CERCLE EN RSX ★ |
Cercle (Microstrad) | Applications Divers |
Une nouvelle commande graphique pour votre CPC ; l'occasion d'utiliser quelques routines arithmétiques du système. La cruelle absence de commande graphique destinée au tracé des cercles et ellipses se fait souvent sentir. Microstrad se devait donc de combler cette lacune... Mais pour faire preuve d'originalité, nous avons concocté un RSX très spécial, qui utilise les routines arithmétiques du Basic Locomotive. Nous obtenons donc une routine didactique mais assez performante, qui vous montrera - si vous voulez vous pencher un peu sur elle - l'art d'utiliser ce que votre CPC met à votre disposition. La liste n° 1 est celle d'un programme Basic qui a servi de base à l'élaboration de notre RSX. Elle permet de tracer assez rapidement un cercle ou une ellipse, et utilise les fonctions trigonomé-triques classiques en pareille circonstance. Pour limiter le nombre de calculs trigo (qui sont grands consommateurs de temps), et accélérer le tracé, nous dessinons la courbe par quarts, et nous utilisons un pas angulaire de 10 degrés. Du même coup, le nombre de calculs se limite à 9 : de 80 à 0 degrés! Le programme est relativement long, mais le tracé du cercle devient beaucoup plus rapide, et plus harmonieux à regarder. La liste n° 2 (page de droite) est la liste source du RSX, rédigée avec notre petit Assembleur favori. Cette liste est là pour vous aider à comprendre le fonctionnement du RSX. Rappelons une fois encore que le langage utilisé ici n'est pas du Basic et que la frappe de ce programme n'est possible que si vous utilisez un logiciel d'assemblage. Cette liste est une version pour CPC 6128. Cinq routines arithmétiques système y sont utilisées (voir lignes 8 à 12), dont les points d'entrée sont différents sur les trois modèles de CPC. Si vous utilisez un Assembleur, modifiez seulement ces cinq lignes en vous aidant du tableau de conversions des routines arithmétiques que vous trouverez dans ce numéro, page 48. Imaginons que vous souhaitiez adapter la routine cercle à votre CPC 464. Le processus à suivre sera le suivant : 1 - Repérez dans le tableau de conversions les adresses des points d'entrée des cinq routines utilisées (entflo, floent,..., cosinu). Par exemple, entflo correspond à BD64 sur le CPC 6128, donc à BD40sur le CPC 464. Lorsque votre routine aura fait la preuve de son bon fonctionnement, vous pourrez sauvegarder la zone mémoire qui la contient en tapant : SAVE “cercle”,b,&A000,&189 ... Ce qui vous permettra de la recharger rapidement et à tout moment en tapant : MEMORY &9FFF:LOAD “CERCLE”,&A000:CALL &A000. Pour utiliser la routine, vous pouvez lui transmettre un paramètre pour obtenir un cercle, ou N'oubliez pas, auparavant, de vous placer en mode degrés (avec l'instruction deg), faute de quoi les cercles obtenus auraient un aspect inattendu, bien qu'esthétique !
|