Le contraste

Vous savez déjà que l'on peut changer le contraste lors d'une saisie d'une touche avec la commande _getkey.

Voici un programme qui change le contraste en communiquant directement avec le driver d'écran de la 83.

Nous reverrons cela dans la leçon 23 :

...début standard........

.LIST
#define contsav $8265 ; variable pour sauvegarder le contraste
.org 9327h
    call _clrlcdfull
    call _grbufclr ; efface plotscreen (sauvegarde de l'écran graphique)
    ld a,43d 
    ld (contsav),a ; sauve le contraste
    jr kupress
mainloop:
    call _getkey ; saisie des touches
    cp 01h
    jr z,kupress
    cp 02h
    jr z,kdpress
    cp 05h ; enter est pressé, on quitte
    ret z
    jr mainloop
kupress:
    ld a,(contsav) ; restaure le contraste
    cp 62d ; 62 est la valeur maximale
    jr z,mainloop
    inc a
    ld (contsav),a ;sauvegarde le contraste
    jr setcont ; met à jour le contraste
kdpress:
    ld a,(contsav)
    cp 23d
    jr z,mainloop
    dec a
    ld (contsav),a 
    jr setcont
setcont:
    or 0C0h ; met à jour le contraste
    call _lcd_busy
    out (lcdinstport),a
    jr mainloop
.end
END

Avec les explications et en omettant le label setcont rien de bien compliqué.