RANDOM0		equ	RAMINI0+0x3C		; RANDOM generator
RANDOM1		equ	RAMINI0+0x3D
RANDOM2		equ	RAMINI0+0x3E
RANDOM3		equ	RAMINI0+0x3F

; --------------------------------------------------------------------------

Fluorescent:
		btfss	DATA2,4			; XXXLSSSS
		goto	FluorOff
FluorOn:
		btfsc	LASTLT
		return

		clrf	OUTPUT

		movf	RANDOM0,w		; number of flashes
		andlw	0x03
		addlw	0x02
		movwf	FLCNT0
		movf	RANDOM0,w		; time on
		andlw	0x3C
		addlw	0x04
		movwf	FLTIME0
		btfsc	RANDOM0,7
		bsf	OUTPUT,OUT1
		bsf	FLSHOOT0		; start shooting sequence

		movf	RANDOM1,w		; number of flashes
		andlw	0x03
		addlw	0x02
		movwf	FLCNT1
		movf	RANDOM1,w		; time on
		andlw	0x3C
		addlw	0x04
		movwf	FLTIME1
		btfsc	RANDOM1,7
		bsf	OUTPUT,OUT2
		bsf	FLSHOOT1		; start shooting sequence

		movf	RANDOM2,w		; number of flashes
		andlw	0x03
		addlw	0x02
		movwf	FLCNT2
		movf	RANDOM2,w		; time on
		andlw	0x3C
		addlw	0x04
		movwf	FLTIME2
		btfsc	RANDOM2,7
		bsf	OUTPUT,OUT4
		bsf	FLSHOOT2		; start shooting sequence

		movf	RANDOM3,w		; number of flashes
		andlw	0x03
		addlw	0x02
		movwf	FLCNT3
		movf	RANDOM3,w		; time on
		andlw	0x3C
		addlw	0x04
		movwf	FLTIME3
		btfsc	RANDOM3,7
		bsf	OUTPUT,OUT5
		bsf	FLSHOOT3		; start shooting sequence

		movf	OUTPUT,w
		movwf	GPIO
		bsf	LASTLT
		return

FluorOff:
		btfss	LASTLT
		return
		clrf	GPIO			; all off
		clrf	OUTPUT
		bcf	FLSHOOT0
		bcf	FLSHOOT1
		bcf	FLSHOOT2
		bcf	FLSHOOT3
		bcf	LASTLT
		return


; --------------------------------------------------------------------------