FastLED for Apple II
Just committed on github: “FastLED6502” – a lightweight port of FastLED’s core functions to 6502 assembly language for the Apple ][, Apple ][+, Apple //e, and Apple //gs. The code is in the “extras” directory here https://github.com/FastLED/FastLED/tree/FastLED3.1/extras
This new code supports APA102 / Adafruit DotStar LED strips, as well as LPD8806 and WS2801 (though those are not fully tested yet). Just connect the CLK and DI pins from the LED strip to pins 5 and 12 on your Apple II’s DIP game connector port, add power, and you’re ready to go. Other pin configurations are also supported, configurable in the source. Fastest pin access method is automatically selected depending on the pins you configure, as always.
24-bit FastLED Rainbow colors are included, along with FillRainbow, Random8 and a number of other useful functions.
“Three-wire” clockless LED strips such as the WS2811 NeoPixel are not supported now, nor will they ever be. The CPU is would need to be about 20X faster to support them, and it isn’t. Likewise, the Apple //c and Apple //c+ are not supported, because they lack the necessary digital output pins on their DB-9 joystick/mouse connector.
Considering that the Apple II sports a 1MHz 6502 so slow that even a “NOP” takes two cycles, overall performance is pretty good: more than 30 frames per second for a 100-pixel strip.
This bit of code is completely nuts, and we don’t expect anyone to use it. At all. Ever. Accordingly, we’re not going to really support it, either. At all. Ever.
But here it is, in all it’s insane glory, “FastLED6502”.
FastLED6502.s65 source code:
https://github.com/FastLED/FastLED/blob/FastLED3.1/extras/FastLED6502.s65
RainbowDemo.s65, as shown in video:
https://github.com/FastLED/FastLED/blob/FastLED3.1/extras/RainbowDemo.s65
http://www.youtube.com/watch?v=PMYer_e9LhU
