Home » Personal collection » Acorn tapes » Commercial_Releases » box06_tape05b_acorn_amx_mouse.wav » DESIGN
DESIGN
This website contains an archive of files for the Acorn Electron, BBC Micro, Acorn Archimedes, Commodore 16 and Commodore 64 computers, which Dominic Ford has rescued from his private collection of floppy disks and cassettes.
Some of these files were originally commercial releases in the 1980s and 1990s, but they are now widely available online. I assume that copyright over them is no longer being asserted. If you own the copyright and would like files to be removed, please contact me.
Tape/disk: | Home » Personal collection » Acorn tapes » Commercial_Releases » box06_tape05b_acorn_amx_mouse.wav |
Filename: | DESIGN |
Read OK: | ✔ |
File size: | 1B71 bytes |
Load address: | FFFF0E00 |
Exec address: | FFFF8023 |
File contents
0 1REM Design V1.1 2 3REM 21/10/1984a 4 10 20MODE 4 21DIM chars1 1024,chars2 1024,temp 32 25DIM S%(16,16),wnlx%(7),wnrx%(7),wnby%(7),wnty%(7),drw%(6,5),icn%(15),icy%(15),icx%(15) 30PROCinit 100PROCdesk 200exec%=-107 210move%=-108 220canc%=-109 300 310*SENSITIVITY 2,2 320*BUTTONS OFF 330*POINTER ON 900 920*POINTER 80 1000*SHOWPOINTER 1010REM Main program loop 1020A%=-129 1030 1040REPEAT*MOVEP. 1050UNTIL NOT INKEYA% 1060 1070REM Which key ? 1080 1090IF INKEYexec% THEN 2000 1100IF INKEYmove% THEN 3000 1110IF INKEYcanc% THEN 4000 1115GOTO 1020 1120*POINTER 80 1121A%=-129 1125REPEAT 1130*MOVEP. 1140UNTILINKEYA% 1150GOTO 1020 1980 1990REM Execute button pressed 1999 2000*UPDATE 2010IF FNinw(0) AND VPOS>=wnty%(0)+2 THEN 2500 2015IF FNinw(5) THEN 2050 2020A%=FNchkicon 2030IF A%=-1 THEN 1120 2040IF A%=32 THEN 2100 2046GOTO 1120 2050IF w_ls=FALSE THEN 1120 2060*UPDATE 2070V%=VPOS 2080*HIDEPOINTER 2090IF V%=3 THEN 2150 2092IF V%=4 THEN 2170 2094IF V%=5 THEN 2190 2096PROCw_me:VDU26:GOTO 1000 2100 2102REM File icon 2104PROCw_ls 2105GOTO 1120 2147PROCw_me:VDU26:GOTO 1000 2150PROCwindow(5,24,5,38,1,"Load icons") 2152PRINT''; 2153VDU 23,1,1;0;0;0;:ON ERROR GOTO 32000 2154INPUT ":"A$ 2155VDU 23,1,0;0;0;0; 2156PROCload(A$,0):VDU 26:ON ERROR OFF 2158PROCdisp_all 2160GOTO 2147 2170 2172PROCwindow(5,24,5,38,1,"Load Alt.") 2174PRINT'';:VDU 23,1,1;0;0;0; 2175ON ERROR GOTO 32000 2176INPUT ":"A$:VDU 23,1,0;0;0;0; 2178PROCload(A$,1):VDU 26:ON ERROR OFF 2180PROCdisp_alt 2182GOTO 2147 2190 2191PROCwindow(5,24,5,38,1,"Save icons") 2192PRINT'';:VDU 23,1,1;0;0;0;:ON ERROR GOTO 32000 2193INPUT ":"A$:VDU 23,1,0;0;0;0; 2194PROCoscli("S."+A$+" "+STR$~chars1+" +400 8000 5800") 2195ON ERROR OFF:VDU 26:GOTO 2147 2500*HIDEPOINTER 2510PROCdot(POS-wnlx%(0),VPOS-wnty%(0)-2,1-S%(POS-wnlx%(0),VPOS-wnty%(0)-2)) 2520*SHOWPOINTER 2530GOTO 1120 2970 2980REM Move button pressed 2990 3000 3010*UPDATE 3015frmL%=FALSE 3016IF FNinw(4) THEN 3050 3020IF FNinw(2) THEN 3100 3030IF FNinw(0) THEN PROCdefine(temp):frmL%=TRUE:GOTO 3120 3032IF FNinw(3) THEN 3600 3040GOTO 1120 3050 3060X%=(POS-wnlx%(4))/2:Y%=(VPOS-wnty%(4))/2 3070ch%=drw%(X%,Y%) 3080IF ch%>=0 THEN 3110 ELSE 1120 3100ch%=(POS-wnlx%(2))/2+16*((VPOS-wnty%(2)-2)DIV2) 3101IF ch%<0 OR ch%>31 THEN 1120 3110PROCdefine(FNadd(ch%)) 3120*POINTER 0,95 3130REPEAT 3140*MOVEP. 3150UNTIL NOT INKEYmove% 3160 3170*UPDATE 3180IF FNinw(0) THEN 3500 3190IF FNinw(4) THEN 3300 3200IF FNinw(2) THEN 3400 3210IF FNinw(3) THEN PROCerr(" not allowed"):GOTO 1120 3220IF FNinw(4) THEN 3300 3230GOTO 1120 3300IF frmL%=TRUE THEN PROCerr(" not allowed"):GOTO 1120 3302X%=(POS+1-wnlx%(4))/2:Y%=(VPOS+1-wnty%(4))/2 3305IF POS>wnrx%(4) OR VPOS>wnby%(4)-1 THEN 1120 3307*HIDEPOINTER 3308*FX19 3310PROCdrw(X%,Y%,ch%) 3320*SHOWPOINTER 3330GOTO 1120 3400 3401IF frmL%=FALSE THEN 3450 3405ch%=(POS+1-wnlx%(2))/2+16*((VPOS+1-wnty%(2)-2)DIV2) 3410IF ch%<0 OR ch%>31 THEN 1120 3415A%=FNadd(ch%) 3420FOR X%=0 TO 31:A%?X%=temp?X%:NEXT 3422*HIDEPOINTER 3425PROCdisp_icon(ch%) 3427*SHOWPOINTER 3430REM Update drawing area 3432FOR X%=0 TO 6:FOR Y%=0 TO 5:IF drw%(X%,Y%)=ch% THEN PROCdrw(X%,Y%,ch%) 3434NEXT, 3436GOTO 1120 3449 3450B%=FNadd(ch%) 3460ch%=(POS+1-wnlx%(2))/2+16*((VPOS+1-wnty%(2)-2)DIV2):IF ch%<0 OR ch%>31 THEN 1120 3470A%=FNadd(ch%) 3480FOR X%=0 TO 31:A%?X%=B%?X%:NEXT 3490*HIDEPOINTER 3492PROCdisp_icon(ch%):*SHOWPOINTER 3494GOTO 3430 3500IF frmL%=TRUE THEN PROCerr(" not allowed"):GOTO 1120 3510*HIDEPOINTER 3515PRINTTAB(11,1);ch%;" "; 3520PROCget(FNadd(ch%)) 3530*SHOWPOINTER 3540GOTO 1120 3600 3610ch%=(POS-wnlx%(3))/2+16*((VPOS-wnty%(3))DIV2) 3620IF ch%<0 OR ch%>31 THEN 1120 3630PROCdefine((31-ch%)*32+chars2) 3640ch%=ch%+32:GOTO 3120 4000GOTO 1120 4970 4980REM Cancel button pressed 4990 10000 10010DEFPROCdisp(A%,X%,Y%) 10020PROCdefine(FNadd(A%)) 10030PRINTTAB(X%,Y%);:*ICON 0 10035ENDPROC 10040DEFPROCdefine(A%):LOCAL D%,E% 10050D%=A% 10060FOR A%=0 TO 3 10070VDU 23,128+A% 10080FOR E%=0 TO 7 10090F%=?(D%+E%+A%*8):VDU F% 10100NEXT, 10105ENDPROC 10120 10130DEFPROCdisp_all 10135VDU 26 10140FOR A%=0 TO 15 10150PROCdisp_icon(A%) 10160PROCdisp_icon(A%+16) 10190NEXT 10192ENDPROC 10194 10196DEFPROCdisp_alt 10198VDU 26 10200FOR A%=15 TO 0 STEP -1:PROCdispA(chars2+A%*32,wnlx%(3)+(15-A%)*2,wnty%(3)+2) 10202PROCdispA(chars2+A%*32+512,wnlx%(3)+(15-A%)*2,wnty%(3)) 10204NEXT 10206ENDPROC 10208 10210 10220DEFPROCdisp_icon(A%) 10230PROCdisp(A%,(A%AND15)*2+wnlx%(2),wnty%(2)+2+2*(A%DIV16)) 10240ENDPROC 10300 10310DEFPROCdispA(A%,X%,Y%) 10320PROCdefine(A%) 10330PRINTTAB(X%,Y%);:*ICON 0 10340ENDPROC 11000 11010DEFPROCdot(X%,Y%,C%):LOCAL A%,Z% 11011S%(X%,Y%)=C% 11020VDU 31,X%+wnlx%(0),Y%+wnty%(0)+2 11030IF C%=0 THEN VDU 32 ELSE VDU 132 11040GCOL 0,C% 11050PLOT 69,X%*4+640,956-Y%*4 11065A%=temp+Y%+(X%DIV8)*16:Z%=7-(X%AND7) 11066?A%=(?A% AND (255-2^Z%)) OR C%*2^Z% 11070ENDPROC 11100 11110DEFFNadd(ch%) 11120IF ch%>31 THEN =chars2+32*(63-ch%) 11130=chars1+(31-ch%)*32 12000 12010DEFPROCget(A%) 12020LOCAL B%,C%,D%,E% 12200 12210FOR B%=0 TO 15 12220FOR D%=0 TO 7 12230IF (A%?B% AND 2^(7-D%))<>0 THEN S%(D%,B%)=1 ELSE S%(D%,B%)=0 12240PROCdot(D%,B%,S%(D%,B%)) 12250NEXTD%,B% 12260FOR B%=0 TO 15 12270FOR D%=0 TO 7 12280IF (?(A%+B%+16) AND 2^(7-D%))<>0 THEN S%(D%+8,B%)=1 ELSE S%(D%+8,B%)=0 12290PROCdot(D%+8,B%,S%(D%+8,B%)) 12300NEXT, 12310ENDPROC 12400 12410DEFPROCput(A%) 12420LOCAL B%,C%,D%,E% 12600 12610FOR B%=0 TO 15:C%=0 12620FOR D%=0 TO 7 12630C%=C%*2+S%(D%,B%) 12640NEXTD% 12650A%?B%=C% 12660NEXTB% 12670FOR B%=0 TO 15:C%=0 12680FOR D%=8 TO 15 12690C%=C%*2+S%(D%,B%) 12700NEXT 12710A%?(B%+16)=C% 12720NEXT 12722PROCdisp(ch%,(ch%AND15)*16,176+(ch%AND48)) 12724VDU 7 12730ENDPROC 15000 15010 15020 15030 15040DEFPROCinit 15050FOR X%=0 TO 6 15060FOR Y%=0 TO 5 15070drw%(X%,Y%)=-1 15080NEXT 15090NEXT 15100FOR X%=0 TO 31 15110temp?X%=0 15120NEXT 15130nic%=0 15140FOR X%=0 TO 1020 STEP 4 15150chars1!X%=0:chars2!X%=0 15160NEXT 15170ENDPROC 15500 15510DEFPROCload(A$,W%) 15520IF W%=1 THEN 15600 15530PROCoscli("L."+A$+" "+STR$~chars1) 15535VDU 26 15540PRINTTAB(wnlx%(2)+7,wnty%(2));"Icon file:"A$;STRING$(14-LENA$," "); 15550PROCredraw 15560ENDPROC 15600 15610PROCoscli("L."+A$+" "+STR$~chars2) 15611VDU 26 15615PROCredraw 15620ENDPROC 16000 16010 Redraw drawing area in full 16020 16030DEFPROCredraw 16040LOCAL A%,B%,C% 16050FOR B%=0 TO 6:FOR C%=0 TO 5 16055IF drw%(B%,C%)>=0 THEN PROCdefine(FNadd(drw%(B%,C%))) 16060PROCdrw(B%,C%,drw%(B%,C%)) 16070NEXT 16080NEXT 16090ENDPROC 18000 18010DEFPROCw_ls 18020PROCwindow(5,24,5,38,1," Load/Save") 18030PRINT''"Load icons" 18040PRINT"Load alt." 18050PRINT"Save icons"; 18060w_ls=TRUE 18065VDU 26 18070ENDPROC 18080 18100DEFPROCw_me 18110PROCwindow(5,24,5,38,1," Messages") 18120w_ls=FALSE 18130ENDPROC 20000 20010DEFPROCdesk 20020*DESK 20030PROCwindow(0,1,18,16,1," Icon No.") 20040PROCwindow(1,19,4,22,1,"") 20050PROCwindow(2,1,25,32,20," No icons") 20060PROCwindow(3,1,30,32,27,"") 20065PROCwindow(4,19,18,32,7,"") 20066PROCw_me 20070VDU 26 20080VDU 23,132,-1;-1;-1;-1; 20090VDU 23,1,0;0;0;0;0; 20100PROCicon(32,36,7) 20102PROCicon(33,36,28) 20110PROCredraw 20190ENDPROC 20200 20210DEF FNinw(w%) 20220IF POS>=wnlx%(w%) AND POS<=wnrx%(w%) AND VPOS>=wnty%(w%) AND VPOS<=wnby%(w%) THEN =TRUE ELSE =FALSE 20250 20260DEF FNchkicon 20265LOCAL N%,X%:N%=-1 20270FOR X%=0 TO nic%-1 20280IF (POS=icx%(X%) OR POS=icx%(X%)+1) AND (VPOS=icy%(X%) OR VPOS=icy%(X%)+1) THEN N%=icn%(X%):X%=nic% 20290NEXT 20300=N% 20500 20510DEFPROCwindow(w%,lx%,by%,rx%,ty%,A$) 20512wnlx%(w%)=lx% 20514wnby%(w%)=by% 20515wnlx%(w%)=lx% 20516wnrx%(w%)=rx% 20518wnty%(w%)=ty% 20520IF A$="" THEN PROCoscli("WINDOW "+STR$lx%+","+STR$by%+","+STR$rx%+","+STR$ty%):ENDPROC 20530PROCoscli("WINDOW "+STR$lx%+","+STR$by%+","+STR$rx%+","+STR$ty%+","+A$) 20540ENDPROC 20550 20560DEFPROCicon(N%,X%,Y%) 20570icx%(nic%)=X%:icn%(nic%)=N% 20580icy%(nic%)=Y% 20590PROCoscli("ICON "+STR$N%+","+STR$X%+","+STR$Y%):nic%=nic%+1:ENDPROC 20600 20610DEFPROCoscli(A$) 20620$&700=A$ 20630LOCAL X%,Y% 20640X%=0:Y%=7:CALL &FFF7 20650ENDPROC 20700 20710DEFPROCdrw(X%,Y%,I%) 20711IF X%<0 OR X%>6 OR Y%<0 OR Y%>5 THEN ENDPROC 20715drw%(X%,Y%)=I% 20720VDU 31,X%*2+wnlx%(4),Y%*2+wnty%(4) 20730IF I%=-1 THEN *ICON 93 20732IF I%>=0 THEN *ICON 0 20735VDU 26 20740ENDPROC 30000 30010DEFPROCinit 30020nic%=0 30100ENDPROC 30200 30210DEFPROCget_cord 30220CALL get_cord 30225DEFPROCget_cord1 30230MX%=!&70 AND &FFFF 30240MY%=?&72 30250ENDPROC 30260 30270DEFFNscan_keys 30280=(?&FE60 AND&E0)/32 30290 30300 30310DEFFNget_inp 30320LOCAL K% 30330REPEAT 30340CALL move_cur 30350K%=FNscan_keys 30360UNTILK%<7 30370PROCget_cord1 30380=K% 31000 31010DEFPROCerr(A$) 31015VDU 7 31020PROCw_me 31030PRINT''A$ 31040PRINT"Press a button"; 31050REPEATUNTILNOTINKEY-129 31060PROCw_me 31070VDU 26:ENDPROC 32000 32010ON ERROR OFF 32020VDU 7 32030PROCwindow(5,24,5,38,1," Messages") 32040PRINT'; 32045VDU 23,1,0;0;0;0; 32050REPORT 32055REPEATUNTILINKEY-129 32060PRINT'"Press a button"; 32070REPEATUNTILNOTINKEY-129 32080PROCw_me:VDU26 32100GOTO 1000
� Design V1.1 � 21/10/1984a � 4 %� chars1 1024,chars2 1024,temp 32 X� S%(16,16),wnlx%(7),wnrx%(7),wnby%(7),wnty%(7),drw%(6,5),icn%(15),icy%(15),icx%(15) �init d �desk �exec%=-107 �move%=-108 �canc%=-109 , 6*SENSITIVITY 2,2 @*BUTTONS OFF J*POINTER ON � �*POINTER 80 �*SHOWPOINTER �� Main program loop �A%=-129 �*MOVEP. � � �A% $ .� Which key ? 8 B� �exec% � �dPG L� �move% � �txK V� �canc% � �t`O [ � �d|C `*POINTER 80 aA%=-129 e� j*MOVEP. t��A% ~ � �d|C � �/� Execute button pressed � �*UPDATE �$� �inw(0) � �>=wnty%(0)+2 � �dDI �� �inw(5) � �TBH �A%=�chkicon �� A%=-1 � �D`D �� A%=32 � �TtH � � �D`D � w_ls=� � �D`D *UPDATE V%=� *HIDEPOINTER *� V%=3 � �DfH ,� V%=4 � �DzH .� V%=5 � �tNH 0�w_me:�26:� �dhC 4 6� File icon 8 �w_ls 9 � �D`D c�w_me:�26:� �dhC f%�window(5,24,5,38,1,"Load icons") h�''; i� 23,1,1;0;0;0;:� � � �P@} j� ":"A$ k� 23,1,0;0;0;0; l�load(A$,0):� 26:� � � n �disp_all p � �DcH z |$�window(5,24,5,38,1,"Load Alt.") ~�'';:� 23,1,1;0;0;0; � � � �P@} �� ":"A$:� 23,1,0;0;0;0; ��load(A$,1):� 26:� � � � �disp_alt � � �DcH � �%�window(5,24,5,38,1,"Save icons") �#�'';:� 23,1,1;0;0;0;:� � � �P@} �� ":"A$:� 23,1,0;0;0;0; �2�oscli("S."+A$+" "+�~chars1+" +400 8000 5800") �� � �:� 26:� �DcH �*HIDEPOINTER �?�dot(�-wnlx%(0),�-wnty%(0)-2,1-S%(�-wnlx%(0),�-wnty%(0)-2)) �*SHOWPOINTER � � �D`D � �,� Move button pressed � � �*UPDATE �frmL%=� �� �inw(4) � �djK �� �inw(2) � �T\L �,� �inw(0) � �define(temp):frmL%=�:� �TpL �� �inw(3) � �TPN � � �D`D � �'X%=(�-wnlx%(4))/2:Y%=(�-wnty%(4))/2 �ch%=drw%(X%,Y%) � ch%>=0 � �TfL � �D`D ,ch%=(�-wnlx%(2))/2+16*((�-wnty%(2)-2)�2) � ch%<0 � ch%>31 � �D`D &�define(�add(ch%)) 0*POINTER 0,95 :� D*MOVEP. N� � �move% X b*UPDATE l� �inw(0) � �tlM v� �inw(4) � �ddL �� �inw(2) � �DHM �,� �inw(3) � �err(" not allowed"):� �D`D �� �inw(4) � �ddL � � �D`D �,� frmL%=� � �err(" not allowed"):� �D`D �+X%=(�+1-wnlx%(4))/2:Y%=(�+1-wnty%(4))/2 �&� �>wnrx%(4) � �>wnby%(4)-1 � �D`D �*HIDEPOINTER � *FX19 ��drw(X%,Y%,ch%) �*SHOWPOINTER � �D`D H I� frmL%=� � �DzM M0ch%=(�+1-wnlx%(2))/2+16*((�+1-wnty%(2)-2)�2) R� ch%<0 � ch%>31 � �D`D WA%=�add(ch%) \� X%=0 � 31:A%?X%=temp?X%:� ^*HIDEPOINTER a�disp_icon(ch%) c*SHOWPOINTER f� Update drawing area h=� X%=0 � 6:� Y%=0 � 5:� drw%(X%,Y%)=ch% � �drw(X%,Y%,ch%) j�, l � �D`D y zB%=�add(ch%) �Hch%=(�+1-wnlx%(2))/2+16*((�+1-wnty%(2)-2)�2):� ch%<0 � ch%>31 � �D`D �A%=�add(ch%) �� X%=0 � 31:A%?X%=B%?X%:� �*HIDEPOINTER � �disp_icon(ch%):*SHOWPOINTER � � �DfM �,� frmL%=� � �err(" not allowed"):� �D`D �*HIDEPOINTER ��11,1);ch%;" "; ��get(�add(ch%)) �*SHOWPOINTER � � �D`D *ch%=(�-wnlx%(3))/2+16*((�-wnty%(3))�2) $� ch%<0 � ch%>31 � �D`D .�define((31-ch%)*32+chars2) 8ch%=ch%+32:� �TpL � � �D`D j t.� Cancel button pressed ~ ' '��disp(A%,X%,Y%) '$�define(�add(A%)) '.�X%,Y%);:*ICON 0 '3� '8��define(A%):� D%,E% 'B D%=A% 'L� A%=0 � 3 'V� 23,128+A% '`� E%=0 � 7 'jF%=?(D%+E%+A%*8):� F% 't�, 'y� '� '���disp_all '�� 26 '�� A%=0 � 15 '��disp_icon(A%) '��disp_icon(A%+16) '�� '�� '� '���disp_alt '�� 26 '�G� A%=15 � 0 � -1:�dispA(chars2+A%*32,wnlx%(3)+(15-A%)*2,wnty%(3)+2) '�8�dispA(chars2+A%*32+512,wnlx%(3)+(15-A%)*2,wnty%(3)) '�� '�� '� '� '���disp_icon(A%) '�5�disp(A%,(A%�15)*2+wnlx%(2),wnty%(2)+2+2*(A%�16)) ( � (< (F��dispA(A%,X%,Y%) (P�define(A%) (Z�X%,Y%);:*ICON 0 (d� *� +��dot(X%,Y%,C%):� A%,Z% +S%(X%,Y%)=C% +"� 31,X%+wnlx%(0),Y%+wnty%(0)+2 +� C%=0 � � 32 � � 132 + � 0,C% +*� 69,X%*4+640,956-Y%*4 +9$A%=temp+Y%+(X%�8)*16:Z%=7-(X%�7) +:$?A%=(?A% � (255-2^Z%)) � C%*2^Z% +>� +\ +fݤadd(ch%) +p"� ch%>31 � =chars2+32*(63-ch%) +z=chars1+(31-ch%)*32 .� .� ��get(A%) .�� B%,C%,D%,E% /� /�� B%=0 � 15 /�� D%=0 � 7 /�7� (A%?B% � 2^(7-D%))<>0 � S%(D%,B%)=1 � S%(D%,B%)=0 /��dot(D%,B%,S%(D%,B%)) /� �D%,B% /�� B%=0 � 15 /�� D%=0 � 7 /�A� (?(A%+B%+16) � 2^(7-D%))<>0 � S%(D%+8,B%)=1 � S%(D%+8,B%)=0 0�dot(D%+8,B%,S%(D%+8,B%)) 0�, 0� 0p 0z ��put(A%) 0�� B%,C%,D%,E% 18 1B� B%=0 � 15:C%=0 1L� D%=0 � 7 1VC%=C%*2+S%(D%,B%) 1`�D% 1jA%?B%=C% 1t�B% 1~� B%=0 � 15:C%=0 1�� D%=8 � 15 1�C%=C%*2+S%(D%,B%) 1�� 1�A%?(B%+16)=C% 1�� 1�'�disp(ch%,(ch%�15)*16,176+(ch%�48)) 1�� 7 1�� :� :� :� :� :� ��init :�� X%=0 � 6 :�� Y%=0 � 5 :�drw%(X%,Y%)=-1 :�� :�� :�� X%=0 � 31 ; temp?X%=0 ;� ; nic%=0 ;$� X%=0 � 1020 � 4 ;.chars1!X%=0:chars2!X%=0 ;8� ;B� <� <���load(A$,W%) <�� W%=1 � �dp| <� �oscli("L."+A$+" "+�~chars1) <�� 26 <�7�wnlx%(2)+7,wnty%(2));"Icon file:"A$;�14-�A$," "); <��redraw <�� <� <� �oscli("L."+A$+" "+�~chars2) <�� 26 <��redraw =� >� >�' Redraw drawing area in full >� >���redraw >�� A%,B%,C% >�� B%=0 � 6:� C%=0 � 5 >�1� drw%(B%,C%)>=0 � �define(�add(drw%(B%,C%))) >��drw(B%,C%,drw%(B%,C%)) >�� >�� >�� FP FZ ��w_ls Fd'�window(5,24,5,38,1," Load/Save") Fn�''"Load icons" Fx�"Load alt." F��"Save icons"; F� w_ls=� F�� 26 F�� F� F� ��w_me F�%�window(5,24,5,38,1," Messages") F� w_ls=� F�� N N* ��desk N4 *DESK N>%�window(0,1,18,16,1," Icon No.") NH�window(1,19,4,22,1,"") NR-�window(2,1,25,32,20," No icons") N\�window(3,1,30,32,27,"") Na�window(4,19,18,32,7,"") Nb �w_me Nf� 26 Np� 23,132,-1;-1;-1;-1; Nz� 23,1,0;0;0;0;0; N��icon(32,36,7) N��icon(33,36,28) N��redraw N�� N� N�� �inw(w%) N�I� �>=wnlx%(w%) � �<=wnrx%(w%) � �>=wnty%(w%) � �<=wnby%(w%) � =� � =� O O$� �chkicon O)� N%,X%:N%=-1 O.� X%=0 � nic%-1 O8U� (�=icx%(X%) � �=icx%(X%)+1) � (�=icy%(X%) � �=icy%(X%)+1) � N%=icn%(X%):X%=nic% OB� OL=N% P P#��window(w%,lx%,by%,rx%,ty%,A$) P wnlx%(w%)=lx% P"wnby%(w%)=by% P#wnlx%(w%)=lx% P$wnrx%(w%)=rx% P&wnty%(w%)=ty% P(A� A$="" � �oscli("WINDOW "+�lx%+","+�by%+","+�rx%+","+�ty%):� P2<�oscli("WINDOW "+�lx%+","+�by%+","+�rx%+","+�ty%+","+A$) P<� PF PP��icon(N%,X%,Y%) PZicx%(nic%)=X%:icn%(nic%)=N% Pdicy%(nic%)=Y% Pn5�oscli("ICON "+�N%+","+�X%+","+�Y%):nic%=nic%+1:� Px P���oscli(A$) P�$&700=A$ P�� X%,Y% P�X%=0:Y%=7:� &FFF7 P�� P� P���drw(X%,Y%,I%) P�#� X%<0 � X%>6 � Y%<0 � Y%>5 � � P�drw%(X%,Y%)=I% P�$� 31,X%*2+wnlx%(4),Y%*2+wnty%(4) P�� I%=-1 � *ICON 93 P�� I%>=0 � *ICON 0 P�� 26 Q� u0 u: ��init uD nic%=0 u�� u� v��get_cord v� get_cord v��get_cord1 vMX%=!&70 � &FFFF v MY%=?&72 v*� v4 v>ݤscan_keys vH=(?&FE60 �&E0)/32 vR v\ vf ݤget_inp vp� K% vz� v�� move_cur v�K%=�scan_keys v� �K%<7 v��get_cord1 v�=K% y y" ��err(A$) y'� 7 y, �w_me y6 �''A$ y@�"Press a button"; yJ����-129 yT �w_me y^ � 26:� } } � � � }� 7 }%�window(5,24,5,38,1," Messages") }(�'; }-� 23,1,0;0;0;0; }2� }7���-129 }<�'"Press a button"; }F����-129 }P �w_me:�26 }d � �dhC �
00000000 0d 00 00 05 20 0d 00 01 16 f4 20 20 20 20 20 44 |.... ..... D| 00000010 65 73 69 67 6e 20 20 56 31 2e 31 0d 00 02 05 20 |esign V1.1.... | 00000020 0d 00 03 14 f4 20 20 20 20 32 31 2f 31 30 2f 31 |..... 21/10/1| 00000030 39 38 34 61 0d 00 04 05 20 0d 00 0a 05 20 0d 00 |984a.... .... ..| 00000040 14 07 eb 20 34 0d 00 15 25 de 20 63 68 61 72 73 |... 4...%. chars| 00000050 31 20 31 30 32 34 2c 63 68 61 72 73 32 20 31 30 |1 1024,chars2 10| 00000060 32 34 2c 74 65 6d 70 20 33 32 0d 00 19 58 de 20 |24,temp 32...X. | 00000070 53 25 28 31 36 2c 31 36 29 2c 77 6e 6c 78 25 28 |S%(16,16),wnlx%(| 00000080 37 29 2c 77 6e 72 78 25 28 37 29 2c 77 6e 62 79 |7),wnrx%(7),wnby| 00000090 25 28 37 29 2c 77 6e 74 79 25 28 37 29 2c 64 72 |%(7),wnty%(7),dr| 000000a0 77 25 28 36 2c 35 29 2c 69 63 6e 25 28 31 35 29 |w%(6,5),icn%(15)| 000000b0 2c 69 63 79 25 28 31 35 29 2c 69 63 78 25 28 31 |,icy%(15),icx%(1| 000000c0 35 29 0d 00 1e 09 f2 69 6e 69 74 0d 00 64 09 f2 |5).....init..d..| 000000d0 64 65 73 6b 0d 00 c8 0e 65 78 65 63 25 3d 2d 31 |desk....exec%=-1| 000000e0 30 37 0d 00 d2 0e 6d 6f 76 65 25 3d 2d 31 30 38 |07....move%=-108| 000000f0 0d 00 dc 0e 63 61 6e 63 25 3d 2d 31 30 39 0d 01 |....canc%=-109..| 00000100 2c 05 20 0d 01 36 14 2a 53 45 4e 53 49 54 49 56 |,. ..6.*SENSITIV| 00000110 49 54 59 20 32 2c 32 0d 01 40 10 2a 42 55 54 54 |ITY 2,2..@.*BUTT| 00000120 4f 4e 53 20 4f 46 46 0d 01 4a 0f 2a 50 4f 49 4e |ONS OFF..J.*POIN| 00000130 54 45 52 20 4f 4e 0d 03 84 05 20 0d 03 98 0f 2a |TER ON.... ....*| 00000140 50 4f 49 4e 54 45 52 20 38 30 0d 03 e8 10 2a 53 |POINTER 80....*S| 00000150 48 4f 57 50 4f 49 4e 54 45 52 0d 03 f2 1c f4 20 |HOWPOINTER..... | 00000160 20 20 20 20 20 4d 61 69 6e 20 70 72 6f 67 72 61 | Main progra| 00000170 6d 20 6c 6f 6f 70 0d 03 fc 0b 41 25 3d 2d 31 32 |m loop....A%=-12| 00000180 39 0d 04 06 05 20 0d 04 10 0c f5 2a 4d 4f 56 45 |9.... .....*MOVE| 00000190 50 2e 0d 04 1a 0b fd 20 ac 20 a6 41 25 0d 04 24 |P...... . .A%..$| 000001a0 05 20 0d 04 2e 16 f4 20 20 20 20 20 20 57 68 69 |. ..... Whi| 000001b0 63 68 20 6b 65 79 20 3f 0d 04 38 05 20 0d 04 42 |ch key ?..8. ..B| 000001c0 13 e7 20 a6 65 78 65 63 25 20 8c 20 8d 64 50 47 |.. .exec% . .dPG| 000001d0 0d 04 4c 13 e7 20 a6 6d 6f 76 65 25 20 8c 20 8d |..L.. .move% . .| 000001e0 74 78 4b 0d 04 56 13 e7 20 a6 63 61 6e 63 25 20 |txK..V.. .canc% | 000001f0 8c 20 8d 74 60 4f 0d 04 5b 0a e5 20 8d 64 7c 43 |. .t`O..[.. .d|C| 00000200 0d 04 60 0f 2a 50 4f 49 4e 54 45 52 20 38 30 0d |..`.*POINTER 80.| 00000210 04 61 0b 41 25 3d 2d 31 32 39 0d 04 65 05 f5 0d |.a.A%=-129..e...| 00000220 04 6a 0b 2a 4d 4f 56 45 50 2e 0d 04 74 08 fd a6 |.j.*MOVEP...t...| 00000230 41 25 0d 04 7e 0a e5 20 8d 64 7c 43 0d 07 bc 05 |A%..~.. .d|C....| 00000240 20 0d 07 c6 2f f4 20 20 20 20 20 20 20 20 20 20 | .../. | 00000250 20 20 20 20 20 20 20 20 20 20 45 78 65 63 75 74 | Execut| 00000260 65 20 62 75 74 74 6f 6e 20 70 72 65 73 73 65 64 |e button pressed| 00000270 0d 07 cf 05 20 0d 07 d0 0b 2a 55 50 44 41 54 45 |.... ....*UPDATE| 00000280 0d 07 da 24 e7 20 a4 69 6e 77 28 30 29 20 80 20 |...$. .inw(0) . | 00000290 bc 3e 3d 77 6e 74 79 25 28 30 29 2b 32 20 8c 20 |.>=wnty%(0)+2 . | 000002a0 8d 64 44 49 0d 07 df 14 e7 20 a4 69 6e 77 28 35 |.dDI..... .inw(5| 000002b0 29 20 8c 20 8d 54 42 48 0d 07 e4 0f 41 25 3d a4 |) . .TBH....A%=.| 000002c0 63 68 6b 69 63 6f 6e 0d 07 ee 12 e7 20 41 25 3d |chkicon..... A%=| 000002d0 2d 31 20 8c 20 8d 44 60 44 0d 07 f8 12 e7 20 41 |-1 . .D`D..... A| 000002e0 25 3d 33 32 20 8c 20 8d 54 74 48 0d 07 fe 0a e5 |%=32 . .TtH.....| 000002f0 20 8d 44 60 44 0d 08 02 13 e7 20 77 5f 6c 73 3d | .D`D..... w_ls=| 00000300 a3 20 8c 20 8d 44 60 44 0d 08 0c 0b 2a 55 50 44 |. . .D`D....*UPD| 00000310 41 54 45 0d 08 16 08 56 25 3d bc 0d 08 20 10 2a |ATE....V%=... .*| 00000320 48 49 44 45 50 4f 49 4e 54 45 52 0d 08 2a 11 e7 |HIDEPOINTER..*..| 00000330 20 56 25 3d 33 20 8c 20 8d 44 66 48 0d 08 2c 11 | V%=3 . .DfH..,.| 00000340 e7 20 56 25 3d 34 20 8c 20 8d 44 7a 48 0d 08 2e |. V%=4 . .DzH...| 00000350 11 e7 20 56 25 3d 35 20 8c 20 8d 74 4e 48 0d 08 |.. V%=5 . .tNH..| 00000360 30 14 f2 77 5f 6d 65 3a ef 32 36 3a e5 20 8d 64 |0..w_me:.26:. .d| 00000370 68 43 0d 08 34 05 20 0d 08 36 19 f4 20 20 20 20 |hC..4. ..6.. | 00000380 20 20 20 20 20 20 20 46 69 6c 65 20 69 63 6f 6e | File icon| 00000390 0d 08 38 09 f2 77 5f 6c 73 0d 08 39 0a e5 20 8d |..8..w_ls..9.. .| 000003a0 44 60 44 0d 08 63 14 f2 77 5f 6d 65 3a ef 32 36 |D`D..c..w_me:.26| 000003b0 3a e5 20 8d 64 68 43 0d 08 66 25 f2 77 69 6e 64 |:. .dhC..f%.wind| 000003c0 6f 77 28 35 2c 32 34 2c 35 2c 33 38 2c 31 2c 22 |ow(5,24,5,38,1,"| 000003d0 4c 6f 61 64 20 69 63 6f 6e 73 22 29 0d 08 68 08 |Load icons")..h.| 000003e0 f1 27 27 3b 0d 08 69 1e ef 20 32 33 2c 31 2c 31 |.'';..i.. 23,1,1| 000003f0 3b 30 3b 30 3b 30 3b 3a ee 20 85 20 e5 20 8d 50 |;0;0;0;:. . . .P| 00000400 40 7d 0d 08 6a 0b e8 20 22 3a 22 41 24 0d 08 6b |@}..j.. ":"A$..k| 00000410 13 ef 20 32 33 2c 31 2c 30 3b 30 3b 30 3b 30 3b |.. 23,1,0;0;0;0;| 00000420 0d 08 6c 1a f2 6c 6f 61 64 28 41 24 2c 30 29 3a |..l..load(A$,0):| 00000430 ef 20 32 36 3a ee 20 85 20 87 0d 08 6e 0d f2 64 |. 26:. . ...n..d| 00000440 69 73 70 5f 61 6c 6c 0d 08 70 0a e5 20 8d 44 63 |isp_all..p.. .Dc| 00000450 48 0d 08 7a 05 20 0d 08 7c 24 f2 77 69 6e 64 6f |H..z. ..|$.windo| 00000460 77 28 35 2c 32 34 2c 35 2c 33 38 2c 31 2c 22 4c |w(5,24,5,38,1,"L| 00000470 6f 61 64 20 41 6c 74 2e 22 29 0d 08 7e 18 f1 27 |oad Alt.")..~..'| 00000480 27 3b 3a ef 20 32 33 2c 31 2c 31 3b 30 3b 30 3b |';:. 23,1,1;0;0;| 00000490 30 3b 0d 08 7f 0e ee 20 85 20 e5 20 8d 50 40 7d |0;..... . . .P@}| 000004a0 0d 08 80 1b e8 20 22 3a 22 41 24 3a ef 20 32 33 |..... ":"A$:. 23| 000004b0 2c 31 2c 30 3b 30 3b 30 3b 30 3b 0d 08 82 1a f2 |,1,0;0;0;0;.....| 000004c0 6c 6f 61 64 28 41 24 2c 31 29 3a ef 20 32 36 3a |load(A$,1):. 26:| 000004d0 ee 20 85 20 87 0d 08 84 0d f2 64 69 73 70 5f 61 |. . ......disp_a| 000004e0 6c 74 0d 08 86 0a e5 20 8d 44 63 48 0d 08 8e 05 |lt..... .DcH....| 000004f0 20 0d 08 8f 25 f2 77 69 6e 64 6f 77 28 35 2c 32 | ...%.window(5,2| 00000500 34 2c 35 2c 33 38 2c 31 2c 22 53 61 76 65 20 69 |4,5,38,1,"Save i| 00000510 63 6f 6e 73 22 29 0d 08 90 23 f1 27 27 3b 3a ef |cons")...#.'';:.| 00000520 20 32 33 2c 31 2c 31 3b 30 3b 30 3b 30 3b 3a ee | 23,1,1;0;0;0;:.| 00000530 20 85 20 e5 20 8d 50 40 7d 0d 08 91 1b e8 20 22 | . . .P@}..... "| 00000540 3a 22 41 24 3a ef 20 32 33 2c 31 2c 30 3b 30 3b |:"A$:. 23,1,0;0;| 00000550 30 3b 30 3b 0d 08 92 32 f2 6f 73 63 6c 69 28 22 |0;0;...2.oscli("| 00000560 53 2e 22 2b 41 24 2b 22 20 22 2b c3 7e 63 68 61 |S."+A$+" "+.~cha| 00000570 72 73 31 2b 22 20 2b 34 30 30 20 38 30 30 30 20 |rs1+" +400 8000 | 00000580 35 38 30 30 22 29 0d 08 93 15 ee 20 85 20 87 3a |5800")..... . .:| 00000590 ef 20 32 36 3a e5 20 8d 44 63 48 0d 09 c4 10 2a |. 26:. .DcH....*| 000005a0 48 49 44 45 50 4f 49 4e 54 45 52 0d 09 ce 3f f2 |HIDEPOINTER...?.| 000005b0 64 6f 74 28 b1 2d 77 6e 6c 78 25 28 30 29 2c bc |dot(.-wnlx%(0),.| 000005c0 2d 77 6e 74 79 25 28 30 29 2d 32 2c 31 2d 53 25 |-wnty%(0)-2,1-S%| 000005d0 28 b1 2d 77 6e 6c 78 25 28 30 29 2c bc 2d 77 6e |(.-wnlx%(0),.-wn| 000005e0 74 79 25 28 30 29 2d 32 29 29 0d 09 d8 10 2a 53 |ty%(0)-2))....*S| 000005f0 48 4f 57 50 4f 49 4e 54 45 52 0d 09 e2 0a e5 20 |HOWPOINTER..... | 00000600 8d 44 60 44 0d 0b 9a 05 20 0d 0b a4 2c f4 20 20 |.D`D.... ...,. | 00000610 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | | 00000620 20 20 4d 6f 76 65 20 62 75 74 74 6f 6e 20 70 72 | Move button pr| 00000630 65 73 73 65 64 0d 0b ae 05 20 0d 0b b8 05 20 0d |essed.... .... .| 00000640 0b c2 0b 2a 55 50 44 41 54 45 0d 0b c7 0b 66 72 |...*UPDATE....fr| 00000650 6d 4c 25 3d a3 0d 0b c8 14 e7 20 a4 69 6e 77 28 |mL%=...... .inw(| 00000660 34 29 20 8c 20 8d 64 6a 4b 0d 0b cc 14 e7 20 a4 |4) . .djK..... .| 00000670 69 6e 77 28 32 29 20 8c 20 8d 54 5c 4c 0d 0b d6 |inw(2) . .T\L...| 00000680 2c e7 20 a4 69 6e 77 28 30 29 20 8c 20 f2 64 65 |,. .inw(0) . .de| 00000690 66 69 6e 65 28 74 65 6d 70 29 3a 66 72 6d 4c 25 |fine(temp):frmL%| 000006a0 3d b9 3a e5 20 8d 54 70 4c 0d 0b d8 14 e7 20 a4 |=.:. .TpL..... .| 000006b0 69 6e 77 28 33 29 20 8c 20 8d 54 50 4e 0d 0b e0 |inw(3) . .TPN...| 000006c0 0a e5 20 8d 44 60 44 0d 0b ea 05 20 0d 0b f4 27 |.. .D`D.... ...'| 000006d0 58 25 3d 28 b1 2d 77 6e 6c 78 25 28 34 29 29 2f |X%=(.-wnlx%(4))/| 000006e0 32 3a 59 25 3d 28 bc 2d 77 6e 74 79 25 28 34 29 |2:Y%=(.-wnty%(4)| 000006f0 29 2f 32 0d 0b fe 13 63 68 25 3d 64 72 77 25 28 |)/2....ch%=drw%(| 00000700 58 25 2c 59 25 29 0d 0c 08 1a e7 20 63 68 25 3e |X%,Y%)..... ch%>| 00000710 3d 30 20 8c 20 8d 54 66 4c 20 8b 20 8d 44 60 44 |=0 . .TfL . .D`D| 00000720 0d 0c 1c 2c 63 68 25 3d 28 b1 2d 77 6e 6c 78 25 |...,ch%=(.-wnlx%| 00000730 28 32 29 29 2f 32 2b 31 36 2a 28 28 bc 2d 77 6e |(2))/2+16*((.-wn| 00000740 74 79 25 28 32 29 2d 32 29 81 32 29 0d 0c 1d 1b |ty%(2)-2).2)....| 00000750 e7 20 63 68 25 3c 30 20 84 20 63 68 25 3e 33 31 |. ch%<0 . ch%>31| 00000760 20 8c 20 8d 44 60 44 0d 0c 26 16 f2 64 65 66 69 | . .D`D..&..defi| 00000770 6e 65 28 a4 61 64 64 28 63 68 25 29 29 0d 0c 30 |ne(.add(ch%))..0| 00000780 11 2a 50 4f 49 4e 54 45 52 20 30 2c 39 35 0d 0c |.*POINTER 0,95..| 00000790 3a 05 f5 0d 0c 44 0b 2a 4d 4f 56 45 50 2e 0d 0c |:....D.*MOVEP...| 000007a0 4e 0e fd 20 ac 20 a6 6d 6f 76 65 25 0d 0c 58 05 |N.. . .move%..X.| 000007b0 20 0d 0c 62 0b 2a 55 50 44 41 54 45 0d 0c 6c 14 | ..b.*UPDATE..l.| 000007c0 e7 20 a4 69 6e 77 28 30 29 20 8c 20 8d 74 6c 4d |. .inw(0) . .tlM| 000007d0 0d 0c 76 14 e7 20 a4 69 6e 77 28 34 29 20 8c 20 |..v.. .inw(4) . | 000007e0 8d 64 64 4c 0d 0c 80 14 e7 20 a4 69 6e 77 28 32 |.ddL..... .inw(2| 000007f0 29 20 8c 20 8d 44 48 4d 0d 0c 8a 2c e7 20 a4 69 |) . .DHM...,. .i| 00000800 6e 77 28 33 29 20 8c 20 f2 65 72 72 28 22 20 20 |nw(3) . .err(" | 00000810 6e 6f 74 20 61 6c 6c 6f 77 65 64 22 29 3a e5 20 |not allowed"):. | 00000820 8d 44 60 44 0d 0c 94 14 e7 20 a4 69 6e 77 28 34 |.D`D..... .inw(4| 00000830 29 20 8c 20 8d 64 64 4c 0d 0c 9e 0a e5 20 8d 44 |) . .ddL..... .D| 00000840 60 44 0d 0c e4 2c e7 20 66 72 6d 4c 25 3d b9 20 |`D...,. frmL%=. | 00000850 8c 20 f2 65 72 72 28 22 20 20 6e 6f 74 20 61 6c |. .err(" not al| 00000860 6c 6f 77 65 64 22 29 3a e5 20 8d 44 60 44 0d 0c |lowed"):. .D`D..| 00000870 e6 2b 58 25 3d 28 b1 2b 31 2d 77 6e 6c 78 25 28 |.+X%=(.+1-wnlx%(| 00000880 34 29 29 2f 32 3a 59 25 3d 28 bc 2b 31 2d 77 6e |4))/2:Y%=(.+1-wn| 00000890 74 79 25 28 34 29 29 2f 32 0d 0c e9 26 e7 20 b1 |ty%(4))/2...&. .| 000008a0 3e 77 6e 72 78 25 28 34 29 20 84 20 bc 3e 77 6e |>wnrx%(4) . .>wn| 000008b0 62 79 25 28 34 29 2d 31 20 8c 20 8d 44 60 44 0d |by%(4)-1 . .D`D.| 000008c0 0c eb 10 2a 48 49 44 45 50 4f 49 4e 54 45 52 0d |...*HIDEPOINTER.| 000008d0 0c ec 09 2a 46 58 31 39 0d 0c ee 13 f2 64 72 77 |...*FX19.....drw| 000008e0 28 58 25 2c 59 25 2c 63 68 25 29 0d 0c f8 10 2a |(X%,Y%,ch%)....*| 000008f0 53 48 4f 57 50 4f 49 4e 54 45 52 0d 0d 02 0a e5 |SHOWPOINTER.....| 00000900 20 8d 44 60 44 0d 0d 48 05 20 0d 0d 49 14 e7 20 | .D`D..H. ..I.. | 00000910 66 72 6d 4c 25 3d a3 20 8c 20 8d 44 7a 4d 0d 0d |frmL%=. . .DzM..| 00000920 4d 30 63 68 25 3d 28 b1 2b 31 2d 77 6e 6c 78 25 |M0ch%=(.+1-wnlx%| 00000930 28 32 29 29 2f 32 2b 31 36 2a 28 28 bc 2b 31 2d |(2))/2+16*((.+1-| 00000940 77 6e 74 79 25 28 32 29 2d 32 29 81 32 29 0d 0d |wnty%(2)-2).2)..| 00000950 52 1b e7 20 63 68 25 3c 30 20 84 20 63 68 25 3e |R.. ch%<0 . ch%>| 00000960 33 31 20 8c 20 8d 44 60 44 0d 0d 57 10 41 25 3d |31 . .D`D..W.A%=| 00000970 a4 61 64 64 28 63 68 25 29 0d 0d 5c 1f e3 20 58 |.add(ch%)..\.. X| 00000980 25 3d 30 20 b8 20 33 31 3a 41 25 3f 58 25 3d 74 |%=0 . 31:A%?X%=t| 00000990 65 6d 70 3f 58 25 3a ed 0d 0d 5e 10 2a 48 49 44 |emp?X%:...^.*HID| 000009a0 45 50 4f 49 4e 54 45 52 0d 0d 61 13 f2 64 69 73 |EPOINTER..a..dis| 000009b0 70 5f 69 63 6f 6e 28 63 68 25 29 0d 0d 63 10 2a |p_icon(ch%)..c.*| 000009c0 53 48 4f 57 50 4f 49 4e 54 45 52 0d 0d 66 1c f4 |SHOWPOINTER..f..| 000009d0 20 20 20 20 55 70 64 61 74 65 20 64 72 61 77 69 | Update drawi| 000009e0 6e 67 20 61 72 65 61 0d 0d 68 3d e3 20 58 25 3d |ng area..h=. X%=| 000009f0 30 20 b8 20 36 3a e3 20 59 25 3d 30 20 b8 20 35 |0 . 6:. Y%=0 . 5| 00000a00 3a e7 20 64 72 77 25 28 58 25 2c 59 25 29 3d 63 |:. drw%(X%,Y%)=c| 00000a10 68 25 20 8c 20 f2 64 72 77 28 58 25 2c 59 25 2c |h% . .drw(X%,Y%,| 00000a20 63 68 25 29 0d 0d 6a 06 ed 2c 0d 0d 6c 0a e5 20 |ch%)..j..,..l.. | 00000a30 8d 44 60 44 0d 0d 79 05 20 0d 0d 7a 10 42 25 3d |.D`D..y. ..z.B%=| 00000a40 a4 61 64 64 28 63 68 25 29 0d 0d 84 48 63 68 25 |.add(ch%)...Hch%| 00000a50 3d 28 b1 2b 31 2d 77 6e 6c 78 25 28 32 29 29 2f |=(.+1-wnlx%(2))/| 00000a60 32 2b 31 36 2a 28 28 bc 2b 31 2d 77 6e 74 79 25 |2+16*((.+1-wnty%| 00000a70 28 32 29 2d 32 29 81 32 29 3a e7 20 63 68 25 3c |(2)-2).2):. ch%<| 00000a80 30 20 84 20 63 68 25 3e 33 31 20 8c 20 8d 44 60 |0 . ch%>31 . .D`| 00000a90 44 0d 0d 8e 10 41 25 3d a4 61 64 64 28 63 68 25 |D....A%=.add(ch%| 00000aa0 29 0d 0d 98 1d e3 20 58 25 3d 30 20 b8 20 33 31 |)..... X%=0 . 31| 00000ab0 3a 41 25 3f 58 25 3d 42 25 3f 58 25 3a ed 0d 0d |:A%?X%=B%?X%:...| 00000ac0 a2 10 2a 48 49 44 45 50 4f 49 4e 54 45 52 0d 0d |..*HIDEPOINTER..| 00000ad0 a4 20 f2 64 69 73 70 5f 69 63 6f 6e 28 63 68 25 |. .disp_icon(ch%| 00000ae0 29 3a 2a 53 48 4f 57 50 4f 49 4e 54 45 52 0d 0d |):*SHOWPOINTER..| 00000af0 a6 0a e5 20 8d 44 66 4d 0d 0d ac 2c e7 20 66 72 |... .DfM...,. fr| 00000b00 6d 4c 25 3d b9 20 8c 20 f2 65 72 72 28 22 20 20 |mL%=. . .err(" | 00000b10 6e 6f 74 20 61 6c 6c 6f 77 65 64 22 29 3a e5 20 |not allowed"):. | 00000b20 8d 44 60 44 0d 0d b6 10 2a 48 49 44 45 50 4f 49 |.D`D....*HIDEPOI| 00000b30 4e 54 45 52 0d 0d bb 14 f1 8a 31 31 2c 31 29 3b |NTER......11,1);| 00000b40 63 68 25 3b 22 20 22 3b 0d 0d c0 13 f2 67 65 74 |ch%;" ";.....get| 00000b50 28 a4 61 64 64 28 63 68 25 29 29 0d 0d ca 10 2a |(.add(ch%))....*| 00000b60 53 48 4f 57 50 4f 49 4e 54 45 52 0d 0d d4 0a e5 |SHOWPOINTER.....| 00000b70 20 8d 44 60 44 0d 0e 10 05 20 0d 0e 1a 2a 63 68 | .D`D.... ...*ch| 00000b80 25 3d 28 b1 2d 77 6e 6c 78 25 28 33 29 29 2f 32 |%=(.-wnlx%(3))/2| 00000b90 2b 31 36 2a 28 28 bc 2d 77 6e 74 79 25 28 33 29 |+16*((.-wnty%(3)| 00000ba0 29 81 32 29 0d 0e 24 1b e7 20 63 68 25 3c 30 20 |).2)..$.. ch%<0 | 00000bb0 84 20 63 68 25 3e 33 31 20 8c 20 8d 44 60 44 0d |. ch%>31 . .D`D.| 00000bc0 0e 2e 1f f2 64 65 66 69 6e 65 28 28 33 31 2d 63 |....define((31-c| 00000bd0 68 25 29 2a 33 32 2b 63 68 61 72 73 32 29 0d 0e |h%)*32+chars2)..| 00000be0 38 15 63 68 25 3d 63 68 25 2b 33 32 3a e5 20 8d |8.ch%=ch%+32:. .| 00000bf0 54 70 4c 0d 0f a0 0a e5 20 8d 44 60 44 0d 13 6a |TpL..... .D`D..j| 00000c00 05 20 0d 13 74 2e f4 20 20 20 20 20 20 20 20 20 |. ..t.. | 00000c10 20 20 20 20 20 20 20 20 20 20 20 43 61 6e 63 65 | Cance| 00000c20 6c 20 62 75 74 74 6f 6e 20 70 72 65 73 73 65 64 |l button pressed| 00000c30 0d 13 7e 05 20 0d 27 10 05 20 0d 27 1a 14 dd f2 |..~. .'.. .'....| 00000c40 64 69 73 70 28 41 25 2c 58 25 2c 59 25 29 0d 27 |disp(A%,X%,Y%).'| 00000c50 24 15 f2 64 65 66 69 6e 65 28 a4 61 64 64 28 41 |$..define(.add(A| 00000c60 25 29 29 0d 27 2e 15 f1 8a 58 25 2c 59 25 29 3b |%)).'....X%,Y%);| 00000c70 3a 2a 49 43 4f 4e 20 30 0d 27 33 05 e1 0d 27 38 |:*ICON 0.'3...'8| 00000c80 18 dd f2 64 65 66 69 6e 65 28 41 25 29 3a ea 20 |...define(A%):. | 00000c90 44 25 2c 45 25 0d 27 42 09 44 25 3d 41 25 0d 27 |D%,E%.'B.D%=A%.'| 00000ca0 4c 0e e3 20 41 25 3d 30 20 b8 20 33 0d 27 56 0f |L.. A%=0 . 3.'V.| 00000cb0 ef 20 32 33 2c 31 32 38 2b 41 25 0d 27 60 0e e3 |. 23,128+A%.'`..| 00000cc0 20 45 25 3d 30 20 b8 20 37 0d 27 6a 19 46 25 3d | E%=0 . 7.'j.F%=| 00000cd0 3f 28 44 25 2b 45 25 2b 41 25 2a 38 29 3a ef 20 |?(D%+E%+A%*8):. | 00000ce0 46 25 0d 27 74 06 ed 2c 0d 27 79 05 e1 0d 27 88 |F%.'t..,.'y...'.| 00000cf0 05 20 0d 27 92 0e dd f2 64 69 73 70 5f 61 6c 6c |. .'....disp_all| 00000d00 0d 27 97 08 ef 20 32 36 0d 27 9c 0f e3 20 41 25 |.'... 26.'... A%| 00000d10 3d 30 20 b8 20 31 35 0d 27 a6 12 f2 64 69 73 70 |=0 . 15.'...disp| 00000d20 5f 69 63 6f 6e 28 41 25 29 0d 27 b0 15 f2 64 69 |_icon(A%).'...di| 00000d30 73 70 5f 69 63 6f 6e 28 41 25 2b 31 36 29 0d 27 |sp_icon(A%+16).'| 00000d40 ce 05 ed 0d 27 d0 05 e1 0d 27 d2 05 20 0d 27 d4 |....'....'.. .'.| 00000d50 0e dd f2 64 69 73 70 5f 61 6c 74 0d 27 d6 08 ef |...disp_alt.'...| 00000d60 20 32 36 0d 27 d8 47 e3 20 41 25 3d 31 35 20 b8 | 26.'.G. A%=15 .| 00000d70 20 30 20 88 20 2d 31 3a f2 64 69 73 70 41 28 63 | 0 . -1:.dispA(c| 00000d80 68 61 72 73 32 2b 41 25 2a 33 32 2c 77 6e 6c 78 |hars2+A%*32,wnlx| 00000d90 25 28 33 29 2b 28 31 35 2d 41 25 29 2a 32 2c 77 |%(3)+(15-A%)*2,w| 00000da0 6e 74 79 25 28 33 29 2b 32 29 0d 27 da 38 f2 64 |nty%(3)+2).'.8.d| 00000db0 69 73 70 41 28 63 68 61 72 73 32 2b 41 25 2a 33 |ispA(chars2+A%*3| 00000dc0 32 2b 35 31 32 2c 77 6e 6c 78 25 28 33 29 2b 28 |2+512,wnlx%(3)+(| 00000dd0 31 35 2d 41 25 29 2a 32 2c 77 6e 74 79 25 28 33 |15-A%)*2,wnty%(3| 00000de0 29 29 0d 27 dc 05 ed 0d 27 de 05 e1 0d 27 e0 05 |)).'....'....'..| 00000df0 20 0d 27 e2 05 20 0d 27 ec 13 dd f2 64 69 73 70 | .'.. .'....disp| 00000e00 5f 69 63 6f 6e 28 41 25 29 0d 27 f6 35 f2 64 69 |_icon(A%).'.5.di| 00000e10 73 70 28 41 25 2c 28 41 25 80 31 35 29 2a 32 2b |sp(A%,(A%.15)*2+| 00000e20 77 6e 6c 78 25 28 32 29 2c 77 6e 74 79 25 28 32 |wnlx%(2),wnty%(2| 00000e30 29 2b 32 2b 32 2a 28 41 25 81 31 36 29 29 0d 28 |)+2+2*(A%.16)).(| 00000e40 00 05 e1 0d 28 3c 05 20 0d 28 46 15 dd f2 64 69 |....(<. .(F...di| 00000e50 73 70 41 28 41 25 2c 58 25 2c 59 25 29 0d 28 50 |spA(A%,X%,Y%).(P| 00000e60 0f f2 64 65 66 69 6e 65 28 41 25 29 0d 28 5a 15 |..define(A%).(Z.| 00000e70 f1 8a 58 25 2c 59 25 29 3b 3a 2a 49 43 4f 4e 20 |..X%,Y%);:*ICON | 00000e80 30 0d 28 64 05 e1 0d 2a f8 05 20 0d 2b 02 1b dd |0.(d...*.. .+...| 00000e90 f2 64 6f 74 28 58 25 2c 59 25 2c 43 25 29 3a ea |.dot(X%,Y%,C%):.| 00000ea0 20 41 25 2c 5a 25 0d 2b 03 10 53 25 28 58 25 2c | A%,Z%.+..S%(X%,| 00000eb0 59 25 29 3d 43 25 0d 2b 0c 22 ef 20 33 31 2c 58 |Y%)=C%.+.". 31,X| 00000ec0 25 2b 77 6e 6c 78 25 28 30 29 2c 59 25 2b 77 6e |%+wnlx%(0),Y%+wn| 00000ed0 74 79 25 28 30 29 2b 32 0d 2b 16 19 e7 20 43 25 |ty%(0)+2.+... C%| 00000ee0 3d 30 20 8c 20 ef 20 33 32 20 8b 20 ef 20 31 33 |=0 . . 32 . . 13| 00000ef0 32 0d 2b 20 0a e6 20 30 2c 43 25 0d 2b 2a 1a f0 |2.+ .. 0,C%.+*..| 00000f00 20 36 39 2c 58 25 2a 34 2b 36 34 30 2c 39 35 36 | 69,X%*4+640,956| 00000f10 2d 59 25 2a 34 0d 2b 39 24 41 25 3d 74 65 6d 70 |-Y%*4.+9$A%=temp| 00000f20 2b 59 25 2b 28 58 25 81 38 29 2a 31 36 3a 5a 25 |+Y%+(X%.8)*16:Z%| 00000f30 3d 37 2d 28 58 25 80 37 29 0d 2b 3a 24 3f 41 25 |=7-(X%.7).+:$?A%| 00000f40 3d 28 3f 41 25 20 80 20 28 32 35 35 2d 32 5e 5a |=(?A% . (255-2^Z| 00000f50 25 29 29 20 84 20 43 25 2a 32 5e 5a 25 0d 2b 3e |%)) . C%*2^Z%.+>| 00000f60 05 e1 0d 2b 5c 05 20 0d 2b 66 0e dd a4 61 64 64 |...+\. .+f...add| 00000f70 28 63 68 25 29 0d 2b 70 22 e7 20 63 68 25 3e 33 |(ch%).+p". ch%>3| 00000f80 31 20 8c 20 3d 63 68 61 72 73 32 2b 33 32 2a 28 |1 . =chars2+32*(| 00000f90 36 33 2d 63 68 25 29 0d 2b 7a 17 3d 63 68 61 72 |63-ch%).+z.=char| 00000fa0 73 31 2b 28 33 31 2d 63 68 25 29 2a 33 32 0d 2e |s1+(31-ch%)*32..| 00000fb0 e0 05 20 0d 2e ea 0d dd f2 67 65 74 28 41 25 29 |.. ......get(A%)| 00000fc0 0d 2e f4 11 ea 20 42 25 2c 43 25 2c 44 25 2c 45 |..... B%,C%,D%,E| 00000fd0 25 0d 2f a8 05 20 0d 2f b2 0f e3 20 42 25 3d 30 |%./.. ./... B%=0| 00000fe0 20 b8 20 31 35 0d 2f bc 0e e3 20 44 25 3d 30 20 | . 15./... D%=0 | 00000ff0 b8 20 37 0d 2f c6 37 e7 20 28 41 25 3f 42 25 20 |. 7./.7. (A%?B% | 00001000 80 20 32 5e 28 37 2d 44 25 29 29 3c 3e 30 20 8c |. 2^(7-D%))<>0 .| 00001010 20 53 25 28 44 25 2c 42 25 29 3d 31 20 8b 20 53 | S%(D%,B%)=1 . S| 00001020 25 28 44 25 2c 42 25 29 3d 30 0d 2f d0 19 f2 64 |%(D%,B%)=0./...d| 00001030 6f 74 28 44 25 2c 42 25 2c 53 25 28 44 25 2c 42 |ot(D%,B%,S%(D%,B| 00001040 25 29 29 0d 2f da 0a ed 44 25 2c 42 25 0d 2f e4 |%))./...D%,B%./.| 00001050 0f e3 20 42 25 3d 30 20 b8 20 31 35 0d 2f ee 0e |.. B%=0 . 15./..| 00001060 e3 20 44 25 3d 30 20 b8 20 37 0d 2f f8 41 e7 20 |. D%=0 . 7./.A. | 00001070 28 3f 28 41 25 2b 42 25 2b 31 36 29 20 80 20 32 |(?(A%+B%+16) . 2| 00001080 5e 28 37 2d 44 25 29 29 3c 3e 30 20 8c 20 53 25 |^(7-D%))<>0 . S%| 00001090 28 44 25 2b 38 2c 42 25 29 3d 31 20 8b 20 53 25 |(D%+8,B%)=1 . S%| 000010a0 28 44 25 2b 38 2c 42 25 29 3d 30 0d 30 02 1d f2 |(D%+8,B%)=0.0...| 000010b0 64 6f 74 28 44 25 2b 38 2c 42 25 2c 53 25 28 44 |dot(D%+8,B%,S%(D| 000010c0 25 2b 38 2c 42 25 29 29 0d 30 0c 06 ed 2c 0d 30 |%+8,B%)).0...,.0| 000010d0 16 05 e1 0d 30 70 05 20 0d 30 7a 0d dd f2 70 75 |....0p. .0z...pu| 000010e0 74 28 41 25 29 0d 30 84 11 ea 20 42 25 2c 43 25 |t(A%).0... B%,C%| 000010f0 2c 44 25 2c 45 25 0d 31 38 05 20 0d 31 42 14 e3 |,D%,E%.18. .1B..| 00001100 20 42 25 3d 30 20 b8 20 31 35 3a 43 25 3d 30 0d | B%=0 . 15:C%=0.| 00001110 31 4c 0e e3 20 44 25 3d 30 20 b8 20 37 0d 31 56 |1L.. D%=0 . 7.1V| 00001120 15 43 25 3d 43 25 2a 32 2b 53 25 28 44 25 2c 42 |.C%=C%*2+S%(D%,B| 00001130 25 29 0d 31 60 07 ed 44 25 0d 31 6a 0c 41 25 3f |%).1`..D%.1j.A%?| 00001140 42 25 3d 43 25 0d 31 74 07 ed 42 25 0d 31 7e 14 |B%=C%.1t..B%.1~.| 00001150 e3 20 42 25 3d 30 20 b8 20 31 35 3a 43 25 3d 30 |. B%=0 . 15:C%=0| 00001160 0d 31 88 0f e3 20 44 25 3d 38 20 b8 20 31 35 0d |.1... D%=8 . 15.| 00001170 31 92 15 43 25 3d 43 25 2a 32 2b 53 25 28 44 25 |1..C%=C%*2+S%(D%| 00001180 2c 42 25 29 0d 31 9c 05 ed 0d 31 a6 11 41 25 3f |,B%).1....1..A%?| 00001190 28 42 25 2b 31 36 29 3d 43 25 0d 31 b0 05 ed 0d |(B%+16)=C%.1....| 000011a0 31 b2 27 f2 64 69 73 70 28 63 68 25 2c 28 63 68 |1.'.disp(ch%,(ch| 000011b0 25 80 31 35 29 2a 31 36 2c 31 37 36 2b 28 63 68 |%.15)*16,176+(ch| 000011c0 25 80 34 38 29 29 0d 31 b4 07 ef 20 37 0d 31 ba |%.48)).1... 7.1.| 000011d0 05 e1 0d 3a 98 05 20 0d 3a a2 05 20 0d 3a ac 05 |...:.. .:.. .:..| 000011e0 20 0d 3a b6 05 20 0d 3a c0 0a dd f2 69 6e 69 74 | .:.. .:....init| 000011f0 0d 3a ca 0e e3 20 58 25 3d 30 20 b8 20 36 0d 3a |.:... X%=0 . 6.:| 00001200 d4 0e e3 20 59 25 3d 30 20 b8 20 35 0d 3a de 12 |... Y%=0 . 5.:..| 00001210 64 72 77 25 28 58 25 2c 59 25 29 3d 2d 31 0d 3a |drw%(X%,Y%)=-1.:| 00001220 e8 05 ed 0d 3a f2 05 ed 0d 3a fc 0f e3 20 58 25 |....:....:... X%| 00001230 3d 30 20 b8 20 33 31 0d 3b 06 0d 74 65 6d 70 3f |=0 . 31.;..temp?| 00001240 58 25 3d 30 0d 3b 10 05 ed 0d 3b 1a 0a 6e 69 63 |X%=0.;....;..nic| 00001250 25 3d 30 0d 3b 24 15 e3 20 58 25 3d 30 20 b8 20 |%=0.;$.. X%=0 . | 00001260 31 30 32 30 20 88 20 34 0d 3b 2e 1b 63 68 61 72 |1020 . 4.;..char| 00001270 73 31 21 58 25 3d 30 3a 63 68 61 72 73 32 21 58 |s1!X%=0:chars2!X| 00001280 25 3d 30 0d 3b 38 05 ed 0d 3b 42 05 e1 0d 3c 8c |%=0.;8...;B...<.| 00001290 05 20 0d 3c 96 11 dd f2 6c 6f 61 64 28 41 24 2c |. .<....load(A$,| 000012a0 57 25 29 0d 3c a0 11 e7 20 57 25 3d 31 20 8c 20 |W%).<... W%=1 . | 000012b0 8d 64 70 7c 0d 3c aa 20 f2 6f 73 63 6c 69 28 22 |.dp|.<. .oscli("| 000012c0 4c 2e 22 2b 41 24 2b 22 20 22 2b c3 7e 63 68 61 |L."+A$+" "+.~cha| 000012d0 72 73 31 29 0d 3c af 08 ef 20 32 36 0d 3c b4 37 |rs1).<... 26.<.7| 000012e0 f1 8a 77 6e 6c 78 25 28 32 29 2b 37 2c 77 6e 74 |..wnlx%(2)+7,wnt| 000012f0 79 25 28 32 29 29 3b 22 49 63 6f 6e 20 66 69 6c |y%(2));"Icon fil| 00001300 65 3a 22 41 24 3b c4 31 34 2d a9 41 24 2c 22 20 |e:"A$;.14-.A$," | 00001310 22 29 3b 0d 3c be 0b f2 72 65 64 72 61 77 0d 3c |");.<...redraw.<| 00001320 c8 05 e1 0d 3c f0 05 20 0d 3c fa 20 f2 6f 73 63 |....<.. .<. .osc| 00001330 6c 69 28 22 4c 2e 22 2b 41 24 2b 22 20 22 2b c3 |li("L."+A$+" "+.| 00001340 7e 63 68 61 72 73 32 29 0d 3c fb 08 ef 20 32 36 |~chars2).<... 26| 00001350 0d 3c ff 0b f2 72 65 64 72 61 77 0d 3d 04 05 e1 |.<...redraw.=...| 00001360 0d 3e 80 05 20 0d 3e 8a 27 20 20 20 20 20 20 20 |.>.. .>.' | 00001370 20 52 65 64 72 61 77 20 64 72 61 77 69 6e 67 20 | Redraw drawing | 00001380 61 72 65 61 20 69 6e 20 66 75 6c 6c 0d 3e 94 05 |area in full.>..| 00001390 20 0d 3e 9e 0c dd f2 72 65 64 72 61 77 0d 3e a8 | .>....redraw.>.| 000013a0 0e ea 20 41 25 2c 42 25 2c 43 25 0d 3e b2 19 e3 |.. A%,B%,C%.>...| 000013b0 20 42 25 3d 30 20 b8 20 36 3a e3 20 43 25 3d 30 | B%=0 . 6:. C%=0| 000013c0 20 b8 20 35 0d 3e b7 31 e7 20 64 72 77 25 28 42 | . 5.>.1. drw%(B| 000013d0 25 2c 43 25 29 3e 3d 30 20 8c 20 f2 64 65 66 69 |%,C%)>=0 . .defi| 000013e0 6e 65 28 a4 61 64 64 28 64 72 77 25 28 42 25 2c |ne(.add(drw%(B%,| 000013f0 43 25 29 29 29 0d 3e bc 1b f2 64 72 77 28 42 25 |C%))).>...drw(B%| 00001400 2c 43 25 2c 64 72 77 25 28 42 25 2c 43 25 29 29 |,C%,drw%(B%,C%))| 00001410 0d 3e c6 05 ed 0d 3e d0 05 ed 0d 3e da 05 e1 0d |.>....>....>....| 00001420 46 50 05 20 0d 46 5a 0a dd f2 77 5f 6c 73 0d 46 |FP. .FZ...w_ls.F| 00001430 64 27 f2 77 69 6e 64 6f 77 28 35 2c 32 34 2c 35 |d'.window(5,24,5| 00001440 2c 33 38 2c 31 2c 22 20 20 20 4c 6f 61 64 2f 53 |,38,1," Load/S| 00001450 61 76 65 22 29 0d 46 6e 13 f1 27 27 22 4c 6f 61 |ave").Fn..''"Loa| 00001460 64 20 69 63 6f 6e 73 22 0d 46 78 10 f1 22 4c 6f |d icons".Fx.."Lo| 00001470 61 64 20 61 6c 74 2e 22 0d 46 82 12 f1 22 53 61 |ad alt.".F..."Sa| 00001480 76 65 20 69 63 6f 6e 73 22 3b 0d 46 8c 0a 77 5f |ve icons";.F..w_| 00001490 6c 73 3d b9 0d 46 91 08 ef 20 32 36 0d 46 96 05 |ls=..F... 26.F..| 000014a0 e1 0d 46 a0 05 20 0d 46 b4 0a dd f2 77 5f 6d 65 |..F.. .F....w_me| 000014b0 0d 46 be 25 f2 77 69 6e 64 6f 77 28 35 2c 32 34 |.F.%.window(5,24| 000014c0 2c 35 2c 33 38 2c 31 2c 22 20 20 4d 65 73 73 61 |,5,38,1," Messa| 000014d0 67 65 73 22 29 0d 46 c8 0a 77 5f 6c 73 3d a3 0d |ges").F..w_ls=..| 000014e0 46 d2 05 e1 0d 4e 20 05 20 0d 4e 2a 0a dd f2 64 |F....N . .N*...d| 000014f0 65 73 6b 0d 4e 34 09 2a 44 45 53 4b 0d 4e 3e 25 |esk.N4.*DESK.N>%| 00001500 f2 77 69 6e 64 6f 77 28 30 2c 31 2c 31 38 2c 31 |.window(0,1,18,1| 00001510 36 2c 31 2c 22 20 20 49 63 6f 6e 20 4e 6f 2e 22 |6,1," Icon No."| 00001520 29 0d 4e 48 1b f2 77 69 6e 64 6f 77 28 31 2c 31 |).NH..window(1,1| 00001530 39 2c 34 2c 32 32 2c 31 2c 22 22 29 0d 4e 52 2d |9,4,22,1,"").NR-| 00001540 f2 77 69 6e 64 6f 77 28 32 2c 31 2c 32 35 2c 33 |.window(2,1,25,3| 00001550 32 2c 32 30 2c 22 20 20 20 20 20 20 20 20 20 4e |2,20," N| 00001560 6f 20 69 63 6f 6e 73 22 29 0d 4e 5c 1c f2 77 69 |o icons").N\..wi| 00001570 6e 64 6f 77 28 33 2c 31 2c 33 30 2c 33 32 2c 32 |ndow(3,1,30,32,2| 00001580 37 2c 22 22 29 0d 4e 61 1c f2 77 69 6e 64 6f 77 |7,"").Na..window| 00001590 28 34 2c 31 39 2c 31 38 2c 33 32 2c 37 2c 22 22 |(4,19,18,32,7,""| 000015a0 29 0d 4e 62 09 f2 77 5f 6d 65 0d 4e 66 08 ef 20 |).Nb..w_me.Nf.. | 000015b0 32 36 0d 4e 70 19 ef 20 32 33 2c 31 33 32 2c 2d |26.Np.. 23,132,-| 000015c0 31 3b 2d 31 3b 2d 31 3b 2d 31 3b 0d 4e 7a 15 ef |1;-1;-1;-1;.Nz..| 000015d0 20 32 33 2c 31 2c 30 3b 30 3b 30 3b 30 3b 30 3b | 23,1,0;0;0;0;0;| 000015e0 0d 4e 84 12 f2 69 63 6f 6e 28 33 32 2c 33 36 2c |.N...icon(32,36,| 000015f0 37 29 0d 4e 86 13 f2 69 63 6f 6e 28 33 33 2c 33 |7).N...icon(33,3| 00001600 36 2c 32 38 29 0d 4e 8e 0b f2 72 65 64 72 61 77 |6,28).N...redraw| 00001610 0d 4e de 05 e1 0d 4e e8 05 20 0d 4e f2 0e dd 20 |.N....N.. .N... | 00001620 a4 69 6e 77 28 77 25 29 0d 4e fc 49 e7 20 b1 3e |.inw(w%).N.I. .>| 00001630 3d 77 6e 6c 78 25 28 77 25 29 20 80 20 b1 3c 3d |=wnlx%(w%) . .<=| 00001640 77 6e 72 78 25 28 77 25 29 20 80 20 bc 3e 3d 77 |wnrx%(w%) . .>=w| 00001650 6e 74 79 25 28 77 25 29 20 80 20 bc 3c 3d 77 6e |nty%(w%) . .<=wn| 00001660 62 79 25 28 77 25 29 20 8c 20 3d b9 20 8b 20 3d |by%(w%) . =. . =| 00001670 a3 0d 4f 1a 05 20 0d 4f 24 0e dd 20 a4 63 68 6b |..O.. .O$.. .chk| 00001680 69 63 6f 6e 0d 4f 29 11 ea 20 4e 25 2c 58 25 3a |icon.O).. N%,X%:| 00001690 4e 25 3d 2d 31 0d 4f 2e 13 e3 20 58 25 3d 30 20 |N%=-1.O... X%=0 | 000016a0 b8 20 6e 69 63 25 2d 31 0d 4f 38 55 e7 20 28 b1 |. nic%-1.O8U. (.| 000016b0 3d 69 63 78 25 28 58 25 29 20 84 20 b1 3d 69 63 |=icx%(X%) . .=ic| 000016c0 78 25 28 58 25 29 2b 31 29 20 80 20 28 bc 3d 69 |x%(X%)+1) . (.=i| 000016d0 63 79 25 28 58 25 29 20 84 20 bc 3d 69 63 79 25 |cy%(X%) . .=icy%| 000016e0 28 58 25 29 2b 31 29 20 8c 20 4e 25 3d 69 63 6e |(X%)+1) . N%=icn| 000016f0 25 28 58 25 29 3a 58 25 3d 6e 69 63 25 0d 4f 42 |%(X%):X%=nic%.OB| 00001700 05 ed 0d 4f 4c 07 3d 4e 25 0d 50 14 05 20 0d 50 |...OL.=N%.P.. .P| 00001710 1e 23 dd f2 77 69 6e 64 6f 77 28 77 25 2c 6c 78 |.#..window(w%,lx| 00001720 25 2c 62 79 25 2c 72 78 25 2c 74 79 25 2c 41 24 |%,by%,rx%,ty%,A$| 00001730 29 0d 50 20 11 77 6e 6c 78 25 28 77 25 29 3d 6c |).P .wnlx%(w%)=l| 00001740 78 25 0d 50 22 11 77 6e 62 79 25 28 77 25 29 3d |x%.P".wnby%(w%)=| 00001750 62 79 25 0d 50 23 11 77 6e 6c 78 25 28 77 25 29 |by%.P#.wnlx%(w%)| 00001760 3d 6c 78 25 0d 50 24 11 77 6e 72 78 25 28 77 25 |=lx%.P$.wnrx%(w%| 00001770 29 3d 72 78 25 0d 50 26 11 77 6e 74 79 25 28 77 |)=rx%.P&.wnty%(w| 00001780 25 29 3d 74 79 25 0d 50 28 41 e7 20 41 24 3d 22 |%)=ty%.P(A. A$="| 00001790 22 20 8c 20 f2 6f 73 63 6c 69 28 22 57 49 4e 44 |" . .oscli("WIND| 000017a0 4f 57 20 22 2b c3 6c 78 25 2b 22 2c 22 2b c3 62 |OW "+.lx%+","+.b| 000017b0 79 25 2b 22 2c 22 2b c3 72 78 25 2b 22 2c 22 2b |y%+","+.rx%+","+| 000017c0 c3 74 79 25 29 3a e1 0d 50 32 3c f2 6f 73 63 6c |.ty%):..P2<.oscl| 000017d0 69 28 22 57 49 4e 44 4f 57 20 22 2b c3 6c 78 25 |i("WINDOW "+.lx%| 000017e0 2b 22 2c 22 2b c3 62 79 25 2b 22 2c 22 2b c3 72 |+","+.by%+","+.r| 000017f0 78 25 2b 22 2c 22 2b c3 74 79 25 2b 22 2c 22 2b |x%+","+.ty%+","+| 00001800 41 24 29 0d 50 3c 05 e1 0d 50 46 05 20 0d 50 50 |A$).P<...PF. .PP| 00001810 14 dd f2 69 63 6f 6e 28 4e 25 2c 58 25 2c 59 25 |...icon(N%,X%,Y%| 00001820 29 0d 50 5a 1f 69 63 78 25 28 6e 69 63 25 29 3d |).PZ.icx%(nic%)=| 00001830 58 25 3a 69 63 6e 25 28 6e 69 63 25 29 3d 4e 25 |X%:icn%(nic%)=N%| 00001840 0d 50 64 11 69 63 79 25 28 6e 69 63 25 29 3d 59 |.Pd.icy%(nic%)=Y| 00001850 25 0d 50 6e 35 f2 6f 73 63 6c 69 28 22 49 43 4f |%.Pn5.oscli("ICO| 00001860 4e 20 22 2b c3 4e 25 2b 22 2c 22 2b c3 58 25 2b |N "+.N%+","+.X%+| 00001870 22 2c 22 2b c3 59 25 29 3a 6e 69 63 25 3d 6e 69 |","+.Y%):nic%=ni| 00001880 63 25 2b 31 3a e1 0d 50 78 05 20 0d 50 82 0f dd |c%+1:..Px. .P...| 00001890 f2 6f 73 63 6c 69 28 41 24 29 0d 50 8c 0c 24 26 |.oscli(A$).P..$&| 000018a0 37 30 30 3d 41 24 0d 50 96 0b ea 20 58 25 2c 59 |700=A$.P... X%,Y| 000018b0 25 0d 50 a0 15 58 25 3d 30 3a 59 25 3d 37 3a d6 |%.P..X%=0:Y%=7:.| 000018c0 20 26 46 46 46 37 0d 50 aa 05 e1 0d 50 dc 05 20 | &FFF7.P....P.. | 000018d0 0d 50 e6 13 dd f2 64 72 77 28 58 25 2c 59 25 2c |.P....drw(X%,Y%,| 000018e0 49 25 29 0d 50 e7 23 e7 20 58 25 3c 30 20 84 20 |I%).P.#. X%<0 . | 000018f0 58 25 3e 36 20 84 20 59 25 3c 30 20 84 20 59 25 |X%>6 . Y%<0 . Y%| 00001900 3e 35 20 8c 20 e1 0d 50 eb 12 64 72 77 25 28 58 |>5 . ..P..drw%(X| 00001910 25 2c 59 25 29 3d 49 25 0d 50 f0 24 ef 20 33 31 |%,Y%)=I%.P.$. 31| 00001920 2c 58 25 2a 32 2b 77 6e 6c 78 25 28 34 29 2c 59 |,X%*2+wnlx%(4),Y| 00001930 25 2a 32 2b 77 6e 74 79 25 28 34 29 0d 50 fa 16 |%*2+wnty%(4).P..| 00001940 e7 20 49 25 3d 2d 31 20 8c 20 2a 49 43 4f 4e 20 |. I%=-1 . *ICON | 00001950 39 33 0d 50 fc 15 e7 20 49 25 3e 3d 30 20 8c 20 |93.P... I%>=0 . | 00001960 2a 49 43 4f 4e 20 30 0d 50 ff 08 ef 20 32 36 0d |*ICON 0.P... 26.| 00001970 51 04 05 e1 0d 75 30 05 20 0d 75 3a 0a dd f2 69 |Q....u0. .u:...i| 00001980 6e 69 74 0d 75 44 0a 6e 69 63 25 3d 30 0d 75 94 |nit.uD.nic%=0.u.| 00001990 05 e1 0d 75 f8 05 20 0d 76 02 0e dd f2 67 65 74 |...u.. .v....get| 000019a0 5f 63 6f 72 64 0d 76 0c 0e d6 20 67 65 74 5f 63 |_cord.v... get_c| 000019b0 6f 72 64 0d 76 11 0f dd f2 67 65 74 5f 63 6f 72 |ord.v....get_cor| 000019c0 64 31 0d 76 16 14 4d 58 25 3d 21 26 37 30 20 80 |d1.v..MX%=!&70 .| 000019d0 20 26 46 46 46 46 0d 76 20 0c 4d 59 25 3d 3f 26 | &FFFF.v .MY%=?&| 000019e0 37 32 0d 76 2a 05 e1 0d 76 34 05 20 0d 76 3e 0f |72.v*...v4. .v>.| 000019f0 dd a4 73 63 61 6e 5f 6b 65 79 73 0d 76 48 15 3d |..scan_keys.vH.=| 00001a00 28 3f 26 46 45 36 30 20 80 26 45 30 29 2f 33 32 |(?&FE60 .&E0)/32| 00001a10 0d 76 52 05 20 0d 76 5c 05 20 0d 76 66 0d dd a4 |.vR. .v\. .vf...| 00001a20 67 65 74 5f 69 6e 70 0d 76 70 08 ea 20 4b 25 0d |get_inp.vp.. K%.| 00001a30 76 7a 05 f5 0d 76 84 0e d6 20 6d 6f 76 65 5f 63 |vz...v... move_c| 00001a40 75 72 0d 76 8e 11 4b 25 3d a4 73 63 61 6e 5f 6b |ur.v..K%=.scan_k| 00001a50 65 79 73 0d 76 98 09 fd 4b 25 3c 37 0d 76 a2 0e |eys.v...K%<7.v..| 00001a60 f2 67 65 74 5f 63 6f 72 64 31 0d 76 ac 07 3d 4b |.get_cord1.v..=K| 00001a70 25 0d 79 18 05 20 0d 79 22 0d dd f2 65 72 72 28 |%.y.. .y"...err(| 00001a80 41 24 29 0d 79 27 07 ef 20 37 0d 79 2c 09 f2 77 |A$).y'.. 7.y,..w| 00001a90 5f 6d 65 0d 79 36 09 f1 27 27 41 24 0d 79 40 16 |_me.y6..''A$.y@.| 00001aa0 f1 22 50 72 65 73 73 20 61 20 62 75 74 74 6f 6e |."Press a button| 00001ab0 22 3b 0d 79 4a 0c f5 fd ac a6 2d 31 32 39 0d 79 |";.yJ.....-129.y| 00001ac0 54 09 f2 77 5f 6d 65 0d 79 5e 0a ef 20 32 36 3a |T..w_me.y^.. 26:| 00001ad0 e1 0d 7d 00 05 20 0d 7d 0a 09 ee 20 85 20 87 0d |..}.. .}... . ..| 00001ae0 7d 14 07 ef 20 37 0d 7d 1e 25 f2 77 69 6e 64 6f |}... 7.}.%.windo| 00001af0 77 28 35 2c 32 34 2c 35 2c 33 38 2c 31 2c 22 20 |w(5,24,5,38,1," | 00001b00 20 4d 65 73 73 61 67 65 73 22 29 0d 7d 28 07 f1 | Messages").}(..| 00001b10 27 3b 0d 7d 2d 13 ef 20 32 33 2c 31 2c 30 3b 30 |';.}-.. 23,1,0;0| 00001b20 3b 30 3b 30 3b 0d 7d 32 05 f6 0d 7d 37 0b f5 fd |;0;0;.}2...}7...| 00001b30 a6 2d 31 32 39 0d 7d 3c 17 f1 27 22 50 72 65 73 |.-129.}<..'"Pres| 00001b40 73 20 61 20 62 75 74 74 6f 6e 22 3b 0d 7d 46 0c |s a button";.}F.| 00001b50 f5 fd ac a6 2d 31 32 39 0d 7d 50 0d f2 77 5f 6d |....-129.}P..w_m| 00001b60 65 3a ef 32 36 0d 7d 64 0a e5 20 8d 64 68 43 0d |e:.26.}d.. .dhC.| 00001b70 ff |.| 00001b71