Home » Archimedes archive » Acorn User » AU 1993-09.adf » !StarInfo_StarInfo » Rotate
Rotate
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-09.adf » !StarInfo_StarInfo |
Filename: | Rotate |
Read OK: | ✔ |
File size: | 1472 bytes |
Load address: | 0000 |
Exec address: | 0000 |
File contents
10REM >Rotate (Info6) 20REM By David Williams 30REM For 32-bit machines 40REM (c) BAU September 1993 50: 60PROCinit 70PROCdo 80END 90: 100DEF PROCinit 110MODE 15 120aa%=0 130PRINT "Use mouse to move, Left or Right button - Rotate" 140PRINT " , Centre button - Stop rotation" 150PRINT "Space to zoom in and, L to zoom out."' 160INPUT"Use Feedback (Y/N) ";a$ 170feed%=(a$="Y" OR a$="y") 180MODE 13 190IF NOT feed% THEN *SCREENLOAD rot_pic 200OFF 210GCOL 0 TINT 0 220RECTANGLE FILL 1024,0,256,768 230scr2size%=400000 240DIM q% 16,scr2% scr2size% 250FOR a%=0 TO scr2size%-3 STEP 4 260 scr2%!a%=0 270NEXT 280scr2%+=100000 290!q%=148 300q%!4=-1 310SYS "OS_ReadVduVariables",q%,q%+8 320ss%=q%!8 330x%=0 340y%=0 350s%=512 360ang%=90 370PROCcode 380work%!12=scr2% 390*POINTER 400MOUSE TO 512,512 410PROCsmall 420ENDPROC 430: 440DEF PROCsmall 450FOR y%=0 TO 255 STEP 4 460 w%=ss%+256+(y% DIV 4)*320 470 r%=ss%+y%*320 480 FOR x%=0 TO 252 STEP 4 490 w%?(x%DIV4)=r%?x% 500 NEXT 510NEXT 520ENDPROC 530: 540DEF PROCdo 550nf%=0 560TIME=0 570IF NOT feed% THEN CALL copy 580REPEAT 590 nf%+=1 600 IF NOT feed% THEN 610 IF INKEY-99 s%-=1 620 IF INKEY-87 s%+=1 630 ELSE 640 IF INKEY-99 s%-=3 650 IF INKEY-87 s%+=3 660 CALL copy 670 ENDIF 680 MOUSE x%,y%,b% 690 x%-=514 700 y%-=508 710 x%=x%/2 720 y%=y%/2 730 w1=SINRAD(ang%) 740 q1=COSRAD(ang%) 750 w2=SINRAD(ang%+90) 760 q2=COSRAD(ang%+90) 770 w3=SINRAD(ang%+180) 780 w4=SINRAD(ang%+270) 790 x1%=512+x%+s%*w1+s%*q1 800 x2%=512+x%+s%*w2+s%*q2 810 y1%=512+y%+s%*w3+s%*q1 820 y2%=512+y%+s%*w4+s%*q2 830 IF b% AND4 ang%-=1 840 IF b% AND2 ang%=90 850 IF b% AND1 ang%+=1 860 PROCshow_get_areas 870 IF feed% THEN 880 ax%=RND(20)-RND(20)+128 890 ay%=RND(20)-RND(20)+128 900 ss%?(ax%+ay%*320)=RND 910 ENDIF 920 PRINT TAB(32,16);INT(1/(TIME/100));" FPS ":TIME=0 930UNTIL FALSE 940ENDPROC 950: 960DEF PROCshow_get_areas 970work%!16=ss%+255*320 980!work%=x2% 990work%!4=y2% 1000work%!8=x1% 1010work%!20=y1% 1020CALL lbga 1030ENDPROC 1040: 1050DEF PROCcode 1060DIM code% 10000,work% 1000 1070FOR pa%=0 TO 2 STEP 2 1080P%=code% 1090[OPT pa% 1100.lbga LDR R0,vw 1110 STMFD R13!,{R14} 1120 MOV R12,#255 1130 LDMIA R0,{R3,R4,R6,R8,R9,R14} 1140 SUB R3,R3,R6 1150 SUB R4,R4,R14 1160 RSB R11,R3,#0 1170 MOV R3 ,R3,LSL #3 1180 RSB R10,R4,#0 1190 MOV R4 ,R4,LSL #3 1200 ADD R9 ,R9,#255 1210 MOV R6 ,R6,LSL #11 1220 ADD R6 ,R6,#64<<13 1230 ADD R6 ,R6,R8,LSL #13 1240 MOV R14,R14,LSL #11 1250 MOV R8 ,R10,LSL #3 1260 MOV R0 ,R11,LSL #3 1270.lp1 RSB R2 ,R14,#320<<13 1280 MOV R7 ,#31 1290.lbg MOV R10,R2,ASR #13 1300 MOV R11,R10,LSL #8 1310 ADD R11,R11,R10,LSL #7 1320 LDRB R5 ,[R11,R6,ASR #13] 1330 ADD R6 ,R6,R3 1340 SUB R2 ,R2,R4 1350 MOV R10,R2,ASR #13 1360 MOV R11,R10,LSL #8 1370 ADD R11,R11,R10,LSL #7 1380 LDRB R11,[R11,R6,ASR #13] 1390 ADD R5 ,R11,R5,LSL #8 1400 ADD R6 ,R6,R3 1410 SUB R2 ,R2,R4 1420 MOV R10,R2,ASR #13 1430 MOV R11,R10,LSL #8 1440 ADD R11,R11,R10,LSL #7 1450 LDRB R11,[R11,R6,ASR #13] 1460 ADD R5 ,R11,R5,LSL #8 1470 ADD R6 ,R6,R3 1480 SUB R2 ,R2,R4 1490 MOV R10,R2,ASR #13 1500 MOV R11,R10,LSL #8 1510 ADD R11,R11,R10,LSL #7 1520 LDRB R11,[R11,R6,ASR #13] 1530 ADD R5 ,R11,R5,LSL #8 1540 ADD R6 ,R6,R3 1550 SUB R2 ,R2,R4 1560 MOV R10,R2,ASR #13 1570 MOV R11,R10,LSL #8 1580 ADD R11,R11,R10,LSL #7 1590 LDRB R1 ,[R11,R6,ASR #13] 1600 ADD R6 ,R6,R3 1610 SUB R2 ,R2,R4 1620 MOV R10,R2,ASR #13 1630 MOV R11,R10,LSL #8 1640 ADD R11,R11,R10,LSL #7 1650 LDRB R11,[R11,R6,ASR #13] 1660 ADD R1 ,R11,R1,LSL #8 1670 ADD R6 ,R6,R3 1680 SUB R2 ,R2,R4 1690 MOV R10,R2,ASR #13 1700 MOV R11,R10,LSL #8 1710 ADD R11,R11,R10,LSL #7 1720 LDRB R11,[R11,R6,ASR #13] 1730 ADD R1 ,R11,R1,LSL #8 1740 ADD R6 ,R6,R3 1750 SUB R2 ,R2,R4 1760 MOV R10,R2,ASR #13 1770 MOV R11,R10,LSL #8 1780 ADD R11,R11,R10,LSL #7 1790 LDRB R11,[R11,R6,ASR #13] 1800 ADD R1 ,R11,R1,LSL #8 1810 STMDA R9!,{R1,R5} 1820 ADD R6 ,R6,R3 1830 SUB R2 ,R2,R4 1840 SUBS R7 ,R7,#1 1850 BGE lbg 1860 SUB R6 ,R6,R3,LSL #8 1870 SUB R6 ,R6,R8 1880 SUB R9 ,R9,#64 1890 ADD R14,R14,R0 1900 SUBS R12,R12,#1 1910 BGE lp1 1920 LDMFD R13!,{PC} 1930 1940.copy LDR R0,vss2 1950 LDR R1,vss 1960 MOV R2,#255 1970.cl1 LDMIA R1!,{R3-R12} 1980 STMIA R0!,{R3-R12} 1990 LDMIA R1!,{R3-R12} 2000 STMIA R0!,{R3-R12} 2010 LDMIA R1!,{R3-R12} 2020 STMIA R0!,{R3-R12} 2030 LDMIA R1!,{R3-R12} 2040 STMIA R0!,{R3-R12} 2050 LDMIA R1!,{R3-R12} 2060 STMIA R0!,{R3-R12} 2070 LDMIA R1!,{R3-R12} 2080 STMIA R0!,{R3-R12} 2090 LDMIA R1!,{R9-R11} 2100 STMIA R0!,{R9-R11} 2110 LDR R12,[R1],#68 2120 STR R12,[R0],#132 2130 SUBS R2,R2,#1 2140 BGE cl1 2150 MOV PC,R14 2160 2170.vw EQUD work% 2180.vss EQUD ss% 2190.vss2 EQUD scr2%+64+(384<<6) 2200.vlu EQUD 0 2210] 2220NEXT 2230ENDPROC
� >Rotate (Info6) � By David Williams � For 32-bit machines (� (c) BAU September 1993 2: < �init F�do P� Z: d� �init n� 15 x aa%=0 �8� "Use mouse to move, Left or Right button - Rotate" �8� " , Centre button - Stop rotation" �-� "Space to zoom in and, L to zoom out."' ��"Use Feedback (Y/N) ";a$ �feed%=(a$="Y" � a$="y") �� 13 �#� � feed% � *SCREENLOAD rot_pic �� �� 0 Ȝ 0 �ȓ Ȑ 1024,0,256,768 �scr2size%=400000 �� q% 16,scr2% scr2size% �� a%=0 � scr2size%-3 � 4 scr2%!a%=0 � scr2%+=100000 "!q%=148 ,q%!4=-1 6$ș "OS_ReadVduVariables",q%,q%+8 @ss%=q%!8 Jx%=0 Ty%=0 ^ s%=512 hang%=90 r �code |work%!12=scr2% �*POINTER �ȗ � 512,512 � �small �� �: �� �small �� y%=0 � 255 � 4 � w%=ss%+256+(y% � 4)*320 � r%=ss%+y%*320 � � x%=0 � 252 � 4 � w%?(x%�4)=r%?x% � � �� � : � �do & nf%=0 0�=0 :� � feed% � � copy D� N nf%+=1 X � � feed% � b � �-99 s%-=1 l � �-87 s%+=1 v � � � �-99 s%-=3 � � �-87 s%+=3 � � copy � � � ȗ x%,y%,b% � x%-=514 � y%-=508 � x%=x%/2 � y%=y%/2 � w1=��(ang%) � q1=��(ang%) � w2=��(ang%+90) � q2=��(ang%+90) w3=��(ang%+180) w4=��(ang%+270) x1%=512+x%+s%*w1+s%*q1 x2%=512+x%+s%*w2+s%*q2 * y1%=512+y%+s%*w3+s%*q1 4 y2%=512+y%+s%*w4+s%*q2 > � b% �4 ang%-=1 H � b% �2 ang%=90 R � b% �1 ang%+=1 \ �show_get_areas f � feed% � p ax%=�(20)-�(20)+128 z ay%=�(20)-�(20)+128 � ss%?(ax%+ay%*320)=� � � �' � �32,16);�(1/(�/100));" FPS ":�=0 �� � �� �: �� �show_get_areas �work%!16=ss%+255*320 �!work%=x2% �work%!4=y2% �work%!8=x1% �work%!20=y1% � � lbga � : � �code $� code% 10000,work% 1000 .� pa%=0 � 2 � 2 8P%=code% B[OPT pa% L.lbga LDR R0,vw V STMFD R13!,{R14} ` MOV R12,#255 j* LDMIA R0,{R3,R4,R6,R8,R9,R14} t SUB R3,R3,R6 ~ SUB R4,R4,R14 � RSB R11,R3,#0 � MOV R3 ,R3,LSL #3 � RSB R10,R4,#0 � MOV R4 ,R4,LSL #3 � ADD R9 ,R9,#255 �! MOV R6 ,R6,LSL #11 �! ADD R6 ,R6,#64<<13 �$ ADD R6 ,R6,R8,LSL #13 �" MOV R14,R14,LSL #11 �! MOV R8 ,R10,LSL #3 �! MOV R0 ,R11,LSL #3 �#.lp1 RSB R2 ,R14,#320<<13 MOV R7 ,#31 !.lbg MOV R10,R2,ASR #13 ! MOV R11,R10,LSL #8 % ADD R11,R11,R10,LSL #7 (' LDRB R5 ,[R11,R6,ASR #13] 2 ADD R6 ,R6,R3 < SUB R2 ,R2,R4 F! MOV R10,R2,ASR #13 P! MOV R11,R10,LSL #8 Z% ADD R11,R11,R10,LSL #7 d' LDRB R11,[R11,R6,ASR #13] n$ ADD R5 ,R11,R5,LSL #8 x ADD R6 ,R6,R3 � SUB R2 ,R2,R4 �! MOV R10,R2,ASR #13 �! MOV R11,R10,LSL #8 �% ADD R11,R11,R10,LSL #7 �' LDRB R11,[R11,R6,ASR #13] �$ ADD R5 ,R11,R5,LSL #8 � ADD R6 ,R6,R3 � SUB R2 ,R2,R4 �! MOV R10,R2,ASR #13 �! MOV R11,R10,LSL #8 �% ADD R11,R11,R10,LSL #7 �' LDRB R11,[R11,R6,ASR #13] �$ ADD R5 ,R11,R5,LSL #8 ADD R6 ,R6,R3 SUB R2 ,R2,R4 ! MOV R10,R2,ASR #13 "! MOV R11,R10,LSL #8 ,% ADD R11,R11,R10,LSL #7 6' LDRB R1 ,[R11,R6,ASR #13] @ ADD R6 ,R6,R3 J SUB R2 ,R2,R4 T! MOV R10,R2,ASR #13 ^! MOV R11,R10,LSL #8 h% ADD R11,R11,R10,LSL #7 r' LDRB R11,[R11,R6,ASR #13] |$ ADD R1 ,R11,R1,LSL #8 � ADD R6 ,R6,R3 � SUB R2 ,R2,R4 �! MOV R10,R2,ASR #13 �! MOV R11,R10,LSL #8 �% ADD R11,R11,R10,LSL #7 �' LDRB R11,[R11,R6,ASR #13] �$ ADD R1 ,R11,R1,LSL #8 � ADD R6 ,R6,R3 � SUB R2 ,R2,R4 �! MOV R10,R2,ASR #13 �! MOV R11,R10,LSL #8 �% ADD R11,R11,R10,LSL #7 �' LDRB R11,[R11,R6,ASR #13] $ ADD R1 ,R11,R1,LSL #8 STMDA R9!,{R1,R5} ADD R6 ,R6,R3 & SUB R2 ,R2,R4 0 SUBS R7 ,R7,#1 : BGE lbg D# SUB R6 ,R6,R3,LSL #8 N SUB R6 ,R6,R8 X SUB R9 ,R9,#64 b ADD R14,R14,R0 l SUBS R12,R12,#1 v BGE lp1 � LDMFD R13!,{PC} � �.copy LDR R0,vss2 � LDR R1,vss � MOV R2,#255 �.cl1 LDMIA R1!,{R3-R12} � STMIA R0!,{R3-R12} � LDMIA R1!,{R3-R12} � STMIA R0!,{R3-R12} � LDMIA R1!,{R3-R12} � STMIA R0!,{R3-R12} � LDMIA R1!,{R3-R12} � STMIA R0!,{R3-R12} LDMIA R1!,{R3-R12} STMIA R0!,{R3-R12} LDMIA R1!,{R3-R12} STMIA R0!,{R3-R12} * LDMIA R1!,{R9-R11} 4 STMIA R0!,{R9-R11} > LDR R12,[R1],#68 H STR R12,[R0],#132 R SUBS R2,R2,#1 \ BGE cl1 f MOV PC,R14 p z.vw EQUD work% �.vss EQUD ss% �$.vss2 EQUD scr2%+64+(384<<6) �.vlu EQUD 0 �] �� �� �
00000000 0d 00 0a 19 f4 20 20 20 20 20 3e 52 6f 74 61 74 |..... >Rotat| 00000010 65 20 28 49 6e 66 6f 36 29 0d 00 14 18 f4 20 42 |e (Info6)..... B| 00000020 79 20 20 44 61 76 69 64 20 57 69 6c 6c 69 61 6d |y David William| 00000030 73 0d 00 1e 19 f4 20 46 6f 72 20 33 32 2d 62 69 |s..... For 32-bi| 00000040 74 20 6d 61 63 68 69 6e 65 73 0d 00 28 1c f4 20 |t machines..(.. | 00000050 28 63 29 20 42 41 55 20 53 65 70 74 65 6d 62 65 |(c) BAU Septembe| 00000060 72 20 31 39 39 33 0d 00 32 05 3a 0d 00 3c 09 f2 |r 1993..2.:..<..| 00000070 69 6e 69 74 0d 00 46 07 f2 64 6f 0d 00 50 05 e0 |init..F..do..P..| 00000080 0d 00 5a 05 3a 0d 00 64 0b dd 20 f2 69 6e 69 74 |..Z.:..d.. .init| 00000090 0d 00 6e 08 eb 20 31 35 0d 00 78 09 61 61 25 3d |..n.. 15..x.aa%=| 000000a0 30 0d 00 82 38 f1 20 22 55 73 65 20 6d 6f 75 73 |0...8. "Use mous| 000000b0 65 20 74 6f 20 6d 6f 76 65 2c 20 4c 65 66 74 20 |e to move, Left | 000000c0 6f 72 20 52 69 67 68 74 20 62 75 74 74 6f 6e 20 |or Right button | 000000d0 2d 20 52 6f 74 61 74 65 22 0d 00 8c 38 f1 20 22 |- Rotate"...8. "| 000000e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | | 000000f0 20 2c 20 43 65 6e 74 72 65 20 62 75 74 74 6f 6e | , Centre button| 00000100 20 2d 20 53 74 6f 70 20 72 6f 74 61 74 69 6f 6e | - Stop rotation| 00000110 22 0d 00 96 2d f1 20 22 53 70 61 63 65 20 74 6f |"...-. "Space to| 00000120 20 7a 6f 6f 6d 20 69 6e 20 61 6e 64 2c 20 4c 20 | zoom in and, L | 00000130 74 6f 20 7a 6f 6f 6d 20 6f 75 74 2e 22 27 0d 00 |to zoom out."'..| 00000140 a0 1d e8 22 55 73 65 20 46 65 65 64 62 61 63 6b |..."Use Feedback| 00000150 20 28 59 2f 4e 29 20 22 3b 61 24 0d 00 aa 1b 66 | (Y/N) ";a$....f| 00000160 65 65 64 25 3d 28 61 24 3d 22 59 22 20 84 20 61 |eed%=(a$="Y" . a| 00000170 24 3d 22 79 22 29 0d 00 b4 08 eb 20 31 33 0d 00 |$="y")..... 13..| 00000180 be 23 e7 20 ac 20 66 65 65 64 25 20 8c 20 2a 53 |.#. . feed% . *S| 00000190 43 52 45 45 4e 4c 4f 41 44 20 72 6f 74 5f 70 69 |CREENLOAD rot_pi| 000001a0 63 0d 00 c8 05 87 0d 00 d2 0c e6 20 30 20 c8 9c |c.......... 0 ..| 000001b0 20 30 0d 00 dc 18 c8 93 20 c8 90 20 31 30 32 34 | 0...... .. 1024| 000001c0 2c 30 2c 32 35 36 2c 37 36 38 0d 00 e6 14 73 63 |,0,256,768....sc| 000001d0 72 32 73 69 7a 65 25 3d 34 30 30 30 30 30 0d 00 |r2size%=400000..| 000001e0 f0 1b de 20 71 25 20 31 36 2c 73 63 72 32 25 20 |... q% 16,scr2% | 000001f0 73 63 72 32 73 69 7a 65 25 0d 00 fa 1c e3 20 61 |scr2size%..... a| 00000200 25 3d 30 20 b8 20 73 63 72 32 73 69 7a 65 25 2d |%=0 . scr2size%-| 00000210 33 20 88 20 34 0d 01 04 0f 20 73 63 72 32 25 21 |3 . 4.... scr2%!| 00000220 61 25 3d 30 0d 01 0e 05 ed 0d 01 18 11 73 63 72 |a%=0.........scr| 00000230 32 25 2b 3d 31 30 30 30 30 30 0d 01 22 0b 21 71 |2%+=100000..".!q| 00000240 25 3d 31 34 38 0d 01 2c 0b 71 25 21 34 3d 2d 31 |%=148..,.q%!4=-1| 00000250 0d 01 36 24 c8 99 20 22 4f 53 5f 52 65 61 64 56 |..6$.. "OS_ReadV| 00000260 64 75 56 61 72 69 61 62 6c 65 73 22 2c 71 25 2c |duVariables",q%,| 00000270 71 25 2b 38 0d 01 40 0c 73 73 25 3d 71 25 21 38 |q%+8..@.ss%=q%!8| 00000280 0d 01 4a 08 78 25 3d 30 0d 01 54 08 79 25 3d 30 |..J.x%=0..T.y%=0| 00000290 0d 01 5e 0a 73 25 3d 35 31 32 0d 01 68 0b 61 6e |..^.s%=512..h.an| 000002a0 67 25 3d 39 30 0d 01 72 09 f2 63 6f 64 65 0d 01 |g%=90..r..code..| 000002b0 7c 12 77 6f 72 6b 25 21 31 32 3d 73 63 72 32 25 ||.work%!12=scr2%| 000002c0 0d 01 86 0c 2a 50 4f 49 4e 54 45 52 0d 01 90 10 |....*POINTER....| 000002d0 c8 97 20 b8 20 35 31 32 2c 35 31 32 0d 01 9a 0a |.. . 512,512....| 000002e0 f2 73 6d 61 6c 6c 0d 01 a4 05 e1 0d 01 ae 05 3a |.small.........:| 000002f0 0d 01 b8 0c dd 20 f2 73 6d 61 6c 6c 0d 01 c2 14 |..... .small....| 00000300 e3 20 79 25 3d 30 20 b8 20 32 35 35 20 88 20 34 |. y%=0 . 255 . 4| 00000310 0d 01 cc 1c 20 77 25 3d 73 73 25 2b 32 35 36 2b |.... w%=ss%+256+| 00000320 28 79 25 20 81 20 34 29 2a 33 32 30 0d 01 d6 12 |(y% . 4)*320....| 00000330 20 72 25 3d 73 73 25 2b 79 25 2a 33 32 30 0d 01 | r%=ss%+y%*320..| 00000340 e0 15 20 e3 20 78 25 3d 30 20 b8 20 32 35 32 20 |.. . x%=0 . 252 | 00000350 88 20 34 0d 01 ea 15 20 20 77 25 3f 28 78 25 81 |. 4.... w%?(x%.| 00000360 34 29 3d 72 25 3f 78 25 0d 01 f4 06 20 ed 0d 01 |4)=r%?x%.... ...| 00000370 fe 05 ed 0d 02 08 05 e1 0d 02 12 05 3a 0d 02 1c |............:...| 00000380 09 dd 20 f2 64 6f 0d 02 26 09 6e 66 25 3d 30 0d |.. .do..&.nf%=0.| 00000390 02 30 07 d1 3d 30 0d 02 3a 16 e7 20 ac 20 66 65 |.0..=0..:.. . fe| 000003a0 65 64 25 20 8c 20 d6 20 63 6f 70 79 0d 02 44 05 |ed% . . copy..D.| 000003b0 f5 0d 02 4e 0b 20 6e 66 25 2b 3d 31 0d 02 58 10 |...N. nf%+=1..X.| 000003c0 20 e7 20 ac 20 66 65 65 64 25 20 8c 0d 02 62 12 | . . feed% ...b.| 000003d0 20 20 e7 20 a6 2d 39 39 20 73 25 2d 3d 31 0d 02 | . .-99 s%-=1..| 000003e0 6c 12 20 20 e7 20 a6 2d 38 37 20 73 25 2b 3d 31 |l. . .-87 s%+=1| 000003f0 0d 02 76 06 20 cc 0d 02 80 12 20 20 e7 20 a6 2d |..v. ..... . .-| 00000400 39 39 20 73 25 2d 3d 33 0d 02 8a 12 20 20 e7 20 |99 s%-=3.... . | 00000410 a6 2d 38 37 20 73 25 2b 3d 33 0d 02 94 0c 20 20 |.-87 s%+=3.... | 00000420 d6 20 63 6f 70 79 0d 02 9e 06 20 cd 0d 02 a8 10 |. copy.... .....| 00000430 20 c8 97 20 78 25 2c 79 25 2c 62 25 0d 02 b2 0c | .. x%,y%,b%....| 00000440 20 78 25 2d 3d 35 31 34 0d 02 bc 0c 20 79 25 2d | x%-=514.... y%-| 00000450 3d 35 30 38 0d 02 c6 0c 20 78 25 3d 78 25 2f 32 |=508.... x%=x%/2| 00000460 0d 02 d0 0c 20 79 25 3d 79 25 2f 32 0d 02 da 10 |.... y%=y%/2....| 00000470 20 77 31 3d b5 b2 28 61 6e 67 25 29 0d 02 e4 10 | w1=..(ang%)....| 00000480 20 71 31 3d 9b b2 28 61 6e 67 25 29 0d 02 ee 13 | q1=..(ang%)....| 00000490 20 77 32 3d b5 b2 28 61 6e 67 25 2b 39 30 29 0d | w2=..(ang%+90).| 000004a0 02 f8 13 20 71 32 3d 9b b2 28 61 6e 67 25 2b 39 |... q2=..(ang%+9| 000004b0 30 29 0d 03 02 14 20 77 33 3d b5 b2 28 61 6e 67 |0).... w3=..(ang| 000004c0 25 2b 31 38 30 29 0d 03 0c 14 20 77 34 3d b5 b2 |%+180).... w4=..| 000004d0 28 61 6e 67 25 2b 32 37 30 29 0d 03 16 1b 20 78 |(ang%+270).... x| 000004e0 31 25 3d 35 31 32 2b 78 25 2b 73 25 2a 77 31 2b |1%=512+x%+s%*w1+| 000004f0 73 25 2a 71 31 0d 03 20 1b 20 78 32 25 3d 35 31 |s%*q1.. . x2%=51| 00000500 32 2b 78 25 2b 73 25 2a 77 32 2b 73 25 2a 71 32 |2+x%+s%*w2+s%*q2| 00000510 0d 03 2a 1b 20 79 31 25 3d 35 31 32 2b 79 25 2b |..*. y1%=512+y%+| 00000520 73 25 2a 77 33 2b 73 25 2a 71 31 0d 03 34 1b 20 |s%*w3+s%*q1..4. | 00000530 79 32 25 3d 35 31 32 2b 79 25 2b 73 25 2a 77 34 |y2%=512+y%+s%*w4| 00000540 2b 73 25 2a 71 32 0d 03 3e 14 20 e7 20 62 25 20 |+s%*q2..>. . b% | 00000550 80 34 20 61 6e 67 25 2d 3d 31 0d 03 48 14 20 e7 |.4 ang%-=1..H. .| 00000560 20 62 25 20 80 32 20 61 6e 67 25 3d 39 30 0d 03 | b% .2 ang%=90..| 00000570 52 14 20 e7 20 62 25 20 80 31 20 61 6e 67 25 2b |R. . b% .1 ang%+| 00000580 3d 31 0d 03 5c 14 20 f2 73 68 6f 77 5f 67 65 74 |=1..\. .show_get| 00000590 5f 61 72 65 61 73 0d 03 66 0e 20 e7 20 66 65 65 |_areas..f. . fee| 000005a0 64 25 20 8c 0d 03 70 19 20 20 61 78 25 3d b3 28 |d% ...p. ax%=.(| 000005b0 32 30 29 2d b3 28 32 30 29 2b 31 32 38 0d 03 7a |20)-.(20)+128..z| 000005c0 19 20 20 61 79 25 3d b3 28 32 30 29 2d b3 28 32 |. ay%=.(20)-.(2| 000005d0 30 29 2b 31 32 38 0d 03 84 19 20 20 73 73 25 3f |0)+128.... ss%?| 000005e0 28 61 78 25 2b 61 79 25 2a 33 32 30 29 3d b3 0d |(ax%+ay%*320)=..| 000005f0 03 8e 06 20 cd 0d 03 98 27 20 f1 20 8a 33 32 2c |... ....' . .32,| 00000600 31 36 29 3b a8 28 31 2f 28 91 2f 31 30 30 29 29 |16);.(1/(./100))| 00000610 3b 22 20 46 50 53 20 22 3a d1 3d 30 0d 03 a2 07 |;" FPS ":.=0....| 00000620 fd 20 a3 0d 03 ac 05 e1 0d 03 b6 05 3a 0d 03 c0 |. ..........:...| 00000630 15 dd 20 f2 73 68 6f 77 5f 67 65 74 5f 61 72 65 |.. .show_get_are| 00000640 61 73 0d 03 ca 18 77 6f 72 6b 25 21 31 36 3d 73 |as....work%!16=s| 00000650 73 25 2b 32 35 35 2a 33 32 30 0d 03 d4 0e 21 77 |s%+255*320....!w| 00000660 6f 72 6b 25 3d 78 32 25 0d 03 de 0f 77 6f 72 6b |ork%=x2%....work| 00000670 25 21 34 3d 79 32 25 0d 03 e8 0f 77 6f 72 6b 25 |%!4=y2%....work%| 00000680 21 38 3d 78 31 25 0d 03 f2 10 77 6f 72 6b 25 21 |!8=x1%....work%!| 00000690 32 30 3d 79 31 25 0d 03 fc 0a d6 20 6c 62 67 61 |20=y1%..... lbga| 000006a0 0d 04 06 05 e1 0d 04 10 05 3a 0d 04 1a 0b dd 20 |.........:..... | 000006b0 f2 63 6f 64 65 0d 04 24 1c de 20 63 6f 64 65 25 |.code..$.. code%| 000006c0 20 31 30 30 30 30 2c 77 6f 72 6b 25 20 31 30 30 | 10000,work% 100| 000006d0 30 0d 04 2e 13 e3 20 70 61 25 3d 30 20 b8 20 32 |0..... pa%=0 . 2| 000006e0 20 88 20 32 0d 04 38 0c 50 25 3d 63 6f 64 65 25 | . 2..8.P%=code%| 000006f0 0d 04 42 0c 5b 4f 50 54 20 70 61 25 0d 04 4c 18 |..B.[OPT pa%..L.| 00000700 2e 6c 62 67 61 20 20 20 4c 44 52 20 20 20 20 52 |.lbga LDR R| 00000710 30 2c 76 77 0d 04 56 1d 20 20 20 20 20 20 20 20 |0,vw..V. | 00000720 53 54 4d 46 44 20 20 52 31 33 21 2c 7b 52 31 34 |STMFD R13!,{R14| 00000730 7d 0d 04 60 1b 20 20 20 20 20 20 20 20 4d 4f 56 |}..`. MOV| 00000740 20 20 20 20 52 31 32 2c 23 32 35 35 0d 04 6a 2a | R12,#255..j*| 00000750 20 20 20 20 20 20 20 20 4c 44 4d 49 41 20 20 52 | LDMIA R| 00000760 30 2c 7b 52 33 2c 52 34 2c 52 36 2c 52 38 2c 52 |0,{R3,R4,R6,R8,R| 00000770 39 2c 52 31 34 7d 0d 04 74 1b 20 20 20 20 20 20 |9,R14}..t. | 00000780 20 20 53 55 42 20 20 20 20 52 33 2c 52 33 2c 52 | SUB R3,R3,R| 00000790 36 0d 04 7e 1c 20 20 20 20 20 20 20 20 53 55 42 |6..~. SUB| 000007a0 20 20 20 20 52 34 2c 52 34 2c 52 31 34 0d 04 88 | R4,R4,R14...| 000007b0 1c 20 20 20 20 20 20 20 20 52 53 42 20 20 20 20 |. RSB | 000007c0 52 31 31 2c 52 33 2c 23 30 0d 04 92 20 20 20 20 |R11,R3,#0... | 000007d0 20 20 20 20 20 4d 4f 56 20 20 20 20 52 33 20 2c | MOV R3 ,| 000007e0 52 33 2c 4c 53 4c 20 23 33 0d 04 9c 1c 20 20 20 |R3,LSL #3.... | 000007f0 20 20 20 20 20 52 53 42 20 20 20 20 52 31 30 2c | RSB R10,| 00000800 52 34 2c 23 30 0d 04 a6 20 20 20 20 20 20 20 20 |R4,#0... | 00000810 20 4d 4f 56 20 20 20 20 52 34 20 2c 52 34 2c 4c | MOV R4 ,R4,L| 00000820 53 4c 20 23 33 0d 04 b0 1e 20 20 20 20 20 20 20 |SL #3.... | 00000830 20 41 44 44 20 20 20 20 52 39 20 2c 52 39 2c 23 | ADD R9 ,R9,#| 00000840 32 35 35 0d 04 ba 21 20 20 20 20 20 20 20 20 4d |255...! M| 00000850 4f 56 20 20 20 20 52 36 20 2c 52 36 2c 4c 53 4c |OV R6 ,R6,LSL| 00000860 20 23 31 31 0d 04 c4 21 20 20 20 20 20 20 20 20 | #11...! | 00000870 41 44 44 20 20 20 20 52 36 20 2c 52 36 2c 23 36 |ADD R6 ,R6,#6| 00000880 34 3c 3c 31 33 0d 04 ce 24 20 20 20 20 20 20 20 |4<<13...$ | 00000890 20 41 44 44 20 20 20 20 52 36 20 2c 52 36 2c 52 | ADD R6 ,R6,R| 000008a0 38 2c 4c 53 4c 20 23 31 33 0d 04 d8 22 20 20 20 |8,LSL #13..." | 000008b0 20 20 20 20 20 4d 4f 56 20 20 20 20 52 31 34 2c | MOV R14,| 000008c0 52 31 34 2c 4c 53 4c 20 23 31 31 0d 04 e2 21 20 |R14,LSL #11...! | 000008d0 20 20 20 20 20 20 20 4d 4f 56 20 20 20 20 52 38 | MOV R8| 000008e0 20 2c 52 31 30 2c 4c 53 4c 20 23 33 0d 04 ec 21 | ,R10,LSL #3...!| 000008f0 20 20 20 20 20 20 20 20 4d 4f 56 20 20 20 20 52 | MOV R| 00000900 30 20 2c 52 31 31 2c 4c 53 4c 20 23 33 0d 04 f6 |0 ,R11,LSL #3...| 00000910 23 2e 6c 70 31 20 20 20 20 52 53 42 20 20 20 20 |#.lp1 RSB | 00000920 52 32 20 2c 52 31 34 2c 23 33 32 30 3c 3c 31 33 |R2 ,R14,#320<<13| 00000930 0d 05 00 1a 20 20 20 20 20 20 20 20 4d 4f 56 20 |.... MOV | 00000940 20 20 20 52 37 20 2c 23 33 31 0d 05 0a 21 2e 6c | R7 ,#31...!.l| 00000950 62 67 20 20 20 20 4d 4f 56 20 20 20 20 52 31 30 |bg MOV R10| 00000960 2c 52 32 2c 41 53 52 20 23 31 33 0d 05 14 21 20 |,R2,ASR #13...! | 00000970 20 20 20 20 20 20 20 4d 4f 56 20 20 20 20 52 31 | MOV R1| 00000980 31 2c 52 31 30 2c 4c 53 4c 20 23 38 0d 05 1e 25 |1,R10,LSL #8...%| 00000990 20 20 20 20 20 20 20 20 41 44 44 20 20 20 20 52 | ADD R| 000009a0 31 31 2c 52 31 31 2c 52 31 30 2c 4c 53 4c 20 23 |11,R11,R10,LSL #| 000009b0 37 0d 05 28 27 20 20 20 20 20 20 20 20 4c 44 52 |7..(' LDR| 000009c0 42 20 20 20 52 35 20 2c 5b 52 31 31 2c 52 36 2c |B R5 ,[R11,R6,| 000009d0 41 53 52 20 23 31 33 5d 0d 05 32 1c 20 20 20 20 |ASR #13]..2. | 000009e0 20 20 20 20 41 44 44 20 20 20 20 52 36 20 2c 52 | ADD R6 ,R| 000009f0 36 2c 52 33 0d 05 3c 1c 20 20 20 20 20 20 20 20 |6,R3..<. | 00000a00 53 55 42 20 20 20 20 52 32 20 2c 52 32 2c 52 34 |SUB R2 ,R2,R4| 00000a10 0d 05 46 21 20 20 20 20 20 20 20 20 4d 4f 56 20 |..F! MOV | 00000a20 20 20 20 52 31 30 2c 52 32 2c 41 53 52 20 23 31 | R10,R2,ASR #1| 00000a30 33 0d 05 50 21 20 20 20 20 20 20 20 20 4d 4f 56 |3..P! MOV| 00000a40 20 20 20 20 52 31 31 2c 52 31 30 2c 4c 53 4c 20 | R11,R10,LSL | 00000a50 23 38 0d 05 5a 25 20 20 20 20 20 20 20 20 41 44 |#8..Z% AD| 00000a60 44 20 20 20 20 52 31 31 2c 52 31 31 2c 52 31 30 |D R11,R11,R10| 00000a70 2c 4c 53 4c 20 23 37 0d 05 64 27 20 20 20 20 20 |,LSL #7..d' | 00000a80 20 20 20 4c 44 52 42 20 20 20 52 31 31 2c 5b 52 | LDRB R11,[R| 00000a90 31 31 2c 52 36 2c 41 53 52 20 23 31 33 5d 0d 05 |11,R6,ASR #13]..| 00000aa0 6e 24 20 20 20 20 20 20 20 20 41 44 44 20 20 20 |n$ ADD | 00000ab0 20 52 35 20 2c 52 31 31 2c 52 35 2c 4c 53 4c 20 | R5 ,R11,R5,LSL | 00000ac0 23 38 0d 05 78 1c 20 20 20 20 20 20 20 20 41 44 |#8..x. AD| 00000ad0 44 20 20 20 20 52 36 20 2c 52 36 2c 52 33 0d 05 |D R6 ,R6,R3..| 00000ae0 82 1c 20 20 20 20 20 20 20 20 53 55 42 20 20 20 |.. SUB | 00000af0 20 52 32 20 2c 52 32 2c 52 34 0d 05 8c 21 20 20 | R2 ,R2,R4...! | 00000b00 20 20 20 20 20 20 4d 4f 56 20 20 20 20 52 31 30 | MOV R10| 00000b10 2c 52 32 2c 41 53 52 20 23 31 33 0d 05 96 21 20 |,R2,ASR #13...! | 00000b20 20 20 20 20 20 20 20 4d 4f 56 20 20 20 20 52 31 | MOV R1| 00000b30 31 2c 52 31 30 2c 4c 53 4c 20 23 38 0d 05 a0 25 |1,R10,LSL #8...%| 00000b40 20 20 20 20 20 20 20 20 41 44 44 20 20 20 20 52 | ADD R| 00000b50 31 31 2c 52 31 31 2c 52 31 30 2c 4c 53 4c 20 23 |11,R11,R10,LSL #| 00000b60 37 0d 05 aa 27 20 20 20 20 20 20 20 20 4c 44 52 |7...' LDR| 00000b70 42 20 20 20 52 31 31 2c 5b 52 31 31 2c 52 36 2c |B R11,[R11,R6,| 00000b80 41 53 52 20 23 31 33 5d 0d 05 b4 24 20 20 20 20 |ASR #13]...$ | 00000b90 20 20 20 20 41 44 44 20 20 20 20 52 35 20 2c 52 | ADD R5 ,R| 00000ba0 31 31 2c 52 35 2c 4c 53 4c 20 23 38 0d 05 be 1c |11,R5,LSL #8....| 00000bb0 20 20 20 20 20 20 20 20 41 44 44 20 20 20 20 52 | ADD R| 00000bc0 36 20 2c 52 36 2c 52 33 0d 05 c8 1c 20 20 20 20 |6 ,R6,R3.... | 00000bd0 20 20 20 20 53 55 42 20 20 20 20 52 32 20 2c 52 | SUB R2 ,R| 00000be0 32 2c 52 34 0d 05 d2 21 20 20 20 20 20 20 20 20 |2,R4...! | 00000bf0 4d 4f 56 20 20 20 20 52 31 30 2c 52 32 2c 41 53 |MOV R10,R2,AS| 00000c00 52 20 23 31 33 0d 05 dc 21 20 20 20 20 20 20 20 |R #13...! | 00000c10 20 4d 4f 56 20 20 20 20 52 31 31 2c 52 31 30 2c | MOV R11,R10,| 00000c20 4c 53 4c 20 23 38 0d 05 e6 25 20 20 20 20 20 20 |LSL #8...% | 00000c30 20 20 41 44 44 20 20 20 20 52 31 31 2c 52 31 31 | ADD R11,R11| 00000c40 2c 52 31 30 2c 4c 53 4c 20 23 37 0d 05 f0 27 20 |,R10,LSL #7...' | 00000c50 20 20 20 20 20 20 20 4c 44 52 42 20 20 20 52 31 | LDRB R1| 00000c60 31 2c 5b 52 31 31 2c 52 36 2c 41 53 52 20 23 31 |1,[R11,R6,ASR #1| 00000c70 33 5d 0d 05 fa 24 20 20 20 20 20 20 20 20 41 44 |3]...$ AD| 00000c80 44 20 20 20 20 52 35 20 2c 52 31 31 2c 52 35 2c |D R5 ,R11,R5,| 00000c90 4c 53 4c 20 23 38 0d 06 04 1c 20 20 20 20 20 20 |LSL #8.... | 00000ca0 20 20 41 44 44 20 20 20 20 52 36 20 2c 52 36 2c | ADD R6 ,R6,| 00000cb0 52 33 0d 06 0e 1c 20 20 20 20 20 20 20 20 53 55 |R3.... SU| 00000cc0 42 20 20 20 20 52 32 20 2c 52 32 2c 52 34 0d 06 |B R2 ,R2,R4..| 00000cd0 18 21 20 20 20 20 20 20 20 20 4d 4f 56 20 20 20 |.! MOV | 00000ce0 20 52 31 30 2c 52 32 2c 41 53 52 20 23 31 33 0d | R10,R2,ASR #13.| 00000cf0 06 22 21 20 20 20 20 20 20 20 20 4d 4f 56 20 20 |."! MOV | 00000d00 20 20 52 31 31 2c 52 31 30 2c 4c 53 4c 20 23 38 | R11,R10,LSL #8| 00000d10 0d 06 2c 25 20 20 20 20 20 20 20 20 41 44 44 20 |..,% ADD | 00000d20 20 20 20 52 31 31 2c 52 31 31 2c 52 31 30 2c 4c | R11,R11,R10,L| 00000d30 53 4c 20 23 37 0d 06 36 27 20 20 20 20 20 20 20 |SL #7..6' | 00000d40 20 4c 44 52 42 20 20 20 52 31 20 2c 5b 52 31 31 | LDRB R1 ,[R11| 00000d50 2c 52 36 2c 41 53 52 20 23 31 33 5d 0d 06 40 1c |,R6,ASR #13]..@.| 00000d60 20 20 20 20 20 20 20 20 41 44 44 20 20 20 20 52 | ADD R| 00000d70 36 20 2c 52 36 2c 52 33 0d 06 4a 1c 20 20 20 20 |6 ,R6,R3..J. | 00000d80 20 20 20 20 53 55 42 20 20 20 20 52 32 20 2c 52 | SUB R2 ,R| 00000d90 32 2c 52 34 0d 06 54 21 20 20 20 20 20 20 20 20 |2,R4..T! | 00000da0 4d 4f 56 20 20 20 20 52 31 30 2c 52 32 2c 41 53 |MOV R10,R2,AS| 00000db0 52 20 23 31 33 0d 06 5e 21 20 20 20 20 20 20 20 |R #13..^! | 00000dc0 20 4d 4f 56 20 20 20 20 52 31 31 2c 52 31 30 2c | MOV R11,R10,| 00000dd0 4c 53 4c 20 23 38 0d 06 68 25 20 20 20 20 20 20 |LSL #8..h% | 00000de0 20 20 41 44 44 20 20 20 20 52 31 31 2c 52 31 31 | ADD R11,R11| 00000df0 2c 52 31 30 2c 4c 53 4c 20 23 37 0d 06 72 27 20 |,R10,LSL #7..r' | 00000e00 20 20 20 20 20 20 20 4c 44 52 42 20 20 20 52 31 | LDRB R1| 00000e10 31 2c 5b 52 31 31 2c 52 36 2c 41 53 52 20 23 31 |1,[R11,R6,ASR #1| 00000e20 33 5d 0d 06 7c 24 20 20 20 20 20 20 20 20 41 44 |3]..|$ AD| 00000e30 44 20 20 20 20 52 31 20 2c 52 31 31 2c 52 31 2c |D R1 ,R11,R1,| 00000e40 4c 53 4c 20 23 38 0d 06 86 1c 20 20 20 20 20 20 |LSL #8.... | 00000e50 20 20 41 44 44 20 20 20 20 52 36 20 2c 52 36 2c | ADD R6 ,R6,| 00000e60 52 33 0d 06 90 1c 20 20 20 20 20 20 20 20 53 55 |R3.... SU| 00000e70 42 20 20 20 20 52 32 20 2c 52 32 2c 52 34 0d 06 |B R2 ,R2,R4..| 00000e80 9a 21 20 20 20 20 20 20 20 20 4d 4f 56 20 20 20 |.! MOV | 00000e90 20 52 31 30 2c 52 32 2c 41 53 52 20 23 31 33 0d | R10,R2,ASR #13.| 00000ea0 06 a4 21 20 20 20 20 20 20 20 20 4d 4f 56 20 20 |..! MOV | 00000eb0 20 20 52 31 31 2c 52 31 30 2c 4c 53 4c 20 23 38 | R11,R10,LSL #8| 00000ec0 0d 06 ae 25 20 20 20 20 20 20 20 20 41 44 44 20 |...% ADD | 00000ed0 20 20 20 52 31 31 2c 52 31 31 2c 52 31 30 2c 4c | R11,R11,R10,L| 00000ee0 53 4c 20 23 37 0d 06 b8 27 20 20 20 20 20 20 20 |SL #7...' | 00000ef0 20 4c 44 52 42 20 20 20 52 31 31 2c 5b 52 31 31 | LDRB R11,[R11| 00000f00 2c 52 36 2c 41 53 52 20 23 31 33 5d 0d 06 c2 24 |,R6,ASR #13]...$| 00000f10 20 20 20 20 20 20 20 20 41 44 44 20 20 20 20 52 | ADD R| 00000f20 31 20 2c 52 31 31 2c 52 31 2c 4c 53 4c 20 23 38 |1 ,R11,R1,LSL #8| 00000f30 0d 06 cc 1c 20 20 20 20 20 20 20 20 41 44 44 20 |.... ADD | 00000f40 20 20 20 52 36 20 2c 52 36 2c 52 33 0d 06 d6 1c | R6 ,R6,R3....| 00000f50 20 20 20 20 20 20 20 20 53 55 42 20 20 20 20 52 | SUB R| 00000f60 32 20 2c 52 32 2c 52 34 0d 06 e0 21 20 20 20 20 |2 ,R2,R4...! | 00000f70 20 20 20 20 4d 4f 56 20 20 20 20 52 31 30 2c 52 | MOV R10,R| 00000f80 32 2c 41 53 52 20 23 31 33 0d 06 ea 21 20 20 20 |2,ASR #13...! | 00000f90 20 20 20 20 20 4d 4f 56 20 20 20 20 52 31 31 2c | MOV R11,| 00000fa0 52 31 30 2c 4c 53 4c 20 23 38 0d 06 f4 25 20 20 |R10,LSL #8...% | 00000fb0 20 20 20 20 20 20 41 44 44 20 20 20 20 52 31 31 | ADD R11| 00000fc0 2c 52 31 31 2c 52 31 30 2c 4c 53 4c 20 23 37 0d |,R11,R10,LSL #7.| 00000fd0 06 fe 27 20 20 20 20 20 20 20 20 4c 44 52 42 20 |..' LDRB | 00000fe0 20 20 52 31 31 2c 5b 52 31 31 2c 52 36 2c 41 53 | R11,[R11,R6,AS| 00000ff0 52 20 23 31 33 5d 0d 07 08 24 20 20 20 20 20 20 |R #13]...$ | 00001000 20 20 41 44 44 20 20 20 20 52 31 20 2c 52 31 31 | ADD R1 ,R11| 00001010 2c 52 31 2c 4c 53 4c 20 23 38 0d 07 12 1e 20 20 |,R1,LSL #8.... | 00001020 20 20 20 20 20 20 53 54 4d 44 41 20 20 52 39 21 | STMDA R9!| 00001030 2c 7b 52 31 2c 52 35 7d 0d 07 1c 1c 20 20 20 20 |,{R1,R5}.... | 00001040 20 20 20 20 41 44 44 20 20 20 20 52 36 20 2c 52 | ADD R6 ,R| 00001050 36 2c 52 33 0d 07 26 1c 20 20 20 20 20 20 20 20 |6,R3..&. | 00001060 53 55 42 20 20 20 20 52 32 20 2c 52 32 2c 52 34 |SUB R2 ,R2,R4| 00001070 0d 07 30 1c 20 20 20 20 20 20 20 20 53 55 42 53 |..0. SUBS| 00001080 20 20 20 52 37 20 2c 52 37 2c 23 31 0d 07 3a 16 | R7 ,R7,#1..:.| 00001090 20 20 20 20 20 20 20 20 42 47 45 20 20 20 20 6c | BGE l| 000010a0 62 67 0d 07 44 23 20 20 20 20 20 20 20 20 53 55 |bg..D# SU| 000010b0 42 20 20 20 20 52 36 20 2c 52 36 2c 52 33 2c 4c |B R6 ,R6,R3,L| 000010c0 53 4c 20 23 38 0d 07 4e 1c 20 20 20 20 20 20 20 |SL #8..N. | 000010d0 20 53 55 42 20 20 20 20 52 36 20 2c 52 36 2c 52 | SUB R6 ,R6,R| 000010e0 38 0d 07 58 1d 20 20 20 20 20 20 20 20 53 55 42 |8..X. SUB| 000010f0 20 20 20 20 52 39 20 2c 52 39 2c 23 36 34 0d 07 | R9 ,R9,#64..| 00001100 62 1d 20 20 20 20 20 20 20 20 41 44 44 20 20 20 |b. ADD | 00001110 20 52 31 34 2c 52 31 34 2c 52 30 0d 07 6c 1d 20 | R14,R14,R0..l. | 00001120 20 20 20 20 20 20 20 53 55 42 53 20 20 20 52 31 | SUBS R1| 00001130 32 2c 52 31 32 2c 23 31 0d 07 76 16 20 20 20 20 |2,R12,#1..v. | 00001140 20 20 20 20 42 47 45 20 20 20 20 6c 70 31 0d 07 | BGE lp1..| 00001150 80 1c 20 20 20 20 20 20 20 20 4c 44 4d 46 44 20 |.. LDMFD | 00001160 20 52 31 33 21 2c 7b 50 43 7d 0d 07 8a 05 20 0d | R13!,{PC}.... .| 00001170 07 94 1a 2e 63 6f 70 79 20 20 20 4c 44 52 20 20 |....copy LDR | 00001180 20 20 52 30 2c 76 73 73 32 0d 07 9e 19 20 20 20 | R0,vss2.... | 00001190 20 20 20 20 20 4c 44 52 20 20 20 20 52 31 2c 76 | LDR R1,v| 000011a0 73 73 0d 07 a8 1a 20 20 20 20 20 20 20 20 4d 4f |ss.... MO| 000011b0 56 20 20 20 20 52 32 2c 23 32 35 35 0d 07 b2 1f |V R2,#255....| 000011c0 2e 63 6c 31 20 20 20 20 4c 44 4d 49 41 20 20 52 |.cl1 LDMIA R| 000011d0 31 21 2c 7b 52 33 2d 52 31 32 7d 0d 07 bc 1f 20 |1!,{R3-R12}.... | 000011e0 20 20 20 20 20 20 20 53 54 4d 49 41 20 20 52 30 | STMIA R0| 000011f0 21 2c 7b 52 33 2d 52 31 32 7d 0d 07 c6 1f 20 20 |!,{R3-R12}.... | 00001200 20 20 20 20 20 20 4c 44 4d 49 41 20 20 52 31 21 | LDMIA R1!| 00001210 2c 7b 52 33 2d 52 31 32 7d 0d 07 d0 1f 20 20 20 |,{R3-R12}.... | 00001220 20 20 20 20 20 53 54 4d 49 41 20 20 52 30 21 2c | STMIA R0!,| 00001230 7b 52 33 2d 52 31 32 7d 0d 07 da 1f 20 20 20 20 |{R3-R12}.... | 00001240 20 20 20 20 4c 44 4d 49 41 20 20 52 31 21 2c 7b | LDMIA R1!,{| 00001250 52 33 2d 52 31 32 7d 0d 07 e4 1f 20 20 20 20 20 |R3-R12}.... | 00001260 20 20 20 53 54 4d 49 41 20 20 52 30 21 2c 7b 52 | STMIA R0!,{R| 00001270 33 2d 52 31 32 7d 0d 07 ee 1f 20 20 20 20 20 20 |3-R12}.... | 00001280 20 20 4c 44 4d 49 41 20 20 52 31 21 2c 7b 52 33 | LDMIA R1!,{R3| 00001290 2d 52 31 32 7d 0d 07 f8 1f 20 20 20 20 20 20 20 |-R12}.... | 000012a0 20 53 54 4d 49 41 20 20 52 30 21 2c 7b 52 33 2d | STMIA R0!,{R3-| 000012b0 52 31 32 7d 0d 08 02 1f 20 20 20 20 20 20 20 20 |R12}.... | 000012c0 4c 44 4d 49 41 20 20 52 31 21 2c 7b 52 33 2d 52 |LDMIA R1!,{R3-R| 000012d0 31 32 7d 0d 08 0c 1f 20 20 20 20 20 20 20 20 53 |12}.... S| 000012e0 54 4d 49 41 20 20 52 30 21 2c 7b 52 33 2d 52 31 |TMIA R0!,{R3-R1| 000012f0 32 7d 0d 08 16 1f 20 20 20 20 20 20 20 20 4c 44 |2}.... LD| 00001300 4d 49 41 20 20 52 31 21 2c 7b 52 33 2d 52 31 32 |MIA R1!,{R3-R12| 00001310 7d 0d 08 20 1f 20 20 20 20 20 20 20 20 53 54 4d |}.. . STM| 00001320 49 41 20 20 52 30 21 2c 7b 52 33 2d 52 31 32 7d |IA R0!,{R3-R12}| 00001330 0d 08 2a 1f 20 20 20 20 20 20 20 20 4c 44 4d 49 |..*. LDMI| 00001340 41 20 20 52 31 21 2c 7b 52 39 2d 52 31 31 7d 0d |A R1!,{R9-R11}.| 00001350 08 34 1f 20 20 20 20 20 20 20 20 53 54 4d 49 41 |.4. STMIA| 00001360 20 20 52 30 21 2c 7b 52 39 2d 52 31 31 7d 0d 08 | R0!,{R9-R11}..| 00001370 3e 1f 20 20 20 20 20 20 20 20 4c 44 52 20 20 20 |>. LDR | 00001380 20 52 31 32 2c 5b 52 31 5d 2c 23 36 38 0d 08 48 | R12,[R1],#68..H| 00001390 20 20 20 20 20 20 20 20 20 53 54 52 20 20 20 20 | STR | 000013a0 52 31 32 2c 5b 52 30 5d 2c 23 31 33 32 0d 08 52 |R12,[R0],#132..R| 000013b0 1b 20 20 20 20 20 20 20 20 53 55 42 53 20 20 20 |. SUBS | 000013c0 52 32 2c 52 32 2c 23 31 0d 08 5c 16 20 20 20 20 |R2,R2,#1..\. | 000013d0 20 20 20 20 42 47 45 20 20 20 20 63 6c 31 0d 08 | BGE cl1..| 000013e0 66 19 20 20 20 20 20 20 20 20 4d 4f 56 20 20 20 |f. MOV | 000013f0 20 50 43 2c 52 31 34 0d 08 70 04 0d 08 7a 18 2e | PC,R14..p...z..| 00001400 76 77 20 20 20 20 20 45 51 55 44 20 20 20 77 6f |vw EQUD wo| 00001410 72 6b 25 0d 08 84 16 2e 76 73 73 20 20 20 20 45 |rk%.....vss E| 00001420 51 55 44 20 20 20 73 73 25 0d 08 8e 24 2e 76 73 |QUD ss%...$.vs| 00001430 73 32 20 20 20 45 51 55 44 20 20 20 73 63 72 32 |s2 EQUD scr2| 00001440 25 2b 36 34 2b 28 33 38 34 3c 3c 36 29 0d 08 98 |%+64+(384<<6)...| 00001450 14 2e 76 6c 75 20 20 20 20 45 51 55 44 20 20 20 |..vlu EQUD | 00001460 30 0d 08 a2 05 5d 0d 08 ac 05 ed 0d 08 b6 05 e1 |0....]..........| 00001470 0d ff |..| 00001472