rem ---  magic blocks  ---
rem written by roland kunz
rem     (c)2018 rksoft

0 gosub2000:gosub90:vol8
1 li=0:gosub1000:sc=0:li=4:ro=1
2 di=0:gosub100:a=m:c=m:u=0:p=0:ti$="000000":i=.:ifco=1then19:else21

rem --- time ---
3 u=ti:bo=bo-m:on-(bo<1)goS4:?h$tab(19);:?using"###";bo:return

rem --- collision: blocks & door & spikes ---
4 i=-(n*(p=79orbo<m)orm*(p=75)):a=m:poke2040,r+m:movspr1,24+(o*x),50+(o*y):return

rem --- collision: 1up ---
5 sound1,20000,4:li=li-(li<99):sys49176,0,y,x:printc$;:?chr$(5)chr$(19)tab(7);:?using"##";li:reT

rem --- collision: diamonds & key ---
6 di=di-(p<>27):sc=sc-150*(p=27):sys49176,0,y,x:printc$;:sound1,18000,4:on-(p=27)goS23:return

rem --- rechts ---
7 on-(r<>159)gO24:p=peek(v+x+n+y*z):on-(p>dandp<e)gO4:x=x+n:on-((p=27orp=35)orn*(p=58))goS6,5
8 a=3-a:poke2040,r+a:movspr1,+(o*n),+0:sound1,1000,2:return

rem --- links ---
9 on-(r<>162)gO25:p=peek(v+x-n+y*z):on-(p>dandp<e)gO4:x=x-n:on-((p=27orp=35)orn*(p=58))goS6,5
10 li=li-(li<99andp=58):a=3-a:poke2040,r+a:movspr1,-(o*n),+0:sound1,1000,2:return

rem --- jump ---
11 p=peek(v+x+y*z-z2):on-((p>dandp<e)ory<4)gO4:y=y-n:on-((p=27orp=35)orn*(p=58))goS6,5
12 poke2040,r+n:movspr1,+0,-(o*n):ifs<.then9:else7

rem --- falling ---
13 poke2040,r+n:j=.:dowhilej<m:p=peek(v+x+y*z+z2):j=-(y>22orp>d):y=y-n*(j<m):movspr1,+0,+o*n*-(j<m)
14 sys49176,0,y,x:on-((p=27orp=35)orn*(p=58))goS6,5:sound1,20000-j*1000,2:loop:goto4

rem --- create magicstone ---
15 p=peek(v+x+(s*n)+y*z):on-(p<>39andp<>71)gO4:on-(p=39)goto17:poke2040,r+3
16 sys49176,0,y,x+(s*n):?s$(1);:forj=7to0step-4:sound3,j*1000,3:nextj:sys49176,0,y,x+(s*n):?c$;:mb=mb-(mb<99):gosub94:return
17 on-(mb<1)goto4:poke2040,r+3:sys49176,0,y,x+(s*n):?s$(1);
18 forj=0to7step4:sound3,j*1000,3:nextj:sys49176,0,y,x+(s*n):?s$(2);:mb=mb+(mb>0):gosub94:return

rem --- game loop (joystick) ---
19 dowhilei<m:onj(joy(2)and127)goS4,7,9,11:on-(joy(2)>127andy>2)goS15:p=peek(v+x+y*z+z2):on-((p<d orp>e)andy<23andi<m)goS13:on-(u<ti-60)goS3:loop
20 on-(i>m)goto40:goto60

rem --- game loop (keyboard) ---
21 dowhilei<m:onk(peek(212))goS4,7,9,11:on-(peek(211)=nandy>2)goS15:p=peek(v+x+y*z+z2):on-((p<d orp>e)andy<23andi<m)goS13:on-(u<ti-60)goS3:loop
22 on-(i>m)goto40:goto60

rem --- show door ---
23 sound3,10000,8:sys49176,0,y1,x1:?e$;:?h$;:?using"   ######";sc:return

rem --- rotate player to right ---
24 forj=0to5:poke2040,166:next:poke2040,160:a=m:r=159:s=m:return

