this repo has no description
0
fork

Configure Feed

Select the types of activity you want to include in your feed.

add default demos (mantratonic original, 1024-adjusted-somewhat)

alice 3dabdb69 8b35f788

+431
+217
demos/1024mt.lua
··· 1 + -- mt here 2 + -- back to fft shenanigans 3 + -- then maybe twisty donuts 4 + 5 + -- greets to alia, aldroidia, ferris 6 + -- gasman, hoffman, jtruk, and you! 7 + 8 + m=math 9 + s=m.sin 10 + c=m.cos 11 + fc={} 12 + fm={} 13 + fn={} 14 + fh={} 15 + fs={} 16 + fa={} 17 + 18 + b=1023 19 + 20 + function BOOT() 21 + for i=0,b do 22 + fc[i]=0 23 + fm[i]=0 24 + fn[i]=0 25 + fh[i]=0 26 + fs[i]=0 27 + fa[i]=0 28 + end 29 + end 30 + 31 + function BDR(l) 32 + vbank(0) 33 + if l == 0 then 34 + for i=1,15 do 35 + poke(0x3fc0+i*3, (i*15+t*.3)%b) 36 + poke(0x3fc0+i*3+1, (i*15+t*.5+60)%b) 37 + poke(0x3fc0+i*3+2, (i*15+t*.7+120)%b) 38 + end 39 + end 40 + end 41 + 42 + function TIC()t=time()/100 43 + cls() 44 + 45 + for i=0,b do 46 + if i==1 then trace (fft(i)) end 47 + fc[i] = fft(i)*.1 48 + if fc[i] > fm[i] then fm[i] = fc[i] end 49 + fn[i] = fc[i]/fm[i] 50 + fa[i] = fa[i] + fc[i] 51 + fh[i] = fh[i]*.95 + fn[i]*.05 52 + bi = m.max(0,i-5) 53 + ei = m.min(b,i+5) 54 + fs[i]=0 55 + for i = bi,ei do 56 + fs[i] = fs[i]+fh[i]*.1 57 + end 58 + end 59 + 60 + vbank(0) 61 + cls() 62 + --[[ 63 + it=t%50 64 + dt=it//25 65 + it=it/25 66 + it=it-0.5 67 + it=it*128 68 + if dt < 1 then 69 + poke(0x3ffa,128+it) 70 + poke(0x3ff9,0) 71 + else 72 + poke(0x3ffa,0) 73 + poke(0x3ff9,128+it) 74 + end 75 + --]] 76 + for i=0,239 do 77 + line(i,10,i,10-fc[i]*100,2) 78 + print("fft current * 100",0,12,2,true,1,true) 79 + 80 + line(i,36,i,36-fm[i]*100,4) 81 + print("fft max * 100",0,38,4,true,1,true) 82 + 83 + line(i,62,i,62-fn[i]*10,6) 84 + print("fft normalized * 10",0,64,6,true,1,true) 85 + 86 + line(i,88,i,88-fh[i]*10,8) 87 + print("fft history * 10",0,90,8,true,1,true) 88 + 89 + line(i,114,i,114-fs[i]*10,10) 90 + print("fft smooth * 10",0,116,10,true,1,true) 91 + 92 + 93 + end 94 + 95 + vbank(1) 96 + cls(0) 97 + 98 + for i=0,b,.5 do 99 + cx=160 100 + cy=68 101 + r = 50 102 + a = i/b * m.pi * 2 + fa[0]*10 103 + 104 + 105 + mx = r * s(a) 106 + my = r * c(a) 107 + w = 5*(1+10*fs[i//1]) 108 + 109 + ra = i/b+t/500 110 + x1= w*s(ra) 111 + y1= w*c(ra) 112 + x2= w*s(ra+m.pi/2) 113 + y2= w*c(ra+m.pi/2) 114 + x3= w*s(ra+m.pi) 115 + y3= w*c(ra+m.pi) 116 + x4= w*s(ra+m.pi/2+3) 117 + y4= w*c(ra+m.pi/2+3) 118 + 119 + segment2(x1,y1,x2,y2,r,a,12) 120 + segment2(x2,y2,x3,y3,r,a,13) 121 + segment2(x3,y3,x4,y4,r,a,14) 122 + segment2(x4,y4,x1,y1,r,a,15) 123 + 124 + --[[ segment(x1,y1,x2,y2,mx,my,2) 125 + segment(x2,y2,x3,y3,mx,my,6) 126 + segment(x3,y3,x4,y4,mx,my,10) 127 + segment(x4,y4,x1,y1,mx,my,14) 128 + --]] 129 + end 130 + end 131 + 132 + function segment2(x1,y1,x2,y2,r,a,col) 133 + ix1= (r-x1) * s(a) 134 + iy1= (r+y1) * c(a) 135 + ix2= (r-x2) * s(a) 136 + iy2= (r+y2) * c(a) 137 + line(ix1+cx,iy1+cy,ix2+cx,iy2+cy,col) 138 + 139 + --[[ nope. 140 + if xa <= 0 and x1 < x2 then 141 + if ya <= 0 and y1 > y2 then 142 + ix1= (r-x1) * s(a) 143 + iy1= (r-y1) * c(a) 144 + ix2= (r-x2) * s(a) 145 + iy2= (r-y2) * c(a) 146 + line(ix1+cx,iy1+cy,ix2+cx,iy2+cy,col) 147 + 148 + elseif ya >= 0 and y1 < y2 then 149 + ix1= (r-x1) * s(a) 150 + iy1= (r-y1) * c(a) 151 + ix2= (r-x2) * s(a) 152 + iy2= (r-y2) * c(a) 153 + line(ix1+cx,iy1+cy,ix2+cx,iy2+cy,col) 154 + 155 + end 156 + elseif xa > 0 and x1 > x2 then 157 + if ya <= 0 and y1 > y2 then 158 + ix1= (r+x1) * s(a) 159 + iy1= (r+y1) * c(a) 160 + ix2= (r+x2) * s(a) 161 + iy2= (r+y2) * c(a) 162 + line(ix1+cx,iy1+cy,ix2+cx,iy2+cy,col) 163 + 164 + elseif ya >= 0 and y1 < y2 then 165 + ix1= (r+x1) * s(a) 166 + iy1= (r+y1) * c(a) 167 + ix2= (r+x2) * s(a) 168 + iy2= (r+y2) * c(a) 169 + line(ix1+cx,iy1+cy,ix2+cx,iy2+cy,col) 170 + 171 + end 172 + end--]] 173 + end 174 + 175 + 176 + function segment(x1,y1,x2,y2,mx,my,c) 177 + --hmmmmmmm 178 + if mx <= 0 and x1 < x2 then 179 + if my <= 0 and y1 < y2 then 180 + line(x1+cx+mx,y1+cy+my,x2+cx+mx,y2+cy+my,c) 181 + elseif my > 0 and y1 > y2 then 182 + line(x1+cx+mx,y1+cy+my,x2+cx+mx,y2+cy+my,c) 183 + end 184 + elseif mx > 0 and x1 > x2 then 185 + if my <= 0 and y1 < y2 then 186 + line(x1+cx+mx,y1+cy+my,x2+cx+mx,y2+cy+my,c) 187 + elseif my > 0 and y1 > y2 then 188 + line(x1+cx+mx,y1+cy+my,x2+cx+mx,y2+cy+my,c) 189 + end 190 + end 191 + return 192 + end 193 + 194 + function fftcirc() 195 + for i=0,b,.1 do 196 + cx=120 197 + cy=68 198 + r = 50 199 + a = i/b * m.pi * 2 200 + 201 + ix = r * s(a) 202 + iy = r * c(a) 203 + ox = r*(1+2*fs[i//1]) * s(a) 204 + oy = r*(1+2*fs[i//1]) * c(a) 205 + line(ix+cx,iy+cy,ox+cx,oy+cy,13) 206 + end 207 + end 208 + -- <WAVES> 209 + -- 000:00000000ffffffff00000000ffffffff 210 + -- 001:0123456789abcdeffedcba9876543210 211 + -- 002:0123456789abcdef0123456789abcdef 212 + -- </WAVES> 213 + 214 + -- <PALETTE> 215 + -- 000:1a1c2c5d275db13e53ef7d57ffcd75a7f07038b76425717929366f3b5dc941a6f673eff7f4f4f494b0c2566c86333c57 216 + -- </PALETTE> 217 +
+214
demos/mt_20230814better.lua
··· 1 + -- mt here 2 + -- back to fft shenanigans 3 + -- then maybe twisty donuts 4 + 5 + -- greets to alia, aldroidia, ferris 6 + -- gasman, hoffman, jtruk, and you! 7 + 8 + m=math 9 + s=m.sin 10 + c=m.cos 11 + fc={} 12 + fm={} 13 + fn={} 14 + fh={} 15 + fs={} 16 + fa={} 17 + 18 + function BOOT() 19 + for i=0,255 do 20 + fc[i]=0 21 + fm[i]=0 22 + fn[i]=0 23 + fh[i]=0 24 + fs[i]=0 25 + fa[i]=0 26 + end 27 + end 28 + 29 + function BDR(l) 30 + vbank(0) 31 + if l == 0 then 32 + for i=1,15 do 33 + poke(0x3fc0+i*3, (i*15+t*.3)%255) 34 + poke(0x3fc0+i*3+1, (i*15+t*.5+60)%255) 35 + poke(0x3fc0+i*3+2, (i*15+t*.7+120)%255) 36 + end 37 + end 38 + end 39 + 40 + function TIC()t=time()/100 41 + cls() 42 + 43 + for i=0,255 do 44 + fc[i] = fft(i)*.1 45 + if fc[i] > fm[i] then fm[i] = fc[i] end 46 + fn[i] = fc[i]/fm[i] 47 + fa[i] = fa[i] + fc[i] 48 + fh[i] = fh[i]*.95 + fn[i]*.05 49 + bi = m.max(0,i-5) 50 + ei = m.min(255,i+5) 51 + fs[i]=0 52 + for i = bi,ei do 53 + fs[i] = fs[i]+fh[i]*.1 54 + end 55 + end 56 + 57 + vbank(0) 58 + cls() 59 + --[[ 60 + it=t%50 61 + dt=it//25 62 + it=it/25 63 + it=it-0.5 64 + it=it*128 65 + if dt < 1 then 66 + poke(0x3ffa,128+it) 67 + poke(0x3ff9,0) 68 + else 69 + poke(0x3ffa,0) 70 + poke(0x3ff9,128+it) 71 + end 72 + --]] 73 + for i=0,239 do 74 + line(i,10,i,10-fc[i]*100,2) 75 + print("fft current * 100",0,12,2,true,1,true) 76 + 77 + line(i,36,i,36-fm[i]*100,4) 78 + print("fft max * 100",0,38,4,true,1,true) 79 + 80 + line(i,62,i,62-fn[i]*10,6) 81 + print("fft normalized * 10",0,64,6,true,1,true) 82 + 83 + line(i,88,i,88-fh[i]*10,8) 84 + print("fft history * 10",0,90,8,true,1,true) 85 + 86 + line(i,114,i,114-fs[i]*10,10) 87 + print("fft smooth * 10",0,116,10,true,1,true) 88 + 89 + 90 + end 91 + 92 + vbank(1) 93 + cls(0) 94 + 95 + for i=0,255,.5 do 96 + cx=160 97 + cy=68 98 + r = 50 99 + a = i/255 * m.pi * 2 + fa[0]*10 100 + 101 + 102 + mx = r * s(a) 103 + my = r * c(a) 104 + w = 5*(1+10*fs[i//1]) 105 + 106 + ra = i/255+t/500 107 + x1= w*s(ra) 108 + y1= w*c(ra) 109 + x2= w*s(ra+m.pi/2) 110 + y2= w*c(ra+m.pi/2) 111 + x3= w*s(ra+m.pi) 112 + y3= w*c(ra+m.pi) 113 + x4= w*s(ra+m.pi/2+3) 114 + y4= w*c(ra+m.pi/2+3) 115 + 116 + segment2(x1,y1,x2,y2,r,a,12) 117 + segment2(x2,y2,x3,y3,r,a,13) 118 + segment2(x3,y3,x4,y4,r,a,14) 119 + segment2(x4,y4,x1,y1,r,a,15) 120 + 121 + --[[ segment(x1,y1,x2,y2,mx,my,2) 122 + segment(x2,y2,x3,y3,mx,my,6) 123 + segment(x3,y3,x4,y4,mx,my,10) 124 + segment(x4,y4,x1,y1,mx,my,14) 125 + --]] 126 + end 127 + end 128 + 129 + function segment2(x1,y1,x2,y2,r,a,col) 130 + ix1= (r-x1) * s(a) 131 + iy1= (r+y1) * c(a) 132 + ix2= (r-x2) * s(a) 133 + iy2= (r+y2) * c(a) 134 + line(ix1+cx,iy1+cy,ix2+cx,iy2+cy,col) 135 + 136 + --[[ nope. 137 + if xa <= 0 and x1 < x2 then 138 + if ya <= 0 and y1 > y2 then 139 + ix1= (r-x1) * s(a) 140 + iy1= (r-y1) * c(a) 141 + ix2= (r-x2) * s(a) 142 + iy2= (r-y2) * c(a) 143 + line(ix1+cx,iy1+cy,ix2+cx,iy2+cy,col) 144 + 145 + elseif ya >= 0 and y1 < y2 then 146 + ix1= (r-x1) * s(a) 147 + iy1= (r-y1) * c(a) 148 + ix2= (r-x2) * s(a) 149 + iy2= (r-y2) * c(a) 150 + line(ix1+cx,iy1+cy,ix2+cx,iy2+cy,col) 151 + 152 + end 153 + elseif xa > 0 and x1 > x2 then 154 + if ya <= 0 and y1 > y2 then 155 + ix1= (r+x1) * s(a) 156 + iy1= (r+y1) * c(a) 157 + ix2= (r+x2) * s(a) 158 + iy2= (r+y2) * c(a) 159 + line(ix1+cx,iy1+cy,ix2+cx,iy2+cy,col) 160 + 161 + elseif ya >= 0 and y1 < y2 then 162 + ix1= (r+x1) * s(a) 163 + iy1= (r+y1) * c(a) 164 + ix2= (r+x2) * s(a) 165 + iy2= (r+y2) * c(a) 166 + line(ix1+cx,iy1+cy,ix2+cx,iy2+cy,col) 167 + 168 + end 169 + end--]] 170 + end 171 + 172 + 173 + function segment(x1,y1,x2,y2,mx,my,c) 174 + --hmmmmmmm 175 + if mx <= 0 and x1 < x2 then 176 + if my <= 0 and y1 < y2 then 177 + line(x1+cx+mx,y1+cy+my,x2+cx+mx,y2+cy+my,c) 178 + elseif my > 0 and y1 > y2 then 179 + line(x1+cx+mx,y1+cy+my,x2+cx+mx,y2+cy+my,c) 180 + end 181 + elseif mx > 0 and x1 > x2 then 182 + if my <= 0 and y1 < y2 then 183 + line(x1+cx+mx,y1+cy+my,x2+cx+mx,y2+cy+my,c) 184 + elseif my > 0 and y1 > y2 then 185 + line(x1+cx+mx,y1+cy+my,x2+cx+mx,y2+cy+my,c) 186 + end 187 + end 188 + return 189 + end 190 + 191 + function fftcirc() 192 + for i=0,255,.1 do 193 + cx=120 194 + cy=68 195 + r = 50 196 + a = i/255 * m.pi * 2 197 + 198 + ix = r * s(a) 199 + iy = r * c(a) 200 + ox = r*(1+2*fs[i//1]) * s(a) 201 + oy = r*(1+2*fs[i//1]) * c(a) 202 + line(ix+cx,iy+cy,ox+cx,oy+cy,13) 203 + end 204 + end 205 + -- <WAVES> 206 + -- 000:00000000ffffffff00000000ffffffff 207 + -- 001:0123456789abcdeffedcba9876543210 208 + -- 002:0123456789abcdef0123456789abcdef 209 + -- </WAVES> 210 + 211 + -- <PALETTE> 212 + -- 000:1a1c2c5d275db13e53ef7d57ffcd75a7f07038b76425717929366f3b5dc941a6f673eff7f4f4f494b0c2566c86333c57 213 + -- </PALETTE> 214 +