Home » CEEFAX disks » telesoftware11.adl » 11-12-88/MWORKS
11-12-88/MWORKS
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 » CEEFAX disks » telesoftware11.adl |
Filename: | 11-12-88/MWORKS |
Read OK: | ✔ |
File size: | 1E38 bytes |
Load address: | FFFF0E00 |
Exec address: | FFFF802B |
Duplicates
There is 1 duplicate copy of this file in the archive:
- AEW website » mu » mu_5_25_discs_Micro_User_05_08_D-MU05_08.ssd » MIWORKS
- CEEFAX disks » telesoftware11.adl » 11-12-88/MWORKS
File contents
100T$= "MicroWorks" 110A$= "S.Turnbull" 120REM (c) Micro User 1987 130ON ERROR MODE135:REPORT:PRINT" at ";ERL:END 140MODE4:VDU23,1,0;0;0;0;0; 150HIMEM=HIMEM-&200:PROCinit 160CLS:PROCtitle:CLS 170REPEAT PROClift:PROCkeys:G%=GET 180IF G%<32 PROCctrl 190IF G%>31 IF G%<127 PROClet 200IF G%>127 IF G%<138 PROCfn 210IF G%>143 IF G%<154 PROCs_fn 220IF G%>159 IF G%<170 PROCc_fn 230UNTIL quit:PROCquit:END 240DEF PROCctrl 250IF G%=13 PROCret 260ENDPROC 270DEF PROCret:IF ip<8 ENDPROC 280PROCptr(ip):px=LX% 290py=py-32+32*((SZ% AND2)>0) 300PROCptr(ip):ENDPROC 310DEF PROClet:IF ip<8 ENDPROC 320PROCptr(ip):PROCtxt(G%,0,col) 330PROCptr(ip):ENDPROC 340DEF PROCfn 350IF G%<137 mode=G%-128 ELSE PROCsp 360ENDPROC 370DEF PROCsp:PROCptr(ip):PROCnm 380IF n$>"" PROCcli("SAVE "+n$+l$+" FFFF8000") 390PROCptr(ip):ENDPROC 400DEF PROCs_fn:IF ip>-1 ENDPROC 410IF G%=144 col=col EOR 1 420IF G%=145 fill=NOT fill 430IF G%=146 REM Nothing assigned 440IF G%=147 REM Nothing assigned 450IF G%=148 REM Nothing assigned 460IF G%=149 PT%=(PT%+1)MODmxpt 470IF G%=150 wdth=(wdth+1)MODmxwd 480IF G%=151 dens=(dens+1)MODmxdn 490IF G%=152 SZ%=SZ% EOR 2 500IF G%=153 PROClp 510ENDPROC 520DEF PROClp:PROCptr(ip):PROCnm 530IF n$>"" PROCcli("LOAD "+n$+l$) 540PROCptr(ip):ENDPROC 550DEF PROCnm:GCOL3,1:MOVE 24,1000 560VDU5:INPUT"Name:"n$:MOVE 24,1000 570PRINT"Name:"n$:VDU4,23,1,0;0;0;0; 580ENDPROC 590DEF PROCcli($&700):LOCALX%,Y% 600Y%=7:CALL&FFF7:ENDPROC 610DEF PROCc_fn:IF G%=160 PROCptr(ip):PROCunset:PROCptr(ip) 620IF ip>-1 ENDPROC 630IF G%=161 REM Nothing assigned 640IF G%=162 ST%=ST% EOR 1 650IF G%=163 ST%=ST% EOR 2 660IF G%=164 ST%=ST% EOR 4 670IF G%=165 ST%=ST% EOR 8 680IF G%=166 wdth=wdth-1:IF wdth=-1 wdth=mxwd-1 690IF G%=167 dens=dens-1:IF dens=-1 dens=mxdn-1 700IF G%=168 SZ%=SZ% EOR 1 710IF G%=169 quit=TRUE 720ENDPROC 730DEF PROCinit 740PRINTCHR$136"Please wait..."; 750TY%=1023:BY%=0:*FX225,128 760LX%=0:RX%=1279:*FX226,144 770bx=0:px=400:py=700:*FX227,160 780col=1:mode=0:unset=-1:ip=-1 790wdth=4:mxwd=20:dens=4:mxdn=20 800ST%=10:SZ%=0:PT%=0 810mxpt=5:fill=FALSE:l$=" FFFF5800" 820PROCunset:TG%=60:IG%=360/TG% 830VDU&FE17;&6060;&6060;&6060;&7C60; 840DIM d% 256,s(TG%+TG%/4) 850quit=FALSE:PROCassem:*FX4,2 860AC%=-129:CL%=-26:CR%=-122 870CU%=-58:CD%=-42:CC%=-106 880FOR A%=0 TO TG%+TG%/4 890s(A%)=SINRAD(IG%*A%) 900NEXT:K%=TRUE:ENDPROC 910DEF PROCtitle 920VDU19,0,4;0;19,1,3;0; 930PROCtab(T$,10,7,&A,3) 940PROCtab("by",18,10,9,0) 950PROCtab(A$,10,12,&C,1):*FX15 960Z%=INKEY500:ENDPROC 970DEF PROCtab($d%,X%,Y%,A%,B%) 980?sty=A%:?siz=B%:CALL out:ENDPROC 990DEF PROCquit:CLS:*FX4 1000PROCtab(T$,4,4):ENDPROC 1010DEF PROCkeys 1020REPEAT dx=0:dy=0:*FX21 1030IF K% PROCptr(ip) 1040REPEATK%=INKEYAC%:UNTILNOTK% 1050IF INKEYCL% dx=-FNinc 1060IF INKEYCR% dx=+FNinc 1070IF INKEYCD% dy=-FNinc 1080IF INKEYCU% dy=+FNinc 1090IF INKEYCC% K%=TRUE 1100IF K% PROCptr(ip):PROCmove 1110UNTIL NOTK%:ENDPROC 1120DEF PROCmove:*FX21 1130IF dx=0 IF dy=0 PROCset:ENDPROC 1140px=px+dx:py=py+dy 1150IF px<LX% px=LX%ELSEIFpx>RX%px=RX% 1160IF py<BY% py=BY%ELSEIFpy>TY%py=TY% 1170ENDPROC 1180DEF PROCptr(P%):GCOL 3,1 1190IFP%=-1 PROCpcr:ENDPROC 1200IFP%<6 PROCmode(P%):ENDPROC 1210IFP%=6 PROCbrsh(wdth):ENDPROC 1220IFP%=7 PROCspry(dens,wdth):ENDPROC 1230IFP%=8 PROCmode(P%) 1240ENDPROC 1250DEF PROCpcr 1260MOVE px,BY%:DRAW px,TY% 1270MOVE LX%,py:DRAW RX%,py 1280ENDPROC 1290DEF FNinc:K%=TRUE 1300=4-12*INKEY-1-28*INKEY-2 1310DEF PROCset:K%=TRUE 1320IF ip=-1 PROCstart ELSE PROCform 1330PROClift:ENDPROC 1340DEF PROCstart:ip=mode 1350px2=px1:py2=py1:px1=px:py1=py 1360IF mode<>5 ENDPROC 1370PROCchr(ASC"?"):*FX21 1380sides=INSTR("3456789",GET$)+2 1390IF sides<3 sides=0:PROCunset 1400PROCchr(ASC"?"):ENDPROC 1410DEF PROCchr(C%):VDU5 1420MOVE px-16,py+32:VDUC%4 1430ENDPROC 1440DEF PROCmode(M%) 1450IF M%=0 PROCln:ENDPROC 1460IF M%=1 PROCdt:ENDPROC 1470IF M%=2 PROCtr:ENDPROC 1480IF M%=3 PROCrc:ENDPROC 1490IF M%=4 PROCcc:ENDPROC 1500IF M%=5 PROCpl:ENDPROC 1510IF M%=6 REM Nothing assigned 1520IF M%=7 REM Nothing assigned 1530IF M%=8 PROCtx(px,py) 1540ENDPROC 1550DEF PROCform:GCOL 0,col 1560IF ip<8 PROCmode(ip) 1570PROCunset:ENDPROC 1580DEF PROCln:LOCAL P%:P%=5 1590DEF PROCdt:LOCAL P%:P%=21 1600PROCplot(P%):ENDPROC 1610DEF PROCtr:IF px2=unset ip=-1:PROCptr(ip):ENDPROC 1620IF fill PROCplot(85):ENDPROC 1630MOVE px2,py2:DRAW px1,py1 1640DRAW px,py:DRAW px2,py2:ENDPROC 1650DEF PROCplot(P%) 1660MOVE px2,py2:MOVE px1,py1 1670PLOT P%,px,py:ENDPROC 1680DEF PROCunset:px2=unset:py2=unset 1690IF mode>3 IF mode<6 px=px1:py=py1 1700px1=unset:py1=unset:ip=-1:ENDPROC 1710DEF PROCrc 1720IF fill PROCrcf ELSE PROCrcu 1730ENDPROC 1740DEF PROCrcf 1750MOVE px1,py1:MOVE px1,py 1760PLOT 85,px,py1:PLOT 85,px,py 1770ENDPROC 1780DEF PROCrcu 1790MOVE px1,py1:DRAW px1,py 1800DRAW px,py:DRAW px,py1 1810DRAW px1,py1:ENDPROC 1820DEF PROCcc 1830LOCAL X%,Y%,R%,E%,P%,Q% 1840IF fill P%=4:Q%=5 ELSE P%=69:Q%=69 1850Y%=SQR((px-px1)^2+(py-py1)^2) 1860IF Y%<4 PLOT69,px,py:ENDPROC 1870E%=3-2*Y%:VDU29,px1;py1; 1880IF X%<Y% REPEAT PROCdc:UNTILX%>=Y% 1890IF X%=Y% PROCdc 1900VDU29,0;0;:ENDPROC 1910DEF PROCdc 1920PLOT P%,X%,Y%:PLOT Q%,X%,-Y% 1930PLOT P%,Y%,X%:PLOT Q%,Y%,-X% 1940PLOT P%,-X%,Y%:PLOT Q%,-X%,-Y% 1950PLOT P%,-Y%,X%:PLOT Q%,-Y%,-X% 1960IF E%<0 E%=E%+4*X%+6 ELSE E%=E%+4*(X%-Y%)+10:Y%=Y%-4 1970X%=X%+4:ENDPROC 1980DEF PROCpl 1990IF fill PROCplf(sides) ELSE PROCplu(sides) 2000ENDPROC 2010DEF PROCplu(S%):LOCAL A,I,R% 2020R%=SQR((px-px1)^2+(py-py1)^2) 2030IF R%<4 ENDPROC 2040I=360/S%:MOVE px1,py1+R% 2050FOR A=0 TO 360+I STEP I 2060DRAW px1+FNsn(A)*R%,py1+FNcs(A)*R% 2070NEXT:ENDPROC 2080DEF PROCplf(S%) 2090LOCAL A,I,R%,X%,Y% 2100R%=SQR((px-px1)^2+(py-py1)^2) 2110IF R%<4 ENDPROC 2120I=360/S%:X%=px1:Y%=py1+R% 2130FOR A=0 TO 360+I STEP I 2140MOVE X%,Y%:X%=px1+FNsn(A)*R% 2150Y%=py1+FNcs(A)*R%:DRAW X%,Y% 2160PLOT 85,px1,py1:NEXT:ENDPROC 2170DEF FNsn(A%)=s((A%MOD360)DIVIG%) 2180DEF FNcs(A%)=s(((A%+90)MOD360)DIVIG%) 2190DEF PROCbrsh(W%):GCOL0,col 2200LOCAL fill:fill=TRUE 2210px1=px:px=px+W%*4:py1=py 2220PROCmode(4):px=px1:ENDPROC 2230DEF PROCspry(S%,W%):GCOL0,col 2240LOCAL A%,L%,R%,C%:IF S%=0 ENDPROC 2250W%=W%*4:FOR L%=1 TO S% 2260IF RND(3)=1 NEXT:ENDPROC 2270A%=RND(360):R%=RND(W%) 2280PLOT69,px+R%*s(A%DIVIG%),py+R%*s((A%+90)MOD360DIVIG%) 2290NEXT:ENDPROC 2300DEF PROClift:IF ip<0 PROCptr(ip) 2310REPEATUNTILINKEYAC%:IF ip<0 PROCptr(ip) 2320ENDPROC 2330DEF PROCtx(px,py) 2340PROCtxt(254,3,col):ENDPROC 2350DEF PROCtxt(C%,A%,B%) 2360IF ip<>8 ENDPROC ELSE GCOLA%,B% 2370?sty=ST%:?siz=SZ%:d%?0=C%:d%?1=13 2380MOVEpx,py:VDU5:CALL prnt 2390VDU4,23,1,0;0;0;0;:px=px+FNtix 2400ENDPROC 2410DEF FNtix:LOCAL W%:W%=?wid 2420IF ST% AND8 W%=W%+PT% 2430=(W%-W%*((SZ%AND1)>0))*4 2440DEF PROCassem:code=HIMEM 2450chr=&4F:df1=&50:df2=&58 2460xpo=&61:ypo=&62:idx=&63:idy=&64 2470sty=&65:siz=&66:wid=&67:tmp=&68 2480oswrch=&FFEE:osword=&FFF1 2490osbyte=&FFF4:FOR L%=0 TO 2 STEP 2 2500P%=code:[OPT L% 2510.out STX xpo:STY ypo 2520 LDX d%:CPX #13:BNE ppp:RTS 2530.ppp JSR posn:.prnt 2540 LDA siz:AND #15:CMP #0:BEQ nrm 2550 CMP #2:BEQ dbh:CMP #3:BEQ qd 2560 JMP dbw:.nrm LDX #&FF:STX idx 2570.nrm1 INC idx:LDX idx 2580 LDA d%,X:CMP #13:BEQ nrmx 2590 JSR gdef:LDX #7 2600.nm LDA df1,X:STA df2,X 2610 DEX:BPL nm:JSR pdef:JMP nrm1 2620.nrmx RTS 2630.qd LDX #&FF:STX idx 2640.qd1 INC idx:LDX idx 2650 LDA d%,X:CMP #13:BEQ qdx 2660 JSR gdef:LDX #0 2670.qd2 LDA df1,X:JSR dwd:PHA 2680 INX:CPX #8:BNE qd2 2690 JSR def21:JSR pdh:LDX #7 2700.qd3 PLA:JSR dwd:DEX:BPL qd3 2710 JSR def21:JSR pdh:JMP qd1 2720.qdx RTS 2730.def21 LDX #7 2740.d21 LDA df2,X:STA df1,X 2750 DEX:BPL d21:RTS 2760.dbh LDX #&FF:STX idx 2770.dhl1 INC idx:LDX idx 2780 LDA d%,X:CMP #13:BEQ dh1x 2790 JSR gdef:JSR pdh:JMP dhl1 2800.dh1x RTS 2810.pdh LDY #0:JSR dhd 2820 LDA #8:JSR oswrch 2830 LDA #10:JSR oswrch 2840 LDY #4:JSR dhd 2850 LDA #11:JSR oswrch:RTS 2860.dhd 2870 LDA df1+0,Y:STA df2+0:STAdf2+1 2880 LDA df1+1,Y:STA df2+2:STAdf2+3 2890 LDA df1+2,Y:STA df2+4:STAdf2+5 2900 LDA df1+3,Y:STA df2+6:STAdf2+7 2910 JMP pdef:.dbw LDX #&FF:STX idx 2920.dbl1 INC idx:LDX idx 2930 LDA d%,X:CMP #13:BEQ db1x 2940 JSR gdef:LDX #0 2950.dbl2 LDA df1,X:JSR dwd 2960 PHA:INX:CPX #8:BNE dbl2 2970 JSR pdef:DEX 2980.dbl3 PLA:JSR dwd:DEX:BPL dbl3 2990 JSR pdef:JMP dbl1 3000.db1x RTS:.dwd 3010 ROLA:PHP:ROLdf2,X:PLP:ROLdf2,X 3020 ROLA:PHP:ROLdf2,X:PLP:ROLdf2,X 3030 ROLA:PHP:ROLdf2,X:PLP:ROLdf2,X 3040 ROLA:PHP:ROLdf2,X:PLP:ROLdf2,X 3050 RTS:.posn PHA:LDA #31:JSR oswrch 3060 LDA xpo:JSR oswrch 3070 LDA ypo:JSR oswrch:PLA:RTS 3080.gdef STA chr 3090 LDX #chr MOD256:LDY #chr DIV256 3100 LDA #10:JSR osword 3110 LDA chr:CMP #32:BEQ prop 3120 LDX #7:LDA #0:.slop0 3130 ORA df1,X:DEX:BPL slop0 3140 TAX:STA tmp:BMI chg 3150.slop1 LDA #0:STA tmp:LDX #7 3160.slop2 LDA df1,X:ASL A 3170 STA df1,X:ORA tmp:STA tmp 3180 DEX:BPL slop2:BIT tmp:BPL slop1 3190.chg LDA sty:AND #1:BEQ fein 3200.ital CLC:ROR df1:ROR df1 3210 CLC:ROR df1+1:ROR df1+1 3220 CLC:ROR df1+2:ROR df1+3 3230.fein LDA sty:AND #2 3240 BEQ invt:LDX #7 3250.fl LDA df1,X:ASL A 3260 AND df1,X:STA df1,X:DEX:BPL fl 3270.invt LDA sty:AND #4 3280 BEQ prop:LDX #7 3290.iv LDA df1,X:EOR #&FF 3300 STA df1,X:DEX:BPL iv 3310.prop LDA #8:STA wid 3320 AND sty:BEQ gdxx 3330 LDA chr:CMP #32:BNE nspc 3340 LDA #4:BNE gdx 3350.nspc LDX #7:LDA #0 3360.prlp1 ORA df1,X:DEX 3370 BPL prlp1:LDX #8 3380.prlp2 ROR A:BCS prlp3 3390 DEX:BNE prlp2:.prlp3 TXA 3400.gdx STA wid:.gdxx RTS 3410.pdef LDA #23:JSR oswrch 3420 LDA #255:JSR oswrch:LDY #0 3430.pdl LDA df2,Y:JSR oswrch 3440 INY:CPY #8:BNE pdl 3450 LDA #255:JSR oswrch:RTS 3460]:NEXT:ENDPROC
dT$= "MicroWorks" nA$= "S.Turnbull" x� (c) Micro User 1987 �� � �135:�:�" at ";�:� ��4:�23,1,0;0;0;0;0; ��=�-&200:�init ��:�title:� �� �lift:�keys:G%=� �� G%<32 �ctrl �� G%>31 � G%<127 �let �� G%>127 � G%<138 �fn �� G%>143 � G%<154 �s_fn �� G%>159 � G%<170 �c_fn �� quit:�quit:� �� �ctrl �� G%=13 �ret � � �ret:� ip<8 � �ptr(ip):px=LX% "py=py-32+32*((SZ% �2)>0) ,�ptr(ip):� 6� �let:� ip<8 � @�ptr(ip):�txt(G%,0,col) J�ptr(ip):� T � �fn ^� G%<137 mode=G%-128 � �sp h� r� �sp:�ptr(ip):�nm |+� n$>"" �cli("SAVE "+n$+l$+" FFFF8000") ��ptr(ip):� �� �s_fn:� ip>-1 � �� G%=144 col=col � 1 �� G%=145 fill=� fill �� G%=146 � Nothing assigned �� G%=147 � Nothing assigned �� G%=148 � Nothing assigned �� G%=149 PT%=(PT%+1)�mxpt �� G%=150 wdth=(wdth+1)�mxwd �� G%=151 dens=(dens+1)�mxdn �� G%=152 SZ%=SZ% � 2 �� G%=153 �lp �� � �lp:�ptr(ip):�nm � n$>"" �cli("LOAD "+n$+l$) �ptr(ip):� &� �nm:�3,1:� 24,1000 0�5:�"Name:"n$:� 24,1000 :�"Name:"n$:�4,23,1,0;0;0;0; D� N� �cli($&700):�X%,Y% XY%=7:�&FFF7:� b-� �c_fn:� G%=160 �ptr(ip):�unset:�ptr(ip) l � ip>-1 � v� G%=161 � Nothing assigned �� G%=162 ST%=ST% � 1 �� G%=163 ST%=ST% � 2 �� G%=164 ST%=ST% � 4 �� G%=165 ST%=ST% � 8 �.� G%=166 wdth=wdth-1:� wdth=-1 wdth=mxwd-1 �.� G%=167 dens=dens-1:� dens=-1 dens=mxdn-1 �� G%=168 SZ%=SZ% � 1 �� G%=169 quit=� �� �� �init ��136"Please wait..."; �TY%=1023:BY%=0:*FX225,128 �LX%=0:RX%=1279:*FX226,144 !bx=0:px=400:py=700:*FX227,160 col=1:mode=0:unset=-1:ip=-1 !wdth=4:mxwd=20:dens=4:mxdn=20 ST%=10:SZ%=0:PT%=0 * mxpt=5:fill=�:l$=" FFFF5800" 4�unset:TG%=60:IG%=360/TG% >#�&FE17;&6060;&6060;&6060;&7C60; H� d% 256,s(TG%+TG%/4) Rquit=�:�assem:*FX4,2 \AC%=-129:CL%=-26:CR%=-122 fCU%=-58:CD%=-42:CC%=-106 p� A%=0 � TG%+TG%/4 zs(A%)=��(IG%*A%) ��:K%=�:� �� �title ��19,0,4;0;19,1,3;0; ��tab(T$,10,7,&A,3) ��tab("by",18,10,9,0) ��tab(A$,10,12,&C,1):*FX15 � Z%=�500:� �� �tab($d%,X%,Y%,A%,B%) �?sty=A%:?siz=B%:� out:� �� �quit:�:*FX4 ��tab(T$,4,4):� �� �keys �� dx=0:dy=0:*FX21 � K% �ptr(ip) �K%=�AC%:��K% � �CL% dx=-�inc $� �CR% dx=+�inc .� �CD% dy=-�inc 8� �CU% dy=+�inc B� �CC% K%=� L� K% �ptr(ip):�move V� �K%:� `� �move:*FX21 j� dx=0 � dy=0 �set:� tpx=px+dx:py=py+dy ~!� px<LX% px=LX%��px>RX%px=RX% �!� py<BY% py=BY%��py>TY%py=TY% �� �� �ptr(P%):� 3,1 ��P%=-1 �pcr:� ��P%<6 �mode(P%):� ��P%=6 �brsh(wdth):� ��P%=7 �spry(dens,wdth):� ��P%=8 �mode(P%) �� � � �pcr �� px,BY%:� px,TY% �� LX%,py:� RX%,py � � �inc:K%=� =4-12*�-1-28*�-2 � �set:K%=� (� ip=-1 �start � �form 2�lift:� <� �start:ip=mode F!px2=px1:py2=py1:px1=px:py1=py P� mode<>5 � Z�chr(�"?"):*FX21 dsides=�"3456789",�)+2 n� sides<3 sides=0:�unset x�chr(�"?"):� �� �chr(C%):�5 �� px-16,py+32:�C%4 �� �� �mode(M%) �� M%=0 �ln:� �� M%=1 �dt:� �� M%=2 �tr:� �� M%=3 �rc:� �� M%=4 �cc:� �� M%=5 �pl:� �� M%=6 � Nothing assigned �� M%=7 � Nothing assigned �� M%=8 �tx(px,py) � � �form:� 0,col � ip<8 �mode(ip) "�unset:� ,� �ln:� P%:P%=5 6� �dt:� P%:P%=21 @�plot(P%):� J&� �tr:� px2=unset ip=-1:�ptr(ip):� T� fill �plot(85):� ^� px2,py2:� px1,py1 h� px,py:� px2,py2:� r� �plot(P%) |� px2,py2:� px1,py1 �� P%,px,py:� � � �unset:px2=unset:py2=unset �#� mode>3 � mode<6 px=px1:py=py1 �px1=unset:py1=unset:ip=-1:� � � �rc �� fill �rcf � �rcu �� � � �rcf �� px1,py1:� px1,py �� 85,px,py1:� 85,px,py �� � � �rcu �� px1,py1:� px1,py � px,py:� px,py1 � px1,py1:� � �cc &� X%,Y%,R%,E%,P%,Q% 0"� fill P%=4:Q%=5 � P%=69:Q%=69 :Y%=�((px-px1)^2+(py-py1)^2) D� Y%<4 �69,px,py:� NE%=3-2*Y%:�29,px1;py1; X� X%<Y% � �dc:�X%>=Y% b� X%=Y% �dc l�29,0;0;:� v � �dc �� P%,X%,Y%:� Q%,X%,-Y% �� P%,Y%,X%:� Q%,Y%,-X% �� P%,-X%,Y%:� Q%,-X%,-Y% �� P%,-Y%,X%:� Q%,-Y%,-X% �4� E%<0 E%=E%+4*X%+6 � E%=E%+4*(X%-Y%)+10:Y%=Y%-4 � X%=X%+4:� � � �pl �$� fill �plf(sides) � �plu(sides) �� �� �plu(S%):� A,I,R% �R%=�((px-px1)^2+(py-py1)^2) �� R%<4 � �I=360/S%:� px1,py1+R% � A=0 � 360+I � I !� px1+�sn(A)*R%,py1+�cs(A)*R% �:� � �plf(S%) *� A,I,R%,X%,Y% 4R%=�((px-px1)^2+(py-py1)^2) >� R%<4 � HI=360/S%:X%=px1:Y%=py1+R% R� A=0 � 360+I � I \� X%,Y%:X%=px1+�sn(A)*R% fY%=py1+�cs(A)*R%:� X%,Y% p� 85,px1,py1:�:� z� �sn(A%)=s((A%�360)�IG%) �"� �cs(A%)=s(((A%+90)�360)�IG%) �� �brsh(W%):�0,col �� fill:fill=� �px1=px:px=px+W%*4:py1=py ��mode(4):px=px1:� �� �spry(S%,W%):�0,col �� A%,L%,R%,C%:� S%=0 � �W%=W%*4:� L%=1 � S% �� �(3)=1 �:� �A%=�(360):R%=�(W%) �0�69,px+R%*s(A%�IG%),py+R%*s((A%+90)�360�IG%) ��:� �� �lift:� ip<0 �ptr(ip) ���AC%:� ip<0 �ptr(ip) � � �tx(px,py) $�txt(254,3,col):� .� �txt(C%,A%,B%) 8� ip<>8 � � �A%,B% B%?sty=ST%:?siz=SZ%:d%?0=C%:d%?1=13 L�px,py:�5:� prnt V�4,23,1,0;0;0;0;:px=px+�tix `� j� �tix:� W%:W%=?wid t� ST% �8 W%=W%+PT% ~=(W%-W%*((SZ%�1)>0))*4 �� �assem:code=� �chr=&4F:df1=&50:df2=&58 �#xpo=&61:ypo=&62:idx=&63:idy=&64 �#sty=&65:siz=&66:wid=&67:tmp=&68 �oswrch=&FFEE:osword=&FFF1 �osbyte=&FFF4:� L%=0 � 2 � 2 �P%=code:[OPT L% �.out STX xpo:STY ypo � LDX d%:CPX #13:BNE ppp:RTS �.ppp JSR posn:.prnt �! LDA siz:� #15:CMP #0:BEQ nrm �! CMP #2:BEQ dbh:CMP #3:BEQ qd " JMP dbw:.nrm LDX #&FF:STX idx .nrm1 INC idx:LDX idx LDA d%,X:CMP #13:BEQ nrmx JSR gdef:LDX #7 (.nm LDA df1,X:STA df2,X 2! DEX:BPL nm:JSR pdef:JMP nrm1 < .nrmx RTS F.qd LDX #&FF:STX idx P.qd1 INC idx:LDX idx Z LDA d%,X:CMP #13:BEQ qdx d JSR gdef:LDX #0 n.qd2 LDA df1,X:JSR dwd:PHA x INX:CPX #8:BNE qd2 � JSR def21:JSR pdh:LDX #7 � .qd3 PLA:JSR dwd:DEX:BPL qd3 � JSR def21:JSR pdh:JMP qd1 �.qdx RTS �.def21 LDX #7 �.d21 LDA df2,X:STA df1,X � DEX:BPL d21:RTS �.dbh LDX #&FF:STX idx �.dhl1 INC idx:LDX idx � LDA d%,X:CMP #13:BEQ dh1x � JSR gdef:JSR pdh:JMP dhl1 � .dh1x RTS �.pdh LDY #0:JSR dhd LDA #8:JSR oswrch LDA #10:JSR oswrch LDY #4:JSR dhd " LDA #11:JSR oswrch:RTS ,.dhd 6# LDA df1+0,Y:STA df2+0:STAdf2+1 @# LDA df1+1,Y:STA df2+2:STAdf2+3 J# LDA df1+2,Y:STA df2+4:STAdf2+5 T# LDA df1+3,Y:STA df2+6:STAdf2+7 ^# JMP pdef:.dbw LDX #&FF:STX idx h.dbl1 INC idx:LDX idx r LDA d%,X:CMP #13:BEQ db1x | JSR gdef:LDX #0 �.dbl2 LDA df1,X:JSR dwd � PHA:INX:CPX #8:BNE dbl2 � JSR pdef:DEX �".dbl3 PLA:JSR dwd:DEX:BPL dbl3 � JSR pdef:JMP dbl1 �.db1x RTS:.dwd �# ROLA:PHP:ROLdf2,X:PLP:ROLdf2,X �# ROLA:PHP:ROLdf2,X:PLP:ROLdf2,X �# ROLA:PHP:ROLdf2,X:PLP:ROLdf2,X �# ROLA:PHP:ROLdf2,X:PLP:ROLdf2,X �% RTS:.posn PHA:LDA #31:JSR oswrch � LDA xpo:JSR oswrch � LDA ypo:JSR oswrch:PLA:RTS .gdef STA chr LDX #chr �256:LDY #chr �256 LDA #10:JSR osword & LDA chr:CMP #32:BEQ prop 0 LDX #7:LDA #0:.slop0 : �A df1,X:DEX:BPL slop0 D TAX:STA tmp:BMI chg N .slop1 LDA #0:STA tmp:LDX #7 X.slop2 LDA df1,X:ASL A b STA df1,X:�A tmp:STA tmp l$ DEX:BPL slop2:BIT tmp:BPL slop1 v.chg LDA sty:� #1:BEQ fein �.ital CLC:ROR df1:ROR df1 � CLC:ROR df1+1:ROR df1+1 � CLC:ROR df1+2:ROR df1+3 �.fein LDA sty:� #2 � BEQ invt:LDX #7 �.fl LDA df1,X:ASL A �! � df1,X:STA df1,X:DEX:BPL fl �.invt LDA sty:� #4 � BEQ prop:LDX #7 �.iv LDA df1,X:� #&FF � STA df1,X:DEX:BPL iv �.prop LDA #8:STA wid � � sty:BEQ gdxx LDA chr:CMP #32:BNE nspc LDA #4:BNE gdx .nspc LDX #7:LDA #0 .prlp1 �A df1,X:DEX * BPL prlp1:LDX #8 4.prlp2 ROR A:BCS prlp3 > DEX:BNE prlp2:.prlp3 TXA H.gdx STA wid:.gdxx RTS R.pdef LDA #23:JSR oswrch \ LDA #255:JSR oswrch:LDY #0 f.pdl LDA df2,Y:JSR oswrch p INY:CPY #8:BNE pdl z LDA #255:JSR oswrch:RTS � ]:�:� �
00000000 0d 00 64 14 54 24 3d 20 22 4d 69 63 72 6f 57 6f |..d.T$= "MicroWo| 00000010 72 6b 73 22 0d 00 6e 14 41 24 3d 20 22 53 2e 54 |rks"..n.A$= "S.T| 00000020 75 72 6e 62 75 6c 6c 22 0d 00 78 19 f4 20 28 63 |urnbull"..x.. (c| 00000030 29 20 4d 69 63 72 6f 20 55 73 65 72 20 31 39 38 |) Micro User 198| 00000040 37 0d 00 82 1a ee 20 85 20 eb 31 33 35 3a f6 3a |7..... . .135:.:| 00000050 f1 22 20 61 74 20 22 3b 9e 3a e0 0d 00 8c 17 eb |." at ";.:......| 00000060 34 3a ef 32 33 2c 31 2c 30 3b 30 3b 30 3b 30 3b |4:.23,1,0;0;0;0;| 00000070 30 3b 0d 00 96 12 d3 3d 93 2d 26 32 30 30 3a f2 |0;.....=.-&200:.| 00000080 69 6e 69 74 0d 00 a0 0e db 3a f2 74 69 74 6c 65 |init.....:.title| 00000090 3a db 0d 00 aa 16 f5 20 f2 6c 69 66 74 3a f2 6b |:...... .lift:.k| 000000a0 65 79 73 3a 47 25 3d a5 0d 00 b4 11 e7 20 47 25 |eys:G%=...... G%| 000000b0 3c 33 32 20 f2 63 74 72 6c 0d 00 be 19 e7 20 47 |<32 .ctrl..... G| 000000c0 25 3e 33 31 20 e7 20 47 25 3c 31 32 37 20 f2 6c |%>31 . G%<127 .l| 000000d0 65 74 0d 00 c8 19 e7 20 47 25 3e 31 32 37 20 e7 |et..... G%>127 .| 000000e0 20 47 25 3c 31 33 38 20 f2 66 6e 0d 00 d2 1b e7 | G%<138 .fn.....| 000000f0 20 47 25 3e 31 34 33 20 e7 20 47 25 3c 31 35 34 | G%>143 . G%<154| 00000100 20 f2 73 5f 66 6e 0d 00 dc 1b e7 20 47 25 3e 31 | .s_fn..... G%>1| 00000110 35 39 20 e7 20 47 25 3c 31 37 30 20 f2 63 5f 66 |59 . G%<170 .c_f| 00000120 6e 0d 00 e6 12 fd 20 71 75 69 74 3a f2 71 75 69 |n..... quit:.qui| 00000130 74 3a e0 0d 00 f0 0b dd 20 f2 63 74 72 6c 0d 00 |t:...... .ctrl..| 00000140 fa 10 e7 20 47 25 3d 31 33 20 f2 72 65 74 0d 01 |... G%=13 .ret..| 00000150 04 05 e1 0d 01 0e 13 dd 20 f2 72 65 74 3a e7 20 |........ .ret:. | 00000160 69 70 3c 38 20 e1 0d 01 18 13 f2 70 74 72 28 69 |ip<8 ......ptr(i| 00000170 70 29 3a 70 78 3d 4c 58 25 0d 01 22 1c 70 79 3d |p):px=LX%..".py=| 00000180 70 79 2d 33 32 2b 33 32 2a 28 28 53 5a 25 20 80 |py-32+32*((SZ% .| 00000190 32 29 3e 30 29 0d 01 2c 0e f2 70 74 72 28 69 70 |2)>0)..,..ptr(ip| 000001a0 29 3a e1 0d 01 36 13 dd 20 f2 6c 65 74 3a e7 20 |):...6.. .let:. | 000001b0 69 70 3c 38 20 e1 0d 01 40 1b f2 70 74 72 28 69 |ip<8 ...@..ptr(i| 000001c0 70 29 3a f2 74 78 74 28 47 25 2c 30 2c 63 6f 6c |p):.txt(G%,0,col| 000001d0 29 0d 01 4a 0e f2 70 74 72 28 69 70 29 3a e1 0d |)..J..ptr(ip):..| 000001e0 01 54 09 dd 20 f2 66 6e 0d 01 5e 1e e7 20 47 25 |.T.. .fn..^.. G%| 000001f0 3c 31 33 37 20 6d 6f 64 65 3d 47 25 2d 31 32 38 |<137 mode=G%-128| 00000200 20 8b 20 f2 73 70 0d 01 68 05 e1 0d 01 72 16 dd | . .sp..h....r..| 00000210 20 f2 73 70 3a f2 70 74 72 28 69 70 29 3a f2 6e | .sp:.ptr(ip):.n| 00000220 6d 0d 01 7c 2b e7 20 6e 24 3e 22 22 20 f2 63 6c |m..|+. n$>"" .cl| 00000230 69 28 22 53 41 56 45 20 22 2b 6e 24 2b 6c 24 2b |i("SAVE "+n$+l$+| 00000240 22 20 46 46 46 46 38 30 30 30 22 29 0d 01 86 0e |" FFFF8000")....| 00000250 f2 70 74 72 28 69 70 29 3a e1 0d 01 90 15 dd 20 |.ptr(ip):...... | 00000260 f2 73 5f 66 6e 3a e7 20 69 70 3e 2d 31 20 e1 0d |.s_fn:. ip>-1 ..| 00000270 01 9a 18 e7 20 47 25 3d 31 34 34 20 63 6f 6c 3d |.... G%=144 col=| 00000280 63 6f 6c 20 82 20 31 0d 01 a4 18 e7 20 47 25 3d |col . 1..... G%=| 00000290 31 34 35 20 66 69 6c 6c 3d ac 20 66 69 6c 6c 0d |145 fill=. fill.| 000002a0 01 ae 1f e7 20 47 25 3d 31 34 36 20 f4 20 4e 6f |.... G%=146 . No| 000002b0 74 68 69 6e 67 20 61 73 73 69 67 6e 65 64 0d 01 |thing assigned..| 000002c0 b8 1f e7 20 47 25 3d 31 34 37 20 f4 20 4e 6f 74 |... G%=147 . Not| 000002d0 68 69 6e 67 20 61 73 73 69 67 6e 65 64 0d 01 c2 |hing assigned...| 000002e0 1f e7 20 47 25 3d 31 34 38 20 f4 20 4e 6f 74 68 |.. G%=148 . Noth| 000002f0 69 6e 67 20 61 73 73 69 67 6e 65 64 0d 01 cc 1d |ing assigned....| 00000300 e7 20 47 25 3d 31 34 39 20 50 54 25 3d 28 50 54 |. G%=149 PT%=(PT| 00000310 25 2b 31 29 83 6d 78 70 74 0d 01 d6 1f e7 20 47 |%+1).mxpt..... G| 00000320 25 3d 31 35 30 20 77 64 74 68 3d 28 77 64 74 68 |%=150 wdth=(wdth| 00000330 2b 31 29 83 6d 78 77 64 0d 01 e0 1f e7 20 47 25 |+1).mxwd..... G%| 00000340 3d 31 35 31 20 64 65 6e 73 3d 28 64 65 6e 73 2b |=151 dens=(dens+| 00000350 31 29 83 6d 78 64 6e 0d 01 ea 18 e7 20 47 25 3d |1).mxdn..... G%=| 00000360 31 35 32 20 53 5a 25 3d 53 5a 25 20 82 20 32 0d |152 SZ%=SZ% . 2.| 00000370 01 f4 10 e7 20 47 25 3d 31 35 33 20 f2 6c 70 0d |.... G%=153 .lp.| 00000380 01 fe 05 e1 0d 02 08 16 dd 20 f2 6c 70 3a f2 70 |......... .lp:.p| 00000390 74 72 28 69 70 29 3a f2 6e 6d 0d 02 12 1f e7 20 |tr(ip):.nm..... | 000003a0 6e 24 3e 22 22 20 f2 63 6c 69 28 22 4c 4f 41 44 |n$>"" .cli("LOAD| 000003b0 20 22 2b 6e 24 2b 6c 24 29 0d 02 1c 0e f2 70 74 | "+n$+l$).....pt| 000003c0 72 28 69 70 29 3a e1 0d 02 26 18 dd 20 f2 6e 6d |r(ip):...&.. .nm| 000003d0 3a e6 33 2c 31 3a ec 20 32 34 2c 31 30 30 30 0d |:.3,1:. 24,1000.| 000003e0 02 30 1b ef 35 3a e8 22 4e 61 6d 65 3a 22 6e 24 |.0..5:."Name:"n$| 000003f0 3a ec 20 32 34 2c 31 30 30 30 0d 02 3a 1f f1 22 |:. 24,1000..:.."| 00000400 4e 61 6d 65 3a 22 6e 24 3a ef 34 2c 32 33 2c 31 |Name:"n$:.4,23,1| 00000410 2c 30 3b 30 3b 30 3b 30 3b 0d 02 44 05 e1 0d 02 |,0;0;0;0;..D....| 00000420 4e 18 dd 20 f2 63 6c 69 28 24 26 37 30 30 29 3a |N.. .cli($&700):| 00000430 ea 58 25 2c 59 25 0d 02 58 11 59 25 3d 37 3a d6 |.X%,Y%..X.Y%=7:.| 00000440 26 46 46 46 37 3a e1 0d 02 62 2d dd 20 f2 63 5f |&FFF7:...b-. .c_| 00000450 66 6e 3a e7 20 47 25 3d 31 36 30 20 f2 70 74 72 |fn:. G%=160 .ptr| 00000460 28 69 70 29 3a f2 75 6e 73 65 74 3a f2 70 74 72 |(ip):.unset:.ptr| 00000470 28 69 70 29 0d 02 6c 0d e7 20 69 70 3e 2d 31 20 |(ip)..l.. ip>-1 | 00000480 e1 0d 02 76 1f e7 20 47 25 3d 31 36 31 20 f4 20 |...v.. G%=161 . | 00000490 4e 6f 74 68 69 6e 67 20 61 73 73 69 67 6e 65 64 |Nothing assigned| 000004a0 0d 02 80 18 e7 20 47 25 3d 31 36 32 20 53 54 25 |..... G%=162 ST%| 000004b0 3d 53 54 25 20 82 20 31 0d 02 8a 18 e7 20 47 25 |=ST% . 1..... G%| 000004c0 3d 31 36 33 20 53 54 25 3d 53 54 25 20 82 20 32 |=163 ST%=ST% . 2| 000004d0 0d 02 94 18 e7 20 47 25 3d 31 36 34 20 53 54 25 |..... G%=164 ST%| 000004e0 3d 53 54 25 20 82 20 34 0d 02 9e 18 e7 20 47 25 |=ST% . 4..... G%| 000004f0 3d 31 36 35 20 53 54 25 3d 53 54 25 20 82 20 38 |=165 ST%=ST% . 8| 00000500 0d 02 a8 2e e7 20 47 25 3d 31 36 36 20 77 64 74 |..... G%=166 wdt| 00000510 68 3d 77 64 74 68 2d 31 3a e7 20 77 64 74 68 3d |h=wdth-1:. wdth=| 00000520 2d 31 20 77 64 74 68 3d 6d 78 77 64 2d 31 0d 02 |-1 wdth=mxwd-1..| 00000530 b2 2e e7 20 47 25 3d 31 36 37 20 64 65 6e 73 3d |... G%=167 dens=| 00000540 64 65 6e 73 2d 31 3a e7 20 64 65 6e 73 3d 2d 31 |dens-1:. dens=-1| 00000550 20 64 65 6e 73 3d 6d 78 64 6e 2d 31 0d 02 bc 18 | dens=mxdn-1....| 00000560 e7 20 47 25 3d 31 36 38 20 53 5a 25 3d 53 5a 25 |. G%=168 SZ%=SZ%| 00000570 20 82 20 31 0d 02 c6 13 e7 20 47 25 3d 31 36 39 | . 1..... G%=169| 00000580 20 71 75 69 74 3d b9 0d 02 d0 05 e1 0d 02 da 0b | quit=..........| 00000590 dd 20 f2 69 6e 69 74 0d 02 e4 1a f1 bd 31 33 36 |. .init......136| 000005a0 22 50 6c 65 61 73 65 20 77 61 69 74 2e 2e 2e 22 |"Please wait..."| 000005b0 3b 0d 02 ee 1d 54 59 25 3d 31 30 32 33 3a 42 59 |;....TY%=1023:BY| 000005c0 25 3d 30 3a 2a 46 58 32 32 35 2c 31 32 38 0d 02 |%=0:*FX225,128..| 000005d0 f8 1d 4c 58 25 3d 30 3a 52 58 25 3d 31 32 37 39 |..LX%=0:RX%=1279| 000005e0 3a 2a 46 58 32 32 36 2c 31 34 34 0d 03 02 21 62 |:*FX226,144...!b| 000005f0 78 3d 30 3a 70 78 3d 34 30 30 3a 70 79 3d 37 30 |x=0:px=400:py=70| 00000600 30 3a 2a 46 58 32 32 37 2c 31 36 30 0d 03 0c 1f |0:*FX227,160....| 00000610 63 6f 6c 3d 31 3a 6d 6f 64 65 3d 30 3a 75 6e 73 |col=1:mode=0:uns| 00000620 65 74 3d 2d 31 3a 69 70 3d 2d 31 0d 03 16 21 77 |et=-1:ip=-1...!w| 00000630 64 74 68 3d 34 3a 6d 78 77 64 3d 32 30 3a 64 65 |dth=4:mxwd=20:de| 00000640 6e 73 3d 34 3a 6d 78 64 6e 3d 32 30 0d 03 20 16 |ns=4:mxdn=20.. .| 00000650 53 54 25 3d 31 30 3a 53 5a 25 3d 30 3a 50 54 25 |ST%=10:SZ%=0:PT%| 00000660 3d 30 0d 03 2a 20 6d 78 70 74 3d 35 3a 66 69 6c |=0..* mxpt=5:fil| 00000670 6c 3d a3 3a 6c 24 3d 22 20 46 46 46 46 35 38 30 |l=.:l$=" FFFF580| 00000680 30 22 0d 03 34 1d f2 75 6e 73 65 74 3a 54 47 25 |0"..4..unset:TG%| 00000690 3d 36 30 3a 49 47 25 3d 33 36 30 2f 54 47 25 0d |=60:IG%=360/TG%.| 000006a0 03 3e 23 ef 26 46 45 31 37 3b 26 36 30 36 30 3b |.>#.&FE17;&6060;| 000006b0 26 36 30 36 30 3b 26 36 30 36 30 3b 26 37 43 36 |&6060;&6060;&7C6| 000006c0 30 3b 0d 03 48 19 de 20 64 25 20 32 35 36 2c 73 |0;..H.. d% 256,s| 000006d0 28 54 47 25 2b 54 47 25 2f 34 29 0d 03 52 18 71 |(TG%+TG%/4)..R.q| 000006e0 75 69 74 3d a3 3a f2 61 73 73 65 6d 3a 2a 46 58 |uit=.:.assem:*FX| 000006f0 34 2c 32 0d 03 5c 1d 41 43 25 3d 2d 31 32 39 3a |4,2..\.AC%=-129:| 00000700 43 4c 25 3d 2d 32 36 3a 43 52 25 3d 2d 31 32 32 |CL%=-26:CR%=-122| 00000710 0d 03 66 1c 43 55 25 3d 2d 35 38 3a 43 44 25 3d |..f.CU%=-58:CD%=| 00000720 2d 34 32 3a 43 43 25 3d 2d 31 30 36 0d 03 70 16 |-42:CC%=-106..p.| 00000730 e3 20 41 25 3d 30 20 b8 20 54 47 25 2b 54 47 25 |. A%=0 . TG%+TG%| 00000740 2f 34 0d 03 7a 14 73 28 41 25 29 3d b5 b2 28 49 |/4..z.s(A%)=..(I| 00000750 47 25 2a 41 25 29 0d 03 84 0c ed 3a 4b 25 3d b9 |G%*A%).....:K%=.| 00000760 3a e1 0d 03 8e 0c dd 20 f2 74 69 74 6c 65 0d 03 |:...... .title..| 00000770 98 17 ef 31 39 2c 30 2c 34 3b 30 3b 31 39 2c 31 |...19,0,4;0;19,1| 00000780 2c 33 3b 30 3b 0d 03 a2 16 f2 74 61 62 28 54 24 |,3;0;.....tab(T$| 00000790 2c 31 30 2c 37 2c 26 41 2c 33 29 0d 03 ac 18 f2 |,10,7,&A,3).....| 000007a0 74 61 62 28 22 62 79 22 2c 31 38 2c 31 30 2c 39 |tab("by",18,10,9| 000007b0 2c 30 29 0d 03 b6 1d f2 74 61 62 28 41 24 2c 31 |,0).....tab(A$,1| 000007c0 30 2c 31 32 2c 26 43 2c 31 29 3a 2a 46 58 31 35 |0,12,&C,1):*FX15| 000007d0 0d 03 c0 0d 5a 25 3d a6 35 30 30 3a e1 0d 03 ca |....Z%=.500:....| 000007e0 1b dd 20 f2 74 61 62 28 24 64 25 2c 58 25 2c 59 |.. .tab($d%,X%,Y| 000007f0 25 2c 41 25 2c 42 25 29 0d 03 d4 1b 3f 73 74 79 |%,A%,B%)....?sty| 00000800 3d 41 25 3a 3f 73 69 7a 3d 42 25 3a d6 20 6f 75 |=A%:?siz=B%:. ou| 00000810 74 3a e1 0d 03 de 12 dd 20 f2 71 75 69 74 3a db |t:...... .quit:.| 00000820 3a 2a 46 58 34 0d 03 e8 12 f2 74 61 62 28 54 24 |:*FX4.....tab(T$| 00000830 2c 34 2c 34 29 3a e1 0d 03 f2 0b dd 20 f2 6b 65 |,4,4):...... .ke| 00000840 79 73 0d 03 fc 15 f5 20 64 78 3d 30 3a 64 79 3d |ys..... dx=0:dy=| 00000850 30 3a 2a 46 58 32 31 0d 04 06 11 e7 20 4b 25 20 |0:*FX21..... K% | 00000860 f2 70 74 72 28 69 70 29 0d 04 10 11 f5 4b 25 3d |.ptr(ip).....K%=| 00000870 a6 41 43 25 3a fd ac 4b 25 0d 04 1a 13 e7 20 a6 |.AC%:..K%..... .| 00000880 43 4c 25 20 64 78 3d 2d a4 69 6e 63 0d 04 24 13 |CL% dx=-.inc..$.| 00000890 e7 20 a6 43 52 25 20 64 78 3d 2b a4 69 6e 63 0d |. .CR% dx=+.inc.| 000008a0 04 2e 13 e7 20 a6 43 44 25 20 64 79 3d 2d a4 69 |.... .CD% dy=-.i| 000008b0 6e 63 0d 04 38 13 e7 20 a6 43 55 25 20 64 79 3d |nc..8.. .CU% dy=| 000008c0 2b a4 69 6e 63 0d 04 42 0f e7 20 a6 43 43 25 20 |+.inc..B.. .CC% | 000008d0 4b 25 3d b9 0d 04 4c 17 e7 20 4b 25 20 f2 70 74 |K%=...L.. K% .pt| 000008e0 72 28 69 70 29 3a f2 6d 6f 76 65 0d 04 56 0b fd |r(ip):.move..V..| 000008f0 20 ac 4b 25 3a e1 0d 04 60 11 dd 20 f2 6d 6f 76 | .K%:...`.. .mov| 00000900 65 3a 2a 46 58 32 31 0d 04 6a 18 e7 20 64 78 3d |e:*FX21..j.. dx=| 00000910 30 20 e7 20 64 79 3d 30 20 f2 73 65 74 3a e1 0d |0 . dy=0 .set:..| 00000920 04 74 15 70 78 3d 70 78 2b 64 78 3a 70 79 3d 70 |.t.px=px+dx:py=p| 00000930 79 2b 64 79 0d 04 7e 21 e7 20 70 78 3c 4c 58 25 |y+dy..~!. px<LX%| 00000940 20 70 78 3d 4c 58 25 8b e7 70 78 3e 52 58 25 70 | px=LX%..px>RX%p| 00000950 78 3d 52 58 25 0d 04 88 21 e7 20 70 79 3c 42 59 |x=RX%...!. py<BY| 00000960 25 20 70 79 3d 42 59 25 8b e7 70 79 3e 54 59 25 |% py=BY%..py>TY%| 00000970 70 79 3d 54 59 25 0d 04 92 05 e1 0d 04 9c 14 dd |py=TY%..........| 00000980 20 f2 70 74 72 28 50 25 29 3a e6 20 33 2c 31 0d | .ptr(P%):. 3,1.| 00000990 04 a6 11 e7 50 25 3d 2d 31 20 f2 70 63 72 3a e1 |....P%=-1 .pcr:.| 000009a0 0d 04 b0 15 e7 50 25 3c 36 20 f2 6d 6f 64 65 28 |.....P%<6 .mode(| 000009b0 50 25 29 3a e1 0d 04 ba 17 e7 50 25 3d 36 20 f2 |P%):......P%=6 .| 000009c0 62 72 73 68 28 77 64 74 68 29 3a e1 0d 04 c4 1c |brsh(wdth):.....| 000009d0 e7 50 25 3d 37 20 f2 73 70 72 79 28 64 65 6e 73 |.P%=7 .spry(dens| 000009e0 2c 77 64 74 68 29 3a e1 0d 04 ce 13 e7 50 25 3d |,wdth):......P%=| 000009f0 38 20 f2 6d 6f 64 65 28 50 25 29 0d 04 d8 05 e1 |8 .mode(P%).....| 00000a00 0d 04 e2 0a dd 20 f2 70 63 72 0d 04 ec 15 ec 20 |..... .pcr..... | 00000a10 70 78 2c 42 59 25 3a df 20 70 78 2c 54 59 25 0d |px,BY%:. px,TY%.| 00000a20 04 f6 15 ec 20 4c 58 25 2c 70 79 3a df 20 52 58 |.... LX%,py:. RX| 00000a30 25 2c 70 79 0d 05 00 05 e1 0d 05 0a 0f dd 20 a4 |%,py.......... .| 00000a40 69 6e 63 3a 4b 25 3d b9 0d 05 14 14 3d 34 2d 31 |inc:K%=.....=4-1| 00000a50 32 2a a6 2d 31 2d 32 38 2a a6 2d 32 0d 05 1e 0f |2*.-1-28*.-2....| 00000a60 dd 20 f2 73 65 74 3a 4b 25 3d b9 0d 05 28 1a e7 |. .set:K%=...(..| 00000a70 20 69 70 3d 2d 31 20 f2 73 74 61 72 74 20 8b 20 | ip=-1 .start . | 00000a80 f2 66 6f 72 6d 0d 05 32 0b f2 6c 69 66 74 3a e1 |.form..2..lift:.| 00000a90 0d 05 3c 14 dd 20 f2 73 74 61 72 74 3a 69 70 3d |..<.. .start:ip=| 00000aa0 6d 6f 64 65 0d 05 46 21 70 78 32 3d 70 78 31 3a |mode..F!px2=px1:| 00000ab0 70 79 32 3d 70 79 31 3a 70 78 31 3d 70 78 3a 70 |py2=py1:px1=px:p| 00000ac0 79 31 3d 70 79 0d 05 50 0f e7 20 6d 6f 64 65 3c |y1=py..P.. mode<| 00000ad0 3e 35 20 e1 0d 05 5a 14 f2 63 68 72 28 97 22 3f |>5 ...Z..chr(."?| 00000ae0 22 29 3a 2a 46 58 32 31 0d 05 64 19 73 69 64 65 |"):*FX21..d.side| 00000af0 73 3d a7 22 33 34 35 36 37 38 39 22 2c be 29 2b |s=."3456789",.)+| 00000b00 32 0d 05 6e 1c e7 20 73 69 64 65 73 3c 33 20 73 |2..n.. sides<3 s| 00000b10 69 64 65 73 3d 30 3a f2 75 6e 73 65 74 0d 05 78 |ides=0:.unset..x| 00000b20 10 f2 63 68 72 28 97 22 3f 22 29 3a e1 0d 05 82 |..chr(."?"):....| 00000b30 11 dd 20 f2 63 68 72 28 43 25 29 3a ef 35 0d 05 |.. .chr(C%):.5..| 00000b40 8c 16 ec 20 70 78 2d 31 36 2c 70 79 2b 33 32 3a |... px-16,py+32:| 00000b50 ef 43 25 34 0d 05 96 05 e1 0d 05 a0 0f dd 20 f2 |.C%4.......... .| 00000b60 6d 6f 64 65 28 4d 25 29 0d 05 aa 10 e7 20 4d 25 |mode(M%)..... M%| 00000b70 3d 30 20 f2 6c 6e 3a e1 0d 05 b4 10 e7 20 4d 25 |=0 .ln:...... M%| 00000b80 3d 31 20 f2 64 74 3a e1 0d 05 be 10 e7 20 4d 25 |=1 .dt:...... M%| 00000b90 3d 32 20 f2 74 72 3a e1 0d 05 c8 10 e7 20 4d 25 |=2 .tr:...... M%| 00000ba0 3d 33 20 f2 72 63 3a e1 0d 05 d2 10 e7 20 4d 25 |=3 .rc:...... M%| 00000bb0 3d 34 20 f2 63 63 3a e1 0d 05 dc 10 e7 20 4d 25 |=4 .cc:...... M%| 00000bc0 3d 35 20 f2 70 6c 3a e1 0d 05 e6 1d e7 20 4d 25 |=5 .pl:...... M%| 00000bd0 3d 36 20 f4 20 4e 6f 74 68 69 6e 67 20 61 73 73 |=6 . Nothing ass| 00000be0 69 67 6e 65 64 0d 05 f0 1d e7 20 4d 25 3d 37 20 |igned..... M%=7 | 00000bf0 f4 20 4e 6f 74 68 69 6e 67 20 61 73 73 69 67 6e |. Nothing assign| 00000c00 65 64 0d 05 fa 15 e7 20 4d 25 3d 38 20 f2 74 78 |ed..... M%=8 .tx| 00000c10 28 70 78 2c 70 79 29 0d 06 04 05 e1 0d 06 0e 13 |(px,py).........| 00000c20 dd 20 f2 66 6f 72 6d 3a e6 20 30 2c 63 6f 6c 0d |. .form:. 0,col.| 00000c30 06 18 14 e7 20 69 70 3c 38 20 f2 6d 6f 64 65 28 |.... ip<8 .mode(| 00000c40 69 70 29 0d 06 22 0c f2 75 6e 73 65 74 3a e1 0d |ip).."..unset:..| 00000c50 06 2c 13 dd 20 f2 6c 6e 3a ea 20 50 25 3a 50 25 |.,.. .ln:. P%:P%| 00000c60 3d 35 0d 06 36 14 dd 20 f2 64 74 3a ea 20 50 25 |=5..6.. .dt:. P%| 00000c70 3a 50 25 3d 32 31 0d 06 40 0f f2 70 6c 6f 74 28 |:P%=21..@..plot(| 00000c80 50 25 29 3a e1 0d 06 4a 26 dd 20 f2 74 72 3a e7 |P%):...J&. .tr:.| 00000c90 20 70 78 32 3d 75 6e 73 65 74 20 69 70 3d 2d 31 | px2=unset ip=-1| 00000ca0 3a f2 70 74 72 28 69 70 29 3a e1 0d 06 54 16 e7 |:.ptr(ip):...T..| 00000cb0 20 66 69 6c 6c 20 f2 70 6c 6f 74 28 38 35 29 3a | fill .plot(85):| 00000cc0 e1 0d 06 5e 17 ec 20 70 78 32 2c 70 79 32 3a df |...^.. px2,py2:.| 00000cd0 20 70 78 31 2c 70 79 31 0d 06 68 17 df 20 70 78 | px1,py1..h.. px| 00000ce0 2c 70 79 3a df 20 70 78 32 2c 70 79 32 3a e1 0d |,py:. px2,py2:..| 00000cf0 06 72 0f dd 20 f2 70 6c 6f 74 28 50 25 29 0d 06 |.r.. .plot(P%)..| 00000d00 7c 17 ec 20 70 78 32 2c 70 79 32 3a ec 20 70 78 ||.. px2,py2:. px| 00000d10 31 2c 70 79 31 0d 06 86 10 f0 20 50 25 2c 70 78 |1,py1..... P%,px| 00000d20 2c 70 79 3a e1 0d 06 90 20 dd 20 f2 75 6e 73 65 |,py:.... . .unse| 00000d30 74 3a 70 78 32 3d 75 6e 73 65 74 3a 70 79 32 3d |t:px2=unset:py2=| 00000d40 75 6e 73 65 74 0d 06 9a 23 e7 20 6d 6f 64 65 3e |unset...#. mode>| 00000d50 33 20 e7 20 6d 6f 64 65 3c 36 20 70 78 3d 70 78 |3 . mode<6 px=px| 00000d60 31 3a 70 79 3d 70 79 31 0d 06 a4 1f 70 78 31 3d |1:py=py1....px1=| 00000d70 75 6e 73 65 74 3a 70 79 31 3d 75 6e 73 65 74 3a |unset:py1=unset:| 00000d80 69 70 3d 2d 31 3a e1 0d 06 ae 09 dd 20 f2 72 63 |ip=-1:...... .rc| 00000d90 0d 06 b8 16 e7 20 66 69 6c 6c 20 f2 72 63 66 20 |..... fill .rcf | 00000da0 8b 20 f2 72 63 75 0d 06 c2 05 e1 0d 06 cc 0a dd |. .rcu..........| 00000db0 20 f2 72 63 66 0d 06 d6 16 ec 20 70 78 31 2c 70 | .rcf..... px1,p| 00000dc0 79 31 3a ec 20 70 78 31 2c 70 79 0d 06 e0 1a f0 |y1:. px1,py.....| 00000dd0 20 38 35 2c 70 78 2c 70 79 31 3a f0 20 38 35 2c | 85,px,py1:. 85,| 00000de0 70 78 2c 70 79 0d 06 ea 05 e1 0d 06 f4 0a dd 20 |px,py.......... | 00000df0 f2 72 63 75 0d 06 fe 16 ec 20 70 78 31 2c 70 79 |.rcu..... px1,py| 00000e00 31 3a df 20 70 78 31 2c 70 79 0d 07 08 14 df 20 |1:. px1,py..... | 00000e10 70 78 2c 70 79 3a df 20 70 78 2c 70 79 31 0d 07 |px,py:. px,py1..| 00000e20 12 0f df 20 70 78 31 2c 70 79 31 3a e1 0d 07 1c |... px1,py1:....| 00000e30 09 dd 20 f2 63 63 0d 07 26 17 ea 20 58 25 2c 59 |.. .cc..&.. X%,Y| 00000e40 25 2c 52 25 2c 45 25 2c 50 25 2c 51 25 0d 07 30 |%,R%,E%,P%,Q%..0| 00000e50 22 e7 20 66 69 6c 6c 20 50 25 3d 34 3a 51 25 3d |". fill P%=4:Q%=| 00000e60 35 20 8b 20 50 25 3d 36 39 3a 51 25 3d 36 39 0d |5 . P%=69:Q%=69.| 00000e70 07 3a 1f 59 25 3d b6 28 28 70 78 2d 70 78 31 29 |.:.Y%=.((px-px1)| 00000e80 5e 32 2b 28 70 79 2d 70 79 31 29 5e 32 29 0d 07 |^2+(py-py1)^2)..| 00000e90 44 16 e7 20 59 25 3c 34 20 f0 36 39 2c 70 78 2c |D.. Y%<4 .69,px,| 00000ea0 70 79 3a e1 0d 07 4e 1a 45 25 3d 33 2d 32 2a 59 |py:...N.E%=3-2*Y| 00000eb0 25 3a ef 32 39 2c 70 78 31 3b 70 79 31 3b 0d 07 |%:.29,px1;py1;..| 00000ec0 58 19 e7 20 58 25 3c 59 25 20 f5 20 f2 64 63 3a |X.. X%<Y% . .dc:| 00000ed0 fd 58 25 3e 3d 59 25 0d 07 62 0f e7 20 58 25 3d |.X%>=Y%..b.. X%=| 00000ee0 59 25 20 f2 64 63 0d 07 6c 0e ef 32 39 2c 30 3b |Y% .dc..l..29,0;| 00000ef0 30 3b 3a e1 0d 07 76 09 dd 20 f2 64 63 0d 07 80 |0;:...v.. .dc...| 00000f00 1a f0 20 50 25 2c 58 25 2c 59 25 3a f0 20 51 25 |.. P%,X%,Y%:. Q%| 00000f10 2c 58 25 2c 2d 59 25 0d 07 8a 1a f0 20 50 25 2c |,X%,-Y%..... P%,| 00000f20 59 25 2c 58 25 3a f0 20 51 25 2c 59 25 2c 2d 58 |Y%,X%:. Q%,Y%,-X| 00000f30 25 0d 07 94 1c f0 20 50 25 2c 2d 58 25 2c 59 25 |%..... P%,-X%,Y%| 00000f40 3a f0 20 51 25 2c 2d 58 25 2c 2d 59 25 0d 07 9e |:. Q%,-X%,-Y%...| 00000f50 1c f0 20 50 25 2c 2d 59 25 2c 58 25 3a f0 20 51 |.. P%,-Y%,X%:. Q| 00000f60 25 2c 2d 59 25 2c 2d 58 25 0d 07 a8 34 e7 20 45 |%,-Y%,-X%...4. E| 00000f70 25 3c 30 20 45 25 3d 45 25 2b 34 2a 58 25 2b 36 |%<0 E%=E%+4*X%+6| 00000f80 20 8b 20 45 25 3d 45 25 2b 34 2a 28 58 25 2d 59 | . E%=E%+4*(X%-Y| 00000f90 25 29 2b 31 30 3a 59 25 3d 59 25 2d 34 0d 07 b2 |%)+10:Y%=Y%-4...| 00000fa0 0d 58 25 3d 58 25 2b 34 3a e1 0d 07 bc 09 dd 20 |.X%=X%+4:...... | 00000fb0 f2 70 6c 0d 07 c6 24 e7 20 66 69 6c 6c 20 f2 70 |.pl...$. fill .p| 00000fc0 6c 66 28 73 69 64 65 73 29 20 8b 20 f2 70 6c 75 |lf(sides) . .plu| 00000fd0 28 73 69 64 65 73 29 0d 07 d0 05 e1 0d 07 da 17 |(sides).........| 00000fe0 dd 20 f2 70 6c 75 28 53 25 29 3a ea 20 41 2c 49 |. .plu(S%):. A,I| 00000ff0 2c 52 25 0d 07 e4 1f 52 25 3d b6 28 28 70 78 2d |,R%....R%=.((px-| 00001000 70 78 31 29 5e 32 2b 28 70 79 2d 70 79 31 29 5e |px1)^2+(py-py1)^| 00001010 32 29 0d 07 ee 0c e7 20 52 25 3c 34 20 e1 0d 07 |2)..... R%<4 ...| 00001020 f8 19 49 3d 33 36 30 2f 53 25 3a ec 20 70 78 31 |..I=360/S%:. px1| 00001030 2c 70 79 31 2b 52 25 0d 08 02 15 e3 20 41 3d 30 |,py1+R%..... A=0| 00001040 20 b8 20 33 36 30 2b 49 20 88 20 49 0d 08 0c 21 | . 360+I . I...!| 00001050 df 20 70 78 31 2b a4 73 6e 28 41 29 2a 52 25 2c |. px1+.sn(A)*R%,| 00001060 70 79 31 2b a4 63 73 28 41 29 2a 52 25 0d 08 16 |py1+.cs(A)*R%...| 00001070 07 ed 3a e1 0d 08 20 0e dd 20 f2 70 6c 66 28 53 |..:... .. .plf(S| 00001080 25 29 0d 08 2a 12 ea 20 41 2c 49 2c 52 25 2c 58 |%)..*.. A,I,R%,X| 00001090 25 2c 59 25 0d 08 34 1f 52 25 3d b6 28 28 70 78 |%,Y%..4.R%=.((px| 000010a0 2d 70 78 31 29 5e 32 2b 28 70 79 2d 70 79 31 29 |-px1)^2+(py-py1)| 000010b0 5e 32 29 0d 08 3e 0c e7 20 52 25 3c 34 20 e1 0d |^2)..>.. R%<4 ..| 000010c0 08 48 1d 49 3d 33 36 30 2f 53 25 3a 58 25 3d 70 |.H.I=360/S%:X%=p| 000010d0 78 31 3a 59 25 3d 70 79 31 2b 52 25 0d 08 52 15 |x1:Y%=py1+R%..R.| 000010e0 e3 20 41 3d 30 20 b8 20 33 36 30 2b 49 20 88 20 |. A=0 . 360+I . | 000010f0 49 0d 08 5c 1c ec 20 58 25 2c 59 25 3a 58 25 3d |I..\.. X%,Y%:X%=| 00001100 70 78 31 2b a4 73 6e 28 41 29 2a 52 25 0d 08 66 |px1+.sn(A)*R%..f| 00001110 1c 59 25 3d 70 79 31 2b a4 63 73 28 41 29 2a 52 |.Y%=py1+.cs(A)*R| 00001120 25 3a df 20 58 25 2c 59 25 0d 08 70 14 f0 20 38 |%:. X%,Y%..p.. 8| 00001130 35 2c 70 78 31 2c 70 79 31 3a ed 3a e1 0d 08 7a |5,px1,py1:.:...z| 00001140 1d dd 20 a4 73 6e 28 41 25 29 3d 73 28 28 41 25 |.. .sn(A%)=s((A%| 00001150 83 33 36 30 29 81 49 47 25 29 0d 08 84 22 dd 20 |.360).IG%)...". | 00001160 a4 63 73 28 41 25 29 3d 73 28 28 28 41 25 2b 39 |.cs(A%)=s(((A%+9| 00001170 30 29 83 33 36 30 29 81 49 47 25 29 0d 08 8e 16 |0).360).IG%)....| 00001180 dd 20 f2 62 72 73 68 28 57 25 29 3a e6 30 2c 63 |. .brsh(W%):.0,c| 00001190 6f 6c 0d 08 98 11 ea 20 66 69 6c 6c 3a 66 69 6c |ol..... fill:fil| 000011a0 6c 3d b9 0d 08 a2 1c 70 78 31 3d 70 78 3a 70 78 |l=.....px1=px:px| 000011b0 3d 70 78 2b 57 25 2a 34 3a 70 79 31 3d 70 79 0d |=px+W%*4:py1=py.| 000011c0 08 ac 15 f2 6d 6f 64 65 28 34 29 3a 70 78 3d 70 |....mode(4):px=p| 000011d0 78 31 3a e1 0d 08 b6 19 dd 20 f2 73 70 72 79 28 |x1:...... .spry(| 000011e0 53 25 2c 57 25 29 3a e6 30 2c 63 6f 6c 0d 08 c0 |S%,W%):.0,col...| 000011f0 1a ea 20 41 25 2c 4c 25 2c 52 25 2c 43 25 3a e7 |.. A%,L%,R%,C%:.| 00001200 20 53 25 3d 30 20 e1 0d 08 ca 17 57 25 3d 57 25 | S%=0 .....W%=W%| 00001210 2a 34 3a e3 20 4c 25 3d 31 20 b8 20 53 25 0d 08 |*4:. L%=1 . S%..| 00001220 d4 10 e7 20 b3 28 33 29 3d 31 20 ed 3a e1 0d 08 |... .(3)=1 .:...| 00001230 de 16 41 25 3d b3 28 33 36 30 29 3a 52 25 3d b3 |..A%=.(360):R%=.| 00001240 28 57 25 29 0d 08 e8 30 f0 36 39 2c 70 78 2b 52 |(W%)...0.69,px+R| 00001250 25 2a 73 28 41 25 81 49 47 25 29 2c 70 79 2b 52 |%*s(A%.IG%),py+R| 00001260 25 2a 73 28 28 41 25 2b 39 30 29 83 33 36 30 81 |%*s((A%+90).360.| 00001270 49 47 25 29 0d 08 f2 07 ed 3a e1 0d 08 fc 1b dd |IG%).....:......| 00001280 20 f2 6c 69 66 74 3a e7 20 69 70 3c 30 20 f2 70 | .lift:. ip<0 .p| 00001290 74 72 28 69 70 29 0d 09 06 1a f5 fd a6 41 43 25 |tr(ip).......AC%| 000012a0 3a e7 20 69 70 3c 30 20 f2 70 74 72 28 69 70 29 |:. ip<0 .ptr(ip)| 000012b0 0d 09 10 05 e1 0d 09 1a 10 dd 20 f2 74 78 28 70 |.......... .tx(p| 000012c0 78 2c 70 79 29 0d 09 24 15 f2 74 78 74 28 32 35 |x,py)..$..txt(25| 000012d0 34 2c 33 2c 63 6f 6c 29 3a e1 0d 09 2e 14 dd 20 |4,3,col):...... | 000012e0 f2 74 78 74 28 43 25 2c 41 25 2c 42 25 29 0d 09 |.txt(C%,A%,B%)..| 000012f0 38 16 e7 20 69 70 3c 3e 38 20 e1 20 8b 20 e6 41 |8.. ip<>8 . . .A| 00001300 25 2c 42 25 0d 09 42 25 3f 73 74 79 3d 53 54 25 |%,B%..B%?sty=ST%| 00001310 3a 3f 73 69 7a 3d 53 5a 25 3a 64 25 3f 30 3d 43 |:?siz=SZ%:d%?0=C| 00001320 25 3a 64 25 3f 31 3d 31 33 0d 09 4c 14 ec 70 78 |%:d%?1=13..L..px| 00001330 2c 70 79 3a ef 35 3a d6 20 70 72 6e 74 0d 09 56 |,py:.5:. prnt..V| 00001340 1f ef 34 2c 32 33 2c 31 2c 30 3b 30 3b 30 3b 30 |..4,23,1,0;0;0;0| 00001350 3b 3a 70 78 3d 70 78 2b a4 74 69 78 0d 09 60 05 |;:px=px+.tix..`.| 00001360 e1 0d 09 6a 17 dd 20 a4 74 69 78 3a ea 20 57 25 |...j.. .tix:. W%| 00001370 3a 57 25 3d 3f 77 69 64 0d 09 74 16 e7 20 53 54 |:W%=?wid..t.. ST| 00001380 25 20 80 38 20 57 25 3d 57 25 2b 50 54 25 0d 09 |% .8 W%=W%+PT%..| 00001390 7e 1a 3d 28 57 25 2d 57 25 2a 28 28 53 5a 25 80 |~.=(W%-W%*((SZ%.| 000013a0 31 29 3e 30 29 29 2a 34 0d 09 88 13 dd 20 f2 61 |1)>0))*4..... .a| 000013b0 73 73 65 6d 3a 63 6f 64 65 3d 93 0d 09 92 1b 63 |ssem:code=.....c| 000013c0 68 72 3d 26 34 46 3a 64 66 31 3d 26 35 30 3a 64 |hr=&4F:df1=&50:d| 000013d0 66 32 3d 26 35 38 0d 09 9c 23 78 70 6f 3d 26 36 |f2=&58...#xpo=&6| 000013e0 31 3a 79 70 6f 3d 26 36 32 3a 69 64 78 3d 26 36 |1:ypo=&62:idx=&6| 000013f0 33 3a 69 64 79 3d 26 36 34 0d 09 a6 23 73 74 79 |3:idy=&64...#sty| 00001400 3d 26 36 35 3a 73 69 7a 3d 26 36 36 3a 77 69 64 |=&65:siz=&66:wid| 00001410 3d 26 36 37 3a 74 6d 70 3d 26 36 38 0d 09 b0 1d |=&67:tmp=&68....| 00001420 6f 73 77 72 63 68 3d 26 46 46 45 45 3a 6f 73 77 |oswrch=&FFEE:osw| 00001430 6f 72 64 3d 26 46 46 46 31 0d 09 ba 1f 6f 73 62 |ord=&FFF1....osb| 00001440 79 74 65 3d 26 46 46 46 34 3a e3 20 4c 25 3d 30 |yte=&FFF4:. L%=0| 00001450 20 b8 20 32 20 88 20 32 0d 09 c4 13 50 25 3d 63 | . 2 . 2....P%=c| 00001460 6f 64 65 3a 5b 4f 50 54 20 4c 25 0d 09 ce 18 2e |ode:[OPT L%.....| 00001470 6f 75 74 20 53 54 58 20 78 70 6f 3a 53 54 59 20 |out STX xpo:STY | 00001480 79 70 6f 0d 09 d8 1f 20 4c 44 58 20 64 25 3a 43 |ypo.... LDX d%:C| 00001490 50 58 20 23 31 33 3a 42 4e 45 20 70 70 70 3a 52 |PX #13:BNE ppp:R| 000014a0 54 53 0d 09 e2 17 2e 70 70 70 20 4a 53 52 20 70 |TS.....ppp JSR p| 000014b0 6f 73 6e 3a 2e 70 72 6e 74 0d 09 ec 21 20 4c 44 |osn:.prnt...! LD| 000014c0 41 20 73 69 7a 3a 80 20 23 31 35 3a 43 4d 50 20 |A siz:. #15:CMP | 000014d0 23 30 3a 42 45 51 20 6e 72 6d 0d 09 f6 21 20 43 |#0:BEQ nrm...! C| 000014e0 4d 50 20 23 32 3a 42 45 51 20 64 62 68 3a 43 4d |MP #2:BEQ dbh:CM| 000014f0 50 20 23 33 3a 42 45 51 20 71 64 0d 0a 00 22 20 |P #3:BEQ qd..." | 00001500 4a 4d 50 20 64 62 77 3a 2e 6e 72 6d 20 4c 44 58 |JMP dbw:.nrm LDX| 00001510 20 23 26 46 46 3a 53 54 58 20 69 64 78 0d 0a 0a | #&FF:STX idx...| 00001520 19 2e 6e 72 6d 31 20 49 4e 43 20 69 64 78 3a 4c |..nrm1 INC idx:L| 00001530 44 58 20 69 64 78 0d 0a 14 1e 20 4c 44 41 20 64 |DX idx.... LDA d| 00001540 25 2c 58 3a 43 4d 50 20 23 31 33 3a 42 45 51 20 |%,X:CMP #13:BEQ | 00001550 6e 72 6d 78 0d 0a 1e 14 20 4a 53 52 20 67 64 65 |nrmx.... JSR gde| 00001560 66 3a 4c 44 58 20 23 37 0d 0a 28 1b 2e 6e 6d 20 |f:LDX #7..(..nm | 00001570 4c 44 41 20 64 66 31 2c 58 3a 53 54 41 20 64 66 |LDA df1,X:STA df| 00001580 32 2c 58 0d 0a 32 21 20 44 45 58 3a 42 50 4c 20 |2,X..2! DEX:BPL | 00001590 6e 6d 3a 4a 53 52 20 70 64 65 66 3a 4a 4d 50 20 |nm:JSR pdef:JMP | 000015a0 6e 72 6d 31 0d 0a 3c 0d 2e 6e 72 6d 78 20 52 54 |nrm1..<..nrmx RT| 000015b0 53 0d 0a 46 18 2e 71 64 20 4c 44 58 20 23 26 46 |S..F..qd LDX #&F| 000015c0 46 3a 53 54 58 20 69 64 78 0d 0a 50 18 2e 71 64 |F:STX idx..P..qd| 000015d0 31 20 49 4e 43 20 69 64 78 3a 4c 44 58 20 69 64 |1 INC idx:LDX id| 000015e0 78 0d 0a 5a 1d 20 4c 44 41 20 64 25 2c 58 3a 43 |x..Z. LDA d%,X:C| 000015f0 4d 50 20 23 31 33 3a 42 45 51 20 71 64 78 0d 0a |MP #13:BEQ qdx..| 00001600 64 14 20 4a 53 52 20 67 64 65 66 3a 4c 44 58 20 |d. JSR gdef:LDX | 00001610 23 30 0d 0a 6e 1e 2e 71 64 32 20 4c 44 41 20 64 |#0..n..qd2 LDA d| 00001620 66 31 2c 58 3a 4a 53 52 20 64 77 64 3a 50 48 41 |f1,X:JSR dwd:PHA| 00001630 0d 0a 78 17 20 49 4e 58 3a 43 50 58 20 23 38 3a |..x. INX:CPX #8:| 00001640 42 4e 45 20 71 64 32 0d 0a 82 1d 20 4a 53 52 20 |BNE qd2.... JSR | 00001650 64 65 66 32 31 3a 4a 53 52 20 70 64 68 3a 4c 44 |def21:JSR pdh:LD| 00001660 58 20 23 37 0d 0a 8c 20 2e 71 64 33 20 50 4c 41 |X #7... .qd3 PLA| 00001670 3a 4a 53 52 20 64 77 64 3a 44 45 58 3a 42 50 4c |:JSR dwd:DEX:BPL| 00001680 20 71 64 33 0d 0a 96 1e 20 4a 53 52 20 64 65 66 | qd3.... JSR def| 00001690 32 31 3a 4a 53 52 20 70 64 68 3a 4a 4d 50 20 71 |21:JSR pdh:JMP q| 000016a0 64 31 0d 0a a0 0c 2e 71 64 78 20 52 54 53 0d 0a |d1.....qdx RTS..| 000016b0 aa 11 2e 64 65 66 32 31 20 4c 44 58 20 23 37 0d |...def21 LDX #7.| 000016c0 0a b4 1c 2e 64 32 31 20 4c 44 41 20 64 66 32 2c |....d21 LDA df2,| 000016d0 58 3a 53 54 41 20 64 66 31 2c 58 0d 0a be 14 20 |X:STA df1,X.... | 000016e0 44 45 58 3a 42 50 4c 20 64 32 31 3a 52 54 53 0d |DEX:BPL d21:RTS.| 000016f0 0a c8 19 2e 64 62 68 20 4c 44 58 20 23 26 46 46 |....dbh LDX #&FF| 00001700 3a 53 54 58 20 69 64 78 0d 0a d2 19 2e 64 68 6c |:STX idx.....dhl| 00001710 31 20 49 4e 43 20 69 64 78 3a 4c 44 58 20 69 64 |1 INC idx:LDX id| 00001720 78 0d 0a dc 1e 20 4c 44 41 20 64 25 2c 58 3a 43 |x.... LDA d%,X:C| 00001730 4d 50 20 23 31 33 3a 42 45 51 20 64 68 31 78 0d |MP #13:BEQ dh1x.| 00001740 0a e6 1e 20 4a 53 52 20 67 64 65 66 3a 4a 53 52 |... JSR gdef:JSR| 00001750 20 70 64 68 3a 4a 4d 50 20 64 68 6c 31 0d 0a f0 | pdh:JMP dhl1...| 00001760 0d 2e 64 68 31 78 20 52 54 53 0d 0a fa 17 2e 70 |..dh1x RTS.....p| 00001770 64 68 20 4c 44 59 20 23 30 3a 4a 53 52 20 64 68 |dh LDY #0:JSR dh| 00001780 64 0d 0b 04 16 20 4c 44 41 20 23 38 3a 4a 53 52 |d.... LDA #8:JSR| 00001790 20 6f 73 77 72 63 68 0d 0b 0e 17 20 4c 44 41 20 | oswrch.... LDA | 000017a0 23 31 30 3a 4a 53 52 20 6f 73 77 72 63 68 0d 0b |#10:JSR oswrch..| 000017b0 18 13 20 4c 44 59 20 23 34 3a 4a 53 52 20 64 68 |.. LDY #4:JSR dh| 000017c0 64 0d 0b 22 1b 20 4c 44 41 20 23 31 31 3a 4a 53 |d..". LDA #11:JS| 000017d0 52 20 6f 73 77 72 63 68 3a 52 54 53 0d 0b 2c 08 |R oswrch:RTS..,.| 000017e0 2e 64 68 64 0d 0b 36 23 20 4c 44 41 20 64 66 31 |.dhd..6# LDA df1| 000017f0 2b 30 2c 59 3a 53 54 41 20 64 66 32 2b 30 3a 53 |+0,Y:STA df2+0:S| 00001800 54 41 64 66 32 2b 31 0d 0b 40 23 20 4c 44 41 20 |TAdf2+1..@# LDA | 00001810 64 66 31 2b 31 2c 59 3a 53 54 41 20 64 66 32 2b |df1+1,Y:STA df2+| 00001820 32 3a 53 54 41 64 66 32 2b 33 0d 0b 4a 23 20 4c |2:STAdf2+3..J# L| 00001830 44 41 20 64 66 31 2b 32 2c 59 3a 53 54 41 20 64 |DA df1+2,Y:STA d| 00001840 66 32 2b 34 3a 53 54 41 64 66 32 2b 35 0d 0b 54 |f2+4:STAdf2+5..T| 00001850 23 20 4c 44 41 20 64 66 31 2b 33 2c 59 3a 53 54 |# LDA df1+3,Y:ST| 00001860 41 20 64 66 32 2b 36 3a 53 54 41 64 66 32 2b 37 |A df2+6:STAdf2+7| 00001870 0d 0b 5e 23 20 4a 4d 50 20 70 64 65 66 3a 2e 64 |..^# JMP pdef:.d| 00001880 62 77 20 4c 44 58 20 23 26 46 46 3a 53 54 58 20 |bw LDX #&FF:STX | 00001890 69 64 78 0d 0b 68 19 2e 64 62 6c 31 20 49 4e 43 |idx..h..dbl1 INC| 000018a0 20 69 64 78 3a 4c 44 58 20 69 64 78 0d 0b 72 1e | idx:LDX idx..r.| 000018b0 20 4c 44 41 20 64 25 2c 58 3a 43 4d 50 20 23 31 | LDA d%,X:CMP #1| 000018c0 33 3a 42 45 51 20 64 62 31 78 0d 0b 7c 14 20 4a |3:BEQ db1x..|. J| 000018d0 53 52 20 67 64 65 66 3a 4c 44 58 20 23 30 0d 0b |SR gdef:LDX #0..| 000018e0 86 1b 2e 64 62 6c 32 20 4c 44 41 20 64 66 31 2c |...dbl2 LDA df1,| 000018f0 58 3a 4a 53 52 20 64 77 64 0d 0b 90 1c 20 50 48 |X:JSR dwd.... PH| 00001900 41 3a 49 4e 58 3a 43 50 58 20 23 38 3a 42 4e 45 |A:INX:CPX #8:BNE| 00001910 20 64 62 6c 32 0d 0b 9a 11 20 4a 53 52 20 70 64 | dbl2.... JSR pd| 00001920 65 66 3a 44 45 58 0d 0b a4 22 2e 64 62 6c 33 20 |ef:DEX...".dbl3 | 00001930 50 4c 41 3a 4a 53 52 20 64 77 64 3a 44 45 58 3a |PLA:JSR dwd:DEX:| 00001940 42 50 4c 20 64 62 6c 33 0d 0b ae 16 20 4a 53 52 |BPL dbl3.... JSR| 00001950 20 70 64 65 66 3a 4a 4d 50 20 64 62 6c 31 0d 0b | pdef:JMP dbl1..| 00001960 b8 12 2e 64 62 31 78 20 52 54 53 3a 2e 64 77 64 |...db1x RTS:.dwd| 00001970 0d 0b c2 23 20 52 4f 4c 41 3a 50 48 50 3a 52 4f |...# ROLA:PHP:RO| 00001980 4c 64 66 32 2c 58 3a 50 4c 50 3a 52 4f 4c 64 66 |Ldf2,X:PLP:ROLdf| 00001990 32 2c 58 0d 0b cc 23 20 52 4f 4c 41 3a 50 48 50 |2,X...# ROLA:PHP| 000019a0 3a 52 4f 4c 64 66 32 2c 58 3a 50 4c 50 3a 52 4f |:ROLdf2,X:PLP:RO| 000019b0 4c 64 66 32 2c 58 0d 0b d6 23 20 52 4f 4c 41 3a |Ldf2,X...# ROLA:| 000019c0 50 48 50 3a 52 4f 4c 64 66 32 2c 58 3a 50 4c 50 |PHP:ROLdf2,X:PLP| 000019d0 3a 52 4f 4c 64 66 32 2c 58 0d 0b e0 23 20 52 4f |:ROLdf2,X...# RO| 000019e0 4c 41 3a 50 48 50 3a 52 4f 4c 64 66 32 2c 58 3a |LA:PHP:ROLdf2,X:| 000019f0 50 4c 50 3a 52 4f 4c 64 66 32 2c 58 0d 0b ea 25 |PLP:ROLdf2,X...%| 00001a00 20 52 54 53 3a 2e 70 6f 73 6e 20 50 48 41 3a 4c | RTS:.posn PHA:L| 00001a10 44 41 20 23 33 31 3a 4a 53 52 20 6f 73 77 72 63 |DA #31:JSR oswrc| 00001a20 68 0d 0b f4 17 20 4c 44 41 20 78 70 6f 3a 4a 53 |h.... LDA xpo:JS| 00001a30 52 20 6f 73 77 72 63 68 0d 0b fe 1f 20 4c 44 41 |R oswrch.... LDA| 00001a40 20 79 70 6f 3a 4a 53 52 20 6f 73 77 72 63 68 3a | ypo:JSR oswrch:| 00001a50 50 4c 41 3a 52 54 53 0d 0c 08 11 2e 67 64 65 66 |PLA:RTS.....gdef| 00001a60 20 53 54 41 20 63 68 72 0d 0c 12 20 20 4c 44 58 | STA chr... LDX| 00001a70 20 23 63 68 72 20 83 32 35 36 3a 4c 44 59 20 23 | #chr .256:LDY #| 00001a80 63 68 72 20 81 32 35 36 0d 0c 1c 17 20 4c 44 41 |chr .256.... LDA| 00001a90 20 23 31 30 3a 4a 53 52 20 6f 73 77 6f 72 64 0d | #10:JSR osword.| 00001aa0 0c 26 1d 20 4c 44 41 20 63 68 72 3a 43 4d 50 20 |.&. LDA chr:CMP | 00001ab0 23 33 32 3a 42 45 51 20 70 72 6f 70 0d 0c 30 19 |#32:BEQ prop..0.| 00001ac0 20 4c 44 58 20 23 37 3a 4c 44 41 20 23 30 3a 2e | LDX #7:LDA #0:.| 00001ad0 73 6c 6f 70 30 0d 0c 3a 1b 20 84 41 20 64 66 31 |slop0..:. .A df1| 00001ae0 2c 58 3a 44 45 58 3a 42 50 4c 20 73 6c 6f 70 30 |,X:DEX:BPL slop0| 00001af0 0d 0c 44 18 20 54 41 58 3a 53 54 41 20 74 6d 70 |..D. TAX:STA tmp| 00001b00 3a 42 4d 49 20 63 68 67 0d 0c 4e 20 2e 73 6c 6f |:BMI chg..N .slo| 00001b10 70 31 20 4c 44 41 20 23 30 3a 53 54 41 20 74 6d |p1 LDA #0:STA tm| 00001b20 70 3a 4c 44 58 20 23 37 0d 0c 58 1a 2e 73 6c 6f |p:LDX #7..X..slo| 00001b30 70 32 20 4c 44 41 20 64 66 31 2c 58 3a 41 53 4c |p2 LDA df1,X:ASL| 00001b40 20 41 0d 0c 62 1d 20 53 54 41 20 64 66 31 2c 58 | A..b. STA df1,X| 00001b50 3a 84 41 20 74 6d 70 3a 53 54 41 20 74 6d 70 0d |:.A tmp:STA tmp.| 00001b60 0c 6c 24 20 44 45 58 3a 42 50 4c 20 73 6c 6f 70 |.l$ DEX:BPL slop| 00001b70 32 3a 42 49 54 20 74 6d 70 3a 42 50 4c 20 73 6c |2:BIT tmp:BPL sl| 00001b80 6f 70 31 0d 0c 76 1e 2e 63 68 67 20 4c 44 41 20 |op1..v..chg LDA | 00001b90 73 74 79 3a 80 20 23 31 3a 42 45 51 20 66 65 69 |sty:. #1:BEQ fei| 00001ba0 6e 0d 0c 80 1d 2e 69 74 61 6c 20 43 4c 43 3a 52 |n.....ital CLC:R| 00001bb0 4f 52 20 64 66 31 3a 52 4f 52 20 64 66 31 0d 0c |OR df1:ROR df1..| 00001bc0 8a 1c 20 43 4c 43 3a 52 4f 52 20 64 66 31 2b 31 |.. CLC:ROR df1+1| 00001bd0 3a 52 4f 52 20 64 66 31 2b 31 0d 0c 94 1c 20 43 |:ROR df1+1.... C| 00001be0 4c 43 3a 52 4f 52 20 64 66 31 2b 32 3a 52 4f 52 |LC:ROR df1+2:ROR| 00001bf0 20 64 66 31 2b 33 0d 0c 9e 16 2e 66 65 69 6e 20 | df1+3.....fein | 00001c00 4c 44 41 20 73 74 79 3a 80 20 23 32 0d 0c a8 14 |LDA sty:. #2....| 00001c10 20 42 45 51 20 69 6e 76 74 3a 4c 44 58 20 23 37 | BEQ invt:LDX #7| 00001c20 0d 0c b2 17 2e 66 6c 20 4c 44 41 20 64 66 31 2c |.....fl LDA df1,| 00001c30 58 3a 41 53 4c 20 41 0d 0c bc 21 20 80 20 64 66 |X:ASL A...! . df| 00001c40 31 2c 58 3a 53 54 41 20 64 66 31 2c 58 3a 44 45 |1,X:STA df1,X:DE| 00001c50 58 3a 42 50 4c 20 66 6c 0d 0c c6 16 2e 69 6e 76 |X:BPL fl.....inv| 00001c60 74 20 4c 44 41 20 73 74 79 3a 80 20 23 34 0d 0c |t LDA sty:. #4..| 00001c70 d0 14 20 42 45 51 20 70 72 6f 70 3a 4c 44 58 20 |.. BEQ prop:LDX | 00001c80 23 37 0d 0c da 18 2e 69 76 20 4c 44 41 20 64 66 |#7.....iv LDA df| 00001c90 31 2c 58 3a 82 20 23 26 46 46 0d 0c e4 19 20 53 |1,X:. #&FF.... S| 00001ca0 54 41 20 64 66 31 2c 58 3a 44 45 58 3a 42 50 4c |TA df1,X:DEX:BPL| 00001cb0 20 69 76 0d 0c ee 18 2e 70 72 6f 70 20 4c 44 41 | iv.....prop LDA| 00001cc0 20 23 38 3a 53 54 41 20 77 69 64 0d 0c f8 13 20 | #8:STA wid.... | 00001cd0 80 20 73 74 79 3a 42 45 51 20 67 64 78 78 0d 0d |. sty:BEQ gdxx..| 00001ce0 02 1d 20 4c 44 41 20 63 68 72 3a 43 4d 50 20 23 |.. LDA chr:CMP #| 00001cf0 33 32 3a 42 4e 45 20 6e 73 70 63 0d 0d 0c 13 20 |32:BNE nspc.... | 00001d00 4c 44 41 20 23 34 3a 42 4e 45 20 67 64 78 0d 0d |LDA #4:BNE gdx..| 00001d10 16 17 2e 6e 73 70 63 20 4c 44 58 20 23 37 3a 4c |...nspc LDX #7:L| 00001d20 44 41 20 23 30 0d 0d 20 17 2e 70 72 6c 70 31 20 |DA #0.. ..prlp1 | 00001d30 84 41 20 64 66 31 2c 58 3a 44 45 58 0d 0d 2a 15 |.A df1,X:DEX..*.| 00001d40 20 42 50 4c 20 70 72 6c 70 31 3a 4c 44 58 20 23 | BPL prlp1:LDX #| 00001d50 38 0d 0d 34 1a 2e 70 72 6c 70 32 20 52 4f 52 20 |8..4..prlp2 ROR | 00001d60 41 3a 42 43 53 20 70 72 6c 70 33 0d 0d 3e 1d 20 |A:BCS prlp3..>. | 00001d70 44 45 58 3a 42 4e 45 20 70 72 6c 70 32 3a 2e 70 |DEX:BNE prlp2:.p| 00001d80 72 6c 70 33 20 54 58 41 0d 0d 48 1a 2e 67 64 78 |rlp3 TXA..H..gdx| 00001d90 20 53 54 41 20 77 69 64 3a 2e 67 64 78 78 20 52 | STA wid:.gdxx R| 00001da0 54 53 0d 0d 52 1c 2e 70 64 65 66 20 4c 44 41 20 |TS..R..pdef LDA | 00001db0 23 32 33 3a 4a 53 52 20 6f 73 77 72 63 68 0d 0d |#23:JSR oswrch..| 00001dc0 5c 1f 20 4c 44 41 20 23 32 35 35 3a 4a 53 52 20 |\. LDA #255:JSR | 00001dd0 6f 73 77 72 63 68 3a 4c 44 59 20 23 30 0d 0d 66 |oswrch:LDY #0..f| 00001de0 1d 2e 70 64 6c 20 4c 44 41 20 64 66 32 2c 59 3a |..pdl LDA df2,Y:| 00001df0 4a 53 52 20 6f 73 77 72 63 68 0d 0d 70 17 20 49 |JSR oswrch..p. I| 00001e00 4e 59 3a 43 50 59 20 23 38 3a 42 4e 45 20 70 64 |NY:CPY #8:BNE pd| 00001e10 6c 0d 0d 7a 1c 20 4c 44 41 20 23 32 35 35 3a 4a |l..z. LDA #255:J| 00001e20 53 52 20 6f 73 77 72 63 68 3a 52 54 53 0d 0d 84 |SR oswrch:RTS...| 00001e30 09 5d 3a ed 3a e1 0d ff |.]:.:...| 00001e38