Pages : [01] [02] [03] [04] [05] [06] [07] [08] [09] [10] [11] [12] [13] [14] [15] [16] [17] [18] [19] [20] [21]


Finissons notre optimisation d'affichage avec la troisieme ligne (ligne 2).

  LDA 80,Y * Ligne 2, RAMB
  ANDA #$00  
  ORA #$AF  
  STA 80,Y  
  LDA 80,X * Ligne 2, RAMA
  ANDA #$00  
  ORA #$70  
  STA 80,X  

Dans les deux plans (RAMA et RAMB), nous appliquons un ANDA #$00. L'effet de cette opération va etre de mettre a zero tous les bits de l'octet. Il est donc inutile d'appliquer ici un masque alors qu'il nous suffirait ici simplement de copier la valeur de notre ball directement en mémoire. En d'autre terme, puisqu'il n'y a pas de zone transparente sur cette ligne, le masque ne sert a rien.

Nous pouvons donc charger dans A et B (au travers du registre D) les valeurs de la ligne pour nos 2 plans et les copier directement en mémoire écran par un STA et un STB.



Notre routine pour l'affichage de la ligne 2 peut alors simplement s'écrire de la facon suivante :

  LDD #$AF70  
  STA 80,Y * Ligne 2, RAMB
  STB 80,X * Ligne 2, RAMB

© PULS 2004-2019