Home » Archimedes archive » Acorn Computing » 1994 05.adf » 9405 » Grafix/PINS
Grafix/PINS
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 » Archimedes archive » Acorn Computing » 1994 05.adf » 9405 |
Filename: | Grafix/PINS |
Read OK: | ✔ |
File size: | 192C bytes |
Load address: | 0000 |
Exec address: | 0000 |
File contents
10REM >PINS 20REM Acorn Computing 30REM by MAG & CAT 40ON ERROR MODE MODE:REPORT:PRINT" at ";ERL:END 50MODE7:OFF 60PRINT''''''"HAVE YOU ALLOCATED 288k" 70PRINT" FOR System Sprites?" 80PRINT'" (Press RETURN)" 90REPEATUNTILGET=13 100MODE13 110OFF 120O$="OS_SpriteOp" 130 140PROCdims 150PROCinit 160PROCloadem 170PROCsprites 180PROCinitgrab 190 200REPEAT 210PROCscreen 220REM loop------------------ 230REPEAT 240PROCkeys 250PRINTTAB(2,1)"Pin=";G%(W%);" " 260UNTILINKEY-91 270PROCinit 280UNTIL0 290REM --------------------- 300 310REM dims 320DEFPROCdims 330np%=12 340DIMP%(np%) 350DIMG%(600) 360DIMZ%(600) 370DIMR%(12) 380ENDPROC 390 400REM init 410DEFPROCinit 420erase%=8 430rect1%=0 440yadd%=0:xadd%=0 450num1%=0 460num2%=0 470copy%=0 480aa%=540 490bb%=940 500X%=60 510Y%=220 520OX%=X%:OY%=Y% 530M%=24 540t%=18 550W%=0 560G%()=0 570WC%=1 580ENDPROC 590 600REM screen 610DEFPROCscreen 620CLS 630FORJ%=224TO936STEP24 640FORI%=64TO520STEP24 650SYS O$,&222,S%,P%(0),I%,J%,0 660NEXT 670NEXT 680SYS O$,&222,S%,C%,X%,Y%,11 690ENDPROC 700 710REM" KEYS 720DEFPROCkeys 730IFINKEY-98ORINKEY-26PROCM(-M%,0) 740IFINKEY-67ORINKEY-122PROCM(M%,0) 750IFINKEY-80ORINKEY-58PROCM(0,M%) 760IFINKEY-105ORINKEY-42PROCM(0,-M%) 770CASE WC% OF 780WHEN 1: 790IFINKEY-52PROCrecord 800IFINKEY-66PROCanimate(12,0,-1) 810IFINKEY-17PROCanimate(0,12,1) 820IFINKEY-46PROCkeypush(0) 830IFINKEY-49PROCkeypush(1) 840IFINKEY-50PROCkeypush(2) 850IFINKEY-18PROCkeypush(3) 860IFINKEY-19PROCkeypush(4) 870IFINKEY-20PROCkeypush(5) 880IFINKEY-53PROCkeypush(6) 890IFINKEY-37PROCkeypush(7) 900IFINKEY-22PROCkeypush(8) 910IFINKEY-39PROCkeypush(9) 920IFINKEY-40PROCkeypush(10) 930IFINKEY-24PROCkeypush(11) 940IFINKEY-94PROCkeypush(12) 950IFINKEY-74PROCpush 960IFINKEY-99PROCpull 970IFINKEY-56PROCpicTake 980IFINKEY-106PROCcopy 990IFINKEY-82PROCsave 1000IFINKEY-87PROCload 1010WHEN 2: 1020IFINKEY-74ANDcopy%=1PROCfix(1):copy%=2:REPEATUNTILNOTINKEY-74 1030IFINKEY-74ANDcopy%=2PROCfix(2):copy%=3:REPEATUNTILNOTINKEY-74 1040IFINKEY-74ANDcopy%=3PROCcopyto:REPEATUNTILNOTINKEY-74 1050IFINKEY-90PROCuncopy 1060ENDCASE 1070ENDPROC 1080 1090REM move crosshair 1100DEFPROCM(x%,y%) 1110IFX%+x%<60ORX%+x%>516ENDPROC 1120IFY%+y%<220ORY%+y%>916ENDPROC 1130IFrect1%=1:IFcopy%=3GCOL3,3:RECTANGLEX%,Y%,((xadd%+1)*24),((yadd%+1)*24) 1140IFcopy%<3SYS O$,&222,S%,C%,X%,Y%,11 1150X%+=x%:Y%+=y% 1160W%=(X%-60)DIV24+((Y%-220)DIV24)*20 1170IFcopy%<3SYS O$,&222,S%,C%,X%,Y%,11 1180IFcopy%=3GCOL3,3:RECTANGLEX%,Y%,((xadd%+1)*24),((yadd%+1)*24):IFrect1%=0rect1%=1 1190IFINKEY-3ORINKEY-2TIME=0:REPEATUNTILTIME>2:ENDPROC 1200TIME=0:REPEATUNTILTIME>t% 1210ENDPROC 1220 1230REM +++++++++++++++++++++++++++++ 1240REM" LOAD SPRITEfile/SET UP AREA 1250DEFPROCloadem 1260 1270s$="<MAG$Dir>.PINSFILE" 1280file%=OPENIN(s$) 1290L%=EXT#file%+64 1300CLOSE#file% 1310DIM S% L% 1320S%!0=L% 1330SYS "OS_SpriteOp",256+9,S% 1340SYS "OS_SpriteOp",256+10,S%,s$ 1350ENDPROC 1360 1370REM SPRITES 1380DEFPROCsprites 1390FORI%=0TOnp% 1400PROCsetSprite("PIN"+STR$I%,P%(I%),a%,b%) 1410NEXT 1420PROCsetSprite("CROSSHAIR",C%,a%,b%) 1430PROCsetSprite("COPYHAIR",C2%,a%,b%) 1440PROCsetSprite("BLACKHAIR",CB%,a%,b%) 1450ENDPROC 1460 1470REM set sprites 1480DEFPROCsetSprite(s$,RETURN A%,RETURN W%,RETURN H%) 1490SYS "OS_SpriteOp",256+24,S%,s$ TO ,,A% 1500SYS "OS_SpriteOp",256+40,S%,s$ TO ,,,W%,H% 1510W%=W%*4:H%=H%*4 1520ENDPROC 1530 1540REM GRAB SPRITE AREA 1550DEFPROCinitgrab 1560g$="<MAG$Dir>.grab" 1570DIM g% 23000 1580g%!0=64000 1590g%!8=16 1600SYS "OS_SpriteOp",256+9,g% 1610ENDPROC 1620REM +++++++++++++++++++++++++++++ 1630 1640REM grab screen 1650DEFPROCgrab 1660SYS O$,&110,g%,g$,0,A%,B%,1276,892 1670SYS O$,256+24,g%,g$ TO ,,C% 1680SYS O$,256+40,g%,g$ TO ,,,W%,H% 1690ENDPROC 1700 1710REM push pin IN 1720DEFPROCpush 1730IFG%(W%)+1<(np%+1)G%(W%)+=1 1740 REM remove crosshair 1750SYS O$,&222,S%,C%,X%,Y%,11 1760SYS O$,&222,S%,P%(G%(W%)),X%+4,Y%+4,0 1770 REM put crosshair back 1780SYS O$,&222,S%,C%,X%,Y%,11 1790IFINKEY-3ENDPROC 1800TIME=0:REPEATUNTILTIME>t% 1810ENDPROC 1820 1830REM pull pin OUT 1840DEFPROCpull 1850IFG%(W%)-1>-1G%(W%)-=1 1860SYS O$,&222,S%,C%,X%,Y%,11 1870SYS O$,&222,S%,P%(G%(W%)),X%+4,Y%+4,0 1880SYS O$,&222,S%,C%,X%,Y%,11 1890IFINKEY-3TIME=0:REPEATUNTILTIME>2:ENDPROC 1900IFINKEY-3ENDPROC 1910TIME=0:REPEATUNTILTIME>t% 1920ENDPROC 1930 1940REM picture take 1950DEFPROCpicTake 1960SYS O$,&222,S%,C%,X%,Y%,11 1970SYS O$,&110,g%,g$,0,OX%,OY%,aa%,bb% 1980SYS O$,256+24,g%,g$ TO ,,p% 1990SYS O$,256+40,g%,g$ TO ,,,W%,H% 2000SYS O$,&222,S%,C%,X%,Y%,11 2010 2020SYS O$,&222,g%,p%,640,220,0 2030ENDPROC 2040 2050REM copy bits 2060DEFPROCcopy 2070PRINTTAB(2,26)"COPY" 2080WC%=2 2090copy%=1 2100SYS O$,&222,S%,C%,X%,Y%,11 2110OC%=C%:C%=C2% 2120SYS O$,&222,S%,C%,X%,Y%,11 2130ENDPROC 2140 2150REM fix copy area 2160DEFPROCfix(f%) 2170SYS O$,&222,S%,C%,X%,Y%,11 2180SYS O$,&222,S%,OC%,X%,Y%,8 2190SYS O$,&222,S%,C%,X%,Y%,11 2200IFf%=1num1%=W%:cx1%=X%:cy1%=Y%:ENDPROC 2210num2%=W%:cx2%=X%:cy2%=Y% 2220yadd%=ABS((num2%DIV20)-(num1%DIV20)) 2230xadd%=ABS((num2%MOD20)-(num1%MOD20)) 2240 2250IFcy2%<cy1%ANDcx2%>=cx1% THEN 2260 num1%=num1%-(yadd%*20) 2270 num2%=num2%+(yadd%*20) 2280ENDIF 2290 2300IFcy2%<cy1%ANDcx2%<cx1% THEN 2310 O2%=num2%:num2%=num1%:num1%=O2% 2320ENDIF 2330 2340IFcy2%>cy1%ANDcx2%<cx1% THEN 2350 num1%=num1%-(xadd%) 2360 num2%=num2%+(xadd%) 2370ENDIF 2380z%=0 2390FORJ%=0TOyadd% 2400FORI%=0TOxadd% 2410Z%(z%)=G%((num1%+I%)+(J%*20)) 2420z%+=1 2430NEXT 2440NEXT 2450ENDPROC 2460 2470REM uncopy (press delete key) 2480DEFPROCuncopy 2490IFcopy%=2 SYS O$,&222,S%,CB%,cx1%,cy1%,erase% 2500IFcopy%=3 THEN 2510 GCOL3,3:RECTANGLEX%,Y%,((xadd%+1)*24),((yadd%+1)*24):rect1%=0 2520 SYS O$,&222,S%,CB%,cx1%,cy1%,erase% 2530 SYS O$,&222,S%,CB%,cx2%,cy2%,erase% 2540ENDIF 2550WC%=1:C%=OC%:copy%=0 2560SYS O$,&222,S%,C%,X%,Y%,11 2570PRINTTAB(2,26)" " 2580ENDPROC 2590 2600REM insert copied piece 2610REM alter relevant G%(n) values 2620DEFPROCcopyto 2630GCOL3,3:RECTANGLEX%,Y%,((xadd%+1)*24),((yadd%+1)*24) 2640SYS O$,&222,S%,CB%,cx1%,cy1%,erase% 2650SYS O$,&222,S%,CB%,cx2%,cy2%,erase% 2660z%=0 2670FORJ%=0TOyadd% 2680FORI%=0TOxadd% 2690IFX%-20+(I%*24)<517 IFY%-20+(J%*24)<917 : SYS O$,&222,S%,P%(Z%(z%)),X%+4+(I%*24),Y%+4+(J%*24),0:G%(W%+I%+(J%*20))=Z%(z%) 2700z%+=1 2710NEXT 2720NEXT 2730GCOL3,3:RECTANGLEX%,Y%,((xadd%+1)*24),((yadd%+1)*24) 2740ENDPROC 2750 2760REM LOAD FILE 2770DEFPROCload 2780LOCALy% 2790y%=26 2800*FX21 2810PRINTTAB(2,y%)"LOAD FILE? (Y/N) ":yn$=GET$ 2820IFyn$<>"Y"PRINTTAB(2,y%)SPC23:ENDPROC 2830PRINTTAB(2,y%)SPC23 2840INPUTTAB(2,y%)"WHAT NAME? "name$ 2850PRINTTAB(2,y%)SPC23 2860file%=OPENIN("<MAG$Dir>."+name$) 2870FORI%=0TO599 2880INPUT#file%,G%(I%) 2890NEXT 2900CLOSE#file% 2910PROCdrawit 2920ENDPROC 2930 2940REM SAVE FILE 2950DEFPROCsave 2960LOCALy% 2970y%=26 2980SYS6,15 2990PRINTTAB(2,y%)"SAVE file? (Y/N) ":yn$=GET$ 3000IFyn$<>"Y"PRINTTAB(2,y%);SPC23:ENDPROC 3010PRINTTAB(2,y%)SPC23:INPUTTAB(2,y%)"WHAT NAME? "name$ 3020PRINTTAB(2,y%);SPC23 3030file%=OPENOUT("<MAG$Dir>."+name$) 3040FORI%=0TO599 3050PRINT#file%,G%(I%) 3060NEXT 3070CLOSE#file% 3080ENDPROC 3090 3100REM draw loaded in data 3110DEFPROCdrawit 3120SYS O$,&222,S%,C%,X%,Y%,11 3130w%=-1 3140FORJ%=224TO936STEP24 3150FORI%=64TO520STEP24 3160w%+=1 3170SYS O$,&222,S%,P%(G%(w%)),I%,J%,0 3180NEXT 3190NEXT 3200SYS O$,&222,S%,C%,X%,Y%,11 3210ENDPROC 3220 3230REM push pins using key presses 3240DEFPROCkeypush(n%) 3250SYS O$,&222,S%,C%,X%,Y%,11 3260SYS O$,&222,S%,P%(n%),X%+4,Y%+4,0:G%(W%)=n% 3270SYS O$,&222,S%,C%,X%,Y%,11 3280ENDPROC 3290 3300REM record 3310DEFPROCrecord 3320*SNEW 3330SYS O$,&222,S%,C%,X%,Y%,11 3340FORK%=0TO12 3350PROCget 3360PROCup 3370NEXT 3380SYS O$,&222,S%,C%,X%,Y%,11 3390ENDPROC 3400 3410REM pins ascend 3420DEFPROCup 3430o%=0 3440FORJ%=224TO936STEP24 3450FORI%=64TO520STEP24 3460IFG%(o%)>0G%(o%)-=1 3470SYS O$,&222,S%,P%(G%(o%)),I%,J%,0 3480o%+=1 3490NEXT 3500NEXT 3510ENDPROC 3520 3530REM playback 3540DEFPROCanimate(from%,to%,step%) 3550speed%=6 3560FORK%=from%TOto%STEPstep% 3570VDU23,27,0,K%| 3580PLOT&ED,640,220 3590TIME=0 3600REPEATUNTILTIME>speed% 3610NEXT 3620ENDPROC 3630 3640REM get sprite 3650DEFPROCget 3660MOVE60,220 3670MOVE BY 456,716 3680VDU23,27,1,K%| 3690VDU23,27,0,K%| 3700PLOT&ED,640,220 3710ENDPROC
� >PINS � Acorn Computing � by MAG & CAT (� � � �:�:�" at ";�:� 2�7:� <$�''''''"HAVE YOU ALLOCATED 288k" F�" FOR System Sprites?" P�'" (Press RETURN)" Z ���=13 d�13 n� xO$="OS_SpriteOp" � � �dims � �init ��loadem ��sprites � �initgrab � �� ��screen �� loop------------------ �� � �keys ��2,1)"Pin=";G%(W%);" " ��-91 �init �0 "� --------------------- , 6 � dims @ ��dims J np%=12 T�P%(np%) ^�G%(600) h�Z%(600) r�R%(12) |� � � � init � ��init �erase%=8 �rect1%=0 �yadd%=0:xadd%=0 �num1%=0 �num2%=0 �copy%=0 �aa%=540 �bb%=940 � X%=60 � Y%=220 OX%=X%:OY%=Y% M%=24 t%=18 &W%=0 0 G%()=0 : WC%=1 D� N X� screen b��screen l� v�J%=224�936�24 ��I%=64�520�24 �ș O$,&222,S%,P%(0),I%,J%,0 �� �� �ș O$,&222,S%,C%,X%,Y%,11 �� � ��" KEYS � ��keys ��-98��-26�M(-M%,0) ��-67��-122�M(M%,0) ��-80��-58�M(0,M%) ��-105��-42�M(0,-M%) Ȏ WC% � � 1: �-52�record �-66�animate(12,0,-1) *�-17�animate(0,12,1) 4�-46�keypush(0) >�-49�keypush(1) H�-50�keypush(2) R�-18�keypush(3) \�-19�keypush(4) f�-20�keypush(5) p�-53�keypush(6) z�-37�keypush(7) ��-22�keypush(8) ��-39�keypush(9) ��-40�keypush(10) ��-24�keypush(11) ��-94�keypush(12) ��-74�push ��-99�pull ��-56�picTake ��-106�copy ��-82�save ��-87�load �� 2: �(�-74�copy%=1�fix(1):copy%=2:����-74 (�-74�copy%=2�fix(2):copy%=3:����-74 �-74�copy%=3�copyto:����-74 �-90�uncopy $� .� 8 B� move crosshair L��M(x%,y%) V�X%+x%<60�X%+x%>516� `�Y%+y%<220�Y%+y%>916� j@�rect1%=1:�copy%=3�3,3:ȓX%,Y%,((xadd%+1)*24),((yadd%+1)*24) t%�copy%<3ș O$,&222,S%,C%,X%,Y%,11 ~X%+=x%:Y%+=y% �"W%=(X%-60)�24+((Y%-220)�24)*20 �%�copy%<3ș O$,&222,S%,C%,X%,Y%,11 �H�copy%=3�3,3:ȓX%,Y%,((xadd%+1)*24),((yadd%+1)*24):�rect1%=0rect1%=1 ��-3��-2�=0:���>2:� ��=0:���>t% �� � �#� +++++++++++++++++++++++++++++ �"�" LOAD SPRITEfile/SET UP AREA ���loadem � �s$="<MAG$Dir>.PINSFILE" file%=�(s$) L%=�#file%+64 �#file% � S% L% (S%!0=L% 2ș "OS_SpriteOp",256+9,S% <!ș "OS_SpriteOp",256+10,S%,s$ F� P Z � SPRITES d ��sprites n �I%=0�np% x&�setSprite("PIN"+�I%,P%(I%),a%,b%) �� �$�setSprite("CROSSHAIR",C%,a%,b%) �$�setSprite("COPYHAIR",C2%,a%,b%) �%�setSprite("BLACKHAIR",CB%,a%,b%) �� � �� set sprites �"��setSprite(s$,� A%,� W%,� H%) �(ș "OS_SpriteOp",256+24,S%,s$ � ,,A% �,ș "OS_SpriteOp",256+40,S%,s$ � ,,,W%,H% �W%=W%*4:H%=H%*4 �� � � GRAB SPRITE AREA ��initgrab g$="<MAG$Dir>.grab" "� g% 23000 ,g%!0=64000 6g%!8=16 @ș "OS_SpriteOp",256+9,g% J� T#� +++++++++++++++++++++++++++++ ^ h� grab screen r ��grab |%ș O$,&110,g%,g$,0,A%,B%,1276,892 �ș O$,256+24,g%,g$ � ,,C% �!ș O$,256+40,g%,g$ � ,,,W%,H% �� � �� push pin IN � ��push ��G%(W%)+1<(np%+1)G%(W%)+=1 � � remove crosshair �ș O$,&222,S%,C%,X%,Y%,11 �(ș O$,&222,S%,P%(G%(W%)),X%+4,Y%+4,0 � � put crosshair back �ș O$,&222,S%,C%,X%,Y%,11 � �-3� �=0:���>t% � &� pull pin OUT 0 ��pull :�G%(W%)-1>-1G%(W%)-=1 Dș O$,&222,S%,C%,X%,Y%,11 N(ș O$,&222,S%,P%(G%(W%)),X%+4,Y%+4,0 Xș O$,&222,S%,C%,X%,Y%,11 b�-3�=0:���>2:� l �-3� v�=0:���>t% �� � �� picture take � ��picTake �ș O$,&222,S%,C%,X%,Y%,11 �&ș O$,&110,g%,g$,0,OX%,OY%,aa%,bb% �ș O$,256+24,g%,g$ � ,,p% �!ș O$,256+40,g%,g$ � ,,,W%,H% �ș O$,&222,S%,C%,X%,Y%,11 � �ș O$,&222,g%,p%,640,220,0 �� � � copy bits ��copy �2,26)"COPY" WC%=2 *copy%=1 4ș O$,&222,S%,C%,X%,Y%,11 >OC%=C%:C%=C2% Hș O$,&222,S%,C%,X%,Y%,11 R� \ f� fix copy area p ��fix(f%) zș O$,&222,S%,C%,X%,Y%,11 �ș O$,&222,S%,OC%,X%,Y%,8 �ș O$,&222,S%,C%,X%,Y%,11 �#�f%=1num1%=W%:cx1%=X%:cy1%=Y%:� �num2%=W%:cx2%=X%:cy2%=Y% �"yadd%=�((num2%�20)-(num1%�20)) �"xadd%=�((num2%�20)-(num1%�20)) � ��cy2%<cy1%�cx2%>=cx1% � � num1%=num1%-(yadd%*20) � num2%=num2%+(yadd%*20) �� � ��cy2%<cy1%�cx2%<cx1% � $ O2%=num2%:num2%=num1%:num1%=O2% � $�cy2%>cy1%�cx2%<cx1% � . num1%=num1%-(xadd%) 8 num2%=num2%+(xadd%) B� Lz%=0 V�J%=0�yadd% `�I%=0�xadd% j!Z%(z%)=G%((num1%+I%)+(J%*20)) t z%+=1 ~� �� �� � �� uncopy (press delete key) ���uncopy �/�copy%=2 ș O$,&222,S%,CB%,cx1%,cy1%,erase% ��copy%=3 � �8 �3,3:ȓX%,Y%,((xadd%+1)*24),((yadd%+1)*24):rect1%=0 �' ș O$,&222,S%,CB%,cx1%,cy1%,erase% �' ș O$,&222,S%,CB%,cx2%,cy2%,erase% �� �WC%=1:C%=OC%:copy%=0 ș O$,&222,S%,C%,X%,Y%,11 �2,26)" " � (� insert copied piece 2!� alter relevant G%(n) values <��copyto F.�3,3:ȓX%,Y%,((xadd%+1)*24),((yadd%+1)*24) P&ș O$,&222,S%,CB%,cx1%,cy1%,erase% Z&ș O$,&222,S%,CB%,cx2%,cy2%,erase% dz%=0 n�J%=0�yadd% x�I%=0�xadd% �y�X%-20+(I%*24)<517 �Y%-20+(J%*24)<917 : ș O$,&222,S%,P%(Z%(z%)),X%+4+(I%*24),Y%+4+(J%*24),0:G%(W%+I%+(J%*20))=Z%(z%) � z%+=1 �� �� �.�3,3:ȓX%,Y%,((xadd%+1)*24),((yadd%+1)*24) �� � �� LOAD FILE � ��load ��y% � y%=26 � *FX21 �$�2,y%)"LOAD FILE? (Y/N) ":yn$=� �yn$<>"Y"�2,y%)�23:� �2,y%)�23 �2,y%)"WHAT NAME? "name$ "�2,y%)�23 ,file%=�("<MAG$Dir>."+name$) 6 �I%=0�599 @�#file%,G%(I%) J� T�#file% ^�drawit h� r |� SAVE FILE � ��save ��y% � y%=26 � ș6,15 �$�2,y%)"SAVE file? (Y/N) ":yn$=� ��yn$<>"Y"�2,y%);�23:� �(�2,y%)�23:�2,y%)"WHAT NAME? "name$ ��2,y%);�23 �file%=�("<MAG$Dir>."+name$) � �I%=0�599 ��#file%,G%(I%) �� ��#file% � � draw loaded in data &��drawit 0ș O$,&222,S%,C%,X%,Y%,11 : w%=-1 D�J%=224�936�24 N�I%=64�520�24 X w%+=1 b$ș O$,&222,S%,P%(G%(w%)),I%,J%,0 l� v� �ș O$,&222,S%,C%,X%,Y%,11 �� � �!� push pins using key presses ���keypush(n%) �ș O$,&222,S%,C%,X%,Y%,11 �.ș O$,&222,S%,P%(n%),X%+4,Y%+4,0:G%(W%)=n% �ș O$,&222,S%,C%,X%,Y%,11 �� � �� record ���record � *SNEW ș O$,&222,S%,C%,X%,Y%,11 �K%=0�12 �get �up *� 4ș O$,&222,S%,C%,X%,Y%,11 >� H R� pins ascend \��up fo%=0 p�J%=224�936�24 z�I%=64�520�24 ��G%(o%)>0G%(o%)-=1 �$ș O$,&222,S%,P%(G%(o%)),I%,J%,0 � o%+=1 �� �� �� � �� playback ���animate(from%,to%,step%) �speed%=6 ��K%=from%�to%�step% ��23,27,0,K%| ��&ED,640,220 �=0 ���>speed% � $� . 8� get sprite B ��get L�60,220 V� BY 456,716 `�23,27,1,K%| j�23,27,0,K%| t�&ED,640,220 ~� �
00000000 0d 00 0a 0b f4 20 3e 50 49 4e 53 0d 00 14 15 f4 |..... >PINS.....| 00000010 20 41 63 6f 72 6e 20 43 6f 6d 70 75 74 69 6e 67 | Acorn Computing| 00000020 0d 00 1e 12 f4 20 62 79 20 4d 41 47 20 26 20 43 |..... by MAG & C| 00000030 41 54 0d 00 28 19 ee 20 85 20 eb 20 eb 3a f6 3a |AT..(.. . . .:.:| 00000040 f1 22 20 61 74 20 22 3b 9e 3a e0 0d 00 32 08 eb |." at ";.:...2..| 00000050 37 3a 87 0d 00 3c 24 f1 27 27 27 27 27 27 22 48 |7:...<$.''''''"H| 00000060 41 56 45 20 59 4f 55 20 41 4c 4c 4f 43 41 54 45 |AVE YOU ALLOCATE| 00000070 44 20 32 38 38 6b 22 0d 00 46 1c f1 22 20 20 46 |D 288k"..F.." F| 00000080 4f 52 20 53 79 73 74 65 6d 20 53 70 72 69 74 65 |OR System Sprite| 00000090 73 3f 22 0d 00 50 1a f1 27 22 20 20 20 20 28 50 |s?"..P..'" (P| 000000a0 72 65 73 73 20 52 45 54 55 52 4e 29 22 0d 00 5a |ress RETURN)"..Z| 000000b0 0a f5 fd a5 3d 31 33 0d 00 64 07 eb 31 33 0d 00 |....=13..d..13..| 000000c0 6e 05 87 0d 00 78 14 4f 24 3d 22 4f 53 5f 53 70 |n....x.O$="OS_Sp| 000000d0 72 69 74 65 4f 70 22 0d 00 82 04 0d 00 8c 09 f2 |riteOp".........| 000000e0 64 69 6d 73 0d 00 96 09 f2 69 6e 69 74 0d 00 a0 |dims.....init...| 000000f0 0b f2 6c 6f 61 64 65 6d 0d 00 aa 0c f2 73 70 72 |..loadem.....spr| 00000100 69 74 65 73 0d 00 b4 0d f2 69 6e 69 74 67 72 61 |ites.....initgra| 00000110 62 0d 00 be 04 0d 00 c8 05 f5 0d 00 d2 0b f2 73 |b..............s| 00000120 63 72 65 65 6e 0d 00 dc 1c f4 20 6c 6f 6f 70 2d |creen..... loop-| 00000130 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d |----------------| 00000140 2d 0d 00 e6 05 f5 0d 00 f0 09 f2 6b 65 79 73 0d |-..........keys.| 00000150 00 fa 1b f1 8a 32 2c 31 29 22 50 69 6e 3d 22 3b |.....2,1)"Pin=";| 00000160 47 25 28 57 25 29 3b 22 20 22 0d 01 04 09 fd a6 |G%(W%);" "......| 00000170 2d 39 31 0d 01 0e 09 f2 69 6e 69 74 0d 01 18 06 |-91.....init....| 00000180 fd 30 0d 01 22 1b f4 20 2d 2d 2d 2d 2d 2d 2d 2d |.0..".. --------| 00000190 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0d 01 2c |-------------..,| 000001a0 04 0d 01 36 0a f4 20 64 69 6d 73 0d 01 40 0a dd |...6.. dims..@..| 000001b0 f2 64 69 6d 73 0d 01 4a 0a 6e 70 25 3d 31 32 0d |.dims..J.np%=12.| 000001c0 01 54 0c de 50 25 28 6e 70 25 29 0d 01 5e 0c de |.T..P%(np%)..^..| 000001d0 47 25 28 36 30 30 29 0d 01 68 0c de 5a 25 28 36 |G%(600)..h..Z%(6| 000001e0 30 30 29 0d 01 72 0b de 52 25 28 31 32 29 0d 01 |00)..r..R%(12)..| 000001f0 7c 05 e1 0d 01 86 04 0d 01 90 0a f4 20 69 6e 69 ||........... ini| 00000200 74 0d 01 9a 0a dd f2 69 6e 69 74 0d 01 a4 0c 65 |t......init....e| 00000210 72 61 73 65 25 3d 38 0d 01 ae 0c 72 65 63 74 31 |rase%=8....rect1| 00000220 25 3d 30 0d 01 b8 13 79 61 64 64 25 3d 30 3a 78 |%=0....yadd%=0:x| 00000230 61 64 64 25 3d 30 0d 01 c2 0b 6e 75 6d 31 25 3d |add%=0....num1%=| 00000240 30 0d 01 cc 0b 6e 75 6d 32 25 3d 30 0d 01 d6 0b |0....num2%=0....| 00000250 63 6f 70 79 25 3d 30 0d 01 e0 0b 61 61 25 3d 35 |copy%=0....aa%=5| 00000260 34 30 0d 01 ea 0b 62 62 25 3d 39 34 30 0d 01 f4 |40....bb%=940...| 00000270 09 58 25 3d 36 30 0d 01 fe 0a 59 25 3d 32 32 30 |.X%=60....Y%=220| 00000280 0d 02 08 11 4f 58 25 3d 58 25 3a 4f 59 25 3d 59 |....OX%=X%:OY%=Y| 00000290 25 0d 02 12 09 4d 25 3d 32 34 0d 02 1c 09 74 25 |%....M%=24....t%| 000002a0 3d 31 38 0d 02 26 08 57 25 3d 30 0d 02 30 0a 47 |=18..&.W%=0..0.G| 000002b0 25 28 29 3d 30 0d 02 3a 09 57 43 25 3d 31 0d 02 |%()=0..:.WC%=1..| 000002c0 44 05 e1 0d 02 4e 04 0d 02 58 0c f4 20 73 63 72 |D....N...X.. scr| 000002d0 65 65 6e 0d 02 62 0c dd f2 73 63 72 65 65 6e 0d |een..b...screen.| 000002e0 02 6c 05 db 0d 02 76 12 e3 4a 25 3d 32 32 34 b8 |.l....v..J%=224.| 000002f0 39 33 36 88 32 34 0d 02 80 11 e3 49 25 3d 36 34 |936.24.....I%=64| 00000300 b8 35 32 30 88 32 34 0d 02 8a 1f c8 99 20 4f 24 |.520.24...... O$| 00000310 2c 26 32 32 32 2c 53 25 2c 50 25 28 30 29 2c 49 |,&222,S%,P%(0),I| 00000320 25 2c 4a 25 2c 30 0d 02 94 05 ed 0d 02 9e 05 ed |%,J%,0..........| 00000330 0d 02 a8 1d c8 99 20 4f 24 2c 26 32 32 32 2c 53 |...... O$,&222,S| 00000340 25 2c 43 25 2c 58 25 2c 59 25 2c 31 31 0d 02 b2 |%,C%,X%,Y%,11...| 00000350 05 e1 0d 02 bc 04 0d 02 c6 0b f4 22 20 4b 45 59 |..........." KEY| 00000360 53 0d 02 d0 0a dd f2 6b 65 79 73 0d 02 da 17 e7 |S......keys.....| 00000370 a6 2d 39 38 84 a6 2d 32 36 f2 4d 28 2d 4d 25 2c |.-98..-26.M(-M%,| 00000380 30 29 0d 02 e4 17 e7 a6 2d 36 37 84 a6 2d 31 32 |0)......-67..-12| 00000390 32 f2 4d 28 4d 25 2c 30 29 0d 02 ee 16 e7 a6 2d |2.M(M%,0)......-| 000003a0 38 30 84 a6 2d 35 38 f2 4d 28 30 2c 4d 25 29 0d |80..-58.M(0,M%).| 000003b0 02 f8 18 e7 a6 2d 31 30 35 84 a6 2d 34 32 f2 4d |.....-105..-42.M| 000003c0 28 30 2c 2d 4d 25 29 0d 03 02 0c c8 8e 20 57 43 |(0,-M%)...... WC| 000003d0 25 20 ca 0d 03 0c 08 c9 20 31 3a 0d 03 16 10 e7 |% ...... 1:.....| 000003e0 a6 2d 35 32 f2 72 65 63 6f 72 64 0d 03 20 1a e7 |.-52.record.. ..| 000003f0 a6 2d 36 36 f2 61 6e 69 6d 61 74 65 28 31 32 2c |.-66.animate(12,| 00000400 30 2c 2d 31 29 0d 03 2a 19 e7 a6 2d 31 37 f2 61 |0,-1)..*...-17.a| 00000410 6e 69 6d 61 74 65 28 30 2c 31 32 2c 31 29 0d 03 |nimate(0,12,1)..| 00000420 34 14 e7 a6 2d 34 36 f2 6b 65 79 70 75 73 68 28 |4...-46.keypush(| 00000430 30 29 0d 03 3e 14 e7 a6 2d 34 39 f2 6b 65 79 70 |0)..>...-49.keyp| 00000440 75 73 68 28 31 29 0d 03 48 14 e7 a6 2d 35 30 f2 |ush(1)..H...-50.| 00000450 6b 65 79 70 75 73 68 28 32 29 0d 03 52 14 e7 a6 |keypush(2)..R...| 00000460 2d 31 38 f2 6b 65 79 70 75 73 68 28 33 29 0d 03 |-18.keypush(3)..| 00000470 5c 14 e7 a6 2d 31 39 f2 6b 65 79 70 75 73 68 28 |\...-19.keypush(| 00000480 34 29 0d 03 66 14 e7 a6 2d 32 30 f2 6b 65 79 70 |4)..f...-20.keyp| 00000490 75 73 68 28 35 29 0d 03 70 14 e7 a6 2d 35 33 f2 |ush(5)..p...-53.| 000004a0 6b 65 79 70 75 73 68 28 36 29 0d 03 7a 14 e7 a6 |keypush(6)..z...| 000004b0 2d 33 37 f2 6b 65 79 70 75 73 68 28 37 29 0d 03 |-37.keypush(7)..| 000004c0 84 14 e7 a6 2d 32 32 f2 6b 65 79 70 75 73 68 28 |....-22.keypush(| 000004d0 38 29 0d 03 8e 14 e7 a6 2d 33 39 f2 6b 65 79 70 |8)......-39.keyp| 000004e0 75 73 68 28 39 29 0d 03 98 15 e7 a6 2d 34 30 f2 |ush(9)......-40.| 000004f0 6b 65 79 70 75 73 68 28 31 30 29 0d 03 a2 15 e7 |keypush(10).....| 00000500 a6 2d 32 34 f2 6b 65 79 70 75 73 68 28 31 31 29 |.-24.keypush(11)| 00000510 0d 03 ac 15 e7 a6 2d 39 34 f2 6b 65 79 70 75 73 |......-94.keypus| 00000520 68 28 31 32 29 0d 03 b6 0e e7 a6 2d 37 34 f2 70 |h(12)......-74.p| 00000530 75 73 68 0d 03 c0 0e e7 a6 2d 39 39 f2 70 75 6c |ush......-99.pul| 00000540 6c 0d 03 ca 11 e7 a6 2d 35 36 f2 70 69 63 54 61 |l......-56.picTa| 00000550 6b 65 0d 03 d4 0f e7 a6 2d 31 30 36 f2 63 6f 70 |ke......-106.cop| 00000560 79 0d 03 de 0e e7 a6 2d 38 32 f2 73 61 76 65 0d |y......-82.save.| 00000570 03 e8 0e e7 a6 2d 38 37 f2 6c 6f 61 64 0d 03 f2 |.....-87.load...| 00000580 08 c9 20 32 3a 0d 03 fc 28 e7 a6 2d 37 34 80 63 |.. 2:...(..-74.c| 00000590 6f 70 79 25 3d 31 f2 66 69 78 28 31 29 3a 63 6f |opy%=1.fix(1):co| 000005a0 70 79 25 3d 32 3a f5 fd ac a6 2d 37 34 0d 04 06 |py%=2:....-74...| 000005b0 28 e7 a6 2d 37 34 80 63 6f 70 79 25 3d 32 f2 66 |(..-74.copy%=2.f| 000005c0 69 78 28 32 29 3a 63 6f 70 79 25 3d 33 3a f5 fd |ix(2):copy%=3:..| 000005d0 ac a6 2d 37 34 0d 04 10 20 e7 a6 2d 37 34 80 63 |..-74... ..-74.c| 000005e0 6f 70 79 25 3d 33 f2 63 6f 70 79 74 6f 3a f5 fd |opy%=3.copyto:..| 000005f0 ac a6 2d 37 34 0d 04 1a 10 e7 a6 2d 39 30 f2 75 |..-74......-90.u| 00000600 6e 63 6f 70 79 0d 04 24 05 cb 0d 04 2e 05 e1 0d |ncopy..$........| 00000610 04 38 04 0d 04 42 14 f4 20 6d 6f 76 65 20 63 72 |.8...B.. move cr| 00000620 6f 73 73 68 61 69 72 0d 04 4c 0e dd f2 4d 28 78 |osshair..L...M(x| 00000630 25 2c 79 25 29 0d 04 56 18 e7 58 25 2b 78 25 3c |%,y%)..V..X%+x%<| 00000640 36 30 84 58 25 2b 78 25 3e 35 31 36 e1 0d 04 60 |60.X%+x%>516...`| 00000650 19 e7 59 25 2b 79 25 3c 32 32 30 84 59 25 2b 79 |..Y%+y%<220.Y%+y| 00000660 25 3e 39 31 36 e1 0d 04 6a 40 e7 72 65 63 74 31 |%>916...j@.rect1| 00000670 25 3d 31 3a e7 63 6f 70 79 25 3d 33 e6 33 2c 33 |%=1:.copy%=3.3,3| 00000680 3a c8 93 58 25 2c 59 25 2c 28 28 78 61 64 64 25 |:..X%,Y%,((xadd%| 00000690 2b 31 29 2a 32 34 29 2c 28 28 79 61 64 64 25 2b |+1)*24),((yadd%+| 000006a0 31 29 2a 32 34 29 0d 04 74 25 e7 63 6f 70 79 25 |1)*24)..t%.copy%| 000006b0 3c 33 c8 99 20 4f 24 2c 26 32 32 32 2c 53 25 2c |<3.. O$,&222,S%,| 000006c0 43 25 2c 58 25 2c 59 25 2c 31 31 0d 04 7e 11 58 |C%,X%,Y%,11..~.X| 000006d0 25 2b 3d 78 25 3a 59 25 2b 3d 79 25 0d 04 88 22 |%+=x%:Y%+=y%..."| 000006e0 57 25 3d 28 58 25 2d 36 30 29 81 32 34 2b 28 28 |W%=(X%-60).24+((| 000006f0 59 25 2d 32 32 30 29 81 32 34 29 2a 32 30 0d 04 |Y%-220).24)*20..| 00000700 92 25 e7 63 6f 70 79 25 3c 33 c8 99 20 4f 24 2c |.%.copy%<3.. O$,| 00000710 26 32 32 32 2c 53 25 2c 43 25 2c 58 25 2c 59 25 |&222,S%,C%,X%,Y%| 00000720 2c 31 31 0d 04 9c 48 e7 63 6f 70 79 25 3d 33 e6 |,11...H.copy%=3.| 00000730 33 2c 33 3a c8 93 58 25 2c 59 25 2c 28 28 78 61 |3,3:..X%,Y%,((xa| 00000740 64 64 25 2b 31 29 2a 32 34 29 2c 28 28 79 61 64 |dd%+1)*24),((yad| 00000750 64 25 2b 31 29 2a 32 34 29 3a e7 72 65 63 74 31 |d%+1)*24):.rect1| 00000760 25 3d 30 72 65 63 74 31 25 3d 31 0d 04 a6 17 e7 |%=0rect1%=1.....| 00000770 a6 2d 33 84 a6 2d 32 91 3d 30 3a f5 fd 91 3e 32 |.-3..-2.=0:...>2| 00000780 3a e1 0d 04 b0 0e d1 3d 30 3a f5 fd 91 3e 74 25 |:......=0:...>t%| 00000790 0d 04 ba 05 e1 0d 04 c4 04 0d 04 ce 23 f4 20 2b |............#. +| 000007a0 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b |++++++++++++++++| 000007b0 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 0d 04 d8 22 |++++++++++++..."| 000007c0 f4 22 20 4c 4f 41 44 20 53 50 52 49 54 45 66 69 |." LOAD SPRITEfi| 000007d0 6c 65 2f 53 45 54 20 55 50 20 41 52 45 41 0d 04 |le/SET UP AREA..| 000007e0 e2 0c dd f2 6c 6f 61 64 65 6d 0d 04 ec 04 0d 04 |....loadem......| 000007f0 f6 1b 73 24 3d 22 3c 4d 41 47 24 44 69 72 3e 2e |..s$="<MAG$Dir>.| 00000800 50 49 4e 53 46 49 4c 45 22 0d 05 00 0f 66 69 6c |PINSFILE"....fil| 00000810 65 25 3d 8e 28 73 24 29 0d 05 0a 11 4c 25 3d a2 |e%=.(s$)....L%=.| 00000820 23 66 69 6c 65 25 2b 36 34 0d 05 14 0b d9 23 66 |#file%+64.....#f| 00000830 69 6c 65 25 0d 05 1e 0b de 20 53 25 20 4c 25 0d |ile%..... S% L%.| 00000840 05 28 0b 53 25 21 30 3d 4c 25 0d 05 32 1d c8 99 |.(.S%!0=L%..2...| 00000850 20 22 4f 53 5f 53 70 72 69 74 65 4f 70 22 2c 32 | "OS_SpriteOp",2| 00000860 35 36 2b 39 2c 53 25 0d 05 3c 21 c8 99 20 22 4f |56+9,S%..<!.. "O| 00000870 53 5f 53 70 72 69 74 65 4f 70 22 2c 32 35 36 2b |S_SpriteOp",256+| 00000880 31 30 2c 53 25 2c 73 24 0d 05 46 05 e1 0d 05 50 |10,S%,s$..F....P| 00000890 04 0d 05 5a 0d f4 20 53 50 52 49 54 45 53 0d 05 |...Z.. SPRITES..| 000008a0 64 0d dd f2 73 70 72 69 74 65 73 0d 05 6e 0d e3 |d...sprites..n..| 000008b0 49 25 3d 30 b8 6e 70 25 0d 05 78 26 f2 73 65 74 |I%=0.np%..x&.set| 000008c0 53 70 72 69 74 65 28 22 50 49 4e 22 2b c3 49 25 |Sprite("PIN"+.I%| 000008d0 2c 50 25 28 49 25 29 2c 61 25 2c 62 25 29 0d 05 |,P%(I%),a%,b%)..| 000008e0 82 05 ed 0d 05 8c 24 f2 73 65 74 53 70 72 69 74 |......$.setSprit| 000008f0 65 28 22 43 52 4f 53 53 48 41 49 52 22 2c 43 25 |e("CROSSHAIR",C%| 00000900 2c 61 25 2c 62 25 29 0d 05 96 24 f2 73 65 74 53 |,a%,b%)...$.setS| 00000910 70 72 69 74 65 28 22 43 4f 50 59 48 41 49 52 22 |prite("COPYHAIR"| 00000920 2c 43 32 25 2c 61 25 2c 62 25 29 0d 05 a0 25 f2 |,C2%,a%,b%)...%.| 00000930 73 65 74 53 70 72 69 74 65 28 22 42 4c 41 43 4b |setSprite("BLACK| 00000940 48 41 49 52 22 2c 43 42 25 2c 61 25 2c 62 25 29 |HAIR",CB%,a%,b%)| 00000950 0d 05 aa 05 e1 0d 05 b4 04 0d 05 be 11 f4 20 73 |.............. s| 00000960 65 74 20 73 70 72 69 74 65 73 0d 05 c8 22 dd f2 |et sprites..."..| 00000970 73 65 74 53 70 72 69 74 65 28 73 24 2c f8 20 41 |setSprite(s$,. A| 00000980 25 2c f8 20 57 25 2c f8 20 48 25 29 0d 05 d2 28 |%,. W%,. H%)...(| 00000990 c8 99 20 22 4f 53 5f 53 70 72 69 74 65 4f 70 22 |.. "OS_SpriteOp"| 000009a0 2c 32 35 36 2b 32 34 2c 53 25 2c 73 24 20 b8 20 |,256+24,S%,s$ . | 000009b0 2c 2c 41 25 0d 05 dc 2c c8 99 20 22 4f 53 5f 53 |,,A%...,.. "OS_S| 000009c0 70 72 69 74 65 4f 70 22 2c 32 35 36 2b 34 30 2c |priteOp",256+40,| 000009d0 53 25 2c 73 24 20 b8 20 2c 2c 2c 57 25 2c 48 25 |S%,s$ . ,,,W%,H%| 000009e0 0d 05 e6 13 57 25 3d 57 25 2a 34 3a 48 25 3d 48 |....W%=W%*4:H%=H| 000009f0 25 2a 34 0d 05 f0 05 e1 0d 05 fa 04 0d 06 04 17 |%*4.............| 00000a00 f4 20 20 47 52 41 42 20 53 50 52 49 54 45 20 41 |. GRAB SPRITE A| 00000a10 52 45 41 0d 06 0e 0e dd f2 69 6e 69 74 67 72 61 |REA......initgra| 00000a20 62 0d 06 18 17 67 24 3d 22 3c 4d 41 47 24 44 69 |b....g$="<MAG$Di| 00000a30 72 3e 2e 67 72 61 62 22 0d 06 22 0e de 20 67 25 |r>.grab"..".. g%| 00000a40 20 32 33 30 30 30 0d 06 2c 0e 67 25 21 30 3d 36 | 23000..,.g%!0=6| 00000a50 34 30 30 30 0d 06 36 0b 67 25 21 38 3d 31 36 0d |4000..6.g%!8=16.| 00000a60 06 40 1d c8 99 20 22 4f 53 5f 53 70 72 69 74 65 |.@... "OS_Sprite| 00000a70 4f 70 22 2c 32 35 36 2b 39 2c 67 25 0d 06 4a 05 |Op",256+9,g%..J.| 00000a80 e1 0d 06 54 23 f4 20 2b 2b 2b 2b 2b 2b 2b 2b 2b |...T#. +++++++++| 00000a90 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b |++++++++++++++++| 00000aa0 2b 2b 2b 2b 0d 06 5e 04 0d 06 68 11 f4 20 67 72 |++++..^...h.. gr| 00000ab0 61 62 20 73 63 72 65 65 6e 0d 06 72 0a dd f2 67 |ab screen..r...g| 00000ac0 72 61 62 0d 06 7c 25 c8 99 20 4f 24 2c 26 31 31 |rab..|%.. O$,&11| 00000ad0 30 2c 67 25 2c 67 24 2c 30 2c 41 25 2c 42 25 2c |0,g%,g$,0,A%,B%,| 00000ae0 31 32 37 36 2c 38 39 32 0d 06 86 1d c8 99 20 4f |1276,892...... O| 00000af0 24 2c 32 35 36 2b 32 34 2c 67 25 2c 67 24 20 b8 |$,256+24,g%,g$ .| 00000b00 20 2c 2c 43 25 0d 06 90 21 c8 99 20 4f 24 2c 32 | ,,C%...!.. O$,2| 00000b10 35 36 2b 34 30 2c 67 25 2c 67 24 20 b8 20 2c 2c |56+40,g%,g$ . ,,| 00000b20 2c 57 25 2c 48 25 0d 06 9a 05 e1 0d 06 a4 04 0d |,W%,H%..........| 00000b30 06 ae 11 f4 20 70 75 73 68 20 70 69 6e 20 49 4e |.... push pin IN| 00000b40 0d 06 b8 0a dd f2 70 75 73 68 0d 06 c2 1e e7 47 |......push.....G| 00000b50 25 28 57 25 29 2b 31 3c 28 6e 70 25 2b 31 29 47 |%(W%)+1<(np%+1)G| 00000b60 25 28 57 25 29 2b 3d 31 0d 06 cc 17 20 f4 20 72 |%(W%)+=1.... . r| 00000b70 65 6d 6f 76 65 20 63 72 6f 73 73 68 61 69 72 0d |emove crosshair.| 00000b80 06 d6 1d c8 99 20 4f 24 2c 26 32 32 32 2c 53 25 |..... O$,&222,S%| 00000b90 2c 43 25 2c 58 25 2c 59 25 2c 31 31 0d 06 e0 28 |,C%,X%,Y%,11...(| 00000ba0 c8 99 20 4f 24 2c 26 32 32 32 2c 53 25 2c 50 25 |.. O$,&222,S%,P%| 00000bb0 28 47 25 28 57 25 29 29 2c 58 25 2b 34 2c 59 25 |(G%(W%)),X%+4,Y%| 00000bc0 2b 34 2c 30 0d 06 ea 19 20 f4 20 70 75 74 20 63 |+4,0.... . put c| 00000bd0 72 6f 73 73 68 61 69 72 20 62 61 63 6b 0d 06 f4 |rosshair back...| 00000be0 1d c8 99 20 4f 24 2c 26 32 32 32 2c 53 25 2c 43 |... O$,&222,S%,C| 00000bf0 25 2c 58 25 2c 59 25 2c 31 31 0d 06 fe 09 e7 a6 |%,X%,Y%,11......| 00000c00 2d 33 e1 0d 07 08 0e d1 3d 30 3a f5 fd 91 3e 74 |-3......=0:...>t| 00000c10 25 0d 07 12 05 e1 0d 07 1c 04 0d 07 26 12 f4 20 |%...........&.. | 00000c20 70 75 6c 6c 20 70 69 6e 20 4f 55 54 0d 07 30 0a |pull pin OUT..0.| 00000c30 dd f2 70 75 6c 6c 0d 07 3a 19 e7 47 25 28 57 25 |..pull..:..G%(W%| 00000c40 29 2d 31 3e 2d 31 47 25 28 57 25 29 2d 3d 31 0d |)-1>-1G%(W%)-=1.| 00000c50 07 44 1d c8 99 20 4f 24 2c 26 32 32 32 2c 53 25 |.D... O$,&222,S%| 00000c60 2c 43 25 2c 58 25 2c 59 25 2c 31 31 0d 07 4e 28 |,C%,X%,Y%,11..N(| 00000c70 c8 99 20 4f 24 2c 26 32 32 32 2c 53 25 2c 50 25 |.. O$,&222,S%,P%| 00000c80 28 47 25 28 57 25 29 29 2c 58 25 2b 34 2c 59 25 |(G%(W%)),X%+4,Y%| 00000c90 2b 34 2c 30 0d 07 58 1d c8 99 20 4f 24 2c 26 32 |+4,0..X... O$,&2| 00000ca0 32 32 2c 53 25 2c 43 25 2c 58 25 2c 59 25 2c 31 |22,S%,C%,X%,Y%,1| 00000cb0 31 0d 07 62 13 e7 a6 2d 33 91 3d 30 3a f5 fd 91 |1..b...-3.=0:...| 00000cc0 3e 32 3a e1 0d 07 6c 09 e7 a6 2d 33 e1 0d 07 76 |>2:...l...-3...v| 00000cd0 0e d1 3d 30 3a f5 fd 91 3e 74 25 0d 07 80 05 e1 |..=0:...>t%.....| 00000ce0 0d 07 8a 04 0d 07 94 12 f4 20 70 69 63 74 75 72 |......... pictur| 00000cf0 65 20 74 61 6b 65 0d 07 9e 0d dd f2 70 69 63 54 |e take......picT| 00000d00 61 6b 65 0d 07 a8 1d c8 99 20 4f 24 2c 26 32 32 |ake...... O$,&22| 00000d10 32 2c 53 25 2c 43 25 2c 58 25 2c 59 25 2c 31 31 |2,S%,C%,X%,Y%,11| 00000d20 0d 07 b2 26 c8 99 20 4f 24 2c 26 31 31 30 2c 67 |...&.. O$,&110,g| 00000d30 25 2c 67 24 2c 30 2c 4f 58 25 2c 4f 59 25 2c 61 |%,g$,0,OX%,OY%,a| 00000d40 61 25 2c 62 62 25 0d 07 bc 1d c8 99 20 4f 24 2c |a%,bb%...... O$,| 00000d50 32 35 36 2b 32 34 2c 67 25 2c 67 24 20 b8 20 2c |256+24,g%,g$ . ,| 00000d60 2c 70 25 0d 07 c6 21 c8 99 20 4f 24 2c 32 35 36 |,p%...!.. O$,256| 00000d70 2b 34 30 2c 67 25 2c 67 24 20 b8 20 2c 2c 2c 57 |+40,g%,g$ . ,,,W| 00000d80 25 2c 48 25 0d 07 d0 1d c8 99 20 4f 24 2c 26 32 |%,H%...... O$,&2| 00000d90 32 32 2c 53 25 2c 43 25 2c 58 25 2c 59 25 2c 31 |22,S%,C%,X%,Y%,1| 00000da0 31 0d 07 da 04 0d 07 e4 1e c8 99 20 4f 24 2c 26 |1.......... O$,&| 00000db0 32 32 32 2c 67 25 2c 70 25 2c 36 34 30 2c 32 32 |222,g%,p%,640,22| 00000dc0 30 2c 30 0d 07 ee 05 e1 0d 07 f8 04 0d 08 02 0f |0,0.............| 00000dd0 f4 20 63 6f 70 79 20 62 69 74 73 0d 08 0c 0a dd |. copy bits.....| 00000de0 f2 63 6f 70 79 0d 08 16 11 f1 8a 32 2c 32 36 29 |.copy......2,26)| 00000df0 22 43 4f 50 59 22 0d 08 20 09 57 43 25 3d 32 0d |"COPY".. .WC%=2.| 00000e00 08 2a 0b 63 6f 70 79 25 3d 31 0d 08 34 1d c8 99 |.*.copy%=1..4...| 00000e10 20 4f 24 2c 26 32 32 32 2c 53 25 2c 43 25 2c 58 | O$,&222,S%,C%,X| 00000e20 25 2c 59 25 2c 31 31 0d 08 3e 11 4f 43 25 3d 43 |%,Y%,11..>.OC%=C| 00000e30 25 3a 43 25 3d 43 32 25 0d 08 48 1d c8 99 20 4f |%:C%=C2%..H... O| 00000e40 24 2c 26 32 32 32 2c 53 25 2c 43 25 2c 58 25 2c |$,&222,S%,C%,X%,| 00000e50 59 25 2c 31 31 0d 08 52 05 e1 0d 08 5c 04 0d 08 |Y%,11..R....\...| 00000e60 66 13 f4 20 66 69 78 20 63 6f 70 79 20 61 72 65 |f.. fix copy are| 00000e70 61 0d 08 70 0d dd f2 66 69 78 28 66 25 29 0d 08 |a..p...fix(f%)..| 00000e80 7a 1d c8 99 20 4f 24 2c 26 32 32 32 2c 53 25 2c |z... O$,&222,S%,| 00000e90 43 25 2c 58 25 2c 59 25 2c 31 31 0d 08 84 1d c8 |C%,X%,Y%,11.....| 00000ea0 99 20 4f 24 2c 26 32 32 32 2c 53 25 2c 4f 43 25 |. O$,&222,S%,OC%| 00000eb0 2c 58 25 2c 59 25 2c 38 0d 08 8e 1d c8 99 20 4f |,X%,Y%,8...... O| 00000ec0 24 2c 26 32 32 32 2c 53 25 2c 43 25 2c 58 25 2c |$,&222,S%,C%,X%,| 00000ed0 59 25 2c 31 31 0d 08 98 23 e7 66 25 3d 31 6e 75 |Y%,11...#.f%=1nu| 00000ee0 6d 31 25 3d 57 25 3a 63 78 31 25 3d 58 25 3a 63 |m1%=W%:cx1%=X%:c| 00000ef0 79 31 25 3d 59 25 3a e1 0d 08 a2 1c 6e 75 6d 32 |y1%=Y%:.....num2| 00000f00 25 3d 57 25 3a 63 78 32 25 3d 58 25 3a 63 79 32 |%=W%:cx2%=X%:cy2| 00000f10 25 3d 59 25 0d 08 ac 22 79 61 64 64 25 3d 94 28 |%=Y%..."yadd%=.(| 00000f20 28 6e 75 6d 32 25 81 32 30 29 2d 28 6e 75 6d 31 |(num2%.20)-(num1| 00000f30 25 81 32 30 29 29 0d 08 b6 22 78 61 64 64 25 3d |%.20))..."xadd%=| 00000f40 94 28 28 6e 75 6d 32 25 83 32 30 29 2d 28 6e 75 |.((num2%.20)-(nu| 00000f50 6d 31 25 83 32 30 29 29 0d 08 c0 04 0d 08 ca 1b |m1%.20))........| 00000f60 e7 63 79 32 25 3c 63 79 31 25 80 63 78 32 25 3e |.cy2%<cy1%.cx2%>| 00000f70 3d 63 78 31 25 20 8c 0d 08 d4 1b 20 6e 75 6d 31 |=cx1% ..... num1| 00000f80 25 3d 6e 75 6d 31 25 2d 28 79 61 64 64 25 2a 32 |%=num1%-(yadd%*2| 00000f90 30 29 0d 08 de 1b 20 6e 75 6d 32 25 3d 6e 75 6d |0).... num2%=num| 00000fa0 32 25 2b 28 79 61 64 64 25 2a 32 30 29 0d 08 e8 |2%+(yadd%*20)...| 00000fb0 05 cd 0d 08 f2 04 0d 08 fc 1a e7 63 79 32 25 3c |...........cy2%<| 00000fc0 63 79 31 25 80 63 78 32 25 3c 63 78 31 25 20 8c |cy1%.cx2%<cx1% .| 00000fd0 0d 09 06 24 20 4f 32 25 3d 6e 75 6d 32 25 3a 6e |...$ O2%=num2%:n| 00000fe0 75 6d 32 25 3d 6e 75 6d 31 25 3a 6e 75 6d 31 25 |um2%=num1%:num1%| 00000ff0 3d 4f 32 25 0d 09 10 05 cd 0d 09 1a 04 0d 09 24 |=O2%...........$| 00001000 1a e7 63 79 32 25 3e 63 79 31 25 80 63 78 32 25 |..cy2%>cy1%.cx2%| 00001010 3c 63 78 31 25 20 8c 0d 09 2e 18 20 6e 75 6d 31 |<cx1% ..... num1| 00001020 25 3d 6e 75 6d 31 25 2d 28 78 61 64 64 25 29 0d |%=num1%-(xadd%).| 00001030 09 38 18 20 6e 75 6d 32 25 3d 6e 75 6d 32 25 2b |.8. num2%=num2%+| 00001040 28 78 61 64 64 25 29 0d 09 42 05 cd 0d 09 4c 08 |(xadd%)..B....L.| 00001050 7a 25 3d 30 0d 09 56 0f e3 4a 25 3d 30 b8 79 61 |z%=0..V..J%=0.ya| 00001060 64 64 25 0d 09 60 0f e3 49 25 3d 30 b8 78 61 64 |dd%..`..I%=0.xad| 00001070 64 25 0d 09 6a 21 5a 25 28 7a 25 29 3d 47 25 28 |d%..j!Z%(z%)=G%(| 00001080 28 6e 75 6d 31 25 2b 49 25 29 2b 28 4a 25 2a 32 |(num1%+I%)+(J%*2| 00001090 30 29 29 0d 09 74 09 7a 25 2b 3d 31 0d 09 7e 05 |0))..t.z%+=1..~.| 000010a0 ed 0d 09 88 05 ed 0d 09 92 05 e1 0d 09 9c 04 0d |................| 000010b0 09 a6 1f f4 20 75 6e 63 6f 70 79 20 28 70 72 65 |.... uncopy (pre| 000010c0 73 73 20 64 65 6c 65 74 65 20 6b 65 79 29 0d 09 |ss delete key)..| 000010d0 b0 0c dd f2 75 6e 63 6f 70 79 0d 09 ba 2f e7 63 |....uncopy.../.c| 000010e0 6f 70 79 25 3d 32 20 c8 99 20 4f 24 2c 26 32 32 |opy%=2 .. O$,&22| 000010f0 32 2c 53 25 2c 43 42 25 2c 63 78 31 25 2c 63 79 |2,S%,CB%,cx1%,cy| 00001100 31 25 2c 65 72 61 73 65 25 0d 09 c4 0e e7 63 6f |1%,erase%.....co| 00001110 70 79 25 3d 33 20 8c 0d 09 ce 38 20 e6 33 2c 33 |py%=3 ....8 .3,3| 00001120 3a c8 93 58 25 2c 59 25 2c 28 28 78 61 64 64 25 |:..X%,Y%,((xadd%| 00001130 2b 31 29 2a 32 34 29 2c 28 28 79 61 64 64 25 2b |+1)*24),((yadd%+| 00001140 31 29 2a 32 34 29 3a 72 65 63 74 31 25 3d 30 0d |1)*24):rect1%=0.| 00001150 09 d8 27 20 c8 99 20 4f 24 2c 26 32 32 32 2c 53 |..' .. O$,&222,S| 00001160 25 2c 43 42 25 2c 63 78 31 25 2c 63 79 31 25 2c |%,CB%,cx1%,cy1%,| 00001170 65 72 61 73 65 25 0d 09 e2 27 20 c8 99 20 4f 24 |erase%...' .. O$| 00001180 2c 26 32 32 32 2c 53 25 2c 43 42 25 2c 63 78 32 |,&222,S%,CB%,cx2| 00001190 25 2c 63 79 32 25 2c 65 72 61 73 65 25 0d 09 ec |%,cy2%,erase%...| 000011a0 05 cd 0d 09 f6 18 57 43 25 3d 31 3a 43 25 3d 4f |......WC%=1:C%=O| 000011b0 43 25 3a 63 6f 70 79 25 3d 30 0d 0a 00 1d c8 99 |C%:copy%=0......| 000011c0 20 4f 24 2c 26 32 32 32 2c 53 25 2c 43 25 2c 58 | O$,&222,S%,C%,X| 000011d0 25 2c 59 25 2c 31 31 0d 0a 0a 11 f1 8a 32 2c 32 |%,Y%,11......2,2| 000011e0 36 29 22 20 20 20 20 22 0d 0a 14 05 e1 0d 0a 1e |6)" "........| 000011f0 04 0d 0a 28 19 f4 20 69 6e 73 65 72 74 20 63 6f |...(.. insert co| 00001200 70 69 65 64 20 70 69 65 63 65 0d 0a 32 21 f4 20 |pied piece..2!. | 00001210 61 6c 74 65 72 20 72 65 6c 65 76 61 6e 74 20 47 |alter relevant G| 00001220 25 28 6e 29 20 76 61 6c 75 65 73 0d 0a 3c 0c dd |%(n) values..<..| 00001230 f2 63 6f 70 79 74 6f 0d 0a 46 2e e6 33 2c 33 3a |.copyto..F..3,3:| 00001240 c8 93 58 25 2c 59 25 2c 28 28 78 61 64 64 25 2b |..X%,Y%,((xadd%+| 00001250 31 29 2a 32 34 29 2c 28 28 79 61 64 64 25 2b 31 |1)*24),((yadd%+1| 00001260 29 2a 32 34 29 0d 0a 50 26 c8 99 20 4f 24 2c 26 |)*24)..P&.. O$,&| 00001270 32 32 32 2c 53 25 2c 43 42 25 2c 63 78 31 25 2c |222,S%,CB%,cx1%,| 00001280 63 79 31 25 2c 65 72 61 73 65 25 0d 0a 5a 26 c8 |cy1%,erase%..Z&.| 00001290 99 20 4f 24 2c 26 32 32 32 2c 53 25 2c 43 42 25 |. O$,&222,S%,CB%| 000012a0 2c 63 78 32 25 2c 63 79 32 25 2c 65 72 61 73 65 |,cx2%,cy2%,erase| 000012b0 25 0d 0a 64 08 7a 25 3d 30 0d 0a 6e 0f e3 4a 25 |%..d.z%=0..n..J%| 000012c0 3d 30 b8 79 61 64 64 25 0d 0a 78 0f e3 49 25 3d |=0.yadd%..x..I%=| 000012d0 30 b8 78 61 64 64 25 0d 0a 82 79 e7 58 25 2d 32 |0.xadd%...y.X%-2| 000012e0 30 2b 28 49 25 2a 32 34 29 3c 35 31 37 20 e7 59 |0+(I%*24)<517 .Y| 000012f0 25 2d 32 30 2b 28 4a 25 2a 32 34 29 3c 39 31 37 |%-20+(J%*24)<917| 00001300 20 3a 20 c8 99 20 4f 24 2c 26 32 32 32 2c 53 25 | : .. O$,&222,S%| 00001310 2c 50 25 28 5a 25 28 7a 25 29 29 2c 58 25 2b 34 |,P%(Z%(z%)),X%+4| 00001320 2b 28 49 25 2a 32 34 29 2c 59 25 2b 34 2b 28 4a |+(I%*24),Y%+4+(J| 00001330 25 2a 32 34 29 2c 30 3a 47 25 28 57 25 2b 49 25 |%*24),0:G%(W%+I%| 00001340 2b 28 4a 25 2a 32 30 29 29 3d 5a 25 28 7a 25 29 |+(J%*20))=Z%(z%)| 00001350 0d 0a 8c 09 7a 25 2b 3d 31 0d 0a 96 05 ed 0d 0a |....z%+=1.......| 00001360 a0 05 ed 0d 0a aa 2e e6 33 2c 33 3a c8 93 58 25 |........3,3:..X%| 00001370 2c 59 25 2c 28 28 78 61 64 64 25 2b 31 29 2a 32 |,Y%,((xadd%+1)*2| 00001380 34 29 2c 28 28 79 61 64 64 25 2b 31 29 2a 32 34 |4),((yadd%+1)*24| 00001390 29 0d 0a b4 05 e1 0d 0a be 04 0d 0a c8 0f f4 20 |).............. | 000013a0 4c 4f 41 44 20 46 49 4c 45 0d 0a d2 0a dd f2 6c |LOAD FILE......l| 000013b0 6f 61 64 0d 0a dc 07 ea 79 25 0d 0a e6 09 79 25 |oad.....y%....y%| 000013c0 3d 32 36 0d 0a f0 09 2a 46 58 32 31 0d 0a fa 24 |=26....*FX21...$| 000013d0 f1 8a 32 2c 79 25 29 22 4c 4f 41 44 20 46 49 4c |..2,y%)"LOAD FIL| 000013e0 45 3f 20 28 59 2f 4e 29 20 22 3a 79 6e 24 3d be |E? (Y/N) ":yn$=.| 000013f0 0d 0b 04 19 e7 79 6e 24 3c 3e 22 59 22 f1 8a 32 |.....yn$<>"Y"..2| 00001400 2c 79 25 29 89 32 33 3a e1 0d 0b 0e 0e f1 8a 32 |,y%).23:.......2| 00001410 2c 79 25 29 89 32 33 0d 0b 18 1d e8 8a 32 2c 79 |,y%).23......2,y| 00001420 25 29 22 57 48 41 54 20 4e 41 4d 45 3f 20 22 6e |%)"WHAT NAME? "n| 00001430 61 6d 65 24 0d 0b 22 0e f1 8a 32 2c 79 25 29 89 |ame$.."...2,y%).| 00001440 32 33 0d 0b 2c 1f 66 69 6c 65 25 3d 8e 28 22 3c |23..,.file%=.("<| 00001450 4d 41 47 24 44 69 72 3e 2e 22 2b 6e 61 6d 65 24 |MAG$Dir>."+name$| 00001460 29 0d 0b 36 0d e3 49 25 3d 30 b8 35 39 39 0d 0b |)..6..I%=0.599..| 00001470 40 12 e8 23 66 69 6c 65 25 2c 47 25 28 49 25 29 |@..#file%,G%(I%)| 00001480 0d 0b 4a 05 ed 0d 0b 54 0b d9 23 66 69 6c 65 25 |..J....T..#file%| 00001490 0d 0b 5e 0b f2 64 72 61 77 69 74 0d 0b 68 05 e1 |..^..drawit..h..| 000014a0 0d 0b 72 04 0d 0b 7c 0f f4 20 53 41 56 45 20 46 |..r...|.. SAVE F| 000014b0 49 4c 45 0d 0b 86 0a dd f2 73 61 76 65 0d 0b 90 |ILE......save...| 000014c0 07 ea 79 25 0d 0b 9a 09 79 25 3d 32 36 0d 0b a4 |..y%....y%=26...| 000014d0 0a c8 99 36 2c 31 35 0d 0b ae 24 f1 8a 32 2c 79 |...6,15...$..2,y| 000014e0 25 29 22 53 41 56 45 20 66 69 6c 65 3f 20 28 59 |%)"SAVE file? (Y| 000014f0 2f 4e 29 20 22 3a 79 6e 24 3d be 0d 0b b8 1a e7 |/N) ":yn$=......| 00001500 79 6e 24 3c 3e 22 59 22 f1 8a 32 2c 79 25 29 3b |yn$<>"Y"..2,y%);| 00001510 89 32 33 3a e1 0d 0b c2 28 f1 8a 32 2c 79 25 29 |.23:....(..2,y%)| 00001520 89 32 33 3a e8 8a 32 2c 79 25 29 22 57 48 41 54 |.23:..2,y%)"WHAT| 00001530 20 4e 41 4d 45 3f 20 22 6e 61 6d 65 24 0d 0b cc | NAME? "name$...| 00001540 0f f1 8a 32 2c 79 25 29 3b 89 32 33 0d 0b d6 1f |...2,y%);.23....| 00001550 66 69 6c 65 25 3d ae 28 22 3c 4d 41 47 24 44 69 |file%=.("<MAG$Di| 00001560 72 3e 2e 22 2b 6e 61 6d 65 24 29 0d 0b e0 0d e3 |r>."+name$).....| 00001570 49 25 3d 30 b8 35 39 39 0d 0b ea 12 f1 23 66 69 |I%=0.599.....#fi| 00001580 6c 65 25 2c 47 25 28 49 25 29 0d 0b f4 05 ed 0d |le%,G%(I%)......| 00001590 0b fe 0b d9 23 66 69 6c 65 25 0d 0c 08 05 e1 0d |....#file%......| 000015a0 0c 12 04 0d 0c 1c 19 f4 20 64 72 61 77 20 6c 6f |........ draw lo| 000015b0 61 64 65 64 20 69 6e 20 64 61 74 61 0d 0c 26 0c |aded in data..&.| 000015c0 dd f2 64 72 61 77 69 74 0d 0c 30 1d c8 99 20 4f |..drawit..0... O| 000015d0 24 2c 26 32 32 32 2c 53 25 2c 43 25 2c 58 25 2c |$,&222,S%,C%,X%,| 000015e0 59 25 2c 31 31 0d 0c 3a 09 77 25 3d 2d 31 0d 0c |Y%,11..:.w%=-1..| 000015f0 44 12 e3 4a 25 3d 32 32 34 b8 39 33 36 88 32 34 |D..J%=224.936.24| 00001600 0d 0c 4e 11 e3 49 25 3d 36 34 b8 35 32 30 88 32 |..N..I%=64.520.2| 00001610 34 0d 0c 58 09 77 25 2b 3d 31 0d 0c 62 24 c8 99 |4..X.w%+=1..b$..| 00001620 20 4f 24 2c 26 32 32 32 2c 53 25 2c 50 25 28 47 | O$,&222,S%,P%(G| 00001630 25 28 77 25 29 29 2c 49 25 2c 4a 25 2c 30 0d 0c |%(w%)),I%,J%,0..| 00001640 6c 05 ed 0d 0c 76 05 ed 0d 0c 80 1d c8 99 20 4f |l....v........ O| 00001650 24 2c 26 32 32 32 2c 53 25 2c 43 25 2c 58 25 2c |$,&222,S%,C%,X%,| 00001660 59 25 2c 31 31 0d 0c 8a 05 e1 0d 0c 94 04 0d 0c |Y%,11...........| 00001670 9e 21 f4 20 70 75 73 68 20 70 69 6e 73 20 75 73 |.!. push pins us| 00001680 69 6e 67 20 6b 65 79 20 70 72 65 73 73 65 73 0d |ing key presses.| 00001690 0c a8 11 dd f2 6b 65 79 70 75 73 68 28 6e 25 29 |.....keypush(n%)| 000016a0 0d 0c b2 1d c8 99 20 4f 24 2c 26 32 32 32 2c 53 |...... O$,&222,S| 000016b0 25 2c 43 25 2c 58 25 2c 59 25 2c 31 31 0d 0c bc |%,C%,X%,Y%,11...| 000016c0 2e c8 99 20 4f 24 2c 26 32 32 32 2c 53 25 2c 50 |... O$,&222,S%,P| 000016d0 25 28 6e 25 29 2c 58 25 2b 34 2c 59 25 2b 34 2c |%(n%),X%+4,Y%+4,| 000016e0 30 3a 47 25 28 57 25 29 3d 6e 25 0d 0c c6 1d c8 |0:G%(W%)=n%.....| 000016f0 99 20 4f 24 2c 26 32 32 32 2c 53 25 2c 43 25 2c |. O$,&222,S%,C%,| 00001700 58 25 2c 59 25 2c 31 31 0d 0c d0 05 e1 0d 0c da |X%,Y%,11........| 00001710 04 0d 0c e4 0c f4 20 72 65 63 6f 72 64 0d 0c ee |...... record...| 00001720 0c dd f2 72 65 63 6f 72 64 0d 0c f8 09 2a 53 4e |...record....*SN| 00001730 45 57 0d 0d 02 1d c8 99 20 4f 24 2c 26 32 32 32 |EW...... O$,&222| 00001740 2c 53 25 2c 43 25 2c 58 25 2c 59 25 2c 31 31 0d |,S%,C%,X%,Y%,11.| 00001750 0d 0c 0c e3 4b 25 3d 30 b8 31 32 0d 0d 16 08 f2 |....K%=0.12.....| 00001760 67 65 74 0d 0d 20 07 f2 75 70 0d 0d 2a 05 ed 0d |get.. ..up..*...| 00001770 0d 34 1d c8 99 20 4f 24 2c 26 32 32 32 2c 53 25 |.4... O$,&222,S%| 00001780 2c 43 25 2c 58 25 2c 59 25 2c 31 31 0d 0d 3e 05 |,C%,X%,Y%,11..>.| 00001790 e1 0d 0d 48 04 0d 0d 52 11 f4 20 70 69 6e 73 20 |...H...R.. pins | 000017a0 61 73 63 65 6e 64 0d 0d 5c 08 dd f2 75 70 0d 0d |ascend..\...up..| 000017b0 66 08 6f 25 3d 30 0d 0d 70 12 e3 4a 25 3d 32 32 |f.o%=0..p..J%=22| 000017c0 34 b8 39 33 36 88 32 34 0d 0d 7a 11 e3 49 25 3d |4.936.24..z..I%=| 000017d0 36 34 b8 35 32 30 88 32 34 0d 0d 84 16 e7 47 25 |64.520.24.....G%| 000017e0 28 6f 25 29 3e 30 47 25 28 6f 25 29 2d 3d 31 0d |(o%)>0G%(o%)-=1.| 000017f0 0d 8e 24 c8 99 20 4f 24 2c 26 32 32 32 2c 53 25 |..$.. O$,&222,S%| 00001800 2c 50 25 28 47 25 28 6f 25 29 29 2c 49 25 2c 4a |,P%(G%(o%)),I%,J| 00001810 25 2c 30 0d 0d 98 09 6f 25 2b 3d 31 0d 0d a2 05 |%,0....o%+=1....| 00001820 ed 0d 0d ac 05 ed 0d 0d b6 05 e1 0d 0d c0 04 0d |................| 00001830 0d ca 0e f4 20 70 6c 61 79 62 61 63 6b 0d 0d d4 |.... playback...| 00001840 1e dd f2 61 6e 69 6d 61 74 65 28 66 72 6f 6d 25 |...animate(from%| 00001850 2c 74 6f 25 2c 73 74 65 70 25 29 0d 0d de 0c 73 |,to%,step%)....s| 00001860 70 65 65 64 25 3d 36 0d 0d e8 17 e3 4b 25 3d 66 |peed%=6.....K%=f| 00001870 72 6f 6d 25 b8 74 6f 25 88 73 74 65 70 25 0d 0d |rom%.to%.step%..| 00001880 f2 10 ef 32 33 2c 32 37 2c 30 2c 4b 25 7c 0d 0d |...23,27,0,K%|..| 00001890 fc 10 f0 26 45 44 2c 36 34 30 2c 32 32 30 0d 0e |...&ED,640,220..| 000018a0 06 07 d1 3d 30 0d 0e 10 0e f5 fd 91 3e 73 70 65 |...=0.......>spe| 000018b0 65 64 25 0d 0e 1a 05 ed 0d 0e 24 05 e1 0d 0e 2e |ed%.......$.....| 000018c0 04 0d 0e 38 10 f4 20 67 65 74 20 73 70 72 69 74 |...8.. get sprit| 000018d0 65 0d 0e 42 09 dd f2 67 65 74 0d 0e 4c 0b ec 36 |e..B...get..L..6| 000018e0 30 2c 32 32 30 0d 0e 56 10 ec 20 42 59 20 34 35 |0,220..V.. BY 45| 000018f0 36 2c 37 31 36 0d 0e 60 10 ef 32 33 2c 32 37 2c |6,716..`..23,27,| 00001900 31 2c 4b 25 7c 0d 0e 6a 10 ef 32 33 2c 32 37 2c |1,K%|..j..23,27,| 00001910 30 2c 4b 25 7c 0d 0e 74 10 f0 26 45 44 2c 36 34 |0,K%|..t..&ED,64| 00001920 30 2c 32 32 30 0d 0e 7e 05 e1 0d ff |0,220..~....| 0000192c