Home » Archimedes archive » Archimedes World » AW-1994-11-Disc1.adf » Disk1Nov94 » !AWNov94/Goodies/Centepede/!Centipede/Loader

!AWNov94/Goodies/Centepede/!Centipede/Loader

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 » Archimedes World » AW-1994-11-Disc1.adf » Disk1Nov94
Filename: !AWNov94/Goodies/Centepede/!Centipede/Loader
Read OK:
File size: 13C0 bytes
Load address: 0000
Exec address: 0000
File contents
   10REM >Loader
   20REM For Centipede - Copyright 1994 Archimedes World
   30REM By Simon Tarry
   40ON ERROR OSCLI"SNEW":MODE12:PRINT"Bye...":END
   50:
   60*SLOAD <Obey$Dir>.Alphabet
   70*SMERGE <Obey$Dir>.SpriteT
   80:
   90PROCinit
  100PROCassemble
  110PROCtitle
  120PROCload
  130END
  140:
  150DEFPROCload
  160CLS:OFF:*POINTER 0
  170OSCLI"SNEW"
  180OSCLI"<OBEY$DIR>.!RUNIMAGE"
  190ENDPROC
  200:
  210DEFPROCtext(A$,V%,W%)
  220L%=LENA$
  230FORT=1TOL%
  240OSCLI"SCHOOSE "+STR$(ASC(MID$(A$,T,1)))
  250PLOT&ED,V%+(T*32),W%+80
  260NEXT
  270ENDPROC
  280:
  290DEFPROCtitle
  300MODE12:OSCLI"<OBEY$DIR>.PALETTE"
  310OFF:GCOL0:RECTANGLE FILL0,0,2000,2000:OSCLI"SCHOOSE AW12":PLOT &ED,132,600:OSCLI"SCHOOSE pp":PLOT&ED,376,300:TI%=TIME:REPEATUNTILTIME>(TI%+250)OR INKEY-99:CALLfade
  320MODE13:OFF
  330OSCLI"FX 112,1":CLS:OSCLI"FX 112,2":CLS:OSCLI"FX 113,1":OSCLI"FX 112,2"
  340OSCLI"SCHOOSE export2"
  350PLOT &ED,272,800
  360OSCLI"SCHOOSE AW"
  370PLOT &ED,400,640
  380PROCtext("SCORING:       KEYS:",84,464)
  390PROCtext("  ,,,,,,,,,,25      Z,,,,,,,,LEFT",84,384)
  400PROCtext("                    X,,,,,,,RIGHT",84,348)
  410PROCtext("  ,,,,,,,,,,10      ',,,,,,,,,,UP",84,312)
  420PROCtext("                    /,,,,,,,,DOWN",84,276)
  430PROCtext("  ,,,,,,,,,,50      RETURN,,,FIRE",84,240)
  440PROCtext("                    Q,,,,,,,,QUIT",84,204)
  450PROCtext("  ,,,,,,,,,100      ESC,,,DESKTOP",84,168)
  460PROCtext("                    F1,,,SOUND ON",84,132)
  470PROCtext("  ,,,,,,,,,500      F2,,SOUND OFF",84,96)
  480PROCtext("SOUND        INTERNAL SPEAKER",84,16)
  490PROCtext("       PRESS SPACE TO PLAY",84,(16-80))
  500OSCLI"SCHOOSE e3":PLOT&ED,116,456
  510OSCLI"SCHOOSE e2":PLOT&ED,116,388
  520OSCLI"SCHOOSE s1":PLOT&ED,116,320
  530OSCLI"SCHOOSE b3":PLOT&ED,116,252
  540OSCLI"SCHOOSE p1":PLOT&ED,116,184
  550OSCLI"SCHOOSE on":PLOT&ED,336,76
  560OSCLI"SCHOOSE off":PLOT&ED,1112,76
  570OSCLI"FX 113,2"
  580SYS"OS_ReadVduVariables",getscreen,screenstart
  590!screenwidth=320
  600!screenstart=!screenstart+(!screenwidth*128)+160
  610*POINTER
  620MOUSE RECTANGLE 116,76,1060,60
  630REPEAT
  640WAIT
  650CALL code%
  660MOUSEx,y,z
  670IF z<>0 THEN PROCsound(x)
  680S%+=1:OSCLI"SCHOOSE s"+STR$S%:PLOT&ED,116,320
  690IF S%=11 THEN S%=0
  700T%+=1:OSCLI"SCHOOSE b"+STR$T%:PLOT&ED,116,252
  710IF T%=9 THEN T%=1
  720U+=0.5:OSCLI"SCHOOSE p"+STR$(INT(U)):PLOT&ED,116,184
  730IF U=6 THEN U=0.5
  740!add=4
  750UNTILINKEY-99
  760ENDPROC
  770:
  780DEFPROCsound(x)
  790IF x>336 AND x<400 THEN
  800s%=s%*-1
  810IF s%=1 THEN SOUND ON:OSCLI"SCHOOSE on":PLOT&ED,336,76 ELSE SOUND OFF:OSCLI"SCHOOSE off":PLOT&ED,336,76
  820ENDIF
  830IF x>1112 AND x<1176 THEN
  840t%=t%*-1
  850IF t%=1 THEN OSCLI"SPEAKER ON":OSCLI"SCHOOSE on":PLOT&ED,1112,76 ELSE OSCLI"SPEAKER OFF":OSCLI"SCHOOSE off":PLOT&ED,1112,76
  860ENDIF
  870REPEAT:MOUSE X,Y,Z:UNTILZ=0
  880ENDPROC
  890:
  900DEFPROCinit
  910numstars%=700
  920DIM startable% numstars%*4
  930FORL%=0TOnumstars%
  940  Z%=RND(255)
  950  X%=RND(255)
  960  Y%=RND(255)
  970  ?(startable%+(L%*4))=0
  980  ?(startable%+((L%*4)+1))=Z%
  990  ?(startable%+((L%*4)+2))=X%
 1000  ?(startable%+((L%*4)+3))=Y%
 1010NEXT
 1020DIM code% 1024
 1030S%=1:T%=1
 1040s%=1:t%=-1:U=1
 1050TI%=0
 1060ENDPROC
 1070:
 1080DEFPROCassemble
 1090FORI%=0TO2STEP2
 1100P%=code%
 1110[OPT I%
 1120B starstart
 1130.add
 1140EQUD 4
 1150.getscreen
 1160EQUD 148
 1170EQUD -1
 1180.screenstart
 1190EQUD 0
 1200.screenwidth
 1210EQUD 0
 1220.colourtab
 1230EQUB 0
 1240EQUB 1
 1250EQUB 2
 1260EQUB 3
 1270EQUB 44
 1280EQUB 45
 1290EQUB 46
 1300EQUB 47
 1310EQUB 208
 1320EQUB 209
 1330EQUB 210
 1340EQUB 211
 1350EQUB 252
 1360EQUB 253
 1370EQUB 254
 1380EQUB 255
 1390EQUD 0
 1400ALIGN
 1410.startable
 1420EQUD startable%
 1430.numstars
 1440EQUD numstars%
 1450.starstart
 1460LDR R11,numstars
 1470SUB R11,R11,#1
 1480LDR R12,startable
 1490.starloop1
 1500LDRB R0,[R12]
 1510LDRB R1,[R12,#1]
 1520LDRB R2,[R12,#2]
 1530LDRB R3,[R12,#3]
 1540SUB R2,R2,#128
 1550SUB R3,R3,#128
 1560CMP R0,#0
 1570BEQ nodelete
 1580MOV R4,R1
 1590MUL R4,R1,R4
 1600MOV R4,R4,LSR#8
 1610MUL R5,R4,R2
 1620MUL R6,R4,R3
 1630CMP R5,#0
 1640RSBMI R5,R5,#0
 1650MOV R5,R5,LSR#7
 1660RSBMI R5,R5,#0
 1670CMP R6,#0
 1680RSBMI R6,R6,#0
 1690MOV R6,R6,LSR#6
 1700RSBMI R6,R6,#0
 1710LDR R7,screenstart
 1720LDR R8,screenwidth
 1730MLA R6,R8,R6,R7
 1740ADD R6,R6,R5
 1750MOV R0,#0
 1760STRB R0,[R6]
 1770.nodelete
 1780MOV R0,#1
 1790LDR R9,add
 1800ADD R1,R1,R9
 1810CMP R1,#256
 1820MOVEQ R1,#0
 1830STRB R1,[R12,#1]
 1840MOV R4,R1
 1850MUL R4,R1,R4
 1860MOV R4,R4,LSR#8
 1870MUL R5,R4,R2
 1880MUL R6,R4,R3
 1890CMP R5,#0
 1900RSBMI R5,R5,#0
 1910MOV R5,R5,LSR#7
 1920RSBMI R5,R5,#0
 1930CMP R6,#0
 1940RSBMI R6,R6,#0
 1950MOV R6,R6,LSR#6
 1960RSBMI R6,R6,#0
 1970;ADD R6,R6,#128
 1980CMP R5,#160
 1990MOVGE R0,#0
 2000ADD R9,R5,#160
 2010CMP R9,#0
 2020MOVLT R0,#0
 2030CMP R6,#128
 2040MOVGE R0,#0
 2050ADD R9,R6,#128
 2060CMP R9,#0
 2070MOVLTR0,#0
 2080LDR R7,screenstart
 2090LDR R8,screenwidth
 2100MLA R6,R8,R6,R7
 2110ADD R6,R6,R5
 2120CMP R0,#0
 2130BEQ nocheck
 2140LDRB R10,[R6]
 2150CMP R10,#0
 2160MOVNE R0,#0
 2170.nocheck
 2180STRB R0,[R12]
 2190CMP R0,#0
 2200BEQ noplot
 2210MOV R0,R1,LSR#4
 2220ADR R1,colourtab
 2230LDRB R0,[R1,R0]
 2240STRB R0,[R6]
 2250.noplot
 2260ADD R12,R12,#4
 2270SUBS R11,R11,#1
 2280BGT starloop1
 2290MOV PC,R14
 2300
 2310.fade
 2320STMFD R13!,{R0-R5}
 2330MOV 3,#16
 2340MOV 4,#16
 2350.wait
 2360MOV R0,#19
 2370SWI "OS_Byte"
 2380SWI "OS_Byte"
 2390MOV 5,#15
 2400ADR 1,data
 2410.nextcolour
 2420STRB 5,[1]
 2430MOV R0,#11
 2440SWI "OS_Word"
 2450.red
 2460LDRB R0,[1,#2]
 2470SUBS R0,R0,4
 2480MOVMI R0,#0
 2490STRB R0,[1,#2]
 2500.green
 2510LDRB R0,[1,#3]
 2520SUBS R0,R0,4
 2530MOVMI R0,#0
 2540STRB R0,[1,#3]
 2550.blue
 2560LDRB R0,[1,#4]
 2570SUBS R0,R0,4
 2580MOVMI R0,#0
 2590STRB R0,[1,#4]
 2600STRB 4,[1,#1]
 2610MOV R0,#12
 2620SWI "OS_Word"
 2630SUBS 5,5,#1
 2640BGE nextcolour
 2650SUBS 3,3,#1
 2660BNE wait
 2670LDMFD R13!,{R0-R5}
 2680MOVS PC,R14
 2690.data
 2700EQUD 0:EQUD 0
 2710]
 2720NEXT
 2730ENDPROC


� >Loader
5� For Centipede - Copyright 1994 Archimedes World
� By Simon Tarry
(� � �"SNEW":�12:�"Bye...":�
2:
<*SLOAD <Obey$Dir>.Alphabet
F*SMERGE <Obey$Dir>.SpriteT
P:
Z	�init
d
�assemble
n
�title
x	�load
��
�:
�
��load
��:�:*POINTER 0
��"SNEW"
��"<OBEY$DIR>.!RUNIMAGE"
��
�:
���text(A$,V%,W%)
�
L%=�A$
��T=1�L%
��"SCHOOSE "+�(�(�A$,T,1)))
��&ED,V%+(T*32),W%+80
�
�
:
"��title
,�12:�"<OBEY$DIR>.PALETTE"
6t�:�0:ȓ Ȑ0,0,2000,2000:�"SCHOOSE AW12":� &ED,132,600:�"SCHOOSE pp":�&ED,376,300:TI%=�:���>(TI%+250)� �-99:�fade
@	�13:�
J7�"FX 112,1":�:�"FX 112,2":�:�"FX 113,1":�"FX 112,2"
T�"SCHOOSE export2"
^� &ED,272,800
h�"SCHOOSE AW"
r� &ED,400,640
|(�text("SCORING:       KEYS:",84,464)
�5�text("  ,,,,,,,,,,25      Z,,,,,,,,LEFT",84,384)
�5�text("                    X,,,,,,,RIGHT",84,348)
�5�text("  ,,,,,,,,,,10      ',,,,,,,,,,UP",84,312)
�5�text("                    /,,,,,,,,DOWN",84,276)
�5�text("  ,,,,,,,,,,50      RETURN,,,FIRE",84,240)
�5�text("                    Q,,,,,,,,QUIT",84,204)
�5�text("  ,,,,,,,,,100      ESC,,,DESKTOP",84,168)
�5�text("                    F1,,,SOUND ON",84,132)
�4�text("  ,,,,,,,,,500      F2,,SOUND OFF",84,96)
�0�text("SOUND        INTERNAL SPEAKER",84,16)
�2�text("       PRESS SPACE TO PLAY",84,(16-80))
��"SCHOOSE e3":�&ED,116,456
��"SCHOOSE e2":�&ED,116,388
�"SCHOOSE s1":�&ED,116,320
�"SCHOOSE b3":�&ED,116,252
�"SCHOOSE p1":�&ED,116,184
&�"SCHOOSE on":�&ED,336,76
0�"SCHOOSE off":�&ED,1112,76
:�"FX 113,2"
D1ș"OS_ReadVduVariables",getscreen,screenstart
N!screenwidth=320
X4!screenstart=!screenstart+(!screenwidth*128)+160
b*POINTER
lȗ ȓ 116,76,1060,60
v�
�Ȗ
�� code%
�ȗx,y,z
�� z<>0 � �sound(x)
�'S%+=1:�"SCHOOSE s"+�S%:�&ED,116,320
�� S%=11 � S%=0
�'T%+=1:�"SCHOOSE b"+�T%:�&ED,116,252
�� T%=9 � T%=1
�,U+=0.5:�"SCHOOSE p"+�(�(U)):�&ED,116,184
�� U=6 � U=0.5
�
!add=4
�	��-99
��
:
��sound(x)
� x>336 � x<400 �
 s%=s%*-1
*K� s%=1 � � �:�"SCHOOSE on":�&ED,336,76 � � �:�"SCHOOSE off":�&ED,336,76
4�
>� x>1112 � x<1176 �
Ht%=t%*-1
Rb� t%=1 � �"SPEAKER ON":�"SCHOOSE on":�&ED,1112,76 � �"SPEAKER OFF":�"SCHOOSE off":�&ED,1112,76
\�
f�:ȗ X,Y,Z:�Z=0
p�
z:
�
��init
�numstars%=700
�� startable% numstars%*4
��L%=0�numstars%
�  Z%=�(255)
�  X%=�(255)
�  Y%=�(255)
�  ?(startable%+(L%*4))=0
�!  ?(startable%+((L%*4)+1))=Z%
�!  ?(startable%+((L%*4)+2))=X%
�!  ?(startable%+((L%*4)+3))=Y%
��
�� code% 1024

S%=1:T%=1
s%=1:t%=-1:U=1
	TI%=0
$�
.:
8��assemble
B
�I%=0�2�2
LP%=code%
V[OPT I%
`B starstart
j.add
t
EQUD 4
~.getscreen
�EQUD 148
�EQUD -1
�.screenstart
�
EQUD 0
�.screenwidth
�
EQUD 0
�.colourtab
�
EQUB 0
�
EQUB 1
�
EQUB 2
�
EQUB 3
�EQUB 44
EQUB 45

EQUB 46
EQUB 47
EQUB 208
(EQUB 209
2EQUB 210
<EQUB 211
FEQUB 252
PEQUB 253
ZEQUB 254
dEQUB 255
n
EQUD 0
x	ALIGN
�.startable
�EQUD startable%
�
.numstars
�EQUD numstars%
�.starstart
�LDR R11,numstars
�SUB R11,R11,#1
�LDR R12,startable
�.starloop1
�LDRB R0,[R12]
�LDRB R1,[R12,#1]
�LDRB R2,[R12,#2]
�LDRB R3,[R12,#3]
SUB R2,R2,#128
SUB R3,R3,#128

CMP R0,#0
"BEQ nodelete
,
MOV R4,R1
6MUL R4,R1,R4
@MOV R4,R4,LSR#8
JMUL R5,R4,R2
TMUL R6,R4,R3
^
CMP R5,#0
hRSBMI R5,R5,#0
rMOV R5,R5,LSR#7
|RSBMI R5,R5,#0
�
CMP R6,#0
�RSBMI R6,R6,#0
�MOV R6,R6,LSR#6
�RSBMI R6,R6,#0
�LDR R7,screenstart
�LDR R8,screenwidth
�MLA R6,R8,R6,R7
�ADD R6,R6,R5
�
MOV R0,#0
�STRB R0,[R6]
�
.nodelete
�
MOV R0,#1
�LDR R9,add
ADD R1,R1,R9
CMP R1,#256
�Q R1,#0
&STRB R1,[R12,#1]
0
MOV R4,R1
:MUL R4,R1,R4
DMOV R4,R4,LSR#8
NMUL R5,R4,R2
XMUL R6,R4,R3
b
CMP R5,#0
lRSBMI R5,R5,#0
vMOV R5,R5,LSR#7
�RSBMI R5,R5,#0
�
CMP R6,#0
�RSBMI R6,R6,#0
�MOV R6,R6,LSR#6
�RSBMI R6,R6,#0
�;ADD R6,R6,#128
�CMP R5,#160
�MOVGE R0,#0
�ADD R9,R5,#160
�
CMP R9,#0
�MOVLT R0,#0
�CMP R6,#128
�MOVGE R0,#0
ADD R9,R6,#128

CMP R9,#0
MOVLTR0,#0
 LDR R7,screenstart
*LDR R8,screenwidth
4MLA R6,R8,R6,R7
>ADD R6,R6,R5
H
CMP R0,#0
RBEQ nocheck
\LDRB R10,[R6]
fCMP R10,#0
pMOVNE R0,#0
z.nocheck
�STRB R0,[R12]
�
CMP R0,#0
�BEQ noplot
�MOV R0,R1,LSR#4
�ADR R1,colourtab
�LDRB R0,[R1,R0]
�STRB R0,[R6]
�.noplot
�ADD R12,R12,#4
�SUBS R11,R11,#1
�BGT starloop1
�MOV PC,R14
�
		.fade
	STMFD R13!,{R0-R5}
	
MOV 3,#16
	$
MOV 4,#16
	.	.wait
	8MOV R0,#19
	BSWI "OS_Byte"
	LSWI "OS_Byte"
	V
MOV 5,#15
	`ADR 1,data
	j.nextcolour
	tSTRB 5,[1]
	~MOV R0,#11
	�SWI "OS_Word"
	�.red
	�LDRB R0,[1,#2]
	�SUBS R0,R0,4
	�MOVMI R0,#0
	�STRB R0,[1,#2]
	�
.green
	�LDRB R0,[1,#3]
	�SUBS R0,R0,4
	�MOVMI R0,#0
	�STRB R0,[1,#3]
	�	.blue
LDRB R0,[1,#4]

SUBS R0,R0,4
MOVMI R0,#0
STRB R0,[1,#4]
(STRB 4,[1,#1]
2MOV R0,#12
<SWI "OS_Word"
FSUBS 5,5,#1
PBGE nextcolour
ZSUBS 3,3,#1
dBNE wait
nLDMFD R13!,{R0-R5}
xMOVS PC,R14
�	.data
�EQUD 0:EQUD 0
�]
��
��
�
00000000  0d 00 0a 0d f4 20 3e 4c  6f 61 64 65 72 0d 00 14  |..... >Loader...|
00000010  35 f4 20 46 6f 72 20 43  65 6e 74 69 70 65 64 65  |5. For Centipede|
00000020  20 2d 20 43 6f 70 79 72  69 67 68 74 20 31 39 39  | - Copyright 199|
00000030  34 20 41 72 63 68 69 6d  65 64 65 73 20 57 6f 72  |4 Archimedes Wor|
00000040  6c 64 0d 00 1e 14 f4 20  42 79 20 53 69 6d 6f 6e  |ld..... By Simon|
00000050  20 54 61 72 72 79 0d 00  28 1f ee 20 85 20 ff 22  | Tarry..(.. . ."|
00000060  53 4e 45 57 22 3a eb 31  32 3a f1 22 42 79 65 2e  |SNEW":.12:."Bye.|
00000070  2e 2e 22 3a e0 0d 00 32  05 3a 0d 00 3c 1e 2a 53  |..":...2.:..<.*S|
00000080  4c 4f 41 44 20 3c 4f 62  65 79 24 44 69 72 3e 2e  |LOAD <Obey$Dir>.|
00000090  41 6c 70 68 61 62 65 74  0d 00 46 1e 2a 53 4d 45  |Alphabet..F.*SME|
000000a0  52 47 45 20 3c 4f 62 65  79 24 44 69 72 3e 2e 53  |RGE <Obey$Dir>.S|
000000b0  70 72 69 74 65 54 0d 00  50 05 3a 0d 00 5a 09 f2  |priteT..P.:..Z..|
000000c0  69 6e 69 74 0d 00 64 0d  f2 61 73 73 65 6d 62 6c  |init..d..assembl|
000000d0  65 0d 00 6e 0a f2 74 69  74 6c 65 0d 00 78 09 f2  |e..n..title..x..|
000000e0  6c 6f 61 64 0d 00 82 05  e0 0d 00 8c 05 3a 0d 00  |load.........:..|
000000f0  96 0a dd f2 6c 6f 61 64  0d 00 a0 12 db 3a 87 3a  |....load.....:.:|
00000100  2a 50 4f 49 4e 54 45 52  20 30 0d 00 aa 0b ff 22  |*POINTER 0....."|
00000110  53 4e 45 57 22 0d 00 b4  1b ff 22 3c 4f 42 45 59  |SNEW"....."<OBEY|
00000120  24 44 49 52 3e 2e 21 52  55 4e 49 4d 41 47 45 22  |$DIR>.!RUNIMAGE"|
00000130  0d 00 be 05 e1 0d 00 c8  05 3a 0d 00 d2 14 dd f2  |.........:......|
00000140  74 65 78 74 28 41 24 2c  56 25 2c 57 25 29 0d 00  |text(A$,V%,W%)..|
00000150  dc 0a 4c 25 3d a9 41 24  0d 00 e6 0b e3 54 3d 31  |..L%=.A$.....T=1|
00000160  b8 4c 25 0d 00 f0 1e ff  22 53 43 48 4f 4f 53 45  |.L%....."SCHOOSE|
00000170  20 22 2b c3 28 97 28 c1  41 24 2c 54 2c 31 29 29  | "+.(.(.A$,T,1))|
00000180  29 0d 00 fa 18 f0 26 45  44 2c 56 25 2b 28 54 2a  |).....&ED,V%+(T*|
00000190  33 32 29 2c 57 25 2b 38  30 0d 01 04 05 ed 0d 01  |32),W%+80.......|
000001a0  0e 05 e1 0d 01 18 05 3a  0d 01 22 0b dd f2 74 69  |.......:.."...ti|
000001b0  74 6c 65 0d 01 2c 1d eb  31 32 3a ff 22 3c 4f 42  |tle..,..12:."<OB|
000001c0  45 59 24 44 49 52 3e 2e  50 41 4c 45 54 54 45 22  |EY$DIR>.PALETTE"|
000001d0  0d 01 36 74 87 3a e6 30  3a c8 93 20 c8 90 30 2c  |..6t.:.0:.. ..0,|
000001e0  30 2c 32 30 30 30 2c 32  30 30 30 3a ff 22 53 43  |0,2000,2000:."SC|
000001f0  48 4f 4f 53 45 20 41 57  31 32 22 3a f0 20 26 45  |HOOSE AW12":. &E|
00000200  44 2c 31 33 32 2c 36 30  30 3a ff 22 53 43 48 4f  |D,132,600:."SCHO|
00000210  4f 53 45 20 70 70 22 3a  f0 26 45 44 2c 33 37 36  |OSE pp":.&ED,376|
00000220  2c 33 30 30 3a 54 49 25  3d 91 3a f5 fd 91 3e 28  |,300:TI%=.:...>(|
00000230  54 49 25 2b 32 35 30 29  84 20 a6 2d 39 39 3a d6  |TI%+250). .-99:.|
00000240  66 61 64 65 0d 01 40 09  eb 31 33 3a 87 0d 01 4a  |fade..@..13:...J|
00000250  37 ff 22 46 58 20 31 31  32 2c 31 22 3a db 3a ff  |7."FX 112,1":.:.|
00000260  22 46 58 20 31 31 32 2c  32 22 3a db 3a ff 22 46  |"FX 112,2":.:."F|
00000270  58 20 31 31 33 2c 31 22  3a ff 22 46 58 20 31 31  |X 113,1":."FX 11|
00000280  32 2c 32 22 0d 01 54 16  ff 22 53 43 48 4f 4f 53  |2,2"..T.."SCHOOS|
00000290  45 20 65 78 70 6f 72 74  32 22 0d 01 5e 11 f0 20  |E export2"..^.. |
000002a0  26 45 44 2c 32 37 32 2c  38 30 30 0d 01 68 11 ff  |&ED,272,800..h..|
000002b0  22 53 43 48 4f 4f 53 45  20 41 57 22 0d 01 72 11  |"SCHOOSE AW"..r.|
000002c0  f0 20 26 45 44 2c 34 30  30 2c 36 34 30 0d 01 7c  |. &ED,400,640..||
000002d0  28 f2 74 65 78 74 28 22  53 43 4f 52 49 4e 47 3a  |(.text("SCORING:|
000002e0  20 20 20 20 20 20 20 4b  45 59 53 3a 22 2c 38 34  |       KEYS:",84|
000002f0  2c 34 36 34 29 0d 01 86  35 f2 74 65 78 74 28 22  |,464)...5.text("|
00000300  20 20 2c 2c 2c 2c 2c 2c  2c 2c 2c 2c 32 35 20 20  |  ,,,,,,,,,,25  |
00000310  20 20 20 20 5a 2c 2c 2c  2c 2c 2c 2c 2c 4c 45 46  |    Z,,,,,,,,LEF|
00000320  54 22 2c 38 34 2c 33 38  34 29 0d 01 90 35 f2 74  |T",84,384)...5.t|
00000330  65 78 74 28 22 20 20 20  20 20 20 20 20 20 20 20  |ext("           |
00000340  20 20 20 20 20 20 20 20  20 58 2c 2c 2c 2c 2c 2c  |         X,,,,,,|
00000350  2c 52 49 47 48 54 22 2c  38 34 2c 33 34 38 29 0d  |,RIGHT",84,348).|
00000360  01 9a 35 f2 74 65 78 74  28 22 20 20 2c 2c 2c 2c  |..5.text("  ,,,,|
00000370  2c 2c 2c 2c 2c 2c 31 30  20 20 20 20 20 20 27 2c  |,,,,,,10      ',|
00000380  2c 2c 2c 2c 2c 2c 2c 2c  2c 55 50 22 2c 38 34 2c  |,,,,,,,,,UP",84,|
00000390  33 31 32 29 0d 01 a4 35  f2 74 65 78 74 28 22 20  |312)...5.text(" |
000003a0  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
000003b0  20 20 20 2f 2c 2c 2c 2c  2c 2c 2c 2c 44 4f 57 4e  |   /,,,,,,,,DOWN|
000003c0  22 2c 38 34 2c 32 37 36  29 0d 01 ae 35 f2 74 65  |",84,276)...5.te|
000003d0  78 74 28 22 20 20 2c 2c  2c 2c 2c 2c 2c 2c 2c 2c  |xt("  ,,,,,,,,,,|
000003e0  35 30 20 20 20 20 20 20  52 45 54 55 52 4e 2c 2c  |50      RETURN,,|
000003f0  2c 46 49 52 45 22 2c 38  34 2c 32 34 30 29 0d 01  |,FIRE",84,240)..|
00000400  b8 35 f2 74 65 78 74 28  22 20 20 20 20 20 20 20  |.5.text("       |
00000410  20 20 20 20 20 20 20 20  20 20 20 20 20 51 2c 2c  |             Q,,|
00000420  2c 2c 2c 2c 2c 2c 51 55  49 54 22 2c 38 34 2c 32  |,,,,,,QUIT",84,2|
00000430  30 34 29 0d 01 c2 35 f2  74 65 78 74 28 22 20 20  |04)...5.text("  |
00000440  2c 2c 2c 2c 2c 2c 2c 2c  2c 31 30 30 20 20 20 20  |,,,,,,,,,100    |
00000450  20 20 45 53 43 2c 2c 2c  44 45 53 4b 54 4f 50 22  |  ESC,,,DESKTOP"|
00000460  2c 38 34 2c 31 36 38 29  0d 01 cc 35 f2 74 65 78  |,84,168)...5.tex|
00000470  74 28 22 20 20 20 20 20  20 20 20 20 20 20 20 20  |t("             |
00000480  20 20 20 20 20 20 20 46  31 2c 2c 2c 53 4f 55 4e  |       F1,,,SOUN|
00000490  44 20 4f 4e 22 2c 38 34  2c 31 33 32 29 0d 01 d6  |D ON",84,132)...|
000004a0  34 f2 74 65 78 74 28 22  20 20 2c 2c 2c 2c 2c 2c  |4.text("  ,,,,,,|
000004b0  2c 2c 2c 35 30 30 20 20  20 20 20 20 46 32 2c 2c  |,,,500      F2,,|
000004c0  53 4f 55 4e 44 20 4f 46  46 22 2c 38 34 2c 39 36  |SOUND OFF",84,96|
000004d0  29 0d 01 e0 30 f2 74 65  78 74 28 22 53 4f 55 4e  |)...0.text("SOUN|
000004e0  44 20 20 20 20 20 20 20  20 49 4e 54 45 52 4e 41  |D        INTERNA|
000004f0  4c 20 53 50 45 41 4b 45  52 22 2c 38 34 2c 31 36  |L SPEAKER",84,16|
00000500  29 0d 01 ea 32 f2 74 65  78 74 28 22 20 20 20 20  |)...2.text("    |
00000510  20 20 20 50 52 45 53 53  20 53 50 41 43 45 20 54  |   PRESS SPACE T|
00000520  4f 20 50 4c 41 59 22 2c  38 34 2c 28 31 36 2d 38  |O PLAY",84,(16-8|
00000530  30 29 29 0d 01 f4 1e ff  22 53 43 48 4f 4f 53 45  |0))....."SCHOOSE|
00000540  20 65 33 22 3a f0 26 45  44 2c 31 31 36 2c 34 35  | e3":.&ED,116,45|
00000550  36 0d 01 fe 1e ff 22 53  43 48 4f 4f 53 45 20 65  |6....."SCHOOSE e|
00000560  32 22 3a f0 26 45 44 2c  31 31 36 2c 33 38 38 0d  |2":.&ED,116,388.|
00000570  02 08 1e ff 22 53 43 48  4f 4f 53 45 20 73 31 22  |...."SCHOOSE s1"|
00000580  3a f0 26 45 44 2c 31 31  36 2c 33 32 30 0d 02 12  |:.&ED,116,320...|
00000590  1e ff 22 53 43 48 4f 4f  53 45 20 62 33 22 3a f0  |.."SCHOOSE b3":.|
000005a0  26 45 44 2c 31 31 36 2c  32 35 32 0d 02 1c 1e ff  |&ED,116,252.....|
000005b0  22 53 43 48 4f 4f 53 45  20 70 31 22 3a f0 26 45  |"SCHOOSE p1":.&E|
000005c0  44 2c 31 31 36 2c 31 38  34 0d 02 26 1d ff 22 53  |D,116,184..&.."S|
000005d0  43 48 4f 4f 53 45 20 6f  6e 22 3a f0 26 45 44 2c  |CHOOSE on":.&ED,|
000005e0  33 33 36 2c 37 36 0d 02  30 1f ff 22 53 43 48 4f  |336,76..0.."SCHO|
000005f0  4f 53 45 20 6f 66 66 22  3a f0 26 45 44 2c 31 31  |OSE off":.&ED,11|
00000600  31 32 2c 37 36 0d 02 3a  0f ff 22 46 58 20 31 31  |12,76..:.."FX 11|
00000610  33 2c 32 22 0d 02 44 31  c8 99 22 4f 53 5f 52 65  |3,2"..D1.."OS_Re|
00000620  61 64 56 64 75 56 61 72  69 61 62 6c 65 73 22 2c  |adVduVariables",|
00000630  67 65 74 73 63 72 65 65  6e 2c 73 63 72 65 65 6e  |getscreen,screen|
00000640  73 74 61 72 74 0d 02 4e  14 21 73 63 72 65 65 6e  |start..N.!screen|
00000650  77 69 64 74 68 3d 33 32  30 0d 02 58 34 21 73 63  |width=320..X4!sc|
00000660  72 65 65 6e 73 74 61 72  74 3d 21 73 63 72 65 65  |reenstart=!scree|
00000670  6e 73 74 61 72 74 2b 28  21 73 63 72 65 65 6e 77  |nstart+(!screenw|
00000680  69 64 74 68 2a 31 32 38  29 2b 31 36 30 0d 02 62  |idth*128)+160..b|
00000690  0c 2a 50 4f 49 4e 54 45  52 0d 02 6c 18 c8 97 20  |.*POINTER..l... |
000006a0  c8 93 20 31 31 36 2c 37  36 2c 31 30 36 30 2c 36  |.. 116,76,1060,6|
000006b0  30 0d 02 76 05 f5 0d 02  80 06 c8 96 0d 02 8a 0b  |0..v............|
000006c0  d6 20 63 6f 64 65 25 0d  02 94 0b c8 97 78 2c 79  |. code%......x,y|
000006d0  2c 7a 0d 02 9e 16 e7 20  7a 3c 3e 30 20 8c 20 f2  |,z..... z<>0 . .|
000006e0  73 6f 75 6e 64 28 78 29  0d 02 a8 27 53 25 2b 3d  |sound(x)...'S%+=|
000006f0  31 3a ff 22 53 43 48 4f  4f 53 45 20 73 22 2b c3  |1:."SCHOOSE s"+.|
00000700  53 25 3a f0 26 45 44 2c  31 31 36 2c 33 32 30 0d  |S%:.&ED,116,320.|
00000710  02 b2 12 e7 20 53 25 3d  31 31 20 8c 20 53 25 3d  |.... S%=11 . S%=|
00000720  30 0d 02 bc 27 54 25 2b  3d 31 3a ff 22 53 43 48  |0...'T%+=1:."SCH|
00000730  4f 4f 53 45 20 62 22 2b  c3 54 25 3a f0 26 45 44  |OOSE b"+.T%:.&ED|
00000740  2c 31 31 36 2c 32 35 32  0d 02 c6 11 e7 20 54 25  |,116,252..... T%|
00000750  3d 39 20 8c 20 54 25 3d  31 0d 02 d0 2c 55 2b 3d  |=9 . T%=1...,U+=|
00000760  30 2e 35 3a ff 22 53 43  48 4f 4f 53 45 20 70 22  |0.5:."SCHOOSE p"|
00000770  2b c3 28 a8 28 55 29 29  3a f0 26 45 44 2c 31 31  |+.(.(U)):.&ED,11|
00000780  36 2c 31 38 34 0d 02 da  11 e7 20 55 3d 36 20 8c  |6,184..... U=6 .|
00000790  20 55 3d 30 2e 35 0d 02  e4 0a 21 61 64 64 3d 34  | U=0.5....!add=4|
000007a0  0d 02 ee 09 fd a6 2d 39  39 0d 02 f8 05 e1 0d 03  |......-99.......|
000007b0  02 05 3a 0d 03 0c 0e dd  f2 73 6f 75 6e 64 28 78  |..:......sound(x|
000007c0  29 0d 03 16 15 e7 20 78  3e 33 33 36 20 80 20 78  |)..... x>336 . x|
000007d0  3c 34 30 30 20 8c 0d 03  20 0c 73 25 3d 73 25 2a  |<400 ... .s%=s%*|
000007e0  2d 31 0d 03 2a 4b e7 20  73 25 3d 31 20 8c 20 d4  |-1..*K. s%=1 . .|
000007f0  20 ee 3a ff 22 53 43 48  4f 4f 53 45 20 6f 6e 22  | .:."SCHOOSE on"|
00000800  3a f0 26 45 44 2c 33 33  36 2c 37 36 20 8b 20 d4  |:.&ED,336,76 . .|
00000810  20 87 3a ff 22 53 43 48  4f 4f 53 45 20 6f 66 66  | .:."SCHOOSE off|
00000820  22 3a f0 26 45 44 2c 33  33 36 2c 37 36 0d 03 34  |":.&ED,336,76..4|
00000830  05 cd 0d 03 3e 17 e7 20  78 3e 31 31 31 32 20 80  |....>.. x>1112 .|
00000840  20 78 3c 31 31 37 36 20  8c 0d 03 48 0c 74 25 3d  | x<1176 ...H.t%=|
00000850  74 25 2a 2d 31 0d 03 52  62 e7 20 74 25 3d 31 20  |t%*-1..Rb. t%=1 |
00000860  8c 20 ff 22 53 50 45 41  4b 45 52 20 4f 4e 22 3a  |. ."SPEAKER ON":|
00000870  ff 22 53 43 48 4f 4f 53  45 20 6f 6e 22 3a f0 26  |."SCHOOSE on":.&|
00000880  45 44 2c 31 31 31 32 2c  37 36 20 8b 20 ff 22 53  |ED,1112,76 . ."S|
00000890  50 45 41 4b 45 52 20 4f  46 46 22 3a ff 22 53 43  |PEAKER OFF":."SC|
000008a0  48 4f 4f 53 45 20 6f 66  66 22 3a f0 26 45 44 2c  |HOOSE off":.&ED,|
000008b0  31 31 31 32 2c 37 36 0d  03 5c 05 cd 0d 03 66 13  |1112,76..\....f.|
000008c0  f5 3a c8 97 20 58 2c 59  2c 5a 3a fd 5a 3d 30 0d  |.:.. X,Y,Z:.Z=0.|
000008d0  03 70 05 e1 0d 03 7a 05  3a 0d 03 84 0a dd f2 69  |.p....z.:......i|
000008e0  6e 69 74 0d 03 8e 11 6e  75 6d 73 74 61 72 73 25  |nit....numstars%|
000008f0  3d 37 30 30 0d 03 98 1c  de 20 73 74 61 72 74 61  |=700..... starta|
00000900  62 6c 65 25 20 6e 75 6d  73 74 61 72 73 25 2a 34  |ble% numstars%*4|
00000910  0d 03 a2 13 e3 4c 25 3d  30 b8 6e 75 6d 73 74 61  |.....L%=0.numsta|
00000920  72 73 25 0d 03 ac 0f 20  20 5a 25 3d b3 28 32 35  |rs%....  Z%=.(25|
00000930  35 29 0d 03 b6 0f 20 20  58 25 3d b3 28 32 35 35  |5)....  X%=.(255|
00000940  29 0d 03 c0 0f 20 20 59  25 3d b3 28 32 35 35 29  |)....  Y%=.(255)|
00000950  0d 03 ca 1c 20 20 3f 28  73 74 61 72 74 61 62 6c  |....  ?(startabl|
00000960  65 25 2b 28 4c 25 2a 34  29 29 3d 30 0d 03 d4 21  |e%+(L%*4))=0...!|
00000970  20 20 3f 28 73 74 61 72  74 61 62 6c 65 25 2b 28  |  ?(startable%+(|
00000980  28 4c 25 2a 34 29 2b 31  29 29 3d 5a 25 0d 03 de  |(L%*4)+1))=Z%...|
00000990  21 20 20 3f 28 73 74 61  72 74 61 62 6c 65 25 2b  |!  ?(startable%+|
000009a0  28 28 4c 25 2a 34 29 2b  32 29 29 3d 58 25 0d 03  |((L%*4)+2))=X%..|
000009b0  e8 21 20 20 3f 28 73 74  61 72 74 61 62 6c 65 25  |.!  ?(startable%|
000009c0  2b 28 28 4c 25 2a 34 29  2b 33 29 29 3d 59 25 0d  |+((L%*4)+3))=Y%.|
000009d0  03 f2 05 ed 0d 03 fc 10  de 20 63 6f 64 65 25 20  |......... code% |
000009e0  31 30 32 34 0d 04 06 0d  53 25 3d 31 3a 54 25 3d  |1024....S%=1:T%=|
000009f0  31 0d 04 10 12 73 25 3d  31 3a 74 25 3d 2d 31 3a  |1....s%=1:t%=-1:|
00000a00  55 3d 31 0d 04 1a 09 54  49 25 3d 30 0d 04 24 05  |U=1....TI%=0..$.|
00000a10  e1 0d 04 2e 05 3a 0d 04  38 0e dd f2 61 73 73 65  |.....:..8...asse|
00000a20  6d 62 6c 65 0d 04 42 0d  e3 49 25 3d 30 b8 32 88  |mble..B..I%=0.2.|
00000a30  32 0d 04 4c 0c 50 25 3d  63 6f 64 65 25 0d 04 56  |2..L.P%=code%..V|
00000a40  0b 5b 4f 50 54 20 49 25  0d 04 60 0f 42 20 73 74  |.[OPT I%..`.B st|
00000a50  61 72 73 74 61 72 74 0d  04 6a 08 2e 61 64 64 0d  |arstart..j..add.|
00000a60  04 74 0a 45 51 55 44 20  34 0d 04 7e 0e 2e 67 65  |.t.EQUD 4..~..ge|
00000a70  74 73 63 72 65 65 6e 0d  04 88 0c 45 51 55 44 20  |tscreen....EQUD |
00000a80  31 34 38 0d 04 92 0b 45  51 55 44 20 2d 31 0d 04  |148....EQUD -1..|
00000a90  9c 10 2e 73 63 72 65 65  6e 73 74 61 72 74 0d 04  |...screenstart..|
00000aa0  a6 0a 45 51 55 44 20 30  0d 04 b0 10 2e 73 63 72  |..EQUD 0.....scr|
00000ab0  65 65 6e 77 69 64 74 68  0d 04 ba 0a 45 51 55 44  |eenwidth....EQUD|
00000ac0  20 30 0d 04 c4 0e 2e 63  6f 6c 6f 75 72 74 61 62  | 0.....colourtab|
00000ad0  0d 04 ce 0a 45 51 55 42  20 30 0d 04 d8 0a 45 51  |....EQUB 0....EQ|
00000ae0  55 42 20 31 0d 04 e2 0a  45 51 55 42 20 32 0d 04  |UB 1....EQUB 2..|
00000af0  ec 0a 45 51 55 42 20 33  0d 04 f6 0b 45 51 55 42  |..EQUB 3....EQUB|
00000b00  20 34 34 0d 05 00 0b 45  51 55 42 20 34 35 0d 05  | 44....EQUB 45..|
00000b10  0a 0b 45 51 55 42 20 34  36 0d 05 14 0b 45 51 55  |..EQUB 46....EQU|
00000b20  42 20 34 37 0d 05 1e 0c  45 51 55 42 20 32 30 38  |B 47....EQUB 208|
00000b30  0d 05 28 0c 45 51 55 42  20 32 30 39 0d 05 32 0c  |..(.EQUB 209..2.|
00000b40  45 51 55 42 20 32 31 30  0d 05 3c 0c 45 51 55 42  |EQUB 210..<.EQUB|
00000b50  20 32 31 31 0d 05 46 0c  45 51 55 42 20 32 35 32  | 211..F.EQUB 252|
00000b60  0d 05 50 0c 45 51 55 42  20 32 35 33 0d 05 5a 0c  |..P.EQUB 253..Z.|
00000b70  45 51 55 42 20 32 35 34  0d 05 64 0c 45 51 55 42  |EQUB 254..d.EQUB|
00000b80  20 32 35 35 0d 05 6e 0a  45 51 55 44 20 30 0d 05  | 255..n.EQUD 0..|
00000b90  78 09 41 4c 49 47 4e 0d  05 82 0e 2e 73 74 61 72  |x.ALIGN.....star|
00000ba0  74 61 62 6c 65 0d 05 8c  13 45 51 55 44 20 73 74  |table....EQUD st|
00000bb0  61 72 74 61 62 6c 65 25  0d 05 96 0d 2e 6e 75 6d  |artable%.....num|
00000bc0  73 74 61 72 73 0d 05 a0  12 45 51 55 44 20 6e 75  |stars....EQUD nu|
00000bd0  6d 73 74 61 72 73 25 0d  05 aa 0e 2e 73 74 61 72  |mstars%.....star|
00000be0  73 74 61 72 74 0d 05 b4  14 4c 44 52 20 52 31 31  |start....LDR R11|
00000bf0  2c 6e 75 6d 73 74 61 72  73 0d 05 be 12 53 55 42  |,numstars....SUB|
00000c00  20 52 31 31 2c 52 31 31  2c 23 31 0d 05 c8 15 4c  | R11,R11,#1....L|
00000c10  44 52 20 52 31 32 2c 73  74 61 72 74 61 62 6c 65  |DR R12,startable|
00000c20  0d 05 d2 0e 2e 73 74 61  72 6c 6f 6f 70 31 0d 05  |.....starloop1..|
00000c30  dc 11 4c 44 52 42 20 52  30 2c 5b 52 31 32 5d 0d  |..LDRB R0,[R12].|
00000c40  05 e6 14 4c 44 52 42 20  52 31 2c 5b 52 31 32 2c  |...LDRB R1,[R12,|
00000c50  23 31 5d 0d 05 f0 14 4c  44 52 42 20 52 32 2c 5b  |#1]....LDRB R2,[|
00000c60  52 31 32 2c 23 32 5d 0d  05 fa 14 4c 44 52 42 20  |R12,#2]....LDRB |
00000c70  52 33 2c 5b 52 31 32 2c  23 33 5d 0d 06 04 12 53  |R3,[R12,#3]....S|
00000c80  55 42 20 52 32 2c 52 32  2c 23 31 32 38 0d 06 0e  |UB R2,R2,#128...|
00000c90  12 53 55 42 20 52 33 2c  52 33 2c 23 31 32 38 0d  |.SUB R3,R3,#128.|
00000ca0  06 18 0d 43 4d 50 20 52  30 2c 23 30 0d 06 22 10  |...CMP R0,#0..".|
00000cb0  42 45 51 20 6e 6f 64 65  6c 65 74 65 0d 06 2c 0d  |BEQ nodelete..,.|
00000cc0  4d 4f 56 20 52 34 2c 52  31 0d 06 36 10 4d 55 4c  |MOV R4,R1..6.MUL|
00000cd0  20 52 34 2c 52 31 2c 52  34 0d 06 40 13 4d 4f 56  | R4,R1,R4..@.MOV|
00000ce0  20 52 34 2c 52 34 2c 4c  53 52 23 38 0d 06 4a 10  | R4,R4,LSR#8..J.|
00000cf0  4d 55 4c 20 52 35 2c 52  34 2c 52 32 0d 06 54 10  |MUL R5,R4,R2..T.|
00000d00  4d 55 4c 20 52 36 2c 52  34 2c 52 33 0d 06 5e 0d  |MUL R6,R4,R3..^.|
00000d10  43 4d 50 20 52 35 2c 23  30 0d 06 68 12 52 53 42  |CMP R5,#0..h.RSB|
00000d20  4d 49 20 52 35 2c 52 35  2c 23 30 0d 06 72 13 4d  |MI R5,R5,#0..r.M|
00000d30  4f 56 20 52 35 2c 52 35  2c 4c 53 52 23 37 0d 06  |OV R5,R5,LSR#7..|
00000d40  7c 12 52 53 42 4d 49 20  52 35 2c 52 35 2c 23 30  ||.RSBMI R5,R5,#0|
00000d50  0d 06 86 0d 43 4d 50 20  52 36 2c 23 30 0d 06 90  |....CMP R6,#0...|
00000d60  12 52 53 42 4d 49 20 52  36 2c 52 36 2c 23 30 0d  |.RSBMI R6,R6,#0.|
00000d70  06 9a 13 4d 4f 56 20 52  36 2c 52 36 2c 4c 53 52  |...MOV R6,R6,LSR|
00000d80  23 36 0d 06 a4 12 52 53  42 4d 49 20 52 36 2c 52  |#6....RSBMI R6,R|
00000d90  36 2c 23 30 0d 06 ae 16  4c 44 52 20 52 37 2c 73  |6,#0....LDR R7,s|
00000da0  63 72 65 65 6e 73 74 61  72 74 0d 06 b8 16 4c 44  |creenstart....LD|
00000db0  52 20 52 38 2c 73 63 72  65 65 6e 77 69 64 74 68  |R R8,screenwidth|
00000dc0  0d 06 c2 13 4d 4c 41 20  52 36 2c 52 38 2c 52 36  |....MLA R6,R8,R6|
00000dd0  2c 52 37 0d 06 cc 10 41  44 44 20 52 36 2c 52 36  |,R7....ADD R6,R6|
00000de0  2c 52 35 0d 06 d6 0d 4d  4f 56 20 52 30 2c 23 30  |,R5....MOV R0,#0|
00000df0  0d 06 e0 10 53 54 52 42  20 52 30 2c 5b 52 36 5d  |....STRB R0,[R6]|
00000e00  0d 06 ea 0d 2e 6e 6f 64  65 6c 65 74 65 0d 06 f4  |.....nodelete...|
00000e10  0d 4d 4f 56 20 52 30 2c  23 31 0d 06 fe 0e 4c 44  |.MOV R0,#1....LD|
00000e20  52 20 52 39 2c 61 64 64  0d 07 08 10 41 44 44 20  |R R9,add....ADD |
00000e30  52 31 2c 52 31 2c 52 39  0d 07 12 0f 43 4d 50 20  |R1,R1,R9....CMP |
00000e40  52 31 2c 23 32 35 36 0d  07 1c 0c ec 51 20 52 31  |R1,#256.....Q R1|
00000e50  2c 23 30 0d 07 26 14 53  54 52 42 20 52 31 2c 5b  |,#0..&.STRB R1,[|
00000e60  52 31 32 2c 23 31 5d 0d  07 30 0d 4d 4f 56 20 52  |R12,#1]..0.MOV R|
00000e70  34 2c 52 31 0d 07 3a 10  4d 55 4c 20 52 34 2c 52  |4,R1..:.MUL R4,R|
00000e80  31 2c 52 34 0d 07 44 13  4d 4f 56 20 52 34 2c 52  |1,R4..D.MOV R4,R|
00000e90  34 2c 4c 53 52 23 38 0d  07 4e 10 4d 55 4c 20 52  |4,LSR#8..N.MUL R|
00000ea0  35 2c 52 34 2c 52 32 0d  07 58 10 4d 55 4c 20 52  |5,R4,R2..X.MUL R|
00000eb0  36 2c 52 34 2c 52 33 0d  07 62 0d 43 4d 50 20 52  |6,R4,R3..b.CMP R|
00000ec0  35 2c 23 30 0d 07 6c 12  52 53 42 4d 49 20 52 35  |5,#0..l.RSBMI R5|
00000ed0  2c 52 35 2c 23 30 0d 07  76 13 4d 4f 56 20 52 35  |,R5,#0..v.MOV R5|
00000ee0  2c 52 35 2c 4c 53 52 23  37 0d 07 80 12 52 53 42  |,R5,LSR#7....RSB|
00000ef0  4d 49 20 52 35 2c 52 35  2c 23 30 0d 07 8a 0d 43  |MI R5,R5,#0....C|
00000f00  4d 50 20 52 36 2c 23 30  0d 07 94 12 52 53 42 4d  |MP R6,#0....RSBM|
00000f10  49 20 52 36 2c 52 36 2c  23 30 0d 07 9e 13 4d 4f  |I R6,R6,#0....MO|
00000f20  56 20 52 36 2c 52 36 2c  4c 53 52 23 36 0d 07 a8  |V R6,R6,LSR#6...|
00000f30  12 52 53 42 4d 49 20 52  36 2c 52 36 2c 23 30 0d  |.RSBMI R6,R6,#0.|
00000f40  07 b2 13 3b 41 44 44 20  52 36 2c 52 36 2c 23 31  |...;ADD R6,R6,#1|
00000f50  32 38 0d 07 bc 0f 43 4d  50 20 52 35 2c 23 31 36  |28....CMP R5,#16|
00000f60  30 0d 07 c6 0f 4d 4f 56  47 45 20 52 30 2c 23 30  |0....MOVGE R0,#0|
00000f70  0d 07 d0 12 41 44 44 20  52 39 2c 52 35 2c 23 31  |....ADD R9,R5,#1|
00000f80  36 30 0d 07 da 0d 43 4d  50 20 52 39 2c 23 30 0d  |60....CMP R9,#0.|
00000f90  07 e4 0f 4d 4f 56 4c 54  20 52 30 2c 23 30 0d 07  |...MOVLT R0,#0..|
00000fa0  ee 0f 43 4d 50 20 52 36  2c 23 31 32 38 0d 07 f8  |..CMP R6,#128...|
00000fb0  0f 4d 4f 56 47 45 20 52  30 2c 23 30 0d 08 02 12  |.MOVGE R0,#0....|
00000fc0  41 44 44 20 52 39 2c 52  36 2c 23 31 32 38 0d 08  |ADD R9,R6,#128..|
00000fd0  0c 0d 43 4d 50 20 52 39  2c 23 30 0d 08 16 0e 4d  |..CMP R9,#0....M|
00000fe0  4f 56 4c 54 52 30 2c 23  30 0d 08 20 16 4c 44 52  |OVLTR0,#0.. .LDR|
00000ff0  20 52 37 2c 73 63 72 65  65 6e 73 74 61 72 74 0d  | R7,screenstart.|
00001000  08 2a 16 4c 44 52 20 52  38 2c 73 63 72 65 65 6e  |.*.LDR R8,screen|
00001010  77 69 64 74 68 0d 08 34  13 4d 4c 41 20 52 36 2c  |width..4.MLA R6,|
00001020  52 38 2c 52 36 2c 52 37  0d 08 3e 10 41 44 44 20  |R8,R6,R7..>.ADD |
00001030  52 36 2c 52 36 2c 52 35  0d 08 48 0d 43 4d 50 20  |R6,R6,R5..H.CMP |
00001040  52 30 2c 23 30 0d 08 52  0f 42 45 51 20 6e 6f 63  |R0,#0..R.BEQ noc|
00001050  68 65 63 6b 0d 08 5c 11  4c 44 52 42 20 52 31 30  |heck..\.LDRB R10|
00001060  2c 5b 52 36 5d 0d 08 66  0e 43 4d 50 20 52 31 30  |,[R6]..f.CMP R10|
00001070  2c 23 30 0d 08 70 0f 4d  4f 56 4e 45 20 52 30 2c  |,#0..p.MOVNE R0,|
00001080  23 30 0d 08 7a 0c 2e 6e  6f 63 68 65 63 6b 0d 08  |#0..z..nocheck..|
00001090  84 11 53 54 52 42 20 52  30 2c 5b 52 31 32 5d 0d  |..STRB R0,[R12].|
000010a0  08 8e 0d 43 4d 50 20 52  30 2c 23 30 0d 08 98 0e  |...CMP R0,#0....|
000010b0  42 45 51 20 6e 6f 70 6c  6f 74 0d 08 a2 13 4d 4f  |BEQ noplot....MO|
000010c0  56 20 52 30 2c 52 31 2c  4c 53 52 23 34 0d 08 ac  |V R0,R1,LSR#4...|
000010d0  14 41 44 52 20 52 31 2c  63 6f 6c 6f 75 72 74 61  |.ADR R1,colourta|
000010e0  62 0d 08 b6 13 4c 44 52  42 20 52 30 2c 5b 52 31  |b....LDRB R0,[R1|
000010f0  2c 52 30 5d 0d 08 c0 10  53 54 52 42 20 52 30 2c  |,R0]....STRB R0,|
00001100  5b 52 36 5d 0d 08 ca 0b  2e 6e 6f 70 6c 6f 74 0d  |[R6].....noplot.|
00001110  08 d4 12 41 44 44 20 52  31 32 2c 52 31 32 2c 23  |...ADD R12,R12,#|
00001120  34 0d 08 de 13 53 55 42  53 20 52 31 31 2c 52 31  |4....SUBS R11,R1|
00001130  31 2c 23 31 0d 08 e8 11  42 47 54 20 73 74 61 72  |1,#1....BGT star|
00001140  6c 6f 6f 70 31 0d 08 f2  0e 4d 4f 56 20 50 43 2c  |loop1....MOV PC,|
00001150  52 31 34 0d 08 fc 04 0d  09 06 09 2e 66 61 64 65  |R14.........fade|
00001160  0d 09 10 16 53 54 4d 46  44 20 52 31 33 21 2c 7b  |....STMFD R13!,{|
00001170  52 30 2d 52 35 7d 0d 09  1a 0d 4d 4f 56 20 33 2c  |R0-R5}....MOV 3,|
00001180  23 31 36 0d 09 24 0d 4d  4f 56 20 34 2c 23 31 36  |#16..$.MOV 4,#16|
00001190  0d 09 2e 09 2e 77 61 69  74 0d 09 38 0e 4d 4f 56  |.....wait..8.MOV|
000011a0  20 52 30 2c 23 31 39 0d  09 42 11 53 57 49 20 22  | R0,#19..B.SWI "|
000011b0  4f 53 5f 42 79 74 65 22  0d 09 4c 11 53 57 49 20  |OS_Byte"..L.SWI |
000011c0  22 4f 53 5f 42 79 74 65  22 0d 09 56 0d 4d 4f 56  |"OS_Byte"..V.MOV|
000011d0  20 35 2c 23 31 35 0d 09  60 0e 41 44 52 20 31 2c  | 5,#15..`.ADR 1,|
000011e0  64 61 74 61 0d 09 6a 0f  2e 6e 65 78 74 63 6f 6c  |data..j..nextcol|
000011f0  6f 75 72 0d 09 74 0e 53  54 52 42 20 35 2c 5b 31  |our..t.STRB 5,[1|
00001200  5d 0d 09 7e 0e 4d 4f 56  20 52 30 2c 23 31 31 0d  |]..~.MOV R0,#11.|
00001210  09 88 11 53 57 49 20 22  4f 53 5f 57 6f 72 64 22  |...SWI "OS_Word"|
00001220  0d 09 92 08 2e 72 65 64  0d 09 9c 12 4c 44 52 42  |.....red....LDRB|
00001230  20 52 30 2c 5b 31 2c 23  32 5d 0d 09 a6 10 53 55  | R0,[1,#2]....SU|
00001240  42 53 20 52 30 2c 52 30  2c 34 0d 09 b0 0f 4d 4f  |BS R0,R0,4....MO|
00001250  56 4d 49 20 52 30 2c 23  30 0d 09 ba 12 53 54 52  |VMI R0,#0....STR|
00001260  42 20 52 30 2c 5b 31 2c  23 32 5d 0d 09 c4 0a 2e  |B R0,[1,#2].....|
00001270  67 72 65 65 6e 0d 09 ce  12 4c 44 52 42 20 52 30  |green....LDRB R0|
00001280  2c 5b 31 2c 23 33 5d 0d  09 d8 10 53 55 42 53 20  |,[1,#3]....SUBS |
00001290  52 30 2c 52 30 2c 34 0d  09 e2 0f 4d 4f 56 4d 49  |R0,R0,4....MOVMI|
000012a0  20 52 30 2c 23 30 0d 09  ec 12 53 54 52 42 20 52  | R0,#0....STRB R|
000012b0  30 2c 5b 31 2c 23 33 5d  0d 09 f6 09 2e 62 6c 75  |0,[1,#3].....blu|
000012c0  65 0d 0a 00 12 4c 44 52  42 20 52 30 2c 5b 31 2c  |e....LDRB R0,[1,|
000012d0  23 34 5d 0d 0a 0a 10 53  55 42 53 20 52 30 2c 52  |#4]....SUBS R0,R|
000012e0  30 2c 34 0d 0a 14 0f 4d  4f 56 4d 49 20 52 30 2c  |0,4....MOVMI R0,|
000012f0  23 30 0d 0a 1e 12 53 54  52 42 20 52 30 2c 5b 31  |#0....STRB R0,[1|
00001300  2c 23 34 5d 0d 0a 28 11  53 54 52 42 20 34 2c 5b  |,#4]..(.STRB 4,[|
00001310  31 2c 23 31 5d 0d 0a 32  0e 4d 4f 56 20 52 30 2c  |1,#1]..2.MOV R0,|
00001320  23 31 32 0d 0a 3c 11 53  57 49 20 22 4f 53 5f 57  |#12..<.SWI "OS_W|
00001330  6f 72 64 22 0d 0a 46 0f  53 55 42 53 20 35 2c 35  |ord"..F.SUBS 5,5|
00001340  2c 23 31 0d 0a 50 12 42  47 45 20 6e 65 78 74 63  |,#1..P.BGE nextc|
00001350  6f 6c 6f 75 72 0d 0a 5a  0f 53 55 42 53 20 33 2c  |olour..Z.SUBS 3,|
00001360  33 2c 23 31 0d 0a 64 0c  42 4e 45 20 77 61 69 74  |3,#1..d.BNE wait|
00001370  0d 0a 6e 16 4c 44 4d 46  44 20 52 31 33 21 2c 7b  |..n.LDMFD R13!,{|
00001380  52 30 2d 52 35 7d 0d 0a  78 0f 4d 4f 56 53 20 50  |R0-R5}..x.MOVS P|
00001390  43 2c 52 31 34 0d 0a 82  09 2e 64 61 74 61 0d 0a  |C,R14.....data..|
000013a0  8c 11 45 51 55 44 20 30  3a 45 51 55 44 20 30 0d  |..EQUD 0:EQUD 0.|
000013b0  0a 96 05 5d 0d 0a a0 05  ed 0d 0a aa 05 e1 0d ff  |...]............|
000013c0