rem --- rotate player to left ---
25 forj=0to5:poke2040,166:next:poke2040,163:a=m:r=162:s=-m:return

rem --- killed ---
40 gosub80:on-(peek(v+x+y*z+z)<d)gosub13:poke2040,169:fori=0to400:next
41 poke2040,170:li=li-1:on-(li<0)goto50:gosub92
42 ifbo<1thenfori=1to5:color5,fa(i):sys49176,0,10,15:?"life  out!":next
43 fori=0to500:next:goto2

rem --- game over ---
50 fori=1to5:color5,fa(i):sys49176,0,12,15:?"game  over":next:ifhi<scthenhi=sc:gosub93
51 fori=0to1000:next:goto1

rem --- complete room ---
60 x=x1:y=y1:movspr1,24+(o*x),50+(o*y):gosub80:poke2040,166:fori=0to100:nexti:movspr1,0,0
61 gosub95:fori=1to5:color5,fa(i):sys49176,0,6,15:?"well done!":next
62 fori=1to5:color5,fa(i):sys49176,0,8,6:?"----------------------------":next
63 fori=1to5:color5,fa(i):sys49176,0,10,10:?using"   bonus - ### * 10";bo:next
64 fori=1to5:color5,fa(i):sys49176,0,12,10:?using"diamonds -  ## * 50";di:next
65 fori=1to5:color5,fa(i):sys49176,0,14,10:?using"  blocks -  ## * 100";mb:next
66 fori=1to5:color5,fa(i):sys49176,0,16,6:?"----------------------------":next
67 t=bo*10+di*50+mb*100:fori=1to5:color5,fa(i):sys49176,0,18,28:?using"######";t:next
68 dowhilet>999:t=t-1000:sc=sc+1000:gosub72:loop
69 dowhilet>99:t=t-100:sc=sc+100:gosub72:loop
70 dowhilet>9:t=t-10:sc=sc+10:gosub72:loop
71 dowhilet>0:t=t-1:sc=sc+1:gosub72:loop:fori=.to1500:nexti:ro=ro+1:goto2
72 sound1,9800,2:sound2,10840,2:sound1,19820,2:sound2,10860,2
73 ?h$;:?using"   ######";sc:sys49176,0,18,28:?using"######";t:return

rem --- rotate wizard ---
80 fori=0to2:poke2040,160:forj=0to30:nextj:poke2040,166:forj=0to30:nextj:poke2040,163
81 forj=0to30:nextj:poke2040,167:forj=0to30:nextj,i:return

rem --- hud ---
90 ?chr$(147):fori=0to4:sys49176,0,3+i*4,3:?t2$tab(35)t2$;:next:sys49176,0,23,3:?t$tab(35)t$;
91 color5,8:?chr$(19)tab(3)"1up"tab(18)"bonus  room     top"
92 ?chr$(19)chr$(5)tab(6);:?using"*##";li:ifhi<scthenhi=sc
93 ?h$;:?using"   ######    *##   ###    ##   ######";sc,mb,bo,ro,hi
94 ?chr$(19)tab(11)s$(2):?h$;tab(13);:?using"*##";mb:return
95 fori=0to21:sys49176,0,3+i,5:?"                              ";:next:return

rem --- init screen ---
100 fast:color5,7:fori=0to21:sys49176,0,3+i,5:?"''''''''''''''''''''''''''''''";:nexti
101 ifro>16thenro=1
102 onrogoS110,117,122,127,134,141,146,151,157,162,167,173,179,185,190,197
103 ifhi<scthenhi=sc
104 r=159-3*(x>20):s=(x>20)or-(x<21):poke2040,r+m:movspr1,24+(o*x),50+(o*y):gosub92:slow:return

