Je vous propose ici une fonction CLS qui est ultras rapide, et bien sur c'est de l'ASM :-)
Le principe pour effacer l'écran er simple, on remet tout les octets de la mémoire entre C000 et CFFF à 0. Pour effacer l'écran, on a : - le firmware, avec une fonction pour changer de mode (faite un MODE 1 sous basic, bas cela efface l'écran) qui est BC0E. — le firmware encore avec une fonction qui efface l'écran BC14. — du code, mettre la zone mémoire de l'écran à 0, on peut faire cela avec un pointeur (vous avez bien lut tous les autre article que j'ai fait quand même ? :-) )et une simple boucle for. — du code, faire un memset. — ... - en assembleur, en détournant l'utilisation de la pile.. . aller, je vous laisse chercher sur le net, moi je vous donne la fonction. Je vous laisse aussi faire vos propre test pour voire quel méthode est la plus rapide. // Efface l'ecran en utilisent la pile // détournement de la pile pour faire un cls super rapide ! int PILE; void CLS_WidthPile() { __asm DI LD (#_PILE),SP LD B,#0 ; la boucle LD SP,#0 ; pile a 0 (car 0 - 1 = 0xFFFF fin de l écran quand il est en 0xC000), comme cela on remonte jusqu a 0xC000 LD DE,#0 ;valeur que l'on vas mettre en mémoire BOUC: PUSH DE PUSH DE PUSH DE PUSH DE PUSH DE PUSH DE PUSH DE PUSH DE PUSH DE PUSH DE PUSH DE PUSH DE PUSH DE PUSH DE PUSH DE PUSH DE PUSH DE PUSH DE PUSH DE PUSH DE PUSH DE PUSH DE PUSH DE PUSH DE PUSH DE PUSH DE PUSH DE PUSH DE PUSH DE PUSH DE PUSH DE PUSH DE DJNZ BOUC LD SP,(#_PILE) EI RET__endasm; } Voila, pas comme d'hab, je ne vous est pas fait de ZIP :-o stephbb75 ★ AMSTRAD CPC ★ A voir aussi sur CPCrulez , les sujets suivants pourront vous intéresser... |
CPCrulez[Content Management System] v8.7-desktop/c Page créée en 453 millisecondes et consultée 1894 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. |
|
|