FUSR    .EQU $D4
INBUFF  .EQU $F3
CIX     .EQU $F2
FR0     .EQU $D4

CR      .EQU $9B

AFP     .EQU $D800
FMOVE   .EQU $DDB6
FPI     .EQU $D9D2
IFP	.EQU $D9AA
FLD1R   .EQU $DD98
FMUL    .EQU $DADB

FADD    .EQU $DA66
FASC	.EQU $D8E6
LBUFF   .EQU $0580

initscore:	
	lda	#0
	sta	score
	sta	score+1
	rts

incscore:
// Cette procedure incremente le score
	/* On sauve les registres */
	pha
	tya
	pha
	txa
	pha

	LDA score
	sta FR0
	LDA score+1
	sta FR0+1

	JSR IFP // Chargement d'un entier dans fr0

	; Chargement de FR1 avec la valeur contenu dans FR0
	JSR FMOVE

	LDA	increment
	STA	FR0
	LDA     #0
	STA 	FR0+1
	JSR IFP

	jsr FADD // Addition FP0 (increment) et FP1 (score)

	jsr FPI
	lda	FR0
	sta     score
	lda	FR0+1
	sta     score+1

	/* Restaure des registres */
	pla
	tax
	pla
	tay
	pla

	rts

affscore:
	LDA score
	sta FR0
	LDA score+1
	sta FR0+1

	JSR IFP // Chargement d'un entier dans fr0

	jsr FASC	// Convertir en atascii
	
	clc
        lda        logique
	adc 	   #40
        sta        $e6
        lda        logique+1
        sta        $e7

	ldy	#0

bclaffscore:
	sec
	lda	(INBUFF),y
	and	#%01111111 /* Le huitieme bit positionne indique la fin de la chaine */
	cmp	(INBUFF),y
	beq     cntaffscore
faffscrore:
	sbc	#31
	sta	($e6),y
	rts
cntaffscore:
	sbc	#32	// Conversion en caratere affichable pour notre ecran
	sta	($e6),y
	iny		// Chiffre suivant dans la chaine atascii
	jmp bclaffscore

affnbcar:
	clc
	ldy	   nbvie
        lda        logique
	adc 	   #56
        sta        $e6
        lda        logique+1
        sta        $e7	

bclaffnbcar:
	cpy	   #0
	beq bclaffblanc
	lda	   #200
	sta	   ($e6),y

	dey
	jmp bclaffnbcar

bclaffblanc
	lda	   #3
	ldy	   nbvie
	sec
	sbc	   nbvie
	tay

bclaffblanc1:
	cpy	   #0
	beq finaffnbcar

	lda	   #0
	sta	   ($e6),y

	dey
	jmp bclaffblanc1

finaffnbcar
	rts

score  .DB 0,0
increment .db 1
incscore5V2 db 0
incscore5V3 db 0