Home » Archimedes archive » Acorn User » AU 1995-01.adf » !StarInfo_StarInfo » Bradburne/MCRM_multi
Bradburne/MCRM_multi
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_multi |
Read OK: | ✔ |
File size: | 1857 bytes |
Load address: | 0000 |
Exec address: | 0000 |
File contents
10 REM>MCRM_Multi 20 REM By Chris Bradburne 30 40 ON ERROR PROCerror 50 60 MODE 21 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+64 170 180 DIM code 1024 190 DIM block 16*1024*4 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,#4*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,#640 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,#640 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,#256 580 BLT loop1 590 MOV R10,#0 600 ADD R12,R12,#(128+640) 610 ADD R9,R9,#1 620 CMP R9,#256 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 7 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,#384 790 CMP R10,#256 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,#640*256 880 SUB R12,R12,#640 890 MOV R10,#0 900 MOV R9,#0 910 .loop4 920 LDRB R0,[R11] 930 STRB R0,[R12] 940 SUB R12,R12,#640 950 ADD R11,R11,#1 960 ADD R10,R10,#1 970 CMP R10,#256 980 BLT loop4 990 ADD R12,R12,#640*256 1000 ADD R12,R12,#1 1010 MOV R10,#0 1020 ADD R9,R9,#1 1030 CMP R9,#256 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,#255 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,#256:BLT loop7 1170 ADD R12,R12,#256 1180 ADD R12,R12,#640 1190 MOV R10,#0 1200 ADD R9,R9,#1 1210 CMP R9,#256 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,#255 1310 ADD R12,R12,#640*256 1320 SUB R12,R12,#640 1330 .loop8 1340 LDRB R0,[R11]:STRB R0,[R12] 1350 SUB R12,R12,#640 1360 ADD R11,R11,#1:ADD R10,R10,#1:CMP R10,#256:BLT loop8 1370 ADD R12,R12,#640*256 1380 SUB R12,R12,#1 1390 MOV R10,#0 1400 ADD R9,R9,#1 1410 CMP R9,#256 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,#640 1530 ADD R11,R11,#1:ADD R10,R10,#1:CMP R10,#256:BLT loop9 1540 SUB R12,R12,#640*256 1550 ADD R12,R12,#1 1560 MOV R10,#0:ADD R9,R9,#1:CMP R9,#256 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,#255 1650 MOV R10,#0:MOV R9,#0 1660 .loop6 1670 LDRB R0,[R11]:STRB R0,[R12] 1680 ADD R12,R12,#640 1690 ADD R11,R11,#1:ADD R10,R10,#1:CMP R10,#256:BLT loop6 1700 SUB R12,R12,#640*256 1710 SUB R12,R12,#1 1720 MOV R10,#0 1730 ADD R9,R9,#1:CMP R9,#256 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,#640*256 1820 SUB R12,R12,#640 1830 ADD R12,R12,#255 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,#256 1920 BLT loop5 1930 ADD R12,R12,#256 1940 SUB R12,R12,#640 1950 MOV R10,#0 1960 ADD R9,R9,#1 1970 CMP R9,#256 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,#640*256 2060 SUB R12,R12,#640 2070 .loop3 2080 ]:FOR X%=0 TO 7 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,#(1280+512)/2 2140 CMP R10,#256 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 21 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 8 2660 CALL code 2670 CLS 2680 !copystart=!vars 2690 IF N$="E" THEN !copystart=!copystart+128 2700 PROCcopychoose(transformations%(1)) 2710 !copystart=!vars+(160*1024) 2720 PROCcopychoose(transformations%(2)) 2730 !copystart=!vars+(160*1024)+256 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_Multi � By Chris Bradburne ( � � �error 2 < � 21 F � P � vars 8 Z !vars=148 d vars!4=-1 n' ș "OS_ReadVduVariables",vars,vars x � � 0 � � transformations%(3) � transformations%()=0 � !vars=!vars+64 � � � code 1024 � � block 16*1024*4 � � 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,#4*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,#640 �. 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,#640 . LDRB R0,[R12]:CMP R0,#255:STREQB R0,[R11] ADD R12,R12,#1 & ADD R11,R11,#1 0 ADD R10,R10,#1 : CMP R10,#256 D BLT loop1 N MOV R10,#0 X ADD R12,R12,#(128+640) b ADD R9,R9,#1 l CMP R9,#256 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 � 7 � [OPT pass � LDMIA R11!,{R0-R7} � STMIA R12!,{R0-R7} � ]:�:[OPT pass ADD R10,R10,#1 ADD R12,R12,#384 CMP R10,#256 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,#640*256 p SUB R12,R12,#640 z MOV R10,#0 � MOV R9,#0 � .loop4 � LDRB R0,[R11] � STRB R0,[R12] � SUB R12,R12,#640 � ADD R11,R11,#1 � ADD R10,R10,#1 � CMP R10,#256 � BLT loop4 � ADD R12,R12,#640*256 � ADD R12,R12,#1 � MOV R10,#0 � ADD R9,R9,#1 CMP R9,#256 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,#255 ` 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,#256:BLT loop7 � ADD R12,R12,#256 � ADD R12,R12,#640 � MOV R10,#0 � ADD R9,R9,#1 � CMP R9,#256 � 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,#255 ADD R12,R12,#640*256 ( SUB R12,R12,#640 2 .loop8 < LDRB R0,[R11]:STRB R0,[R12] F SUB R12,R12,#640 P9 ADD R11,R11,#1:ADD R10,R10,#1:CMP R10,#256:BLT loop8 Z ADD R12,R12,#640*256 d SUB R12,R12,#1 n MOV R10,#0 x ADD R9,R9,#1 � CMP R9,#256 � 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,#640 �9 ADD R11,R11,#1:ADD R10,R10,#1:CMP R10,#256:BLT loop9 SUB R12,R12,#640*256 ADD R12,R12,#1 ( MOV R10,#0:ADD R9,R9,#1:CMP R9,#256 " 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,#255 r MOV R10,#0:MOV R9,#0 | .loop6 � LDRB R0,[R11]:STRB R0,[R12] � ADD R12,R12,#640 �9 ADD R11,R11,#1:ADD R10,R10,#1:CMP R10,#256:BLT loop6 � SUB R12,R12,#640*256 � SUB R12,R12,#1 � MOV R10,#0 � ADD R9,R9,#1:CMP R9,#256 � BLT loop6 � LDMFD R13!,{R0-R12,PC} � � .copy2 � STMFD R13!,{R0-R12,R14} � LDR R12,copystart LDR R11,blockstart ADD R12,R12,#640*256 SUB R12,R12,#640 & ADD R12,R12,#255 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,#256 � BLT loop5 � ADD R12,R12,#256 � SUB R12,R12,#640 � MOV R10,#0 � ADD R9,R9,#1 � CMP R9,#256 � BLT loop5 � LDMFD R13!,{R0-R12,PC} � � .copy4 � STMFD R13!,{R0-R12,R14} � LDR R12,copystart � LDR R11,blockstart ADD R12,R12,#640*256 SUB R12,R12,#640 .loop3 ]:� X%=0 � 7 * [OPT pass 4* LDMIA R11!,{R0-R7}:STMIA R12!,{R0-R7} > ]:�:[OPT pass H ADD R10,R10,#1 R SUB R12,R12,#(1280+512)/2 \ CMP R10,#256 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" � 21 � 5 � ���������� Draw Starting Shape Here ���������� ( � Must be bright white 2 � 63 Ȝ 255 < ȏ Ȑ 640,512,512 F5 � ���������������������������������������������� P Z � X%=0 � 8 d � code n � x !copystart=!vars �) � N$="E" � !copystart=!copystart+128 �% �copychoose(transformations%(1)) � !copystart=!vars+(160*1024) �% �copychoose(transformations%(2)) �$ !copystart=!vars+(160*1024)+256 �% �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 11 20 f4 3e 4d 43 52 4d 5f 4d 75 6c 74 |.... .>MCRM_Mult| 00000010 69 0d 00 14 19 20 f4 20 42 79 20 43 68 72 69 73 |i.... . By Chris| 00000020 20 42 72 61 64 62 75 72 6e 65 0d 00 1e 04 0d 00 | Bradburne......| 00000030 28 0f 20 ee 20 85 20 f2 65 72 72 6f 72 0d 00 32 |(. . . .error..2| 00000040 04 0d 00 3c 09 20 eb 20 32 31 0d 00 46 06 20 87 |...<. . 21..F. .| 00000050 0d 00 50 0d 20 de 20 76 61 72 73 20 38 0d 00 5a |..P. . vars 8..Z| 00000060 0e 20 21 76 61 72 73 3d 31 34 38 0d 00 64 0e 20 |. !vars=148..d. | 00000070 76 61 72 73 21 34 3d 2d 31 0d 00 6e 27 20 c8 99 |vars!4=-1..n' ..| 00000080 20 22 4f 53 5f 52 65 61 64 56 64 75 56 61 72 69 | "OS_ReadVduVari| 00000090 61 62 6c 65 73 22 2c 76 61 72 73 2c 76 61 72 73 |ables",vars,vars| 000000a0 0d 00 78 04 0d 00 82 08 20 eb 20 30 0d 00 8c 1a |..x..... . 0....| 000000b0 20 de 20 74 72 61 6e 73 66 6f 72 6d 61 74 69 6f | . transformatio| 000000c0 6e 73 25 28 33 29 0d 00 96 19 20 74 72 61 6e 73 |ns%(3).... trans| 000000d0 66 6f 72 6d 61 74 69 6f 6e 73 25 28 29 3d 30 0d |formations%()=0.| 000000e0 00 a0 13 20 21 76 61 72 73 3d 21 76 61 72 73 2b |... !vars=!vars+| 000000f0 36 34 0d 00 aa 04 0d 00 b4 10 20 de 20 63 6f 64 |64........ . cod| 00000100 65 20 31 30 32 34 0d 00 be 16 20 de 20 62 6c 6f |e 1024.... . blo| 00000110 63 6b 20 31 36 2a 31 30 32 34 2a 34 0d 00 c8 15 |ck 16*1024*4....| 00000120 20 e3 20 70 61 73 73 3d 30 20 b8 20 32 20 88 20 | . pass=0 . 2 . | 00000130 32 0d 00 d2 0c 20 50 25 3d 63 6f 64 65 0d 00 dc |2.... P%=code...| 00000140 04 0d 00 e6 0e 20 5b 4f 50 54 20 70 61 73 73 0d |..... [OPT pass.| 00000150 00 f0 1c 20 53 54 4d 46 44 20 52 31 33 21 2c 7b |... STMFD R13!,{| 00000160 52 30 2d 52 31 32 2c 52 31 34 7d 0d 00 fa 17 20 |R0-R12,R14}.... | 00000170 4c 44 52 20 52 31 32 2c 62 6c 6f 63 6b 73 74 61 |LDR R12,blocksta| 00000180 72 74 0d 01 04 54 20 4d 4f 56 20 52 30 2c 23 30 |rt...T MOV R0,#0| 00000190 3a 4d 4f 56 20 52 31 2c 23 30 3a 4d 4f 56 20 52 |:MOV R1,#0:MOV R| 000001a0 32 2c 23 30 3a 4d 4f 56 20 52 33 2c 23 30 3a 4d |2,#0:MOV R3,#0:M| 000001b0 4f 56 20 52 34 2c 23 30 3a 4d 4f 56 20 52 35 2c |OV R4,#0:MOV R5,| 000001c0 23 30 3a 4d 4f 56 20 52 36 2c 23 30 3a 4d 4f 56 |#0:MOV R6,#0:MOV| 000001d0 20 52 37 2c 23 30 0d 01 0e 0f 20 4d 4f 56 20 52 | R7,#0.... MOV R| 000001e0 31 31 2c 23 30 0d 01 18 0b 20 2e 6c 6f 6f 70 30 |11,#0.... .loop0| 000001f0 0d 01 22 17 20 53 54 4d 49 41 20 52 31 32 21 2c |..". STMIA R12!,| 00000200 7b 52 30 2d 52 37 7d 0d 01 2c 17 20 53 54 4d 49 |{R0-R7}..,. STMI| 00000210 41 20 52 31 32 21 2c 7b 52 30 2d 52 37 7d 0d 01 |A R12!,{R0-R7}..| 00000220 36 17 20 53 54 4d 49 41 20 52 31 32 21 2c 7b 52 |6. STMIA R12!,{R| 00000230 30 2d 52 37 7d 0d 01 40 17 20 53 54 4d 49 41 20 |0-R7}..@. STMIA | 00000240 52 31 32 21 2c 7b 52 30 2d 52 37 7d 0d 01 4a 17 |R12!,{R0-R7}..J.| 00000250 20 53 54 4d 49 41 20 52 31 32 21 2c 7b 52 30 2d | STMIA R12!,{R0-| 00000260 52 37 7d 0d 01 54 17 20 53 54 4d 49 41 20 52 31 |R7}..T. STMIA R1| 00000270 32 21 2c 7b 52 30 2d 52 37 7d 0d 01 5e 17 20 53 |2!,{R0-R7}..^. S| 00000280 54 4d 49 41 20 52 31 32 21 2c 7b 52 30 2d 52 37 |TMIA R12!,{R0-R7| 00000290 7d 0d 01 68 17 20 53 54 4d 49 41 20 52 31 32 21 |}..h. STMIA R12!| 000002a0 2c 7b 52 30 2d 52 37 7d 0d 01 72 13 20 41 44 44 |,{R0-R7}..r. ADD| 000002b0 20 52 31 31 2c 52 31 31 2c 23 31 0d 01 7c 17 20 | R11,R11,#1..|. | 000002c0 43 4d 50 20 52 31 31 2c 23 34 2a 31 30 32 34 2f |CMP R11,#4*1024/| 000002d0 31 36 0d 01 86 0e 20 42 4c 54 20 6c 6f 6f 70 30 |16.... BLT loop0| 000002e0 0d 01 90 18 20 4c 44 52 20 52 31 32 2c 73 63 72 |.... LDR R12,scr| 000002f0 65 65 6e 73 74 61 72 74 0d 01 9a 17 20 4c 44 52 |eenstart.... LDR| 00000300 20 52 31 31 2c 62 6c 6f 63 6b 73 74 61 72 74 0d | R11,blockstart.| 00000310 01 a4 0f 20 4d 4f 56 20 52 31 30 2c 23 30 0d 01 |... MOV R10,#0..| 00000320 ae 0e 20 4d 4f 56 20 52 39 2c 23 30 0d 01 b8 0b |.. MOV R9,#0....| 00000330 20 2e 6c 6f 6f 70 31 0d 01 c2 12 20 4c 44 52 42 | .loop1.... LDRB| 00000340 20 52 30 2c 5b 52 31 32 5d 0d 01 cc 10 20 43 4d | R0,[R12].... CM| 00000350 50 20 52 30 2c 23 32 35 35 0d 01 d6 14 20 53 54 |P R0,#255.... ST| 00000360 52 45 51 42 20 52 30 2c 5b 52 31 31 5d 0d 01 e0 |REQB R0,[R11]...| 00000370 15 20 41 44 44 20 52 31 32 2c 52 31 32 2c 23 36 |. ADD R12,R12,#6| 00000380 34 30 0d 01 ea 2e 20 4c 44 52 42 20 52 30 2c 5b |40.... LDRB R0,[| 00000390 52 31 32 5d 3a 43 4d 50 20 52 30 2c 23 32 35 35 |R12]:CMP R0,#255| 000003a0 3a 53 54 52 45 51 42 20 52 30 2c 5b 52 31 31 5d |:STREQB R0,[R11]| 000003b0 0d 01 f4 13 20 41 44 44 20 52 31 32 2c 52 31 32 |.... ADD R12,R12| 000003c0 2c 23 31 0d 01 fe 2e 20 4c 44 52 42 20 52 30 2c |,#1.... LDRB R0,| 000003d0 5b 52 31 32 5d 3a 43 4d 50 20 52 30 2c 23 32 35 |[R12]:CMP R0,#25| 000003e0 35 3a 53 54 52 45 51 42 20 52 30 2c 5b 52 31 31 |5:STREQB R0,[R11| 000003f0 5d 0d 02 08 15 20 53 55 42 20 52 31 32 2c 52 31 |].... SUB R12,R1| 00000400 32 2c 23 36 34 30 0d 02 12 2e 20 4c 44 52 42 20 |2,#640.... LDRB | 00000410 52 30 2c 5b 52 31 32 5d 3a 43 4d 50 20 52 30 2c |R0,[R12]:CMP R0,| 00000420 23 32 35 35 3a 53 54 52 45 51 42 20 52 30 2c 5b |#255:STREQB R0,[| 00000430 52 31 31 5d 0d 02 1c 13 20 41 44 44 20 52 31 32 |R11].... ADD R12| 00000440 2c 52 31 32 2c 23 31 0d 02 26 13 20 41 44 44 20 |,R12,#1..&. ADD | 00000450 52 31 31 2c 52 31 31 2c 23 31 0d 02 30 13 20 41 |R11,R11,#1..0. A| 00000460 44 44 20 52 31 30 2c 52 31 30 2c 23 31 0d 02 3a |DD R10,R10,#1..:| 00000470 11 20 43 4d 50 20 52 31 30 2c 23 32 35 36 0d 02 |. CMP R10,#256..| 00000480 44 0e 20 42 4c 54 20 6c 6f 6f 70 31 0d 02 4e 0f |D. BLT loop1..N.| 00000490 20 4d 4f 56 20 52 31 30 2c 23 30 0d 02 58 1b 20 | MOV R10,#0..X. | 000004a0 41 44 44 20 52 31 32 2c 52 31 32 2c 23 28 31 32 |ADD R12,R12,#(12| 000004b0 38 2b 36 34 30 29 0d 02 62 11 20 41 44 44 20 52 |8+640)..b. ADD R| 000004c0 39 2c 52 39 2c 23 31 0d 02 6c 10 20 43 4d 50 20 |9,R9,#1..l. CMP | 000004d0 52 39 2c 23 32 35 36 0d 02 76 0e 20 42 4c 54 20 |R9,#256..v. BLT | 000004e0 6c 6f 6f 70 31 0d 02 80 1b 20 4c 44 4d 46 44 20 |loop1.... LDMFD | 000004f0 52 31 33 21 2c 7b 52 30 2d 52 31 32 2c 50 43 7d |R13!,{R0-R12,PC}| 00000500 0d 02 8a 04 0d 02 94 0b 20 2e 63 6f 70 79 30 0d |........ .copy0.| 00000510 02 9e 1c 20 53 54 4d 46 44 20 52 31 33 21 2c 7b |... STMFD R13!,{| 00000520 52 30 2d 52 31 32 2c 52 31 34 7d 0d 02 a8 16 20 |R0-R12,R14}.... | 00000530 4c 44 52 20 52 31 32 2c 63 6f 70 79 73 74 61 72 |LDR R12,copystar| 00000540 74 0d 02 b2 17 20 4c 44 52 20 52 31 31 2c 62 6c |t.... LDR R11,bl| 00000550 6f 63 6b 73 74 61 72 74 0d 02 bc 0f 20 4d 4f 56 |ockstart.... MOV| 00000560 20 52 31 30 2c 23 30 0d 02 c6 0b 20 2e 6c 6f 6f | R10,#0.... .loo| 00000570 70 32 0d 02 d0 11 20 5d 3a e3 20 58 25 3d 30 20 |p2.... ]:. X%=0 | 00000580 b8 20 37 0d 02 da 0e 20 5b 4f 50 54 20 70 61 73 |. 7.... [OPT pas| 00000590 73 0d 02 e4 17 20 4c 44 4d 49 41 20 52 31 31 21 |s.... LDMIA R11!| 000005a0 2c 7b 52 30 2d 52 37 7d 0d 02 ee 17 20 53 54 4d |,{R0-R7}.... STM| 000005b0 49 41 20 52 31 32 21 2c 7b 52 30 2d 52 37 7d 0d |IA R12!,{R0-R7}.| 000005c0 02 f8 12 20 5d 3a ed 3a 5b 4f 50 54 20 70 61 73 |... ]:.:[OPT pas| 000005d0 73 0d 03 02 13 20 41 44 44 20 52 31 30 2c 52 31 |s.... ADD R10,R1| 000005e0 30 2c 23 31 0d 03 0c 15 20 41 44 44 20 52 31 32 |0,#1.... ADD R12| 000005f0 2c 52 31 32 2c 23 33 38 34 0d 03 16 11 20 43 4d |,R12,#384.... CM| 00000600 50 20 52 31 30 2c 23 32 35 36 0d 03 20 0e 20 42 |P R10,#256.. . B| 00000610 4c 54 20 6c 6f 6f 70 32 0d 03 2a 1b 20 4c 44 4d |LT loop2..*. LDM| 00000620 46 44 20 52 31 33 21 2c 7b 52 30 2d 52 31 32 2c |FD R13!,{R0-R12,| 00000630 50 43 7d 0d 03 34 04 0d 03 3e 0b 20 2e 63 6f 70 |PC}..4...>. .cop| 00000640 79 31 0d 03 48 1c 20 53 54 4d 46 44 20 52 31 33 |y1..H. STMFD R13| 00000650 21 2c 7b 52 30 2d 52 31 32 2c 52 31 34 7d 0d 03 |!,{R0-R12,R14}..| 00000660 52 16 20 4c 44 52 20 52 31 32 2c 63 6f 70 79 73 |R. LDR R12,copys| 00000670 74 61 72 74 0d 03 5c 17 20 4c 44 52 20 52 31 31 |tart..\. LDR R11| 00000680 2c 62 6c 6f 63 6b 73 74 61 72 74 0d 03 66 19 20 |,blockstart..f. | 00000690 41 44 44 20 52 31 32 2c 52 31 32 2c 23 36 34 30 |ADD R12,R12,#640| 000006a0 2a 32 35 36 0d 03 70 15 20 53 55 42 20 52 31 32 |*256..p. SUB R12| 000006b0 2c 52 31 32 2c 23 36 34 30 0d 03 7a 0f 20 4d 4f |,R12,#640..z. MO| 000006c0 56 20 52 31 30 2c 23 30 0d 03 84 0e 20 4d 4f 56 |V R10,#0.... MOV| 000006d0 20 52 39 2c 23 30 0d 03 8e 0b 20 2e 6c 6f 6f 70 | R9,#0.... .loop| 000006e0 34 0d 03 98 12 20 4c 44 52 42 20 52 30 2c 5b 52 |4.... LDRB R0,[R| 000006f0 31 31 5d 0d 03 a2 12 20 53 54 52 42 20 52 30 2c |11].... STRB R0,| 00000700 5b 52 31 32 5d 0d 03 ac 15 20 53 55 42 20 52 31 |[R12].... SUB R1| 00000710 32 2c 52 31 32 2c 23 36 34 30 0d 03 b6 13 20 41 |2,R12,#640.... A| 00000720 44 44 20 52 31 31 2c 52 31 31 2c 23 31 0d 03 c0 |DD R11,R11,#1...| 00000730 13 20 41 44 44 20 52 31 30 2c 52 31 30 2c 23 31 |. ADD R10,R10,#1| 00000740 0d 03 ca 11 20 43 4d 50 20 52 31 30 2c 23 32 35 |.... CMP R10,#25| 00000750 36 0d 03 d4 0e 20 42 4c 54 20 6c 6f 6f 70 34 0d |6.... BLT loop4.| 00000760 03 de 19 20 41 44 44 20 52 31 32 2c 52 31 32 2c |... ADD R12,R12,| 00000770 23 36 34 30 2a 32 35 36 0d 03 e8 13 20 41 44 44 |#640*256.... ADD| 00000780 20 52 31 32 2c 52 31 32 2c 23 31 0d 03 f2 0f 20 | R12,R12,#1.... | 00000790 4d 4f 56 20 52 31 30 2c 23 30 0d 03 fc 11 20 41 |MOV R10,#0.... A| 000007a0 44 44 20 52 39 2c 52 39 2c 23 31 0d 04 06 10 20 |DD R9,R9,#1.... | 000007b0 43 4d 50 20 52 39 2c 23 32 35 36 0d 04 10 0e 20 |CMP R9,#256.... | 000007c0 42 4c 54 20 6c 6f 6f 70 34 0d 04 1a 1b 20 4c 44 |BLT loop4.... LD| 000007d0 4d 46 44 20 52 31 33 21 2c 7b 52 30 2d 52 31 32 |MFD R13!,{R0-R12| 000007e0 2c 50 43 7d 0d 04 24 04 0d 04 2e 0b 20 2e 63 6f |,PC}..$..... .co| 000007f0 70 79 35 0d 04 38 1c 20 53 54 4d 46 44 20 52 31 |py5..8. STMFD R1| 00000800 33 21 2c 7b 52 30 2d 52 31 32 2c 52 31 34 7d 0d |3!,{R0-R12,R14}.| 00000810 04 42 16 20 4c 44 52 20 52 31 32 2c 63 6f 70 79 |.B. LDR R12,copy| 00000820 73 74 61 72 74 0d 04 4c 17 20 4c 44 52 20 52 31 |start..L. LDR R1| 00000830 31 2c 62 6c 6f 63 6b 73 74 61 72 74 0d 04 56 15 |1,blockstart..V.| 00000840 20 41 44 44 20 52 31 32 2c 52 31 32 2c 23 32 35 | ADD R12,R12,#25| 00000850 35 0d 04 60 19 20 4d 4f 56 20 52 39 2c 23 30 3a |5..`. MOV R9,#0:| 00000860 4d 4f 56 20 52 31 30 2c 23 30 0d 04 6a 0b 20 2e |MOV R10,#0..j. .| 00000870 6c 6f 6f 70 37 0d 04 74 20 20 4c 44 52 42 20 52 |loop7..t LDRB R| 00000880 30 2c 5b 52 31 31 5d 3a 53 54 52 42 20 52 30 2c |0,[R11]:STRB R0,| 00000890 5b 52 31 32 5d 0d 04 7e 13 20 53 55 42 20 52 31 |[R12]..~. SUB R1| 000008a0 32 2c 52 31 32 2c 23 31 0d 04 88 38 41 44 44 20 |2,R12,#1...8ADD | 000008b0 52 31 31 2c 52 31 31 2c 23 31 3a 41 44 44 20 52 |R11,R11,#1:ADD R| 000008c0 31 30 2c 52 31 30 2c 23 31 3a 43 4d 50 20 52 31 |10,R10,#1:CMP R1| 000008d0 30 2c 23 32 35 36 3a 42 4c 54 20 6c 6f 6f 70 37 |0,#256:BLT loop7| 000008e0 0d 04 92 15 20 41 44 44 20 52 31 32 2c 52 31 32 |.... ADD R12,R12| 000008f0 2c 23 32 35 36 0d 04 9c 15 20 41 44 44 20 52 31 |,#256.... ADD R1| 00000900 32 2c 52 31 32 2c 23 36 34 30 0d 04 a6 0f 20 4d |2,R12,#640.... M| 00000910 4f 56 20 52 31 30 2c 23 30 0d 04 b0 11 20 41 44 |OV R10,#0.... AD| 00000920 44 20 52 39 2c 52 39 2c 23 31 0d 04 ba 10 20 43 |D R9,R9,#1.... C| 00000930 4d 50 20 52 39 2c 23 32 35 36 0d 04 c4 0e 20 42 |MP R9,#256.... B| 00000940 4c 54 20 6c 6f 6f 70 37 0d 04 ce 1b 20 4c 44 4d |LT loop7.... LDM| 00000950 46 44 20 52 31 33 21 2c 7b 52 30 2d 52 31 32 2c |FD R13!,{R0-R12,| 00000960 50 43 7d 0d 04 d8 04 0d 04 e2 0b 20 2e 63 6f 70 |PC}........ .cop| 00000970 79 36 0d 04 ec 1c 20 53 54 4d 46 44 20 52 31 33 |y6.... STMFD R13| 00000980 21 2c 7b 52 30 2d 52 31 32 2c 52 31 34 7d 0d 04 |!,{R0-R12,R14}..| 00000990 f6 16 20 4c 44 52 20 52 31 32 2c 63 6f 70 79 73 |.. LDR R12,copys| 000009a0 74 61 72 74 0d 05 00 17 20 4c 44 52 20 52 31 31 |tart.... LDR R11| 000009b0 2c 62 6c 6f 63 6b 73 74 61 72 74 0d 05 0a 19 20 |,blockstart.... | 000009c0 4d 4f 56 20 52 39 2c 23 30 3a 4d 4f 56 20 52 31 |MOV R9,#0:MOV R1| 000009d0 30 2c 23 30 0d 05 14 15 20 41 44 44 20 52 31 32 |0,#0.... ADD R12| 000009e0 2c 52 31 32 2c 23 32 35 35 0d 05 1e 19 20 41 44 |,R12,#255.... AD| 000009f0 44 20 52 31 32 2c 52 31 32 2c 23 36 34 30 2a 32 |D R12,R12,#640*2| 00000a00 35 36 0d 05 28 15 20 53 55 42 20 52 31 32 2c 52 |56..(. SUB R12,R| 00000a10 31 32 2c 23 36 34 30 0d 05 32 0b 20 2e 6c 6f 6f |12,#640..2. .loo| 00000a20 70 38 0d 05 3c 20 20 4c 44 52 42 20 52 30 2c 5b |p8..< LDRB R0,[| 00000a30 52 31 31 5d 3a 53 54 52 42 20 52 30 2c 5b 52 31 |R11]:STRB R0,[R1| 00000a40 32 5d 0d 05 46 15 20 53 55 42 20 52 31 32 2c 52 |2]..F. SUB R12,R| 00000a50 31 32 2c 23 36 34 30 0d 05 50 39 20 41 44 44 20 |12,#640..P9 ADD | 00000a60 52 31 31 2c 52 31 31 2c 23 31 3a 41 44 44 20 52 |R11,R11,#1:ADD R| 00000a70 31 30 2c 52 31 30 2c 23 31 3a 43 4d 50 20 52 31 |10,R10,#1:CMP R1| 00000a80 30 2c 23 32 35 36 3a 42 4c 54 20 6c 6f 6f 70 38 |0,#256:BLT loop8| 00000a90 0d 05 5a 19 20 41 44 44 20 52 31 32 2c 52 31 32 |..Z. ADD R12,R12| 00000aa0 2c 23 36 34 30 2a 32 35 36 0d 05 64 13 20 53 55 |,#640*256..d. SU| 00000ab0 42 20 52 31 32 2c 52 31 32 2c 23 31 0d 05 6e 0f |B R12,R12,#1..n.| 00000ac0 20 4d 4f 56 20 52 31 30 2c 23 30 0d 05 78 11 20 | MOV R10,#0..x. | 00000ad0 41 44 44 20 52 39 2c 52 39 2c 23 31 0d 05 82 10 |ADD R9,R9,#1....| 00000ae0 20 43 4d 50 20 52 39 2c 23 32 35 36 0d 05 8c 0e | CMP R9,#256....| 00000af0 20 42 4c 54 20 6c 6f 6f 70 38 0d 05 96 1b 20 4c | BLT loop8.... L| 00000b00 44 4d 46 44 20 52 31 33 21 2c 7b 52 30 2d 52 31 |DMFD R13!,{R0-R1| 00000b10 32 2c 50 43 7d 0d 05 a0 04 0d 05 aa 0b 20 2e 63 |2,PC}........ .c| 00000b20 6f 70 79 37 0d 05 b4 1c 20 53 54 4d 46 44 20 52 |opy7.... STMFD R| 00000b30 31 33 21 2c 7b 52 30 2d 52 31 32 2c 52 31 34 7d |13!,{R0-R12,R14}| 00000b40 0d 05 be 16 20 4c 44 52 20 52 31 32 2c 63 6f 70 |.... LDR R12,cop| 00000b50 79 73 74 61 72 74 0d 05 c8 17 20 4c 44 52 20 52 |ystart.... LDR R| 00000b60 31 31 2c 62 6c 6f 63 6b 73 74 61 72 74 0d 05 d2 |11,blockstart...| 00000b70 19 20 4d 4f 56 20 52 39 2c 23 30 3a 4d 4f 56 20 |. MOV R9,#0:MOV | 00000b80 52 31 30 2c 23 30 0d 05 dc 0b 20 2e 6c 6f 6f 70 |R10,#0.... .loop| 00000b90 39 0d 05 e6 20 20 4c 44 52 42 20 52 30 2c 5b 52 |9... LDRB R0,[R| 00000ba0 31 31 5d 3a 53 54 52 42 20 52 30 2c 5b 52 31 32 |11]:STRB R0,[R12| 00000bb0 5d 0d 05 f0 15 20 41 44 44 20 52 31 32 2c 52 31 |].... ADD R12,R1| 00000bc0 32 2c 23 36 34 30 0d 05 fa 39 20 41 44 44 20 52 |2,#640...9 ADD R| 00000bd0 31 31 2c 52 31 31 2c 23 31 3a 41 44 44 20 52 31 |11,R11,#1:ADD R1| 00000be0 30 2c 52 31 30 2c 23 31 3a 43 4d 50 20 52 31 30 |0,R10,#1:CMP R10| 00000bf0 2c 23 32 35 36 3a 42 4c 54 20 6c 6f 6f 70 39 0d |,#256:BLT loop9.| 00000c00 06 04 19 20 53 55 42 20 52 31 32 2c 52 31 32 2c |... SUB R12,R12,| 00000c10 23 36 34 30 2a 32 35 36 0d 06 0e 13 20 41 44 44 |#640*256.... ADD| 00000c20 20 52 31 32 2c 52 31 32 2c 23 31 0d 06 18 28 20 | R12,R12,#1...( | 00000c30 4d 4f 56 20 52 31 30 2c 23 30 3a 41 44 44 20 52 |MOV R10,#0:ADD R| 00000c40 39 2c 52 39 2c 23 31 3a 43 4d 50 20 52 39 2c 23 |9,R9,#1:CMP R9,#| 00000c50 32 35 36 0d 06 22 0e 20 42 4c 54 20 6c 6f 6f 70 |256..". BLT loop| 00000c60 39 0d 06 2c 1b 20 4c 44 4d 46 44 20 52 31 33 21 |9..,. LDMFD R13!| 00000c70 2c 7b 52 30 2d 52 31 32 2c 50 43 7d 0d 06 36 04 |,{R0-R12,PC}..6.| 00000c80 0d 06 40 0b 20 2e 63 6f 70 79 33 0d 06 4a 1c 20 |..@. .copy3..J. | 00000c90 53 54 4d 46 44 20 52 31 33 21 2c 7b 52 30 2d 52 |STMFD R13!,{R0-R| 00000ca0 31 32 2c 52 31 34 7d 0d 06 54 16 20 4c 44 52 20 |12,R14}..T. LDR | 00000cb0 52 31 32 2c 63 6f 70 79 73 74 61 72 74 0d 06 5e |R12,copystart..^| 00000cc0 17 20 4c 44 52 20 52 31 31 2c 62 6c 6f 63 6b 73 |. LDR R11,blocks| 00000cd0 74 61 72 74 0d 06 68 15 20 41 44 44 20 52 31 32 |tart..h. ADD R12| 00000ce0 2c 52 31 32 2c 23 32 35 35 0d 06 72 19 20 4d 4f |,R12,#255..r. MO| 00000cf0 56 20 52 31 30 2c 23 30 3a 4d 4f 56 20 52 39 2c |V R10,#0:MOV R9,| 00000d00 23 30 0d 06 7c 0b 20 2e 6c 6f 6f 70 36 0d 06 86 |#0..|. .loop6...| 00000d10 20 20 4c 44 52 42 20 52 30 2c 5b 52 31 31 5d 3a | LDRB R0,[R11]:| 00000d20 53 54 52 42 20 52 30 2c 5b 52 31 32 5d 0d 06 90 |STRB R0,[R12]...| 00000d30 15 20 41 44 44 20 52 31 32 2c 52 31 32 2c 23 36 |. ADD R12,R12,#6| 00000d40 34 30 0d 06 9a 39 20 41 44 44 20 52 31 31 2c 52 |40...9 ADD R11,R| 00000d50 31 31 2c 23 31 3a 41 44 44 20 52 31 30 2c 52 31 |11,#1:ADD R10,R1| 00000d60 30 2c 23 31 3a 43 4d 50 20 52 31 30 2c 23 32 35 |0,#1:CMP R10,#25| 00000d70 36 3a 42 4c 54 20 6c 6f 6f 70 36 0d 06 a4 19 20 |6:BLT loop6.... | 00000d80 53 55 42 20 52 31 32 2c 52 31 32 2c 23 36 34 30 |SUB R12,R12,#640| 00000d90 2a 32 35 36 0d 06 ae 13 20 53 55 42 20 52 31 32 |*256.... SUB R12| 00000da0 2c 52 31 32 2c 23 31 0d 06 b8 0f 20 4d 4f 56 20 |,R12,#1.... MOV | 00000db0 52 31 30 2c 23 30 0d 06 c2 1d 20 41 44 44 20 52 |R10,#0.... ADD R| 00000dc0 39 2c 52 39 2c 23 31 3a 43 4d 50 20 52 39 2c 23 |9,R9,#1:CMP R9,#| 00000dd0 32 35 36 0d 06 cc 0e 20 42 4c 54 20 6c 6f 6f 70 |256.... BLT loop| 00000de0 36 0d 06 d6 1b 20 4c 44 4d 46 44 20 52 31 33 21 |6.... LDMFD R13!| 00000df0 2c 7b 52 30 2d 52 31 32 2c 50 43 7d 0d 06 e0 04 |,{R0-R12,PC}....| 00000e00 0d 06 ea 0b 20 2e 63 6f 70 79 32 0d 06 f4 1c 20 |.... .copy2.... | 00000e10 53 54 4d 46 44 20 52 31 33 21 2c 7b 52 30 2d 52 |STMFD R13!,{R0-R| 00000e20 31 32 2c 52 31 34 7d 0d 06 fe 16 20 4c 44 52 20 |12,R14}.... LDR | 00000e30 52 31 32 2c 63 6f 70 79 73 74 61 72 74 0d 07 08 |R12,copystart...| 00000e40 17 20 4c 44 52 20 52 31 31 2c 62 6c 6f 63 6b 73 |. LDR R11,blocks| 00000e50 74 61 72 74 0d 07 12 19 20 41 44 44 20 52 31 32 |tart.... ADD R12| 00000e60 2c 52 31 32 2c 23 36 34 30 2a 32 35 36 0d 07 1c |,R12,#640*256...| 00000e70 15 20 53 55 42 20 52 31 32 2c 52 31 32 2c 23 36 |. SUB R12,R12,#6| 00000e80 34 30 0d 07 26 15 20 41 44 44 20 52 31 32 2c 52 |40..&. ADD R12,R| 00000e90 31 32 2c 23 32 35 35 0d 07 30 19 20 4d 4f 56 20 |12,#255..0. MOV | 00000ea0 52 31 30 2c 23 30 3a 4d 4f 56 20 52 39 2c 23 30 |R10,#0:MOV R9,#0| 00000eb0 0d 07 3a 0b 20 2e 6c 6f 6f 70 35 0d 07 44 12 20 |..:. .loop5..D. | 00000ec0 4c 44 52 42 20 52 30 2c 5b 52 31 31 5d 0d 07 4e |LDRB R0,[R11]..N| 00000ed0 12 20 53 54 52 42 20 52 30 2c 5b 52 31 32 5d 0d |. STRB R0,[R12].| 00000ee0 07 58 13 20 53 55 42 20 52 31 32 2c 52 31 32 2c |.X. SUB R12,R12,| 00000ef0 23 31 0d 07 62 13 20 41 44 44 20 52 31 31 2c 52 |#1..b. ADD R11,R| 00000f00 31 31 2c 23 31 0d 07 6c 13 20 41 44 44 20 52 31 |11,#1..l. ADD R1| 00000f10 30 2c 52 31 30 2c 23 31 0d 07 76 11 20 43 4d 50 |0,R10,#1..v. CMP| 00000f20 20 52 31 30 2c 23 32 35 36 0d 07 80 0e 20 42 4c | R10,#256.... BL| 00000f30 54 20 6c 6f 6f 70 35 0d 07 8a 15 20 41 44 44 20 |T loop5.... ADD | 00000f40 52 31 32 2c 52 31 32 2c 23 32 35 36 0d 07 94 15 |R12,R12,#256....| 00000f50 20 53 55 42 20 52 31 32 2c 52 31 32 2c 23 36 34 | SUB R12,R12,#64| 00000f60 30 0d 07 9e 0f 20 4d 4f 56 20 52 31 30 2c 23 30 |0.... MOV R10,#0| 00000f70 0d 07 a8 11 20 41 44 44 20 52 39 2c 52 39 2c 23 |.... ADD R9,R9,#| 00000f80 31 0d 07 b2 10 20 43 4d 50 20 52 39 2c 23 32 35 |1.... CMP R9,#25| 00000f90 36 0d 07 bc 0e 20 42 4c 54 20 6c 6f 6f 70 35 0d |6.... BLT loop5.| 00000fa0 07 c6 1b 20 4c 44 4d 46 44 20 52 31 33 21 2c 7b |... LDMFD R13!,{| 00000fb0 52 30 2d 52 31 32 2c 50 43 7d 0d 07 d0 04 0d 07 |R0-R12,PC}......| 00000fc0 da 0b 20 2e 63 6f 70 79 34 0d 07 e4 1c 20 53 54 |.. .copy4.... ST| 00000fd0 4d 46 44 20 52 31 33 21 2c 7b 52 30 2d 52 31 32 |MFD R13!,{R0-R12| 00000fe0 2c 52 31 34 7d 0d 07 ee 16 20 4c 44 52 20 52 31 |,R14}.... LDR R1| 00000ff0 32 2c 63 6f 70 79 73 74 61 72 74 0d 07 f8 17 20 |2,copystart.... | 00001000 4c 44 52 20 52 31 31 2c 62 6c 6f 63 6b 73 74 61 |LDR R11,blocksta| 00001010 72 74 0d 08 02 19 20 41 44 44 20 52 31 32 2c 52 |rt.... ADD R12,R| 00001020 31 32 2c 23 36 34 30 2a 32 35 36 0d 08 0c 15 20 |12,#640*256.... | 00001030 53 55 42 20 52 31 32 2c 52 31 32 2c 23 36 34 30 |SUB R12,R12,#640| 00001040 0d 08 16 0b 20 2e 6c 6f 6f 70 33 0d 08 20 11 20 |.... .loop3.. . | 00001050 5d 3a e3 20 58 25 3d 30 20 b8 20 37 0d 08 2a 0e |]:. X%=0 . 7..*.| 00001060 20 5b 4f 50 54 20 70 61 73 73 0d 08 34 2a 20 4c | [OPT pass..4* L| 00001070 44 4d 49 41 20 52 31 31 21 2c 7b 52 30 2d 52 37 |DMIA R11!,{R0-R7| 00001080 7d 3a 53 54 4d 49 41 20 52 31 32 21 2c 7b 52 30 |}:STMIA R12!,{R0| 00001090 2d 52 37 7d 0d 08 3e 12 20 5d 3a ed 3a 5b 4f 50 |-R7}..>. ]:.:[OP| 000010a0 54 20 70 61 73 73 0d 08 48 13 20 41 44 44 20 52 |T pass..H. ADD R| 000010b0 31 30 2c 52 31 30 2c 23 31 0d 08 52 1e 20 53 55 |10,R10,#1..R. SU| 000010c0 42 20 52 31 32 2c 52 31 32 2c 23 28 31 32 38 30 |B R12,R12,#(1280| 000010d0 2b 35 31 32 29 2f 32 0d 08 5c 11 20 43 4d 50 20 |+512)/2..\. CMP | 000010e0 52 31 30 2c 23 32 35 36 0d 08 66 0e 20 42 4c 54 |R10,#256..f. BLT| 000010f0 20 6c 6f 6f 70 33 0d 08 70 1b 20 4c 44 4d 46 44 | loop3..p. LDMFD| 00001100 20 52 31 33 21 2c 7b 52 30 2d 52 31 32 2c 50 43 | R13!,{R0-R12,PC| 00001110 7d 0d 08 7a 04 0d 08 84 1c 20 2e 73 63 72 65 65 |}..z..... .scree| 00001120 6e 73 74 61 72 74 3a 45 51 55 44 20 21 76 61 72 |nstart:EQUD !var| 00001130 73 0d 08 8e 1a 20 2e 63 6f 70 79 73 74 61 72 74 |s.... .copystart| 00001140 3a 45 51 55 44 20 21 76 61 72 73 0d 08 98 1b 20 |:EQUD !vars.... | 00001150 2e 62 6c 6f 63 6b 73 74 61 72 74 3a 45 51 55 44 |.blockstart:EQUD| 00001160 20 62 6c 6f 63 6b 0d 08 a2 08 20 5d 3a ed 0d 08 | block.... ]:...| 00001170 ac 04 0d 08 b6 06 20 f5 0d 08 c0 08 20 eb 20 30 |...... ..... . 0| 00001180 0d 08 ca 06 20 f7 0d 08 d4 38 20 f1 8a 31 35 29 |.... ....8 ..15)| 00001190 22 4d 43 52 4d 20 46 6f 72 20 54 68 65 20 53 65 |"MCRM For The Se| 000011a0 72 70 69 6e 73 6b 79 20 47 61 73 6b 65 74 20 41 |rpinsky Gasket A| 000011b0 6e 64 20 52 65 6c 61 74 69 76 65 73 2e 22 0d 08 |nd Relatives."..| 000011c0 de 13 20 c8 93 20 34 30 30 2c 34 30 30 2c 32 30 |.. .. 400,400,20| 000011d0 30 0d 08 e8 13 20 c8 93 20 34 30 30 2c 32 30 30 |0.... .. 400,200| 000011e0 2c 32 30 30 0d 08 f2 13 20 c8 93 20 36 30 30 2c |,200.... .. 600,| 000011f0 32 30 30 2c 32 30 30 0d 08 fc 18 20 e3 20 58 25 |200,200.... . X%| 00001200 3d 30 20 b8 20 31 32 38 30 20 88 20 31 36 30 0d |=0 . 1280 . 160.| 00001210 09 06 12 20 c8 93 20 58 25 2c 38 30 30 2c 31 32 |... .. X%,800,12| 00001220 38 0d 09 10 06 20 ed 0d 09 1a 0f 20 e3 20 58 25 |8.... ..... . X%| 00001230 3d 30 20 b8 20 37 0d 09 24 14 20 f1 8a 58 25 2a |=0 . 7..$. ..X%*| 00001240 31 30 2b 34 2c 38 29 3b 58 25 0d 09 2e 18 20 f3 |10+4,8);X%.... .| 00001250 20 58 31 2c 59 31 2c 58 32 2c 59 32 2c 58 33 2c | X1,Y1,X2,Y2,X3,| 00001260 59 33 0d 09 38 12 20 86 20 58 31 2c 59 31 2c 58 |Y3..8. . X1,Y1,X| 00001270 32 2c 59 32 0d 09 42 0c 20 df 20 58 33 2c 59 33 |2,Y2..B. . X3,Y3| 00001280 0d 09 4c 06 20 ed 0d 09 56 04 0d 09 60 2d 20 f1 |..L. ...V...`- .| 00001290 8a 32 33 2c 31 31 29 22 50 6c 65 61 73 65 20 69 |.23,11)"Please i| 000012a0 6e 70 75 74 20 74 72 61 6e 73 66 6f 72 6d 61 74 |nput transformat| 000012b0 69 6f 6e 73 3a 2d 22 0d 09 6a 21 20 e8 8a 33 30 |ions:-"..j! ..30| 000012c0 2c 31 36 29 2c 74 72 61 6e 73 66 6f 72 6d 61 74 |,16),transformat| 000012d0 69 6f 6e 73 25 28 31 29 0d 09 74 21 20 e8 8a 33 |ions%(1)..t! ..3| 000012e0 30 2c 32 32 29 2c 74 72 61 6e 73 66 6f 72 6d 61 |0,22),transforma| 000012f0 74 69 6f 6e 73 25 28 32 29 0d 09 7e 21 20 e8 8a |tions%(2)..~! ..| 00001300 34 33 2c 32 32 29 2c 74 72 61 6e 73 66 6f 72 6d |43,22),transform| 00001310 61 74 69 6f 6e 73 25 28 33 29 0d 09 88 30 20 74 |ations%(3)...0 t| 00001320 72 61 6e 73 66 6f 72 6d 61 74 69 6f 6e 73 25 28 |ransformations%(| 00001330 31 29 3d 74 72 61 6e 73 66 6f 72 6d 61 74 69 6f |1)=transformatio| 00001340 6e 73 25 28 31 29 20 80 20 37 0d 09 92 30 20 74 |ns%(1) . 7...0 t| 00001350 72 61 6e 73 66 6f 72 6d 61 74 69 6f 6e 73 25 28 |ransformations%(| 00001360 32 29 3d 74 72 61 6e 73 66 6f 72 6d 61 74 69 6f |2)=transformatio| 00001370 6e 73 25 28 32 29 20 80 20 37 0d 09 9c 30 20 74 |ns%(2) . 7...0 t| 00001380 72 61 6e 73 66 6f 72 6d 61 74 69 6f 6e 73 25 28 |ransformations%(| 00001390 33 29 3d 74 72 61 6e 73 66 6f 72 6d 61 74 69 6f |3)=transformatio| 000013a0 6e 73 25 28 33 29 20 80 20 37 0d 09 a6 27 20 f1 |ns%(3) . 7...' .| 000013b0 8a 33 30 2c 31 36 29 3b 74 72 61 6e 73 66 6f 72 |.30,16);transfor| 000013c0 6d 61 74 69 6f 6e 73 25 28 31 29 3b 22 20 20 20 |mations%(1);" | 000013d0 22 0d 09 b0 27 20 f1 8a 33 30 2c 32 32 29 3b 74 |"...' ..30,22);t| 000013e0 72 61 6e 73 66 6f 72 6d 61 74 69 6f 6e 73 25 28 |ransformations%(| 000013f0 32 29 3b 22 20 20 20 22 0d 09 ba 27 20 f1 8a 34 |2);" "...' ..4| 00001400 33 2c 32 32 29 3b 74 72 61 6e 73 66 6f 72 6d 61 |3,22);transforma| 00001410 74 69 6f 6e 73 25 28 33 29 3b 22 20 20 20 22 0d |tions%(3);" ".| 00001420 09 c4 2e 20 f1 8a 32 35 2c 33 30 29 22 28 45 29 |... ..25,30)"(E)| 00001430 71 75 6c 61 74 65 72 61 6c 20 6f 72 20 28 52 29 |qulateral or (R)| 00001440 69 67 68 74 20 61 6e 67 6c 65 64 3f 22 0d 09 ce |ight angled?"...| 00001450 04 0d 09 d8 06 20 87 0d 09 e2 06 20 f5 0d 09 ec |..... ..... ....| 00001460 09 20 4e 24 3d be 0d 09 f6 16 20 fd 20 4e 24 3d |. N$=..... . N$=| 00001470 22 45 22 20 84 20 4e 24 3d 22 52 22 0d 0a 00 04 |"E" . N$="R"....| 00001480 0d 0a 0a 09 20 eb 20 32 31 0d 0a 14 06 20 87 0d |.... . 21.... ..| 00001490 0a 1e 35 20 f4 20 8a 8a 8a 8a 8a 8a 8a 8a 8a 8a |..5 . ..........| 000014a0 20 44 72 61 77 20 53 74 61 72 74 69 6e 67 20 53 | Draw Starting S| 000014b0 68 61 70 65 20 48 65 72 65 20 8a 8a 8a 8a 8a 8a |hape Here ......| 000014c0 8a 8a 8a 8a 0d 0a 28 1b 20 f4 20 4d 75 73 74 20 |......(. . Must | 000014d0 62 65 20 62 72 69 67 68 74 20 77 68 69 74 65 0d |be bright white.| 000014e0 0a 32 10 20 e6 20 36 33 20 c8 9c 20 32 35 35 0d |.2. . 63 .. 255.| 000014f0 0a 3c 16 20 c8 8f 20 c8 90 20 36 34 30 2c 35 31 |.<. .. .. 640,51| 00001500 32 2c 35 31 32 0d 0a 46 35 20 f4 20 8b 8b 8b 8b |2,512..F5 . ....| 00001510 8b 8b 8b 8b 8b 8b 8b 8b 8b 8b 8b 8b 8b 8b 8b 8b |................| * 00001530 8b 8b 8b 8b 8b 8b 8b 8b 8b 8b 0d 0a 50 04 0d 0a |............P...| 00001540 5a 0f 20 e3 20 58 25 3d 30 20 b8 20 38 0d 0a 64 |Z. . X%=0 . 8..d| 00001550 0b 20 d6 20 63 6f 64 65 0d 0a 6e 06 20 db 0d 0a |. . code..n. ...| 00001560 78 15 20 21 63 6f 70 79 73 74 61 72 74 3d 21 76 |x. !copystart=!v| 00001570 61 72 73 0d 0a 82 29 20 e7 20 4e 24 3d 22 45 22 |ars...) . N$="E"| 00001580 20 8c 20 21 63 6f 70 79 73 74 61 72 74 3d 21 63 | . !copystart=!c| 00001590 6f 70 79 73 74 61 72 74 2b 31 32 38 0d 0a 8c 25 |opystart+128...%| 000015a0 20 f2 63 6f 70 79 63 68 6f 6f 73 65 28 74 72 61 | .copychoose(tra| 000015b0 6e 73 66 6f 72 6d 61 74 69 6f 6e 73 25 28 31 29 |nsformations%(1)| 000015c0 29 0d 0a 96 20 20 21 63 6f 70 79 73 74 61 72 74 |)... !copystart| 000015d0 3d 21 76 61 72 73 2b 28 31 36 30 2a 31 30 32 34 |=!vars+(160*1024| 000015e0 29 0d 0a a0 25 20 f2 63 6f 70 79 63 68 6f 6f 73 |)...% .copychoos| 000015f0 65 28 74 72 61 6e 73 66 6f 72 6d 61 74 69 6f 6e |e(transformation| 00001600 73 25 28 32 29 29 0d 0a aa 24 20 21 63 6f 70 79 |s%(2))...$ !copy| 00001610 73 74 61 72 74 3d 21 76 61 72 73 2b 28 31 36 30 |start=!vars+(160| 00001620 2a 31 30 32 34 29 2b 32 35 36 0d 0a b4 25 20 f2 |*1024)+256...% .| 00001630 63 6f 70 79 63 68 6f 6f 73 65 28 74 72 61 6e 73 |copychoose(trans| 00001640 66 6f 72 6d 61 74 69 6f 6e 73 25 28 33 29 29 0d |formations%(3)).| 00001650 0a be 06 20 ed 0d 0a c8 09 20 4e 24 3d be 0d 0a |... ..... N$=...| 00001660 d2 0d 20 fd 20 4e 24 3d 22 51 22 0d 0a dc 06 20 |.. . N$="Q".... | 00001670 e0 0d 0a e6 04 0d 0a f0 15 20 dd f2 63 6f 70 79 |......... ..copy| 00001680 63 68 6f 6f 73 65 28 43 25 29 0d 0a fa 0c 20 c8 |choose(C%).... .| 00001690 8e 20 43 25 20 ca 0d 0b 04 10 20 c9 20 30 3a d6 |. C% ..... . 0:.| 000016a0 20 63 6f 70 79 30 0d 0b 0e 10 20 c9 20 31 3a d6 | copy0.... . 1:.| 000016b0 20 63 6f 70 79 31 0d 0b 18 10 20 c9 20 32 3a d6 | copy1.... . 2:.| 000016c0 20 63 6f 70 79 32 0d 0b 22 10 20 c9 20 33 3a d6 | copy2..". . 3:.| 000016d0 20 63 6f 70 79 33 0d 0b 2c 10 20 c9 20 34 3a d6 | copy3..,. . 4:.| 000016e0 20 63 6f 70 79 34 0d 0b 36 10 20 c9 20 35 3a d6 | copy4..6. . 5:.| 000016f0 20 63 6f 70 79 35 0d 0b 40 10 20 c9 20 36 3a d6 | copy5..@. . 6:.| 00001700 20 63 6f 70 79 36 0d 0b 4a 10 20 c9 20 37 3a d6 | copy6..J. . 7:.| 00001710 20 63 6f 70 79 37 0d 0b 54 06 20 cb 0d 0b 5e 06 | copy7..T. ...^.| 00001720 20 e1 0d 0b 68 04 0d 0b 72 1b 20 dc 20 31 36 2c | ...h...r. . 16,| 00001730 39 31 32 2c 31 36 2c 38 31 36 2c 36 34 2c 38 31 |912,16,816,64,81| 00001740 36 0d 0b 7c 1e 20 dc 20 31 37 36 2c 38 31 36 2c |6..|. . 176,816,| 00001750 32 37 32 2c 38 31 36 2c 32 37 32 2c 38 36 34 0d |272,816,272,864.| 00001760 0b 86 1e 20 dc 20 33 38 34 2c 39 31 32 2c 34 33 |... . 384,912,43| 00001770 32 2c 39 31 32 2c 34 33 32 2c 38 31 36 0d 0b 90 |2,912,432,816...| 00001780 1e 20 dc 20 34 39 36 2c 38 36 34 2c 34 39 36 2c |. . 496,864,496,| 00001790 39 31 32 2c 35 39 32 2c 39 31 32 0d 0b 9a 1e 20 |912,592,912.... | 000017a0 dc 20 36 35 36 2c 38 31 36 2c 36 35 36 2c 39 31 |. 656,816,656,91| 000017b0 32 2c 37 30 34 2c 39 31 32 0d 0b a4 1e 20 dc 20 |2,704,912.... . | 000017c0 38 36 34 2c 38 31 36 2c 39 31 32 2c 38 31 36 2c |864,816,912,816,| 000017d0 39 31 32 2c 39 31 32 0d 0b ae 1f 20 dc 20 39 37 |912,912.... . 97| 000017e0 36 2c 38 36 34 2c 39 37 36 2c 38 31 36 2c 31 30 |6,864,976,816,10| 000017f0 37 32 2c 38 31 36 0d 0b b8 21 20 dc 20 31 31 33 |72,816...! . 113| 00001800 36 2c 39 31 32 2c 31 32 33 32 2c 39 31 32 2c 31 |6,912,1232,912,1| 00001810 32 33 32 2c 38 36 34 0d 0b c2 04 0d 0b cc 0c 20 |232,864........ | 00001820 dd f2 65 72 72 6f 72 0d 0b d6 08 20 eb 20 30 0d |..error.... . 0.| 00001830 0b e0 0f 20 e7 20 9f 3d 31 37 20 8c 20 e0 0d 0b |... . .=17 . ...| 00001840 ea 17 20 f6 3a f1 22 20 61 74 20 6c 69 6e 65 20 |.. .:." at line | 00001850 22 3b 9e 3a e0 0d ff |";.:...| 00001857