Tous les amateurs de graphiques sur l'AMSTRAD se sont sans doute rendus compte à quel point il est fastidieux et peu rapide de colorier des surfaces autres que rectangles... La routine assembleur que je vous propose vous permettra de "remplir" n'importe quelle surface convexe auparavant délimitée sur l'écran, et cela instantanément, puisque cette routine utilise l'accès direct à la mémoire écran. Voici la démarche à suivre pour l'utiliser : – tracer les contours d'une figure convexe sur l'écran (en Basic, Assembleur ou autre) ; – déterminer l'adresse écran des 4 pixels (en mode 1) situés en haut à gauche de votre figure ; il est très important que ces 4 pixels soient "effacés" au départ (qu'ils aient la couleur de l'encre n° 0). Cette adresse, comprise entre &C000 et &FFCF, doit être chargée dans le registre HL à l'entrée du programme ; – choisissez un code de couleurs pour vos 4 pixels (entre &0 et &FF). Pour obtenir une couleur unie, les codes sont : &00 (ink 0), &F0 (ink 1), &0F (ink 2), &FF (ink 3). Ce code doit être chargé dans le registre A en début de programme ; – enfin, lancer la routine à son début : instantanément votre surface est coloriée. REMARQUE IMPORTANTEDu fait de l'utilisation de la mémoire écran, votre figure initiale doit avoir pour base un trait horizontal. Exemple, pour colorier vous devez effacer la pointe inférieure afin d'obtenir : puis lancez la routine normalement. CPC n°2
★ AMSTRAD CPC ★ DOWNLOAD ★ |
|
CPCrulez[Content Management System] v8.7-desktop/c Page créée en 708 millisecondes et consultée 1767 foisL'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. |
|
|