rem --- screen 1 ---
110 sys49176,0,3,0:?tab(5)t$t$t$t$t$c$c$up$c$c$t$t$t$t$t$:?:?tab(5)t$d$d$d$s$(2);
111 ?c$d$d$d$c$s$(2)d$d$d$t$:?:?tab(5)t$d$d$d$s$(2)c$d$d$d$c$s$(2)d$d$d$t$:?:?tab(5);
112 ?t$t$t$t$t$tab(25)t$t$t$t$t$:?:?tab(5)t$c$c$c$t$t$t$c$s$(2)t$t$c$c$c$t$:?:?tab(5);
113 ?t$c$c$c$s$(2)c$c$s$(2)c$c$s$(2)c$k$c$t$:?:?tab(5)t$c$c$c$t$t$t$t$t$t$t$c$c$c$t$:?
114 ?tab(5)t$t$t$t$t$t$c$c$c$t$t$s$(2)c$t$t$:?:?tab(5)t$t$t$c$c$t$c$c$c$t$c$c$t$t$t$:?
115 ?tab(5)t$t$t$t$tab(27)t$t$t$t$:?:?tab(5);:fori=0to14:?t$;:next
116 bo=199:x=9:y=15:x1=19:y1=19:mb=0:return

rem --- screen 2 ---
117 sys49176,0,7,0:?tab(7)d$d$c$c$t$t$t$t$t$c$c$d$d$:?
118 ?tab(7)d$d$c$c$s$(2)d$d$d$s$(2)c$c$d$d$:?:?tab(7)d$d$c$c$t$t$t$t$t$c$c$d$d$:?
119 ?tab(17)t$t$t$:?:?:?:?tab(11)t$t$t$c$c$c$t$t$t$:?
120 ?tab(11)s$(2)c$s$(2)s$(2)s$(2)s$(2)s$(2)k$s$(2):?:?tab(11)t$t$t$c$d$c$t$t$t$:?
121 ?tab(11)d$d$d$c$c$c$d$d$d$;:bo=199:x=13:y=19:x1=19:y1=3:mb=0:return

rem --- screen 3 ---
122 sys49176,0,5,0:?tab(7)d$d$tab(19)up$tab(31)k$:?:?tab(7)t$t$d$d$tab(25)d$d$s$(2)s$(2):?
123 ?tab(7)d$d$t$t$d$tab(23)d$s$(2)s$(2)d$d$:?:?tab(15)t$t$c$s$(2)s$(2):?:?:?
124 ?tab(15)s$(2)s$(2)s$(2)t$t$:?:?tab(11)s$(2)s$(2)s$(2)s$(2)s$(2)s$(2)s$(2)t$t$:?
125 ?tab(7)s$(2)s$(2)d$c$c$d$d$d$c$c$d$t$t$:?:?tab(7)d$d$c$c$c$d$d$d$c$c$c$d$d$;
126 bo=199:x=7:y=17:x1=31:y1=17:mb=0:return

rem --- screen 4 ---
127 sys49176,0,3,0:?tab(7)d$d$d$d$d$c$s$(2)s$(2)s$(2)c$c$d$:?
128 ?tab(7)d$d$d$d$d$c$t$s$(2)t$c$d$t$d$:?:?tab(19)t$t$t$:?
129 ?tab(5)t$t$t$t$t$t$t$t$t$t$t$t$t$c$s$(2):?:?tab(5)t$t$t$t$tab(27)t$t$t$:?
130 ?tab(9)s$(2)s$(2)tab(27)t$:?:?tab(7)d$t$t$tab(27)t$c$t$t$:?:?tab(7);
131 ?d$d$d$t$t$t$t$t$t$t$c$c$m$m$:?:?tab(11)d$s$(2)s$(2)s$(2)s$(2)s$(2)s$(2)s$(2)
132 ?:?tab(13)s$(2)s$(2)s$(2)s$(2)s$(2)s$(2)s$(2)c$c$c$k$:?
133 ?tab(5)t$t$m$m$t$t$t$t$t$t$t$t$t$t$t$;:bo=119:x=5:y=7:x1=25:y1=13:mb=2:return

