;**************************************************************************
;***                                                                    ***
;*** Everyday Electronics Micro-Lab                                     ***
;***                                                                    ***
;***    Name:           Demonstration 3                                 ***
;***    Version:        1.0                                             ***
;***    Author:         Geoff MacDonald                                 ***
;***    Date:           13/01/1993                                      ***
;***    Last Update:                                                    ***
;***                                                                    ***
;**************************************************************************

                ;This demonstration reads the analogue input and lights an
                ;LED to give a bar-graph output.

DATABLE:        DFB     $01,$02,$04,$08 ;Anlogue input to LED output
                DFB     $10,$20,$40,$80 ;conversion table

D_DEMOA:        STA     $FFFF           ;Initiate A/D conversion
                LDY     #80             ;Delay
DEMOAA:         DEY
                BNE     DEMOAA
                LDA     AIN             ;Read analogue input
                LSR     A
                LDX     $90
                CLC
                ADC     $200,X
                STA     AOUT            ;Echo to analogue output
                LSR     A
                STA     $200,X
                INC     $90
                LSR     A               ;Divide by 32
                LSR     A
                LSR     A
                LSR     A
                LSR     A
                TAX                     ;Look up LED to light
                LDA     DATABLE,X
                EOR     #$FF
                STA     LED             ;Light appropriate LED
                LDA     KBSIZE          ;Key pressed?
                BEQ     D_DEMOA         ;No - Repeat
                LDA     #$FF            ;Turn LED off
                STA     LED
                JSR     KBCLR           ;Clear keyboard buffer
                BRK                     ;Return
