La routine que l'on rencontre le plus souvent repose sur l'utilisation d'un LDDR
Voici l'une des façons de faire défiler l'écran vers le bas (avec ajout d'une ligne supérieure vierge) :
- Code: Select all
ld hl,plotSScreen+755 ; {10} juste au dessus du coin inférieur droit
ld de,plotSScreen+767 ; {10} coin inférieur droit de l'écran
ld bc,756 ; {10} 756 octets à
lddr ; {15871=755*21+16} copier , donc (hl) vers (de) puis décrèmente hl,de,bc
ex de,hl ; {4} de (qui, à ce moment =plotSScreen+11) permute avec hl
ld (hl),c ; {7} efface le contenu de (hl)
ld de,plotSScreen+10 ; {10} de même pour la case voisine de gauche
ld c,11 ; {7} et on fait ça 11 fois
lddr ; {226=10*21+16} en partant vers la gauche. Terminé!
; T-States, total: {16155}
Hey ! 16155 T-States , je suis sur qu'on peut faire beaucoup moins !!

Allez! On compte sur vous ! Exposez vos idées, vos suggestions !