rem --- screen 5 ---
134 sys49176,0,3,5:fori=0to14:?m$;:next:?:?:?:?:?tab(7)t$s$(2)s$(2)s$(2)s$(2)s$(2)t$;
135 ?s$(2)s$(2)s$(2)s$(2)s$(2)t$:?:?tab(7)s$(2)c$d$d$d$c$s$(2)c$d$d$d$c$s$(2):?
136 ?tab(7)s$(2)c$t$s$(2)t$c$s$(2)c$t$s$(2)t$c$s$(2):?:?tab(7)s$(2)c$s$(2)k$s$(2)c$;
137 ?s$(2)c$s$(2)c$s$(2)c$s$(2):?:?tab(7)s$(2)c$t$s$(2)t$c$s$(2)c$t$s$(2)t$c$s$(2):?
138 ?tab(7)s$(2)c$d$d$d$c$s$(2)c$d$d$d$c$s$(2):?:?tab(7)t$s$(2)s$(2)s$(2)s$(2)s$(2)t$;
139 ?s$(2)s$(2)s$(2)s$(2)s$(2)t$:?:?:?:?tab(5);:fori=0to14:?m$;:next
140 bo=139:x=9:y=17:x1=25:y1=13:mb=0:return

rem --- screen 6 ---
141 sys49176,0,3,5:fori=0to14:?m$;:next:?:?:?tab(7)d$d$d$c$c$d$d$d$c$c$d$d$d$:?
142 ?tab(7)d$d$d$c$c$d$d$d$c$c$d$d$d$:?:?:?:?tab(9)t$c$c$c$s$(2)s$(2)s$(2)c$c$c$t$:?
143 ?tab(13)t$t$s$(2)c$s$(2)t$t$:?:?tab(13)t$d$d$k$d$d$t$:?:?tab(13)t$t$t$t$t$t$t$:?
144 ?tab(9)t$tab(29)t$:?:?tab(13)t$t$c$s$(2)c$t$t$;:bo=139:x=9:y=17:x1=29:y1=17:mb=4
145 return

rem --- screen 7 ---
146 sys49176,0,3,0:?tab(27)d$d$d$:?:?tab(27)d$up$d$:?:?tab(27)d$d$d$:?
147 ?tab(9)t$t$t$t$t$:?:?tab(9)s$(2)s$(2)s$(2)c$t$m$:?:?tab(9)t$t$t$c$c$t$t$:?
148 ?tab(15)t$k$c$c$t$:?:?tab(5)t$t$t$t$c$c$t$t$c$c$t$:?:?tab(19)t$t$c$s$(2):?
149 ?tab(21)t$t$t$:?:?tab(25)t$;:bo=99:x=7:y=23:x1=31:y1=21:mb=7
150 return

rem --- screen 8 ---
151 sys49176,0,3,5:?d$d$d$tab(19)m$tab(29)d$d$d$:?:?tab(5)d$t$d$tab(29)d$t$d$:?
152 ?tab(5)d$d$d$c$c$t$c$c$c$t$c$c$d$d$d$:?:?tab(15)t$c$c$c$t$:?:?tab(13)t$m$c$d$c$m$t$
153 ?:?tab(13)t$c$d$d$d$c$t$:?:?tab(5)t$s$(2)c$t$m$d$d$d$d$d$m$t$c$s$(2)t$:?
154 ?tab(11)t$c$c$d$d$d$c$c$t$:?:?tab(7)s$(2)s$(2)t$c$c$d$d$d$c$c$t$s$(2)s$(2):?
155 ?tab(5)s$(2)s$(2)c$t$tab(27)t$c$s$(2)s$(2):?:?tab(7)s$(2)s$(2)t$tab(27)t$s$(2)s$(2);
156 ?k$;:bo=129:x=19:y=23:x1=5:y1=23:mb=10:return

rem --- screen 9 ---
157 sys49176,0,5,21:?m$c$c$t$t$t$:?:?tab(21)s$(2)tab(33)k$:?:?tab(17)m$c$c$t$t$:?
158 ?tab(17)s$(2):?:?tab(13)m$c$c$t$t$c$c$c$d$d$:?:?tab(13)s$(2)tab(27)d$d$d$:?
159 ?tab(15)t$t$c$c$c$d$d$d$d$:?:?tab(5)s$(2)s$(2)tab(23)d$d$d$d$d$:?
160 ?tab(7)s$(2)c$t$t$c$c$c$d$d$d$d$d$d$:?:?tab(5)s$(2)s$(2);
161 bo=119:x=19:y=23:x1=5:y1=21:mb=0:return

