|
- ; "Rainbow with glitter" demo
- ; for "FastLED6502"
- ;
- ; Runs on an Apple ][, ][+, //e, or //gs
- ;
- ; Supports APA102, Adafruit DotStar,
- ; LPD8806, and WS2801 LED strips.
- ;
- ; LED strip connects to game port pins,
- ; see FastLED6502.s65 for details.
- ;
- ; Mark Kriegsman, February 2015
-
- #define NUM_LEDS 100
- #define BRIGHTNESS 64
- #define CHIPSET APA102
- #define DATA_PIN 14
- #define CLOCK_PIN 5
-
- * = $6000
-
- #include "FastLED6502.s65"
- #include "AppleII.s65"
-
- gHue .byt 0
- gHueDelta .byt 17
- gHueSpeed .byt 7
-
-
- Setup
- lda #0
- sta gHue
-
- Loop
- lda gHue
- clc
- adc gHueSpeed
- sta gHue
- ldx gHue
- ldy gHueDelta
- ; Fill RGB array with HSV rainbow
- jsr FastLED_FillRainbow_XY
- ; Use master brightness control
- lda #BRIGHTNESS
- sta FastLED_Brightness
- CheckOpenApple
- bit OpenApple
- bpl CheckSolidApple
- ; Add glitter if requested
- jsr AddGlitter
- CheckSolidApple
- bit SolidApple
- bpl DoDisplay
- ; Pulse brightness if requested
- jsr PulseBrightness
- DoDisplay
- ; This is where the magic happens
- jsr FastLED_Show
- jmp Loop
-
-
- AddGlitter
- ldy #3
- MaybeAdd1Glitter
- jsr FastLED_Random8
- cmp FastLED_NumPixels
- bcs SkipThis1Glitter
- tax
- lda #$FF
- sta ledsR,x
- sta ledsG,x
- sta ledsB,x
- SkipThis1Glitter
- dey
- bne MaybeAdd1Glitter
- rts
-
-
- PulseBrightness
- lda #13
- jsr FastLED_Beat8
- clc
- adc #12
- bcc PulseBright1
- lda #$FF
- PulseBright1
- sta FastLED_Brightness
- rts
-
|