ORG #A000				; ETOILE DE NOEL RETROPOKE 12/2022 LG 73 OCTETS

	CALL #BBFF			; REINITIALISER LE GESTIONNAIRE DE L'ECRAN
LD DE, #1109				; 'D'=17 ETOILES PAR COLONNE ET PAR LIGNG 
					; 'E'=COMPTEUR DE 9 COL & 9 LIG
COL_LIG					; POSITIONNER ET AFFICHER HORIZONTAL
	LD B, D				; 'B'=NB ETOILES
		OPCODE_HOR		; AFFICHAGE HORIZONTAL
		LD HL, #0B0A		; 'H'=COL & 'L'=LIG (AUTOMODIFIER)
		INC H			;
		INC L			;
		LD (OPCODE_HOR + 1), HL ; SAUVEGARDE POUR PROCHAIN APPEL
	CALL #BB75			; EQU LOCATE 'H', 'L'

	LARGEUR
		LD A, 42		; 'A'=CHR$(42) [*]
		CALL #BB5A		; EQU PRINT 'A'
		DJNZ, LARGEUR		; AFFICHER LA LIGNE D'ETOILE HORISONTALEMENT

	LD B, D				; 'B'=NB ETOILES
		OPCODE_VER		; AFFICHAGE VERTICAL
		LD HL, #0F06		; 'H'=COL & 'L'=LIG (AUTOMODIFIER)
		INC L			;
		INC H			;
		LD (OPCODE_VER + 1), HL ; SAUVEGARDE POUR PROCHAIN APPEL

	HAUTEUR
    	PUSH HL
		CALL #BB75		; EQU LOCATE 'H', 'L'
		LD A, 42		; 'A'=CHR$(42) [*]
		CALL #BB5A		; EQU PRINT 'A'	
    	POP HL
		INC L			; PASSER A LA LIGNE DE DESSOUS
		DJNZ, HAUTEUR		; ET FAIRE TOUTE LA COLONNE VERTICALEMENT
	 	
	LD A, E				; REGARDER SI IL FAUT INVERSER LES SENS
	CP A, 6 			; SI LE COMPTEUR EST < 6
	JR NC, TOURNE			; NON 
	LD HL, #1414			; OPCODE EQU 'INC D' * 2
	LD (TOURNE), HL			; AUGMENTER LE NOMBRE D'ETOILE
	LD A, #25			; OPCODE EQU 'DEC H'
	LD (OPCODE_HOR + 3), A		; INVERSER LE SENS HORIZONTAL
	LD A, #2D			; OPCODE EQU 'DEC L'
	LD (OPCODE_VER + 3), A		; INVERSER LE SENS VERTICAL

    TOURNE
	DEC D				; ENLEVER 2 ETOILES A CHAQUE FOIS
	DEC D
	DEC E				; ET NE FAIRE QUE 9 ITERATIONS
	JR NZ, COL_LIG			;
	RET				; TERMINER LE PROCESSUS
FIN