rem --- screen 10 ---
162 sys49176,0,5,5:?d$d$d$:?:?tab(5)d$d$d$tab(29)m$:?:?tab(5)t$t$t$t$tab(27)t$t$:?
163 ?tab(23)t$m$:?:?tab(11)s$(2)s$(2)s$(2)m$m$m$m$s$(2)t$t$s$(2)s$(2):?
164 ?tab(17)s$(2)s$(2)s$(2)s$(2)c$t$d$d$d$:?:?tab(5)t$t$t$tab(29)d$d$d$:?
165 ?tab(5)d$d$d$tab(25)t$t$t$t$t$:?:?tab(5)d$d$d$tab(23)t$c$s$(2)c$k$:?:?tab(5)d$d$d$;
166 bo=99:x=17:y=23:x1=29:y1=11:mb=3:return

rem --- screen 11 ---
167 sys49176,0,3,5:?m$m$c$c$up$tab(31)m$m$:?:?tab(11)s$(2)s$(2)s$(2)c$c$c$s$(2)s$(2)s$(2):?
168 ?tab(5)d$d$tab(31)d$d$:?:?tab(5)s$(2)s$(2)s$(2)c$c$c$s$(2)s$(2)s$(2)c$c$c$s$(2);
169 ?s$(2)s$(2):?:?tab(13)d$d$c$c$c$d$d$:?:?tab(11)s$(2)s$(2)t$c$k$c$t$s$(2)s$(2):?
170 ?tab(5)d$d$tab(31)d$d$:?:?tab(5)s$(2)s$(2)t$c$c$c$s$(2)s$(2)s$(2)c$c$c$t$s$(2)s$(2)
171 ?:?tab(13)d$d$c$c$c$d$d$:?:?tab(11)s$(2)s$(2)s$(2)c$c$c$s$(2)s$(2)s$(2):?
172 ?tab(5)m$m$tab(31)m$m$;:bo=99:x=19:y=23:x1=19:y1=5:mb=0:return

rem --- screen 12 ---
173 sys49176,0,3,25:?d$:?:?tab(7)d$tab(19)d$tab(29)t$s$(2)t$:?:?tab(13)d$tab(23)t$s$(2)t$:?
174 ?tab(5)t$s$(2)t$c$c$c$t$s$(2)s$(2)c$c$c$c$d$:?:?tab(11)t$s$(2)t$c$c$c$c$d$:?
175 ?tab(7)d$c$c$c$c$s$(2)s$(2)t$c$c$c$t$s$(2)t$:?:?tab(13)d$c$c$c$c$t$s$(2)t$c$c$up$:?
176 ?tab(5)t$s$(2)t$c$c$c$t$s$(2)s$(2):?:?tab(11)t$s$(2)t$c$c$c$c$d$:?:?tab(17)s$(2);
177 ?s$(2)t$:?:?tab(7)k$tab(23)s$(2)s$(2)s$(2);:bo=99:x=33:y=23:x1=29:y1=3:mb=0
178 color3,6,1:return

rem --- screen 13 ---
179 sys49176,0,5,9:?s$(2)t$t$t$t$c$t$t$t$t$s$(2):?:?tab(5)s$(2)c$t$d$d$d$s$(2)c$s$(2)d$d$;
180 ?d$t$c$s$(2):?:?tab(9)t$t$d$t$t$c$t$t$d$t$t$:?:?tab(9)t$d$d$d$t$k$t$d$d$d$t$:?
181 ?tab(7)s$(2)c$t$s$(2)s$(2)t$c$t$s$(2)s$(2)t$c$s$(2):?:?tab(5)m$c$s$(2)c$c$s$(2)t$;
182 ?c$t$s$(2)c$c$s$(2)c$m$:?:?tab(5)t$s$(2)t$t$c$c$s$(2)s$(2)s$(2)c$c$t$t$s$(2)t$:?
183 ?tab(17)s$(2)c$s$(2):?:?tab(7)s$(2)t$t$t$s$(2)s$(2)c$s$(2)s$(2)t$t$t$s$(2);
184 bo=99:x=19:y=23:x1=19:y1=19:mb=0:return

