Home » Archimedes archive » Acorn User » AU 1993-04.adf » !StarInfo/Files/Dots
!StarInfo/Files/Dots
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 User » AU 1993-04.adf |
Filename: | !StarInfo/Files/Dots |
Read OK: | ✔ |
File size: | 267E bytes |
Load address: | FFFFFB44 |
Exec address: | 696DF515 |
File contents
10REM >Dots (Info8) 20REM By Tim Jones 30REM For 32-bit machines 40REM (c) BAU April 1993 50: 60dim=&9900 70steps=10 80shapes=9 90ON ERROR SYS "Hourglass_Smash":REPORT:PRINT;" at ";ERL:END 100DIM code dim 110more=0 120FOR pass=0 TO 2 STEP 2 130P%=code 140[OPT pass 150.dotty 160 STMFD r13!,{r14} 170 SWI "OS_RemoveCursors" 180 MOV r10,#1<<9 190 MOV r9,#1<<23 200 MOV r12,#0 210 MOV r11,#0 220 MOV r8,#0 230.dottylp 240 SWI "XOS_ReadEscapeState" 250 BCC no_esc 260 MOV r0,#126 270 SWI "XOS_Byte" 280 LDMFD r13!,{pc} 290.no_esc 300 MOV r0,#122 310 SWI "OS_Byte" 320 TEQ r1,#62 330 MOVEQ r10,#1<<9 340 MOVEQ r9,#1<<23 350 TEQ r1,#25 360 ADDEQ r9,r9,#1<<17 370 ADDEQ r10,r10,#7 380 TEQ r1,#121 390 SUBEQ r9,r9,#1<<17 400 SUBEQ r10,r10,#7 410 TEQ r1,#57 420 ADDEQ r10,r10,r9,LSR #18 430 TEQ r1,#41 440 SUBEQ r10,r10,r9,LSR #18 450 SWI "OS_Mouse" 460 TEQ r2,#0 470 MOVEQ r8,#0 480 TEQ r8,#0 490 MOVne r2,#0 500 TEQ r2,#1 510 MOVEQ r8,#1 520 BLEQ changeshape 530 TEQ r2,#2 540 LDMEQFD r13!,{pc} 550 TEQ r2,#4 560 MOVEQ r8,#1 570 BLEQ changedots 580 ADD r12,r12,r0,asr #5 590 ADD r11,r11,r1,asr #5 600 TEQ r12,#0 610 ADDMI r12,r12,#360 620 CMP r12,#360 630 SUBGT r12,r12,#360 640 TEQ r11,#0 650 ADDMI r11,r11,#360 660 CMP r11,#360 670 SUBGT r11,r11,#360 680 BL drawshape 690 BL swapscr 700 B dottylp 710 720.changedots 730 STMFD r13!,{r0,r14} 740 LDR r0,dotshape 750 ADD r0,r0,#1 760 TEQ r0,#4 770 MOVEQ r0,#0 780 STR r0,dotshape 790 LDMFD r13!,{r0,pc} 800 810.changeshape 820 STMFD r13!,{r0,r14} 830 LDR r0,shape 840 ADD r0,r0,#1 850 TEQ r0,#shapes 860 MOVEQ r0,#0 870 STR r0,shape 880 LDMFD r13!,{r0,pc} 890 900.drawshape 910 STMFD r13!,{r0-r7,r14} 920 LDR r7,shape 930 ADR r5,shapeadrs 940 LDR r5,[r5,r7,LSL #2] 950 ADR r6,shapedots 960 LDR r6,[r6,r7,LSL #2] 970 LDR r7,sqrshape 980.shapelp 990 LDMIA r5!,{r0,r1,r3} 1000 MOV r2,r11 1010 BL rotate 1020 MOV r4,r1 1030 MOV r1,r3 1040 MOV r2,r12 1050 BL rotate 1060 MOV r2,r1 1070 MOV r1,r4 1080 BL plot 1090 SUB r2,r7,r2 1100 BL ball 1110 SUBS r6,r6,#1 1120 BNE shapelp 1130 LDMFD r13!,{r0-r7,pc} 1140 1150.rotate 1160 STMFD r13!,{r2-r6,r14} 1170 LDR r3,angtableadr 1180 ADD r6,r3,r2,LSL #3 1190 LDR r2,[r6,#0] 1200 LDR r3,[r6,#4] 1210 MUL r4,r0,r2 1220 MUL r6,r1,r3 1230 SUB r4,r4,r6 1240 MUL r5,r1,r2 1250 MLA r5,r0,r3,r5 1260 MOV r0,r4,asr #15 1270 MOV r1,r5,asr #15 1280 LDMFD r13!,{r2-r6,pc} 1290 1300.plot 1310 STMFD r13!,{r2-r4,r14} 1320 MOV r3,r1 1330 ADD r1,r2,r10 1340 MOV r2,r0 1350 MOV r0,r9 1360 BL divide 1370 MUL r1,r0,r2 1380 MUL r4,r0,r3 1390 MOV r0,r1,asr #15 1400 MOV r1,r4,asr #15 1410 LDMFD r13!,{r2-r4,pc} 1420 1430.ball 1440 STMFD r13!,{r0-r3,r14} 1450 MVN r3,#158 1460 CMP r0,r3 1470 LDMLEFD r13!,{r0-r3,pc} 1480 MVN r3,#126 1490 CMP r1,r3 1500 LDMLEFD r13!,{r0-r3,pc} 1510 CMP r0,#158 1520 LDMGEFD r13!,{r0-r3,pc} 1530 CMP r1,#126 1540 LDMGEFD r13!,{r0-r3,pc} 1550 LDR r3,screen+4 1560 ADD r3,r3,r1,LSL #6 1570 ADD r3,r3,r1,LSL #8 1580 ADD r3,r3,r0 1590 LDR r0,coltableadr 1600 LDRB r1,[r0,r2] 1610 LDR r0,dotshape 1620 ADD pc,pc,r0,LSL #5 1630 EQUD 0 1640 STRB r1,[r3,#0] 1650 STRB r1,[r3,#1] 1660 STRB r1,[r3,#320] 1670 STRB r1,[r3,#321] 1680 LDMFD r13!,{r0-r3,pc} 1690 EQUD 0 1700 EQUD 0 1710 EQUD 0 1720 STRB r1,[r3,#0] 1730 STRB r1,[r3,#-1] 1740 STRB r1,[r3,#1] 1750 STRB r1,[r3,#-320] 1760 STRB r1,[r3,#320] 1770 LDMFD r13!,{r0-r3,pc} 1780 EQUD 0 1790 EQUD 0 1800 STRB r1,[r3,#-1] 1810 STRB r1,[r3,#1] 1820 STRB r1,[r3,#-320] 1830 STRB r1,[r3,#320] 1840 LDMFD r13!,{r0-r3,pc} 1850 EQUD 0 1860 EQUD 0 1870 EQUD 0 1880 STRB r1,[r3,#0] 1890 STRB r1,[r3,#-2] 1900 STRB r1,[r3,#2] 1910 STRB r1,[r3,#-640] 1920 STRB r1,[r3,#640] 1930 LDMFD r13!,{r0-r3,pc} 1940 EQUD 0 1950 EQUD 0 1960 1970.divide 1980 STMFD r13!,{r2-r6,r14} 1990 EORS r4,r0,r1 2000 MOVS r5,r0 2010 RSBMI r0,r0,#0 2020 TEQ r1,#0 2030 RSBMI r1,r1,#0 2040.div32 2050 TEQ r1,#0 2060 BEQ divend 2070 MOV r3,#0 2080 MOV r2,#0 2090 MOV r6,#32 2100.divlp1 2110 SUBS r6,r6,#1 2120 BEQ divend 2130 MOVs r0,r0,asl#1 2140 BPL divlp1 2150.divlp2 2160 MOVS r0,r0,asl#1 2170 ADC r3,r3,r3 2180 CMP r3,r1 2190 SUBCS r3,r3,r1 2200 ADC r2,r2,r2 2210 SUBS r6,r6,#1 2220 BNE divlp2 2230.divend 2240 MOV r0,r2 2250 TEQ r4,#0 2260 RSBMI r0,r0,#0 2270 MOV r1,r3 2280 TEQ r5,#0 2290 RSBMI r1,r1,#0 2300 LDMFD r13!,{r2-r6,pc} 2310 2320.swapscr 2330 STMFD r13!,{r0-r5,r14} 2340 LDR r0,screen 2350 LDR r1,screen+4 2360 STR r1,screen 2370 STR r0,screen+4 2380 MOV r0,#112 2390 LDR r1,scrbank 2400 SWI "OS_Byte" 2410 LDR r1,scrbank 2420 EOR r1,r1,#3 2430 STR r1,scrbank 2440 MOV r0,#113 2450 SWI "OS_Byte" 2460 MOV r0,#19 2470 SWI "OS_Byte" 2480 SWI &100+12 2490 LDMFD r13!,{r0-r5,pc} 2500 2510.shape 2520 EQUD 0 2530.dotshape 2540 EQUD 1 2550.screen 2560 EQUD 148 2570 EQUD 149 2580 EQUD -1 2590.scrbank 2600 EQUD 1 2610.sqrshape 2620 EQUD SQR(100^2*3)+1 2630.coltableadr 2640 EQUD coltable 2650.angtableadr 2660 EQUD angtable 2670 2680] 2690shapeadrs=P% 2700P%+=shapes*4 2710shapedots=P% 2720P%+=shapes*4 2730angtable=P% 2740FOR a=0 TO 360 2750 P%!0=(1<<15)*COSRADa 2760 P%!4=(1<<15)*SINRADa 2770 P%=FNpc(8) 2780NEXT 2790coltable=P% 2800FOR a=0 TO sqrshape!0*2 2810 P%?0=FNcol(a/2/sqrshape!0*14+1) 2820 P%=FNpc(1) 2830NEXT 2840[OPT pass 2850 ALIGN 2860.shapedata 2870] 2880NEXT 2890SYS "Hourglass_On" 2900FOR shape=0 TO shapes-1 2910 shapeadrs!(shape*4)=P% 2920 shapedots!(shape*4)=FNshape(shape) 2930NEXT 2940SYS "Hourglass_Off" 2950IF more>0 PRINT'"Change dim to =&";STR$~more;" near start of program":END 2960MODE 13+128 2970OFF 2980SYS "OS_Byte",4,2 2990SYS "OS_Byte",112,1 3000SYS "OS_Byte",112,1 3010SYS "OS_ReadVduVariables",screen,screen 3020screen!0+=&A0A0 3030screen!4+=&A0A0 3040MOUSE RECTANGLE -32*40,-32*40,32*80,32*80 3050MOUSE TO 32*5,32*1 3060CALL dotty 3070MODE 0 3080END 3090: 3100DEF FNcol(shade) 3110CASE shade DIV 4 OF 3120 WHEN 1:=&2C+shade MOD 4 3130 WHEN 2:=&D0+shade MOD 4 3140 WHEN 3:=&FC+shade MOD 4 3150ENDCASE 3160=shade MOD 4 3170 3180DEF FNshape(shape) 3190dots=0 3200CASE shape OF 3210 WHEN 0: 3220 DIM blk 100 3230 text$="*- Tim Jones -*" 3240 a=(sqrshape!0*2)/(LENtext$*4) 3250 FOR b=1 TO LENtext$ 3260 blk?0=ASCMID$(text$,b) 3270 SYS "OS_Word",10,blk 3280 FOR c=1 TO 8 3290 e=((blk?c AND %110000)>>2)+((blk?c AND %100)>>1)+(blk?c AND %1) 3300 FOR d=0 TO 7 3310 IF e>>d AND 1 :PROCdot((-4+c)*a,-sqrshape!0+(b*4-d)*a,0) 3320 NEXT 3330 NEXT 3340 NEXT 3350 WHEN 1: 3360 FOR a=-100 TO 75 STEP 25 3370 FOR b=-75 TO 75 STEP 25 3380 PROCdot(a,b,-100) 3390 PROCdot(a+25,b,100) 3400 PROCdot(-100,b,a+25) 3410 PROCdot(100,b,a) 3420 NEXT 3430 NEXT 3440 FOR a=-100 TO 100 STEP 25 3450 FOR b=-100 TO 100 STEP 25 3460 PROCdot(a,-100,b) 3470 PROCdot(a,100,b) 3480 NEXT 3490 NEXT 3500 WHEN 2: 3510 FOR a=0 TO 350 STEP 10 3520 cos=80*COSRADa 3530 sin=80*SINRADa 3540 PROCdot(100,cos,sin) 3550 PROCdot(-100,cos,sin) 3560 PROCdot(cos,100,sin) 3570 PROCdot(cos,-100,sin) 3580 PROCdot(cos,sin,100) 3590 PROCdot(cos,sin,-100) 3600 NEXT 3610 WHEN 3: 3620 FOR r=20 TO 60 STEP 10 3630 b=r+40 3640 FOR a=0 TO 330 STEP 30 3650 cos=r*COSRADa 3660 sin=r*SINRADa 3670 PROCdot(b,cos,sin) 3680 PROCdot(-b,cos,sin) 3690 PROCdot(cos,b,sin) 3700 PROCdot(cos,-b,sin) 3710 PROCdot(cos,sin,b) 3720 PROCdot(cos,sin,-b) 3730 NEXT 3740 NEXT 3750 WHEN 4: 3760 FOR a=-100 TO 100 STEP 20 3770 FOR b=0 TO 340 STEP 20 3780 PROCdot(80*COSRADb,a,80*SINRADb) 3790 NEXT 3800 NEXT 3810 WHEN 5: 3820 FOR a=-100 TO -20 STEP 20 3830 FOR b=0 TO 330 STEP 30 3840 cos=30*COSRADb 3850 sin=30*SINRADb 3860 PROCdot(a,cos,sin) 3870 PROCdot(cos,a,sin) 3880 PROCdot(cos,sin,a) 3890 PROCdot(-a,cos,sin) 3900 PROCdot(cos,-a,sin) 3910 PROCdot(cos,sin,-a) 3920 NEXT 3930 NEXT 3940 WHEN 6: 3950 FOR a=-1 TO .9 STEP .1 3960 r=100-70*SINRAD(a*90+90) 3970 FOR b=0 TO 340 STEP 20 3980 PROCdot(r*COSRADb,a*100,r*SINRADb) 3990 NEXT 4000 NEXT 4010 WHEN 7: 4020 FOR a=0 TO 340 STEP 20 4030 FOR b=0 TO 330 STEP 30 4040 r=70+30*COSRADb 4050 PROCdot(r*COSRADa,30*SINRADb,r*SINRADa) 4060 NEXT 4070 NEXT 4080 WHEN 8: 4090 FOR a=0 TO 350 STEP 10 4100 FOR b=0 TO 300 STEP 60 4110 r=70+25*COSRADb 4120 PROCdot(r*COSRADa-35,25*SINRADb,r*SINRADa) 4130 PROCdot(r*COSRADa+35,r*SINRADa,25*SINRADb) 4140 NEXT 4150 NEXT 4160ENDCASE 4170=dots 4180: 4190DEF PROCdot(x,y,z) 4200P%!0=x 4210P%!4=y 4220P%!8=z 4230P%=FNpc(12) 4240dots+=1 4250ENDPROC 4260: 4270DEF FNpc(b) 4280IF more=0 AND P%-code+b>dim more=P%-code+b 4290IF more>0 more+=b:=P% 4300=P%+b
� >Dots (Info8) � By Tim Jones � For 32-bit machines (� (c) BAU April 1993 2: < dim=&9900 Fsteps=10 Pshapes=9 Z+� � ș "Hourglass_Smash":�:�;" at ";�:� d� code dim n more=0 x� pass=0 � 2 � 2 �P%=code � [OPT pass � .dotty � STMFD r13!,{r14} �& SWI "OS_RemoveCursors" � MOV r10,#1<<9 � MOV r9,#1<<23 � MOV r12,#0 � MOV r11,#0 � MOV r8,#0 �.dottylp �) SWI "XOS_ReadEscapeState" � BCC no_esc MOV r0,#126 SWI "XOS_Byte" LDMFD r13!,{pc} ".no_esc , MOV r0,#122 6 SWI "OS_Byte" @ TEQ r1,#62 J �Q r10,#1<<9 T �Q r9,#1<<23 ^ TEQ r1,#25 h ADDEQ r9,r9,#1<<17 r ADDEQ r10,r10,#7 | TEQ r1,#121 � SUBEQ r9,r9,#1<<17 � SUBEQ r10,r10,#7 � TEQ r1,#57 �& ADDEQ r10,r10,r9,LSR #18 � TEQ r1,#41 �& SUBEQ r10,r10,r9,LSR #18 � SWI "OS_Mouse" � TEQ r2,#0 � �Q r8,#0 � TEQ r8,#0 � MOVne r2,#0 � TEQ r2,#1 � �Q r8,#1 BLEQ changeshape TEQ r2,#2 LDMEQFD r13!,{pc} & TEQ r2,#4 0 �Q r8,#1 : BLEQ changedots D% ADD r12,r12,r0,asr #5 N% ADD r11,r11,r1,asr #5 X TEQ r12,#0 b ADDMI r12,r12,#360 l CMP r12,#360 v SUBGT r12,r12,#360 � TEQ r11,#0 � ADDMI r11,r11,#360 � CMP r11,#360 � SUBGT r11,r11,#360 � BL drawshape � BL swapscr � B dottylp � �.changedots �! STMFD r13!,{r0,r14} � LDR r0,dotshape � ADD r0,r0,#1 � TEQ r0,#4 �Q r0,#0 STR r0,dotshape LDMFD r13!,{r0,pc} *.changeshape 4! STMFD r13!,{r0,r14} > LDR r0,shape H ADD r0,r0,#1 R TEQ r0,#shapes \ �Q r0,#0 f STR r0,shape p LDMFD r13!,{r0,pc} z �.drawshape �$ STMFD r13!,{r0-r7,r14} � LDR r7,shape � ADR r5,shapeadrs �% LDR r5,[r5,r7,LSL #2] � ADR r6,shapedots �% LDR r6,[r6,r7,LSL #2] � LDR r7,sqrshape �.shapelp �" LDMIA r5!,{r0,r1,r3} � MOV r2,r11 � BL rotate � MOV r4,r1 MOV r1,r3 MOV r2,r12 BL rotate $ MOV r2,r1 . MOV r1,r4 8 BL plot B SUB r2,r7,r2 L BL ball V SUBS r6,r6,#1 ` BNE shapelp j# LDMFD r13!,{r0-r7,pc} t ~.rotate �$ STMFD r13!,{r2-r6,r14} �" LDR r3,angtableadr �# ADD r6,r3,r2,LSL #3 � LDR r2,[r6,#0] � LDR r3,[r6,#4] � MUL r4,r0,r2 � MUL r6,r1,r3 � SUB r4,r4,r6 � MUL r5,r1,r2 � MLA r5,r0,r3,r5 �! MOV r0,r4,asr #15 �! MOV r1,r5,asr #15 # LDMFD r13!,{r2-r6,pc} .plot $ STMFD r13!,{r2-r4,r14} ( MOV r3,r1 2 ADD r1,r2,r10 < MOV r2,r0 F MOV r0,r9 P BL divide Z MUL r1,r0,r2 d MUL r4,r0,r3 n! MOV r0,r1,asr #15 x! MOV r1,r4,asr #15 �# LDMFD r13!,{r2-r4,pc} � � .ball �$ STMFD r13!,{r0-r3,r14} � MVN r3,#158 � CMP r0,r3 �# LDMLEFD r13!,{r0-r3,pc} � MVN r3,#126 � CMP r1,r3 �# LDMLEFD r13!,{r0-r3,pc} � CMP r0,#158 �# LDMGEFD r13!,{r0-r3,pc} � CMP r1,#126 # LDMGEFD r13!,{r0-r3,pc} LDR r3,screen+4 # ADD r3,r3,r1,LSL #6 "# ADD r3,r3,r1,LSL #8 , ADD r3,r3,r0 6" LDR r0,coltableadr @ LDRB r1,[r0,r2] J LDR r0,dotshape T# ADD pc,pc,r0,LSL #5 ^ EQUD 0 h STRB r1,[r3,#0] r STRB r1,[r3,#1] | STRB r1,[r3,#320] � STRB r1,[r3,#321] �# LDMFD r13!,{r0-r3,pc} � EQUD 0 � EQUD 0 � EQUD 0 � STRB r1,[r3,#0] � STRB r1,[r3,#-1] � STRB r1,[r3,#1] �! STRB r1,[r3,#-320] � STRB r1,[r3,#320] �# LDMFD r13!,{r0-r3,pc} � EQUD 0 � EQUD 0 STRB r1,[r3,#-1] STRB r1,[r3,#1] ! STRB r1,[r3,#-320] & STRB r1,[r3,#320] 0# LDMFD r13!,{r0-r3,pc} : EQUD 0 D EQUD 0 N EQUD 0 X STRB r1,[r3,#0] b STRB r1,[r3,#-2] l STRB r1,[r3,#2] v! STRB r1,[r3,#-640] � STRB r1,[r3,#640] �# LDMFD r13!,{r0-r3,pc} � EQUD 0 � EQUD 0 � �.divide �$ STMFD r13!,{r2-r6,r14} � �S r4,r0,r1 � MOVS r5,r0 � RSBMI r0,r0,#0 � TEQ r1,#0 � RSBMI r1,r1,#0 � .div32 TEQ r1,#0 BEQ divend MOV r3,#0 MOV r2,#0 * MOV r6,#32 4.divlp1 > SUBS r6,r6,#1 H BEQ divend R MOVs r0,r0,asl#1 \ BPL divlp1 f.divlp2 p MOVS r0,r0,asl#1 z ADC r3,r3,r3 � CMP r3,r1 � SUBCS r3,r3,r1 � ADC r2,r2,r2 � SUBS r6,r6,#1 � BNE divlp2 �.divend � MOV r0,r2 � TEQ r4,#0 � RSBMI r0,r0,#0 � MOV r1,r3 � TEQ r5,#0 � RSBMI r1,r1,#0 �# LDMFD r13!,{r2-r6,pc} .swapscr $ STMFD r13!,{r0-r5,r14} $ LDR r0,screen . LDR r1,screen+4 8 STR r1,screen B STR r0,screen+4 L MOV r0,#112 V LDR r1,scrbank ` SWI "OS_Byte" j LDR r1,scrbank t � r1,r1,#3 ~ STR r1,scrbank � MOV r0,#113 � SWI "OS_Byte" � MOV r0,#19 � SWI "OS_Byte" � SWI &100+12 �# LDMFD r13!,{r0-r5,pc} � � .shape � EQUD 0 � .dotshape � EQUD 1 �.screen EQUD 148 EQUD 149 EQUD -1 .scrbank ( EQUD 1 2 .sqrshape < EQUD �(100^2*3)+1 F.coltableadr P EQUD coltable Z.angtableadr d EQUD angtable n x] �shapeadrs=P% �P%+=shapes*4 �shapedots=P% �P%+=shapes*4 �angtable=P% �� a=0 � 360 � P%!0=(1<<15)*��a � P%!4=(1<<15)*��a � P%=�pc(8) �� �coltable=P% �� a=0 � sqrshape!0*2 �# P%?0=�col(a/2/sqrshape!0*14+1) P%=�pc(1) � [OPT pass " ALIGN ,.shapedata 6] @� Jș "Hourglass_On" T� shape=0 � shapes-1 ^ shapeadrs!(shape*4)=P% h& shapedots!(shape*4)=�shape(shape) r� |ș "Hourglass_Off" �C� more>0 �'"Change dim to =&";�~more;" near start of program":� �� 13+128 �� �ș "OS_Byte",4,2 �ș "OS_Byte",112,1 �ș "OS_Byte",112,1 �*ș "OS_ReadVduVariables",screen,screen �screen!0+=&A0A0 �screen!4+=&A0A0 �#ȗ ȓ -32*40,-32*40,32*80,32*80 �ȗ � 32*5,32*1 �� dotty �� 0 � : � �col(shade) &Ȏ shade � 4 � 0 � 1:=&2C+shade � 4 : � 2:=&D0+shade � 4 D � 3:=&FC+shade � 4 N� X=shade � 4 b l� �shape(shape) v dots=0 �Ȏ shape � � � 0: � � blk 100 � text$="*- Tim Jones -*" �! a=(sqrshape!0*2)/(�text$*4) � � b=1 � �text$ � blk?0=��text$,b) � ș "OS_Word",10,blk � � c=1 � 8 �A e=((blk?c � %110000)>>2)+((blk?c � %100)>>1)+(blk?c � %1) � � d=0 � 7 �; � e>>d � 1 :�dot((-4+c)*a,-sqrshape!0+(b*4-d)*a,0) � � � � � 1: � a=-100 � 75 � 25 * � b=-75 � 75 � 25 4 �dot(a,b,-100) > �dot(a+25,b,100) H �dot(-100,b,a+25) R �dot(100,b,a) \ � f � p � a=-100 � 100 � 25 z � b=-100 � 100 � 25 � �dot(a,-100,b) � �dot(a,100,b) � � � � � � 2: � � a=0 � 350 � 10 � cos=80*��a � sin=80*��a � �dot(100,cos,sin) � �dot(-100,cos,sin) � �dot(cos,100,sin) � �dot(cos,-100,sin) � �dot(cos,sin,100) �dot(cos,sin,-100) � � 3: $ � r=20 � 60 � 10 . b=r+40 8 � a=0 � 330 � 30 B cos=r*��a L sin=r*��a V �dot(b,cos,sin) ` �dot(-b,cos,sin) j �dot(cos,b,sin) t �dot(cos,-b,sin) ~ �dot(cos,sin,b) � �dot(cos,sin,-b) � � � � � � 4: � � a=-100 � 100 � 20 � � b=0 � 340 � 20 � �dot(80*��b,a,80*��b) � � � � � � 5: � � a=-100 � -20 � 20 � � b=0 � 330 � 30 cos=30*��b sin=30*��b �dot(a,cos,sin) �dot(cos,a,sin) ( �dot(cos,sin,a) 2 �dot(-a,cos,sin) < �dot(cos,-a,sin) F �dot(cos,sin,-a) P � Z � d � 6: n � a=-1 � .9 � .1 x r=100-70*��(a*90+90) � � b=0 � 340 � 20 � �dot(r*��b,a*100,r*��b) � � � � � � 7: � � a=0 � 340 � 20 � � b=0 � 330 � 30 � r=70+30*��b � �dot(r*��a,30*��b,r*��a) � � � � � � 8: � � a=0 � 350 � 10 � b=0 � 300 � 60 r=70+25*��b # �dot(r*��a-35,25*��b,r*��a) "# �dot(r*��a+35,r*��a,25*��b) , � 6 � @� J =dots T: ^� �dot(x,y,z) h P%!0=x r P%!4=y | P%!8=z �P%=�pc(12) �dots+=1 �� �: �� �pc(b) �+� more=0 � P%-code+b>dim more=P%-code+b �� more>0 more+=b:=P% � =P%+b �
00000000 0d 00 0a 17 f4 20 20 20 20 20 3e 44 6f 74 73 20 |..... >Dots | 00000010 28 49 6e 66 6f 38 29 0d 00 14 13 f4 20 42 79 20 |(Info8)..... By | 00000020 20 54 69 6d 20 4a 6f 6e 65 73 0d 00 1e 19 f4 20 | Tim Jones..... | 00000030 46 6f 72 20 33 32 2d 62 69 74 20 6d 61 63 68 69 |For 32-bit machi| 00000040 6e 65 73 0d 00 28 18 f4 20 28 63 29 20 42 41 55 |nes..(.. (c) BAU| 00000050 20 41 70 72 69 6c 20 31 39 39 33 0d 00 32 05 3a | April 1993..2.:| 00000060 0d 00 3c 0d 64 69 6d 3d 26 39 39 30 30 0d 00 46 |..<.dim=&9900..F| 00000070 0c 73 74 65 70 73 3d 31 30 0d 00 50 0c 73 68 61 |.steps=10..P.sha| 00000080 70 65 73 3d 39 0d 00 5a 2b ee 20 85 20 c8 99 20 |pes=9..Z+. . .. | 00000090 22 48 6f 75 72 67 6c 61 73 73 5f 53 6d 61 73 68 |"Hourglass_Smash| 000000a0 22 3a f6 3a f1 3b 22 20 61 74 20 22 3b 9e 3a e0 |":.:.;" at ";.:.| 000000b0 0d 00 64 0e de 20 63 6f 64 65 20 64 69 6d 0d 00 |..d.. code dim..| 000000c0 6e 0a 6d 6f 72 65 3d 30 0d 00 78 14 e3 20 70 61 |n.more=0..x.. pa| 000000d0 73 73 3d 30 20 b8 20 32 20 88 20 32 0d 00 82 0b |ss=0 . 2 . 2....| 000000e0 50 25 3d 63 6f 64 65 0d 00 8c 0d 5b 4f 50 54 20 |P%=code....[OPT | 000000f0 70 61 73 73 0d 00 96 0a 2e 64 6f 74 74 79 0d 00 |pass.....dotty..| 00000100 a0 1e 20 20 20 20 20 20 20 20 53 54 4d 46 44 20 |.. STMFD | 00000110 20 20 72 31 33 21 2c 7b 72 31 34 7d 0d 00 aa 26 | r13!,{r14}...&| 00000120 20 20 20 20 20 20 20 20 53 57 49 20 20 20 20 20 | SWI | 00000130 22 4f 53 5f 52 65 6d 6f 76 65 43 75 72 73 6f 72 |"OS_RemoveCursor| 00000140 73 22 0d 00 b4 1d 20 20 20 20 20 20 20 20 4d 4f |s".... MO| 00000150 56 20 20 20 20 20 72 31 30 2c 23 31 3c 3c 39 0d |V r10,#1<<9.| 00000160 00 be 1d 20 20 20 20 20 20 20 20 4d 4f 56 20 20 |... MOV | 00000170 20 20 20 72 39 2c 23 31 3c 3c 32 33 0d 00 c8 1a | r9,#1<<23....| 00000180 20 20 20 20 20 20 20 20 4d 4f 56 20 20 20 20 20 | MOV | 00000190 72 31 32 2c 23 30 0d 00 d2 1a 20 20 20 20 20 20 |r12,#0.... | 000001a0 20 20 4d 4f 56 20 20 20 20 20 72 31 31 2c 23 30 | MOV r11,#0| 000001b0 0d 00 dc 19 20 20 20 20 20 20 20 20 4d 4f 56 20 |.... MOV | 000001c0 20 20 20 20 72 38 2c 23 30 0d 00 e6 0c 2e 64 6f | r8,#0.....do| 000001d0 74 74 79 6c 70 0d 00 f0 29 20 20 20 20 20 20 20 |ttylp...) | 000001e0 20 53 57 49 20 20 20 20 20 22 58 4f 53 5f 52 65 | SWI "XOS_Re| 000001f0 61 64 45 73 63 61 70 65 53 74 61 74 65 22 0d 00 |adEscapeState"..| 00000200 fa 1a 20 20 20 20 20 20 20 20 42 43 43 20 20 20 |.. BCC | 00000210 20 20 6e 6f 5f 65 73 63 0d 01 04 1b 20 20 20 20 | no_esc.... | 00000220 20 20 20 20 4d 4f 56 20 20 20 20 20 72 30 2c 23 | MOV r0,#| 00000230 31 32 36 0d 01 0e 1e 20 20 20 20 20 20 20 20 53 |126.... S| 00000240 57 49 20 20 20 20 20 22 58 4f 53 5f 42 79 74 65 |WI "XOS_Byte| 00000250 22 0d 01 18 1d 20 20 20 20 20 20 20 20 4c 44 4d |".... LDM| 00000260 46 44 20 20 20 72 31 33 21 2c 7b 70 63 7d 0d 01 |FD r13!,{pc}..| 00000270 22 0b 2e 6e 6f 5f 65 73 63 0d 01 2c 1b 20 20 20 |"..no_esc..,. | 00000280 20 20 20 20 20 4d 4f 56 20 20 20 20 20 72 30 2c | MOV r0,| 00000290 23 31 32 32 0d 01 36 1d 20 20 20 20 20 20 20 20 |#122..6. | 000002a0 53 57 49 20 20 20 20 20 22 4f 53 5f 42 79 74 65 |SWI "OS_Byte| 000002b0 22 0d 01 40 1a 20 20 20 20 20 20 20 20 54 45 51 |"..@. TEQ| 000002c0 20 20 20 20 20 72 31 2c 23 36 32 0d 01 4a 1a 20 | r1,#62..J. | 000002d0 20 20 20 20 20 20 20 ec 51 20 20 20 72 31 30 2c | .Q r10,| 000002e0 23 31 3c 3c 39 0d 01 54 1a 20 20 20 20 20 20 20 |#1<<9..T. | 000002f0 20 ec 51 20 20 20 72 39 2c 23 31 3c 3c 32 33 0d | .Q r9,#1<<23.| 00000300 01 5e 1a 20 20 20 20 20 20 20 20 54 45 51 20 20 |.^. TEQ | 00000310 20 20 20 72 31 2c 23 32 35 0d 01 68 20 20 20 20 | r1,#25..h | 00000320 20 20 20 20 20 41 44 44 45 51 20 20 20 72 39 2c | ADDEQ r9,| 00000330 72 39 2c 23 31 3c 3c 31 37 0d 01 72 1e 20 20 20 |r9,#1<<17..r. | 00000340 20 20 20 20 20 41 44 44 45 51 20 20 20 72 31 30 | ADDEQ r10| 00000350 2c 72 31 30 2c 23 37 0d 01 7c 1b 20 20 20 20 20 |,r10,#7..|. | 00000360 20 20 20 54 45 51 20 20 20 20 20 72 31 2c 23 31 | TEQ r1,#1| 00000370 32 31 0d 01 86 20 20 20 20 20 20 20 20 20 53 55 |21... SU| 00000380 42 45 51 20 20 20 72 39 2c 72 39 2c 23 31 3c 3c |BEQ r9,r9,#1<<| 00000390 31 37 0d 01 90 1e 20 20 20 20 20 20 20 20 53 55 |17.... SU| 000003a0 42 45 51 20 20 20 72 31 30 2c 72 31 30 2c 23 37 |BEQ r10,r10,#7| 000003b0 0d 01 9a 1a 20 20 20 20 20 20 20 20 54 45 51 20 |.... TEQ | 000003c0 20 20 20 20 72 31 2c 23 35 37 0d 01 a4 26 20 20 | r1,#57...& | 000003d0 20 20 20 20 20 20 41 44 44 45 51 20 20 20 72 31 | ADDEQ r1| 000003e0 30 2c 72 31 30 2c 72 39 2c 4c 53 52 20 23 31 38 |0,r10,r9,LSR #18| 000003f0 0d 01 ae 1a 20 20 20 20 20 20 20 20 54 45 51 20 |.... TEQ | 00000400 20 20 20 20 72 31 2c 23 34 31 0d 01 b8 26 20 20 | r1,#41...& | 00000410 20 20 20 20 20 20 53 55 42 45 51 20 20 20 72 31 | SUBEQ r1| 00000420 30 2c 72 31 30 2c 72 39 2c 4c 53 52 20 23 31 38 |0,r10,r9,LSR #18| 00000430 0d 01 c2 1e 20 20 20 20 20 20 20 20 53 57 49 20 |.... SWI | 00000440 20 20 20 20 22 4f 53 5f 4d 6f 75 73 65 22 0d 01 | "OS_Mouse"..| 00000450 cc 19 20 20 20 20 20 20 20 20 54 45 51 20 20 20 |.. TEQ | 00000460 20 20 72 32 2c 23 30 0d 01 d6 16 20 20 20 20 20 | r2,#0.... | 00000470 20 20 20 ec 51 20 20 20 72 38 2c 23 30 0d 01 e0 | .Q r8,#0...| 00000480 19 20 20 20 20 20 20 20 20 54 45 51 20 20 20 20 |. TEQ | 00000490 20 72 38 2c 23 30 0d 01 ea 19 20 20 20 20 20 20 | r8,#0.... | 000004a0 20 20 4d 4f 56 6e 65 20 20 20 72 32 2c 23 30 0d | MOVne r2,#0.| 000004b0 01 f4 19 20 20 20 20 20 20 20 20 54 45 51 20 20 |... TEQ | 000004c0 20 20 20 72 32 2c 23 31 0d 01 fe 16 20 20 20 20 | r2,#1.... | 000004d0 20 20 20 20 ec 51 20 20 20 72 38 2c 23 31 0d 02 | .Q r8,#1..| 000004e0 08 1f 20 20 20 20 20 20 20 20 42 4c 45 51 20 20 |.. BLEQ | 000004f0 20 20 63 68 61 6e 67 65 73 68 61 70 65 0d 02 12 | changeshape...| 00000500 19 20 20 20 20 20 20 20 20 54 45 51 20 20 20 20 |. TEQ | 00000510 20 72 32 2c 23 32 0d 02 1c 1d 20 20 20 20 20 20 | r2,#2.... | 00000520 20 20 4c 44 4d 45 51 46 44 20 72 31 33 21 2c 7b | LDMEQFD r13!,{| 00000530 70 63 7d 0d 02 26 19 20 20 20 20 20 20 20 20 54 |pc}..&. T| 00000540 45 51 20 20 20 20 20 72 32 2c 23 34 0d 02 30 16 |EQ r2,#4..0.| 00000550 20 20 20 20 20 20 20 20 ec 51 20 20 20 72 38 2c | .Q r8,| 00000560 23 31 0d 02 3a 1e 20 20 20 20 20 20 20 20 42 4c |#1..:. BL| 00000570 45 51 20 20 20 20 63 68 61 6e 67 65 64 6f 74 73 |EQ changedots| 00000580 0d 02 44 25 20 20 20 20 20 20 20 20 41 44 44 20 |..D% ADD | 00000590 20 20 20 20 72 31 32 2c 72 31 32 2c 72 30 2c 61 | r12,r12,r0,a| 000005a0 73 72 20 23 35 0d 02 4e 25 20 20 20 20 20 20 20 |sr #5..N% | 000005b0 20 41 44 44 20 20 20 20 20 72 31 31 2c 72 31 31 | ADD r11,r11| 000005c0 2c 72 31 2c 61 73 72 20 23 35 0d 02 58 1a 20 20 |,r1,asr #5..X. | 000005d0 20 20 20 20 20 20 54 45 51 20 20 20 20 20 72 31 | TEQ r1| 000005e0 32 2c 23 30 0d 02 62 20 20 20 20 20 20 20 20 20 |2,#0..b | 000005f0 41 44 44 4d 49 20 20 20 72 31 32 2c 72 31 32 2c |ADDMI r12,r12,| 00000600 23 33 36 30 0d 02 6c 1c 20 20 20 20 20 20 20 20 |#360..l. | 00000610 43 4d 50 20 20 20 20 20 72 31 32 2c 23 33 36 30 |CMP r12,#360| 00000620 0d 02 76 20 20 20 20 20 20 20 20 20 53 55 42 47 |..v SUBG| 00000630 54 20 20 20 72 31 32 2c 72 31 32 2c 23 33 36 30 |T r12,r12,#360| 00000640 0d 02 80 1a 20 20 20 20 20 20 20 20 54 45 51 20 |.... TEQ | 00000650 20 20 20 20 72 31 31 2c 23 30 0d 02 8a 20 20 20 | r11,#0... | 00000660 20 20 20 20 20 20 41 44 44 4d 49 20 20 20 72 31 | ADDMI r1| 00000670 31 2c 72 31 31 2c 23 33 36 30 0d 02 94 1c 20 20 |1,r11,#360.... | 00000680 20 20 20 20 20 20 43 4d 50 20 20 20 20 20 72 31 | CMP r1| 00000690 31 2c 23 33 36 30 0d 02 9e 20 20 20 20 20 20 20 |1,#360... | 000006a0 20 20 53 55 42 47 54 20 20 20 72 31 31 2c 72 31 | SUBGT r11,r1| 000006b0 31 2c 23 33 36 30 0d 02 a8 1d 20 20 20 20 20 20 |1,#360.... | 000006c0 20 20 42 4c 20 20 20 20 20 20 64 72 61 77 73 68 | BL drawsh| 000006d0 61 70 65 0d 02 b2 1b 20 20 20 20 20 20 20 20 42 |ape.... B| 000006e0 4c 20 20 20 20 20 20 73 77 61 70 73 63 72 0d 02 |L swapscr..| 000006f0 bc 1b 20 20 20 20 20 20 20 20 42 20 20 20 20 20 |.. B | 00000700 20 20 64 6f 74 74 79 6c 70 0d 02 c6 04 0d 02 d0 | dottylp.......| 00000710 0f 2e 63 68 61 6e 67 65 64 6f 74 73 0d 02 da 21 |..changedots...!| 00000720 20 20 20 20 20 20 20 20 53 54 4d 46 44 20 20 20 | STMFD | 00000730 72 31 33 21 2c 7b 72 30 2c 72 31 34 7d 0d 02 e4 |r13!,{r0,r14}...| 00000740 1f 20 20 20 20 20 20 20 20 4c 44 52 20 20 20 20 |. LDR | 00000750 20 72 30 2c 64 6f 74 73 68 61 70 65 0d 02 ee 1c | r0,dotshape....| 00000760 20 20 20 20 20 20 20 20 41 44 44 20 20 20 20 20 | ADD | 00000770 72 30 2c 72 30 2c 23 31 0d 02 f8 19 20 20 20 20 |r0,r0,#1.... | 00000780 20 20 20 20 54 45 51 20 20 20 20 20 72 30 2c 23 | TEQ r0,#| 00000790 34 0d 03 02 16 20 20 20 20 20 20 20 20 ec 51 20 |4.... .Q | 000007a0 20 20 72 30 2c 23 30 0d 03 0c 1f 20 20 20 20 20 | r0,#0.... | 000007b0 20 20 20 53 54 52 20 20 20 20 20 72 30 2c 64 6f | STR r0,do| 000007c0 74 73 68 61 70 65 0d 03 16 20 20 20 20 20 20 20 |tshape... | 000007d0 20 20 4c 44 4d 46 44 20 20 20 72 31 33 21 2c 7b | LDMFD r13!,{| 000007e0 72 30 2c 70 63 7d 0d 03 20 04 0d 03 2a 10 2e 63 |r0,pc}.. ...*..c| 000007f0 68 61 6e 67 65 73 68 61 70 65 0d 03 34 21 20 20 |hangeshape..4! | 00000800 20 20 20 20 20 20 53 54 4d 46 44 20 20 20 72 31 | STMFD r1| 00000810 33 21 2c 7b 72 30 2c 72 31 34 7d 0d 03 3e 1c 20 |3!,{r0,r14}..>. | 00000820 20 20 20 20 20 20 20 4c 44 52 20 20 20 20 20 72 | LDR r| 00000830 30 2c 73 68 61 70 65 0d 03 48 1c 20 20 20 20 20 |0,shape..H. | 00000840 20 20 20 41 44 44 20 20 20 20 20 72 30 2c 72 30 | ADD r0,r0| 00000850 2c 23 31 0d 03 52 1e 20 20 20 20 20 20 20 20 54 |,#1..R. T| 00000860 45 51 20 20 20 20 20 72 30 2c 23 73 68 61 70 65 |EQ r0,#shape| 00000870 73 0d 03 5c 16 20 20 20 20 20 20 20 20 ec 51 20 |s..\. .Q | 00000880 20 20 72 30 2c 23 30 0d 03 66 1c 20 20 20 20 20 | r0,#0..f. | 00000890 20 20 20 53 54 52 20 20 20 20 20 72 30 2c 73 68 | STR r0,sh| 000008a0 61 70 65 0d 03 70 20 20 20 20 20 20 20 20 20 4c |ape..p L| 000008b0 44 4d 46 44 20 20 20 72 31 33 21 2c 7b 72 30 2c |DMFD r13!,{r0,| 000008c0 70 63 7d 0d 03 7a 04 0d 03 84 0e 2e 64 72 61 77 |pc}..z......draw| 000008d0 73 68 61 70 65 0d 03 8e 24 20 20 20 20 20 20 20 |shape...$ | 000008e0 20 53 54 4d 46 44 20 20 20 72 31 33 21 2c 7b 72 | STMFD r13!,{r| 000008f0 30 2d 72 37 2c 72 31 34 7d 0d 03 98 1c 20 20 20 |0-r7,r14}.... | 00000900 20 20 20 20 20 4c 44 52 20 20 20 20 20 72 37 2c | LDR r7,| 00000910 73 68 61 70 65 0d 03 a2 20 20 20 20 20 20 20 20 |shape... | 00000920 20 41 44 52 20 20 20 20 20 72 35 2c 73 68 61 70 | ADR r5,shap| 00000930 65 61 64 72 73 0d 03 ac 25 20 20 20 20 20 20 20 |eadrs...% | 00000940 20 4c 44 52 20 20 20 20 20 72 35 2c 5b 72 35 2c | LDR r5,[r5,| 00000950 72 37 2c 4c 53 4c 20 23 32 5d 0d 03 b6 20 20 20 |r7,LSL #2]... | 00000960 20 20 20 20 20 20 41 44 52 20 20 20 20 20 72 36 | ADR r6| 00000970 2c 73 68 61 70 65 64 6f 74 73 0d 03 c0 25 20 20 |,shapedots...% | 00000980 20 20 20 20 20 20 4c 44 52 20 20 20 20 20 72 36 | LDR r6| 00000990 2c 5b 72 36 2c 72 37 2c 4c 53 4c 20 23 32 5d 0d |,[r6,r7,LSL #2].| 000009a0 03 ca 1f 20 20 20 20 20 20 20 20 4c 44 52 20 20 |... LDR | 000009b0 20 20 20 72 37 2c 73 71 72 73 68 61 70 65 0d 03 | r7,sqrshape..| 000009c0 d4 0c 2e 73 68 61 70 65 6c 70 0d 03 de 22 20 20 |...shapelp..." | 000009d0 20 20 20 20 20 20 4c 44 4d 49 41 20 20 20 72 35 | LDMIA r5| 000009e0 21 2c 7b 72 30 2c 72 31 2c 72 33 7d 0d 03 e8 1a |!,{r0,r1,r3}....| 000009f0 20 20 20 20 20 20 20 20 4d 4f 56 20 20 20 20 20 | MOV | 00000a00 72 32 2c 72 31 31 0d 03 f2 1a 20 20 20 20 20 20 |r2,r11.... | 00000a10 20 20 42 4c 20 20 20 20 20 20 72 6f 74 61 74 65 | BL rotate| 00000a20 0d 03 fc 19 20 20 20 20 20 20 20 20 4d 4f 56 20 |.... MOV | 00000a30 20 20 20 20 72 34 2c 72 31 0d 04 06 19 20 20 20 | r4,r1.... | 00000a40 20 20 20 20 20 4d 4f 56 20 20 20 20 20 72 31 2c | MOV r1,| 00000a50 72 33 0d 04 10 1a 20 20 20 20 20 20 20 20 4d 4f |r3.... MO| 00000a60 56 20 20 20 20 20 72 32 2c 72 31 32 0d 04 1a 1a |V r2,r12....| 00000a70 20 20 20 20 20 20 20 20 42 4c 20 20 20 20 20 20 | BL | 00000a80 72 6f 74 61 74 65 0d 04 24 19 20 20 20 20 20 20 |rotate..$. | 00000a90 20 20 4d 4f 56 20 20 20 20 20 72 32 2c 72 31 0d | MOV r2,r1.| 00000aa0 04 2e 19 20 20 20 20 20 20 20 20 4d 4f 56 20 20 |... MOV | 00000ab0 20 20 20 72 31 2c 72 34 0d 04 38 18 20 20 20 20 | r1,r4..8. | 00000ac0 20 20 20 20 42 4c 20 20 20 20 20 20 70 6c 6f 74 | BL plot| 00000ad0 0d 04 42 1c 20 20 20 20 20 20 20 20 53 55 42 20 |..B. SUB | 00000ae0 20 20 20 20 72 32 2c 72 37 2c 72 32 0d 04 4c 18 | r2,r7,r2..L.| 00000af0 20 20 20 20 20 20 20 20 42 4c 20 20 20 20 20 20 | BL | 00000b00 62 61 6c 6c 0d 04 56 1c 20 20 20 20 20 20 20 20 |ball..V. | 00000b10 53 55 42 53 20 20 20 20 72 36 2c 72 36 2c 23 31 |SUBS r6,r6,#1| 00000b20 0d 04 60 1b 20 20 20 20 20 20 20 20 42 4e 45 20 |..`. BNE | 00000b30 20 20 20 20 73 68 61 70 65 6c 70 0d 04 6a 23 20 | shapelp..j# | 00000b40 20 20 20 20 20 20 20 4c 44 4d 46 44 20 20 20 72 | LDMFD r| 00000b50 31 33 21 2c 7b 72 30 2d 72 37 2c 70 63 7d 0d 04 |13!,{r0-r7,pc}..| 00000b60 74 04 0d 04 7e 0b 2e 72 6f 74 61 74 65 0d 04 88 |t...~..rotate...| 00000b70 24 20 20 20 20 20 20 20 20 53 54 4d 46 44 20 20 |$ STMFD | 00000b80 20 72 31 33 21 2c 7b 72 32 2d 72 36 2c 72 31 34 | r13!,{r2-r6,r14| 00000b90 7d 0d 04 92 22 20 20 20 20 20 20 20 20 4c 44 52 |}..." LDR| 00000ba0 20 20 20 20 20 72 33 2c 61 6e 67 74 61 62 6c 65 | r3,angtable| 00000bb0 61 64 72 0d 04 9c 23 20 20 20 20 20 20 20 20 41 |adr...# A| 00000bc0 44 44 20 20 20 20 20 72 36 2c 72 33 2c 72 32 2c |DD r6,r3,r2,| 00000bd0 4c 53 4c 20 23 33 0d 04 a6 1e 20 20 20 20 20 20 |LSL #3.... | 00000be0 20 20 4c 44 52 20 20 20 20 20 72 32 2c 5b 72 36 | LDR r2,[r6| 00000bf0 2c 23 30 5d 0d 04 b0 1e 20 20 20 20 20 20 20 20 |,#0].... | 00000c00 4c 44 52 20 20 20 20 20 72 33 2c 5b 72 36 2c 23 |LDR r3,[r6,#| 00000c10 34 5d 0d 04 ba 1c 20 20 20 20 20 20 20 20 4d 55 |4].... MU| 00000c20 4c 20 20 20 20 20 72 34 2c 72 30 2c 72 32 0d 04 |L r4,r0,r2..| 00000c30 c4 1c 20 20 20 20 20 20 20 20 4d 55 4c 20 20 20 |.. MUL | 00000c40 20 20 72 36 2c 72 31 2c 72 33 0d 04 ce 1c 20 20 | r6,r1,r3.... | 00000c50 20 20 20 20 20 20 53 55 42 20 20 20 20 20 72 34 | SUB r4| 00000c60 2c 72 34 2c 72 36 0d 04 d8 1c 20 20 20 20 20 20 |,r4,r6.... | 00000c70 20 20 4d 55 4c 20 20 20 20 20 72 35 2c 72 31 2c | MUL r5,r1,| 00000c80 72 32 0d 04 e2 1f 20 20 20 20 20 20 20 20 4d 4c |r2.... ML| 00000c90 41 20 20 20 20 20 72 35 2c 72 30 2c 72 33 2c 72 |A r5,r0,r3,r| 00000ca0 35 0d 04 ec 21 20 20 20 20 20 20 20 20 4d 4f 56 |5...! MOV| 00000cb0 20 20 20 20 20 72 30 2c 72 34 2c 61 73 72 20 23 | r0,r4,asr #| 00000cc0 31 35 0d 04 f6 21 20 20 20 20 20 20 20 20 4d 4f |15...! MO| 00000cd0 56 20 20 20 20 20 72 31 2c 72 35 2c 61 73 72 20 |V r1,r5,asr | 00000ce0 23 31 35 0d 05 00 23 20 20 20 20 20 20 20 20 4c |#15...# L| 00000cf0 44 4d 46 44 20 20 20 72 31 33 21 2c 7b 72 32 2d |DMFD r13!,{r2-| 00000d00 72 36 2c 70 63 7d 0d 05 0a 04 0d 05 14 09 2e 70 |r6,pc}.........p| 00000d10 6c 6f 74 0d 05 1e 24 20 20 20 20 20 20 20 20 53 |lot...$ S| 00000d20 54 4d 46 44 20 20 20 72 31 33 21 2c 7b 72 32 2d |TMFD r13!,{r2-| 00000d30 72 34 2c 72 31 34 7d 0d 05 28 19 20 20 20 20 20 |r4,r14}..(. | 00000d40 20 20 20 4d 4f 56 20 20 20 20 20 72 33 2c 72 31 | MOV r3,r1| 00000d50 0d 05 32 1d 20 20 20 20 20 20 20 20 41 44 44 20 |..2. ADD | 00000d60 20 20 20 20 72 31 2c 72 32 2c 72 31 30 0d 05 3c | r1,r2,r10..<| 00000d70 19 20 20 20 20 20 20 20 20 4d 4f 56 20 20 20 20 |. MOV | 00000d80 20 72 32 2c 72 30 0d 05 46 19 20 20 20 20 20 20 | r2,r0..F. | 00000d90 20 20 4d 4f 56 20 20 20 20 20 72 30 2c 72 39 0d | MOV r0,r9.| 00000da0 05 50 1a 20 20 20 20 20 20 20 20 42 4c 20 20 20 |.P. BL | 00000db0 20 20 20 64 69 76 69 64 65 0d 05 5a 1c 20 20 20 | divide..Z. | 00000dc0 20 20 20 20 20 4d 55 4c 20 20 20 20 20 72 31 2c | MUL r1,| 00000dd0 72 30 2c 72 32 0d 05 64 1c 20 20 20 20 20 20 20 |r0,r2..d. | 00000de0 20 4d 55 4c 20 20 20 20 20 72 34 2c 72 30 2c 72 | MUL r4,r0,r| 00000df0 33 0d 05 6e 21 20 20 20 20 20 20 20 20 4d 4f 56 |3..n! MOV| 00000e00 20 20 20 20 20 72 30 2c 72 31 2c 61 73 72 20 23 | r0,r1,asr #| 00000e10 31 35 0d 05 78 21 20 20 20 20 20 20 20 20 4d 4f |15..x! MO| 00000e20 56 20 20 20 20 20 72 31 2c 72 34 2c 61 73 72 20 |V r1,r4,asr | 00000e30 23 31 35 0d 05 82 23 20 20 20 20 20 20 20 20 4c |#15...# L| 00000e40 44 4d 46 44 20 20 20 72 31 33 21 2c 7b 72 32 2d |DMFD r13!,{r2-| 00000e50 72 34 2c 70 63 7d 0d 05 8c 04 0d 05 96 09 2e 62 |r4,pc}.........b| 00000e60 61 6c 6c 0d 05 a0 24 20 20 20 20 20 20 20 20 53 |all...$ S| 00000e70 54 4d 46 44 20 20 20 72 31 33 21 2c 7b 72 30 2d |TMFD r13!,{r0-| 00000e80 72 33 2c 72 31 34 7d 0d 05 aa 1b 20 20 20 20 20 |r3,r14}.... | 00000e90 20 20 20 4d 56 4e 20 20 20 20 20 72 33 2c 23 31 | MVN r3,#1| 00000ea0 35 38 0d 05 b4 19 20 20 20 20 20 20 20 20 43 4d |58.... CM| 00000eb0 50 20 20 20 20 20 72 30 2c 72 33 0d 05 be 23 20 |P r0,r3...# | 00000ec0 20 20 20 20 20 20 20 4c 44 4d 4c 45 46 44 20 72 | LDMLEFD r| 00000ed0 31 33 21 2c 7b 72 30 2d 72 33 2c 70 63 7d 0d 05 |13!,{r0-r3,pc}..| 00000ee0 c8 1b 20 20 20 20 20 20 20 20 4d 56 4e 20 20 20 |.. MVN | 00000ef0 20 20 72 33 2c 23 31 32 36 0d 05 d2 19 20 20 20 | r3,#126.... | 00000f00 20 20 20 20 20 43 4d 50 20 20 20 20 20 72 31 2c | CMP r1,| 00000f10 72 33 0d 05 dc 23 20 20 20 20 20 20 20 20 4c 44 |r3...# LD| 00000f20 4d 4c 45 46 44 20 72 31 33 21 2c 7b 72 30 2d 72 |MLEFD r13!,{r0-r| 00000f30 33 2c 70 63 7d 0d 05 e6 1b 20 20 20 20 20 20 20 |3,pc}.... | 00000f40 20 43 4d 50 20 20 20 20 20 72 30 2c 23 31 35 38 | CMP r0,#158| 00000f50 0d 05 f0 23 20 20 20 20 20 20 20 20 4c 44 4d 47 |...# LDMG| 00000f60 45 46 44 20 72 31 33 21 2c 7b 72 30 2d 72 33 2c |EFD r13!,{r0-r3,| 00000f70 70 63 7d 0d 05 fa 1b 20 20 20 20 20 20 20 20 43 |pc}.... C| 00000f80 4d 50 20 20 20 20 20 72 31 2c 23 31 32 36 0d 06 |MP r1,#126..| 00000f90 04 23 20 20 20 20 20 20 20 20 4c 44 4d 47 45 46 |.# LDMGEF| 00000fa0 44 20 72 31 33 21 2c 7b 72 30 2d 72 33 2c 70 63 |D r13!,{r0-r3,pc| 00000fb0 7d 0d 06 0e 1f 20 20 20 20 20 20 20 20 4c 44 52 |}.... LDR| 00000fc0 20 20 20 20 20 72 33 2c 73 63 72 65 65 6e 2b 34 | r3,screen+4| 00000fd0 0d 06 18 23 20 20 20 20 20 20 20 20 41 44 44 20 |...# ADD | 00000fe0 20 20 20 20 72 33 2c 72 33 2c 72 31 2c 4c 53 4c | r3,r3,r1,LSL| 00000ff0 20 23 36 0d 06 22 23 20 20 20 20 20 20 20 20 41 | #6.."# A| 00001000 44 44 20 20 20 20 20 72 33 2c 72 33 2c 72 31 2c |DD r3,r3,r1,| 00001010 4c 53 4c 20 23 38 0d 06 2c 1c 20 20 20 20 20 20 |LSL #8..,. | 00001020 20 20 41 44 44 20 20 20 20 20 72 33 2c 72 33 2c | ADD r3,r3,| 00001030 72 30 0d 06 36 22 20 20 20 20 20 20 20 20 4c 44 |r0..6" LD| 00001040 52 20 20 20 20 20 72 30 2c 63 6f 6c 74 61 62 6c |R r0,coltabl| 00001050 65 61 64 72 0d 06 40 1e 20 20 20 20 20 20 20 20 |eadr..@. | 00001060 4c 44 52 42 20 20 20 20 72 31 2c 5b 72 30 2c 72 |LDRB r1,[r0,r| 00001070 32 5d 0d 06 4a 1f 20 20 20 20 20 20 20 20 4c 44 |2]..J. LD| 00001080 52 20 20 20 20 20 72 30 2c 64 6f 74 73 68 61 70 |R r0,dotshap| 00001090 65 0d 06 54 23 20 20 20 20 20 20 20 20 41 44 44 |e..T# ADD| 000010a0 20 20 20 20 20 70 63 2c 70 63 2c 72 30 2c 4c 53 | pc,pc,r0,LS| 000010b0 4c 20 23 35 0d 06 5e 15 20 20 20 20 20 20 20 20 |L #5..^. | 000010c0 45 51 55 44 20 20 20 20 30 0d 06 68 1e 20 20 20 |EQUD 0..h. | 000010d0 20 20 20 20 20 53 54 52 42 20 20 20 20 72 31 2c | STRB r1,| 000010e0 5b 72 33 2c 23 30 5d 0d 06 72 1e 20 20 20 20 20 |[r3,#0]..r. | 000010f0 20 20 20 53 54 52 42 20 20 20 20 72 31 2c 5b 72 | STRB r1,[r| 00001100 33 2c 23 31 5d 0d 06 7c 20 20 20 20 20 20 20 20 |3,#1]..| | 00001110 20 53 54 52 42 20 20 20 20 72 31 2c 5b 72 33 2c | STRB r1,[r3,| 00001120 23 33 32 30 5d 0d 06 86 20 20 20 20 20 20 20 20 |#320]... | 00001130 20 53 54 52 42 20 20 20 20 72 31 2c 5b 72 33 2c | STRB r1,[r3,| 00001140 23 33 32 31 5d 0d 06 90 23 20 20 20 20 20 20 20 |#321]...# | 00001150 20 4c 44 4d 46 44 20 20 20 72 31 33 21 2c 7b 72 | LDMFD r13!,{r| 00001160 30 2d 72 33 2c 70 63 7d 0d 06 9a 15 20 20 20 20 |0-r3,pc}.... | 00001170 20 20 20 20 45 51 55 44 20 20 20 20 30 0d 06 a4 | EQUD 0...| 00001180 15 20 20 20 20 20 20 20 20 45 51 55 44 20 20 20 |. EQUD | 00001190 20 30 0d 06 ae 15 20 20 20 20 20 20 20 20 45 51 | 0.... EQ| 000011a0 55 44 20 20 20 20 30 0d 06 b8 1e 20 20 20 20 20 |UD 0.... | 000011b0 20 20 20 53 54 52 42 20 20 20 20 72 31 2c 5b 72 | STRB r1,[r| 000011c0 33 2c 23 30 5d 0d 06 c2 1f 20 20 20 20 20 20 20 |3,#0].... | 000011d0 20 53 54 52 42 20 20 20 20 72 31 2c 5b 72 33 2c | STRB r1,[r3,| 000011e0 23 2d 31 5d 0d 06 cc 1e 20 20 20 20 20 20 20 20 |#-1].... | 000011f0 53 54 52 42 20 20 20 20 72 31 2c 5b 72 33 2c 23 |STRB r1,[r3,#| 00001200 31 5d 0d 06 d6 21 20 20 20 20 20 20 20 20 53 54 |1]...! ST| 00001210 52 42 20 20 20 20 72 31 2c 5b 72 33 2c 23 2d 33 |RB r1,[r3,#-3| 00001220 32 30 5d 0d 06 e0 20 20 20 20 20 20 20 20 20 53 |20]... S| 00001230 54 52 42 20 20 20 20 72 31 2c 5b 72 33 2c 23 33 |TRB r1,[r3,#3| 00001240 32 30 5d 0d 06 ea 23 20 20 20 20 20 20 20 20 4c |20]...# L| 00001250 44 4d 46 44 20 20 20 72 31 33 21 2c 7b 72 30 2d |DMFD r13!,{r0-| 00001260 72 33 2c 70 63 7d 0d 06 f4 15 20 20 20 20 20 20 |r3,pc}.... | 00001270 20 20 45 51 55 44 20 20 20 20 30 0d 06 fe 15 20 | EQUD 0.... | 00001280 20 20 20 20 20 20 20 45 51 55 44 20 20 20 20 30 | EQUD 0| 00001290 0d 07 08 1f 20 20 20 20 20 20 20 20 53 54 52 42 |.... STRB| 000012a0 20 20 20 20 72 31 2c 5b 72 33 2c 23 2d 31 5d 0d | r1,[r3,#-1].| 000012b0 07 12 1e 20 20 20 20 20 20 20 20 53 54 52 42 20 |... STRB | 000012c0 20 20 20 72 31 2c 5b 72 33 2c 23 31 5d 0d 07 1c | r1,[r3,#1]...| 000012d0 21 20 20 20 20 20 20 20 20 53 54 52 42 20 20 20 |! STRB | 000012e0 20 72 31 2c 5b 72 33 2c 23 2d 33 32 30 5d 0d 07 | r1,[r3,#-320]..| 000012f0 26 20 20 20 20 20 20 20 20 20 53 54 52 42 20 20 |& STRB | 00001300 20 20 72 31 2c 5b 72 33 2c 23 33 32 30 5d 0d 07 | r1,[r3,#320]..| 00001310 30 23 20 20 20 20 20 20 20 20 4c 44 4d 46 44 20 |0# LDMFD | 00001320 20 20 72 31 33 21 2c 7b 72 30 2d 72 33 2c 70 63 | r13!,{r0-r3,pc| 00001330 7d 0d 07 3a 15 20 20 20 20 20 20 20 20 45 51 55 |}..:. EQU| 00001340 44 20 20 20 20 30 0d 07 44 15 20 20 20 20 20 20 |D 0..D. | 00001350 20 20 45 51 55 44 20 20 20 20 30 0d 07 4e 15 20 | EQUD 0..N. | 00001360 20 20 20 20 20 20 20 45 51 55 44 20 20 20 20 30 | EQUD 0| 00001370 0d 07 58 1e 20 20 20 20 20 20 20 20 53 54 52 42 |..X. STRB| 00001380 20 20 20 20 72 31 2c 5b 72 33 2c 23 30 5d 0d 07 | r1,[r3,#0]..| 00001390 62 1f 20 20 20 20 20 20 20 20 53 54 52 42 20 20 |b. STRB | 000013a0 20 20 72 31 2c 5b 72 33 2c 23 2d 32 5d 0d 07 6c | r1,[r3,#-2]..l| 000013b0 1e 20 20 20 20 20 20 20 20 53 54 52 42 20 20 20 |. STRB | 000013c0 20 72 31 2c 5b 72 33 2c 23 32 5d 0d 07 76 21 20 | r1,[r3,#2]..v! | 000013d0 20 20 20 20 20 20 20 53 54 52 42 20 20 20 20 72 | STRB r| 000013e0 31 2c 5b 72 33 2c 23 2d 36 34 30 5d 0d 07 80 20 |1,[r3,#-640]... | 000013f0 20 20 20 20 20 20 20 20 53 54 52 42 20 20 20 20 | STRB | 00001400 72 31 2c 5b 72 33 2c 23 36 34 30 5d 0d 07 8a 23 |r1,[r3,#640]...#| 00001410 20 20 20 20 20 20 20 20 4c 44 4d 46 44 20 20 20 | LDMFD | 00001420 72 31 33 21 2c 7b 72 30 2d 72 33 2c 70 63 7d 0d |r13!,{r0-r3,pc}.| 00001430 07 94 15 20 20 20 20 20 20 20 20 45 51 55 44 20 |... EQUD | 00001440 20 20 20 30 0d 07 9e 15 20 20 20 20 20 20 20 20 | 0.... | 00001450 45 51 55 44 20 20 20 20 30 0d 07 a8 04 0d 07 b2 |EQUD 0.......| 00001460 0b 2e 64 69 76 69 64 65 0d 07 bc 24 20 20 20 20 |..divide...$ | 00001470 20 20 20 20 53 54 4d 46 44 20 20 20 72 31 33 21 | STMFD r13!| 00001480 2c 7b 72 32 2d 72 36 2c 72 31 34 7d 0d 07 c6 1a |,{r2-r6,r14}....| 00001490 20 20 20 20 20 20 20 20 82 53 20 20 20 20 72 34 | .S r4| 000014a0 2c 72 30 2c 72 31 0d 07 d0 19 20 20 20 20 20 20 |,r0,r1.... | 000014b0 20 20 4d 4f 56 53 20 20 20 20 72 35 2c 72 30 0d | MOVS r5,r0.| 000014c0 07 da 1c 20 20 20 20 20 20 20 20 52 53 42 4d 49 |... RSBMI| 000014d0 20 20 20 72 30 2c 72 30 2c 23 30 0d 07 e4 19 20 | r0,r0,#0.... | 000014e0 20 20 20 20 20 20 20 54 45 51 20 20 20 20 20 72 | TEQ r| 000014f0 31 2c 23 30 0d 07 ee 1c 20 20 20 20 20 20 20 20 |1,#0.... | 00001500 52 53 42 4d 49 20 20 20 72 31 2c 72 31 2c 23 30 |RSBMI r1,r1,#0| 00001510 0d 07 f8 0a 2e 64 69 76 33 32 0d 08 02 19 20 20 |.....div32.... | 00001520 20 20 20 20 20 20 54 45 51 20 20 20 20 20 72 31 | TEQ r1| 00001530 2c 23 30 0d 08 0c 1a 20 20 20 20 20 20 20 20 42 |,#0.... B| 00001540 45 51 20 20 20 20 20 64 69 76 65 6e 64 0d 08 16 |EQ divend...| 00001550 19 20 20 20 20 20 20 20 20 4d 4f 56 20 20 20 20 |. MOV | 00001560 20 72 33 2c 23 30 0d 08 20 19 20 20 20 20 20 20 | r3,#0.. . | 00001570 20 20 4d 4f 56 20 20 20 20 20 72 32 2c 23 30 0d | MOV r2,#0.| 00001580 08 2a 1a 20 20 20 20 20 20 20 20 4d 4f 56 20 20 |.*. MOV | 00001590 20 20 20 72 36 2c 23 33 32 0d 08 34 0b 2e 64 69 | r6,#32..4..di| 000015a0 76 6c 70 31 0d 08 3e 1c 20 20 20 20 20 20 20 20 |vlp1..>. | 000015b0 53 55 42 53 20 20 20 20 72 36 2c 72 36 2c 23 31 |SUBS r6,r6,#1| 000015c0 0d 08 48 1a 20 20 20 20 20 20 20 20 42 45 51 20 |..H. BEQ | 000015d0 20 20 20 20 64 69 76 65 6e 64 0d 08 52 1f 20 20 | divend..R. | 000015e0 20 20 20 20 20 20 4d 4f 56 73 20 20 20 20 72 30 | MOVs r0| 000015f0 2c 72 30 2c 61 73 6c 23 31 0d 08 5c 1a 20 20 20 |,r0,asl#1..\. | 00001600 20 20 20 20 20 42 50 4c 20 20 20 20 20 64 69 76 | BPL div| 00001610 6c 70 31 0d 08 66 0b 2e 64 69 76 6c 70 32 0d 08 |lp1..f..divlp2..| 00001620 70 1f 20 20 20 20 20 20 20 20 4d 4f 56 53 20 20 |p. MOVS | 00001630 20 20 72 30 2c 72 30 2c 61 73 6c 23 31 0d 08 7a | r0,r0,asl#1..z| 00001640 1c 20 20 20 20 20 20 20 20 41 44 43 20 20 20 20 |. ADC | 00001650 20 72 33 2c 72 33 2c 72 33 0d 08 84 19 20 20 20 | r3,r3,r3.... | 00001660 20 20 20 20 20 43 4d 50 20 20 20 20 20 72 33 2c | CMP r3,| 00001670 72 31 0d 08 8e 1c 20 20 20 20 20 20 20 20 53 55 |r1.... SU| 00001680 42 43 53 20 20 20 72 33 2c 72 33 2c 72 31 0d 08 |BCS r3,r3,r1..| 00001690 98 1c 20 20 20 20 20 20 20 20 41 44 43 20 20 20 |.. ADC | 000016a0 20 20 72 32 2c 72 32 2c 72 32 0d 08 a2 1c 20 20 | r2,r2,r2.... | 000016b0 20 20 20 20 20 20 53 55 42 53 20 20 20 20 72 36 | SUBS r6| 000016c0 2c 72 36 2c 23 31 0d 08 ac 1a 20 20 20 20 20 20 |,r6,#1.... | 000016d0 20 20 42 4e 45 20 20 20 20 20 64 69 76 6c 70 32 | BNE divlp2| 000016e0 0d 08 b6 0b 2e 64 69 76 65 6e 64 0d 08 c0 19 20 |.....divend.... | 000016f0 20 20 20 20 20 20 20 4d 4f 56 20 20 20 20 20 72 | MOV r| 00001700 30 2c 72 32 0d 08 ca 19 20 20 20 20 20 20 20 20 |0,r2.... | 00001710 54 45 51 20 20 20 20 20 72 34 2c 23 30 0d 08 d4 |TEQ r4,#0...| 00001720 1c 20 20 20 20 20 20 20 20 52 53 42 4d 49 20 20 |. RSBMI | 00001730 20 72 30 2c 72 30 2c 23 30 0d 08 de 19 20 20 20 | r0,r0,#0.... | 00001740 20 20 20 20 20 4d 4f 56 20 20 20 20 20 72 31 2c | MOV r1,| 00001750 72 33 0d 08 e8 19 20 20 20 20 20 20 20 20 54 45 |r3.... TE| 00001760 51 20 20 20 20 20 72 35 2c 23 30 0d 08 f2 1c 20 |Q r5,#0.... | 00001770 20 20 20 20 20 20 20 52 53 42 4d 49 20 20 20 72 | RSBMI r| 00001780 31 2c 72 31 2c 23 30 0d 08 fc 23 20 20 20 20 20 |1,r1,#0...# | 00001790 20 20 20 4c 44 4d 46 44 20 20 20 72 31 33 21 2c | LDMFD r13!,| 000017a0 7b 72 32 2d 72 36 2c 70 63 7d 0d 09 06 04 0d 09 |{r2-r6,pc}......| 000017b0 10 0c 2e 73 77 61 70 73 63 72 0d 09 1a 24 20 20 |...swapscr...$ | 000017c0 20 20 20 20 20 20 53 54 4d 46 44 20 20 20 72 31 | STMFD r1| 000017d0 33 21 2c 7b 72 30 2d 72 35 2c 72 31 34 7d 0d 09 |3!,{r0-r5,r14}..| 000017e0 24 1d 20 20 20 20 20 20 20 20 4c 44 52 20 20 20 |$. LDR | 000017f0 20 20 72 30 2c 73 63 72 65 65 6e 0d 09 2e 1f 20 | r0,screen.... | 00001800 20 20 20 20 20 20 20 4c 44 52 20 20 20 20 20 72 | LDR r| 00001810 31 2c 73 63 72 65 65 6e 2b 34 0d 09 38 1d 20 20 |1,screen+4..8. | 00001820 20 20 20 20 20 20 53 54 52 20 20 20 20 20 72 31 | STR r1| 00001830 2c 73 63 72 65 65 6e 0d 09 42 1f 20 20 20 20 20 |,screen..B. | 00001840 20 20 20 53 54 52 20 20 20 20 20 72 30 2c 73 63 | STR r0,sc| 00001850 72 65 65 6e 2b 34 0d 09 4c 1b 20 20 20 20 20 20 |reen+4..L. | 00001860 20 20 4d 4f 56 20 20 20 20 20 72 30 2c 23 31 31 | MOV r0,#11| 00001870 32 0d 09 56 1e 20 20 20 20 20 20 20 20 4c 44 52 |2..V. LDR| 00001880 20 20 20 20 20 72 31 2c 73 63 72 62 61 6e 6b 0d | r1,scrbank.| 00001890 09 60 1d 20 20 20 20 20 20 20 20 53 57 49 20 20 |.`. SWI | 000018a0 20 20 20 22 4f 53 5f 42 79 74 65 22 0d 09 6a 1e | "OS_Byte"..j.| 000018b0 20 20 20 20 20 20 20 20 4c 44 52 20 20 20 20 20 | LDR | 000018c0 72 31 2c 73 63 72 62 61 6e 6b 0d 09 74 1a 20 20 |r1,scrbank..t. | 000018d0 20 20 20 20 20 20 82 20 20 20 20 20 72 31 2c 72 | . r1,r| 000018e0 31 2c 23 33 0d 09 7e 1e 20 20 20 20 20 20 20 20 |1,#3..~. | 000018f0 53 54 52 20 20 20 20 20 72 31 2c 73 63 72 62 61 |STR r1,scrba| 00001900 6e 6b 0d 09 88 1b 20 20 20 20 20 20 20 20 4d 4f |nk.... MO| 00001910 56 20 20 20 20 20 72 30 2c 23 31 31 33 0d 09 92 |V r0,#113...| 00001920 1d 20 20 20 20 20 20 20 20 53 57 49 20 20 20 20 |. SWI | 00001930 20 22 4f 53 5f 42 79 74 65 22 0d 09 9c 1a 20 20 | "OS_Byte".... | 00001940 20 20 20 20 20 20 4d 4f 56 20 20 20 20 20 72 30 | MOV r0| 00001950 2c 23 31 39 0d 09 a6 1d 20 20 20 20 20 20 20 20 |,#19.... | 00001960 53 57 49 20 20 20 20 20 22 4f 53 5f 42 79 74 65 |SWI "OS_Byte| 00001970 22 0d 09 b0 1b 20 20 20 20 20 20 20 20 53 57 49 |".... SWI| 00001980 20 20 20 20 20 26 31 30 30 2b 31 32 0d 09 ba 23 | &100+12...#| 00001990 20 20 20 20 20 20 20 20 4c 44 4d 46 44 20 20 20 | LDMFD | 000019a0 72 31 33 21 2c 7b 72 30 2d 72 35 2c 70 63 7d 0d |r13!,{r0-r5,pc}.| 000019b0 09 c4 04 0d 09 ce 0a 2e 73 68 61 70 65 0d 09 d8 |........shape...| 000019c0 15 20 20 20 20 20 20 20 20 45 51 55 44 20 20 20 |. EQUD | 000019d0 20 30 0d 09 e2 0d 2e 64 6f 74 73 68 61 70 65 0d | 0.....dotshape.| 000019e0 09 ec 15 20 20 20 20 20 20 20 20 45 51 55 44 20 |... EQUD | 000019f0 20 20 20 31 0d 09 f6 0b 2e 73 63 72 65 65 6e 0d | 1.....screen.| 00001a00 0a 00 17 20 20 20 20 20 20 20 20 45 51 55 44 20 |... EQUD | 00001a10 20 20 20 31 34 38 0d 0a 0a 17 20 20 20 20 20 20 | 148.... | 00001a20 20 20 45 51 55 44 20 20 20 20 31 34 39 0d 0a 14 | EQUD 149...| 00001a30 16 20 20 20 20 20 20 20 20 45 51 55 44 20 20 20 |. EQUD | 00001a40 20 2d 31 0d 0a 1e 0c 2e 73 63 72 62 61 6e 6b 0d | -1.....scrbank.| 00001a50 0a 28 15 20 20 20 20 20 20 20 20 45 51 55 44 20 |.(. EQUD | 00001a60 20 20 20 31 0d 0a 32 0d 2e 73 71 72 73 68 61 70 | 1..2..sqrshap| 00001a70 65 0d 0a 3c 20 20 20 20 20 20 20 20 20 45 51 55 |e..< EQU| 00001a80 44 20 20 20 20 b6 28 31 30 30 5e 32 2a 33 29 2b |D .(100^2*3)+| 00001a90 31 0d 0a 46 10 2e 63 6f 6c 74 61 62 6c 65 61 64 |1..F..coltablead| 00001aa0 72 0d 0a 50 1c 20 20 20 20 20 20 20 20 45 51 55 |r..P. EQU| 00001ab0 44 20 20 20 20 63 6f 6c 74 61 62 6c 65 0d 0a 5a |D coltable..Z| 00001ac0 10 2e 61 6e 67 74 61 62 6c 65 61 64 72 0d 0a 64 |..angtableadr..d| 00001ad0 1c 20 20 20 20 20 20 20 20 45 51 55 44 20 20 20 |. EQUD | 00001ae0 20 61 6e 67 74 61 62 6c 65 0d 0a 6e 04 0d 0a 78 | angtable..n...x| 00001af0 05 5d 0d 0a 82 10 73 68 61 70 65 61 64 72 73 3d |.]....shapeadrs=| 00001b00 50 25 0d 0a 8c 10 50 25 2b 3d 73 68 61 70 65 73 |P%....P%+=shapes| 00001b10 2a 34 0d 0a 96 10 73 68 61 70 65 64 6f 74 73 3d |*4....shapedots=| 00001b20 50 25 0d 0a a0 10 50 25 2b 3d 73 68 61 70 65 73 |P%....P%+=shapes| 00001b30 2a 34 0d 0a aa 0f 61 6e 67 74 61 62 6c 65 3d 50 |*4....angtable=P| 00001b40 25 0d 0a b4 0f e3 20 61 3d 30 20 b8 20 33 36 30 |%..... a=0 . 360| 00001b50 0d 0a be 15 20 50 25 21 30 3d 28 31 3c 3c 31 35 |.... P%!0=(1<<15| 00001b60 29 2a 9b b2 61 0d 0a c8 15 20 50 25 21 34 3d 28 |)*..a.... P%!4=(| 00001b70 31 3c 3c 31 35 29 2a b5 b2 61 0d 0a d2 0e 20 50 |1<<15)*..a.... P| 00001b80 25 3d a4 70 63 28 38 29 0d 0a dc 05 ed 0d 0a e6 |%=.pc(8)........| 00001b90 0f 63 6f 6c 74 61 62 6c 65 3d 50 25 0d 0a f0 18 |.coltable=P%....| 00001ba0 e3 20 61 3d 30 20 b8 20 73 71 72 73 68 61 70 65 |. a=0 . sqrshape| 00001bb0 21 30 2a 32 0d 0a fa 23 20 50 25 3f 30 3d a4 63 |!0*2...# P%?0=.c| 00001bc0 6f 6c 28 61 2f 32 2f 73 71 72 73 68 61 70 65 21 |ol(a/2/sqrshape!| 00001bd0 30 2a 31 34 2b 31 29 0d 0b 04 0e 20 50 25 3d a4 |0*14+1).... P%=.| 00001be0 70 63 28 31 29 0d 0b 0e 05 ed 0d 0b 18 0d 5b 4f |pc(1).........[O| 00001bf0 50 54 20 70 61 73 73 0d 0b 22 11 20 20 20 20 20 |PT pass..". | 00001c00 20 20 20 41 4c 49 47 4e 0d 0b 2c 0e 2e 73 68 61 | ALIGN..,..sha| 00001c10 70 65 64 61 74 61 0d 0b 36 05 5d 0d 0b 40 05 ed |pedata..6.]..@..| 00001c20 0d 0b 4a 15 c8 99 20 22 48 6f 75 72 67 6c 61 73 |..J... "Hourglas| 00001c30 73 5f 4f 6e 22 0d 0b 54 18 e3 20 73 68 61 70 65 |s_On"..T.. shape| 00001c40 3d 30 20 b8 20 73 68 61 70 65 73 2d 31 0d 0b 5e |=0 . shapes-1..^| 00001c50 1b 20 73 68 61 70 65 61 64 72 73 21 28 73 68 61 |. shapeadrs!(sha| 00001c60 70 65 2a 34 29 3d 50 25 0d 0b 68 26 20 73 68 61 |pe*4)=P%..h& sha| 00001c70 70 65 64 6f 74 73 21 28 73 68 61 70 65 2a 34 29 |pedots!(shape*4)| 00001c80 3d a4 73 68 61 70 65 28 73 68 61 70 65 29 0d 0b |=.shape(shape)..| 00001c90 72 05 ed 0d 0b 7c 16 c8 99 20 22 48 6f 75 72 67 |r....|... "Hourg| 00001ca0 6c 61 73 73 5f 4f 66 66 22 0d 0b 86 43 e7 20 6d |lass_Off"...C. m| 00001cb0 6f 72 65 3e 30 20 f1 27 22 43 68 61 6e 67 65 20 |ore>0 .'"Change | 00001cc0 64 69 6d 20 74 6f 20 3d 26 22 3b c3 7e 6d 6f 72 |dim to =&";.~mor| 00001cd0 65 3b 22 20 6e 65 61 72 20 73 74 61 72 74 20 6f |e;" near start o| 00001ce0 66 20 70 72 6f 67 72 61 6d 22 3a e0 0d 0b 90 0c |f program":.....| 00001cf0 eb 20 31 33 2b 31 32 38 0d 0b 9a 05 87 0d 0b a4 |. 13+128........| 00001d00 14 c8 99 20 22 4f 53 5f 42 79 74 65 22 2c 34 2c |... "OS_Byte",4,| 00001d10 32 0d 0b ae 16 c8 99 20 22 4f 53 5f 42 79 74 65 |2...... "OS_Byte| 00001d20 22 2c 31 31 32 2c 31 0d 0b b8 16 c8 99 20 22 4f |",112,1...... "O| 00001d30 53 5f 42 79 74 65 22 2c 31 31 32 2c 31 0d 0b c2 |S_Byte",112,1...| 00001d40 2a c8 99 20 22 4f 53 5f 52 65 61 64 56 64 75 56 |*.. "OS_ReadVduV| 00001d50 61 72 69 61 62 6c 65 73 22 2c 73 63 72 65 65 6e |ariables",screen| 00001d60 2c 73 63 72 65 65 6e 0d 0b cc 13 73 63 72 65 65 |,screen....scree| 00001d70 6e 21 30 2b 3d 26 41 30 41 30 0d 0b d6 13 73 63 |n!0+=&A0A0....sc| 00001d80 72 65 65 6e 21 34 2b 3d 26 41 30 41 30 0d 0b e0 |reen!4+=&A0A0...| 00001d90 23 c8 97 20 c8 93 20 2d 33 32 2a 34 30 2c 2d 33 |#.. .. -32*40,-3| 00001da0 32 2a 34 30 2c 33 32 2a 38 30 2c 33 32 2a 38 30 |2*40,32*80,32*80| 00001db0 0d 0b ea 12 c8 97 20 b8 20 33 32 2a 35 2c 33 32 |...... . 32*5,32| 00001dc0 2a 31 0d 0b f4 0b d6 20 64 6f 74 74 79 0d 0b fe |*1..... dotty...| 00001dd0 07 eb 20 30 0d 0c 08 05 e0 0d 0c 12 05 3a 0d 0c |.. 0.........:..| 00001de0 1c 11 dd 20 a4 63 6f 6c 28 73 68 61 64 65 29 0d |... .col(shade).| 00001df0 0c 26 12 c8 8e 20 73 68 61 64 65 20 81 20 34 20 |.&... shade . 4 | 00001e00 ca 0d 0c 30 17 20 c9 20 31 3a 3d 26 32 43 2b 73 |...0. . 1:=&2C+s| 00001e10 68 61 64 65 20 83 20 34 0d 0c 3a 17 20 c9 20 32 |hade . 4..:. . 2| 00001e20 3a 3d 26 44 30 2b 73 68 61 64 65 20 83 20 34 0d |:=&D0+shade . 4.| 00001e30 0c 44 17 20 c9 20 33 3a 3d 26 46 43 2b 73 68 61 |.D. . 3:=&FC+sha| 00001e40 64 65 20 83 20 34 0d 0c 4e 05 cb 0d 0c 58 0e 3d |de . 4..N....X.=| 00001e50 73 68 61 64 65 20 83 20 34 0d 0c 62 04 0d 0c 6c |shade . 4..b...l| 00001e60 13 dd 20 a4 73 68 61 70 65 28 73 68 61 70 65 29 |.. .shape(shape)| 00001e70 0d 0c 76 0a 64 6f 74 73 3d 30 0d 0c 80 0e c8 8e |..v.dots=0......| 00001e80 20 73 68 61 70 65 20 ca 0d 0c 8a 09 20 c9 20 30 | shape ..... . 0| 00001e90 3a 0d 0c 94 0f 20 20 de 20 62 6c 6b 20 31 30 30 |:.... . blk 100| 00001ea0 0d 0c 9e 1d 20 20 74 65 78 74 24 3d 22 2a 2d 20 |.... text$="*- | 00001eb0 54 69 6d 20 4a 6f 6e 65 73 20 2d 2a 22 0d 0c a8 |Tim Jones -*"...| 00001ec0 21 20 20 61 3d 28 73 71 72 73 68 61 70 65 21 30 |! a=(sqrshape!0| 00001ed0 2a 32 29 2f 28 a9 74 65 78 74 24 2a 34 29 0d 0c |*2)/(.text$*4)..| 00001ee0 b2 14 20 20 e3 20 62 3d 31 20 b8 20 a9 74 65 78 |.. . b=1 . .tex| 00001ef0 74 24 0d 0c bc 17 20 20 20 62 6c 6b 3f 30 3d 97 |t$.... blk?0=.| 00001f00 c1 74 65 78 74 24 2c 62 29 0d 0c c6 1a 20 20 20 |.text$,b).... | 00001f10 c8 99 20 22 4f 53 5f 57 6f 72 64 22 2c 31 30 2c |.. "OS_Word",10,| 00001f20 62 6c 6b 0d 0c d0 10 20 20 20 e3 20 63 3d 31 20 |blk.... . c=1 | 00001f30 b8 20 38 0d 0c da 41 20 20 20 20 65 3d 28 28 62 |. 8...A e=((b| 00001f40 6c 6b 3f 63 20 80 20 25 31 31 30 30 30 30 29 3e |lk?c . %110000)>| 00001f50 3e 32 29 2b 28 28 62 6c 6b 3f 63 20 80 20 25 31 |>2)+((blk?c . %1| 00001f60 30 30 29 3e 3e 31 29 2b 28 62 6c 6b 3f 63 20 80 |00)>>1)+(blk?c .| 00001f70 20 25 31 29 0d 0c e4 11 20 20 20 20 e3 20 64 3d | %1).... . d=| 00001f80 30 20 b8 20 37 0d 0c ee 3b 20 20 20 20 20 e7 20 |0 . 7...; . | 00001f90 65 3e 3e 64 20 80 20 31 20 3a f2 64 6f 74 28 28 |e>>d . 1 :.dot((| 00001fa0 2d 34 2b 63 29 2a 61 2c 2d 73 71 72 73 68 61 70 |-4+c)*a,-sqrshap| 00001fb0 65 21 30 2b 28 62 2a 34 2d 64 29 2a 61 2c 30 29 |e!0+(b*4-d)*a,0)| 00001fc0 0d 0c f8 09 20 20 20 20 ed 0d 0d 02 08 20 20 20 |.... ..... | 00001fd0 ed 0d 0d 0c 07 20 20 ed 0d 0d 16 09 20 c9 20 31 |..... ..... . 1| 00001fe0 3a 0d 0d 20 18 20 20 e3 20 61 3d 2d 31 30 30 20 |:.. . . a=-100 | 00001ff0 b8 20 37 35 20 88 20 32 35 0d 0d 2a 18 20 20 20 |. 75 . 25..*. | 00002000 e3 20 62 3d 2d 37 35 20 b8 20 37 35 20 88 20 32 |. b=-75 . 75 . 2| 00002010 35 0d 0d 34 16 20 20 20 20 f2 64 6f 74 28 61 2c |5..4. .dot(a,| 00002020 62 2c 2d 31 30 30 29 0d 0d 3e 18 20 20 20 20 f2 |b,-100)..>. .| 00002030 64 6f 74 28 61 2b 32 35 2c 62 2c 31 30 30 29 0d |dot(a+25,b,100).| 00002040 0d 48 19 20 20 20 20 f2 64 6f 74 28 2d 31 30 30 |.H. .dot(-100| 00002050 2c 62 2c 61 2b 32 35 29 0d 0d 52 15 20 20 20 20 |,b,a+25)..R. | 00002060 f2 64 6f 74 28 31 30 30 2c 62 2c 61 29 0d 0d 5c |.dot(100,b,a)..\| 00002070 08 20 20 20 ed 0d 0d 66 07 20 20 ed 0d 0d 70 19 |. ...f. ...p.| 00002080 20 20 e3 20 61 3d 2d 31 30 30 20 b8 20 31 30 30 | . a=-100 . 100| 00002090 20 88 20 32 35 0d 0d 7a 1a 20 20 20 e3 20 62 3d | . 25..z. . b=| 000020a0 2d 31 30 30 20 b8 20 31 30 30 20 88 20 32 35 0d |-100 . 100 . 25.| 000020b0 0d 84 16 20 20 20 20 f2 64 6f 74 28 61 2c 2d 31 |... .dot(a,-1| 000020c0 30 30 2c 62 29 0d 0d 8e 15 20 20 20 20 f2 64 6f |00,b).... .do| 000020d0 74 28 61 2c 31 30 30 2c 62 29 0d 0d 98 08 20 20 |t(a,100,b).... | 000020e0 20 ed 0d 0d a2 07 20 20 ed 0d 0d ac 09 20 c9 20 | ..... ..... . | 000020f0 32 3a 0d 0d b6 16 20 20 e3 20 61 3d 30 20 b8 20 |2:.... . a=0 . | 00002100 33 35 30 20 88 20 31 30 0d 0d c0 11 20 20 20 63 |350 . 10.... c| 00002110 6f 73 3d 38 30 2a 9b b2 61 0d 0d ca 11 20 20 20 |os=80*..a.... | 00002120 73 69 6e 3d 38 30 2a b5 b2 61 0d 0d d4 19 20 20 |sin=80*..a.... | 00002130 20 20 f2 64 6f 74 28 31 30 30 2c 63 6f 73 2c 73 | .dot(100,cos,s| 00002140 69 6e 29 0d 0d de 1a 20 20 20 20 f2 64 6f 74 28 |in).... .dot(| 00002150 2d 31 30 30 2c 63 6f 73 2c 73 69 6e 29 0d 0d e8 |-100,cos,sin)...| 00002160 19 20 20 20 20 f2 64 6f 74 28 63 6f 73 2c 31 30 |. .dot(cos,10| 00002170 30 2c 73 69 6e 29 0d 0d f2 1a 20 20 20 20 f2 64 |0,sin).... .d| 00002180 6f 74 28 63 6f 73 2c 2d 31 30 30 2c 73 69 6e 29 |ot(cos,-100,sin)| 00002190 0d 0d fc 19 20 20 20 20 f2 64 6f 74 28 63 6f 73 |.... .dot(cos| 000021a0 2c 73 69 6e 2c 31 30 30 29 0d 0e 06 1a 20 20 20 |,sin,100).... | 000021b0 20 f2 64 6f 74 28 63 6f 73 2c 73 69 6e 2c 2d 31 | .dot(cos,sin,-1| 000021c0 30 30 29 0d 0e 10 08 20 20 20 ed 0d 0e 1a 09 20 |00).... ..... | 000021d0 c9 20 33 3a 0d 0e 24 16 20 20 e3 20 72 3d 32 30 |. 3:..$. . r=20| 000021e0 20 b8 20 36 30 20 88 20 31 30 0d 0e 2e 0d 20 20 | . 60 . 10.... | 000021f0 20 62 3d 72 2b 34 30 0d 0e 38 17 20 20 20 e3 20 | b=r+40..8. . | 00002200 61 3d 30 20 b8 20 33 33 30 20 88 20 33 30 0d 0e |a=0 . 330 . 30..| 00002210 42 11 20 20 20 20 63 6f 73 3d 72 2a 9b b2 61 0d |B. cos=r*..a.| 00002220 0e 4c 11 20 20 20 20 73 69 6e 3d 72 2a b5 b2 61 |.L. sin=r*..a| 00002230 0d 0e 56 17 20 20 20 20 f2 64 6f 74 28 62 2c 63 |..V. .dot(b,c| 00002240 6f 73 2c 73 69 6e 29 0d 0e 60 18 20 20 20 20 f2 |os,sin)..`. .| 00002250 64 6f 74 28 2d 62 2c 63 6f 73 2c 73 69 6e 29 0d |dot(-b,cos,sin).| 00002260 0e 6a 17 20 20 20 20 f2 64 6f 74 28 63 6f 73 2c |.j. .dot(cos,| 00002270 62 2c 73 69 6e 29 0d 0e 74 18 20 20 20 20 f2 64 |b,sin)..t. .d| 00002280 6f 74 28 63 6f 73 2c 2d 62 2c 73 69 6e 29 0d 0e |ot(cos,-b,sin)..| 00002290 7e 17 20 20 20 20 f2 64 6f 74 28 63 6f 73 2c 73 |~. .dot(cos,s| 000022a0 69 6e 2c 62 29 0d 0e 88 18 20 20 20 20 f2 64 6f |in,b).... .do| 000022b0 74 28 63 6f 73 2c 73 69 6e 2c 2d 62 29 0d 0e 92 |t(cos,sin,-b)...| 000022c0 08 20 20 20 ed 0d 0e 9c 07 20 20 ed 0d 0e a6 09 |. ..... .....| 000022d0 20 c9 20 34 3a 0d 0e b0 19 20 20 e3 20 61 3d 2d | . 4:.... . a=-| 000022e0 31 30 30 20 b8 20 31 30 30 20 88 20 32 30 0d 0e |100 . 100 . 20..| 000022f0 ba 17 20 20 20 e3 20 62 3d 30 20 b8 20 33 34 30 |.. . b=0 . 340| 00002300 20 88 20 32 30 0d 0e c4 1d 20 20 20 20 f2 64 6f | . 20.... .do| 00002310 74 28 38 30 2a 9b b2 62 2c 61 2c 38 30 2a b5 b2 |t(80*..b,a,80*..| 00002320 62 29 0d 0e ce 08 20 20 20 ed 0d 0e d8 07 20 20 |b).... ..... | 00002330 ed 0d 0e e2 09 20 c9 20 35 3a 0d 0e ec 19 20 20 |..... . 5:.... | 00002340 e3 20 61 3d 2d 31 30 30 20 b8 20 2d 32 30 20 88 |. a=-100 . -20 .| 00002350 20 32 30 0d 0e f6 17 20 20 20 e3 20 62 3d 30 20 | 20.... . b=0 | 00002360 b8 20 33 33 30 20 88 20 33 30 0d 0f 00 12 20 20 |. 330 . 30.... | 00002370 20 20 63 6f 73 3d 33 30 2a 9b b2 62 0d 0f 0a 12 | cos=30*..b....| 00002380 20 20 20 20 73 69 6e 3d 33 30 2a b5 b2 62 0d 0f | sin=30*..b..| 00002390 14 17 20 20 20 20 f2 64 6f 74 28 61 2c 63 6f 73 |.. .dot(a,cos| 000023a0 2c 73 69 6e 29 0d 0f 1e 17 20 20 20 20 f2 64 6f |,sin).... .do| 000023b0 74 28 63 6f 73 2c 61 2c 73 69 6e 29 0d 0f 28 17 |t(cos,a,sin)..(.| 000023c0 20 20 20 20 f2 64 6f 74 28 63 6f 73 2c 73 69 6e | .dot(cos,sin| 000023d0 2c 61 29 0d 0f 32 18 20 20 20 20 f2 64 6f 74 28 |,a)..2. .dot(| 000023e0 2d 61 2c 63 6f 73 2c 73 69 6e 29 0d 0f 3c 18 20 |-a,cos,sin)..<. | 000023f0 20 20 20 f2 64 6f 74 28 63 6f 73 2c 2d 61 2c 73 | .dot(cos,-a,s| 00002400 69 6e 29 0d 0f 46 18 20 20 20 20 f2 64 6f 74 28 |in)..F. .dot(| 00002410 63 6f 73 2c 73 69 6e 2c 2d 61 29 0d 0f 50 08 20 |cos,sin,-a)..P. | 00002420 20 20 ed 0d 0f 5a 07 20 20 ed 0d 0f 64 09 20 c9 | ...Z. ...d. .| 00002430 20 36 3a 0d 0f 6e 16 20 20 e3 20 61 3d 2d 31 20 | 6:..n. . a=-1 | 00002440 b8 20 2e 39 20 88 20 2e 31 0d 0f 78 1b 20 20 20 |. .9 . .1..x. | 00002450 72 3d 31 30 30 2d 37 30 2a b5 b2 28 61 2a 39 30 |r=100-70*..(a*90| 00002460 2b 39 30 29 0d 0f 82 17 20 20 20 e3 20 62 3d 30 |+90).... . b=0| 00002470 20 b8 20 33 34 30 20 88 20 32 30 0d 0f 8c 1f 20 | . 340 . 20.... | 00002480 20 20 20 f2 64 6f 74 28 72 2a 9b b2 62 2c 61 2a | .dot(r*..b,a*| 00002490 31 30 30 2c 72 2a b5 b2 62 29 0d 0f 96 08 20 20 |100,r*..b).... | 000024a0 20 ed 0d 0f a0 07 20 20 ed 0d 0f aa 09 20 c9 20 | ..... ..... . | 000024b0 37 3a 0d 0f b4 16 20 20 e3 20 61 3d 30 20 b8 20 |7:.... . a=0 . | 000024c0 33 34 30 20 88 20 32 30 0d 0f be 17 20 20 20 e3 |340 . 20.... .| 000024d0 20 62 3d 30 20 b8 20 33 33 30 20 88 20 33 30 0d | b=0 . 330 . 30.| 000024e0 0f c8 13 20 20 20 20 72 3d 37 30 2b 33 30 2a 9b |... r=70+30*.| 000024f0 b2 62 0d 0f d2 20 20 20 20 20 f2 64 6f 74 28 72 |.b... .dot(r| 00002500 2a 9b b2 61 2c 33 30 2a b5 b2 62 2c 72 2a b5 b2 |*..a,30*..b,r*..| 00002510 61 29 0d 0f dc 08 20 20 20 ed 0d 0f e6 07 20 20 |a).... ..... | 00002520 ed 0d 0f f0 09 20 c9 20 38 3a 0d 0f fa 16 20 20 |..... . 8:.... | 00002530 e3 20 61 3d 30 20 b8 20 33 35 30 20 88 20 31 30 |. a=0 . 350 . 10| 00002540 0d 10 04 17 20 20 20 e3 20 62 3d 30 20 b8 20 33 |.... . b=0 . 3| 00002550 30 30 20 88 20 36 30 0d 10 0e 13 20 20 20 20 72 |00 . 60.... r| 00002560 3d 37 30 2b 32 35 2a 9b b2 62 0d 10 18 23 20 20 |=70+25*..b...# | 00002570 20 20 f2 64 6f 74 28 72 2a 9b b2 61 2d 33 35 2c | .dot(r*..a-35,| 00002580 32 35 2a b5 b2 62 2c 72 2a b5 b2 61 29 0d 10 22 |25*..b,r*..a).."| 00002590 23 20 20 20 20 f2 64 6f 74 28 72 2a 9b b2 61 2b |# .dot(r*..a+| 000025a0 33 35 2c 72 2a b5 b2 61 2c 32 35 2a b5 b2 62 29 |35,r*..a,25*..b)| 000025b0 0d 10 2c 08 20 20 20 ed 0d 10 36 07 20 20 ed 0d |..,. ...6. ..| 000025c0 10 40 05 cb 0d 10 4a 09 3d 64 6f 74 73 0d 10 54 |.@....J.=dots..T| 000025d0 05 3a 0d 10 5e 11 dd 20 f2 64 6f 74 28 78 2c 79 |.:..^.. .dot(x,y| 000025e0 2c 7a 29 0d 10 68 0a 50 25 21 30 3d 78 0d 10 72 |,z)..h.P%!0=x..r| 000025f0 0a 50 25 21 34 3d 79 0d 10 7c 0a 50 25 21 38 3d |.P%!4=y..|.P%!8=| 00002600 7a 0d 10 86 0e 50 25 3d a4 70 63 28 31 32 29 0d |z....P%=.pc(12).| 00002610 10 90 0b 64 6f 74 73 2b 3d 31 0d 10 9a 05 e1 0d |...dots+=1......| 00002620 10 a4 05 3a 0d 10 ae 0c dd 20 a4 70 63 28 62 29 |...:..... .pc(b)| 00002630 0d 10 b8 2b e7 20 6d 6f 72 65 3d 30 20 80 20 50 |...+. more=0 . P| 00002640 25 2d 63 6f 64 65 2b 62 3e 64 69 6d 20 6d 6f 72 |%-code+b>dim mor| 00002650 65 3d 50 25 2d 63 6f 64 65 2b 62 0d 10 c2 18 e7 |e=P%-code+b.....| 00002660 20 6d 6f 72 65 3e 30 20 6d 6f 72 65 2b 3d 62 3a | more>0 more+=b:| 00002670 3d 50 25 0d 10 cc 09 3d 50 25 2b 62 0d ff |=P%....=P%+b..| 0000267e