>DefIcon 2.05  By J.G.Harston $&84:oflg%=0: VDU23;10,96;0;0;0 (*K.10O.|MRUN|M 2Ker%=: _ERROR:er%=: <>17 oflg%=0 tj@ oflg% :tj@ TpB <,OSWORD=&FFF1: cblk% 20:arc:*POINTER 1 F Get,Put,Load,Save,Quit," "," ",Cursors,to move,& scroll, { I Invert,H Rotate ^v,V Rotate <>,+ Rotate +90,- Rotate -90,\ Reflect,/ Reflect,T Reflect ^v,M Reflect <>,F Icon Type, TfB _CSET: A,B,I:30 0 A=ic% ic%+63:(A 15)=0 (5-A);A;" "; icon(A):(A 15)=15 ' : ":Pic(I%):(I%15)*2+6,((I%-ic%)&70)8);:icon(I%): ,#icon(I%):(F%3)=2 ic2(I%): 6P A%,B%,C%:C%=icons%+I%*32: A%=0 3:23,128+A%: B%=0 7:?C%:C%=C%+1:: @C(F%1) 128,130,8,8,10,129,131,11 128,129,8,8,10,130,131,11 J Tsic2(I%): A%,B%,C%,D%:C%=icons%+32*I%: A%=0 3:D%=C%+8*(A%2)+(A%1):23,128+A%: B%=0 7:?D%:D%=D%+2:: ^ 128,129,8,8,10,130,131,11: hB_EXPAND(C%):20,21);:icon(C%):" Icon ";C%;" ":_BIGGER: rvsave128: A%,X%,Y%:?cblk%=128:X%=cblk%:Y%=X%256:A%=10: OSWORD:g128=:23,128,255,129,129,129,129,129,129,255: |get128:g128 * X:23,128:X=18:cblk%?X::g128=0: ݤd(A%):=3-A%,"0")+A% _BIGGER: A,X,Y # Y=0 15:1,9+Y);: X=0 15 2 xo%+X*4,yo%-Y*4) 135:32:128:A=A+1 132  :: Iwait:mse:ms% 4,0:mx%-12,my%:mx%+12,my%:mx%,my%-12:mx%,my%+12 @A$=(5):ms% mx%-12,my%:mx%+12,my%:mx%,my%-12:mx%,my%+12  $_ERROR:oflg%=0 0,30);(38); er% er%=:#0 0,31);38;: <>17 T\B  -1 -2 "FX4":0,29)':  *FX4,2 0,29)28;: Q0,29)(38)';:: <128 -1 " at line ";:"FX4": A$=:0,31);(38);: &X=0:Y=0:_EXPAND(thisI%) 031,X+1,Y+9: 0,7 : :wait D,mx%>8 mx%<564 my%>200 my%<756 msKlk N&mx%>196 mx%<1216 my%>764 msChr X@my%<736 ((mx%>576 my%>576)(mx%>899 my%>412))mL% klik2 b,my%<192 my%>64 mx%>420 mL% A$="D" lA$<>"":0,7 v!A$>"`" A$<"{" A$=(A$-32)  A$=204 X=(X-1) 15  A$=205 X=(X+1) 15  A$=206 Y=(Y+1) 15  A$=207 Y=(Y-1) 15 + A$>139 A$<144 _SCROLL((A$)-140)  A$=13 A$="P" tNC  A$="*" dJC  A$="S" dhC  A$="L" TPD 4 (A$=202 A$=9) xo%+X*4,yo%-Y*4)=0 A$="1"  (A$=202 A$=9) A$="0" B A$="1" 69,xo%+X*4,yo%-Y*4:135:31,X+1,Y+9,32,8:128:TzB J A$="0" 71,xo%+X*4,yo%-Y*4:save128:31,X+1,Y+9,128,8:get128:TzB J A$="G" A$="C" 0,29)"Get which icon: "thisI%:0,29);(20);:TfB  3 A$="F" F%=(F%+1)3:25,24);F%3:_CSET:TpB  A$="I" inv:TpB   A$="H" rotH:TpB * A$="V" rotV:TpB 4! A$="+" A$=";" rotP:TpB >! A$="-" A$="=" rotM:TpB H" A$="/" A$="?" refD1:TpB R" A$="\" A$="|" refD2:TpB \ A$="T" tip:TpB f A$="M" mirr:TpB p A$="Q" quit:TpB zq A$="D" 0,29)"Display start icon "ic%:ic%=(ic%&FFF0):_CSET:34,27);~icons%+32*ic%" ";0,29)(38);:TpB  TpB S0,29)"Enter onto icon "ch%:0,29);"Please wait..."10:D%=icons%+32*ch%:I%=D% . C%=0 3:(F%3)=2 I%=D%+8*(C%2)+(C%1) W A%=0 7:Q%=0: B%=0 7:Q%=Q%*2:xo%+B%*4+32*(C%1),yo%-A%*4-16*(C%2)) Q%=Q%+1 [:(F%3)=2 ?I%=Q%:I%=I%+2 (F%1) ?(I%+((C%2)+2*(C%1))*8+A%)=Q% ?(I%+C%*8+A%)=Q% /::0,29)(20):(ch%&FFC0)=ic% Pic(ch%)  TpB 0,28);"*"; O"FX4":oflg%=:: ""A$: A$:":";:A$=:13+"LlSs*",A$):A$="*" 127,42 D A$<>"*":': A$="L" A$="l" TPD A$=13 oflg%=0::tj@ <0,30);:"FX4":"Filename to save by: "A$:0,30);(38) !0,29);"Start at icon "start 70,29);16;:0,29);"End at icon "end:0,29)(16) f"FX4,2":"SAVE "+A$+" "+~(icons%+start*32)+" "+~(icons%+end*32+32)+" FFFFFF00 FFFFFD00"::tj@ 7"FX4":0,30);"Filename to load: "A$:0,30);(38)  0,29)"Start at icon "start $/"LOAD "+A$+" "+~(icons%+start*32)::tj@ ./_SCROLL(A): X,Y,xs,xe,xst,ys,ye,yst,temp 8 A+1 DVD,DLD,D~D,tHD B_BIGGER:0,7: Lxs=15:xe=1:xst=-1:D`D Vxs=0:xe=14:xst=1 `8 Y=0 15:temp=xo%+xs*4,yo%-Y*4): X=xs xe xst j6 0,xo%+(X+xst)*4,yo%-Y*4): 69,xo%+X*4,yo%-Y*4: t, 0,temp: 69,xo%+(xe+xst)*4,yo%-Y*4:: ~ys=15:ye=1:yst=-1:tRD ys=0:ye=14:yst=1  X=0 15 -temp=xo%+X*4,yo%-ys*4): Y=ys ye yst 6 0,xo%+X*4,yo%-(Y+yst)*4): 69,xo%+X*4,yo%-Y*4: * 0,temp: 69,xo%+X*4,yo%-(ye+yst)*4:  msKlk:mL%+mM%+mR%=0 mx%<32 A$=140: mx%>539 A$=141: my%<224 A$=142: my%>732 A$=143: mL% A$="1" mM% A$=9  mR% A$="0" &X=mx%32-1:Y=22-my%32:31,X+1,Y+9 mM% mse:mM% ( 2msChr:mL%+mR%=0 <'ch%=(mx%-196)64+16*(15-my%64)+ic% FmL% A$="C" PmR% A$=13 Z)"FX138,0,"+(48+ch%100):ch%=ch%100 d'"FX138,0,"+(48+ch%10):ch%=ch%10 n'"FX138,0,"+(48+ch%):"FX138,0,13" x /klik2: x%:x%=mx%32:x%>27 x%=28 x%=18 I31,x%,31-my%32:A%=135:ch%=(&FFF4 &FF00)256:A$=ch%:31,X+1,Y+8: mse:X%,Y%,A% 8arc mx%=(7):my%=(8):mL%=-10:mM%=-11:mR%=-12: >X%=cblk%:Y%=X%256:A%=64:!X%=-1:&FFF1:ms%=!X%<>-1:ms% !mx%=!X%&FFFF:my%=X%!2 &FFFF 9mL%=(X%?6 32)=0:mM%=(X%?6 64)=0:mR%=(X%?6 128)=0: inv: A,X,Y C 4,0: X=0 15: Y=0 15: 69,xo%+X*4,yo%-Y*4:::_BIGGER: rotH: A,X,Y  X=0 15: Y=0 7:A=xo%+X*4,yo%-Y*4): 0,xo%+X*4,yo%-60+Y*4): 69,xo%+X*4,yo%-Y*4: 0,A: 69,xo%+X*4,yo%-60+Y*4:::_BIGGER: rotV: A,X,Y  Y=0 15: X=0 7:A=xo%+X*4,yo%-Y*4): 0,xo%+60-X*4,yo%-Y*4): 69,xo%+X*4,yo%-Y*4: 0,A: 69,xo%+60-X*4,yo%-Y*4:::_BIGGER: refD2: A,X,Y D0,30)"Copy Topright or Bottomleft?";:A=upDn("TB"):0,30)30; u X=0 15: Y=X 15: A 0,xo%+4*X,yo%-4*Y): 69,xo%+4*Y,yo%-4*X 0,xo%+4*Y,yo%-4*X): 69,xo%+4*X,yo%-4*Y "::_BIGGER: ,refD1: A,X,Y 6D0,30)"Copy Topleft or Bottomright?";:A=upDn("TB"):0,30)30; @ Y=0 15: X=Y 15: A 0,xo%+60-4*Y,yo%-4*X): 69,xo%+60-4*X,yo%-4*Y 0,xo%+60-4*X,yo%-4*Y): 69,xo%+60-4*Y,yo%-4*X J::_BIGGER: T ^OݤupDn(B$): x%:x%=*32::wait:mL%+mM%+mR%=0::wait:A$>"`" A$=(A$-32) hmR% B$="NY" A$="N" rAmL% my%<64 mx%"":A$;:=B$,A$)=2 rotP:rotD2:rotV:  rotM:rotD1:rotH:  rotD1: A,X,Y: X=0 15: Y=X 15:A=xo%+4*X,yo%-4*Y): 0,xo%+4*Y,yo%-4*X): 69,xo%+4*X,yo%-4*Y: 0,A: 69,xo%+4*Y,yo%-4*X::: rotD2: A,X,Y  Y=0 15: X=Y 15 cA=xo%+4*X,yo%-4*Y): 0,xo%+4*Y,yo%-4*X): 69,xo%+4*X,yo%-4*Y: 0,A: 69,xo%+4*Y,yo%-4*X::: tip: A,X,Y =0,30);"Copy Top or Bottom?";:A=upDn("TB"):0,30)20; z X=0 15: Y=0 7: A 0,xo%+4*X,yo%-4*Y): 69,xo%+X*4,yo%-60+Y*4 0,xo%+4*X,yo%-60+4*Y): 69,xo%+X*4,yo%-Y*4 ::_BIGGER: mirr: A,X,Y =0,30);"Copy Left or Right?";:A=upDn("LR"):0,30)20; z Y=0 15: X=0 7: A 0,xo%+4*X,yo%-4*Y): 69,xo%+60-X*4,yo%-Y*4 0,xo%+60-4*X,yo%-4*Y): 69,xo%+X*4,yo%-Y*4 ::_BIGGER: &Vquit:0,30);"Quit program? ";:A=upDn("NY"):0,30)20;0,29);: A "FX4": 0ݤarc=(-256 &F0)=&A0 :  list  AD%=&9B00 &BFFF 32*4 "&";~AD%;" ";  AD2%=AD% AD%+32*4-1 32 icon((AD2%-&9B00)32):32 :(AD%&80):'' 32