rem --- screen 14 ---
185 sys49176,0,3,19:?t$k$:?:?tab(5)s$(2)d$t$d$s$(2)d$t$c$s$(2)d$t$d$s$(2)d$t$:?:?:?
186 ?tab(5)d$t$d$s$(2)d$t$d$m$d$t$d$s$(2)d$t$d$:?:?:?:?tab(5)s$(2)d$t$d$s$(2)d$t$d$;
187 ?s$(2)d$t$d$s$(2)d$t$:?:?:?:?tab(5)d$t$d$s$(2)d$m$d$s$(2)d$m$d$s$(2)d$t$d$:?:?:?
188 ?tab(5)s$(2)c$t$d$s$(2)d$t$d$s$(2)d$t$d$s$(2)c$t$;:bo=129:x=19:y=23:x1=17:y1=3:mb=0
189 return

rem --- screen 15 ---
190 sys49176,0,3,19:?m$c$c$c$k$:?:?tab(7)s$(2)s$(2)c$m$c$c$t$c$c$m$c$s$(2)s$(2):?
191 ?tab(7)s$(2)s$(2)s$(2)s$(2)s$(2)d$d$d$s$(2)s$(2)s$(2)s$(2)s$(2):?
192 ?tab(7)s$(2)d$t$c$c$c$t$c$c$c$t$d$s$(2):?:?tab(7)t$c$c$c$t$s$(2)c$s$(2)t$c$c$c$t$:?
193 ?tab(11)t$s$(2)s$(2)s$(2)t$s$(2)s$(2)s$(2)t$:?:?tab(7)s$(2)s$(2)d$d$t$c$c$c$t$d$d$;
194 ?s$(2)s$(2):?:?tab(11)t$d$s$(2)m$t$m$s$(2)d$t$:?:?tab(5)s$(2)t$c$c$c$t$s$(2)s$(2);
195 ?s$(2)t$c$c$c$t$s$(2):?:?tab(5)s$(2)s$(2)s$(2)t$c$c$s$(2)t$s$(2)c$c$t$s$(2)s$(2);
196 ?s$(2);:bo=119:x=19:y=23:x1=11:y1=3:mb=0:return

rem --- screen 16 ---
197 sys49176,0,3,19:?k$tab(23)up$c$t$:?:?tab(5)t$t$t$tab(23)t$c$t$:?:?tab(19)t$t$d$d$:?
198 ?tab(9)s$(2)s$(2)s$(2)c$c$c$c$d$d$t$:?:?tab(23)t$t$d$d$:?:?tab(13)s$(2)s$(2)s$(2);
199 ?c$c$c$c$d$d$t$:?:?tab(27)t$t$d$d$:?:?tab(17)s$(2)s$(2)s$(2)c$c$c$c$d$d$:?:?:?
200 ?tab(21)s$(2)s$(2)s$(2):?:?tab(5)m$m$m$m$m$m$;:bo=99:x=33:y=23:x1=31:y1=5:mb=0
201 return

