; chunky copper display: 92x120 ; ; copper loads 91 colors in alternate banks switching display bit at end ; bank1 = 32...127 ; bank2 = 160..255 a=1 ps=2:chw=90:chh=90:chc=chw+chw/32+1+2 ;#ps=3 ;pixel size (2 or 3) ;#chw=20 ;chunky width ;#chh=84 ;chunky height ;#chc=#chw+#chw/32+1+2 ;coppers per line ox=3 ;window offset builddisplay: InitPalette 0,256:PalRGB 0,1,15,15,15:PalRGB 0,129,15,15,15 BitMap 0,384+64,280+20,7:BitPlanesBitMap 0,1,$f0 For x.w=0 To chw-1:dx=x*ps+ox:Boxf dx,3,dx+ps-1,2+chh*ps,255-x:Next ; Box 0,0,367,255,1:Box ox-1,2,chw*ps+ox,chh*ps+3,1 ; ccc.l=CustomChunkySize(chw,chh) InitCopList 0,44,256,$13007,8,256,ccc InitCopList 1,44,256,$13007,8,256,ccc DisplayPalette 0,0:DisplayBitMap 0,0 DisplayPalette 1,0:DisplayBitMap 1,0 CustomChunky 0,0,ps,chw,chh,ps CustomChunky 1,0,ps,chw,chh,ps BLITZ Mouse On CreateDisplay 0:Use CopList 0 Repeat For z.w=0 To 15 VWait For x.w=0 To 15 For y.w=0 To 15 ChunkyPlot x,y,x+16*y+256*z,$ff Next Next Next For z=15 To 0 Step -1 VWait For x=0 To 15 For y=0 To 15 ChunkyPlot x,y,x+16*y+256*z,$ff Next Next Next Until Joyb(0)<>0 While Joyb(0)<>0:Wend Repeat ChunkyPlot Rnd(90),Rnd(90),Rnd(4096) Until Joyb(0)<>0 While Joyb(0)<>0:Wend Repeat For n=15 To 0 Step -1 VWait ChunkyCLS 256*n Next Until Joyb(0)<>0 While Joyb(0)<>0:Wend Repeat rr.q=0 gg.q=0 vv.q=0 vr.q=Rnd vg.q=Rnd vb.q=Rnd For n=0 To 90 ChunkyVlin n,0,89,Int(rr)*256+Int(gg)*16+bb rr+vr gg+vg bb+vb If rr>15 OR rr<0 Then rr-vr:vr=-(Sgn(vr)*Rnd) If gg>15 OR gg<0 Then gg-vg:vg=-(Sgn(vg)*Rnd) If bb>15 OR bb<0 Then bb-vb:vb=-(Sgn(vb)*Rnd) Next VWait 30 Until Joyb(0)<>0 While Joyb(0)<>0:Wend For x=0 To 89 For y=0 To 89 ChunkyPlot x,y,x*y Next Next While Joyb(0)=0:Wend For x=0 To 89 For y=0 To 89 ChunkyPlot x,y,2048+2047*Cos(Sqr(x*y/100)) Next Next While Joyb(0)=0:Wend For x=0 To 89 For y=0 To 89 ChunkyPlot x,y,8+7*Cos(x/7)+16*Int(8+7*Sin(y/7))+256*Int(Rnd(x/5)) Next Next While Joyb(0)=0:Wend ChunkyCLS 0 Dim vx(200) Dim vy(200) Dim x(200) Dim y(200) Dim ccr(200) Dim ccg(200) Dim ccb(200) Dim ccv(200) Main: num=48 vel=2+(Rnd*12) durata=16 cr.q=Rnd(15) cg.q=Rnd(15) cb.q=Rnd(15) For n=0 To num-1 vx(n)=vel*(Rnd(2)-1) vy(n)=(vel*1.2)*(Rnd(2)-1) ccr.q(n)=QLimit(cr+Rnd(8),0,15) ccg.q(n)=QLimit(cg+Rnd(8),0,15) ccb.q(n)=QLimit(cb+Rnd(8),0,15) ccv.q(n)=.05+Rnd/2 Next For mm.q=0 To durata Step .15 VWait For nn.w=0 To num-1 x2=vx(nn)*mm y2=(-vy(nn)*mm)+(mm*mm) If x(nn)>-45 AND x(nn)<45 AND y(nn)>-45 AND y(nn)<45 Then ChunkyPlot x(nn)+45,y(nn)+45,0 x(nn)=x2 y(nn)=y2 If x(nn)>-45 AND x(nn)<45 AND y(nn)>-45 AND y(nn)<45 ChunkyPlot x(nn)+45,y(nn)+45,Int(ccr(nn))+Int(ccg(nn))*16+Int(ccb(nn))*256 EndIf ccr(nn)=QLimit(ccr(nn)-ccv(nn),0,15) ccg(nn)=QLimit(ccg(nn)-ccv(nn),0,15) ccb(nn)=QLimit(ccb(nn)-ccv(nn),0,15) Next Next If Joyb(0)=2 Then End Goto Main