;Test par Marc Plouhinec ;Ceci est un exemple qui utilise GRAYLIB pour les programmeurs de SNG #include "sng10.inc" #include "GRAYLIB.inc" .ORG START_ADDR .DB "Testgray",0 CREATEBUFFERANDTESTMEM1(768,PLANE_1) ;Créer PLANE_1 (quitte s'il n'y a pas assez de place) INITGRAYLIB ; OR A ;Initialise la librairie GRAYLIB, quitte si elle n'est pas dans la calculette RET Z ; SEARCHGRAYLIB ; LD (AdresseLib),HL ;Stocke dans AdresseLib l'adresse de la librairie LD DE,PLANE_1 ; LIBCALL(GRAYSCALE_ON,AdresseLib) ;Active les niveaux de gris LIBCALL(CLR_BUF,AdresseLib) ;Efface les buffers PLANE LD HL,PLANE_0 ;---- LD DE,PLANE_0+1 ; I LD (HL),$FF ; I LD BC,191 ; I LDIR ; ITrace un rectange dans le plan 0 et dans le plan 1 ; ICe rectangle est donc noir. LD HL,PLANE_1 ; I LD DE,PLANE_1+1 ; I LD (HL),$FF ; I LD BC,191 ; I LDIR ;---- LD HL,PLANE_1+192 ; LD DE,PLANE_1+193 ;Trace un rectangle dans le plan 1 LD (HL),$FF ;Ce rectangle est donc gris foncé. LD BC,191 ; LDIR ; LD HL,PLANE_0+192+192 ; LD DE,PLANE_0+192+193 ;Trace un rectangle dans le plan 0 LD (HL),$FF ;Ce rectangle est donc gris clair. LD BC,191 ; LDIR ; AttendCLEAR: ; ld a,%11111101 ; out (1),a ; in a,(1) ;Reste bloqué tant qu'on a pas appuyé sur CLEAR and %01000000 ; JR NZ,AttendCLEAR ; LIBCALL(GRAYSCALE_OFF,AdresseLib) ;Désactive les niveaux de gris STOPGRAYLIB ;Déinitialise la librairie DELBUFFER(768,PLANE_1) ;Détruit le buffer PLANE_1 RET AdresseLib .DW 0 PLANE_1: .END end