rem --- title ---
1000 fast:co=0:poke2040,160
1001 fast:gosub95:sys49176,0,3,0:color5,8:?tab(8)"XXZYZYZWYZ"spc(2);:color5,6:?"WZW YZYZWWYZ"
1002 color5,8:?tab(8)"WWWWWW WWW"spc(2);:color5,6:?"W"+chr$(124)+"W WWWWW"+chr$(124)+"W "
1003 color5,8:?tab(8)"WWWXWWWWW "spc(2);:color5,6:?"WZW WWW WZ"+chr$(123)+"Z"
1004 color5,8:?tab(8)"WWWWWWWWWW"spc(2);:color5,6:?"WWW WWWWWW W"
1005 color5,8:?tab(8)"WWWWW"+chr$(123)+"WW"+chr$(123)+chr$(124)spc(2);:color5,6:?"W";
1006 ?chr$(124)+"XW"+chr$(123)+chr$(124)+chr$(123)+chr$(124)+"WW"+chr$(123)+chr$(124)
1007 color5,2:?:?tab(6)"-starring little archimedes-":sys49176,0,24,13:?"@2018 rksoft";
1008 sys49176,0,11,5:fori=0to14:?t$;:next:?:?
1009 ?tab(5)c$c$c$c$t$t$t$t$t$t$c$c$c$c$c$:?
1010 ?tab(5)c$c$c$c$s$(2)c$c$c$c$s$(2)c$c$c$c$c$:?
1011 ?tab(5)c$c$c$c$s$(2)d$d$d$k$s$(2)c$c$c$c$e$:?:?tab(5);:fori=0to14:?t$;:next
1012 movspr1,64,186:slow
1013 gosub1021:ifco>0thenreturn
1014 fast:movspr1,0,0:gosub95:sys49176,0,3,13:?d$chr$(17)chr$(5)" - 50 points":?
1015 ?tab(13)k$chr$(17)chr$(5)" - 150 points":?
1016 ?tab(13)up$chr$(17)chr$(5)" - extra life":?:?tab(13)e$chr$(17)chr$(5)" - exit":?
1017 ?tab(13)s$(2)chr$(17)chr$(5)" - magic block":?
1018 ?tab(13)m$chr$(17)chr$(5)" - lost a life":slow
1019 gosub1021:ifco>0thenreturn
1020 goto1001
1021 j=1:t=1:fori=0to200:co=-(2*(peek(211)=2)or(joy(2)=128)):ifco>0theni=200
1022 j=j+t:color5,fa(j):sys49176,0,22,7:?"press ] or fire to start!":ifj<2orj>4thent=-t:nexti:return
1023 nexti:return

rem --- init ---
2000 fast:ifpeek(8192)<>126thengraphic1,1:graphic0:bload"gfx",b0,p8192
2001 poke216,255:poke53270,24:poke53272,24:color0,1:color4,1:sprite1,1,11,0,0,0,1:sprcolor1,2
2002 dima,c,d,e,i,j,m,n,o,p,r,s,t,u,v,x,y,x1,y1,z,z1
2003 dimbo,c$,u$,mb,s$(2),t$,j(8),k(128),m$,up$,di,sc,li,co,ro,r$,h$,fa(5),x$,t2$
2004 u$=chr$(17)+chr$(157)+chr$(157):r$=chr$(29):x$=chr$(145):c$=chr$(154)+"''"+u$+"''"+x$
2005 s$(1)=chr$(153)+"ST"+u$+"UV"+x$
2006 s$(2)=chr$(153)+"GH"+u$+"IJ"+x$:t$=chr$(154)+"AB"+u$+"CD"+x$
2007 t2$=chr$(149)+"AB"+u$+chr$(125)+chr$(126)+u$+chr$(125)+chr$(126)+u$+"CD"+x$+x$+x$
2008 d$=chr$(154)+"#"+chr$(151)+"$"+u$+"%"+chr$(154)+"&"+x$
2009 k$=chr$(154)+"["+chr$(92)+u$+"''"+x$
2010 e$=chr$(150)+"KL"+u$+"MN"+x$:m$=chr$(154)+"OP"+u$+"QR"+x$
2011 up$=chr$(154)+":;"+u$+chr$(155)+"<="+x$:h$=chr$(19)+chr$(17)+chr$(5)
2012 fa(1)=1:fa(2)=7:fa(3)=4:fa(4)=8:fa(5)=2
2013 fori=0to8:j(i)=1:next:fori=0to88:k(i)=1:nexti:k(86)=2:k(85)=3:k(83)=4
2014 j(3)=2:j(7)=3:j(1)=4:j(2)=4:j(8)=4:poke53282,11:poke53283,1
2015 pudef"0":hi=10000:v=1024:m=1:n=2:d=64:e=128:o=8:z=40:z2=80:return
