Kiddies, it may look like your iphone's "Music Tiles" game, but this is how they programmed machines back in 19 and 10: punched paper rolls on my 1910 player piano. Happy Holidays all, take a Sleigh Ride on the house!
My daughter LOVES the Christmas gift I made her. Stranger Things is a sci-fi series set in the 80's which has sparked interest in several of dad's quirky interests. Nike leather Cortez, ham radio, and BASIC programming among them.
Comments
Then begins the hunt for good player rolls.
Just like the hunt for 78 RPM records began when I got my Victrolas...
My Niece got my Victrola, but I have 100-150 78's still in storage.
https://www.youtube.com/embed/LIODr_RWwEc
Hope everyone can enjoy some rest, fun and mayhem !
Paul
Here he/it is in action in this Video
Here's my holiday light display:
It's an Alitove 150-LED RGB strand driven by a Propeller FLiP board. Here's the code:
CON _clkmode = xtal1 + pll16x _xinfreq = 5_000_000 GRN = 146 BLU = 93 GRN2 = 7 BLU2 = 11 DIM = 4 CENTER = 74 ENDL = 7 ENDR = 145 VAR long buffer[150], buffer1[150], buffer2[150], background[150], seed byte stars[10] OBJ led : "jm_rgbx_pixel" 'Jon Williams' WS2812 LED driver PUB start | i led.start_2812b(@buffer, 150, 3, 4) led.use(@buffer, 150, 3, 24) repeat fireworks(5) starburst(5000) PUB starburst(n) | i, j, t0 longfill(@buffer, $4000, 150) repeat n j := ?i // 150 buffer[(stars[0] + 2) <# 149] := $4000 buffer[(stars[0] - 2) #> 0] := $4000 buffer[stars[5]] := $4000 buffer[(stars[5] + 1) <# 149] := $80808000 buffer[(stars[5] - 1) #> 0] := $80808000 buffer[(stars[2] + 1) <# 149] := $4000 buffer[(stars[2] - 1) #> 0] := $4000 buffer[(stars[2] + 2) <# 149] := $40404000 buffer[(stars[2] - 2) #> 0] := $40404000 buffer[149] := $4000 bytemove (@stars, @stars[1], 9) buffer[j] := $ffffff00 stars[9] := j waitcnt (cnt + clkfreq / 50) PUB fireworks(n) | i, j, t0 longfill(@buffer, 0, 150) repeat n repeat i from ENDL to CENTER buffer[i - 1] := background[i - 1] buffer[i] := $ffa50000 waitcnt(cnt + clkfreq / 20) buffer[CENTER] := background[CENTER] waitcnt(cnt + clkfreq / 20) explode repeat i from ENDR to CENTER buffer[i + 1] := background[i + 1] buffer[i] := $ffa50000 waitcnt(cnt + clkfreq / 20) buffer[CENTER] := background[CENTER] explode PUB explode | i, j repeat i from 0 to 2 buffer[CENTER + i] := buffer[CENTER - i] := $ffffff00 waitcnt(cnt + clkfreq/ 50) longmove(@buffer[CENTER - 2], @background[CENTER - 2], 5) repeat i from 0 to 64 step 2 buffer[CENTER - i] := buffer[CENTER + i] := $ff000000 buffer[CENTER - i - 1] := buffer[CENTER + i + 1] := $00ff0000 waitcnt(cnt + clkfreq / 50) repeat j from 1 to 255 step 10 repeat i from ENDL to ENDR if (buffer[i] & $ff000000) buffer[i] := (buffer[i] - $05000000) & $ffff0000 '| ((background[i] * (j + 1)) >> 8) & $0000ff00 if (buffer[i] & $00ff0000) buffer[i] := (buffer[i] - $00050000) & $ffff0000 '| ((background[i] * (j + 1)) >> 8) & $0000ff00 waitcnt(cnt + clkfreq / 50) repeat 100 repeat 10 i := ?seed // 150 buffer[i] := background[i] waitcnt(cnt + clkfreq / 50) longmove(@buffer[ENDL - 1], @background[ENDL - 1], ENDR - ENDL + 3)
-Phil
Can't wait to see your video Phil! Can you make the link shareable? Curious fans await!
-Phil
I like the "fireworks!"
@"Francis Bauer" - See https://roboticsunderthestole.blogspot.com/2020/10/from-forbidden-planet-aisle-at-walmart.html
That Robbie is a lot of fun for money and way cool for a toy!