Home » Archimedes archive » Acorn User » AU 1995-12 B.adf » Regulars » StarInfo/Patel/TerrART
StarInfo/Patel/TerrART
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-12 B.adf » Regulars |
Filename: | StarInfo/Patel/TerrART |
Read OK: | ✔ |
File size: | 0CBD bytes |
Load address: | 0000 |
Exec address: | 0000 |
File contents
10 REM >TerrART 20 MODE 15:MODE 13:OFF 30 40 DIM CODE% 1000 50 DIM COL% 1000 60 DIM REG% 100 70 DIM ROOM% 81920 80 DIM CO(100) 90 DIM CO1(100) 100 110 DATA 44,208,252,40,192,232,4,24,148,8,132,152,8,128,136 120 DATA 36,80,116,32,72,224,4,14,26,12,144,156,4,48,84,4,56,212 130 140 FOR C=1 TO 33 150 READ B 160 CO(C)=B 170 NEXT C 180 190 FOR C=0 TO 10 200 REPEAT 210 K=(RND(11)-1)*3+1 220 UNTIL CO(K)<>0 230 240 FOR NR=0 TO 2 250 CO1(NR+C*3)=CO(K+NR) 260 CO(K+NR)=0 270 NEXT NR 280 NEXT C 290 300 A=0 310 FOR QW=1 TO 11 320 FOR RE=0 TO 2 330 B=CO1(A) 340 A=A+1 350 FOR C=0 TO 3 360 ?(COL%+ (RE*4+C+QW*24) )=B+C 370 ?(COL%+ (23-RE*4+QW*24-C) )=B+C 380 NEXT C 390 NEXT RE 400 NEXT QW 410 420 last=0 430 cannon=1 440 col=2 450 col1=3 460 tabel=10 470 480 FOR PAS = 0 TO 2 STEP 2 490 P% = CODE% 500 [ OPT PAS 510 520 .start EQUD ROOM% 530 .finish EQUD ROOM% + 81919 540 .COL EQUD COL% 550 .hiddst EQUD FNs 560 .hiddnd EQUD FNs + 81919-320*4 570 .REG EQUD REG% 580 590 .Prog 600 LDR last,finish 610 LDR cannon,start 620 LDR R6,hiddst 630 LDR R7,hiddnd 640 LDR tabel,COL 650 MOV col,#22 660 670 .randloop 680 STR col,[cannon],#4 690 ADD col,col,col,ROR#1 ;random rutine 700 CMP cannon,last 710 BLT randloop 720 730 LDR last,finish 740 SUB last,last,#320 750 LDR cannon,start 760 ADD cannon,cannon,#320 770 ADD cannon,cannon,#1 780 790 LDR R12,REG 800 STMIA R12,{R0-R10} 810 820 .LOOP 830 LDR R12,REG ;load all registers 840 LDMIA R12,{R0-R10} ; 850 860 870 .smoothening 880 SUB cannon,cannon,#1 890 LDRB col,[cannon] 900 ADD cannon,cannon,#2 910 LDRB col1,[cannon] 920 ADD col,col,col1 930 SUB cannon,cannon,#1 940 SUB cannon,cannon,#320 ; * 950 LDRB col1,[cannon] ;Smoothens colourvalues * * 960 ADD col,col,col1 ; * 970 ADD cannon,cannon,#640 980 LDRB col1,[cannon] 990 ADD col,col,col1 1000 1010 MOV col,col,LSR#2 1020 SUB cannon,cannon,#320 1030 STRB col,[cannon],#1 1040 1050 CMP cannon,last 1060 BLT smoothening 1070 1080 LDR cannon,start 1090 ADD cannon,cannon,#640 1100 LDR R6,hiddst 1110 1120 1130 .drawscreen 1140 LDRB col,[cannon],#1 1150 ADD col1,col,tabel ;loads picture from memory, 1160 LDRB col,[col1] ;translates colours according to the 1170 STRB col,[R6],#1 ;tabel, and draws it on screen 1180 CMP R6,R7 1190 BLT drawscreen 1200 1210 LDR cannon,start 1220 ADD cannon,cannon,#320 1230 ADD cannon,cannon,#1 1240 1250 STMIA R12,{R0-R10} ; save all registers and jump to basic 1260 MOV PC,R14 ; 1270 1280 ] 1290 NEXT PAS 1300 1310 CALL Prog 1320 1330 REPEAT 1340 CALL LOOP 1350 UNTIL FALSE 1360 1370DEF FNs 1380LOCAL q 1390DIM q 8 1400!q=148 1410q!4=-1 1420SYS "OS_ReadVduVariables",q,q 1430=!q
� >TerrART � 15:� 13:� ( � CODE% 1000 2 � COL% 1000 < � REG% 100 F � ROOM% 81920 P � CO(100) Z � CO1(100) d n9 � 44,208,252,40,192,232,4,24,148,8,132,152,8,128,136 x> � 36,80,116,32,72,224,4,14,26,12,144,156,4,48,84,4,56,212 � � � C=1 � 33 � � B � CO(C)=B � � C � � � C=0 � 10 � � � K=(�(11)-1)*3+1 � � CO(K)<>0 � � � NR=0 � 2 � CO1(NR+C*3)=CO(K+NR) CO(K+NR)=0 � NR � C " , A=0 6 � QW=1 � 11 @ � RE=0 � 2 J B=CO1(A) T A=A+1 ^ � C=0 � 3 h, ?(COL%+ (RE*4+C+QW*24) )=B+C r, ?(COL%+ (23-RE*4+QW*24-C) )=B+C | � C � � RE � � QW � � last=0 � cannon=1 � col=2 � col1=3 � tabel=10 � � � PAS = 0 � 2 � 2 � P% = CODE% � [ OPT PAS � .start EQUD ROOM% ' .finish EQUD ROOM% + 81919 .COL EQUD COL% & .hiddst EQUD �s 0* .hiddnd EQUD �s + 81919-320*4 : .REG EQUD REG% D N .Prog X LDR last,finish b LDR cannon,start l LDR R6,hiddst v LDR R7,hiddnd � LDR tabel,COL � MOV col,#22 � � .randloop �" STR col,[cannon],#4 �< ADD col,col,col,ROR#1 ;random rutine � CMP cannon,last � BLT randloop � � LDR last,finish �" SUB last,last,#320 � LDR cannon,start �& ADD cannon,cannon,#320 $ ADD cannon,cannon,#1 LDR R12,REG STMIA R12,{R0-R10} * 4 .LOOP >9 LDR R12,REG ;load all registers H% LDMIA R12,{R0-R10} ; R \ f .smoothening p$ SUB cannon,cannon,#1 z LDRB col,[cannon] �$ ADD cannon,cannon,#2 �! LDRB col1,[cannon] � ADD col,col,col1 �$ SUB cannon,cannon,#1 �H SUB cannon,cannon,#320 ; * �J LDRB col1,[cannon] ;Smoothens colourvalues * * �H ADD col,col,col1 ; * �& ADD cannon,cannon,#640 �! LDRB col1,[cannon] � ADD col,col,col1 � �! MOV col,col,LSR#2 �& SUB cannon,cannon,#320 # STRB col,[cannon],#1 CMP cannon,last $ BLT smoothening . 8 LDR cannon,start B& ADD cannon,cannon,#640 L LDR R6,hiddst V ` j .drawscreen t# LDRB col,[cannon],#1 ~A ADD col1,col,tabel ;loads picture from memory, �J LDRB col,[col1] ;translates colours according to the �B STRB col,[R6],#1 ;tabel, and draws it on screen � CMP R6,R7 � BLT drawscreen � � LDR cannon,start �& ADD cannon,cannon,#320 �$ ADD cannon,cannon,#1 � �H STMIA R12,{R0-R10} ; save all registers and jump to basic �% MOV PC,R14 ; � ] � PAS � Prog ( 2 � < � LOOP F � � P Z� �s d� q n � q 8 x !q=148 � q!4=-1 � ș "OS_ReadVduVariables",q,q �=!q �
00000000 0d 00 0a 0f 20 f4 20 3e 54 65 72 72 41 52 54 0d |.... . >TerrART.| 00000010 00 14 10 20 eb 20 31 35 3a eb 20 31 33 3a 87 0d |... . 15:. 13:..| 00000020 00 1e 05 20 0d 00 28 11 20 de 20 43 4f 44 45 25 |... ..(. . CODE%| 00000030 20 31 30 30 30 0d 00 32 11 20 de 20 43 4f 4c 25 | 1000..2. . COL%| 00000040 20 20 31 30 30 30 0d 00 3c 10 20 de 20 52 45 47 | 1000..<. . REG| 00000050 25 20 20 31 30 30 0d 00 46 12 20 de 20 52 4f 4f |% 100..F. . ROO| 00000060 4d 25 20 38 31 39 32 30 0d 00 50 0e 20 de 20 43 |M% 81920..P. . C| 00000070 4f 28 31 30 30 29 0d 00 5a 0f 20 de 20 43 4f 31 |O(100)..Z. . CO1| 00000080 28 31 30 30 29 0d 00 64 04 0d 00 6e 39 20 dc 20 |(100)..d...n9 . | 00000090 34 34 2c 32 30 38 2c 32 35 32 2c 34 30 2c 31 39 |44,208,252,40,19| 000000a0 32 2c 32 33 32 2c 34 2c 32 34 2c 31 34 38 2c 38 |2,232,4,24,148,8| 000000b0 2c 31 33 32 2c 31 35 32 2c 38 2c 31 32 38 2c 31 |,132,152,8,128,1| 000000c0 33 36 0d 00 78 3e 20 dc 20 33 36 2c 38 30 2c 31 |36..x> . 36,80,1| 000000d0 31 36 2c 33 32 2c 37 32 2c 32 32 34 2c 34 2c 31 |16,32,72,224,4,1| 000000e0 34 2c 32 36 2c 31 32 2c 31 34 34 2c 31 35 36 2c |4,26,12,144,156,| 000000f0 34 2c 34 38 2c 38 34 2c 34 2c 35 36 2c 32 31 32 |4,48,84,4,56,212| 00000100 0d 00 82 04 0d 00 8c 0f 20 e3 20 43 3d 31 20 b8 |........ . C=1 .| 00000110 20 33 33 0d 00 96 09 20 20 f3 20 42 0d 00 a0 0d | 33.... . B....| 00000120 20 20 43 4f 28 43 29 3d 42 0d 00 aa 08 20 ed 20 | CO(C)=B.... . | 00000130 43 0d 00 b4 04 0d 00 be 0f 20 e3 20 43 3d 30 20 |C........ . C=0 | 00000140 b8 20 31 30 0d 00 c8 07 20 20 f5 0d 00 d2 16 20 |. 10.... ..... | 00000150 20 20 4b 3d 28 b3 28 31 31 29 2d 31 29 2a 33 2b | K=(.(11)-1)*3+| 00000160 31 0d 00 dc 10 20 20 fd 20 43 4f 28 4b 29 3c 3e |1.... . CO(K)<>| 00000170 30 0d 00 e6 04 0d 00 f0 10 20 20 e3 20 4e 52 3d |0........ . NR=| 00000180 30 20 b8 20 32 0d 00 fa 1c 20 20 20 20 43 4f 31 |0 . 2.... CO1| 00000190 28 4e 52 2b 43 2a 33 29 3d 43 4f 28 4b 2b 4e 52 |(NR+C*3)=CO(K+NR| 000001a0 29 0d 01 04 12 20 20 20 20 43 4f 28 4b 2b 4e 52 |).... CO(K+NR| 000001b0 29 3d 30 0d 01 0e 0a 20 20 ed 20 4e 52 0d 01 18 |)=0.... . NR...| 000001c0 08 20 ed 20 43 0d 01 22 04 0d 01 2c 08 20 41 3d |. . C.."...,. A=| 000001d0 30 0d 01 36 12 20 20 20 e3 20 51 57 3d 31 20 b8 |0..6. . QW=1 .| 000001e0 20 31 31 0d 01 40 12 20 20 20 20 e3 20 52 45 3d | 11..@. . RE=| 000001f0 30 20 b8 20 32 0d 01 4a 12 20 20 20 20 20 20 42 |0 . 2..J. B| 00000200 3d 43 4f 31 28 41 29 0d 01 54 0f 20 20 20 20 20 |=CO1(A)..T. | 00000210 20 41 3d 41 2b 31 0d 01 5e 13 20 20 20 20 20 20 | A=A+1..^. | 00000220 e3 20 43 3d 30 20 b8 20 33 0d 01 68 2c 20 20 20 |. C=0 . 3..h, | 00000230 20 20 20 20 20 3f 28 43 4f 4c 25 2b 20 20 20 28 | ?(COL%+ (| 00000240 52 45 2a 34 2b 43 2b 51 57 2a 32 34 29 20 20 20 |RE*4+C+QW*24) | 00000250 29 3d 42 2b 43 0d 01 72 2c 20 20 20 20 20 20 20 |)=B+C..r, | 00000260 20 3f 28 43 4f 4c 25 2b 20 20 28 32 33 2d 52 45 | ?(COL%+ (23-RE| 00000270 2a 34 2b 51 57 2a 32 34 2d 43 29 20 29 3d 42 2b |*4+QW*24-C) )=B+| 00000280 43 0d 01 7c 0d 20 20 20 20 20 20 ed 20 43 0d 01 |C..|. . C..| 00000290 86 0c 20 20 20 20 ed 20 52 45 0d 01 90 0b 20 20 |.. . RE.... | 000002a0 20 ed 20 51 57 0d 01 9a 04 0d 01 a4 0b 20 6c 61 | . QW........ la| 000002b0 73 74 3d 30 0d 01 ae 0d 20 63 61 6e 6e 6f 6e 3d |st=0.... cannon=| 000002c0 31 0d 01 b8 0a 20 63 6f 6c 3d 32 0d 01 c2 0b 20 |1.... col=2.... | 000002d0 63 6f 6c 31 3d 33 0d 01 cc 0d 20 74 61 62 65 6c |col1=3.... tabel| 000002e0 3d 31 30 0d 01 d6 04 0d 01 e0 16 20 e3 20 50 41 |=10........ . PA| 000002f0 53 20 3d 20 30 20 b8 20 32 20 88 20 32 0d 01 ea |S = 0 . 2 . 2...| 00000300 11 20 20 20 50 25 20 3d 20 43 4f 44 45 25 0d 01 |. P% = CODE%..| 00000310 f4 10 20 20 20 5b 20 4f 50 54 20 50 41 53 0d 01 |.. [ OPT PAS..| 00000320 fe 04 0d 02 08 1f 20 20 20 2e 73 74 61 72 74 20 |...... .start | 00000330 20 20 45 51 55 44 20 20 20 20 20 20 52 4f 4f 4d | EQUD ROOM| 00000340 25 0d 02 12 27 20 20 20 2e 66 69 6e 69 73 68 20 |%...' .finish | 00000350 20 45 51 55 44 20 20 20 20 20 20 52 4f 4f 4d 25 | EQUD ROOM%| 00000360 20 2b 20 38 31 39 31 39 0d 02 1c 1e 20 20 20 2e | + 81919.... .| 00000370 43 4f 4c 20 20 20 20 20 45 51 55 44 20 20 20 20 |COL EQUD | 00000380 20 20 43 4f 4c 25 0d 02 26 1c 20 20 20 2e 68 69 | COL%..&. .hi| 00000390 64 64 73 74 20 20 45 51 55 44 20 20 20 20 20 20 |ddst EQUD | 000003a0 a4 73 0d 02 30 2a 20 20 20 2e 68 69 64 64 6e 64 |.s..0* .hiddnd| 000003b0 20 20 45 51 55 44 20 20 20 20 20 20 a4 73 20 2b | EQUD .s +| 000003c0 20 38 31 39 31 39 2d 33 32 30 2a 34 0d 02 3a 1e | 81919-320*4..:.| 000003d0 20 20 20 2e 52 45 47 20 20 20 20 20 45 51 55 44 | .REG EQUD| 000003e0 20 20 20 20 20 20 52 45 47 25 0d 02 44 04 0d 02 | REG%..D...| 000003f0 4e 0c 20 20 20 2e 50 72 6f 67 0d 02 58 1f 20 20 |N. .Prog..X. | 00000400 20 20 20 20 20 20 4c 44 52 20 20 20 20 20 6c 61 | LDR la| 00000410 73 74 2c 66 69 6e 69 73 68 0d 02 62 20 20 20 20 |st,finish..b | 00000420 20 20 20 20 20 4c 44 52 20 20 20 20 20 63 61 6e | LDR can| 00000430 6e 6f 6e 2c 73 74 61 72 74 0d 02 6c 1d 20 20 20 |non,start..l. | 00000440 20 20 20 20 20 4c 44 52 20 20 20 20 20 52 36 2c | LDR R6,| 00000450 68 69 64 64 73 74 0d 02 76 1d 20 20 20 20 20 20 |hiddst..v. | 00000460 20 20 4c 44 52 20 20 20 20 20 52 37 2c 68 69 64 | LDR R7,hid| 00000470 64 6e 64 0d 02 80 1d 20 20 20 20 20 20 20 20 4c |dnd.... L| 00000480 44 52 20 20 20 20 20 74 61 62 65 6c 2c 43 4f 4c |DR tabel,COL| 00000490 0d 02 8a 1b 20 20 20 20 20 20 20 20 4d 4f 56 20 |.... MOV | 000004a0 20 20 20 20 63 6f 6c 2c 23 32 32 0d 02 94 04 0d | col,#22.....| 000004b0 02 9e 11 20 20 20 20 2e 72 61 6e 64 6c 6f 6f 70 |... .randloop| 000004c0 0d 02 a8 22 20 20 20 20 20 20 20 20 53 54 52 20 |..." STR | 000004d0 20 20 20 63 6f 6c 2c 5b 63 61 6e 6e 6f 6e 5d 2c | col,[cannon],| 000004e0 23 34 0d 02 b2 3c 20 20 20 20 20 20 20 20 41 44 |#4...< AD| 000004f0 44 20 20 20 20 20 63 6f 6c 2c 63 6f 6c 2c 63 6f |D col,col,co| 00000500 6c 2c 52 4f 52 23 31 20 20 20 20 20 20 20 20 20 |l,ROR#1 | 00000510 3b 72 61 6e 64 6f 6d 20 72 75 74 69 6e 65 0d 02 |;random rutine..| 00000520 bc 1f 20 20 20 20 20 20 20 20 43 4d 50 20 20 20 |.. CMP | 00000530 20 20 63 61 6e 6e 6f 6e 2c 6c 61 73 74 0d 02 c6 | cannon,last...| 00000540 18 20 20 20 20 42 4c 54 20 20 20 20 20 72 61 6e |. BLT ran| 00000550 64 6c 6f 6f 70 0d 02 d0 04 0d 02 da 1f 20 20 20 |dloop........ | 00000560 20 20 20 20 20 4c 44 52 20 20 20 20 20 6c 61 73 | LDR las| 00000570 74 2c 66 69 6e 69 73 68 0d 02 e4 22 20 20 20 20 |t,finish..." | 00000580 20 20 20 20 53 55 42 20 20 20 20 20 6c 61 73 74 | SUB last| 00000590 2c 6c 61 73 74 2c 23 33 32 30 0d 02 ee 20 20 20 |,last,#320... | 000005a0 20 20 20 20 20 20 4c 44 52 20 20 20 20 20 63 61 | LDR ca| 000005b0 6e 6e 6f 6e 2c 73 74 61 72 74 0d 02 f8 26 20 20 |nnon,start...& | 000005c0 20 20 20 20 20 20 41 44 44 20 20 20 20 20 63 61 | ADD ca| 000005d0 6e 6e 6f 6e 2c 63 61 6e 6e 6f 6e 2c 23 33 32 30 |nnon,cannon,#320| 000005e0 0d 03 02 24 20 20 20 20 20 20 20 20 41 44 44 20 |...$ ADD | 000005f0 20 20 20 20 63 61 6e 6e 6f 6e 2c 63 61 6e 6e 6f | cannon,canno| 00000600 6e 2c 23 31 0d 03 0c 04 0d 03 16 1b 20 20 20 20 |n,#1........ | 00000610 20 20 20 20 4c 44 52 20 20 20 20 20 52 31 32 2c | LDR R12,| 00000620 52 45 47 0d 03 20 20 20 20 20 20 20 20 20 20 53 |REG.. S| 00000630 54 4d 49 41 20 20 20 52 31 32 2c 7b 52 30 2d 52 |TMIA R12,{R0-R| 00000640 31 30 7d 0d 03 2a 04 0d 03 34 0d 20 20 20 20 2e |10}..*...4. .| 00000650 4c 4f 4f 50 0d 03 3e 39 20 20 20 20 20 20 20 20 |LOOP..>9 | 00000660 4c 44 52 20 20 20 20 20 52 31 32 2c 52 45 47 20 |LDR R12,REG | 00000670 20 20 20 20 20 20 20 20 20 20 3b 6c 6f 61 64 20 | ;load | 00000680 61 6c 6c 20 72 65 67 69 73 74 65 72 73 0d 03 48 |all registers..H| 00000690 25 20 20 20 20 20 20 20 20 4c 44 4d 49 41 20 20 |% LDMIA | 000006a0 20 52 31 32 2c 7b 52 30 2d 52 31 30 7d 20 20 20 | R12,{R0-R10} | 000006b0 20 3b 0d 03 52 04 0d 03 5c 04 0d 03 66 14 20 20 | ;..R...\...f. | 000006c0 20 20 2e 73 6d 6f 6f 74 68 65 6e 69 6e 67 0d 03 | .smoothening..| 000006d0 70 24 20 20 20 20 20 20 20 20 53 55 42 20 20 20 |p$ SUB | 000006e0 20 20 63 61 6e 6e 6f 6e 2c 63 61 6e 6e 6f 6e 2c | cannon,cannon,| 000006f0 23 31 0d 03 7a 20 20 20 20 20 20 20 20 20 4c 44 |#1..z LD| 00000700 52 42 20 20 20 20 63 6f 6c 2c 5b 63 61 6e 6e 6f |RB col,[canno| 00000710 6e 5d 0d 03 84 24 20 20 20 20 20 20 20 20 41 44 |n]...$ AD| 00000720 44 20 20 20 20 20 63 61 6e 6e 6f 6e 2c 63 61 6e |D cannon,can| 00000730 6e 6f 6e 2c 23 32 0d 03 8e 21 20 20 20 20 20 20 |non,#2...! | 00000740 20 20 4c 44 52 42 20 20 20 20 63 6f 6c 31 2c 5b | LDRB col1,[| 00000750 63 61 6e 6e 6f 6e 5d 0d 03 98 20 20 20 20 20 20 |cannon]... | 00000760 20 20 20 41 44 44 20 20 20 20 20 63 6f 6c 2c 63 | ADD col,c| 00000770 6f 6c 2c 63 6f 6c 31 0d 03 a2 24 20 20 20 20 20 |ol,col1...$ | 00000780 20 20 20 53 55 42 20 20 20 20 20 63 61 6e 6e 6f | SUB canno| 00000790 6e 2c 63 61 6e 6e 6f 6e 2c 23 31 0d 03 ac 48 20 |n,cannon,#1...H | 000007a0 20 20 20 20 20 20 20 53 55 42 20 20 20 20 20 63 | SUB c| 000007b0 61 6e 6e 6f 6e 2c 63 61 6e 6e 6f 6e 2c 23 33 32 |annon,cannon,#32| 000007c0 30 20 20 20 20 20 3b 20 20 20 20 20 20 20 20 20 |0 ; | 000007d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | | 000007e0 20 20 2a 0d 03 b6 4a 20 20 20 20 20 20 20 20 4c | *...J L| 000007f0 44 52 42 20 20 20 20 63 6f 6c 31 2c 5b 63 61 6e |DRB col1,[can| 00000800 6e 6f 6e 5d 20 20 20 20 20 20 20 20 20 20 3b 53 |non] ;S| 00000810 6d 6f 6f 74 68 65 6e 73 20 63 6f 6c 6f 75 72 76 |moothens colourv| 00000820 61 6c 75 65 73 20 20 20 2a 20 20 20 2a 0d 03 c0 |alues * *...| 00000830 48 20 20 20 20 20 20 20 20 41 44 44 20 20 20 20 |H ADD | 00000840 20 63 6f 6c 2c 63 6f 6c 2c 63 6f 6c 31 20 20 20 | col,col,col1 | 00000850 20 20 20 20 20 20 20 20 3b 20 20 20 20 20 20 20 | ; | 00000860 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | | 00000870 20 20 20 20 2a 0d 03 ca 26 20 20 20 20 20 20 20 | *...& | 00000880 20 41 44 44 20 20 20 20 20 63 61 6e 6e 6f 6e 2c | ADD cannon,| 00000890 63 61 6e 6e 6f 6e 2c 23 36 34 30 0d 03 d4 21 20 |cannon,#640...! | 000008a0 20 20 20 20 20 20 20 4c 44 52 42 20 20 20 20 63 | LDRB c| 000008b0 6f 6c 31 2c 5b 63 61 6e 6e 6f 6e 5d 0d 03 de 20 |ol1,[cannon]... | 000008c0 20 20 20 20 20 20 20 20 41 44 44 20 20 20 20 20 | ADD | 000008d0 63 6f 6c 2c 63 6f 6c 2c 63 6f 6c 31 0d 03 e8 04 |col,col,col1....| 000008e0 0d 03 f2 21 20 20 20 20 20 20 20 20 4d 4f 56 20 |...! MOV | 000008f0 20 20 20 20 63 6f 6c 2c 63 6f 6c 2c 4c 53 52 23 | col,col,LSR#| 00000900 32 0d 03 fc 26 20 20 20 20 20 20 20 20 53 55 42 |2...& SUB| 00000910 20 20 20 20 20 63 61 6e 6e 6f 6e 2c 63 61 6e 6e | cannon,cann| 00000920 6f 6e 2c 23 33 32 30 0d 04 06 23 20 20 20 20 20 |on,#320...# | 00000930 20 20 20 53 54 52 42 20 20 20 20 63 6f 6c 2c 5b | STRB col,[| 00000940 63 61 6e 6e 6f 6e 5d 2c 23 31 0d 04 10 04 0d 04 |cannon],#1......| 00000950 1a 1f 20 20 20 20 20 20 20 20 43 4d 50 20 20 20 |.. CMP | 00000960 20 20 63 61 6e 6e 6f 6e 2c 6c 61 73 74 0d 04 24 | cannon,last..$| 00000970 1f 20 20 20 20 42 4c 54 20 20 20 20 20 20 20 20 |. BLT | 00000980 20 73 6d 6f 6f 74 68 65 6e 69 6e 67 0d 04 2e 04 | smoothening....| 00000990 0d 04 38 20 20 20 20 20 20 20 20 20 4c 44 52 20 |..8 LDR | 000009a0 20 20 20 20 63 61 6e 6e 6f 6e 2c 73 74 61 72 74 | cannon,start| 000009b0 0d 04 42 26 20 20 20 20 20 20 20 20 41 44 44 20 |..B& ADD | 000009c0 20 20 20 20 63 61 6e 6e 6f 6e 2c 63 61 6e 6e 6f | cannon,canno| 000009d0 6e 2c 23 36 34 30 0d 04 4c 1d 20 20 20 20 20 20 |n,#640..L. | 000009e0 20 20 4c 44 52 20 20 20 20 20 52 36 2c 68 69 64 | LDR R6,hid| 000009f0 64 73 74 0d 04 56 04 0d 04 60 04 0d 04 6a 13 20 |dst..V...`...j. | 00000a00 20 20 20 2e 64 72 61 77 73 63 72 65 65 6e 0d 04 | .drawscreen..| 00000a10 74 23 20 20 20 20 20 20 20 20 4c 44 52 42 20 20 |t# LDRB | 00000a20 20 20 63 6f 6c 2c 5b 63 61 6e 6e 6f 6e 5d 2c 23 | col,[cannon],#| 00000a30 31 0d 04 7e 41 20 20 20 20 20 20 20 20 41 44 44 |1..~A ADD| 00000a40 20 20 20 20 20 63 6f 6c 31 2c 63 6f 6c 2c 74 61 | col1,col,ta| 00000a50 62 65 6c 20 20 20 20 3b 6c 6f 61 64 73 20 70 69 |bel ;loads pi| 00000a60 63 74 75 72 65 20 66 72 6f 6d 20 6d 65 6d 6f 72 |cture from memor| 00000a70 79 2c 0d 04 88 4a 20 20 20 20 20 20 20 20 4c 44 |y,...J LD| 00000a80 52 42 20 20 20 20 63 6f 6c 2c 5b 63 6f 6c 31 5d |RB col,[col1]| 00000a90 20 20 20 20 20 20 20 20 3b 74 72 61 6e 73 6c 61 | ;transla| 00000aa0 74 65 73 20 63 6f 6c 6f 75 72 73 20 61 63 63 6f |tes colours acco| 00000ab0 72 64 69 6e 67 20 74 6f 20 74 68 65 0d 04 92 42 |rding to the...B| 00000ac0 20 20 20 20 20 20 20 20 53 54 52 42 20 20 20 20 | STRB | 00000ad0 63 6f 6c 2c 5b 52 36 5d 2c 23 31 20 20 20 20 20 |col,[R6],#1 | 00000ae0 3b 74 61 62 65 6c 2c 20 61 6e 64 20 64 72 61 77 |;tabel, and draw| 00000af0 73 20 69 74 20 6f 6e 20 73 63 72 65 65 6e 0d 04 |s it on screen..| 00000b00 9c 19 20 20 20 20 20 20 20 20 43 4d 50 20 20 20 |.. CMP | 00000b10 20 20 52 36 2c 52 37 0d 04 a6 1e 20 20 20 20 42 | R6,R7.... B| 00000b20 4c 54 20 20 20 20 20 20 20 20 20 64 72 61 77 73 |LT draws| 00000b30 63 72 65 65 6e 0d 04 b0 04 0d 04 ba 20 20 20 20 |creen....... | 00000b40 20 20 20 20 20 4c 44 52 20 20 20 20 20 63 61 6e | LDR can| 00000b50 6e 6f 6e 2c 73 74 61 72 74 0d 04 c4 26 20 20 20 |non,start...& | 00000b60 20 20 20 20 20 41 44 44 20 20 20 20 20 63 61 6e | ADD can| 00000b70 6e 6f 6e 2c 63 61 6e 6e 6f 6e 2c 23 33 32 30 0d |non,cannon,#320.| 00000b80 04 ce 24 20 20 20 20 20 20 20 20 41 44 44 20 20 |..$ ADD | 00000b90 20 20 20 63 61 6e 6e 6f 6e 2c 63 61 6e 6e 6f 6e | cannon,cannon| 00000ba0 2c 23 31 0d 04 d8 04 0d 04 e2 48 20 20 20 20 20 |,#1.......H | 00000bb0 20 20 20 53 54 4d 49 41 20 20 20 52 31 32 2c 7b | STMIA R12,{| 00000bc0 52 30 2d 52 31 30 7d 20 20 3b 20 73 61 76 65 20 |R0-R10} ; save | 00000bd0 61 6c 6c 20 72 65 67 69 73 74 65 72 73 20 61 6e |all registers an| 00000be0 64 20 6a 75 6d 70 20 74 6f 20 62 61 73 69 63 0d |d jump to basic.| 00000bf0 04 ec 25 20 20 20 20 20 20 20 20 4d 4f 56 20 20 |..% MOV | 00000c00 20 20 20 50 43 2c 52 31 34 20 20 20 20 20 20 20 | PC,R14 | 00000c10 20 20 20 3b 0d 04 f6 04 0d 05 00 08 20 20 20 5d | ;........ ]| 00000c20 0d 05 0a 0b 20 20 ed 20 50 41 53 0d 05 14 04 0d |.... . PAS.....| 00000c30 05 1e 0e 20 20 20 20 d6 20 50 72 6f 67 0d 05 28 |... . Prog..(| 00000c40 04 0d 05 32 09 20 20 20 20 f5 0d 05 3c 0f 20 20 |...2. ...<. | 00000c50 20 20 20 d6 20 4c 4f 4f 50 0d 05 46 0b 20 20 20 | . LOOP..F. | 00000c60 20 fd 20 a3 0d 05 50 04 0d 05 5a 08 dd 20 a4 73 | . ...P...Z.. .s| 00000c70 0d 05 64 07 ea 20 71 0d 05 6e 09 de 20 71 20 38 |..d.. q..n.. q 8| 00000c80 0d 05 78 0a 21 71 3d 31 34 38 0d 05 82 0a 71 21 |..x.!q=148....q!| 00000c90 34 3d 2d 31 0d 05 8c 20 c8 99 20 22 4f 53 5f 52 |4=-1... .. "OS_R| 00000ca0 65 61 64 56 64 75 56 61 72 69 61 62 6c 65 73 22 |eadVduVariables"| 00000cb0 2c 71 2c 71 0d 05 96 07 3d 21 71 0d ff |,q,q....=!q..| 00000cbd