Home » Archimedes archive » Acorn User » AU 1995-01.adf » !StarInfo_StarInfo » Bradburne/MCRM_lores
Bradburne/MCRM_lores
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 1995-01.adf » !StarInfo_StarInfo |
Filename: | Bradburne/MCRM_lores |
Read OK: | ✔ |
File size: | 184D bytes |
Load address: | 0000 |
Exec address: | 0000 |
File contents
10 REM>MCRM_Norm 20 REM By Chris Bradburne 30 40 ON ERROR PROCerror 50 60 MODE 13 70 OFF 80 DIM vars 8 90 !vars=148 100 vars!4=-1 110 SYS "OS_ReadVduVariables",vars,vars 120 130 MODE 0 140 DIM transformations%(3) 150 transformations%()=0 160 !vars=!vars+32 170 180 DIM code 2048 190 DIM block 16*1024 200 FOR pass=0 TO 2 STEP 2 210 P%=code 220 230 [OPT pass 240 STMFD R13!,{R0-R12,R14} 250 LDR R12,blockstart 260 MOV R0,#0:MOV R1,#0:MOV R2,#0:MOV R3,#0:MOV R4,#0:MOV R5,#0:MOV R6,#0:MOV R7,#0 270 MOV R11,#0 280 .loop0 290 STMIA R12!,{R0-R7} 300 STMIA R12!,{R0-R7} 310 STMIA R12!,{R0-R7} 320 STMIA R12!,{R0-R7} 330 STMIA R12!,{R0-R7} 340 STMIA R12!,{R0-R7} 350 STMIA R12!,{R0-R7} 360 STMIA R12!,{R0-R7} 370 ADD R11,R11,#1 380 CMP R11,#1024/16 390 BLT loop0 400 LDR R12,screenstart 410 LDR R11,blockstart 420 MOV R10,#0 430 MOV R9,#0 440 .loop1 450 LDRB R0,[R12] 460 CMP R0,#255 470 STREQB R0,[R11] 480 ADD R12,R12,#320 490 LDRB R0,[R12]:CMP R0,#255:STREQB R0,[R11] 500 ADD R12,R12,#1 510 LDRB R0,[R12]:CMP R0,#255:STREQB R0,[R11] 520 SUB R12,R12,#320 530 LDRB R0,[R12]:CMP R0,#255:STREQB R0,[R11] 540 ADD R12,R12,#1 550 ADD R11,R11,#1 560 ADD R10,R10,#1 570 CMP R10,#128 580 BLT loop1 590 MOV R10,#0 600 ADD R12,R12,#(64+320) 610 ADD R9,R9,#1 620 CMP R9,#128 630 BLT loop1 640 LDMFD R13!,{R0-R12,PC} 650 660 .copy0 670 STMFD R13!,{R0-R12,R14} 680 LDR R12,copystart 690 LDR R11,blockstart 700 MOV R10,#0 710 .loop2 720 ]:FOR X%=0 TO 3 730 [OPT pass 740 LDMIA R11!,{R0-R7} 750 STMIA R12!,{R0-R7} 760 ]:NEXT:[OPT pass 770 ADD R10,R10,#1 780 ADD R12,R12,#192 790 CMP R10,#128 800 BLT loop2 810 LDMFD R13!,{R0-R12,PC} 820 830 .copy1 840 STMFD R13!,{R0-R12,R14} 850 LDR R12,copystart 860 LDR R11,blockstart 870 ADD R12,R12,#320*128 880 SUB R12,R12,#320 890 MOV R10,#0 900 MOV R9,#0 910 .loop4 920 LDRB R0,[R11] 930 STRB R0,[R12] 940 SUB R12,R12,#320 950 ADD R11,R11,#1 960 ADD R10,R10,#1 970 CMP R10,#128 980 BLT loop4 990 ADD R12,R12,#320*128 1000 ADD R12,R12,#1 1010 MOV R10,#0 1020 ADD R9,R9,#1 1030 CMP R9,#128 1040 BLT loop4 1050 LDMFD R13!,{R0-R12,PC} 1060 1070 .copy5 1080 STMFD R13!,{R0-R12,R14} 1090 LDR R12,copystart 1100 LDR R11,blockstart 1110 ADD R12,R12,#127 1120 MOV R9,#0:MOV R10,#0 1130 .loop7 1140 LDRB R0,[R11]:STRB R0,[R12] 1150 SUB R12,R12,#1 1160ADD R11,R11,#1:ADD R10,R10,#1:CMP R10,#128:BLT loop7 1170 ADD R12,R12,#128 1180 ADD R12,R12,#320 1190 MOV R10,#0 1200 ADD R9,R9,#1 1210 CMP R9,#128 1220 BLT loop7 1230 LDMFD R13!,{R0-R12,PC} 1240 1250 .copy6 1260 STMFD R13!,{R0-R12,R14} 1270 LDR R12,copystart 1280 LDR R11,blockstart 1290 MOV R9,#0:MOV R10,#0 1300 ADD R12,R12,#127 1310 ADD R12,R12,#320*128 1320 SUB R12,R12,#320 1330 .loop8 1340 LDRB R0,[R11]:STRB R0,[R12] 1350 SUB R12,R12,#320 1360 ADD R11,R11,#1:ADD R10,R10,#1:CMP R10,#128:BLT loop8 1370 ADD R12,R12,#320*128 1380 SUB R12,R12,#1 1390 MOV R10,#0 1400 ADD R9,R9,#1 1410 CMP R9,#128 1420 BLT loop8 1430 LDMFD R13!,{R0-R12,PC} 1440 1450 .copy7 1460 STMFD R13!,{R0-R12,R14} 1470 LDR R12,copystart 1480 LDR R11,blockstart 1490 MOV R9,#0:MOV R10,#0 1500 .loop9 1510 LDRB R0,[R11]:STRB R0,[R12] 1520 ADD R12,R12,#320 1530 ADD R11,R11,#1:ADD R10,R10,#1:CMP R10,#128:BLT loop9 1540 SUB R12,R12,#320*128 1550 ADD R12,R12,#1 1560 MOV R10,#0:ADD R9,R9,#1:CMP R9,#128 1570 BLT loop9 1580 LDMFD R13!,{R0-R12,PC} 1590 1600 .copy3 1610 STMFD R13!,{R0-R12,R14} 1620 LDR R12,copystart 1630 LDR R11,blockstart 1640 ADD R12,R12,#127 1650 MOV R10,#0:MOV R9,#0 1660 .loop6 1670 LDRB R0,[R11]:STRB R0,[R12] 1680 ADD R12,R12,#320 1690 ADD R11,R11,#1:ADD R10,R10,#1:CMP R10,#128:BLT loop6 1700 SUB R12,R12,#320*128 1710 SUB R12,R12,#1 1720 MOV R10,#0 1730 ADD R9,R9,#1:CMP R9,#128 1740 BLT loop6 1750 LDMFD R13!,{R0-R12,PC} 1760 1770 .copy2 1780 STMFD R13!,{R0-R12,R14} 1790 LDR R12,copystart 1800 LDR R11,blockstart 1810 ADD R12,R12,#320*128 1820 SUB R12,R12,#320 1830 ADD R12,R12,#127 1840 MOV R10,#0:MOV R9,#0 1850 .loop5 1860 LDRB R0,[R11] 1870 STRB R0,[R12] 1880 SUB R12,R12,#1 1890 ADD R11,R11,#1 1900 ADD R10,R10,#1 1910 CMP R10,#128 1920 BLT loop5 1930 ADD R12,R12,#128 1940 SUB R12,R12,#320 1950 MOV R10,#0 1960 ADD R9,R9,#1 1970 CMP R9,#128 1980 BLT loop5 1990 LDMFD R13!,{R0-R12,PC} 2000 2010 .copy4 2020 STMFD R13!,{R0-R12,R14} 2030 LDR R12,copystart 2040 LDR R11,blockstart 2050 ADD R12,R12,#320*128 2060 SUB R12,R12,#320 2070 .loop3 2080 ]:FOR X%=0 TO 3 2090 [OPT pass 2100 LDMIA R11!,{R0-R7}:STMIA R12!,{R0-R7} 2110 ]:NEXT:[OPT pass 2120 ADD R10,R10,#1 2130 SUB R12,R12,#(640+256)/2 2140 CMP R10,#128 2150 BLT loop3 2160 LDMFD R13!,{R0-R12,PC} 2170 2180 .screenstart:EQUD !vars 2190 .copystart:EQUD !vars 2200 .blockstart:EQUD block 2210 ]:NEXT 2220 2230 REPEAT 2240 MODE 0 2250 RESTORE 2260 PRINTTAB(15)"MCRM For The Serpinsky Gasket And Relatives." 2270 RECTANGLE 400,400,200 2280 RECTANGLE 400,200,200 2290 RECTANGLE 600,200,200 2300 FOR X%=0 TO 1280 STEP 160 2310 RECTANGLE X%,800,128 2320 NEXT 2330 FOR X%=0 TO 7 2340 PRINTTAB(X%*10+4,8);X% 2350 READ X1,Y1,X2,Y2,X3,Y3 2360 LINE X1,Y1,X2,Y2 2370 DRAW X3,Y3 2380 NEXT 2390 2400 PRINTTAB(23,11)"Please input transformations:-" 2410 INPUTTAB(30,16),transformations%(1) 2420 INPUTTAB(30,22),transformations%(2) 2430 INPUTTAB(43,22),transformations%(3) 2440 transformations%(1)=transformations%(1) AND 7 2450 transformations%(2)=transformations%(2) AND 7 2460 transformations%(3)=transformations%(3) AND 7 2470 PRINTTAB(30,16);transformations%(1);" " 2480 PRINTTAB(30,22);transformations%(2);" " 2490 PRINTTAB(43,22);transformations%(3);" " 2500 PRINTTAB(25,30)"(E)qulateral or (R)ight angled?" 2510 2520 OFF 2530 REPEAT 2540 N$=GET$ 2550 UNTIL N$="E" OR N$="R" 2560 2570 MODE 13 2580 OFF 2590 REM TAB(TAB(TAB(TAB(TAB(TAB(TAB(TAB(TAB(TAB( Draw Starting Shape Here TAB(TAB(TAB(TAB(TAB(TAB(TAB(TAB(TAB(TAB( 2600 REM Must be bright white 2610 GCOL 63 TINT 255 2620 CIRCLE FILL 640,512,512 2630 REM ELSEELSEELSEELSEELSEELSEELSEELSEELSEELSEELSEELSEELSEELSEELSEELSEELSEELSEELSEELSEELSEELSEELSEELSEELSEELSEELSEELSEELSEELSEELSEELSEELSEELSEELSEELSEELSEELSEELSEELSEELSEELSEELSEELSEELSEELSE 2640 2650 FOR X%=0 TO 7 2660 CALL code 2670 CLS 2680 !copystart=!vars 2690 IF N$="E" THEN !copystart=!copystart+64 2700 PROCcopychoose(transformations%(1)) 2710 !copystart=!vars+(40*1024) 2720 PROCcopychoose(transformations%(2)) 2730 !copystart=!vars+(40*1024)+128 2740 PROCcopychoose(transformations%(3)) 2750 NEXT 2760 N$=GET$ 2770 UNTIL N$="Q" 2780 END 2790 2800 DEFPROCcopychoose(C%) 2810 CASE C% OF 2820 WHEN 0:CALL copy0 2830 WHEN 1:CALL copy1 2840 WHEN 2:CALL copy2 2850 WHEN 3:CALL copy3 2860 WHEN 4:CALL copy4 2870 WHEN 5:CALL copy5 2880 WHEN 6:CALL copy6 2890 WHEN 7:CALL copy7 2900 ENDCASE 2910 ENDPROC 2920 2930 DATA 16,912,16,816,64,816 2940 DATA 176,816,272,816,272,864 2950 DATA 384,912,432,912,432,816 2960 DATA 496,864,496,912,592,912 2970 DATA 656,816,656,912,704,912 2980 DATA 864,816,912,816,912,912 2990 DATA 976,864,976,816,1072,816 3000 DATA 1136,912,1232,912,1232,864 3010 3020 DEFPROCerror 3030 MODE 0 3040 IF ERR=17 THEN END 3050 REPORT:PRINT" at line ";ERL:END
�>MCRM_Norm � By Chris Bradburne ( � � �error 2 < � 13 F � P � vars 8 Z !vars=148 d vars!4=-1 n' ș "OS_ReadVduVariables",vars,vars x � � 0 � � transformations%(3) � transformations%()=0 � !vars=!vars+32 � � � code 2048 � � block 16*1024 � � pass=0 � 2 � 2 � P%=code � � [OPT pass � STMFD R13!,{R0-R12,R14} � LDR R12,blockstart T MOV R0,#0:MOV R1,#0:MOV R2,#0:MOV R3,#0:MOV R4,#0:MOV R5,#0:MOV R6,#0:MOV R7,#0 MOV R11,#0 .loop0 " STMIA R12!,{R0-R7} , STMIA R12!,{R0-R7} 6 STMIA R12!,{R0-R7} @ STMIA R12!,{R0-R7} J STMIA R12!,{R0-R7} T STMIA R12!,{R0-R7} ^ STMIA R12!,{R0-R7} h STMIA R12!,{R0-R7} r ADD R11,R11,#1 | CMP R11,#1024/16 � BLT loop0 � LDR R12,screenstart � LDR R11,blockstart � MOV R10,#0 � MOV R9,#0 � .loop1 � LDRB R0,[R12] � CMP R0,#255 � STREQB R0,[R11] � ADD R12,R12,#320 �. LDRB R0,[R12]:CMP R0,#255:STREQB R0,[R11] � ADD R12,R12,#1 �. LDRB R0,[R12]:CMP R0,#255:STREQB R0,[R11] SUB R12,R12,#320 . LDRB R0,[R12]:CMP R0,#255:STREQB R0,[R11] ADD R12,R12,#1 & ADD R11,R11,#1 0 ADD R10,R10,#1 : CMP R10,#128 D BLT loop1 N MOV R10,#0 X ADD R12,R12,#(64+320) b ADD R9,R9,#1 l CMP R9,#128 v BLT loop1 � LDMFD R13!,{R0-R12,PC} � � .copy0 � STMFD R13!,{R0-R12,R14} � LDR R12,copystart � LDR R11,blockstart � MOV R10,#0 � .loop2 � ]:� X%=0 � 3 � [OPT pass � LDMIA R11!,{R0-R7} � STMIA R12!,{R0-R7} � ]:�:[OPT pass ADD R10,R10,#1 ADD R12,R12,#192 CMP R10,#128 BLT loop2 * LDMFD R13!,{R0-R12,PC} 4 > .copy1 H STMFD R13!,{R0-R12,R14} R LDR R12,copystart \ LDR R11,blockstart f ADD R12,R12,#320*128 p SUB R12,R12,#320 z MOV R10,#0 � MOV R9,#0 � .loop4 � LDRB R0,[R11] � STRB R0,[R12] � SUB R12,R12,#320 � ADD R11,R11,#1 � ADD R10,R10,#1 � CMP R10,#128 � BLT loop4 � ADD R12,R12,#320*128 � ADD R12,R12,#1 � MOV R10,#0 � ADD R9,R9,#1 CMP R9,#128 BLT loop4 LDMFD R13!,{R0-R12,PC} $ . .copy5 8 STMFD R13!,{R0-R12,R14} B LDR R12,copystart L LDR R11,blockstart V ADD R12,R12,#127 ` MOV R9,#0:MOV R10,#0 j .loop7 t LDRB R0,[R11]:STRB R0,[R12] ~ SUB R12,R12,#1 �8ADD R11,R11,#1:ADD R10,R10,#1:CMP R10,#128:BLT loop7 � ADD R12,R12,#128 � ADD R12,R12,#320 � MOV R10,#0 � ADD R9,R9,#1 � CMP R9,#128 � BLT loop7 � LDMFD R13!,{R0-R12,PC} � � .copy6 � STMFD R13!,{R0-R12,R14} � LDR R12,copystart LDR R11,blockstart MOV R9,#0:MOV R10,#0 ADD R12,R12,#127 ADD R12,R12,#320*128 ( SUB R12,R12,#320 2 .loop8 < LDRB R0,[R11]:STRB R0,[R12] F SUB R12,R12,#320 P9 ADD R11,R11,#1:ADD R10,R10,#1:CMP R10,#128:BLT loop8 Z ADD R12,R12,#320*128 d SUB R12,R12,#1 n MOV R10,#0 x ADD R9,R9,#1 � CMP R9,#128 � BLT loop8 � LDMFD R13!,{R0-R12,PC} � � .copy7 � STMFD R13!,{R0-R12,R14} � LDR R12,copystart � LDR R11,blockstart � MOV R9,#0:MOV R10,#0 � .loop9 � LDRB R0,[R11]:STRB R0,[R12] � ADD R12,R12,#320 �9 ADD R11,R11,#1:ADD R10,R10,#1:CMP R10,#128:BLT loop9 SUB R12,R12,#320*128 ADD R12,R12,#1 ( MOV R10,#0:ADD R9,R9,#1:CMP R9,#128 " BLT loop9 , LDMFD R13!,{R0-R12,PC} 6 @ .copy3 J STMFD R13!,{R0-R12,R14} T LDR R12,copystart ^ LDR R11,blockstart h ADD R12,R12,#127 r MOV R10,#0:MOV R9,#0 | .loop6 � LDRB R0,[R11]:STRB R0,[R12] � ADD R12,R12,#320 �9 ADD R11,R11,#1:ADD R10,R10,#1:CMP R10,#128:BLT loop6 � SUB R12,R12,#320*128 � SUB R12,R12,#1 � MOV R10,#0 � ADD R9,R9,#1:CMP R9,#128 � BLT loop6 � LDMFD R13!,{R0-R12,PC} � � .copy2 � STMFD R13!,{R0-R12,R14} � LDR R12,copystart LDR R11,blockstart ADD R12,R12,#320*128 SUB R12,R12,#320 & ADD R12,R12,#127 0 MOV R10,#0:MOV R9,#0 : .loop5 D LDRB R0,[R11] N STRB R0,[R12] X SUB R12,R12,#1 b ADD R11,R11,#1 l ADD R10,R10,#1 v CMP R10,#128 � BLT loop5 � ADD R12,R12,#128 � SUB R12,R12,#320 � MOV R10,#0 � ADD R9,R9,#1 � CMP R9,#128 � BLT loop5 � LDMFD R13!,{R0-R12,PC} � � .copy4 � STMFD R13!,{R0-R12,R14} � LDR R12,copystart � LDR R11,blockstart ADD R12,R12,#320*128 SUB R12,R12,#320 .loop3 ]:� X%=0 � 3 * [OPT pass 4* LDMIA R11!,{R0-R7}:STMIA R12!,{R0-R7} > ]:�:[OPT pass H ADD R10,R10,#1 R SUB R12,R12,#(640+256)/2 \ CMP R10,#128 f BLT loop3 p LDMFD R13!,{R0-R12,PC} z � .screenstart:EQUD !vars � .copystart:EQUD !vars � .blockstart:EQUD block � ]:� � � � � � 0 � � �8 �15)"MCRM For The Serpinsky Gasket And Relatives." � ȓ 400,400,200 � ȓ 400,200,200 � ȓ 600,200,200 � � X%=0 � 1280 � 160 ȓ X%,800,128 � � X%=0 � 7 $ �X%*10+4,8);X% . � X1,Y1,X2,Y2,X3,Y3 8 � X1,Y1,X2,Y2 B � X3,Y3 L � V `- �23,11)"Please input transformations:-" j! �30,16),transformations%(1) t! �30,22),transformations%(2) ~! �43,22),transformations%(3) �0 transformations%(1)=transformations%(1) � 7 �0 transformations%(2)=transformations%(2) � 7 �0 transformations%(3)=transformations%(3) � 7 �' �30,16);transformations%(1);" " �' �30,22);transformations%(2);" " �' �43,22);transformations%(3);" " �. �25,30)"(E)qulateral or (R)ight angled?" � � � � � � N$=� � � N$="E" � N$="R" � 13 � 5 � ���������� Draw Starting Shape Here ���������� ( � Must be bright white 2 � 63 Ȝ 255 < ȏ Ȑ 640,512,512 F5 � ���������������������������������������������� P Z � X%=0 � 7 d � code n � x !copystart=!vars �( � N$="E" � !copystart=!copystart+64 �% �copychoose(transformations%(1)) � !copystart=!vars+(40*1024) �% �copychoose(transformations%(2)) �# !copystart=!vars+(40*1024)+128 �% �copychoose(transformations%(3)) � � � N$=� � � N$="Q" � � � � ��copychoose(C%) � Ȏ C% � � 0:� copy0 � 1:� copy1 � 2:� copy2 " � 3:� copy3 , � 4:� copy4 6 � 5:� copy5 @ � 6:� copy6 J � 7:� copy7 T � ^ � h r � 16,912,16,816,64,816 | � 176,816,272,816,272,864 � � 384,912,432,912,432,816 � � 496,864,496,912,592,912 � � 656,816,656,912,704,912 � � 864,816,912,816,912,912 � � 976,864,976,816,1072,816 �! � 1136,912,1232,912,1232,864 � � ��error � � 0 � � �=17 � � � �:�" at line ";�:� �
00000000 0d 00 0a 10 20 f4 3e 4d 43 52 4d 5f 4e 6f 72 6d |.... .>MCRM_Norm| 00000010 0d 00 14 19 20 f4 20 42 79 20 43 68 72 69 73 20 |.... . By Chris | 00000020 42 72 61 64 62 75 72 6e 65 0d 00 1e 04 0d 00 28 |Bradburne......(| 00000030 0f 20 ee 20 85 20 f2 65 72 72 6f 72 0d 00 32 04 |. . . .error..2.| 00000040 0d 00 3c 09 20 eb 20 31 33 0d 00 46 06 20 87 0d |..<. . 13..F. ..| 00000050 00 50 0d 20 de 20 76 61 72 73 20 38 0d 00 5a 0e |.P. . vars 8..Z.| 00000060 20 21 76 61 72 73 3d 31 34 38 0d 00 64 0e 20 76 | !vars=148..d. v| 00000070 61 72 73 21 34 3d 2d 31 0d 00 6e 27 20 c8 99 20 |ars!4=-1..n' .. | 00000080 22 4f 53 5f 52 65 61 64 56 64 75 56 61 72 69 61 |"OS_ReadVduVaria| 00000090 62 6c 65 73 22 2c 76 61 72 73 2c 76 61 72 73 0d |bles",vars,vars.| 000000a0 00 78 04 0d 00 82 08 20 eb 20 30 0d 00 8c 1a 20 |.x..... . 0.... | 000000b0 de 20 74 72 61 6e 73 66 6f 72 6d 61 74 69 6f 6e |. transformation| 000000c0 73 25 28 33 29 0d 00 96 19 20 74 72 61 6e 73 66 |s%(3).... transf| 000000d0 6f 72 6d 61 74 69 6f 6e 73 25 28 29 3d 30 0d 00 |ormations%()=0..| 000000e0 a0 13 20 21 76 61 72 73 3d 21 76 61 72 73 2b 33 |.. !vars=!vars+3| 000000f0 32 0d 00 aa 04 0d 00 b4 10 20 de 20 63 6f 64 65 |2........ . code| 00000100 20 32 30 34 38 0d 00 be 14 20 de 20 62 6c 6f 63 | 2048.... . bloc| 00000110 6b 20 31 36 2a 31 30 32 34 0d 00 c8 15 20 e3 20 |k 16*1024.... . | 00000120 70 61 73 73 3d 30 20 b8 20 32 20 88 20 32 0d 00 |pass=0 . 2 . 2..| 00000130 d2 0c 20 50 25 3d 63 6f 64 65 0d 00 dc 04 0d 00 |.. P%=code......| 00000140 e6 0e 20 5b 4f 50 54 20 70 61 73 73 0d 00 f0 1c |.. [OPT pass....| 00000150 20 53 54 4d 46 44 20 52 31 33 21 2c 7b 52 30 2d | STMFD R13!,{R0-| 00000160 52 31 32 2c 52 31 34 7d 0d 00 fa 17 20 4c 44 52 |R12,R14}.... LDR| 00000170 20 52 31 32 2c 62 6c 6f 63 6b 73 74 61 72 74 0d | R12,blockstart.| 00000180 01 04 54 20 4d 4f 56 20 52 30 2c 23 30 3a 4d 4f |..T MOV R0,#0:MO| 00000190 56 20 52 31 2c 23 30 3a 4d 4f 56 20 52 32 2c 23 |V R1,#0:MOV R2,#| 000001a0 30 3a 4d 4f 56 20 52 33 2c 23 30 3a 4d 4f 56 20 |0:MOV R3,#0:MOV | 000001b0 52 34 2c 23 30 3a 4d 4f 56 20 52 35 2c 23 30 3a |R4,#0:MOV R5,#0:| 000001c0 4d 4f 56 20 52 36 2c 23 30 3a 4d 4f 56 20 52 37 |MOV R6,#0:MOV R7| 000001d0 2c 23 30 0d 01 0e 0f 20 4d 4f 56 20 52 31 31 2c |,#0.... MOV R11,| 000001e0 23 30 0d 01 18 0b 20 2e 6c 6f 6f 70 30 0d 01 22 |#0.... .loop0.."| 000001f0 17 20 53 54 4d 49 41 20 52 31 32 21 2c 7b 52 30 |. STMIA R12!,{R0| 00000200 2d 52 37 7d 0d 01 2c 17 20 53 54 4d 49 41 20 52 |-R7}..,. STMIA R| 00000210 31 32 21 2c 7b 52 30 2d 52 37 7d 0d 01 36 17 20 |12!,{R0-R7}..6. | 00000220 53 54 4d 49 41 20 52 31 32 21 2c 7b 52 30 2d 52 |STMIA R12!,{R0-R| 00000230 37 7d 0d 01 40 17 20 53 54 4d 49 41 20 52 31 32 |7}..@. STMIA R12| 00000240 21 2c 7b 52 30 2d 52 37 7d 0d 01 4a 17 20 53 54 |!,{R0-R7}..J. ST| 00000250 4d 49 41 20 52 31 32 21 2c 7b 52 30 2d 52 37 7d |MIA R12!,{R0-R7}| 00000260 0d 01 54 17 20 53 54 4d 49 41 20 52 31 32 21 2c |..T. STMIA R12!,| 00000270 7b 52 30 2d 52 37 7d 0d 01 5e 17 20 53 54 4d 49 |{R0-R7}..^. STMI| 00000280 41 20 52 31 32 21 2c 7b 52 30 2d 52 37 7d 0d 01 |A R12!,{R0-R7}..| 00000290 68 17 20 53 54 4d 49 41 20 52 31 32 21 2c 7b 52 |h. STMIA R12!,{R| 000002a0 30 2d 52 37 7d 0d 01 72 13 20 41 44 44 20 52 31 |0-R7}..r. ADD R1| 000002b0 31 2c 52 31 31 2c 23 31 0d 01 7c 15 20 43 4d 50 |1,R11,#1..|. CMP| 000002c0 20 52 31 31 2c 23 31 30 32 34 2f 31 36 0d 01 86 | R11,#1024/16...| 000002d0 0e 20 42 4c 54 20 6c 6f 6f 70 30 0d 01 90 18 20 |. BLT loop0.... | 000002e0 4c 44 52 20 52 31 32 2c 73 63 72 65 65 6e 73 74 |LDR R12,screenst| 000002f0 61 72 74 0d 01 9a 17 20 4c 44 52 20 52 31 31 2c |art.... LDR R11,| 00000300 62 6c 6f 63 6b 73 74 61 72 74 0d 01 a4 0f 20 4d |blockstart.... M| 00000310 4f 56 20 52 31 30 2c 23 30 0d 01 ae 0e 20 4d 4f |OV R10,#0.... MO| 00000320 56 20 52 39 2c 23 30 0d 01 b8 0b 20 2e 6c 6f 6f |V R9,#0.... .loo| 00000330 70 31 0d 01 c2 12 20 4c 44 52 42 20 52 30 2c 5b |p1.... LDRB R0,[| 00000340 52 31 32 5d 0d 01 cc 10 20 43 4d 50 20 52 30 2c |R12].... CMP R0,| 00000350 23 32 35 35 0d 01 d6 14 20 53 54 52 45 51 42 20 |#255.... STREQB | 00000360 52 30 2c 5b 52 31 31 5d 0d 01 e0 15 20 41 44 44 |R0,[R11].... ADD| 00000370 20 52 31 32 2c 52 31 32 2c 23 33 32 30 0d 01 ea | R12,R12,#320...| 00000380 2e 20 4c 44 52 42 20 52 30 2c 5b 52 31 32 5d 3a |. LDRB R0,[R12]:| 00000390 43 4d 50 20 52 30 2c 23 32 35 35 3a 53 54 52 45 |CMP R0,#255:STRE| 000003a0 51 42 20 52 30 2c 5b 52 31 31 5d 0d 01 f4 13 20 |QB R0,[R11].... | 000003b0 41 44 44 20 52 31 32 2c 52 31 32 2c 23 31 0d 01 |ADD R12,R12,#1..| 000003c0 fe 2e 20 4c 44 52 42 20 52 30 2c 5b 52 31 32 5d |.. LDRB R0,[R12]| 000003d0 3a 43 4d 50 20 52 30 2c 23 32 35 35 3a 53 54 52 |:CMP R0,#255:STR| 000003e0 45 51 42 20 52 30 2c 5b 52 31 31 5d 0d 02 08 15 |EQB R0,[R11]....| 000003f0 20 53 55 42 20 52 31 32 2c 52 31 32 2c 23 33 32 | SUB R12,R12,#32| 00000400 30 0d 02 12 2e 20 4c 44 52 42 20 52 30 2c 5b 52 |0.... LDRB R0,[R| 00000410 31 32 5d 3a 43 4d 50 20 52 30 2c 23 32 35 35 3a |12]:CMP R0,#255:| 00000420 53 54 52 45 51 42 20 52 30 2c 5b 52 31 31 5d 0d |STREQB R0,[R11].| 00000430 02 1c 13 20 41 44 44 20 52 31 32 2c 52 31 32 2c |... ADD R12,R12,| 00000440 23 31 0d 02 26 13 20 41 44 44 20 52 31 31 2c 52 |#1..&. ADD R11,R| 00000450 31 31 2c 23 31 0d 02 30 13 20 41 44 44 20 52 31 |11,#1..0. ADD R1| 00000460 30 2c 52 31 30 2c 23 31 0d 02 3a 11 20 43 4d 50 |0,R10,#1..:. CMP| 00000470 20 52 31 30 2c 23 31 32 38 0d 02 44 0e 20 42 4c | R10,#128..D. BL| 00000480 54 20 6c 6f 6f 70 31 0d 02 4e 0f 20 4d 4f 56 20 |T loop1..N. MOV | 00000490 52 31 30 2c 23 30 0d 02 58 1a 20 41 44 44 20 52 |R10,#0..X. ADD R| 000004a0 31 32 2c 52 31 32 2c 23 28 36 34 2b 33 32 30 29 |12,R12,#(64+320)| 000004b0 0d 02 62 11 20 41 44 44 20 52 39 2c 52 39 2c 23 |..b. ADD R9,R9,#| 000004c0 31 0d 02 6c 10 20 43 4d 50 20 52 39 2c 23 31 32 |1..l. CMP R9,#12| 000004d0 38 0d 02 76 0e 20 42 4c 54 20 6c 6f 6f 70 31 0d |8..v. BLT loop1.| 000004e0 02 80 1b 20 4c 44 4d 46 44 20 52 31 33 21 2c 7b |... LDMFD R13!,{| 000004f0 52 30 2d 52 31 32 2c 50 43 7d 0d 02 8a 04 0d 02 |R0-R12,PC}......| 00000500 94 0b 20 2e 63 6f 70 79 30 0d 02 9e 1c 20 53 54 |.. .copy0.... ST| 00000510 4d 46 44 20 52 31 33 21 2c 7b 52 30 2d 52 31 32 |MFD R13!,{R0-R12| 00000520 2c 52 31 34 7d 0d 02 a8 16 20 4c 44 52 20 52 31 |,R14}.... LDR R1| 00000530 32 2c 63 6f 70 79 73 74 61 72 74 0d 02 b2 17 20 |2,copystart.... | 00000540 4c 44 52 20 52 31 31 2c 62 6c 6f 63 6b 73 74 61 |LDR R11,blocksta| 00000550 72 74 0d 02 bc 0f 20 4d 4f 56 20 52 31 30 2c 23 |rt.... MOV R10,#| 00000560 30 0d 02 c6 0b 20 2e 6c 6f 6f 70 32 0d 02 d0 11 |0.... .loop2....| 00000570 20 5d 3a e3 20 58 25 3d 30 20 b8 20 33 0d 02 da | ]:. X%=0 . 3...| 00000580 0e 20 5b 4f 50 54 20 70 61 73 73 0d 02 e4 17 20 |. [OPT pass.... | 00000590 4c 44 4d 49 41 20 52 31 31 21 2c 7b 52 30 2d 52 |LDMIA R11!,{R0-R| 000005a0 37 7d 0d 02 ee 17 20 53 54 4d 49 41 20 52 31 32 |7}.... STMIA R12| 000005b0 21 2c 7b 52 30 2d 52 37 7d 0d 02 f8 12 20 5d 3a |!,{R0-R7}.... ]:| 000005c0 ed 3a 5b 4f 50 54 20 70 61 73 73 0d 03 02 13 20 |.:[OPT pass.... | 000005d0 41 44 44 20 52 31 30 2c 52 31 30 2c 23 31 0d 03 |ADD R10,R10,#1..| 000005e0 0c 15 20 41 44 44 20 52 31 32 2c 52 31 32 2c 23 |.. ADD R12,R12,#| 000005f0 31 39 32 0d 03 16 11 20 43 4d 50 20 52 31 30 2c |192.... CMP R10,| 00000600 23 31 32 38 0d 03 20 0e 20 42 4c 54 20 6c 6f 6f |#128.. . BLT loo| 00000610 70 32 0d 03 2a 1b 20 4c 44 4d 46 44 20 52 31 33 |p2..*. LDMFD R13| 00000620 21 2c 7b 52 30 2d 52 31 32 2c 50 43 7d 0d 03 34 |!,{R0-R12,PC}..4| 00000630 04 0d 03 3e 0b 20 2e 63 6f 70 79 31 0d 03 48 1c |...>. .copy1..H.| 00000640 20 53 54 4d 46 44 20 52 31 33 21 2c 7b 52 30 2d | STMFD R13!,{R0-| 00000650 52 31 32 2c 52 31 34 7d 0d 03 52 16 20 4c 44 52 |R12,R14}..R. LDR| 00000660 20 52 31 32 2c 63 6f 70 79 73 74 61 72 74 0d 03 | R12,copystart..| 00000670 5c 17 20 4c 44 52 20 52 31 31 2c 62 6c 6f 63 6b |\. LDR R11,block| 00000680 73 74 61 72 74 0d 03 66 19 20 41 44 44 20 52 31 |start..f. ADD R1| 00000690 32 2c 52 31 32 2c 23 33 32 30 2a 31 32 38 0d 03 |2,R12,#320*128..| 000006a0 70 15 20 53 55 42 20 52 31 32 2c 52 31 32 2c 23 |p. SUB R12,R12,#| 000006b0 33 32 30 0d 03 7a 0f 20 4d 4f 56 20 52 31 30 2c |320..z. MOV R10,| 000006c0 23 30 0d 03 84 0e 20 4d 4f 56 20 52 39 2c 23 30 |#0.... MOV R9,#0| 000006d0 0d 03 8e 0b 20 2e 6c 6f 6f 70 34 0d 03 98 12 20 |.... .loop4.... | 000006e0 4c 44 52 42 20 52 30 2c 5b 52 31 31 5d 0d 03 a2 |LDRB R0,[R11]...| 000006f0 12 20 53 54 52 42 20 52 30 2c 5b 52 31 32 5d 0d |. STRB R0,[R12].| 00000700 03 ac 15 20 53 55 42 20 52 31 32 2c 52 31 32 2c |... SUB R12,R12,| 00000710 23 33 32 30 0d 03 b6 13 20 41 44 44 20 52 31 31 |#320.... ADD R11| 00000720 2c 52 31 31 2c 23 31 0d 03 c0 13 20 41 44 44 20 |,R11,#1.... ADD | 00000730 52 31 30 2c 52 31 30 2c 23 31 0d 03 ca 11 20 43 |R10,R10,#1.... C| 00000740 4d 50 20 52 31 30 2c 23 31 32 38 0d 03 d4 0e 20 |MP R10,#128.... | 00000750 42 4c 54 20 6c 6f 6f 70 34 0d 03 de 19 20 41 44 |BLT loop4.... AD| 00000760 44 20 52 31 32 2c 52 31 32 2c 23 33 32 30 2a 31 |D R12,R12,#320*1| 00000770 32 38 0d 03 e8 13 20 41 44 44 20 52 31 32 2c 52 |28.... ADD R12,R| 00000780 31 32 2c 23 31 0d 03 f2 0f 20 4d 4f 56 20 52 31 |12,#1.... MOV R1| 00000790 30 2c 23 30 0d 03 fc 11 20 41 44 44 20 52 39 2c |0,#0.... ADD R9,| 000007a0 52 39 2c 23 31 0d 04 06 10 20 43 4d 50 20 52 39 |R9,#1.... CMP R9| 000007b0 2c 23 31 32 38 0d 04 10 0e 20 42 4c 54 20 6c 6f |,#128.... BLT lo| 000007c0 6f 70 34 0d 04 1a 1b 20 4c 44 4d 46 44 20 52 31 |op4.... LDMFD R1| 000007d0 33 21 2c 7b 52 30 2d 52 31 32 2c 50 43 7d 0d 04 |3!,{R0-R12,PC}..| 000007e0 24 04 0d 04 2e 0b 20 2e 63 6f 70 79 35 0d 04 38 |$..... .copy5..8| 000007f0 1c 20 53 54 4d 46 44 20 52 31 33 21 2c 7b 52 30 |. STMFD R13!,{R0| 00000800 2d 52 31 32 2c 52 31 34 7d 0d 04 42 16 20 4c 44 |-R12,R14}..B. LD| 00000810 52 20 52 31 32 2c 63 6f 70 79 73 74 61 72 74 0d |R R12,copystart.| 00000820 04 4c 17 20 4c 44 52 20 52 31 31 2c 62 6c 6f 63 |.L. LDR R11,bloc| 00000830 6b 73 74 61 72 74 0d 04 56 15 20 41 44 44 20 52 |kstart..V. ADD R| 00000840 31 32 2c 52 31 32 2c 23 31 32 37 0d 04 60 19 20 |12,R12,#127..`. | 00000850 4d 4f 56 20 52 39 2c 23 30 3a 4d 4f 56 20 52 31 |MOV R9,#0:MOV R1| 00000860 30 2c 23 30 0d 04 6a 0b 20 2e 6c 6f 6f 70 37 0d |0,#0..j. .loop7.| 00000870 04 74 20 20 4c 44 52 42 20 52 30 2c 5b 52 31 31 |.t LDRB R0,[R11| 00000880 5d 3a 53 54 52 42 20 52 30 2c 5b 52 31 32 5d 0d |]:STRB R0,[R12].| 00000890 04 7e 13 20 53 55 42 20 52 31 32 2c 52 31 32 2c |.~. SUB R12,R12,| 000008a0 23 31 0d 04 88 38 41 44 44 20 52 31 31 2c 52 31 |#1...8ADD R11,R1| 000008b0 31 2c 23 31 3a 41 44 44 20 52 31 30 2c 52 31 30 |1,#1:ADD R10,R10| 000008c0 2c 23 31 3a 43 4d 50 20 52 31 30 2c 23 31 32 38 |,#1:CMP R10,#128| 000008d0 3a 42 4c 54 20 6c 6f 6f 70 37 0d 04 92 15 20 41 |:BLT loop7.... A| 000008e0 44 44 20 52 31 32 2c 52 31 32 2c 23 31 32 38 0d |DD R12,R12,#128.| 000008f0 04 9c 15 20 41 44 44 20 52 31 32 2c 52 31 32 2c |... ADD R12,R12,| 00000900 23 33 32 30 0d 04 a6 0f 20 4d 4f 56 20 52 31 30 |#320.... MOV R10| 00000910 2c 23 30 0d 04 b0 11 20 41 44 44 20 52 39 2c 52 |,#0.... ADD R9,R| 00000920 39 2c 23 31 0d 04 ba 10 20 43 4d 50 20 52 39 2c |9,#1.... CMP R9,| 00000930 23 31 32 38 0d 04 c4 0e 20 42 4c 54 20 6c 6f 6f |#128.... BLT loo| 00000940 70 37 0d 04 ce 1b 20 4c 44 4d 46 44 20 52 31 33 |p7.... LDMFD R13| 00000950 21 2c 7b 52 30 2d 52 31 32 2c 50 43 7d 0d 04 d8 |!,{R0-R12,PC}...| 00000960 04 0d 04 e2 0b 20 2e 63 6f 70 79 36 0d 04 ec 1c |..... .copy6....| 00000970 20 53 54 4d 46 44 20 52 31 33 21 2c 7b 52 30 2d | STMFD R13!,{R0-| 00000980 52 31 32 2c 52 31 34 7d 0d 04 f6 16 20 4c 44 52 |R12,R14}.... LDR| 00000990 20 52 31 32 2c 63 6f 70 79 73 74 61 72 74 0d 05 | R12,copystart..| 000009a0 00 17 20 4c 44 52 20 52 31 31 2c 62 6c 6f 63 6b |.. LDR R11,block| 000009b0 73 74 61 72 74 0d 05 0a 19 20 4d 4f 56 20 52 39 |start.... MOV R9| 000009c0 2c 23 30 3a 4d 4f 56 20 52 31 30 2c 23 30 0d 05 |,#0:MOV R10,#0..| 000009d0 14 15 20 41 44 44 20 52 31 32 2c 52 31 32 2c 23 |.. ADD R12,R12,#| 000009e0 31 32 37 0d 05 1e 19 20 41 44 44 20 52 31 32 2c |127.... ADD R12,| 000009f0 52 31 32 2c 23 33 32 30 2a 31 32 38 0d 05 28 15 |R12,#320*128..(.| 00000a00 20 53 55 42 20 52 31 32 2c 52 31 32 2c 23 33 32 | SUB R12,R12,#32| 00000a10 30 0d 05 32 0b 20 2e 6c 6f 6f 70 38 0d 05 3c 20 |0..2. .loop8..< | 00000a20 20 4c 44 52 42 20 52 30 2c 5b 52 31 31 5d 3a 53 | LDRB R0,[R11]:S| 00000a30 54 52 42 20 52 30 2c 5b 52 31 32 5d 0d 05 46 15 |TRB R0,[R12]..F.| 00000a40 20 53 55 42 20 52 31 32 2c 52 31 32 2c 23 33 32 | SUB R12,R12,#32| 00000a50 30 0d 05 50 39 20 41 44 44 20 52 31 31 2c 52 31 |0..P9 ADD R11,R1| 00000a60 31 2c 23 31 3a 41 44 44 20 52 31 30 2c 52 31 30 |1,#1:ADD R10,R10| 00000a70 2c 23 31 3a 43 4d 50 20 52 31 30 2c 23 31 32 38 |,#1:CMP R10,#128| 00000a80 3a 42 4c 54 20 6c 6f 6f 70 38 0d 05 5a 19 20 41 |:BLT loop8..Z. A| 00000a90 44 44 20 52 31 32 2c 52 31 32 2c 23 33 32 30 2a |DD R12,R12,#320*| 00000aa0 31 32 38 0d 05 64 13 20 53 55 42 20 52 31 32 2c |128..d. SUB R12,| 00000ab0 52 31 32 2c 23 31 0d 05 6e 0f 20 4d 4f 56 20 52 |R12,#1..n. MOV R| 00000ac0 31 30 2c 23 30 0d 05 78 11 20 41 44 44 20 52 39 |10,#0..x. ADD R9| 00000ad0 2c 52 39 2c 23 31 0d 05 82 10 20 43 4d 50 20 52 |,R9,#1.... CMP R| 00000ae0 39 2c 23 31 32 38 0d 05 8c 0e 20 42 4c 54 20 6c |9,#128.... BLT l| 00000af0 6f 6f 70 38 0d 05 96 1b 20 4c 44 4d 46 44 20 52 |oop8.... LDMFD R| 00000b00 31 33 21 2c 7b 52 30 2d 52 31 32 2c 50 43 7d 0d |13!,{R0-R12,PC}.| 00000b10 05 a0 04 0d 05 aa 0b 20 2e 63 6f 70 79 37 0d 05 |....... .copy7..| 00000b20 b4 1c 20 53 54 4d 46 44 20 52 31 33 21 2c 7b 52 |.. STMFD R13!,{R| 00000b30 30 2d 52 31 32 2c 52 31 34 7d 0d 05 be 16 20 4c |0-R12,R14}.... L| 00000b40 44 52 20 52 31 32 2c 63 6f 70 79 73 74 61 72 74 |DR R12,copystart| 00000b50 0d 05 c8 17 20 4c 44 52 20 52 31 31 2c 62 6c 6f |.... LDR R11,blo| 00000b60 63 6b 73 74 61 72 74 0d 05 d2 19 20 4d 4f 56 20 |ckstart.... MOV | 00000b70 52 39 2c 23 30 3a 4d 4f 56 20 52 31 30 2c 23 30 |R9,#0:MOV R10,#0| 00000b80 0d 05 dc 0b 20 2e 6c 6f 6f 70 39 0d 05 e6 20 20 |.... .loop9... | 00000b90 4c 44 52 42 20 52 30 2c 5b 52 31 31 5d 3a 53 54 |LDRB R0,[R11]:ST| 00000ba0 52 42 20 52 30 2c 5b 52 31 32 5d 0d 05 f0 15 20 |RB R0,[R12].... | 00000bb0 41 44 44 20 52 31 32 2c 52 31 32 2c 23 33 32 30 |ADD R12,R12,#320| 00000bc0 0d 05 fa 39 20 41 44 44 20 52 31 31 2c 52 31 31 |...9 ADD R11,R11| 00000bd0 2c 23 31 3a 41 44 44 20 52 31 30 2c 52 31 30 2c |,#1:ADD R10,R10,| 00000be0 23 31 3a 43 4d 50 20 52 31 30 2c 23 31 32 38 3a |#1:CMP R10,#128:| 00000bf0 42 4c 54 20 6c 6f 6f 70 39 0d 06 04 19 20 53 55 |BLT loop9.... SU| 00000c00 42 20 52 31 32 2c 52 31 32 2c 23 33 32 30 2a 31 |B R12,R12,#320*1| 00000c10 32 38 0d 06 0e 13 20 41 44 44 20 52 31 32 2c 52 |28.... ADD R12,R| 00000c20 31 32 2c 23 31 0d 06 18 28 20 4d 4f 56 20 52 31 |12,#1...( MOV R1| 00000c30 30 2c 23 30 3a 41 44 44 20 52 39 2c 52 39 2c 23 |0,#0:ADD R9,R9,#| 00000c40 31 3a 43 4d 50 20 52 39 2c 23 31 32 38 0d 06 22 |1:CMP R9,#128.."| 00000c50 0e 20 42 4c 54 20 6c 6f 6f 70 39 0d 06 2c 1b 20 |. BLT loop9..,. | 00000c60 4c 44 4d 46 44 20 52 31 33 21 2c 7b 52 30 2d 52 |LDMFD R13!,{R0-R| 00000c70 31 32 2c 50 43 7d 0d 06 36 04 0d 06 40 0b 20 2e |12,PC}..6...@. .| 00000c80 63 6f 70 79 33 0d 06 4a 1c 20 53 54 4d 46 44 20 |copy3..J. STMFD | 00000c90 52 31 33 21 2c 7b 52 30 2d 52 31 32 2c 52 31 34 |R13!,{R0-R12,R14| 00000ca0 7d 0d 06 54 16 20 4c 44 52 20 52 31 32 2c 63 6f |}..T. LDR R12,co| 00000cb0 70 79 73 74 61 72 74 0d 06 5e 17 20 4c 44 52 20 |pystart..^. LDR | 00000cc0 52 31 31 2c 62 6c 6f 63 6b 73 74 61 72 74 0d 06 |R11,blockstart..| 00000cd0 68 15 20 41 44 44 20 52 31 32 2c 52 31 32 2c 23 |h. ADD R12,R12,#| 00000ce0 31 32 37 0d 06 72 19 20 4d 4f 56 20 52 31 30 2c |127..r. MOV R10,| 00000cf0 23 30 3a 4d 4f 56 20 52 39 2c 23 30 0d 06 7c 0b |#0:MOV R9,#0..|.| 00000d00 20 2e 6c 6f 6f 70 36 0d 06 86 20 20 4c 44 52 42 | .loop6... LDRB| 00000d10 20 52 30 2c 5b 52 31 31 5d 3a 53 54 52 42 20 52 | R0,[R11]:STRB R| 00000d20 30 2c 5b 52 31 32 5d 0d 06 90 15 20 41 44 44 20 |0,[R12].... ADD | 00000d30 52 31 32 2c 52 31 32 2c 23 33 32 30 0d 06 9a 39 |R12,R12,#320...9| 00000d40 20 41 44 44 20 52 31 31 2c 52 31 31 2c 23 31 3a | ADD R11,R11,#1:| 00000d50 41 44 44 20 52 31 30 2c 52 31 30 2c 23 31 3a 43 |ADD R10,R10,#1:C| 00000d60 4d 50 20 52 31 30 2c 23 31 32 38 3a 42 4c 54 20 |MP R10,#128:BLT | 00000d70 6c 6f 6f 70 36 0d 06 a4 19 20 53 55 42 20 52 31 |loop6.... SUB R1| 00000d80 32 2c 52 31 32 2c 23 33 32 30 2a 31 32 38 0d 06 |2,R12,#320*128..| 00000d90 ae 13 20 53 55 42 20 52 31 32 2c 52 31 32 2c 23 |.. SUB R12,R12,#| 00000da0 31 0d 06 b8 0f 20 4d 4f 56 20 52 31 30 2c 23 30 |1.... MOV R10,#0| 00000db0 0d 06 c2 1d 20 41 44 44 20 52 39 2c 52 39 2c 23 |.... ADD R9,R9,#| 00000dc0 31 3a 43 4d 50 20 52 39 2c 23 31 32 38 0d 06 cc |1:CMP R9,#128...| 00000dd0 0e 20 42 4c 54 20 6c 6f 6f 70 36 0d 06 d6 1b 20 |. BLT loop6.... | 00000de0 4c 44 4d 46 44 20 52 31 33 21 2c 7b 52 30 2d 52 |LDMFD R13!,{R0-R| 00000df0 31 32 2c 50 43 7d 0d 06 e0 04 0d 06 ea 0b 20 2e |12,PC}........ .| 00000e00 63 6f 70 79 32 0d 06 f4 1c 20 53 54 4d 46 44 20 |copy2.... STMFD | 00000e10 52 31 33 21 2c 7b 52 30 2d 52 31 32 2c 52 31 34 |R13!,{R0-R12,R14| 00000e20 7d 0d 06 fe 16 20 4c 44 52 20 52 31 32 2c 63 6f |}.... LDR R12,co| 00000e30 70 79 73 74 61 72 74 0d 07 08 17 20 4c 44 52 20 |pystart.... LDR | 00000e40 52 31 31 2c 62 6c 6f 63 6b 73 74 61 72 74 0d 07 |R11,blockstart..| 00000e50 12 19 20 41 44 44 20 52 31 32 2c 52 31 32 2c 23 |.. ADD R12,R12,#| 00000e60 33 32 30 2a 31 32 38 0d 07 1c 15 20 53 55 42 20 |320*128.... SUB | 00000e70 52 31 32 2c 52 31 32 2c 23 33 32 30 0d 07 26 15 |R12,R12,#320..&.| 00000e80 20 41 44 44 20 52 31 32 2c 52 31 32 2c 23 31 32 | ADD R12,R12,#12| 00000e90 37 0d 07 30 19 20 4d 4f 56 20 52 31 30 2c 23 30 |7..0. MOV R10,#0| 00000ea0 3a 4d 4f 56 20 52 39 2c 23 30 0d 07 3a 0b 20 2e |:MOV R9,#0..:. .| 00000eb0 6c 6f 6f 70 35 0d 07 44 12 20 4c 44 52 42 20 52 |loop5..D. LDRB R| 00000ec0 30 2c 5b 52 31 31 5d 0d 07 4e 12 20 53 54 52 42 |0,[R11]..N. STRB| 00000ed0 20 52 30 2c 5b 52 31 32 5d 0d 07 58 13 20 53 55 | R0,[R12]..X. SU| 00000ee0 42 20 52 31 32 2c 52 31 32 2c 23 31 0d 07 62 13 |B R12,R12,#1..b.| 00000ef0 20 41 44 44 20 52 31 31 2c 52 31 31 2c 23 31 0d | ADD R11,R11,#1.| 00000f00 07 6c 13 20 41 44 44 20 52 31 30 2c 52 31 30 2c |.l. ADD R10,R10,| 00000f10 23 31 0d 07 76 11 20 43 4d 50 20 52 31 30 2c 23 |#1..v. CMP R10,#| 00000f20 31 32 38 0d 07 80 0e 20 42 4c 54 20 6c 6f 6f 70 |128.... BLT loop| 00000f30 35 0d 07 8a 15 20 41 44 44 20 52 31 32 2c 52 31 |5.... ADD R12,R1| 00000f40 32 2c 23 31 32 38 0d 07 94 15 20 53 55 42 20 52 |2,#128.... SUB R| 00000f50 31 32 2c 52 31 32 2c 23 33 32 30 0d 07 9e 0f 20 |12,R12,#320.... | 00000f60 4d 4f 56 20 52 31 30 2c 23 30 0d 07 a8 11 20 41 |MOV R10,#0.... A| 00000f70 44 44 20 52 39 2c 52 39 2c 23 31 0d 07 b2 10 20 |DD R9,R9,#1.... | 00000f80 43 4d 50 20 52 39 2c 23 31 32 38 0d 07 bc 0e 20 |CMP R9,#128.... | 00000f90 42 4c 54 20 6c 6f 6f 70 35 0d 07 c6 1b 20 4c 44 |BLT loop5.... LD| 00000fa0 4d 46 44 20 52 31 33 21 2c 7b 52 30 2d 52 31 32 |MFD R13!,{R0-R12| 00000fb0 2c 50 43 7d 0d 07 d0 04 0d 07 da 0b 20 2e 63 6f |,PC}........ .co| 00000fc0 70 79 34 0d 07 e4 1c 20 53 54 4d 46 44 20 52 31 |py4.... STMFD R1| 00000fd0 33 21 2c 7b 52 30 2d 52 31 32 2c 52 31 34 7d 0d |3!,{R0-R12,R14}.| 00000fe0 07 ee 16 20 4c 44 52 20 52 31 32 2c 63 6f 70 79 |... LDR R12,copy| 00000ff0 73 74 61 72 74 0d 07 f8 17 20 4c 44 52 20 52 31 |start.... LDR R1| 00001000 31 2c 62 6c 6f 63 6b 73 74 61 72 74 0d 08 02 19 |1,blockstart....| 00001010 20 41 44 44 20 52 31 32 2c 52 31 32 2c 23 33 32 | ADD R12,R12,#32| 00001020 30 2a 31 32 38 0d 08 0c 15 20 53 55 42 20 52 31 |0*128.... SUB R1| 00001030 32 2c 52 31 32 2c 23 33 32 30 0d 08 16 0b 20 2e |2,R12,#320.... .| 00001040 6c 6f 6f 70 33 0d 08 20 11 20 5d 3a e3 20 58 25 |loop3.. . ]:. X%| 00001050 3d 30 20 b8 20 33 0d 08 2a 0e 20 5b 4f 50 54 20 |=0 . 3..*. [OPT | 00001060 70 61 73 73 0d 08 34 2a 20 4c 44 4d 49 41 20 52 |pass..4* LDMIA R| 00001070 31 31 21 2c 7b 52 30 2d 52 37 7d 3a 53 54 4d 49 |11!,{R0-R7}:STMI| 00001080 41 20 52 31 32 21 2c 7b 52 30 2d 52 37 7d 0d 08 |A R12!,{R0-R7}..| 00001090 3e 12 20 5d 3a ed 3a 5b 4f 50 54 20 70 61 73 73 |>. ]:.:[OPT pass| 000010a0 0d 08 48 13 20 41 44 44 20 52 31 30 2c 52 31 30 |..H. ADD R10,R10| 000010b0 2c 23 31 0d 08 52 1d 20 53 55 42 20 52 31 32 2c |,#1..R. SUB R12,| 000010c0 52 31 32 2c 23 28 36 34 30 2b 32 35 36 29 2f 32 |R12,#(640+256)/2| 000010d0 0d 08 5c 11 20 43 4d 50 20 52 31 30 2c 23 31 32 |..\. CMP R10,#12| 000010e0 38 0d 08 66 0e 20 42 4c 54 20 6c 6f 6f 70 33 0d |8..f. BLT loop3.| 000010f0 08 70 1b 20 4c 44 4d 46 44 20 52 31 33 21 2c 7b |.p. LDMFD R13!,{| 00001100 52 30 2d 52 31 32 2c 50 43 7d 0d 08 7a 04 0d 08 |R0-R12,PC}..z...| 00001110 84 1c 20 2e 73 63 72 65 65 6e 73 74 61 72 74 3a |.. .screenstart:| 00001120 45 51 55 44 20 21 76 61 72 73 0d 08 8e 1a 20 2e |EQUD !vars.... .| 00001130 63 6f 70 79 73 74 61 72 74 3a 45 51 55 44 20 21 |copystart:EQUD !| 00001140 76 61 72 73 0d 08 98 1b 20 2e 62 6c 6f 63 6b 73 |vars.... .blocks| 00001150 74 61 72 74 3a 45 51 55 44 20 62 6c 6f 63 6b 0d |tart:EQUD block.| 00001160 08 a2 08 20 5d 3a ed 0d 08 ac 04 0d 08 b6 06 20 |... ]:......... | 00001170 f5 0d 08 c0 08 20 eb 20 30 0d 08 ca 06 20 f7 0d |..... . 0.... ..| 00001180 08 d4 38 20 f1 8a 31 35 29 22 4d 43 52 4d 20 46 |..8 ..15)"MCRM F| 00001190 6f 72 20 54 68 65 20 53 65 72 70 69 6e 73 6b 79 |or The Serpinsky| 000011a0 20 47 61 73 6b 65 74 20 41 6e 64 20 52 65 6c 61 | Gasket And Rela| 000011b0 74 69 76 65 73 2e 22 0d 08 de 13 20 c8 93 20 34 |tives.".... .. 4| 000011c0 30 30 2c 34 30 30 2c 32 30 30 0d 08 e8 13 20 c8 |00,400,200.... .| 000011d0 93 20 34 30 30 2c 32 30 30 2c 32 30 30 0d 08 f2 |. 400,200,200...| 000011e0 13 20 c8 93 20 36 30 30 2c 32 30 30 2c 32 30 30 |. .. 600,200,200| 000011f0 0d 08 fc 18 20 e3 20 58 25 3d 30 20 b8 20 31 32 |.... . X%=0 . 12| 00001200 38 30 20 88 20 31 36 30 0d 09 06 12 20 c8 93 20 |80 . 160.... .. | 00001210 58 25 2c 38 30 30 2c 31 32 38 0d 09 10 06 20 ed |X%,800,128.... .| 00001220 0d 09 1a 0f 20 e3 20 58 25 3d 30 20 b8 20 37 0d |.... . X%=0 . 7.| 00001230 09 24 14 20 f1 8a 58 25 2a 31 30 2b 34 2c 38 29 |.$. ..X%*10+4,8)| 00001240 3b 58 25 0d 09 2e 18 20 f3 20 58 31 2c 59 31 2c |;X%.... . X1,Y1,| 00001250 58 32 2c 59 32 2c 58 33 2c 59 33 0d 09 38 12 20 |X2,Y2,X3,Y3..8. | 00001260 86 20 58 31 2c 59 31 2c 58 32 2c 59 32 0d 09 42 |. X1,Y1,X2,Y2..B| 00001270 0c 20 df 20 58 33 2c 59 33 0d 09 4c 06 20 ed 0d |. . X3,Y3..L. ..| 00001280 09 56 04 0d 09 60 2d 20 f1 8a 32 33 2c 31 31 29 |.V...`- ..23,11)| 00001290 22 50 6c 65 61 73 65 20 69 6e 70 75 74 20 74 72 |"Please input tr| 000012a0 61 6e 73 66 6f 72 6d 61 74 69 6f 6e 73 3a 2d 22 |ansformations:-"| 000012b0 0d 09 6a 21 20 e8 8a 33 30 2c 31 36 29 2c 74 72 |..j! ..30,16),tr| 000012c0 61 6e 73 66 6f 72 6d 61 74 69 6f 6e 73 25 28 31 |ansformations%(1| 000012d0 29 0d 09 74 21 20 e8 8a 33 30 2c 32 32 29 2c 74 |)..t! ..30,22),t| 000012e0 72 61 6e 73 66 6f 72 6d 61 74 69 6f 6e 73 25 28 |ransformations%(| 000012f0 32 29 0d 09 7e 21 20 e8 8a 34 33 2c 32 32 29 2c |2)..~! ..43,22),| 00001300 74 72 61 6e 73 66 6f 72 6d 61 74 69 6f 6e 73 25 |transformations%| 00001310 28 33 29 0d 09 88 30 20 74 72 61 6e 73 66 6f 72 |(3)...0 transfor| 00001320 6d 61 74 69 6f 6e 73 25 28 31 29 3d 74 72 61 6e |mations%(1)=tran| 00001330 73 66 6f 72 6d 61 74 69 6f 6e 73 25 28 31 29 20 |sformations%(1) | 00001340 80 20 37 0d 09 92 30 20 74 72 61 6e 73 66 6f 72 |. 7...0 transfor| 00001350 6d 61 74 69 6f 6e 73 25 28 32 29 3d 74 72 61 6e |mations%(2)=tran| 00001360 73 66 6f 72 6d 61 74 69 6f 6e 73 25 28 32 29 20 |sformations%(2) | 00001370 80 20 37 0d 09 9c 30 20 74 72 61 6e 73 66 6f 72 |. 7...0 transfor| 00001380 6d 61 74 69 6f 6e 73 25 28 33 29 3d 74 72 61 6e |mations%(3)=tran| 00001390 73 66 6f 72 6d 61 74 69 6f 6e 73 25 28 33 29 20 |sformations%(3) | 000013a0 80 20 37 0d 09 a6 27 20 f1 8a 33 30 2c 31 36 29 |. 7...' ..30,16)| 000013b0 3b 74 72 61 6e 73 66 6f 72 6d 61 74 69 6f 6e 73 |;transformations| 000013c0 25 28 31 29 3b 22 20 20 20 22 0d 09 b0 27 20 f1 |%(1);" "...' .| 000013d0 8a 33 30 2c 32 32 29 3b 74 72 61 6e 73 66 6f 72 |.30,22);transfor| 000013e0 6d 61 74 69 6f 6e 73 25 28 32 29 3b 22 20 20 20 |mations%(2);" | 000013f0 22 0d 09 ba 27 20 f1 8a 34 33 2c 32 32 29 3b 74 |"...' ..43,22);t| 00001400 72 61 6e 73 66 6f 72 6d 61 74 69 6f 6e 73 25 28 |ransformations%(| 00001410 33 29 3b 22 20 20 20 22 0d 09 c4 2e 20 f1 8a 32 |3);" ".... ..2| 00001420 35 2c 33 30 29 22 28 45 29 71 75 6c 61 74 65 72 |5,30)"(E)qulater| 00001430 61 6c 20 6f 72 20 28 52 29 69 67 68 74 20 61 6e |al or (R)ight an| 00001440 67 6c 65 64 3f 22 0d 09 ce 04 0d 09 d8 06 20 87 |gled?"........ .| 00001450 0d 09 e2 06 20 f5 0d 09 ec 09 20 4e 24 3d be 0d |.... ..... N$=..| 00001460 09 f6 16 20 fd 20 4e 24 3d 22 45 22 20 84 20 4e |... . N$="E" . N| 00001470 24 3d 22 52 22 0d 0a 00 04 0d 0a 0a 09 20 eb 20 |$="R"........ . | 00001480 31 33 0d 0a 14 06 20 87 0d 0a 1e 35 20 f4 20 8a |13.... ....5 . .| 00001490 8a 8a 8a 8a 8a 8a 8a 8a 8a 20 44 72 61 77 20 53 |......... Draw S| 000014a0 74 61 72 74 69 6e 67 20 53 68 61 70 65 20 48 65 |tarting Shape He| 000014b0 72 65 20 8a 8a 8a 8a 8a 8a 8a 8a 8a 8a 0d 0a 28 |re ............(| 000014c0 1b 20 f4 20 4d 75 73 74 20 62 65 20 62 72 69 67 |. . Must be brig| 000014d0 68 74 20 77 68 69 74 65 0d 0a 32 10 20 e6 20 36 |ht white..2. . 6| 000014e0 33 20 c8 9c 20 32 35 35 0d 0a 3c 16 20 c8 8f 20 |3 .. 255..<. .. | 000014f0 c8 90 20 36 34 30 2c 35 31 32 2c 35 31 32 0d 0a |.. 640,512,512..| 00001500 46 35 20 f4 20 8b 8b 8b 8b 8b 8b 8b 8b 8b 8b 8b |F5 . ...........| 00001510 8b 8b 8b 8b 8b 8b 8b 8b 8b 8b 8b 8b 8b 8b 8b 8b |................| * 00001530 8b 8b 8b 0d 0a 50 04 0d 0a 5a 0f 20 e3 20 58 25 |.....P...Z. . X%| 00001540 3d 30 20 b8 20 37 0d 0a 64 0b 20 d6 20 63 6f 64 |=0 . 7..d. . cod| 00001550 65 0d 0a 6e 06 20 db 0d 0a 78 15 20 21 63 6f 70 |e..n. ...x. !cop| 00001560 79 73 74 61 72 74 3d 21 76 61 72 73 0d 0a 82 28 |ystart=!vars...(| 00001570 20 e7 20 4e 24 3d 22 45 22 20 8c 20 21 63 6f 70 | . N$="E" . !cop| 00001580 79 73 74 61 72 74 3d 21 63 6f 70 79 73 74 61 72 |ystart=!copystar| 00001590 74 2b 36 34 0d 0a 8c 25 20 f2 63 6f 70 79 63 68 |t+64...% .copych| 000015a0 6f 6f 73 65 28 74 72 61 6e 73 66 6f 72 6d 61 74 |oose(transformat| 000015b0 69 6f 6e 73 25 28 31 29 29 0d 0a 96 1f 20 21 63 |ions%(1)).... !c| 000015c0 6f 70 79 73 74 61 72 74 3d 21 76 61 72 73 2b 28 |opystart=!vars+(| 000015d0 34 30 2a 31 30 32 34 29 0d 0a a0 25 20 f2 63 6f |40*1024)...% .co| 000015e0 70 79 63 68 6f 6f 73 65 28 74 72 61 6e 73 66 6f |pychoose(transfo| 000015f0 72 6d 61 74 69 6f 6e 73 25 28 32 29 29 0d 0a aa |rmations%(2))...| 00001600 23 20 21 63 6f 70 79 73 74 61 72 74 3d 21 76 61 |# !copystart=!va| 00001610 72 73 2b 28 34 30 2a 31 30 32 34 29 2b 31 32 38 |rs+(40*1024)+128| 00001620 0d 0a b4 25 20 f2 63 6f 70 79 63 68 6f 6f 73 65 |...% .copychoose| 00001630 28 74 72 61 6e 73 66 6f 72 6d 61 74 69 6f 6e 73 |(transformations| 00001640 25 28 33 29 29 0d 0a be 06 20 ed 0d 0a c8 09 20 |%(3)).... ..... | 00001650 4e 24 3d be 0d 0a d2 0d 20 fd 20 4e 24 3d 22 51 |N$=..... . N$="Q| 00001660 22 0d 0a dc 06 20 e0 0d 0a e6 04 0d 0a f0 15 20 |".... ......... | 00001670 dd f2 63 6f 70 79 63 68 6f 6f 73 65 28 43 25 29 |..copychoose(C%)| 00001680 0d 0a fa 0c 20 c8 8e 20 43 25 20 ca 0d 0b 04 10 |.... .. C% .....| 00001690 20 c9 20 30 3a d6 20 63 6f 70 79 30 0d 0b 0e 10 | . 0:. copy0....| 000016a0 20 c9 20 31 3a d6 20 63 6f 70 79 31 0d 0b 18 10 | . 1:. copy1....| 000016b0 20 c9 20 32 3a d6 20 63 6f 70 79 32 0d 0b 22 10 | . 2:. copy2..".| 000016c0 20 c9 20 33 3a d6 20 63 6f 70 79 33 0d 0b 2c 10 | . 3:. copy3..,.| 000016d0 20 c9 20 34 3a d6 20 63 6f 70 79 34 0d 0b 36 10 | . 4:. copy4..6.| 000016e0 20 c9 20 35 3a d6 20 63 6f 70 79 35 0d 0b 40 10 | . 5:. copy5..@.| 000016f0 20 c9 20 36 3a d6 20 63 6f 70 79 36 0d 0b 4a 10 | . 6:. copy6..J.| 00001700 20 c9 20 37 3a d6 20 63 6f 70 79 37 0d 0b 54 06 | . 7:. copy7..T.| 00001710 20 cb 0d 0b 5e 06 20 e1 0d 0b 68 04 0d 0b 72 1b | ...^. ...h...r.| 00001720 20 dc 20 31 36 2c 39 31 32 2c 31 36 2c 38 31 36 | . 16,912,16,816| 00001730 2c 36 34 2c 38 31 36 0d 0b 7c 1e 20 dc 20 31 37 |,64,816..|. . 17| 00001740 36 2c 38 31 36 2c 32 37 32 2c 38 31 36 2c 32 37 |6,816,272,816,27| 00001750 32 2c 38 36 34 0d 0b 86 1e 20 dc 20 33 38 34 2c |2,864.... . 384,| 00001760 39 31 32 2c 34 33 32 2c 39 31 32 2c 34 33 32 2c |912,432,912,432,| 00001770 38 31 36 0d 0b 90 1e 20 dc 20 34 39 36 2c 38 36 |816.... . 496,86| 00001780 34 2c 34 39 36 2c 39 31 32 2c 35 39 32 2c 39 31 |4,496,912,592,91| 00001790 32 0d 0b 9a 1e 20 dc 20 36 35 36 2c 38 31 36 2c |2.... . 656,816,| 000017a0 36 35 36 2c 39 31 32 2c 37 30 34 2c 39 31 32 0d |656,912,704,912.| 000017b0 0b a4 1e 20 dc 20 38 36 34 2c 38 31 36 2c 39 31 |... . 864,816,91| 000017c0 32 2c 38 31 36 2c 39 31 32 2c 39 31 32 0d 0b ae |2,816,912,912...| 000017d0 1f 20 dc 20 39 37 36 2c 38 36 34 2c 39 37 36 2c |. . 976,864,976,| 000017e0 38 31 36 2c 31 30 37 32 2c 38 31 36 0d 0b b8 21 |816,1072,816...!| 000017f0 20 dc 20 31 31 33 36 2c 39 31 32 2c 31 32 33 32 | . 1136,912,1232| 00001800 2c 39 31 32 2c 31 32 33 32 2c 38 36 34 0d 0b c2 |,912,1232,864...| 00001810 04 0d 0b cc 0c 20 dd f2 65 72 72 6f 72 0d 0b d6 |..... ..error...| 00001820 08 20 eb 20 30 0d 0b e0 0f 20 e7 20 9f 3d 31 37 |. . 0.... . .=17| 00001830 20 8c 20 e0 0d 0b ea 17 20 f6 3a f1 22 20 61 74 | . ..... .:." at| 00001840 20 6c 69 6e 65 20 22 3b 9e 3a e0 0d ff | line ";.:...| 0000184d