0,/&&s&&&&4n&&&&&9s&&&& 02TvͫgE#2Tv2Tv > ? """333@DDDUUU`fffwww  """""33333@DDDDDUUUUU`fffffwwwww !""""""333333CDDDDDDUUUUUUeffffffwwwwww""""""2333333DDDDDDTUUUUUUffffffvwwwwww!""""""333333CDDDDDDUUUUUUeffffffwwwwww""""""2333333DDDDDDTUUUUUUffffffvwwwwww""""""2333333DDDDDDTUUUUUUffffffvwwwwww!""""""333333CDDDDDDUUUUUUeffffffwwwwww!""""""333333CDDDDDDUUUUUUeffffffwwwwww""""""2333333DDDDDDTUUUUUUffffffvwwwwww""""""2333333DDDDDDTUUUUUUffffffvwwwwww""""""2333333DDDDDDTUUUUUUffffffvwwwwww""""""2333333DDDDDDTUUUUUUffffffvwwwwww""""""2333333DDDDDDTUUUUUUffffffvwwwwww""""""2333333DDDDDDTUUUUUUffffffvwwwwww""""""2333333DDDDDDTUUUUUUffffffvwwwwww!""""""333333CDDDDDDUUUUUUeffffffwwwwww!""""""333333CDDDDDDUUUUUUeffffffwwwwww""""""2333333DDDDDDTUUUUUUffffffvwwwwww""""""2333333DDDDDDTUUUUUUffffffvwwwwww!""""""333333CDDDDDDUUUUUUeffffffwwwwww""""""2333333DDDDDDTUUUUUUffffffvwwwwww!""""""333333CDDDDDDUUUUUUeffffffwwwwww """""33333@DDDDDUUUUU`fffffwwwww  """333@DDDUUU`fffwww  "230CD3CUUE TffV$@e`ESwwVewpg0vp6`gs pv x` gp x J@ + , ī ݼ ]^ ޭOA aE""""""@e g%"" ""e""03333333 "+"W33DDDDDDDD43S'".3DDD@DD4"!2DDV$PUUUUUUUUU TFD4"BD YUUUUU JDBUUuV$ffffffffff&TvUUDDTU`ffvwwwwwwwwwwwfffPUD@UfvwwwwwwwfUE@UvwwxFHvwwwVEuwވww޼gEBeݼ gEBe ݼ[ gEBe TݼfE# gEBe  @eͼ`P0  gEBe  0T`̻0  gEBe !0 xE gEBe @p  `P@ gEBe @P`  `P@ gEBe @P`  `P@ gEBe @P`  `P@ gEBe @P`  `P@ gEBe @P`  xE gEBe @p ̻0  gEBe !0ͼ`P0  gEBe  0T`ݼfE# gEBe  @eݼ[ gEBe Tݼ gEBe ޼gEBeuwވww@UvwwxFHvwwwVE@UfvwwwwwwwfUEDTU`ffvwwwwwwwwwwwfffPUDBUUuV$ffffffffff&TvUUDBD YUUUUU JD!2DDV$PUUUUUUUUU TFD4".3DDD@DD4"+"W33DDDDDDDD43S'"""03333333 "g%"" ""eaE""""""@e OA ޭ]^ ݼ ī + , J@  p x` gv xs p`g0vp6ewpgSwwV@e`E TffV$CUUE0CD323 "-- title: hsv8 -- author: anescient -- desc: 8-bit HSV to RGB function -- script: lua -- h,s,v in range [0,255] function hsv2rgb(h,s,v) h=h%256 s=math.max(0,math.min(s,255)) v=math.max(0,math.min(v,255)) if s==0 then return v,v,v end local region=h//43 local remainder=(h-region*43)*6 local p=(v*(255-s))//256 local q=(v*(255-(s*remainder//256)))//256 local t=(v*(255-(s*(255-remainder)//256)))//256 if region==0 then return v,t,p elseif region==1 then return q,v,p elseif region==2 then return p,v,t elseif region==3 then return p,q,v elseif region==4 then return t,p,v else return v,p,q end end function setcolor(c,r,g,b) poke(0x3fc0+c*3,r) poke(0x3fc0+c*3+1,g) poke(0x3fc0+c*3+2,b) end t=0 function BOOT() vbank(0) cls() draw() end function TIC() if key(17) then exit() end t=t+1 local s=math.floor(50+100*(1+math.cos(t/100))) for c=1,15 do local r,g,b=hsv2rgb(t+(c-1)*255//15,s,255) setcolor(c,r,g,b) end if t%3==0 then cls() draw() end end function draw() for c=1,15 do circ(16+c*13,15,12,c) end for i=1,30 do local a=0.1+0.9*(1+math.cos(i*0.05+t*0.015))/2 local b=0.2+0.8*(1+math.cos(i*0.11+2+t*0.007))/2 ellib(120,85,a*119,b*50,i%15+1) end end