P- p }@o  @` o')+-/1 39;=?A C@E`GIKMOQ S@U`WY]_a cimoqsu @ ` @ ` @ ` @ ` ǀ ɠ @ ` ׀ ٠  @` @`!Aa   !Aa/#A%a'+-/1!3A5a79;=?A!CAEaGIKMOQ!SAUaWY[]_a!cAeagikmoq!sowy{}!Aa!Ao!Aa!Aa!Aaǁɡ!Aaׁ! " B b  !"!B!b!!!!!"!""#B"%b"'")"+"-"/#1"#3B#5b#7#9#;#=#?$A"$CB$Eb$G$I$K$M$O%Q"%SB%Ub%W%Y%[%]%_&a"&cB&eb&g&i&k&m&o'q"'sB'ub'w'y'{'}'("(B(b((((()")B)b)))))*"*B*b*****+"+B+}@o  @` o')+-/1 39;=?A C@E`GIKMOQ S@U`WY]_a cimoqsu @ ` @ ` @ ` @ ` ǀ ɠ @ ` ׀ ٠  @` @`!Aa   !Aa/#A%a'+-/1!3A5a79;=?A!CAEaGIKMOQ!SAUaWY[]_a!cAeagikmoq!sowy{}!Aa!Ao!Aa!Aa!Aaǁɡ!Aaׁ! " B b  !"!B!b!!!!!"!""#B"%b"'")"+"-"/#1"#3B#5b#7#9#;#=#?$A"$CB$Eb$G$I$K$M$O%Q"%SB%Ub%W%Y%[%]%_&a"&cB&eb&g&i&k&m&o'q"'sB'ub'w'y'{'}'("(B(b((((()")B)b)))))*"*B*b*****+"+B+SOURCES  sR5README 1ST wREVENGE PRG Et X_ DOC }X%INVADER3PRG lw aR.  sR5..  sR5AFIRE SPL t + ALIEN1 DAT t ALIEN1A DAT t ALIEN2 DAT t !ALIEN3 DAT t "ALIEN4 DAT t #ALIEN5 DAT t $ALIENDIESPL t %ALIENKILSPL t ,M ALI_DIE SPL t 0ALSHIP DAT t 4ALSHIP1 DAT t 5ALSHIP2 DAT t 6ALSHIP3 DAT t 7BULL PI1 t 8B}CHRSET BIN t XEXPLODE DAT t ZEXPLODE SPL t [: EXPLODE1DAT t dEXPLODE2DAT t eEXPLODE3DAT t fFIRE SPL t g FIRE2 SPL t kFOND1 DAT t pFOND16X1DAT t rFREQ BSC .t tGENST2 INF t vGETALI BSC t wRGETALIENBSC t yGETEXP BSC t { Budgie UK Licenceware  The programs on this disk used to be part of the Budgie UK Licenceware scheme which ran from 1987 to 1994 and was well supported by authors, PD Libraries and customers during that period. Due to a decline in the ST market during 1994, combined with a lack of new titles appearing on the Budgie label, it was decided that Budgie no longer had a future and the majority of former Budgie UK titles reverted to Public Domain status (rather than go out of circulation completely) from 1st December 1994 in the interests of the ST community. There now follows a copy of the letter sent to Budgie UK distributors during November 1994. *L After having consulted the senior members of the group, it has been decided to end the Budgie licenceware scheme on December 1, 1994. The last quarter requiring payment of royalties is therefore Sept/Oct/Nov 94. Beyond that date, all Budgie titles will become Public Domain, unless a particular author specifies otherwise. Please send your cheques as soon as possible after Dec 1 so that the operation may be wound up and all royalties distributed before the end of the year. Many thanks. Camy Maertens November 11, 1994 *L `VE"*o$|B?< NA/@ L&JY(JY,|@: gtae `6xva|fb4`ahd6adda`eraBRB`aNex6<aPf6DV6a"J!Q`f Nuxrtf BQ2RAISAfNurtf BQNua6t`v `NA" S?( B }*jh J-VEJR5řpp&MRMRaGFVaTW#sF. NJuM*3"JfB+,_fjd|Bf^ PfX 0%RYIJfLr3eg:0e<9d38$IAe(azd"Fc`aeb>1 ҝ`²$Wa},Jfg$HNʺ&IAp\<}blBNw,aaT̼"7$ pip:/P/LNVH(QJC~qo4V;oB~l&L\8Y3"XI#I,2B"䈳;2gp#Ɇp" XA"pSfP" yt`TPw˂0BAHAR&n&\BCH(CF Cp4.I/ S/%/ / 2{Jdu(_N `*>9,g/tack?De-Cr`ip4~FlSiѰ䧒HelScr%e5zf/Wid*IP)HWbhWV6W4}/MarkerBckQ*IC)Se/i#nfigP򔫣ILL%LoTad!#XbecPżلhXVtR%1Tgl50/60Hz#rc/OZ ZIn?SEARCHINGhrGinu5PվytkeyG6ogL9MqZmENewTABwgthg~-mao|UPzaWasxBݤrea7lywtoqui0(Y/n)4anky=Ous=gVThRengRDocuBnt+DisplayeW]Activefo\rYhouriminutes#seconds[Filename:EX|0!_pJp|01(310/r&wE,#p5AnΠVYn5Dm’:r d_6K`.9 cv?)61=PƎkb Da)0X"\`8r? R(` r=Cm+">7rD<,7rҁār0|#Ѝ>!Xr3qH~:|GQ |H^8B e 6óB Cpn1DEFF+GJ ?NJ6 &eջK ` $*50cpb0<')QL54b8yV:Bdyv-BR3<0| 0qp^ ?p6#QB6Cl=S}r+dt gRٰ =e,A;`Z]ߦ 7%lmN54E.~"TmŕL r Ё# j.c6D:RwMYh1-AǙhX̭x̯||Rp f7DoN~֐;A' SL WH+ 1JLfJn.1. r#p"p "_ `ŘR\Kel \v0 B57~j/~^r!u4NMQEW#S8^r9AƒD-fBaXzb"QR(7k.p=|#Hnr~rr#hC*CE/`*-pd/x|b7Jfq~Rut:բ:`8t"?^XBtBp<ҽ#h(pfk} Ice!fBhÊbO"oDx`Qrr.c(Zo:QPqrtF(]reK<U~H#QXR-~6k?\Yñ=Bmp./F ". `w\FˆJ5h f`Rm-*HmBXEMz,p`oL,`H]eNRfI`"p*6K빢g&x3`^W> q\.RpmY {Zpp/WR"XLD><0.MEO؂bHib,E`~ D D>M\eqQzH3g5z&D9Hzys"a pXNgƆp0gLzp0 cnp% bp|JVp x%J<$>c8Y 2K1&1x'U) p) 'lp`bp Txcp<1Ҟfz@`tRq: *Hgf5GEdjgJf ,܇` o,9ԕJf`?VN(jH <фN#i!+̪5U>? ̝̈YM !ؽx`RXMnS-l|nB#iI0`4 R{ogT` 5\BRm֎u/i&p|DpAp(ʥYtp0йyeJi-~Jcɶr&Ep-r @ "BZ .0ozzp lx6 C0*"&#& rP ayA_KBLHwHNLpQaRu  jB` a.pp t|v Pu8rsE (0r&%C&%VqZt,r&(H,3qXeY`Ix&NVJLC NpLr jp PrCNHx<6p r D HOHyÄ p<k(? /&6?=O 6?/7p>mla-lS^O`p\r"{%Q"vM09\؄UpfH;w7Bgp =p?D\Oܥ{zpllb#FX%pv/"p8*4.5͹N8?n>' Z-qJGMAb~U0E4Tn^jn`iL:gB0tJU/aS>ۂOe0b?Elxp Qpƣa_gK F#Z|vl6|=Sa|,|rbɨB1֟Ebl~0`^ص$qjx(~LǷfQDz#_D¯ ^0R/^Tlflxla1<6MPB'&Vaz}ox5y|fB_ xQ (ܯ_L$pbg2?74bI(^8pTo+ɊO ?~),@)j04{`,:}G(z0|"*``35~,G_X֢-|OR>fGI0`/>֋kÆ6n֟uhmmXt' eؼGyv)~Kw^'EW4XѶ 䨡8zxy~ý@~v-<=Q5&|0׈F~Z`?OZ7-Ѫ)-xGĮJr(}>4xXbx4בBXlX ,oOfٯ6vcSf_"K?6vbv|` f-z'Hfn0feR ť8-< 8y&}$(6xP2-8oT6B^>p`Xå>bh9b/4 -/6_2LJݶb=Tp0@#"f8lmHx 8 &%YeoeTHU |P~|6lB1UQ氷p{{vx<¬~i" X`08^* F#4bq\C?$f=fn(AX+#\z!D.耒E @! Cpk/@E윿_j i0 h95 ~W .ܽ$gwD51g GO\1 !Bq TA!hhCQ["; :%f!l-Q\Aa'&~Tea!xZ|/^w<h>p<F6/"t"'ˣq8z;Ƃ" "Q{k,8{z8=^{/b򾜂;9$fBÄ\?Ŀ<2O|#kb|2؅O!W%6q<<<" 8x A-EDbK !:xEƄGBCBa~|L-v{h?&E!O0 1~|"x|?dz DZTvO18Y'OVGa7_4UV!h!:MEgA/rE l_Tw0f2a0nD3=#&,2f2?d 1qH2ðl6lذ />>(X_ȟ !=/n~v,Pf? ~ Hwސ2tXDRV!2zL߯cz:t NQb[_U0QAh<8 f|;wî<@G\?`gUln\gnAGx M E l6 tBf!3t.>[| UރD Z8$8f!~~>@6[Сvh"nfv>O62<L1mhff3bܼb*,||l``~b`9Q(* `o] ],=єb@f]B~p0@PTyƁS|8<~I~!§l(l">y0]f[Bf~<" |耒|F>~~>|rE"a`E>`8p 8IDؘpg{~@ >|}*8lDl l8P|8K<ytEPpT0xDH0H%`x6)x0H0 w*0[  !$%(),-014589<=ADEHILMPQTUXY\]`adehilmpqtuxy|}BD1?$~pV`XyC2 0g> Ag3q<<V8ءN`W?0VA3"V)P"ɢ S"DTKA./l/9 :$y`cOEz'Ѯ2<?+OQ4R#"ظ101"<SSwfpw ø~\Lȩ0;g*PA,P8pˉLH((Q0>u fH/4x ֠łбb&_&L)+rb}7bQQ'xvjGRww.TP1=DcpY΢p,Ankk-*_TR*mpvbp=M!z//͞tg[z;=Qwd.b(581^.;Q*rPЁ&dtd5bY&$,S ėNĐ ItDK?I /*'|:l3Bn2fC6IhnB( hH34 =|`^RDlhǶp/ T*MHnH[t0a."u"Rlt&]vBfQ1DpwnT`EB-ARڌ,o,Kň>Cᱡ(JzYL,AShH-IJfl!HHEӨ'$ZK?%,>PO@dzE5~חtP4ruw^"+~$M^ܙl߫tQ&ZB4I4*B$)BS$)ZZ5"l4z `pWX;1ÖRXMV%eRVjӟ)30s"O Kl!s|1qDŽ+? v՟ jp #^p Rp Fp .:p &.p-"pbp.c|aHF` p!38.,N~?7[ETop1V*BmofqvGoh")TABhHfo\qh/RepS c/StarJEbŬ]HidgK4BlkJWbhol>R[3nfigL^1|.1Anq;K1MhH+pU?XExiDbplaye_4$~,jt9.,E b5J^f - 5z9~`1M|W6z#N.ݼh;LLkF;L;01 4kFrA$D^j(.,uǚucXjU"A` BN@P2#p^CN~5B`|Fb"C$g{Wg rNE D.z/grY~X) &dh [D+OĮyT(b{_1dbFHz HnpOBgpK=^^,̓ 2M`$pfap  ̟ pdtHbEC&CpD Q.DhDp!5 pnIEp&h n`x2"pe踶aێKXzpX #3V*"``p3fX +ѫr 1jsL!gth 'NNumbNsSDە }etwenڢtPxvyB&ەAg'ndBr"->TPorCanc/ThiXMenu -21"YEooNLQcaftE1r 5hSialBQ dJeCoulges-]Pl\ease Wa支Ha.;|`Kr`XPpUNp!5r6b f&p$pbMD2Jx2_>Cp ^L 41pC j!| |Wp*1XO_'vLi|q(|qfpV1f&Ej&4"`"J&A/$%:*X`f-D`Wr#"1RXMp WLW*H&IZ-RJ5f L(E' pD3BTo W]p-rx(/2OC g*jr01er9Bb$ ~__.r$:Jgpv ~` CTM 5.HxG`bbLoN|qHh-F~Uzj" ̦z:rz`2Һs$^Ro`<Ec:|z+%o.(f36`#;:~L`DCDq~RpFmmL߆ޞ:"5_nТBPO2.{1H/4. -Axz8;Br 4|`|:-Fgųx`JpށJ=$^t.h1 C2.jxQ,+<6r&L)E'q֞p Fp% bpM.1"d9CNJp#A uD).PG*arzC &x?Mp ?dWGfvpH`^urrbʢnPQL߀NuIce!>۾zYx rû xpxp /ls5)5<;wBuKapxĴnD.AD۟]x#x=8\ #u?pg\,nww8s0 /u9Ve01s̎\ 3w7w{ G"NLv3Ӝ۝G+Ql/fM{fxve^g:w(MG,Yvf]?x!$zO%bc>xW)u]ش7 2`1cQօ>W7`g̴a7߰/<wqmB/ypn$<8' w]#n9O8 Bsٖn?xj/n 8K*-S hX9 鹭,i^0\D`pyr l*;8q ;sw8o&Zqnmแ8Q,s@ⴛLE䁺F3KݹMe-jpϙ28t|eлGx3YX#1Տ$z6Bw7pwܤǼ>?a8p8N1p>'j!pw{ncg`ic83|%߅78+g'6 :u8]/q㈬g3GCEa1ǎ+8gьVpi].cϿlmfl]"8nXp_ǜwGwsdzS0 8\`0z3$Gs/8 xX27m;haKK6x &Gx'Xa-l3 ð|Ϣ<ƿq(vs 02]HoM,z wufߖHM>ك݂(`ec܂w#aϖwa\-9L|nW%. ԅ;̶ | $8xtzor{Rp6R(`q~0L`̮0  bXQHho1h1t# MXQKEtr*vP#Ǐ<0 ¯9HIf{"&o&ı!݁\g-($!%?hXֹ%x! YwW-2k y}!pռ*ry\ B >rsµ~os^XpI5#-J<׫:((Vb^p [P8HjV;vxmx܀ ~/py<Y*mŸ(&<U-^>Xǁ7wo8召{R x5%/܆ tw] q : Sv0TV,?bH-q 78Ø\CL3J8Т<OYưa+~jAy.>AxC<wK=z-RSۿ۟s̏_ ( o*'1VQ :.dO5A$k ,)5#<{7mPH7m:3픙o47w|}"yѺn e$wp|+gt ۧ/u ,).<Yׇw;NVYwsx :G`wpN 6R)T#r o7֨/Móo'eN%a<7wv6 zy*[^BcwFc #SwΖe,wg <ܼ)h[;9#*h/q%l73 )'<;lw%4u>0x>3`QwERwo Ϗ 8vLntn Ao&2߷'`l8]`xܿ0a ejYGdO{ pT0{w;7?Pƒsxq6pK3o,>\ wx3>qxvpóuzr[۳~4;\Tz?r=Xk (“K'ׂ `CpD༸nQT} `ӓP{6 %~ sg`V>FP)yh^qUsT` ~*ͪ |frSf*7?ލYoUTPxQ\,3*ttf pRUr p13-ww,fwެ3瘯=T/Yc8g(>cx߈l1g)8'Pi]Y>v' ݐCx_ _p&sS|8nA w+k ݩ~/(B?g_a<{H<׳p"\T%c;K6xr6{ qA(x;LWx qpOwG FQ\| ڬ?8ь8RX@Tzj>XH>T,iP]oK&+!*`XLHo*Qbb,<**9b`*&UB`(m l,8GrRL~/ERX1ʫ.LY,:-zpwbr~v` rZ.hGwGx>1j*Xܪi^_-M\WnD+E_Z5/2vH?`.QQ4)j/J-BXg / eaU2}Fpb%EVQ&Xjjbn^$i&o JH2 "g(JRk E(oQk EJ`&gd"C`v=Xg4"Y&*`(Ej87AgΚf7Hz8;/;JEgjM*0j9&goep|](m<FB 0 c `"Ese">6#D-g8$Yg #GX'4L5E 6(g"CێKBEB$ef 0Xܲ ."P&Q/H f`0\$Zf 'm .ѓ`sk)*tomKJ]"Uf.@s fڸI,/MEhǓ 4U䄳?g'*IMY\H~|6A`,T4_L&PPB*Le:+yH&"Kлc`(XMdxNb3&M*S fp+B !SZ&alRXP,m4((,MD2X#ȄXqYH<0"!f#1UT, "ADo$8m0"g`&@(u ;b&mg$Ct4keԂւ>` $JRjT&85ZJDk8D8'"0x$I؃TqkO5M5TJP(gJ(DGHJSkI7l4&gHCJ`Cf3ԃԁe'k`Pb`JgD"/ g"ASH""L -H#n-I8- g0p 2U.kP; 5]6.3g>Hp>XZ<~(<(Z"f8#FD=y=`0D~R&PfS  3E1`Bg/p)~gJp.pF.D\O:Ҙ"alnBC L,N^TiuHU4T(vB*/^2/+$Bo> Bg?(Hxn2BEQrJmWD?4 NAOP pl0L8Nu ;6=C]?6A1B CCDѰTDU1 {WXY1Z C[\]5 5n^6l 3v\(DH^"DDa$H " r^F(h *&8pϵFVHU]2RR-lio*26*V"&;g6JW𲺊(G> VXR,0jXd8(,&. BP[Q N 08hA v (,Q3V2T0.2$Vf@ j.Dl4,"Zs0TRxfN@k,42*J06`lNT\:˕r&M"zޝ 7vp7"%zp} >< _ d*8y"L2T0(U " P$$EU"d_3x P8X!$B!$?u " 5 , o0  .$.20d: (7\ *>   FTd S VPOPIH? gzo]Sf~mTOszeMWZ`ymg{I4hŊA6xĀ:;ywORm~dWzآJ+g՞]Lcx{.9{P5]ƗmOHhAFi2=qxLPY`÷N=ThyĽyPO`i|Ǭf`XUjƳwYRY\gĹ}bPQUXh}obVHHWcnwg[I@K[dnyymZGCB?I_o{whUKF>?Paks{wvvaTNFADGK]u~ziZTSPNHEOcnj[XrsULIDHU^_]\^]_tsXWm}u]LRcnruzŸƥrlmlg]W]ltl[T`p{ô|aSXcffgfZKK\nvy}ȼmRN`nj\QQUXZ^a]SO\r~yqpzztlfd`_dnlW?| `` f a1)i@5  j  <<~<` 0 $P۠ <@`<ZB@@@ 0f`0?O )L0fhO,@ 0 @`` H0@$P` 03eS1eY,4m2L 0     ` f i2 c)f@4 m   <f<~<Z<` 0 fP <ð@`$BBB 0f`?0O )L0fhO,@ 00o`/@/@ ` 03e1SYe,4m2 L0   ` f i2 c)@f4 m   <f<~<Z`< 0 fP <@`$BBB 0f`0?O )L0fhO,@ 00o`/@/@H@@ |)v !^@g9@q@A 8ǀ2 8c3  @3 y@y(HP&1ΐ`#xH.1 ({P1K?Pm@  $8 t !sx^-?s:_'n{zC 8qwEtXxp8@`\#΀)dv ۀ^!@ހw@;q@A @]@8( `3@ y@y(HP!2!y.H 1(P{1K?Pm@ Ds8 t !xs^-?s:_n'{zc8qǎEw4h@8xpQC0@! 6 w;ƀS2,̀i2  !C0@0x3y y1 3@y` yy3x13 a?`m@s` 3$aX30@`?a3  `7g'ls8Tt\$lo30`,#C@0! 6 w;S,2i2&!C@00x{z J1 x@`J IHx13 a?` m` m\X@0@`La3  `7gl's8Tt\l$o30`,#Q  @8@@Lf@]# &#1`@@0@z0 x#3 x.y {@ y@ 0@x`0   ^`@s am|h! a`3p8 w P(`32bg0H8DH7$L3d`   G8AA@f@ـY'    0{ @0@x3 x>y  | @@I@1| 8  ^`@s a tmh3 m`3 0 w Pp07"g͟0H$H$7Ld3` Q@`#10&<Y'F@́@@@8  8 } 9P}p@| >y 3x x0@ @{0 ``x t ?L?a@_` ` N3dH7$0@8gb32`P(w 4I0g8&Y'F؀L̀8   0x` @0 @y y@.yж # 3x x0z0@ ; a  h dm  as @^`   @lhC< 3? ` c̀PxL 8fkE%K{qE?foE/-Bsſ{Q'+0Xϼ{N;)>TȤZ469cŲW?(AZѯ_246_̸`C';OӸk91)MrɡyP'09j±Q64N̰c2(FnȾoD!)Yȹ{L."5fDZj8%-IyťW*!;^}M #IpûnH"(/\øe@'2a˾Y7&7dʺ~Q6,=mȸzL1);m˺yJ-%:j˻zJ/(;jV8&3bZ5,YĹj@(S~|N AiȬ^, 5Uɶq>'#7hS0&SP!?dȰh8$'>lµ^9(Q{ťX,!4RϾ}N0"1\à~Q$7WϽ|M/-VǧX)0Kwƹ_;$Jq̶p@("3aģR"2LzȾlE?`οV8"*Ot˵rD.&4\ǰl>,)7`Ūb4)/@jƨ^3'0Dkä[1%+=gƪ^.#);fˮc5#"2\̹r?((R|о}M/ BeǼj?/IuȨ[. 2]ͼxF*AeɿrF$7e˲g5 "HnrE#7a|J+ :[Ȫ\, 'PzȽh?"5aS3.Gt̹s?% 7V˵m:# >aȰd1 =_ɱg6 :Z˷p<# 2NyοU3(>l¶`;+Uç^1 <]˽~N.$9c}Q&  Beʺ|O. "3[Ĩ\+ 2LvŻlD  Cg¶_:(Nu˼Q. +S|˼V4(Q{˽W4 $Hlùj? ;XU()=hɶvH( 'MtżxM#,BmʼU1 >]ĭg8 &Mu£W)  0\ƿW+.Xž[/ $JpílB$ ;ZȽc=  %8dƿa8 =\ɽkE (Mrȹ_; "1[Ƶ~X5  #2\ƶa< (LqʽxQ* 9TŽrO0 #1Xǹ}Y5 .ApŵwT2 1HuƾvR/ -AlµiK-  )MqɽkK, 1Fpu_B&  8QzĹv`D) 3HsǽsX=' $1UzŸtaF+ 0CkǻsaG. 1FlĹ|oXA+ $1Twr_I3"2EjtaJ3"-=aùzdN8" (C_¹xaJ4 'A\Ĺv`H1  +<^ǽr\D, *;\}¼v]E/ #;Tsſ~dK4 .Ab½v[@*  .@^}zaH/  2Ff~dJ4$;So{aH/  (@YsgM5 %:OjfI0  &2I`x¿kQ7!  $4E]umS:! !&,>Pg~waK4 $(-483-'  "&*.259=AEIMQX_r¿vlc[SLE>83.)%! !%)-3:GT]gowy|pdXLPUi~̳ϴ̭ǾpWpcEJOinV?0":Sg|wscT8+9Rks|naO=-:Xm}rhN5>GeudQ?_uX^d|dMfsXXYv}]>Qe~s_L:Vs{^BEHh{mR8Ph{dWKjtW[_x[gtkTlf]TroQV\v`>Pb~|nR6SpwfO9WvqVI<^oUTTqmNSXwgGTbaDXmv\CUhtZ@WosV:UqlU?[wsZA_}t\E]ux\AYq}^@UkcFXjeCO[xnLNPrrOHAd{_L:]mQ6Tr`?VniHPYtuWOGfnS8Ur]9Mb}sROMlmWBacDR`~xXMBev[@[vmKHFgpVSi{{cOShzy`GNUkfMIE^x|nYDR`rhQKF_y}oW@M[pubQAWn~n[QH`y{aHFD`|xbMMMd|u[BHNdz~gPMJaxp\OBXo~zlWCP]rkXPH`yvgS@N]phRG=Vo}v^GILe~}r]HOVi}}s^JLOf}~v`KIHa{{jZODZp}tgS?M[n{k[QH\p~zsaOMLczwo^NOPe{wo]LPUh{{vgXRLcz~{nbTGXjzxq`PRTj|rhWGTbs}si[MYew~wpbUWZn~~~zvhZUPcw~}wqcV\ct~}sj\N[iy~um\LYfv|xi[WTh|ysfY]aq{vi\]^p|xk^ZWi{}yl`acr|wi[]_oukaWfuyrh^it}}yl`acq|xk_acqzth]eny|vh[agsztgZ`fswodZdnw{nb_\htz|xla_]jw{}zpga[gt{}{skbY`hr}~}|xti^]\huy~~~~~}|zyrlc[_dnx{~~}}||{zzyx<bx 8E{qfEB̿{'0ϩN)TȀ49زW(Zэ26`'OӞ9)ry'9ԱQN̕2nҾo)ȫL5ǜ8IŅ*^}#p̻n"/ϸe2˲Y7ʫQ=ȩL;˩J:˫J;ͳV3γZ,Ϲj(~| iȑ,Uɤ>7вS&!dȘ8>е^({Ņ,RϭN1~$WϬM-Lj)Kӹ_$q̠@3ă"LӾl`ΰV*tˠD4ǚ>7Ő4@Ɗ3DÆ1=Ǝ.;˒52̦?(|ЭM eӼjIȈ.2ͫFeԿr7˚5 "nr7ѯJ [ȍ, 'zӽh5бSĢ? Vˠ: aȘ1 _ə6 Zˤ< NαU>ζ`+Ì1 ]˯N9}& eʪO 3č+ Lлl gζ_(u˭Q +|˭V({˰W $lιj X(=ɤH 'tϼx#BʮU ]ė8 &u…)0Ϳ+.̾/ $p×B Zȳc8ο8 \ɲk(rȪ_1ƥX2Ʀa(qʰx* TνO1Ǭ}5 Aťw2 HϾv/ A©K)qɲk, F_& Qй`)Hҽs=1zŬa+ CԻa. FϹoA 1w_3EͶa3=͹zN" (_°xJ '\į`1 <dz\, ;}·vE#T˿~K AȽv@@}Ża/ F~J$Sa/  (YžM %OĽI2`ſk7 $EuľS!!,P~wK $-3'"*29AIQ_ƿl[L>3)! %-:Tgw|dLU~泩Ϛ̏ǵWEOn?"S|sT9k|a=X}h5Gd?Xd|MXY}>e_:s{BHm8hdKW_[tTfTQ\>bn6pf9vVichyGUMExnD`QFyo@[bAn[Hy{HD|xMM|uBNz~PJx\BolC]XHyg@]R=ovGL~rHV}sJO}vKH{{ZDpg?[{[HpsOLzoNP{oLU{vXLz{bGjqPT|hGb}iMe~pUZ~~vZPw}qVc}jNi~mLfx[T|sYav\^x^W{y`cw[_kWur^ty`cx_ct]nv[gtZfoZn{b\txa]wzg[t{kYh}R|t^\u~~~|yl[dx~~}|{{zyyyxxkA#3R}nL7 )Uy}hC=^vxP=*&8Kx¾uS,',1Quɶ]G9)4HZɸ~a;268V~³lR?*2I]ťl@/34Mu˻z\G,+?Pt˴O51(8]vʺwZ2&06UkL9"gijyW,4Xqɶ`3%0JeǹjB/"1M}tS9$Bk®zT*6WqǷd?,$6R|ĺ`C!'?dƴ]7&*E_÷|V=#,BhǶ`7!&C_~ĸ\A'&7X{̿pF(4LkŹvV9)DfƻhD-1KtijZ1'?X}ƵuU6+Db}ſnN5""1IjźjH1""3JkŹsN3%"/DcʼwQ4&"$0D`ðZ;( *>VtǵfD- #/FezQ2"':Wz˸eB+*AbøZ;%-Jm·wR71Mjƹ{[7.Ebʸa=%(?`ƽeC* 6VsƴyW2&<\Ƿb=$6Tr˽c<!3Opž[=" $;Wwʷa:" 4Uwɿb@!-EimL1(>Z~¸W7! 2MkϿ{O2#Tm»o]J8) %1D_z{iVD2" '2Faz~mZH7% .@Um|jVC0   ,:PmtaJ7& !-:Nh~jVB/   )7Jc}}jTA0!  !/BUjlYF2" ** &-=Q`tveP;*  #/;I]p~s^L7#   $(1?M_r¿vfTC1!  "&(,26ATeuwog]TJ=.!   $'*.149>BN`r >xph`YTNID>951,'    $&)-/158;>ADGJMRU[gvxogaZSOJD>951-*&#   "&(+05:EPX_flsvxzsg_UKMQWi{Ƴ̶ 6?7@7@x1  00#0`5]P`a @ ?0   h {h`&L? ?ysUb03?7@7@x1x 00#0`5]P`a@0 `0   ߬h {h`#A??ysU?`:_W0C1S!`WU , T`?Up00r?`\??=?? 0??>?? 0?`:_W0?<1???#<!`WU  G?`Up 00r?`\3 s3BAG @G@CUU@O H||?U?T B @<UU@@@<  0 p* $ @ G__ @COUU_# /@/ !?'/# /@/ !?'/ x8?F? L L̀?S?sр?fd`f?r|`s8#13 #23 s8`="ff`N*x8F?? L L?Sʦ?s?dff`?r|`s8#13 #23 s8`="ff`N*"DwUDFgDws< 0< $` $`< V =/Xf_?X~$@9GX$ 9X@NX*Wv "u????"@%9 "`$? "0  ~M0U`pL0&<L)^U^ $`<NE f f@f   L$dl$lT*+T*+$ l&g&@? e@e  *e=@@? e??~|>|H>|$xw@C0@  @U 0 @ !  `pB |  @#10 yˀA3 )  8@& G /G @e v 6 @<  _GS1 !^@w;LY' :_W @eY g9@S2,f@F@~ 0C CUU@ ,4 q@i]#́@@L 1SOl6 A 82  @x :_W @3 2  & 8\% 8  #1` \H0 ! @@\ ` c3C0@ <@ 0   ^ 0 @   5p? |  S,@yˀ@ x@3 ) 8 r G /A e v 6 @  33#0 _A`S1 !^@w;́@@Y'@ @ :_W Gx?eY g9@S2,F@F~ 0C@UUP ,4 q@i]#LL 1SC0 l6 A @2   p :_W@3 ]@YG & 8 \ 88  #10 + \$$ .  `\( > 4 @^(~\@0   \ 0 `   p  \#   yˀ@3 )  8  G /@H|e v 6   ff"d _@|S1 !^@w;L{ffBd :_W C|? X o=@2@FG@~ 0C@U?T k( q@iY'C@L 1Oσ@ h A @33  Cp :_W@?2L ]@ & FW 88  #18 \H 0   p\ P  0 @ \ P @4 @ @U 0 `  !p \#  +  yˀ3 ) YG 8  G /$>i v 6    _ >@ C9 !^@s3LY'@330 :_W g eY o=@U*.FF~ 0C  ,4 q@h:Y'@LL 1Oσ? l6 A @6 $   p :_W3 ]@ 8 \ 88   + \ 0@ ,  !\`  0 @ @^@@C0@  4\`!  I0p 0 \#  g8yˀ+ )  G8& G /$1 v 6 A  _ @ c !^@w;A@Y' :_W #; w;@S2,f@F~ 0????<  rN q@iY'LL 1??#?< >|A @2   x :_W ]@&  8\ ` 8   \` (!  \C0@  \0@ 0 @U 0 `  `p  \#  + #0 yˀ3 ) 8 & G /H|a v 5+  < 33#0 _|#; !^@rLY' @ :_W  ZZ {7@Q.FF@~ 0????<U?T k( y@j*Y'@́@@L 1??#?< h A @2 1 @p :_W?2L ]@Y&F  & 8\ 88  9 \H 0 ,  !\ P  4 @ @ \ P 2"@0   ^ 0 `  @@p@ \#  #`yˀ< 3 )  8 & G /a v =/@< ff"d _0; !^@v́@@Y'ffBd :_W p E] w;@@F@f@~ 0 C* ,4 q@k5  Y'LL 0\  l6 A @0 2 @p :_W3 ]@ && 8@U 88 #10 @U$$   `\(  0 @ \(<@7\@4 \ 0 `   p!~ \#  + > yˀ@@3 ) YG  8C G / @ e v 6   `<|fl0fF8l8pvp88pf< 80 0 ~~`0 0```nff>fff~fff<<f<flxpxlf`~fv~~nfff<ff<f>``|fff|<```<>fff>ff>|``|f8<p``flxlf8<|ffff>|f```>`<|~f>fff<|lf<|~ 0~0p p` 44b~ <~`<f<~>f<>f>0<~><~><``<f<~`<f0fff>ffff>|f<``<:0|00~ff<<6f|ff|`0|000` <~> 8< 4X|fff4Xfvnf<>f><000| 6kÆ6n֟6ll6l66l4X<~>4X>`~l>ffn <>6666~~fv~ff<~>6640x  499 4 0x322yy223x L@@?L?ppL?@?L@30,  S(S( , 30  499 4 0x322yy223x @L@?L?ppL?@?@L30,  S(S( , 30ĿfTK@3/0121,'-@Ueuտsf\PE?:4012017?GPczĻ}k^SG;3.+'!$*165,%#*3:AHOYlƽ}}tfXOD6-% /M`rw}ǿk[PA42:@CINTZblrw|}o^SKA67DR\pƿytpkgggfipuwz~zpighilt~ytqmiea]ZXVTRPNNMMLKIIIHHINSVY[_adgilnqtwy}|ukaZRI?:976442111223446667899:<<==>>?ABDDFIOV]cltx}þ~yupjd\TMFA<60*$  #'*-28=AGMRZchmrvz~¾xsolgc_\XURNHA=:752,'%(-00/0/13469=@BGKNRUY\^adiotvvwz~þ|xusrrolkigec`[UQQRROLGDA>;87559@DDA@=0 #(,29>FR[ZNCALZdoubXY[\euŴɸþ{rnmmmjebgs~|rf_XOIE@<9887:>AENX_fpy~|zytj`XNA60)" &-11//9IVczŻwocVK@/'08Lls`Y_inqx|~~}}{la]YTVj}xhI+!3FT`mzx]OI>7BZp|}~~}}}||zww}}ti`ZWWTPLIHEDCCBAGR\etƴ~rcTI>1('*+,/3540-08?FScp~yjaWLE@8435553.-:Pbmxj\L:-$ (/6@HG>59Qoºtf`ZROQTV\fovzk\RD5+)+++,--+)'),/3;ENU^fp}ÿs[G?;514ADFTo}}|{zvsx˾shYLKRWY]begggiowzvngit~{dXL=39K\epyV95BPY_iqu{wdYX]`equi_SHDCACO_kxμ~}|zy|zpfdffhlquy}rcWK;* $5<<<>9,!#3ALWgvyqhhpw|Ĺ~{ypjbUJKU_bZLEJWchov{ysv}xtmhc]XUUUV[elh[OG>3+# ",:M_ge`br̿tyvuuolheedccfilr}s^NC3 &3=HZkvmmx}yuqnfYLC>843559EWcb[WUNEBFKPVcr|xpiaZM:) $0;GZvza]mxhjw}{zvttx|}zlltzviYOJB:;FRZ_eloqrutpy~ʶkLDMX^hy{hTO`{wl]PLPVWL7(+8DN^uŮtcSSdt~|z|}ytjdb`]^eouyvf\VK@CVo|}mfhklnorspkjox}tf[SI?70' -9?EKQ[l|jRD<4-5IYdrtdciotùz_OXo|xvqnljie\MDHT^fw~q`[k~õr`bgiimrqpnlfXMIOVZ`mwwjZU[cio|zungeiorqliiihjvʯtnrz~yyzzxupmliggkqrlaYVUUSLB;CZnx}{z~zl^VJ:/.5;?DHM\s¯~qiiijo{~}wpaJ9A]w|j_]XSZswbUQQQRVZ_k{ijxo]QH>59L_kuzlfggfmz{obWPH<;Oj}tlw{ohhiin|zssvw{zgYRKB@IU\]\Y^mźrZ;)'++0>MWdx{njjihnzĶ~wsy~~|woc]dr|~{uv}}fPHJNOT`ki]OIE>;>HQXcp{ƿm\[grtpjfaWNKLMMLKJLQU[p~tw}~wj`XQG@FQ[bm|xrk`VOJC>>ADHTcnszƶwf`bdeku}~|xvtollpstqnlkmooqttplgc^WTPMJJMPRSVY]fnsx}}sbVVamponmlkjhaWRUZ_abeffdbeinppnlr}p_TLD:8613;EKOUY^dimrvxüww}qeO=9EU]`bfhikmg\VRNIFIIJR_lruxz|~{z|}|||zzyxw|}}}zq`SUbouxy{zxwshZRT^ffb\[^`biwuoquvy~{xqlmt{~~|ysopqrty~~{y|wqdN==HPVcu~}vlfaYPOU]bfjnqtvz}vxvqw{njlmmortx|pg_XOLMMNT^djs}wnhaXSSTUZes}ºwrokjoz{ytja\]^]bkrx~~xtpkklmnsz}scXOB67FVaqznf[NN]q~}jcjw~xmd`ZRQTY\^aefc]\cnx||}~~q`SPRRRVZ\\\Z[bilg[SSZagoy{uojcXQONMOZfopnmq|odizteehhn~mda^[]elprtvy~}zytponmlnopsz~}|{z|}wollllmrwvrkgfa]]\\]adgkwyrquvx{~ytsx|wy~{tsuvurpnnopnhb_acdgknqqnmmmkmv}qnsy|{yvtttssrqsz}snprtuuuvwxxwvsqstttssspnot}{wuwyy~{wrib]WPJHGFFGGIP\fmry~{wtmgb_\Y[ckmlihkptx}}thabfhn{pTBFXflv|wrjffddgqz{z~yvsooz||~wpjc\XWUSUY\blw~zsnha[Z\]`jw}xsrrrrtwwz~|xqjiloqswyyxtsstvx~y}upqtvtrooqsvx}|torx}{tkhmuzqfglpt{qmic`_^_\TLJOW]aeinx |offilmptwuojlpuyz|{tjjpvzxwwy~|wogfkqu|~}~|~~~|xtkddios|wnnrvy~|xvsrt}vhaa`_dovz}ysokfedcacginu~|xwtrqppooqpokfeeghjmoqqssuxz}y{{{|}~}}|{}~{xxxvurnnpsuvxy|yqligdehjkpuwxwwxz}}~zrliihhfddflrvx{}{rkinqtz{zzxy~|{xxy{{zxwvvvuvwwy{}}{uqsvyz{{||}~~}|}{wuuy{~}uuvvwxyzwsonkeejqvwtqqv{ykchqvzvnptxyywvtpmpzzw{}zxutrpmljhgiknprvxxwvvxyyz{}~{wsrruuvutttrrvz}~~|z|wphgjknquyxwrprqstuvwxyz|~}~}zywusqnnoqsstvvsomptx}~{~~||}~}|zyxwuv{}}x|}snjebdiqtuwz}}wqqw~}}}|}}womr{~|xrnligfebabdehpx}|~}~yusrqolhgilnptwwyvvvwwvwvwx{}}~~{{zy{~}|{xvvvuv~|z}uonnoqw~{yvqljhfehmpt~|z{}}|~~|zwv{|vqtz~~xtwy{|~}|{zxutromlmmnnppt|~|||zvux{}~{wsnnprrstsrsuvvxxwtqpqsuwz|~~~|~~{zyxx{||}~|vsrrqrvy{|~|zxtpoqvz|~~{yyz||~}}~}}zwsqrqrtwz|~|zzyy{|~zxy}}{vstwy{~zxusrqppu|~||}}}{xuuy{}zrmnqtvwz|}~}|{{{y{}~}|{xvvuttx{~~~}yyzzyxuvvxyz{{|{|||zxvuvwxy{}{xwwz}~||}~}|||z{|~~}}~~|{yyxyzz{{|}|}}{yxz|~}wuwyz||{zvvy|~~~|wvx||z}{z|||{yxy{z{z|~|~|zxyxy{}~}}zxz|~~~xttvwwxy{{|}{yyx{}~~~}|zyxwxzz{{}}{ywvvwxz}~}yz}~~}}|yz{{zzyxyyyz~|||{|{|}~}{ywtrqsuwy{~~~|{}~|xvvuttxz|~~}}}|{}~~~{yyxwvwxyz{zyy{}~}{}}}~~{xx{|~~}}|||{|||}}}~}zxz|}~}|}~~~}~||}~}}{|{z}}}~|}}||{|}}}|{zzyxwy{|}~|ytsvz}~~~|ywxz|{}}~}}~}~}~}|{zyxzzz}~~}|zzz|z{{y{}~~~~}|||{|{zz|}~~~~}}|{{||}|{zzyy{|}}~~}|}~}}|}~~~}|{{z|~~~|{zyy{}}}~}}~~~}}|}~}}{zy{|}~~}~~ 0>0 00330 m33m 30` | `30 0>0 00330 m33m 30` | `30  0 0 0  0 00 00 0 0 0  0 00 00 0  0 a a ` 00 ` 0  0 a a ` 00 ` i9xp#z$;gOA.#kÉ/`Ś9F@ذF}^?ևEZOVeٶL{v;Ԍ9U=rF8Q5y_HZT̳J\ť2jv,~Q:<=WK.V͸Q[ľ_B:1o^'΋6ETеC86dˣHy4c;aXùGQũ?aĔ:}<:BH,Zg1MQ̥Aʅ2p/~&]+Y@S0}Ȃ;LLWHTY7CfL=tt"tÒ+R_C-_-};O3Ԁ.ۙ?s3ӃIY&Κ4f&s˕6X>GR/AX2lBFM>:gDDlĘ*hƢ>\ŗ8sȝ<˅:q-b-s53dѝ1NVg˭:ln;8hˣ,jŖ8fIǻN5q/`HD_Ȇ!nˢ9k֠:`ͨ4B?qٚ;͉+̎*^ˣ;_ΰAgs(z4D0!I'jԂGRDfIד@Ӑ1u̟>t.Ȁ$|e)Z;,J|'|(Ղ7؎:zԬ@ת=T0]Ǚ=OZə9n*9,Biv1y7JRŒ$I0iQ˩=Wę'JMN`FMWûN8a,q/aM4PŶTkǤ.PHP3`6;ULj=QM6i΁*}\NȹGSȖ(^‘0pxAу:b:ЋBΗ.K?`u3}6u&w*r\'˃,wZBN4WWɻJHYG?Ȑ+{FFP.VX/zϜ7dϥFeǙ1zϏ/oըEpƒ)ʅBy0^ ;TBD7jBc!d,{9V5b:=HvWɦ:W–1ҵPsj(vq,ʂ:GWˢ4UȺ^;|.tʔ0eã7TöP8f9F[Ā(~pCXT˱BWǒBэ9J8ʃ=XC/ˊ&T;MBcʝ:|\IĶQD6]ʿV\ɵML$iϤ3ea/ED9M7mp?`S˹RT1lE5b‡!_Epn@`;b?a5Ņ3Ɵ?V5z€7ǃ,pΣBFJZ1PXH*cȵDcϿ`C[+ΗC~Ȏ%c.q̀7OD*iǡ1N@QŤ>cʰDT])ǁ,xΔ9rʀ+f3mG`Nɽ[?t1̀0Ɋ U}:ZVШAϙ0vȓ7oq5ƀ/2{4r{2p8j(͓7gĘ;V:̗8x4ʡIWR$wkBJSEmϞ@ʌ6gAP3k1rIV9w>PU=gɦBEcATSGJ?RWOR8Q_@iLEHwPq8zoC…8^}=rƃ=oSQd:gƇHt?HLDI{=7qAISTSAtåRS@I]AXSQW@wЛIk8^Po8Y8IVn?>uE`D\=AxEWBv>cQLcTrShNFUY}OoMfY}QdZdiYpOgY~HYQxbUWqY[oTR|M~bkU{k^UgbjuURXxpV~WkU}[[tcTuZQhWrVg\\dhbzVtVYoaLq^Y[rlmZmr\TXqqc|cy\yZihbbif}irahipos^hzd`oei`|dbpf{gohshy[ybhncskq_ngyayevkbkfr_}cbvzexnqngpqll{hpziokrrpofvhplzjmmjxjxkynqmzkkuun|jkwkjppxjuiixmuwwnrnxmuntkxo|f{q{mqrzqutrpws{~q~swu{rxxr{q}oqqxts~xvyw|r}ozrr}tvy|szw~w{uwzqu~zyyy|yy}{w|v~w|x~{xzzz|{z|z~~zy~{{|~z||}{}}~}{b֨ntJ3+eQx'hWOcHv#+~1xvrB֕4MB>j!Y֋8lԨ>ə1DU4S<>D؁!OLe)4r6ҋ8JM[ހ8aܑ8@hHS<ب>_ŵLeDHև8Yt!L֍/%ΪBrнQ))>v/][L>+eD؜4DD/Bh/:ܚBe!jJ+ڪOM/Dz+Wa4ЬJ>[Mj'Ł+@v'Yǿ[%npB֪>6WQz/nֻW3̉1ea6j'hÞBL>pD֓/3Μ8HUUO:3'ڞ@8Ɂ+>xBx4ܢ>x#1ަOtt'[#Η4:O_ɰ@1[eǢ/zεH!pn1tγLMܦ:/МD@Ҟ8[v:֬Q:ܕ8thL8)n>j!QQ+Hܢ84ذOSܲLUQJЋ+8r/Y+ܓ'ب8Bަ8Op/z̢:hîQ/|ŢF%_j4]tUWx_aÉWrMBtB_YQzQ~['ΪBHh%hp/_j4|ɗ4Jˇ8nιh4ɍ3SUMz/[+p_:x_/̕)%_nx6|عL'eFޓ-lr!QQah)p/>r'W66S%Ɂ'Ml/؞>-֙/lǻc/֗:QzLև/@x'[Ҁ1|c/άHŚ8ҮJ+]nSM~Bra'|Α/Uæ@/ܰ/-Ҝ6Qe3DnjFW4:B_ M؅)Q+F%ɉ1_t1_xaH|'M1W>tҳJ/t1<Q3Dee#n|4lHM:-عLHԉ#DГ!+pBchő'hUjWp+W~/U8f4/n!4ԅ4֙8Qc4Ξ4%_1e/Ћ)F֏/WǷS+҉M3j̽_B->n /ؙ::M4ܙ:H4#̨Ft̻WhɰJBpBޓDhjDԁ/H['ŋ)%/DM|%S]'Η4eM]!aҳL@Q8ܗ48]>_>t)YŦ:3ҨD8О4΢6r'֬@!|ŀ)WlDt4xa%at+hΰFMҜ'8>%ܰJYQ>z!W؅'D֚1 MMzεL4ҋ'3ԓ3>eQUeYjɲ>3lD|+Ł!>ԗ6LM//'e%[҉'1آ6'гBthLLlɮDLf#jŢ>:aWW8ޞBL+MaBS:r>ڮMB̀'U44֜+nɨHeŻU/ذB>a/Q%|ő+4UBJ+r>'@>ҋ)4xBl%hԦ:L:hr1hɢ84~/z֓11z+تDH]1O%جM/̬L!xt!cғ44h'Uj'hMܑ4'˜@>ҁ/֜O/hD4MU-بJOړceW|+U_D_%h̷MBFJ:4ذM!zҿW!|]8U1Γ:_c@L%εM+|ŏ/DҞ468/Š@+/BDj̻Y!fŮL8֑+Lz4jց>lQa+hx@S W8B1DO[WSS1֢>:ҍ//ع_8|Þ8%βJ!̵O8~+Qڜ@:]Uh4|جHFɋ#6ЬD'|#+hMe/ҙ4W4Qz1e:Q̅/LMndzW%ˮML̑BDvQW)ֻYHÕL4Ó:_64l%p؀4h΀1Oa#x؃1:Ł1HnUn4th6F!βQ4Ǟ@4ҙ1_%ae#La1[/Ҥ@+p3Q~'_H<ҁ-Sr3x_8ҲF:1Uf>+4̏·8tε]:΋/3ҮlBɮ]'U[4ҿt'>f/Ql1tɲ[L؏>_j%aõWMؠBDc%YW#UÙJ6L/ҵ_4eDJɜDlõ])pU8ΞL<4Wډ@Oe+×HFΦS'v8+̅/QܢQ/|e1zW>Ι><:1̮_1jv1Dj4hY4ɕBUl6lpHǿnBt_MÞHU_:x8>Πc8W~ze8UOH|@]̢WBHHŨaBtx>+nMB˓HQǑB-|xDj_:xeDY:e8Oe>z|>JWQ@aljLhr:xQMFSv@t8LeSD>B_LQ|F_ɗS[[:DUxDaOjt/_|DWxBMQj|Hn]Jz_YO_DQOpn:nxQxDjUDrM[SDxpFjM[DWfUxUWrQh]FjrQr[M_MnMv_JrtOUMjSpUaalHxeY]BfcLvW[tJlaLrnQpUOz]WaMxj_LO|[]aYeQn_jnLjaS~jJnLehYt[nQ~lOa[v[r]jhWnervWjh[hxct|[Ypazjah]za_|tenWtn]xrWhx_vz]hxch_jQrj[zafWrtatrUhpYx~[j|]rxa~[rj[fzWcaee[xj[reja_elaepajraeehlhf[|n_zhcta|havhhjhje|rfjexxc~ejpe|xcvfrxephjrer~fh|ehjelhprnhjfpelhjcthrx_nznr~htpf||jtxlttrtht|n|tjz~lrpv~lrrl~xlr~jrlvjzvnttp|pt|tttntjrnxlx~nptx|nr~tx~tt|tnx|lrtr|tx|rxtx|t~|tt|vrz|rv|tzxr|~x|xv||vxv|xxxzxvzx~xxzx~x| 8pp8p8p8p88p~~`xx<`8`pxx<`|`|@ 8p<<<"~<><<<"x<<<~~< ?< ~~~<<<<<<0??=<<~<<<<<<<<<<<<>|><<>|>|//'<'<"<"< < < ~<8<<<<<8?<<x|?>@`||{sccCC~<<<<<<<<>~<<~<<<|>|<<|>~< x x >888ppqqpp888`~~0xp0>xx<|<>x~ @~x xxx|<0>xx>p<0|~> <||xx?  8xxx<x<<<<"~<><<<"x<<<~~< ?< ~~~<<<<<<0??=<<~<<<<<<<<<<<<>|><<>|>|//'<'<"<"< < < ~<8<<<<<8?<<x|?>@`||{sccCC~<<<<<<<<>~<<~<<<|>|<<|>~< x x >NPJ  ?@$BtL%  % {ϐmӐܐ6J**DELETE EVERY OTHER WAVEFORM OF A SAMPLE*66J**KEEP SAME FREQ BUT REDUCE SIZE BY HALF*60*D:\OVERSCAN.INV\SHIP.SPLl,0,lllr,(0p,F@_ZERO*J* G=ZERO LINE OF WAVEFORM*(0p, (p A ^P1p(<j(<pd(v,fr(<n(h^P1t(h(Hp@?(Hpj@(Ht@?@(0l(<r(0p(0v@V(Hth(<n(h^P1t(@?(Hp(HxV  (0x,@*D:\OVERSCAN.INV\SHIPHIT.SPLl,l(0x,@ ((p(0r(0p, F@_ZERO  6_ZERO(,p*FMINprRMAXp* (p (p(<N(<pd(0v(fr(<nFMIN@A>FMINp(<N6(<tRMAX@AtRMAXp(<68(xl(,x((l(,x(<8  .(pdRMAXvFMINf|.2l(,x(l(,x(2  >GENS_150 NPJ  799C {ϐmӐܐ,ll@lr,(*D:\BULL.PI1l,x"(CODEl (<p  G(<l*L-W-GCODEG,lGGblGVVVBGlGBGlGGGlGGGlVVV G   (< (Hp G p,r(\p*(Lp*8Td(Hxfz l0v(\ll8"~ll l "V(LllCODEB(\p(\vr(\pz@(\pB(L(<pG x,JPRINT PBP$p*D:\OVERSCAN.INV\ALIENvd(Hfv*.DATB$P$l,l(<$(HNPJ  7Z88D& "{ϐmӐܐ,ll@lr,(*D:\BULL.PI1l,x"(CODEl (<p  G(<l*L-W-GCODEG,lGGb lG|VVVBGlGBGlGGGlGGGlVVV G   (<G p,"Tlll"*(Lp*V(LllCODE X (L(<pG x,(<8*D:\OVERSCAN.INV\ALIEN1A.DATl,l(<8"6FFDFF"zNPJ  788Cz " {ϐmӐܐ,ll@lr,**D:\PANEL.PI1l,x"*CODEl (<p  G(<l*L- CW-GCODEG,lGGb lG|VVVBGlGBGlGGGlGGGlVVV G   (<G p,"Tl0ll "*(Lp*V(LllCODE X (L(<pG x,(<8*D:\OVERSCAN.INV\EXPLODE.DATl,l(<8"6FFDFF"xGETEXP1 BSC t ~GETMOTH BSC t PGETPLAN BSC t GETSHIP BSC t GR1FONT DAT t HISCORE2PRG t АHISCORE2S yt INTRO DAT t @INTRO1 DAT t !@INVADER3S 1t )P*KEYTAB DAT t tLAND3 PI1 t uB}PANEL DAT t PANEL PI1 t B}PLANE DAT t RAM_ON GDM t uREAD_ME 1ST dt SHIP DAT t SHIP SPL t t SHIP1 SPL t SHIPHIT SPL $t SMALFONTDAT )t PSNDTABLEDAT t  STOMP SPL Ot -STOMPA SPL Rt (STOMPA1 SPL Vt STOMPC SPL Yt DSTOMPD SPL ]t STRETCH BSC 5t TINK SPL bt lTINK1 SPL et VOLHALF DAT t  NPJ  789C| "{ϐmӐܐ,ll@lr,**D:\PANEL.PI1l,x"*CODEl (<p  G(<l*L-W-GCODEG,lGGblG|VVVGGlGGGlGGGGGlGGGlVVV G   (<G p,(T vl0ll(*(Lp*V(LllCODE X (L(<pG x,(<:*D:\OVERSCAN.INV\EXPLODE2.DATl,l(<:"6FFDFF"b NPJ  89:Ef {ϐmӐܐ,ll@lr,(*D:\BULL.PI1l,x"(8J,BLOAD "D:\OVERSCAN.INV\ALSHIP1.DAT",$708CODEl (<p  G(<l*L-W-GCODEG,lGGblG|VVVBGlGBGlGBGlGGGlGGGlVVV G ĊSHOWG,lGGblGĘVVV1BGlGBGlGBGlGGGlGGGlVVV1 G  (<G p,r(\pJ CALL SHOWJ GG:GOTO GG*(Lp*6Txv zl0v(\l&l 6"~ll l "V(LllCODEB(\p(\vr(\pz@:(\pB(L(<pG x,(<8*D:\OVERSCAN.INV\ALSHIP3.DATl,l(<8NPJ  889:$D " {ϐmӐܐ,ll@lr,(*D:\BULL.PI1l,x"(CODEl (<p  G(<l*L-W-GCODEG,lGBGlG GblG"|HHHGblG"ĈVVVBGlG$JMOVE.L #$F,(A0)$GGlGGGlVVVGSblG BG lGGGlHHH G   (<G p,$(\p@zr(p$*(Lp*r(p(vr(p@8(\p(\x@r(pr(\n@8(\pr"T(\ll@l""~lll"V(LllCODE(L(<pG x,(<6*D:\EXPERIME.NT\PLANE.DATl,l(<6"6FFDFF"NNPJ  788Cz  {ϐmӐܐ,ll@lr,(*D:\BULL.PI1l,x"(CODEl (<p  G(<l*L-W- GCODEG,lGGblG|VVVGGlGGGlGGGlGGGlVVV G   (<G p,"Tlll"*(Lp*V(LllCODE X (L(<pG x,(<6*D:\OVERSCAN.INV\SHIP.DATl,l(<6"6FFDFF"~<?<?<?<?<<<<<<<?<<??<?<<<?xxxxxxxyxxxxxxxxxx<~{xn8fd(A00U@jp03`3p|3pL?RxhNs'5GWgwvutsrqp`!D1'BRxf!*  !Ns1D!: Ns1D!J Ns1D!Z Ns!B!l Ns1D!| Ns!"B! Ns!`B! Ns1 D! Ns!p0B! Ns1@D! Ns!wPB! Ns1`D! Ns1pD! Ns1pD! Ns1pD!$ Ns1pD!4 Ns!pD!"3J!DUN1fT1v\!b Ns1pD1`^!x Ns!fpB1@^! Ns!0pBNs>G<FGL@`H@9gNsK,Ns                                                                                                                                                                                                                                                                                      wxyz{|}~ qr s t u v w x y z { | } ~  mnopqrstuvwxyz{|}~hhhijklmnopqrstuvwxyz{|}~defghijklmnopqrstuvwxyz{|}~_`abcdefghijklmnopqrstuvwxyz{|}~[[\\\]^^^_```abbbcdddefffghhhijjjklmmmnooopqqqrssstuuuvwwwxyyyz{{{|}}}~WWXXXYYYZ[[[\\\]]]^^^___````aaabbbcccdddeeeffffggghhhiiijjjkkklllmmmmnnnooopppqqqrrrsssstttuuuvvvwwwxxxyyyyzzz{{{|||}}}~~~SSSTTTUUVVVWWWXXXYYYZZZ[[[\\]]]^^^___```aaabbbccdddeeefffggghhhiiijjkkklllmmmnnnooopppqqrrrssstttuuuvvvwwwxxyyyzzz{{{|||}}}~~~OOPPPQQRRRSSTTTUUUVVWWWXXXYYZZZ[[[\\]]]^^___```aabbbcccddeeefffgghhhiijjjkkkllmmmnnnoopppqqqrrsssttuuuvvvwwxxxyyyzz{{{|||}}~~~KKLLMMMNNOOOPPQQRRRSSTTTUUVVVWWXXXYYZZ[[[\\]]]^^___``aabbbccdddeefffgghhiiijjkkkllmmmnnoooppqqrrrsstttuuvvvwwxxyyyzz{{{||}}}~~GHHHIIJJKKLLLMMNNOOOPPQQRRSSSTTUUVVWWWXXYYZZ[[[\\]]^^^__``aabbbccddeefffgghhiiijjkkllmmmnnooppqqqrrsstttuuvvwwxxxyyzz{{|||}}~~CDDDEEFFGGHHIIJJKKLLLMMNNOOPPQQRRSSTTUUUVVWWXXYYZZ[[\\]]]^^__``aabbccddeefffgghhiijjkkllmmnnnooppqqrrssttuuvvwwwxxyyzz{{||}}~~?@@AABBCCDDEEFFGGHHIIJJKKLLMMNNOOPPQQRRSSTTUUVVWWXXYYZZ[[\\]]^^__``aabbccddeeffgghhiijjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~;<<==>??@@AABBCCDDEEFGGHHIIJJKKLLMMNOOPPQQRRSSTTUUVVWXXYYZZ[[\\]]^^_``aabbccddeeffghhiijjkkllmmnnoppqqrrssttuuvvwxxyyzz{{||}}~~889::;;<<==>??@@AABBCDDEEFFGHHIIJJKKLMMNNOOPPQRRSSTTUVVWWXXYYZ[[\\]]^^_``aabbcddeeffgghiijjkkllmnnooppqrrssttuuvwwxxyyzz{||}}~~34556678899:;;<<=>>??@@ABBCCDEEFFGHHIIJKKLLMNNOOPQQRRSTTUUVVWXXYYZ[[\\]^^__`aabbcddeefgghhijjkkllmnnoopqqrrsttuuvwwxxyzz{{|}}~~012233455667889::;;<==>??@@ABBCCDEEFGGHHIJJKLLMMNOOPPQRRSTTUUVWWXYYZZ[\\]]^__`aabbcddeffgghiijjkllmnnoopqqrssttuvvwwxyyz{{||}~~,-..//011233455677899:;;<<=>>?@@ABBCDDEFFGHHIJJKKLMMNOOPQQRSSTUUVWWXXYZZ[\\]^^_``abbcddeefgghiijkklmmnoopqqrrsttuvvwxxyzz{||}~~)**+,,-../001223445667889::;<<=>??@AABCCDEEFGGHIIJKKLMMNOOPQQRSSTUVVWXXYZZ[\\]^^_``abbcddeffghhijkklmmnoopqqrsstuuvwwxyyz{{|}}~%&''()**+,,-../01123345667889::;<==>??@AABCDDEFFGHIIJKKLMMNOPPQRRSTUUVWWXYYZ[\\]^^_``abccdeefghhijjkllmnoopqqrsttuvvwxxyz{{|}}~""#$%%&''()**+,--./00122345567889:;;<==>?@@ABCCDEFFGHHIJKKLMNNOPQQRSSTUVVWXYYZ[\\]^^_`aabcddefgghiijkllmnoopqrrsttuvwwxyzz{|}}~ !""#$%%&'(()*+,,-.//0122345567899:;<<=>??@ABBCDEEFGHIIJKLLMNOOPQRRSTUVVWXYYZ[\\]^__`abbcdeffghiijkllmnoopqrsstuvvwxyyz{||}~ !"##$%&''()**+,-../012234566789::;<=>>?@ABBCDEEFGHIIJKLMMNOPQQRSTUUVWXYYZ[\]]^_`aabcddefghhijkllmnoppqrsttuvwxxyz{||}~ !!"#$%%&'()**+,-../012334567789:;<<=>?@@ABCDEEFGHIIJKLMNNOPQRRSTUVWWXYZ[[\]^_``abcddefghiijklmmnopqrrstuvvwxyz{{|}~ !"##$%&'())*+,-.//01234556789::;<=>?@@ABCDEFFGHIJKLLMNOPQQRSTUVWWXYZ[\]]^_`abccdefghhijklmnnopqrsttuvwxyzz{|}~ !""#$%&'())*+,-./001234567789:;<=>??@ABCDEFFGHIJKLMMNOPQRSTTUVWXYZ[[\]^_`abccdefghijjklmnopqqrstuvwxxyz{|}~  !"#$%&'()**+,-./01233456789:;<==>?@ABCDEFFGHIJKLMNOPPQRSTUVWXYYZ[\]^_`abccdefghijkllmnopqrstuvvwxyz{|}~  !"#$%&'()*+,--./0123456789:;;<=>?@ABCDEFGHHIJKLMNOPQRSTUVVWXYZ[\]^_`abcddefghijklmnopqrrstuvwxyz{|}~  !"#$%&'()*+,-./01234566789:;<=>?@ABCDEFGHIJKLMNNOPQRSTUVWXYZ[\]^_`abcdefgghijklmnopqrstuvwxyz{|}~  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~*11$ ":#AjBJ&<9ȖKCm3B yB aI#A4:6a#ANu3BKfNuSCC")@ i4:84i::NGD0)a#A@2")D i4:Z8)4i::"G0)ah#AD3D")H i4:.8)4i4iG0)aV#AH3D")L i 4i4:8) 4iGθ0)a(#AL3D Nu3C|3C3C3C3C3C3C3C3C3C0zT((z03PBeZ803PBeT803PBeN803PBeH8Q0:Z@fNuS@03PBe08QNu8\RATARAk2 `RAk2 `RAk2 `RAk2 `RAk2 `$z6:SCjNI2<89A9A9A "<#H@#Hd#H#HE$EfE6*"R9*!"R jaJ"j j a>"j ja2"j ja&#D3DNu (C) G.WHEATON. 7 SEAFORTH ROAD. BOLTON. LANCS, U.K. DHIH@IHdIHIFHIH@IHdIHI:HMH@LHdIHI:HN:H@OHdN>HI:HOVH@OZHdIHI:HPH@OZHdIHI: eNuS)f`0"0j2" $H@H* @I3t3i3AXQHAAAI 0&iJk3|'l'l@@'lp)a0)(i 8R)NuF.FGGF.FGGDGLGTG\G(G6GGGH H(H0GGHF.F.F.F.F.F.F.F.F.F.F.F.F.F.F.F.If@@(tNNu(i8 Nu )dNu2)i2)imDAin2)i3ANuDi`3iNu(i2:9ANu(i2:9ANuI,`I.`I0`I2UTj803tNuTtv*^(ixGJixXގNua`a9@Gd i.n3iNu|NuNu(i Nu(iNu(i9@Dd (i eUJ)gNuNu ) e i,i,`Nu )eidNu ) eiZNuAQ&SAX,Q*SB,dQ.SBQ2S@!f#%g( ),o/]2K48';>BGJJPSX^dixpNv*}(t,T$ %###################$$$ $     # ## ## ## #    # ## ## ## #$ $     # ## ## ## #    # ## ## ## # $$0 $$$$# $$$# $$$$$$#"$""""$""""$"""" $$ $0#0$ #""""""""""""" $ @    @ # @$ $ $/#0$ #"""""""""""""0$ $XX#X$$ p!! ! $ $8(8 #8 $  B8ٸ(8ٸ*^5&6f]gq*^5&6f]gq*8ٸ(8ٸh~RARARARAr6~غo[J<0' ",7CNXbksz}|{{{zz{|{z{zxuqmiecaabfkotw{~ϹzhXI=3+% #+4>GQZbkqx}~|{zzyyyxwxxwusolifefgilnquy~ƳziZLA91+&!#)1:BKT\dkrx} ~}|{zyxxwvvwvtroljhggghjlptx{~xhZND;3,%! %,44,%!"&,29AHPW^djptx{~}zyxxxwwwvutrpnlkjkmnoppqqrruyøzm`SG=3+$ "'-3:AHPW^djoswz}~|zyxwwwvvutrpomkjjjkllnopqqrvzxk^RF<2*%! $(.4;BJQW^ejnrvy|}|zyxxwwwvusrpnmllklmnpqqrsuy~Ǿwj]QE;2+%!"%*/5DJNSW[_behjmpsuwy{~~|zxvtsqpononooppqppooonoprux}xlbVMD=62.-,.037;@EKOSWZ^begiknqsuwz|~}{zxusrpoonnnooppopnopruy~wl`VMD=731//036:>BGLQTX[^bdgiknqsuwz|~~|zxvsrponmmnoonnnmmmnnpsv{uj_ULD=84100247;?EILPTX[^acfiknpqtvy{~}zxvtsqpopopppoonnnmnoqtx{si^TKD=85312469=ADHLPTWZ]_bdgikmprtwy{~}{xvtrqqpppopoonnmmnopruy}~si_UME?:754458;>AEIMQTVY\_adfhjlnqsuxz~~|ywusrqpopoopopooonmopsvz~圢}rh^UMF@;87578;=@DGKOQTWZ]_acehjlnprux{~~{ywtsrqpoonnmnoqsvz{qg^UMFA<:889;<::;=>ADFILNRUWY\]`bdfgilnpsvy}}zxvtsrqqqpoonnmnopruy}ypf]UNHC@><<=>@BEHJMPRUWY[]_acefikmpsux|}zxvussrqqpppoonnmnnoqsvz~yof^VOJEC@??@ACEGILNQSUWY[]_`acegilnqtx{|zxvutsrrqqqppoonnmnortw{~ypg_WQLHEDBBCDEGIKMORTVWY[\]_acdfhknqtw{~{yvutsrrqpoonnmnpqsw{wnf^WQMIFDDCDEFHJLNPRTVXYZ]^_`bdfiknquw|~|ywvuttssrrqqpoonnnmmmoprtx{vme^XRNKHFEEFGHJKMNQRSUWYZ[\]_acdgimpsvz}~|zxwvuttssrqqpponmmmnnoqsvy|vng`ZUPLJHHGHHIKLNPQRSUWXYZZ\^_acehkorvy|~{zwvutttssrqqpoonnmmnnpqtwz~vng`ZUROLKJJJKLMOOQSTUVWXZZ[\]_bdfiknruz}}{yxvvutttsrrqpoonmmmnnprtvz}}vnga\WTPNMLLLMMOPQRSTUWXXYZ[\^_`beiloqty|~|zyxvvuttsrqpoonmlmmnnpqtwz}}unhb]XURPONOOPRSUUUVWWXYZ[\^_behjmptx|~|zyxwvuuutsrqpoonpqsux{~{unhb^YVSQPPOOOPQRSSTUVVWWXYZZ\^`bdgjmptw{~|{yxxwvvuttsrqoonopqsvx{|uoid`\XVTSRQRRRSTTUVVVWWWXXYZ\]_bdfikorwz~|{yxwwvvutsrqpoonnmnopqtvx{~|vpjea]ZWVTSSSTSTUUVVVWXXYZ\]_acfhkoswz~|{yyxwvuttrrqponmmmnopqtvy|{uojfa]ZYWVUTUUUVWXXXY[\]_adfhlosv{~}|{zxxxvvutsqpponnnooqrtvy|ztojfb_\ZXWVWVWWXYZ[]^`behknqvz~||zzyxwvutsrqpoonoopqsuwy|zuplgc`][ZXXW VWXYZ[]_adfinquy~}}{zyxxwvutsrppopprtuwz}{vplgda_][ZYXYXWXXY[\]`bdgjmrvz}||{yyxwvutrqpooonnppqsuwy|~{vqmifb`_]\[Z[ZZZYXXWXWXXYYZ\]_adfjnqvz~}|{zyxwvtsrqponopqsuvy|~{vqmjfca`^]\[[[ZZYYYXWXWWVWWXXY[\^acfimqvz~}}{{yxwvussqppoooppqrtvxz|zuqmjfdb`^^]\\[[[ZYYXWWWVVVWWXY[\]_cfimqvz~}|{zyxwutsrqpqstvxz|{vrnkhedba`_^^]\\[ZYYXXWVWXZ\]_aehmquy~}|{zxwvutrqqpoooppqstvxz}{wsoligdcba`_^^]][[ZYXXWVVVWWWXY[]_beimqv{~}|{zyxvussqqppoppprsuvxz}~zvsoligfdbba`_^^]\[ZYYXWYZ[]_cfjmrv{~}|zyxwutsrqqpppqqrstvxz|~zvspmjhfedcbaa_^^]ywqmjgda`]ZYVUSQONKIIHFDCA>=;9864220/0358=BIPXbkywaOBBVDžI7Nδ}uqpru{zvpmifc_\YUSQNJGED@?;;96541//.-,-0389630.,)'&%$%'),/37:740-*)''&%$$%&(*-048=BFMTY_ejotwz{|{yvrle_YVW\gz߳cJDNhǼ{uqje`YTPKFA>:62/,*(&$##"#$%'*-159>CIMSY^aeilnpqqpmjfb^[Z[`kzϪ]KFPhź{upje_XTNIE@<840-*'%$##"##%(*-058=AFKPUY^bfhklmmljgda]\[^cn}׶kSGJXrȿ}xsmga[VRLGB>952.,*'&$%&(*,/37;?DHLQVZ^`ceffgfdb`^]]`en|ԳoVIHSj|wqkf`ZTNJEB>951.+)'%$###$&(*-037;@DHLPSVY\^`aaa`_^]\]_clw̫kTHGSeſ|wrmf`ZUOJEA<841.+('%%$$%&)+-/269=ADHLPRUXZ\\]^^^___`chq{ջ}aPGITh}ü}xsnhb\XRMGC?:730-+)'&'(*,.147:>AEHKOQTVWYZZZ[[\]aeltjUIGN\pþzuoid_YSNJE@<852.-,+)((()*+-0247:>@DGJMOQSUVWXYZ[]`djr{ѷgUHFLWj}½}ytoic^YTNIEA=9520.+*)(())*,/1369;85320/.-../013579<>@CEGJLNPRUWZ]`dipwîn]OFCGNZhxÿ|wsnid_[WRNIFB?<975422124568:<>@CEHJLNQSUX[^bfkqyŴwdVJDCGP[hw~zvqmhc_ZVQNKGC@>;9755433344679:<>@BDFIKMPRUX[_cglrzʽpbSICBFMVdr~zvqmid`[XTPLHEB?=;976778:;>?ABDFHJMORTWZ]aejpv}Ƹo_SHBACJS^ly{xsnjfb^ZVROKHEC@?=;:988899:;=>@ADFHJLNQSUX\_chlrxötcWKDAAFLVao{}yuqlhea]YVROKIFCA?>=;;:::;<=>?ABDFHJLNQSVZ]aeinsyź}l]QGB?@DKT_lw}yvrmjfb_[WTQNLIFDCBA??>?ABDEFHJLNPRTWZ]aeimsx~{l^SIC@@CHQ[er}~{wsolieb^[XTROMKHGFDCBCDEFGIKMOQSVY\_bfjotzž}naTKD?>@CJS\hr~|xuqnkhda^[XURPNLJIGFEDEEFGHJKMNQSVY[^aehmqw}|oaVKD@>?AFMV`kt}zwsplifc`]ZXUSPNMKJIHHIIHIIJKLNOQSTVY[^adhkptyxl_TLD@>>AFLT^gqz~{wtqnjgda_][YWUSRPONMLLLKLLLMNPQSUWY\^adhloty~|pfYPHB?>?BGMV^hrz|zvspmjgeb`^[YWUSRQPOPQRSTVY[]`behlpsx|}rf[RJC@>>ADJQYaks|~{xtqolifdb`^[ZXVUTTSRSTUVWYZ]_bdgjnquzynbYOIC>==?CIOW_hqz|xvspmkifdb`^\[YXWVUVVWYY[]_acehkoruy~ti_VMGB??@AEJPX_gow~{yvsqoljhfdb`^]\[YYXYZ[\]_acfhkmqtx{wlbXPID@>=>AEJQY`ipx~|yvtromkigeca`_^]\\[\\]^_abdfhjlorux|~tkaXPIE@>=>@DIOV\dls{}zxusqomkigfecba``_``acdfgikmpruy|zqh^UOID@>>?AEJOV\cjqy}{ywtrpnmkjjhgeedcccbccdeghjloqtvy||tjbYRKFB?>>?AEJOV\dkqy~}{yvusronlkihgfeedddeeefggijkmnpsuwz}xpg_WQKEB???@BFKPV\bjqw}}{xvtsqponlkjiihijklmoqsuwz|~vnf_WQJFB@>>@BEINTZ`gmsx~|zxwutsqponmlkkjjijjjkklmnpqsuwy|xqiaZSMHEB@@@BEIMRW\chntz~{zxwvtsrqponmmmllmmnnopqrsuvxz|ztle^WRLHDBA@ABEHKQU[agmrx}}|zywvutsrrqpqqrstvwy{|~~wpjb\VPKGDA@@ABEHLQU[`ekpvz~}|zyxvvuttsrsstuvwxy{}}wpjc]WQLHFDBABBEGKOSX]bhmrw|~}|{zyyyxwwvvvuvvwwxz{|~~xslf`ZTPKHECBBBCEHLPTY^chmrx|~}|{zyxxxwxxyzz{|}{vpjd_YTPLIFEDCDEGJMPUY]bglquz~}|{{zyzz{{|}~|xrmgb]XSPLIGEDDDEGHKNRUY]bfjnrvz}|xrnid`\XTPMKJHGFGGHIKNPSVY\`cgkorvy|~zvrnjfb]ZVSPMLJHIJLMOSUX[^adhkoruxz} |xuqmieb^[XURPNLKJJIIIJKMOQSUX[^acfiloruwz|~}zwspmjfc`]ZWTRPOMMKKKLLMNOQTUXZ]_behkmortwy{}}zwtqmkgda^\YVTRPONNMLLMMNOQRTUXZ\^acfhjmortvxz|~~{xurolifc`^\YWUTRQPPOOOPPQRSTVWY[]_acfhjloqsvxz}}zwtrolifda_][YWUTSRRQPQQQRRSUVWYZ\^acegikmoqsuwy{|~ ymaUI>4*!  !*4>IUamyorcoakgsp|[\{uKq~hc?4-Nr|wӟ`-DDArztԵW>FmũdS^V;DpŧbR^R9Ft¦^S^Q8Kt¥^T]L7Lvƿ[V\H8PxǼ[VYD9VvƼ~^WTB=Uuú~_VQA?Xt|`UMBBXs|_QIDDTq|`MHFESr²}_IHIGRuį[GIJDRyŮWEKJBTzǪSDMJ@Rŧ}REMG?W¥xOFNE?\rMHMC@`ʽoOIKAC`ɼoPIG@EcƻmQHDAJdĽkSEBCLaoRAAFLanN>AHM`êoL;BKM`ŨnJ:ELK^ŤoF9FLIbġkE:HMIbßi@:JKIgždA;IJJgξe?KMV{˲uQ9>LMW~ʯvQ8?MMYɯtN8AMLZɫqO9BLL^ǪnL:CKK^ĩmJ;DJLbçmK=DILdiI=CHNfeH=BGPfƾ~cI=AHQjŽ{cH=BJTkľydH;BLUkĽzcG;CNVmžxcD:EOWlƼybB:FOVoȺy`@;JPUrȸz[?=KNUwȴyV=AKLUzȮwU>DLJXŭvQ@FKI]qQBHIJbƽlNEHFKdźgOGGEMh¸gQHDDQieRHBETk~eUGAGYkzhUFAJYjziUCAOZh{kR@CPZg{jR@ESYi}iN@ISWi~iKALSUl¸fKDNQVm~eJFNOWp}bJINNXv{_KKMNZxx\MKKM^wv^OJIO`yr^PJIRcxq_QIIUeyr`QHKWfwpbPFL[gvpbOFN\fwrbPGQ]gy}raNGR^gy}rbLHT_fz|s`KHV_f|}r_LJW`h|}r`LLX`g}r_KMY`i{q\LNZ`i|p]MOZak|o]NQ[am|n\NP[an{m]PQZcpyl^QQ[dqxl^RQ\grwm`QQ^irvm`PP_kptn`OPakptp`ORckouqaMUejovr\MVfio~xq\MZhho~yqYNZffqznYQ\efr{lZS^egvzjZU]dhxyj[W^dkywi^X\enztk_Y\goztl`X]iqz|smaW^kqy{snaW`nqxyvp_Xdoqyywo]Ygpo{zyo][joo|{zl]^kno}}yj]ajmp~yj^cjkqwiaejlsuiceimwtjefiox}slfeipy|smfeiqxztogdksyzuogeltxzvpfentw{xoegptv{xneipsw|xngjqsw}wmgkprx~wlhlpry~vmimpry}vmknps|}unknpt|}unmnpt}}tpnnpu}|uqnmqv}|vronqw}{vsonsx|{xsontx{{ysnouxz{ztmovxz}{snqwwz{snswvz{qouvuzzqqvvu{yrsvuu~wrtvtvwtvusw~wuvtty}xwvst{|yyurv|~{{yurw||{}yrry|z|yqt{{x}~xpu}zw}vpx}xx|tqz}ux}rq{{sy~qt}zs{|rw~xs~~zqx~vtxs{|uuxu|{txxx|ytyxy|wt{~y{zvv{}{{yvx|}~~}{wvy||~{ww{{zzvy|yzxv{|wyxv||vyvx~{uz~vy~yt|~v{~xu~}w|~wv|x}|vw~{y~{ux~{z}zvx~|{|zvy~}||zxz}~|{zxy}~{{zxy|{{{xx}z{|xw}}z|{ww}|z}|vw}}}{~{vx~}||~{vy}}}~zvz~}|~~xv{~|~}~}xw{~|~~|xx{}}~{xy{{}~zxzzz}|yyyxy~{yzywyzz{xw{z{{wu{~y{{vu|}}z}zsu}~|}|~ytw~~||}~xty~}}|~~vsy}z}|}ut{|z~~{tv|{zytx{zzxtxzxz~vuyyw{|vvyxw}{vyzvwyvzyuxxwzwtz~wyzut{|x{yst}~|y|xsv}}{z|wsx~~z||usy~|~{}|tsz~||~zsu{}{~}~xsv|{{~~}wsw{z|}vtxzz}{uuyyz~zvwyyz~yvxxx{}xwwww{{xwwuw}{xxvux~zyyvuz~~zzyuu|~z{xtv|}{{wtw|~~||{vsx}}||{uty|||}ztuz||~}ytwz{|}wtwzz||wuxzz~{wwyyzyvwxwz~wvxwv{}wxyvu|{wyzuv~zx{ytwxx|xsxxz|vsz~x{|ts}~|x}{su~|{y}zru|z{~xsx~|y|~wrz|}z}}ut{{~|~{tv|}{~}~ysw|{{~~~wsx|z|~}vtyzy}{uvzzyzvy{yzxvyzx{~wvzxw||vx{xw~{vy{wwywzzvyxx{yuz~xy{wu{}xzzwv|}yzzvw}|z{xvx}{zzwuy}|{zwvy|~}{ywwz|}{ywx{}}{xwyz|}ywxxy|}ywxyy}}xwyyy}{xxyxy~{xxywyzxxxwzzyyxx|~zzywx|}zzxvx||zywvy|~|{zwvy|}}|yvw{|}}|xux||~~~|wvy{{~{uvz{{zuw{{{yux{y{~wuyzx{~vvzzx}|vwzyx~zvxzwxyvzzvyxwyxuz~wxzwu|}xzzuv}{y{ytwzy{xuyz{{vt{~~z|ztt|}|z|ysv}~}||}wsw}}||}}vsy~{}|~|tt{}z}ztu{{z~xsw{zz~~wsx{xz}vtyzx{|uuyyw}{uwzwv~zuxywxxvyywz~xwywv{}wxxvv||xyxvw~{yywuy~zzyvuz~{zyuuz~~{zwtvz}~|{vtw{|}}zvuy{|~}yuuyz{~|xtvxy{}wuwxx{|wvwxy}{wwxxyzwwwwz~ywwwvz}yxxvw{|yyxuw}{yywtw}{zzvty~z{ytsy}}~{|ytu{}|~|}xsv|||}||vsv{{|}}|urx{y|~~|ttyzx}~{tuzzyytvzyywtwywy~vtxxw{|vvyww|{vwyvw~yvxxuwywywuy~xxxuuz}xyyuu||yzxtu|{yzvsw}~{zzusx}}{{zuty||||yuuz||}}xtv{{}}|wtwz{}~|vtwyz}{vuxyzzvvxxz~yvwxx{~ywwwx||xwwvx||yxwvx}|yxvvy}{yxuuy}{zwuvz}~{zwuwy|~~|zwuwz|}zvvx{|}yvvxz||xvwxy||wvwxy||wwwxx}{wwxwy~{xyxwzyxxwvy~zyyvv{~zzxuv||zzwtw}~|{{vtx}}||{utx|||}zuuz||}}ytv{||~}xtw{z{}vtx{y||vuyzx}|vwzyxzuxzxxyuyywyxvzxvz~wxzwu|}wzzvv~{wzyuw~zy{xtwzz{wty~~z|{vt{~{}zuv}~}}|}ytw}}|}}}wtx|{|}}vty|z}~|vvz{z~{uw{zzyuw{yz~xuyzx{~xwyyx|}xxyxx}{wxywx}{xyxvx~zyzxvy{zzww{{{zwx|~|{ywx|~~|{xvy|~~}{wwy|}}zwxz{}}ywxz{}}yxyzz}|yxyy{{yyyy{zyyyx{~zyyxx|}zzywx}|z{ywx}}{|ywy~|||xw{|}{xw|~~~}}zwx|}}~}}zvx||}~~ywz}|}}xw{|{}xy||{{wy{z{zxz{z{yx{{y|~yy{zx|}yz{xx~|y{{wx~{z|zxz{{|zx|{||yx}~{}{xx}~~}}zwy}~~~~~zx{~}~~}yx{~}|yy|}||xz|||{yz|{|~{y{|{}~zz{{{~}zz{zz|z{{yz|{|{z||||zz}~||{yz}~||{yz~~}|zy{}~~~|zz|~~~~|yz|}~~{z{|}~~{y{||~~{z{||}z{|{||z{{z|{{|{z}|||zy}~|}|z{~}}|z|}}}{y|}~}zy}~}~}yz~~}~~|y{~~}~{y|~}~zz}~|~~yz~~|}y{~|{|y|~{{zz}}z|zz}|z~~z|~{y~}{~~z{|{~z||||z|{}{y~~{~~zz~}|~yz~}~}z|~}|y~}}}{z~}~~~zz}}z|}|~|z|}|~{z~~|}{{}}{~~{}}|~|~~||}|~}|}|}~}{~|}~|{~~}~~{|~~~}|}~~~|{}~~~||~}{|~~}{|~~~~||}~~~|}~}~~}|}|}~}~~}~~~~}}}~~|}~}~}|}}~}|~~~||~~||~|}~~}{}~~}|~||}~|}~}}|~}}}|~~|}}}}}~~}~|||}}|}}~~|~}~}|}}|~}|}~~~|~~~}|~||~~~|}}~}|~~}~}{~}~}}~}~~~~}~}~}}~}~~}~}~}}~~~~~}~~~}~~}}}~~}~~}}}~~~~Yqm{xLWp:_lhTQ@?H9S{pE[WiðäJĨpmssyxrrkkge`[[VSPKHII@><9840%%$-.-,&'-)/*+*')1242524;>=?D@COHEMSTSYcdZYcoqsutq{zyx»zvurplgc`]ZXVUSLEBEJH@4+-68:=(/0/( +0   !#%&'',-134338?EEEFHKLLMPVY[[\^_ceegikopswxy{}¾~{}}yuvwxxuporsqnigghgeec``ba^^\ZYXWUUSQPOMLMOMIHIFC@ADD@@@??=:9:898554343233231.--/0/-+,,,--,+++,-,,+++,-.---./0001234456789<<<=?@@BCDEFHIJMNPQRTUVW[[\__aceffhimoqsrsuwyz{} ~|zyxwutqponmkjhggecba_^^\ZZXWUUTSRPONNMLKIIIGFEFECCBBBA@?@?>??>>>=<==<<==<=>>?@ABBCBCDEEFGHHHIJKLMMNOOPQRSTUVXXYYZ[\]__`aabdefhhijklmnoopqrsuuvwxyz{||}}~~~}~}||}|||{z{zzyzyxyxwxwwvwvvwwvvwvvvuuvvu ttuutuutuututttutsuuttutttututuvuv w x yyxyzyyyzyz{ | } ~~~  -~~~~~}~}~ }~}~}}~ }~~}~ }~~~}~}~}~~~}~}~~~~~~~~~~~~~~~~~~~~~ ~l D/3;GWglC`_}_FgP[lok@hopNxvPOKG[PT//+;W^ip{zlj`HH0 2/[W@HW`PajtnlfP/4D?W[UVDE<>?QWWIgѿǿt__O#O!HOgpJ`thgtTXo{Ͽohph@P@P/H?_P80X_`Gļï`|k``WhXXP;OPWpoC_PolpoԫмmwPn@T0#/57HCPQlwuoеȠwooO`XEA_?_H`X_U[Q_~`niwojOPPlPP_x``n[bp_fkhooP_hopa[mgxqggwwjwhdQYGZW[HXXWOgU`Ep_owozoi`a\_j_QWl`lh`dupwwwwtt}_hc_`idh`lpxkoutjt`gg``kidfggkxpwhwjvygkvoportwkz|ksprgpjogtonox{z}sotktrthssswwtohcjigkzwowwxzo{q~zklrmsy{tiovx|ko|wso}w{vuxopzowvww{xwt}~u{w~wu|uxvvoqsuvw{{{}w~uwqwxsrz{wrumxqw|xwwwtpwwoxwupvsz{wvx|vzuwwwzw{wtv}{zvx{~{xw~w}wxs}w{{}{|rxzyw|}|{xz{{utww~zu~xx{{z{wuuwzwwvvwy{t{yyzwz{v~vuuswzvzzy{}~{}~{~|y{{{{}z}}}{{}}xzxuzwvz|y{z{~{~||z~{{{|ywyw{yzzwwzwwyxuvwuww{yyz}z{|||}|}yzz{yvyz{yyxyvwvvuuttrqrqoonsrtrtssstussvstttwrutwwvtvuqtrsrqopttptortrorrqpqruwvwwutwwwtttvuwx{uvwxwwwsvvtstttvttuxwwwywwz|{y{}{~{~}{~}}|{~~}|{}{{|}}}F'9!Np! 99F#NuAprtvHnNu9@PB9By@ByBNrAC@ 9Cf A@aJ9CfPy@ y@mNNNNNNCNrAC@ 9Cf A@aJ9CfQy@jNuL|H|L|4H|4L|hH|h#hCA@L|H|L|4H|4L|hH|h#hCA@L|H|L|4H|4L|hH|h#hCA@L|H|L|4H|4L|hH|h#hCA@L|H|L|4H|4L|hH|h#hCA@L|H|L|4H|4L|hH|h#hCA@L|H|L|4H|4L|hH|h#hCA@L|H|L|4H|4L|hH|h#hCA@L|H|L|4H|4L|hH|h#hCA@L|H|L|4H|4L|hH|h#hCA@L|H|L|4H|4L|hH|h#hCA@L|H|L|4H|4L|hH|h#hCA@L|H|L|4H|4L|hH|h#hCA@L|H|L|4H|4L|hH|h#hCA@L|H|L|4H|4L|hH|h#hCA@L|H|L|4H|4L|hH|h#hCA@L|H|L|4H|4L|hH|h#hCA@L|H|L|4H|4L|hH|h#hCA@L|H|L|4H|4L|hH|h#hCA@L|H|L|4H|4L|hH|h#hCA@L|H|L|4H|4L|hH|h#hCA@L|H|L|4H|4L|hH|h#hCA@L|H|L|4H|4L|hH|h#hCA@L|H|L|4H|4L|hH|h#hCA@L|H|L|4H|4L|hH|h#hCA@L|H|L|4H|4L|hH|h#hCA@L|H|L|4H|4L|hH|h#hCA@L|H|L|4H|4L|hH|h#hCA@L|H|L|4H|4L|hH|h#hCA@L|H|L|4H|4L|hH|h#hCA@L|H|L|4H|4L|hH|h#hCA@L|H|L|4H|4L|hH|h#hCA@L|H|L|4H|4L|hH|h#hCA@L|H|L|4H|4L|hH|h#hCA@L|H|L|4H|4L|hH|h#hCA@L|H|L|4H|4L|hH|h#hCA@L|H|L|4H|4L|hH|h#hCA@L|H|L|4H|4L|hH|h#hCA@L|H|L|4H|4L|hH|h#hCA@L|H|L|4H|4L|hH|h#hCA@L|H|L|4H|4L|hH|h#hCA@L|H|L|4H|4L|hH|h#hCA@L|H|L|4H|4L|hH|h#hCA@L|H|L|4H|4L|hH|h#hCA@L|H|L|4H|4L|hH|h#hCA@L|H|L|4H|4L|hH|h#hCA@L|H|L|4H|4L|hH|h#hCA@L|H|L|4H|4L|hH|h#hCA@L|H|L|4H|4L|hH|h#hCA@L|H|L|4H|4L|hH|h#hCA@L|H|L|4H|4L|hH|h#hCA@L|H|L|4H|4L|hH|h#hCA@L|H|L|4H|4L|hH|h#hCA@L|H|L|4H|4L|hH|h#hCA@L|H|L|4H|4L|hH|h#hCA@L|H|L|4H|4L|hH|h#hCA@L|H|L|4H|4L|hH|h#hCA@L|H|L|4H|4L|hH|h#hCA@L|H|L|4H|4L|hH|h#hCA@L|H|L|4H|4L|hH|h#hCA@L|H|L|4H|4L|hH|h#hCA@L|H|L|4H|4L|hH|h#hCA@L|H|L|4H|4L|hH|h#hCA@L|H|L|4H|4L|hH|h#hCA@L|H|L|4H|4L|hH|h#hCA@L|H|L|4H|4L|hH|h#hCA@L|H|L|4H|4L|hH|h#hCA@L|H|L|4H|4L|hH|h#hCA@L|H|L|4H|4L|hH|h#hCA@L|H|L|4H|4L|hH|h#hCA@L|H|L|4H|4L|hH|h#hCA@L|H|L|4H|4L|hH|h#hCA@L|H|L|4H|4L|hH|h#hCA@L|H|L|4H|4L|hH|h#hCA@L|H|L|4H|4L|hH|h#hCA@L|H|L|4H|4L|hH|h#hCA@L|H|L|4H|4L|hH|h#hCA@L|H|L|4H|4L|hH|h#hCA@L|H|L|4H|4L|hH|h#hCA@L|H|L|4H|4L|hH|h#hCA@L|H|L|4H|4L|hH|h#hCA@L|H|L|4H|4L|hH|h#hCA@L|H|L|4H|4L|hH|h#hCA@L|H|L|4H|4L|hH|h#hCA@L|H|L|4H|4L|hH|h#hCA@L|H|L|4H|4L|hH|h#hCA@L|H|L|4H|4L|hH|h#hCA@L|H|L|4H|4L|hH|h#hCA@L|H|L|4H|4L|hH|h#hCA@L|H|L|4H|4L|hH|h#hCA@L|H|L|4H|4L|hH|h#hCA@L|H|L|4H|4L|hH|h#hCA@L|H|L|4H|4L|hH|h#hCA@L|H|L|4H|4L|hH|h#hCA@L|H|L|4H|4L|hH|h#hCA@L|H|L|4H|4L|hH|h#hCA@L|H|L|4H|4L|hH|h#hCA@L|H|L|4H|4L|hH|h#hCA@L|H|L|4H|4L|hH|h#hCA@L|H|L|4H|4L|hH|h#hCA@L|H|L|4H|4L|hH|h#hCA@L|H|L|4H|4L|hH|h#hCA@L|H|L|4H|4L|hH|h#hCA@L|H|L|4H|4L|hH|h#hCA@L|H|L|4H|4L|hH|h#hCA@L|H|L|4H|4L|hH|h#hCA@L|H|L|4H|4L|hH|h#hCA@L|H|L|4H|4L|hH|h#hCA@L|H|L|4H|4L|hH|h#hCA@L|H|L|4H|4L|hH|h#hCA@L|H|L|4H|4L|hH|h#hCA@L|H|L|4H|4L|hH|h#hCA@L|H|L|4H|4L|hH|h#hCA@L|H|L|4H|4L|hH|h#hCA@L|H|L|4H|4L|hH|h#hCA@L|H|L|4H|4L|hH|h#hCA@L|H|L|4H|4L|hH|h#hCA@L|H|L|4H|4L|hH|h#hCA@L|H|L|4H|4L|hH|h#hCA@L|H|L|4H|4L|hH|h#hCA@L|H|L|4H|4L|hH|h#hCA@L|H|L|4H|4L|hH|h#hCA@L|H|L|4H|4L|hH|h#hCA@L|H|L|4H|4L|hH|h#hCA@L|H|L|4H|4L|hH|h#hCA@L|H|L|4H|4L|hH|h#hCA@L|H|L|4H|4L|hH|h#hCA@L|H|L|4H|4L|hH|h#hCA@L|H|L|4H|4L|hH|h#hCA@L|H|L|4H|4L|hH|h#hCA@L|H|L|4H|4L|hH|h#hCA@L|H|L|4H|4L^|hH|h#hCA@L|H|L|4H|4L|hH|h#hCA@L|H|L|4H|4L|hH|h#hCA@L|H|L|4H|4L|hH|h#hCA@L|H|L|4H|4L|hH|h#hCA@L|H|L|4H|4L|hH|h#hCA@L|H|L|4H|4L|hH|h#hCA@L|H|L|4H|4L|hH|h#hCA@L|H|L|4H|4L|hH|h#hCA@L|H|L|4H|4L|hH|h#hCA@L|H|L|4H|4L|hH|h#hCA@L|H|L|4H|4L|hH|h#hCA@L|H|L|4H|4L|hH|h#hCA@L|H|L|4H|4L|hH|h#hCA@L|H|L|4H|4L|hH|h#hCA@L|H|L|4H|4L|hH|h#hCA@L|H|L|4H|4L|hH|h#hCA@L|H|L|4H|4L|hH|h#hCA@L|H|L|4H|4L|hH|h#hCA@L|H|L|4H|4L|hH|h#hCA@L|H|L|4H|4L|hH|h#hCA@L|H|L|4H|4L|hH|h#hCA@L|H|L|4H|4L|hH|h#hCA@L|H|L|4H|4L|hH|h#hCA@L|H|L|4H|4L|hH|h#hCA@L|H|L|4H|4L|hH|h#hCA@L|H|L|4H|4L|hH|h#hCA@L|H|L|4H|4L|hH|h#hCA@L|H|L|4H|4L|hH|h#hCA@L|H|L|4H|4L|hH|h#hCA@L|H|L|4H|4L|hH|h#hCA@L|H|L|4H|4L|hH|h#hCA@L|H|L|4H|4L|hH|h#hCA@L|H|L|4H|4L|hH|h#hCA@L|H|L|4H|4L|hH|h#hCA@L|H|L|4H|4L|hH|h#hCA@L|H|L|4H|4L|hH|h#hCA@L|H|L|4H|4L|hH|h#hCA@L|H|L|4H|4L|hH|h#hCA@L|H|L|4H|4L|hH|h#hCA@L|H|L|4H|4L|hH|h#hCA@L|H|L|4H|4L|hH|h#hCA@L|H|L|4H|4L|hH|h#hCA@L|H|L|4H|4L|hH|h#hCA@L|H|L|4H|4L|hH|h#hCA@L|H|L|4H|4L|hH|h#hCA@L|H|L|4H|4L|hH|h#hCA@L|H|L|4H|4L|hH|h#hCA@L|H|L|4H|4L|hH|h#hCA@L|H|L|4H|4L|hH|h#hCA@L|H|L|4H|4L|hH|h#hCA@L|H|L|4H|4L|hH|h#hCA@L|H|L|4H|4L|hH|h#hCA@L|H|L|4H|4L|hH|h#hCA@L|H|L|4H|4L|hH|h#hCA@L|H|L|4H|4L|hH|h#hCA@L|H|L|4H|4L|hH|h#hCA@L|H|L|4H|4L|hH|h#hCA@L|H|L|4H|4L|hH|h#hCA@L|H|L|4H|4L|hH|h#hCA@L|H|L|4H|4L|hH|h#hCA@L|H|L|4H|4L|hH|h#hCA@L|H|L|4H|4L|hH|h#hCA@L|H|L|4H|4L|hH|h#hCA@L|H|L|4H|4L|hH|h#hCA@L|H|L|4H|4L|hH|h#hCA@L|H|L|4H|4L|hH|h#hCA@L|H|L|4H|4L|hH|h#hCA@L|H|L|4H|4L|hH|h#hCA@Nu#3a#3aNrA9pg`2@AA@@@@@@@@@@ @ @@ @ @@@@@ `A"yCEj:9|~p2@AM^@^^^^@^V EQC 0Q"yCZG:9|~ GKEaxpJfJg<0f< `x2@AM^@^^^^@^V EQC `QNu HIGH SCORES~~A BUDGIE UK GAME~~ Camy Maertens Simon Rush Jim Holmwood Gary Wheaton Chris Skellern Robert Leong Ian Grainger Robin Edwards Paul Dowers Andy Osborne Chris Jeffery Gavin Thornton Keith Bearman Kathy Steinbach Markus Kronenberg The Happening boiz Mike Duncan Philip Bishop Andrew Oakley u0m`e]UN FP>6.'#(@Xp  %X |TC~09R@Aj,|rJhf n,hEAQPL|H|#j#jBBBCQ3ACj0<*QBvNu0I$kvnRC`0`NuB@'d Ajp g AQNuB < !@!@!@ !@M~<<$<CzB99HaLN~99kd@g^JEgSE` B"z "<f<l SRG `6< gTFQ _f NaNNup Rgp_SFj  | `z``1234567890-= QWERTYUIOP[] ASDFGHJKL;'`#ZXCVBNM,./ -+ \()/*7894561230. AXLH@EKG2<|,FCIpL H@@H@@H BCBCCZ[BCPP&QE@K@QA><H@@8A@QNu3.NuENJOY THE GAMEH :0 0 :z?_\_!8WCW    |yzWGϨW8UU??  ^|UU8Cp00p z/??????8N\= ?0> ?0\ z?:_01O:_Ӏ8WCσW4 yW , TW|z8UU$ ?? |U ??U8^C?4???:??$p00p z8N/Oπ$\ \C::0)|g2f4BJBBft&zA|y@m2RVmG#V2Pi3i3||`3| `42AIA8)3@ExLHLHL@H@LHLHL H LHpAjp(@ELFFFFhhh hhh"hhh$hhh&H@HAHBHCPh@hhhhBhhhhDhhhhFhhFFFFhhBhhH@HAHBhhh"0:8CxALHLHL(H@LHLhHLH LHLHH`CAUEk3.2ME8EAA|g@|g|g|ghnJEg mƺ|g|g|gL?èŨ@Ǩɨ˨ èŨDǨɨ˨$ `dL?@ L?èŨ8Ǩɨx˨èŨ<Ǩɨ|˨ X\L?8؉x L?`èŨ0Ǩɨp˨èŨ4Ǩɨt˨ PTL?@0Љp L? èŨ(Ǩɨh˨èŨ,Ǩɨl˨ HLL?(ȉh 30NuL? èŨ(Ǩɨh˨èŨ,Ǩɨl˨ HLL?(ȉh L?`èŨ0Ǩɨp˨èŨ4Ǩɨt˨ PTL?@0Љp L?èŨ8Ǩɨx˨èŨ<Ǩɨ|˨ X\L?8؉x L?èŨ@Ǩɨ˨ èŨDǨɨ˨$ `dL?@ 30Nu?<Hy?<=NAPJk.<Hyj/< ??<?NA Jk ??<>NAXNuOPBgHy?<NAXNup AB(Q|NuHISCORE.INV `<|fl0fF8l8pvp88pf< 80 0 ~~`0 0```nff>fff~fff<<f<flxpxlf`~fv~~nfff<ff<f>``|fff|<```<>fff>ff>|``|f8<p``flxlf8<|ffff>|f```>`<|~f>fff<|lf<|~ 0~0p p` 44b~ <~`<f<~>f<>f>0<~><~><``<f<~`<f0fff>ffff>|f<``<:0|00~ff<<6f|ff|`0|000` <~> 8< 4X|fff4Xfvnf<>f><000| 6kÆ6n֟6ll6l66l4X<~>4X>`~l>ffn <>6666~~fv~ff<~>6640xR<?<?<?<?<<<<<<<?<<??<?<<<?xxxxxxxyxxxxxxxxxx<~{x=s  @t??^^PZ/v~|?<>a %Xd!!#` `?@f?}}m::7Ȁ.=<?? >*UR@ ,3##x x? PPP[_zz j*._>? ?$ 3|#@! ?5oxP0?> ?_Tt7'! ?vk}KQ _~ o?3W7lȃ d4 # ? }T<Bsཿ1W <H| !L ?5FGU[ʭL?o-!VShχx?w< #L ?^u_OO6-#_p|# ??OU?!%U<R?7?<??+z\ 7$o4* > @BCEo_ ,dwtV> 8B8C"}/U  ,o@`NU_R?> BC___ pp8g_goaKQho~???\\\PB)Z 'ޠ_hc 3Z7?d|||._/FPo_hoA|~^ր>|[_FA.7$@??~~~B_$;????ֿ>P'o?#3< 877I ?'DoO GW7Hs΀cwKD ?0/+777  HOO2OOOHOoOOOHrpgMOKOFI?%'$oo`>!?߯0Po P .O WH_OG cxw _]OOO?￟L ?wb!O/bC-ݿIF$߆pog?>??? ^ Q]__Z___OY_W^_PNNhg]:__ʦM/--߇ro?o?4=!~BCv,v,?@VߪWWWϭoU?88jS5UJ(/>o?;d#~BC@?@9 #/Onch(?eJY[>? ?O?/>>= uu??%o`j~~<=//d Gճ?, ?@?5y'_! ~  ql ۋ{);Ec>/t9  ??  -'ϩ_9N$>p>G%{ )Lj;7ϗ7+>x3y??>`Q-l')ה̄+;h;..@hv/.){ lo=V_75? |`77??*% ,,"/K;Ջ4/Ll׏s4%(Ul׿@$( (+/VpDd; EG߷c7<4@ 0 p o PUBA>AwL*̯ )h`y)8)`R_PƼ9@)`ky)oeT}K?I΋4O`p8noP ?~>/C@(ho7`4<\}}ٞ&aa`LW||&˿{27h @885Y~@?<o.6yV$??] }E@ |\< IOq^qA_xp87D08=GnPv}8^*{[x ??^=[DDh?>R'}#}~?>a _0@0]U  /(Wy1$!__//?R 0pyJJ?.!~ 4q> #D;1:w*p@_'4 Ps?P!<~peo&y?8;A ο<GWW"ÿ@ANpyxTT𿻄w)oo4.}wh'(01?k׫֬5hf~癀0##| pPG_={1 =9)ck)<#/K)s)i& ?b0\?d BB@ Cd~dA*Rp@8d'cYo}x n{8y8<<Hgaڻ wFl?t BCk`*?D"{@[q§?.1/Bx׿8d`Ox@@dκ>DOVVhx @|) s8o=Ҁt9|?BB ?0u/ _  O HGO }ZC 9._@|@^ /J_wgt8|?BB!?3/ YCQi{Ԡ+gC?[@< |J:_= bb]t8|'?Cp ?#@Tz *x# `?@00 7`|zl??=hnߗ?" G X8?@PV_|{{eod Gx?@@עVP/|_|| +߫?(.܀'P~'п/[9/lip`WP=<`"/85 =[;{g?p; ?yo!v 'TPPcƜ999Oo3cOO__?cƜ888#*W(0?[[8_0|D`q A_x{kSN^. . o~Ӱ~,/a#]𩿁(~0\dR88~?"/xyT>߀|lT2M<<@>$__]ϡ|D G&&~` kks qqqG///HKKH pqp|xׇ8|D=4UUH Ed'd&'`i?@J;&'d&`z '88\d|n!!@@HG ?dٛh;# BB3`?B1~^|wz8C|>TCAAOtNN wpjjgro }C#N`6 ߨ~C  609 ~N~Nywp ??Z[[&I~Z0|D # !9@/[[[?4  @ 'X@*i?d?u(|DrHGLDWI@<:#} qnx7:`6o` 1!qY ߀?8|D V o;;/_#BXIfoO/3w3&)$ۇ?8|D ?n  5 @A@Dsh gh$tA?"lx9?." ??>8\d 2͗瀢Q ;70U.IѾp!GW?,x<ٿ(>"o#?X'H?zx8\d^ Bò< ?y? 970Q#'Nzx?jtwB88|lwu?4_((_cf?C^` $?d=d  S}} a~_ {*K>_=?~xcƜ999 GE~C}DGG__=!FF{vڎ' ,lL7A]?Da<@_`e^ W rAG0|D`>>? UUU/Vy@=G==Oߏ c?~~gP8s(~փH~B@< "p ߷i_yy sGߟ 4 ??" ~; {@@  3= #??~q00?s }}uG0 W//ժAU:?_XX@x/* ހh C M'E?x!4??﹤D? @X/WbbWp?ߘ'?<  tsx? F*?(<O0ӽQcl-=?’O쑸\߂ yxEO58so  ooo   o@|?y=Qι$FFЈ?a-->J(? ___@???xogCހ~t~> @8jǕG@,?#ݩO"VV`=,D?xw@^ X[???#z"07#{o m-@{?6I<x:< /{ ?uuAƀ _.u"xH@?}_z*׀8tL# B41???@@?' 4N+|GGw06Wn([?tx8d?\?^ :$D   ^C??_,||}iʀ7!xsLJ8|=D ~BC z;@;s0--oo]~O /'x<uz[C ?1 ȁ?|?D!CBC/?ȃ<< T(C C wWwWw  P [ X`30 X~=Ü; +?>c|?D Bݯ=PP55߿33_Ȁi"}՞kp߉v.D瘾*IA#\0L?D ~CBB4?=[?[¤ۿ55 c,EC7D(8Ԣ^)SC.6ԅz' ؀ \?D CBCKwB>?=+mԒTAϦ`o8Pb@9JHHhS?!\,* \D $BttG0m1ϒw;s; @op? #znlOl,Q@ XWF~;)oCٿ'Q '@D;û ?bW?w@ ǶV|7A"|#D!U  S )  :`4~Ǟ wkc  ?_TءDՎ.+v('x@O@@P8"!u?@~vv@>_oQ`a?nR*yr2"lr !t/ ba7/.Ѐ~~OW?=C~ _@@C|?ǿ$?B(Hp? >" 8A(@HaǞ?yK|w???KD~32M[賿 FBA]~BR?8Sh@%FB~/:86:݀P1?>>t}8 I<@,?cWOGx?77CF _/_p1V; ? HH7<>>>` >x<!~ @7@?<<P0>` >224ˇ|>῀~@_:_?8dDtQvv%ؠv'_92??l~p _ ~w5߀ ||?(C@JJC+_}??[2@@{{߀||? z?^Z,@/@J3J*??[Z22@@{{||BBBB?>II8880@v6?||3?CC** A$ $  //nnuu #*>I@p(a l~?xxx#`Bdp~<%=`0>0>x0>@>~@x$l<0>` ?>&>=@@(g><0>>p=P____`@`??G0> _@>?o``0o T@_`O` 00  W//߁߁oo` `oo`B 000 ߃`@`o0x 88 < pp#X8  U 88~ ?m( w?0778 8??(e  ? 88 o0 0?@(= ?<=~ =?a;88p?00?#8< WTUMU ]J_UU]ZUUZ_U?_J@U_2]0UzU?*jJUX8=  {{{``pp@@@@8=y@ @@ 888<(<@@pp0000 @@008x=0>* 888<8<[ [ [@@ppA 0000`@@  x=Áepp PP?%  888<8, `@@@@00 0P0@@00@``??~B%88A  ?5@x8x(<~4v44?"AAA\@X@X?5fBBxx00pp  `@@@``D~[TTx?Á|?CC v}}vvFFUZ3"`@__03"({ =CC??0CA3"a@{kkBBbb`@80b@`@  80d@?< `00 KK@@TQ  T*      6  Lj4" & D".2<    8>%BbTJ  $L    l H NTL8Z P :h~  :1 OPT O+ *** SIXTEEN SAMPLE MUSIC PLAYER *** *** FOUR CHANNEL *** ***WRITTEN JAN'1993 BY G.WHEATON*** ** CURRENT 14KHZ screen=$78000 MEM=SCREEN-64100 MEM1=MEM-64000 clr joy move.l D0,movein score MOVE.L A0,RETURNAD bsr wtvb1 MOVE.B #0,$F8260.W JSR INITSND tas.b loadem bne.s didit MOVE.L $118.W,OLDHK jsr bload didit CLR.B $484.W dontdo JSR INITSND JSR CLIS MOVE.B #7,$F8201.W MOVE.B #$80,$F8203.W JSR CLIS ST.B SCOR JSR STORE_INTS BSR INIT_JOY ** LEA DATA+640(PC),A0 MOVE #256*31,D0 SWAP D0 MOVE INS3,D0 MOVE.L D0,(A0)+ MOVE.L D0,(A0)+ MOVE.L D0,(A0)+ MOVE.L D0,(A0) JSR SETUP JSR STARTHBL JSR HISCORES MOVE.L #$E00FF00,$FF8800 REDO MOVE #1000,HORZ CLR.B DONETUNE MOVE.L #EE-36,UPTO CLR COUNT ST.B SCOR MOVE.L #MESSAGE,MPOINT MOVE.L #24,LV MOVE #160,PICOF JSR DOPIC bsr clrbuf CLR.B SCOR JSR INITSND BSR PLAYSAM MOVE.L A4,LAST MOVE.L A4,TINK * JSR INITSND  waitkey CMP.B #12,DONETUNE BNE.S QUI JMP REVERSPIC ST.B SCOR  QUI BTST.B #7,JOY BNE.S LIFT cmp.b #57,$fc02.w bne.s waitkey *- LIFT move.b $FFFA1D,d0 and #$f,d0 move.b d0,$FFFA1D ; STOP TIMER C ST.B SCOR JSR CLIS BSR REST_JOY BSR SAMSTOP *- FLUSH BTST.B #0,$FC00.W FLUSH KEYBOARD BEQ.S OKL MOVE.B $FC02.W,D0 BRA.S FLUSH OKL MOVE.L RETURNAD,A0 JMP (A0) played dc.b 0,0 RETURNAD DC.L 0 WTVB MOVE.B $467.W,D0 FG CMP.B $467.W,D0 BEQ.S FG RTS WTVB1 MOVE.B $469.W,D0 FG1 CMP.B $469.W,D0 BEQ.S FG1 RTS sv dc.l 0 DONETUNE DC.B 0,0 clrbuf lea store(pc),a0 wag move.l #0,(a0)+ cmp.l #tink,a0 blt.s wag rts *-*-* key ROUTINE BY G.W. *-*-* OLDHK DC.L 0 JOY DC.B 0,0 ;FIRST BYTE JOY (4BIT) TRIG=BIT 7 INIT_JOY MOVE.L #NK,$118 RTS * REST_JOY *RESTORE OLD CRAP KEY INTERRUPT..YUK! MOVE.L OLDHK(PC),$118 RTS * key & JOY ROUT IN $118 INTERRUPT * NK MOVE D2,-(SP) PEA (A0) LEA $FC00.W,A0 *KEYB CNTRL move.b (a0),d2 tst.b joyp bne.s joyous tst.b mousp bne.s mousous btst #7,d2 beq.s een move.b 2(a0),d2 cmp.b #$ff,d2 bne.s nojoy st.b joyp bra.s een nojoy cmp.b #$f8,d2 bcs.s keyp move.b #1,mousp bra.s een keyp move.b 2(a0),key EEN BCLR.B #6,$FFFA11 MOVE.L (SP)+,A0 MOVE (SP)+,D2 RTE joyous move.b 2(a0),joy move.b #0,joyp bra.s een mousous move.b 2(a0),mousp+1 subq.b #1,mousp bra.s een mousp dc.b 0,0 joyp dc.b 0 key dc.b 0 even * LOAD SAMPLES ETC * STORE_INTS LEA STORE(pc),A5 LEA STORER(pc),A1 MOVE.B $FFFA09,(A1)+ MOVE.B $FFFA17,(A1)+ MOVE.B $FFFA15,(A1)+ MOVE.B $FFFA21,(A1)+ MOVE.B $FFFA1D,(A1)+ MOVE.B $FFFA23,(A1)+ MOVE.B $FFFA0D,(A1)+ MOVE.B $FFFA07,(A1)+ MOVE.B $FFFA13,(A1)+ move.l $114,old114 move.l $70.w,oldvbi move.l $120.w,oldh RTS PLAYSAM LEA STORE(pc),A5 LEA 224(A5),A4 move.b $FA1D.W,d0 and.b #$f,d0 move.b d0,$FA1D.W ; STOP TIMER C move.l #YMSC,$114.w MOVE.B #19,$FFFA23 ; STORE TIMER C DATA OR.B #$20,$FA15.W ; TIMER C MASK OR.B #$20,$FA1D.W ; START TIMER C OR.B #$20,$FA09.W ; TIMER C ENAB RTS SAMSTOP MOVE #$2700,SR LEA STORER(pc),A1 MOVE.B (A1)+,$FFFA09 MOVE.B (A1)+,$FFFA17 MOVE.B (A1)+,$FFFA15 MOVE.B (A1)+,$FFFA21 MOVE.B (A1)+,$FFFA1D MOVE.B (A1)+,$FFFA23 MOVE.B (A1)+,$FFFA0D MOVE.B (A1)+,$FFFA07 MOVE.B (A1),$FFFA13 MOVE.B #205,$FFFA23 ; STORE TIMER C DATA move.l old114,$114 move.l oldvbi,$70.w move.l oldh,$120.w MOVE #$2300,SR RTS ; RETURN old114 dc.l 0 STORER DS.B 16 EVEN *- oldvbi dc.l 0 oldtimer_a: dc.l 0 oldh dc.l 0 even *- vbi MOVE.B #0,$FA1B.W MOVE.L #H1,$120.W move.b #10,$FA21.W move.b #8,$FA1B.W MOVE.L #$220707,$F8240+2.W movem.l d0-d5/a0-a4,-(sp) MOVEM.L pic+2+8,D0-D5 MOVEM.L D0-D5,$F8240+8.W tst.b scor bne.s oh MOVE.L #$440477,$F8240+4.W JSR DOPLANE BSR VBIM BSR TEST ADD.B #128,$466.W BCC.S OH1 LEA COLSS(PC),A0 MOVE (A0),D0 SUBQ #2,D0 BPL.S TI MOVEQ #26,D0 TI MOVE D0,(A0)+ MOVE (A0,D0),DRAC+4 BRA.S OH1 oh MOVE #$170,H20+4 MOVE #$70,DRAC+4 OH1 movem.l (sp)+,d0-d5/a0-a4 ADDQ #1,$468.W rte COLSS DC.W 26 DC.W $117,$227,$335,$447,$557,$667,$777,$676 DC.W $575,$474,$373,$272,$171,$70,$60 *- SCOR DC.B 0,0 H1 MOVE.L #$7060211,$F8240+4.W MOVE #$727,$F8240+2.W ADDQ #1,$466.W MOVE.L #H2,$120.W MOVE.B #0,$FA1B.W MOVE.B #9,$FA21.W MOVE.B #8,$FA1B.W RTE H2 MOVE #$705,$F8240+4.W MOVE.L #H3,$120.W RTE H3 MOVE #$704,$F8240+4.W MOVE.L #H4,$120.W RTE H4 MOVE #$703,$F8240+4.W MOVE.L #H5,$120.W RTE H5 MOVE.L #$7000702,$F8240+2.W MOVE.L #H6,$120.W RTE H6 MOVE #$701,$F8240+4.W MOVE.L #H7,$120.W RTE H7 MOVE.L #$7220700,$F8240+2.W MOVE.L #H8,$120.W RTE H8 MOVE.L #$600710,$F8240+2.W MOVE.L #H9,$120.W RTE H9 MOVE #$720,$F8240+4.W MOVE.L #H10,$120.W RTE H10 MOVE.L #$700730,$F8240+2.W MOVE.L #H11,$120.W RTE H11 MOVE #$740,$F8240+4.W MOVE.L #H12,$120.W RTE H12 MOVE.L #$7770750,$F8240+2.W MOVE.L #H13,$120.W RTE H13 MOVE #$760,$F8240+4.W MOVE.L #H14,$120.W RTE H14 MOVE #$770,$F8240+4.W MOVE.L #H15,$120.W RTE H15 MOVE #$670,$F8240+4.W MOVE.L #H16,$120.W RTE H16 MOVE #$570,$F8240+4.W MOVE.L #H17,$120.W RTE H17 MOVE #$470,$F8240+4.W MOVE.L #H18,$120.W RTE H18 MOVE.L #$3700111,$F8240+4.W MOVE.L #$2220333,$F8240+10.W MOVE.L #$4440555,$F8240+14.W MOVE #$666,$F8240+20.W MOVE #$776,$F8240+28.W MOVE.L #H19,$120.W RTE H19 MOVE #$270,$F8240+4.W MOVE #$760,$F8240+30.W MOVE.L #H20,$120.W RTE H20 MOVE.L #$6660170,$F8240+2.W MOVE #$740,$F8240+30.W MOVE.L #H21,$120.W RTE H21 DRAC MOVE.L #$5300070,$F8240+2.W MOVE.B #0,$FA1B.W RTE *- YMSC MOVE (A5)+,D7 AND #$3FC,D7 MOVE D7,D6 ADD D6,D6 ADD D7,D6 MOVEM.L SND(PC,D6.W),D6-D7/A6 MOVEM.L D6-D7/A6,$F8800.W CMP.L #STORE+2048,A5 BEQ.S ENDI RTE ENDI LEA STORE(PC),A5 RTE SND INCBIN sndtable.dat VOLG INCBIN VOLHALF.DAT STORE DCB.W 2048,$80 ;SAM BUFFER DS.L 10 TINK DC.L STORE LAST DC.L STORE ADJ1 DC.L 0 ADJ2 DC.L 0 ADJ3 DC.L 0 ADJ4 DC.L 0 ADJ5 DC.W 0 FLAG DC.W 0 TEST MOVE.L A5,D2 MOVE.L LAST(PC),D1 MOVE.L D2,LAST SUB.L D1,D2 BPL.S KKK ADD #2048,D2 ;WRAP KKK LSR #1,D2 ;NUMBER TO DO MOVE.L #STORE+2048,D3 ;END BUFFER SUB.L TINK(PC),D3 ;LAST / END WA LSR #1,D3 ;BUFFER SPACE LEFT CMP D3,D2 ;ENOUGH SPACE? BLT.S FFF ;yes ** DO END OF BUFF ** **D2 = # TO DO MOVE D2,FLAG ;# TO DO SUB D3,FLAG BSR.S DOONE LEA STORE(PC),A4 MOVE.L A4,TINK ;BUFFER MOVE FLAG(PC),D2 FFF MOVE D2,D3 BSR.S DOONE MOVE.L A4,TINK ;BUFFER RTS * DOONE MOVE D3,ADJ5 LSR #2,D3 BNE.S DOMOST RTS DOMOST SUBQ #1,D3 LEA DATA(PC),A1 *** CALC CHAN1 SAMPLE VALS MOVE.L 320(A1),D1 ;SAM LENGTH.W -VE MOVE.L 256(A1),A0 ;SAMPLE END ADDRESSES MOVE ADJ1(PC),D2 ;ADD MOVE (A1),D4 ;CARRY MOVE 384(A1),A2 ;LOOP MOVE INS1(PC),D5 ;CODE MODIFY LEA VOLG(PC),A3 ADD 640(A1),A3 ;VOL MOVE 642(A1),D0 ;OCT BSR RELL1 MOVE.L D1,320(A1) ;BACK INDEX MOVE D4,(A1) ;FREQ CARRIER *** CALC CHAN2 SAMPLE VALS MOVE.L 320+4(A1),D1 ;-VE LENGHT.W MOVE.L 256+4(A1),A0 ;SAMPLE END ADDRESSES MOVE ADJ2(PC),D2 MOVE 4(A1),D4 MOVE 384+4(A1),A2 ;LOOP MOVE INS2(PC),D5 LEA VOLG(PC),A3 ADD 644(A1),A3 ;VOL MOVE 642+4(A1),D0 ;OCT BSR RELL1 MOVE.L D1,320+4(A1) ;BACK INDEX MOVE D4,4(A1) *** CALC CHAN3 SAMPLE VALS MOVE.L 320+8(A1),D1 MOVE.L 256+8(A1),A0 ;SAMPLE END ADDRESSES MOVE ADJ3(PC),D2 MOVE 8(A1),D4 MOVE 384(A1),A2 ;LOOP MOVE 384+8(A1),A2 ;LOOP LEA VOLG(PC),A3 ADD 648(A1),A3 ;VOL MOVE 642+8(A1),D0 ;OCT BSR.S RELL MOVE.L D1,320+8(A1) ;BACK INDEX MOVE D4,8(A1) *** CALC CHAN4 SAMPLE VALS MOVE.L 320+12(A1),D1 ;BACK INDEX MOVE.L 256+12(A1),A0 ;SAMPLE END ADDRESSES MOVE 384(A1),A2 ;LOOP MOVE ADJ4(PC),D2 MOVE 12(A1),D4 MOVE 384+12(A1),A2 ;LOOP LEA VOLG(PC),A3 ADD 652(A1),A3 ;VOL CHAN4 MOVE 642+12(A1),D0 ;OCT BSR.S RELL MOVE.L D1,320+12(A1) ;BACK INDEX MOVE D4,12(A1) RTS *% RELL1 MOVE D5,WILT MOVE D5,WILT1 MOVE D5,WILT2 MOVE D5,WILT3 MOVE D5,WILT4 RELL MOVE D0,OCT1 MOVE D0,OCT2 MOVE D0,OCT3 MOVE D0,OCT4 MOVE D0,OCT5 MOVE D3,D0 MOVEQ #0,D5 ADD.L #SAMS,A0 MOVE.L TINK(PC),A4 ;BUFF RELT MOVE.B (A0,D1),D5 ;BACK INDEX! MOVE.B (A3,D5),D5 ;VOL1 ADD D2,D4 BCS.S RELOAD1 * WILT MOVE D5,(A4)+ MOVE.B (A0,D1),D5 yMOVE.B (A3,D5),D5 ;VOL2 ADD D2,D4 BCS.S RELOAD2 * WILT1 MOVE D5,(A4)+ MOVE.B (A0,D1.W),D5 MOVE.B (A3,D5),D5 ;VOL3 ADD D2,D4 BCS.S RELOAD3 * WILT2 MOVE D5,(A4)+ MOVE.B (A0,D1),D5 MOVE.B (A3,D5),D5 ;VOL2 ADD D2,D4 BCS.S RELOAD4 * WILT3 MOVE D5,(A4)+ KJ DBRA D0,RELT * MOVE ADJ5(PC),D0 AND #3,D0 BNE.S WW1 RTS WW1 SUBQ #1,D0 DOMORE MOVE.B (A0,D1),D5 MOVE.B (A3,D5),D5 ;VOL2 ADD D2,D4 BCS.S RELOAD5 WILT4 MOVE D5,(A4)+ DBRA D0,DOMORE RTS INS1 MOVE D5,(A4)+ INS2 ADD D5,(A4)+ INS3 ADDQ #1,D1 INS4 ADDQ #2,D1 * RELOAD1 OCT1 ADDQ #1,D1 BMI.S WILT MOVE A2,D1 ;LOOP BRA.S WILT RELOAD2 OCT2 ADDQ #1,D1 BMI.S WILT1 MOVE A2,D1 ;LOOP BRA.S WILT1 RELOAD3 OCT3 ADDQ #1,D1 BMI.S WILT2 MOVE A2,D1 BRA.S WILT2 RELOAD4 OCT4 ADDQ #1,D1 BMI.S WILT3 MOVE A2,D1 BRA.S WILT3 RELOAD5 OCT5 ADDQ #1,D1 BMI.S WILT4 MOVE A2,D1 BRA.S WILT4 * MUSIC PLAYER * VBIM MOVE.L UPTO(PC),A2 MOVE COUNT(PC),D3 SUBQ.W #1,D3 BPL.S PART1 LEA DATA+640(PC),A4 MOVE #256*31,D1 ;SET VOL MAX MOVE D1,(A4) MOVE D1,4(A4) MOVE D1,8(A4) MOVE D1,12(A4) MOVE.L #$0100,D1 MOVE.L d1,PNT1 MOVE.L d1,PNT2 MOVE.L d1,PNT3 MOVE.L d1,PNT5 LEA 36(A2),A2 CMP.L #CHAN0,A2 BNE.S LLA LEA DOTH(PC),A2 LLA MOVE 34(A2),D3 ADDQ.B #1,DONETUNE PART1 MOVE.B 33(A2),D4 MOVE.L (A2),A1 MOVE.L 4(A2),A0 BSR CHAN0 MOVE.L 8(A2),A1 MOVE.L 12(A2),A0 BSR CHAN0 MOVE.L 16(A2),A1 MOVE.L 20(A2),A0 BSR CHAN0 MOVE.L 24(A2),A1 MOVE.L 28(A2),A0 BSR CHAN0 W4 MOVE.L A2,UPTO MOVE D3,COUNT KILLER RTS DC.B " (C) G.WHEATON. 7 SEAFORTH ROAD. BOLTON. LANCS, U.K. " EVEN FLO DC.B 0,0 UPTO DC.L EE-36 COUNT DC.W 0 *** RUNNING ORDER SEQUENCE *** EE DC.L PNT5,NULL DC.L PNT1,NULL DC.L PNT2,NULL DC.L PNT3,DX DC.B 0,%01 DC.W 31 DOTH DC.L PNT5,NULL DC.L PNT1,_NOTE2B DC.L PNT2,_NOTE2 DC.L PNT3,DRMM DC.B 0,%01 DC.W 767 DC.L PNT5,_NOTE0 DC.L PNT1,_NOTE1 DC.L PNT2,_NOTE2A DC.L PNT3,DRMM DC.B 0,%01 DC.W -1+768*2 DC.L PNT5,LEAD1 DC.L PNT1,BS1 DC.L PNT2,LEAD DC.L PNT3,DRMM DC.B 0,%0001 DC.W 767 DC.L PNT5,TUNEA DC.L PNT1,TUNE DC.L PNT2,_NOTE2 DC.L PNT3,DRMM DC.B 0,%01 DC.W 767 DC.L PNT5,TUNEB DC.L PNT1,TUNE DC.L PNT2,_NOTE2 DC.L PNT3,DRMM DC.B 0,%01 DC.W 767 * CHAN0 LSR.B #1,D4 BCS.S W111 RTS W111 SUBQ.B #1,2(A1) ;NP0 BNE.S STILLON MOVE (A1),D0 ;where were we? MOVE.L (A0,D0),D1 ;GET NOTE,SAMPLE#,DURATION & EFFECT-1BYTE EACH. BPL.S NORESET MOVE #0,(A1) ;RESET TO START MOVE.L (A0),D1 * NORESET MOVE.L D1,D0 MOVE.L D1,D2 SWAP D0 LSR #8,D0 ADD.B 32(A2),D0 ;TRANSPOSE ASL #1,D0 LEA SAMNOTES(PC),A4 MOVE (A4,D0),6(A1) MOVE 6(A1),20(A1) MOVE D1,2(A1) ;NP0 SET NEW DURATION ADDQ #4,(A1) ; & INC POINTER SWAP D1 AND #15,D1 ;SAM # ASL #2,D1 ;MULU #4 LEA DATA(PC),A4 ADD D1,A4 MOVE.L 24(A1),A3 ;DATA+OFFSET,THIS CHAN *SET SAMPLE TO BEGIN TST.B D2 BMI.S STILLON ;DONT RESTART SAMPLE MOVE #0,4(A1) MOVE.L 192(A4),256(A3) ;SAM #X, ADDR MOVE.L 64(A4),320(A3) MOVE.L 128(A4),384(A3) STILLON MOVEQ #0,D0 MOVE.B 3(A1),D0 BSR EFFECT MAZ MOVE 20(A1),D0 MOVE.L 10(A1),A4 MOVE D0,(A4) FINK ADDQ.B #1,4(A1) RTS * EFFECTS ROUTINES * EFCT DC.L FINK ;0 DC.L VIB ;1 DC.L LOWVOL ;2 DC.L WARB ;3 DC.L FINK ;4 DC.L SETVOL ;5 DC.L FADE ;6 DC.L AMIN ;7 DC.L FMAJ ;8 DC.L GMAJ ;9 DC.L CMAJ ;10 DC.L OCTAVE1 ;11 DC.L OCTAVE2 ;12 DC.L ADSR ;13 DC.L ADSR1 ;14 DC.L VOLMAX ;15 DC.L SLIDEUP ;16 DC.L SLIDEUP1 ;17 DC.L SLIDEUP2 ;18 DC.L WARBOCT ;19 DC.L WARBOC ;20 DC.L SLIDEDOWN ;21 REPT 16 DC.L FINK ENDR EFFECT LEA EFCT(PC),A4 AND #31,D0 ASL #2,D0 MOVE.L (A4,D0),A4 JSR (A4) RTS SETVOL MOVE.L 28(A1),A4 MOVE #10*256,(A4) RTS VIB CMP.B #8,4(A1) BCC.S WJN RTS WJN MOVE 16(A1),D1 ADD D1,18(A1) MOVE 14(A1),D1 CMP 18(A1),D1 BLT.S RIST NEG D1 CMP 18(A1),D1 BGT.S RIST SAZ MOVE 6(A1),D1 ADD 18(A1),D1 MOVE D1,20(A1) SDC RTS RIST NEG 16(A1) BRA.S SAZ sac move 6(a1),20(a1) rts * CHANGE OCTAVE RANGES * OCTAVE1 MOVE.L 28(A1),A4 MOVE INS3(PC),D1 MOVE D1,2(A4) RTS  * CHANGE OCTAVE RANGES * OCTAVE2 MOVE.L 28(A1),A4 MOVE INS4(PC),D1 MOVE D1,2(A4) RTS * CHORDAL WARBLES * AMIN LEA INDX(PC),A4 BRA CHORDAL FMAJ LEA INDX1(PC),A4 BRA CHORDAL GMAJ LEA INDX2(PC),A4 BRA CHORDAL CMAJ LEA INDX3(PC),A4 CHORDAL SUBQ #2,(A4) BPL.S WPP MOVE #6,(A4) WPP MOVE (A4),D0 MOVE 2(A4,D0),20(A1) RTS INDX DC.W 0 AMI DC.W 60500,45500,36500,65500/2 INDX1 DC.W 0 FMA DC.W 48500,30250,36500,48500/2 INDX2 DC.W 0 GMA DC.W 54000,41000,34200,27000 INDX3 DC.W 0 CMA DC.W 36500/2,54000/2,45500/2,36500 FADE RTS WARBOC BSR OCTAVE1 BRA.S WARB WARBOCT BSR OCTAVE2 WARB ADD.B #64,GET BCC.S AXX LSR 20(A1) CMP #12000,20(A1) BGT.S AXX MOVE 6(A1),20(A1) AXX RTS GET DC.B 0,0 ;-5*256 SILENT MOVE.B #150,4(A1) RTS SETVOL1 RTS LOWVOL *2 MOVE.L 28(A1),A4 MOVE.B #12,(A4) RTS VOLMAX MOVE.L 28(A1),A4 MOVE.B #31,(A4) RTS ADSR MOVE.L 28(A1),A4 ADD.B #64,FLO+1 BCC.S WER ADSR1 MOVE.L 28(A1),A4 CON CMP.B #4,(A4) BCS.S WER SUBQ.B #2,(A4) WER TST.B 4(A1) BEQ.S LMM RTS LMM MOVE.B #31,(A4) RTS SLIDEDOWN ;21 CMP.B #12,4(A1) BLO.S WQA11 add #300,20(A1) add #300,6(A1) WQA11 BRA WARB RTS SLIDEUP CMP.B #16,4(A1) BCS.S WQA SLIDEUP1 ADD #100,20(A1) WQA RTS SLIDEUP2 CMP.B #12,4(A1) BCS.S WQA ADD #90,20(A1) RTS *% PNT1 DC.W 0 DC.W 1 ;EFFECT & DURATION 2(A1) DC.B 0,0 ; DC.L 0 ; DC.L ADJ1 ;10(A DC.W 1303 ;VIB LIMIT DC.W 200 ;VIB ADD 16(A1) DC.W 0 ;VIB 18(A1) DC.L 0 ;TEMP NOTE 20(A1) DC.L DATA ;24 DC.L DATA+640 ;28 VOL 1 DC.L SCREEN ;32 PNT2 DC.W 0 DC.W 1 ;EFFECT & DURATION 2(A1) DC.B 0,0 ; DC.L 0 ; DC.L ADJ2 ;10(A DC.W 600 ;VIB LIMIT DC.W 300 ;VIB ADD 16(A1) DC.W 1 ;VIB 18(A1) DC.L 0 ;TEMP NOTE 20(A1) DC.L DATA+4 ;24 DC.L DATA+644 ;28 DC.L SCREEN ;32 PNT3 DC.W 0 DC.W 1 ;2(A1) DURATION DC.B 0,0 ;4(A1) DC.L 0 ;6 DC.L ADJ3 ;10(A1) VOL REG DC.W 300 ;VIB LIMIT DC.W 100 ;VIBRATO ADD 16(A1) DC.W 0 ;VIB 18(A1) DC.L 0 ;TMP NOTE 20(A1) DC.L DATA+8 ;24 DC.L DATA+648 ;28 DC.L SCREEN ;32 PNT5 DC.W 0 DC.W 1 ;EFFECT & DURATION 2(A1) DC.B 0,0 DC.L 0 DC.L ADJ4 ;10(A1 DC.W 900 ;VIB LIMIT DC.W 500 ;VIB ADD 16(A1) DC.W 0 ;VIB 18(A1) DC.L 0 ;TEMP NOTE 20(A1) DC.L DATA+12 ;24 DC.L DATA+652 ;28 WORK AREA CHAN2 DC.L SCREEN ;32 DC.L SCREEN ;36 SAMNOTES DC.W 32000/4 *A# 0 DC.W 34200/4 *B 1 DC.W 36500/4 *C 2 DC.W 38300/4 *C# 3 DC.W 41000/4 *D 4 DC.W 43000/4 *D# 5 DC.W 45500/4 *E 6 DC.W 48500/4 *F 7 DC.W 51500/4 *F# 8 DC.W 54000/4 *G 9 DC.W 57500/4 *G# 10 DC.W 60500/4 *A 11 DC.W 32000/2 *A# 12 DC.W 34200/2 *B 13 DC.W 36500/2 *C 14 DC.W 38300/2 *C# 15 DC.W 41000/2 *D 16 DC.W 43000/2 *D# 17 DC.W 45500/2 *E 18 DC.W 48500/2 *F 19 DC.W 51500/2 *F# 20 DC.W 54000/2 *G 21 DC.W 57500/2 *G# 22 DC.W 60500/2 *A 23 DC.W 32000 *A# 24 DC.W 34200 *B 25 DC.W 36500 *C 26 DC.W 38300 *C# 27 DC.W 41000 *D 28 DC.W 43000 *D# 29 DC.W 45500 *E 30 DC.W 48500 *F 31 DC.W 51500 *F# 32 DC.W 54000 *G 33 DC.W 57500 *G# 34 DC.W 60500 *A 35 DC.W 0 ;72(A *% *MUSIC DATA--NOTE,SAM#,LENGTH,EFFECT* *% NULL DC.B 36,0,255,11 DC.W $F,$F NULL1 DC.B 37,2,128,2 ;FADE DC.B 19,2,128,2 DC.B 21,2,128,2 DC.B 14,2,128,2 DC.W $F,$F DRMM DC.B 35,4,8,0 DC.B 35,4,8,0 DC.B 35,5,16,0 DX DC.B 35,4,16,0 DC.B 35,5,16,0 DC.B 35,4,16,0 DC.B 35,5,8,0 DC.B 35,5,8,0 DC.B 35,4,16,0 DC.B 35,5,16,0 DC.B 35,4,16,0 DC.B 35,5,16,0 DC.B 35,4,16,0 DC.B 35,5,16,0 DC.B 35,4,16,0 DC.B 35,5,16,0 DC.B 35,4,16,0 DC.B 35,5,8,0 DC.B 35,5,8,0 DC.W $F,$F _NOTE2B DC.B 36,0,4,5 _NOTE2A DC.B 36,0,1,5 _NOTE2 DC.B 36,0,1,11 DC.B 36,0,31,0 DC.B 23,0,16,0 DC.B 30,0,10,0 DC.B 30,0,6,0 DC.B 23,0,16,0 DC.B 30,0,10,0 DC.B 30,0,6,0 DC.B 23,0,16,0 DC.B 30,0,10,0 DC.B 30,0,6,0 DC.B 23,0,16,0 DC.B 30,0,16,12 DC.B 28,0,16,11 DC.B 35,0,10,0 DC.B 35,0,6,0 DC.B 28,0,16,0 DC.B 35,0,10,0 DC.B 35,0,6,0 DC.B 28,0,16,0 DC.B 35,0,10,0 DC.B 35,0,6,0 DC.B 28,0,16,0 DC.B 35,0,10,0 DC.B 35,0,6,0 DC.B 23,0,16,0 DC.B 30,0,10,0 DC.B 30,0,6,0 DC.B 23,0,16,0 DC.B 30,0,10,0 DC.B 30,0,6,0 DC.B 23,0,16,0 DC.B 30,0,10,0 DC.B 30,0,6,0 DC.B 23,0,16,0 DC.B 30,0,10,0 DC.B 30,0,6,0 DC.B 28,0,16,0 DC.B 35,0,10,0 DC.B 35,0,6,0 DC.B 28,0,16,0 DC.B 35,0,10,0 DC.B 35,0,6,0 DC.B 28,0,16,0 DC.B 35,0,10,0 DC.B 35,0,6,0 DC.B 28,0,16,0 DC.B 35,0,10,0 DC.B 35,0,6,0 DC.B 30,0,16,0 DC.B 30,0,16,15 DC.B 25,0,24,16 DC.B 25,0,8,0 DC.B 30,0,16,0 DC.B 30,0,16,0 DC.B 25,0,24,16 DC.B 25,0,8,0 DC.B 30,0,16,1 DC.B 30,0,16,1 DC.B 25,0,24,16 ;FREQ SLIDE UP DC.B 25,0,8,0 DC.B 30,0,8,1 DC.B 29,0,8,2 DC.B 30,0,24,1 DC.B 36,0,1,11 DC.B 36,0,8+15,0 DC.B 23,0,16,0 DC.B 30,0,10,0 DC.B 30,0,6,0 DC.B 23,0,16,0 DC.B 30,0,10,0 DC.B 30,0,6,0 DC.B 23,0,16,0 DC.B 30,0,10,0 DC.B 30,0,6,0 DC.B 23,0,16,0 DC.B 30,0,16,12 DC.B 28,0,16,11 DC.B 35,0,10,0 DC.B 35,0,6,0 DC.B 28,0,16,0 DC.B 35,0,10,0 DC.B 35,0,6,0 DC.B 28,0,16,0 DC.B 35,0,10,0 DC.B 35,0,6,0 DC.B 28,0,16,0 DC.B 35,0,10,0 DC.B 35,0,6,0 DC.B 23,0,16,0 DC.B 30,0,10,0 DC.B 30,0,6,0 DC.B 23,0,16,0 DC.B 30,0,10,0 DC.B 30,0,6,0 DC.B 23,0,16,0 DC.B 30,0,10,0 DC.B 30,0,6,0 DC.B 23,0,16,0 DC.B 30,0,10,0 DC.B 30,0,6,0 DC.B 28,0,16,0 DC.B 35,0,10,0 DC.B 35,0,6,0 DC.B 28,0,16,0 DC.B 35,0,10,0 DC.B 35,0,6,0 DC.B 28,0,16,0 DC.B 35,0,10,0 DC.B 35,0,6,0 DC.B 28,0,16,0 DC.B 35,0,10,0 DC.B 35,0,6,0 DC.B 30,0,16,0 DC.B 30,0,16,15 DC.B 25,0,24,16 DC.B 25,0,8,0 DC.B 30,0,16,0 DC.B 30,0,16,0 DC.B 25,0,24,16 DC.B 25,0,8,0 DC.B 30,0,16,1 DC.B 30,0,16,1 DC.B 25,0,24,16 ;FREQ SLIDE UP DC.B 25,0,8,0 DC.B 30,0,32,1 DC.W $FFFF,$FFFF NT DC.B 36,0,5,17 NT1 ;Am DC.B 36,3,48,11 DC.B 30,3,8,0 DC.B 30,3,8,0 DC.B 26,3,8,0 DC.B 36,3,8,0 DC.B 23,3,8,0 DC.B 36,3,8,0 DC.B 26,3,8,0 DC.B 36,3,8,0 DC.B 30,3,8,0 DC.B 36,3,8,0 DC.B 35,3,32,1 ;Dm DC.B 36,3,16,0 DC.B 28,3,8,0 DC.B 31,3,8,0 DC.B 28,3,8,0 DC.B 31,3,8,0 DC.B 28,3,8,0 DC.B 31,3,8,0 DC.B 28,3,8,0 DC.B 36,3,8,0 DC.B 31,3,8,0 DC.B 36,3,8,0 DC.B 35,3,32,0 ;Am DC.B 36,3,16,0 DC.B 23,3,8,0 DC.B 26,3,8,0 DC.B 23,3,16,14 DC.B 30,3,8,15 DC.B 36,3,8,0 DC.B 26,3,8,0 DC.B 36,3,8,0 DC.B 23,3,8,0 DC.B 36,3,8,0 DC.B 26,3,8,0 DC.B 36,3,8,0 DC.B 30,3,8,0 DC.B 36,3,8,0 DC.B 35,3,16,0 DC.B 28,3,8,0 DC.B 31,3,8,0 DC.B 28,3,8,0 DC.B 31,3,8,0 DC.B 28,3,8,0 DC.B 31,3,8,0 DC.B 28,3,8,0 DC.B 31,3,8,0 DC.B 28,3,8,0 DC.B 31,3,8,0 DC.B 28,3,8,0 DC.B 31,3,8,0 DC.B 30,3,8,0 DC.B 34,3,8,0 DC.B 36,3,8,0 DC.B 34,3,8,0 DC.B 30,3,8,0 DC.B 34,3,8,0 DC.B 30,3,8,0 DC.B 34,3,8,0 DC.B 30,3,8,0 DC.B 34,3,8,0 DC.B 36,3,8,0 DC.B 34,3,8,0 DC.B 30,3,8,0 DC.B 34,3,8,0 DC.B 30,3,8,0 DC.B 34,3,8,0 DC.B 30,3,8,0 DC.B 34,3,8,0 DC.B 36,3,8,0 DC.B 34,3,8,0 DC.B 30,3,8,0 DC.B 34,3,8,0 DC.B 30,3,8,0 DC.B 34,3,8,0 DC.B 30,3,8,0 DC.B 34,3,8,0 DC.B 30,3,32,0 DC.B 36,3,130,0 DC.W $FFFF,$FFFF _NOTE1 ;Am DC.B 36,1,1,12 DC.B 36,1,48,2 ;LOW VOL DC.B 30,1,16,0 DC.B 26,1,16,0 DC.B 23,1,16,0 DC.B 26,1,16,0 DC.B 30,1,16,0 DC.B 35,1,48,1 ;Dm DC.B 28,1,8,0 DC.B 31,1,8,0 DC.B 28,1,8,0 DC.B 31,1,8,0 DC.B 28,1,8,0 DC.B 31,1,8,0 DC.B 28,1,8,0 DC.B 31,1,8,0 DC.B 28,1,8,0 DC.B 31,1,8,0 DC.B 28,1,8,0 DC.B 31,1,8,0 ;Am DC.B 36,1,32,0 DC.B 23,1,8,0 DC.B 26,1,8,0 DC.B 23,1,16,1 DC.B 30,1,16,0 DC.B 26,1,16,0 DC.B 23,1,16,0 DC.B 26,1,16,0 DC.B 30,1,16,0 DC.B 35,1,16,0 DC.B 28,1,8,0 DC.B 31,1,8,0 DC.B 28,1,8,0 DC.B 31,1,8,0 DC.B 28,1,8,0 DC.B 31,1,8,0 DC.B 28,1,8,0 DC.B 31,1,8,0 DC.B 28,1,8,0 DC.B 31,1,8,0 DC.B 28,1,8,0 DC.B 31,1,8,0 DC.B 30,1,8,0 DC.B 34,1,16,0 DC.B 34,1,8,0 DC.B 30,1,8,0 DC.B 34,1,8,0 DC.B 30,1,8,0 DC.B 34,1,8,0 DC.B 30,1,8,0 DC.B 34,1,16,0 DC.B 34,1,8,0 DC.B 30,1,8,0 DC.B 34,1,8,0 DC.B 30,1,8,0 DC.B 34,1,8,0 DC.B 30,1,8,0 DC.B 34,1,16,0 DC.B 34,1,8,0 DC.B 30,1,8,0 DC.B 34,1,8,0 DC.B 30,1,8,0 DC.B 34,1,8,0 DC.B 30,1,8,0 DC.B 34,1,8,0 DC.B 30,1,32,1 DC.W $FFFF,$FFFF _NOTE0 DC.B 36,3,16,11 DC.B 25,3,16,0 DC.B 26,3,96-32,1 DC.B 23,1,32,2 DC.B 25,3,16,15 DC.B 26,3,16,0 DC.B 28,3,32,1 DC.B 26,3,16,0 DC.B 25,3,16,0 DC.B 26,3,32,0 DC.B 23,3,32,18 ;BEND UP DC.B 26,3,88-24,12 DC.B 11,1,24,2 DC.B 26,3,8,15 DC.B 35,3,16,11 DC.B 31,3,16,0 DC.B 28,3,88-24,0 DC.B 16,1,24,2 DC.B 28,3,8,15 DC.B 30,3,16,0 DC.B 31,3,16,0 DC.B 30,3,128+96,1  DC.W $F,$F LEAD1 DC.B 36,0,1,12 LEAD ;Am DC.B 36,0,1,12 DC.B 36,0,47,0 DC.B 30,0,16,0 DC.B 26,0,16,1 DC.B 23,0,16,0 DC.B 26,0,16,0 DC.B 30,0,16,0 DC.B 35,0,48,1 ;Dm DC.B 28,0,8,0 DC.B 31,0,8,0 DC.B 28,0,8,0 DC.B 31,0,8,0 DC.B 28,0,8,0 DC.B 31,0,8,0 DC.B 28,0,8,0 DC.B 31,0,8,0 DC.B 28,0,8,0 DC.B 31,0,8,0 DC.B 28,0,8,0 DC.B 31,0,8,0 ;Am DC.B 36,0,32,0 DC.B 23,0,8,0 DC.B 25,0,8,0 DC.B 23,0,16,0 DC.B 30,0,16,0 DC.B 26,0,16,1 DC.B 23,0,16,0 DC.B 26,0,16,0 DC.B 30,0,16,0 DC.B 35,0,16,1 DC.B 28,0,8,0 DC.B 31,0,8,0 DC.B 28,0,8,0 DC.B 31,0,8,0 DC.B 28,0,8,0 DC.B 31,0,8,0 DC.B 28,0,8,0 DC.B 31,0,8,0 DC.B 28,0,8,0 DC.B 31,0,8,0 DC.B 28,0,8,0 DC.B 31,0,8,0 DC.B 30,0,8,0 DC.B 34,0,8,0 DC.B 30,0,8,0 DC.B 34,0,8,0 DC.B 30,0,8,0 DC.B 34,0,8,0 DC.B 30,0,8,0 DC.B 34,0,8,0 DC.B 30,0,8,0 DC.B 34,0,8,0 DC.B 30,0,8,0 DC.B 34,0,8,0 DC.B 30,0,8,0 DC.B 34,0,8,0 DC.B 30,0,8,0 DC.B 34,0,8,0 DC.B 30,0,8,0 DC.B 34,0,8,0 DC.B 30,0,8,0 DC.B 34,0,8,0 DC.B 30,0,8,0 DC.B 34,0,8,0 DC.B 30,0,8,0 DC.B 34,0,8,0 DC.B 30,0,8,0 DC.B 34,0,8,0 DC.B 30,0,48,1 DC.W $F,$F TUNEA DC.B 36,3,9,3 TUNE DC.B 36,3,16,3 DC.B 25,3,16,3 DC.B 26,3,88,3 DC.B 26,3,8,3 DC.B 25,3,16,3 DC.B 26,3,16,3 DC.B 28,3,24,3 DC.B 28,3,8,3 DC.B 26,3,16,3 ;4 BARS DC.B 25,3,16,3 DC.B 26,3,24,3 DC.B 26,3,8,3 DC.B 23,3,24,3 DC.B 23,3,8,3 DC.B 26,3,88,19 DC.B 26,3,8,3 DC.B 35,3,16,20 DC.B 31,3,16,3 DC.B 28,3,88,3 DC.B 30,3,6,3 DC.B 36,3,1,3 DC.B 30,3,16,3 DC.B 31,3,16,3 DC.B 30,3,192+32,3 DC.W $F,$F BS1 DC.B 36,1,32,11 ;A DC.B 11,1,16,14 DC.B 23,1,8,14 DC.B 23,1,8,14 DC.B 21,1,8,14 DC.B 21,1,8,14 DC.B 18,1,8,14 DC.B 18,1,8,14 DC.B 28,1,8,14 DC.B 28,1,8,14 DC.B 26,1,16,14 DC.B 23,1,16,14 DC.B 18,1,16,14 ;D DC.B 16,1,16,14 DC.B 28,1,16,14 DC.B 26,1,16,14 DC.B 23,1,16,14 DC.B 33,1,8,14 DC.B 33,1,8,14 DC.B 31,1,16,14 DC.B 28,1,16,14 DC.B 23,1,16,14 ;A DC.B 11,1,16,14 DC.B 23,1,16,14 DC.B 21,1,16,14 DC.B 18,1,16,14 DC.B 28,1,16,14 DC.B 26,1,16,14 DC.B 23,1,16,14 DC.B 18,1,16,14 ;D DC.B 16,1,16,14 DC.B 28,1,16,14 DC.B 26,1,16,14 DC.B 23,1,16,14 DC.B 33,1,16,14 DC.B 31,1,16,14 DC.B 28,1,16,14 DC.B 23,1,16,14 DC.B 30,1,16,14 DC.B 30,1,16,14 DC.B 25,1,32,14 DC.B 30,1,16,14 DC.B 30,1,16,14 DC.B 25,1,24,14 DC.B 25,1,8,14 DC.B 30,1,16,14 DC.B 30,1,16,14 DC.B 25,1,24,14 DC.B 25,1,8,14 DC.B 30,1,30,14 DC.W $F,$F TUNEB DC.B 36,3,9,3 DC.B 36,3,16,3 DC.B 25,3,16,3 DC.B 26,3,88-32,3 DC.B 23,0,40,0 ; DC.B 26,3,8,3 DC.B 25,3,16,3 DC.B 26,3,16,3 DC.B 28,3,24,3 DC.B 28,3,8,3 DC.B 26,3,16,3 ;4 BARS DC.B 25,3,16,3 DC.B 26,3,24,3 DC.B 26,3,8,3 DC.B 23,3,24,3 DC.B 23,3,8,3 DC.B 26,3,88-32,19 DC.B 11,0,32,0 DC.B 26,3,8,3 DC.B 35,3,16,20 DC.B 31,3,16,3 DC.B 28,3,88-32,3 DC.B 16,0,32,0 DC.B 30,3,6,3 DC.B 36,3,1,3 DC.B 30,3,16,3 DC.B 31,3,16,3 DC.B 30,3,23,3 DC.B 30,3,1,13 DC.B 25,3,32,0 DC.B 30,3,24,0 3 ; DC.B 36,0,158,11 DC.B 30,3,8,0 3 DC.B 25,3,24,0 3 DC.B 25,3,8,0 3 DC.B 30,3,24,0 3 DC.B 30,3,8,0 3 DC.B 25,3,24,0 3 DC.B 25,3,8,0 3 DC.B 30,3,64+64+64,0 DC.W $F,$F ; DC.B 30,3,48192+32,3 DATA INCBIN RAM_ON.GDM EVEN LOAD=DATA+512 ;LOAD FLAG SAMS=LOAD+258 ;LOAD BUFFER FOR ALL SAMPLES *---DATA STRUCTURE---* * LEA DATA,A0 * 16 LONGS 0(A0) ;BCC/FREQ * 16 LONGS 64(A0) ;0. 66(A0) SAM LENGTHS.W * 16 LONGS 128(A0) ;LOOP VAL.W. 130(A0)-COPY OF SAM LENGTH.W * 16 LONGS 192(A0) ;SAMPLE END ADDRESSES * WORK AREA * 4 LONGS 256(A0) ;4 CURRENT SAM END ADDRESSES, CHANGEABLE. * 4 LONGS 320(A0) ;AS 64(A0) * 4 LONGS 384(A0) ;AS 128 * 4 LONGS 640(A0) ;VOL LEVELS.W- OCTAVES.W * STARTHBL MOVE #$2700,sr BCLR #3,$FFFA17 ;AEI ; ANDI.B #$DF,$FFFA09 ANDI.B #$FE,$FFFA07 MOVE.L #VBI,$70 MOVE.L #H1,$120 OR.B #1,$FFFA07 OR.B #1,$FFFA13 move #$2300,sr RTS * CLIS LEA SCREEN+32000,A0 MOVEQ #0,D0 MOVEQ #0,D1 MOVEQ #0,D2 MOVEQ #0,D3 CLAS MOVEM.L D0-D3,-(A0) CMP.L #MEM1,A0 BGT.S CLAS RTS * REVERSPIC move.b $FFFA1D,d0 and #$f,d0 move.b d0,$FFFA1D ; STOP TIMER C ST.B SCOR CLR.B DONETUNE ; MOVE.L #EE-36,UPTO ; CLR COUNT CLR PICOF CLR FLOP * SLIDE PIC ON SCREEN * LAND1 JSR WTVB LEA MEM,A0 LEA SCREEN,A1 ADD PICOF,A0 EOR.B #1,FLOP+1 BNE.S L11 LEA MEM1,A0 ADD PICOF,A0 L11 BSR DOALLSCANS TST.B FLOP+1 BNE.S LAND1 ADDQ #8,PICOF CMP #168,PICOF BLT.S LAND1 JSR WAIT JSR WAIT JSR WAIT JSR WAIT JSR WAIT JMP REDO * DOPIC MOVE.B #1,FLOP+1 * SLIDE PIC ON SCREEN * LAND JSR WTVB LEA MEM1,A0 LEA SCREEN,A1 ADD PICOF,A0 EOR.B #1,FLOP+1 BNE.S L1 LEA MEM,A0 ADD PICOF,A0 L1 BSR DOALLSCANS TST.B FLOP+1 BNE.S LAND SUBQ #8,PICOF BPL.S LAND RTS PICOF DC.W 160 FLOP DC.W 0 ***MOVE1 SCANLINE FROM (A0) TO (A1) DOALLSCANS REPT 200 MOVEM.L (A0),D0-D7/A2-A6 13 MOVEM.L D0-D7/A2-A6,(A1) MOVEM.L 13*4(A0),D0-D7/A2-A6 26 MOVEM.L D0-D7/A2-A6,13*4(A1) MOVEM.L 26*4(A0),D0-D7/A2-A6 MOVEM.L D0-D7/A2-A6,26*4(A1) MOVE.L 39*4(A0),39*4(A1) LEA 160(A1),A1 LEA 320(A0),A0 ENDR RTS SHOWALL MOVE.L #MEM,WHICH MOVE #7,ODD bsr printhsc SHW1 MOVE.L #MEM1-7,WHICH MOVE #1,ODD bsr printhsc JSR WTVB LEA MEM+160,A0 LEA SCREEN,A1 BSR DOALLSCANS RTS * hiscores ST.B SCOR bsr doscores move #50*10,d5 mink JSR WTVB BTST.B #7,JOY BNE.S DAP CMP.B #57,$FC02.W ;JOY butt BEQ.S DAP dbra d5,mink dap clr.l movein rts */ wait move #250,d2 ddd jsr WTVB BTST.B #7,JOY BNE.S FAL CMP.B #57,$FC02.W BEQ.S FAL dbra d2,ddd FAL rts *% mod2=320 PLANE=2 doscores tst.l movein beq.s rapt MOVE.L #1,MOVEIN+16 ;lastest score bsr sort bsr typein rapt bsr sort BSR SHOWALL rts WHICH DC.L 0 ODD DC.W 0 * printhsc MOVE.L WHICH,A1 LEA 160+56+PLANE(A1),A1 LEA FING,A2 lea FOND1+1,a3 MOVE ODD,D7 DOINGS MOVEQ #0,D0 MOVE.B (A2)+,D0 BEQ.S ENTY MOVE D0,D1 ASL #3,D0 ADD D1,D0 LEA (A3,D0),A0 MOVE.B (A0)+,D0 MOVE.B D0,(A1) MOVE.B D0,MOD2(A1) MOVE.B (A0)+,D0 MOVE.B D0,MOD2*2(A1) MOVE.B D0,mod2*3(A1) MOVE.B (A0)+,D0 MOVE.B D0,mod2*4(A1) MOVE.B D0,mod2*5(A1) MOVE.B (A0)+,D0 MOVE.B D0,mod2*6(A1) MOVE.B D0,mod2*7(A1) MOVE.B (A0)+,D0 MOVE.B D0,mod2*8(A1) MOVE.B D0,mod2*9(A1) MOVE.B (A0)+,D0 MOVE.B D0,mod2*10(A1) MOVE.B D0,mod2*11(A1) MOVE.B (A0)+,D0 MOVE.B D0,mod2*12(A1) MOVE.B D0,mod2*13(A1) MOVE.B (A0)+,D0 MOVE.B D0,mod2*14(A1) MOVE.B D0,mod2*15(A1) EOR.B #6,D7 ADD D7,A1 BRA DOINGS ENTY * printscores LEA FOND1+1,A0 MOVE.L WHICH,A1 LEA 160+MOD2*16+16+PLANE(A1),A1 lea NAMES,a2 MOVE ODD,D5 moveq #17,d6 plopt moveq #19,d7 plop moveq #0,d0 move.b (a2)+,d0 move d0,d1 asl #3,d0 add d1,d0 lea (a0,d0),a6 move.b (a6)+,(a1) move.b (a6)+,mod2(a1) move.b (a6)+,mod2*2(a1) move.b (a6)+,mod2*3(a1) move.b (a6)+,mod2*4(a1) move.b (a6)+,mod2*5(a1) move.b (a6)+,mod2*6(a1) move.b (a6),mod2*7(a1) EOR #6,D5 add D5,a1 dbra d7,plop lea mod2*10-80(a1),a1 dbra d6,plopt * donit MOVE.L WHICH,A1 LEA 160+MOD2*17+120+PLANE(A1),A1 lea NAMES+400,a3 MOVE ODD,D5 moveq #17,d6 plopt1 moveq #7,d7 ;8 digit score MOVE.L (A3),D0 lea 20(a3),a3 LEA WORKED,A5 LEA (A5),A2 BSR CONV1 MOVEQ #0,D4 ;NO PRE ZERO plop1 moveq #0,d0 move.b (a2)+,d0 TST.B D4 BNE.S KPJ TST.B D7 ;LAST DIGIT SO ZERO ALLOWED BEQ.S KPJ CMP.B #"0",D0 BNE.S PINT MOVE.B #" ",D0 BRA.S KPJ PINT MOVEQ #1,D4 KPJ move d0,d1 asl #3,d0 add d1,d0 lea (a0,d0),a6 move.b (a6)+,(a1) move.b (a6)+,mod2(a1) move.b (a6)+,mod2*2(a1) move.b (a6)+,mod2*3(a1) move.b (a6)+,mod2*4(a1) move.b (a6)+,mod2*5(a1) move.b (a6)+,mod2*6(a1) move.b (a6),mod2*7(a1) EOR #6,D5 add D5,a1 dbra d7,plop1 lea mod2*10-32(a1),a1 dbra d6,plopt1 RTS FING dc.b " HIGH SCORES",0,0 names dc.b "~~A BUDGIE UK GAME~~" dc.b " Camy Maertens " dc.b " Simon Rush " dc.b " Jim Holmwood " dc.b " Gary Wheaton " dc.b " Chris Skellern " dc.b " Robert Leong " dc.b " Ian Grainger " dc.b " Robin Edwards " dc.b " Paul Dowers " dc.b " Andy Osborne " dc.b " Chris Jeffery " dc.b " Gavin Thornton " dc.b " Keith Bearman " dc.b " Kathy Steinbach " dc.b " Markus Kronenberg " dc.b " The Happening boiz " dc.b " Mike Duncan " dc.b " Philip Bishop " dc.b " Andrew Oakley " scores ;2nd long reserved for sort i.d. dc.l 30000,0,0,0,0 dc.l 28000,0,0,0,0 dc.l 26000,0,0,0,0 dc.l 24000,0,0,0,0 dc.l 22000,0,0,0,0 dc.l 20,0,0,0,0 dc.l 18000,0,0,0,0 dc.l 16000,0,0,0,0 dc.l 14000,0,0,0,0 dc.l 12000,0,0,0,0 dc.l 10,0,0,0,0 dc.l 9000,0,0,0,0 dc.l 8000,0,0,0,0 dc.l 7000,0,0,0,0 dc.l 6000,0,0,0,0 dc.l 5000,0,0,0,0 dc.l 4000,0,0,0,0 dc.l 3000,0,0,0,0 dc.l 3000,0,0,0,0 movein dc.l 0 ;last score goes here for testing dc.l 0,0,0,0 scen sortid dc.w 1 ds.l 10 ofseth=scores-names ;400 EFFORT=SCEN-NAMES sorting ds.b effort DS.B 100 * sort lea sorting,a1 moveq #19,d7 sort 20 items move sortid,d0 ADDQ #1,D0 flossy lea names,a0 move.l #0,a6 ;;highest val moveq #19,d1 ;sort 20 items floss tst 404(a0) ;already used? bne.s wedn ;yes cmp.l 400(a0),a6 bgt.s wedn MOVE.L 400(A0),A6 lea (a0),a2 ;highest of pass wedn lea 20(a0),a0 dbra d1,floss st 404(a2) ;tag movem.l (a2),d2-d6 ;20 byte name movem.l d2-d6,(a1) ; move.l 400(a2),400(a1) ;4 byte score move.l 416(a2),416(a1) ;flag for latest clr.l 404(a1) clr.l 408(a1) clr.l 412(a1) lea 20(a1),a1 dbra d7,flossy ;20 passes! MOVE D0,sortid *** copy back to save area *** LEA SORTING,A0 LEA NAMES,A1 move #effort+10,d0 YIPO MOVE.B (A0)+,(A1)+ DBRA D0,YIPO CLR.l MOVEIN rts worked dc.b "0",-1,-1 even CONV1 LEA UNU1,A4 and.l #$f,d0 BINCONVERT2A MOVE.L (A4)+,D2 BMI.S DONE22A MOVEQ #0,D3 LUX2A CMP.L D0,D2 BGT.S NEX22A SUB.L D2,D0 ADDQ #1,D3 BRA.S LUX2A NEX22A ADD.B #"0",D3 MOVE.B D3,(A5)+ BRA.S BINCONVERT2A DONE22A MOVE.B D0,(A5) RTS UNU1 DC.L 10,10,10,1000,100,10,1,-1,-1 * typein lea NAMES,a0 moveq #17,d0 seemall cmp.l #1,416(a0) beq.s laj lea 20(a0),a0 dbra d0,seemall rts ;no type in * you're in laj clr.l 416(a0) ;clr flag move.l #" ",d0 move.l d0,(a0) ;clr last name move.l d0,4(a0) move.l d0,8(a0) move.l d0,12(a0) move.l d0,16(a0) lea keytab,a6 moveq #19,d7 ;20 chars allowed move #50*30,d6 ;30 seconds to typein move.l #$80,d2 lea $f8800.w,a1 moveq #0,d5 clr.b key * linc movem.l d0-d7/a0-a6,-(sp) BSR SHOWALL movem.l (sp)+,d0-d7/a0-a6 linc1 jsr wtvb1 move.b key,d0 bmi.s nok and #127,d0 BEQ.S NOK tst d5 beq.s linc2 subq #1,d5 bra.s linc1 linc2 eor #$f00,d2 move.l d2,(a1) ;sound moveq #12,d5 move.l #$80,(a1) cmp.b #$E,d0 ;BACKSP bne.s wopt1 cmp.b #19,d7 bge.s bral move.b #" ",(a0) subq.l #1,a0 addq #1,d7 bral move.b #" ",(a0) bra.s linc wopt1 move.b (a6,d0),d0 cmp.b #13,d0 ;return beq.s wopt ;done addq #2,d6 ;time move.b d0,(a0)+ ;name chr dbra d7,linc wopt cmp.b #"_",(a0) bne.s hend move.b #" ",(a0) hend JSR REST_JOY BSR BSAVE ;save em JSR INIT_JOY RTS nok MOVEQ #" ",D0 addq.b #1,d4 btst #3,d4 beq.s lino MOVEQ #"_",D0 lino move.b d0,(a0) subq #1,d6 bpl.s wopt3 ;time elapsed move.b #" ",(a0) move.b #" ",1(a0) bra.s wopt wopt3 moveq #0,d5 bra linc loadem dc.b 0,0 keytab incbin keytab.dat SETUP LEA PIC+2,A0 MOVEM.L (A0)+,D0-D7 MOVEM.L D0-D7,$F8240.W LEA MEM,A2 LEA MEM1,A5 LEA SCREEN,A3 MOVE #199,D1 ;200 SCANS MOVEQ #0,D6 MOVE.L D6,A6 PICON1 LEA (A2),A1 LEA (A5),A4 MOVEQ #19,D0 ;40 LONGS/LINE PICON MOVEM.L (A0)+,D2-D3 MOVEM.L D6/A6,160(A4) ;HIGH SCORE MESSAGE MOVEM.L D6/A6,160(A1) ;HIGH SCORE MESSAGE MOVEM.L D2-D3,(A1) MOVE.B D2,2(A4) MOVE.B D3,6(A4) ROR.L #8,D2 ROR.L #8,D3 MOVE.B D2,-5(A4) MOVE.B D3,-1(A4) ROR.L #8,D2 ROR.L #8,D3 MOVE.B D2,(A4) MOVE.B D3,4(A4) ROR #8,D2 ROR #8,D3 MOVE.B D2,-7(A4) MOVE.B D3,-3(A4) ADDQ.L #8,A4 ADDQ.L #8,A1 MOVE.L D6,(A3)+ ;SCREEN DBRA D0,PICON LEA 320(A2),A2 LEA 320(A5),A5 DBRA D1,PICON1 LEA MEM1,A0 MOVE #199,D7 CLREDGE MOVEM.L D6/A6,312(A0) LEA 320(A0),A0 DBRA D7,CLREDGE RTS * HORZ DC.W 160 LASTP DC.W 0 RRESET MOVE #1000,HORZ RTS LV DC.W 0 LH DC.W 128 12 DC.W 0,0,0,0 ;LAST MESSAGE DC.B "ENJOY THE GAME" MEND EVEN MPOINT DC.L MESSAGE PLANEDAT INCBIN PLANE.DAT * falling letter * DOPLANE LEA LV(PC),A1 MOVE HORZ(PC),D5 MOVE 2(A1),D0 CMP #136,D0 BEQ PLANES DONE ALL MOVE (A1),D1 BNE.S STARTED MOVE D5,D2 SUB #30,D2 LSR #1,D2 AND #$F-7,D2 CMP D2,D0 BNE PLANES STARTED MOVE.L MPOINT(PC),A3 ADD #160,D1 CMP #160*194,D1 BLT.S GAF ADDQ.L #1,A3 CMP.L #MEND,A3 BLT.S LIO LEA MESSAGE(PC),A3 LIO MOVE.L A3,MPOINT * MOVE #0,(A1) RESET VERT ADDQ #8,2(A1) ALTER HORZ MOVE 4(A1),6(A1) ;EXPAND LETTER MOVE #199*160,4(A1) MOVE #8*320,8(A1) ; EXPAND TIMES BRA PLANES GAF MOVE D1,(A1) LEA SCREEN,A0 LEA (A0),A4 ADD D1,D0 ADD D0,A0 MOVE 4(A1),D4 MOVE D0,4(A1) ;LAST POS LEA PIC+34,A2 ADD D4,A2 ADD D4,A4 MOVEM.L (A2),D0-D1 MOVEM.L D0-D1,(A4) MOVEM.L 160(A2),D0-D1 MOVEM.L D0-D1,160(A4) MOVEM.L 320(A2),D0-D1 MOVEM.L D0-D1,320(A4) MOVEM.L 480(A2),D0-D1 MOVEM.L D0-D1,480(A4) MOVEM.L 640(A2),D0-D1 MOVEM.L D0-D1,640(A4) MOVEM.L 800(A2),D0-D1 MOVEM.L D0-D1,800(A4) MOVEM.L 960(A2),D0-D1 MOVEM.L D0-D1,960(A4) MOVEQ #0,D0 MOVE.B (A3),D0 SUB.B #"A",D0 BPL.S WW MOVEQ #40,D0 WW ASL #4,D0 LEA FOND2+2,A2 ADD D0,A2 MOVEM.L (A2),D0-D3 NOT.L D0 NOT.L D1 NOT.L D2 NOT.L D3 AND D0,160(A0) AND D1,480(A0) AND D2,800(A0) AND D0,162(A0) AND D1,482(A0) AND D2,802(A0) AND D0,164(A0) AND D1,484(A0) AND D2,804(A0) AND D0,166(A0) AND D1,486(A0) AND D2,806(A0) SWAP D0 SWAP D1 SWAP D2 SWAP D3 AND D0,(A0) AND D1,320(A0) AND D2,640(A0) AND D3,960(A0) AND D0,2(A0) AND D1,322(A0) AND D2,642(A0) AND D3,962(A0) AND D0,4(A0) AND D1,324(A0) AND D2,644(A0) AND D3,964(A0) AND D0,6(A0) AND D1,326(A0) AND D2,646(A0) AND D3,966(A0) NOT.L D0 NOT.L D1 NOT.L D2 NOT.L D3 OR D0,2(A0) OR D1,322(A0) OR D2,642(A0) OR D3,962(A0) SWAP D0 SWAP D1 SWAP D2 OR D0,162(A0) OR D1,482(A0) OR D2,802(A0) *" PLANES MOVE LASTP(PC),D0 LEA PIC+34,A1 LEA SCREEN-24,A0 ADD D0,A0 ADD D0,A1 ** RESTORE 4 WORDS ACROSS ** ADS SET 0 REPT 8 MOVEM.L -24+ADS(A1),D0-D4/A2-A4 MOVEM.L D0-D4/A2-A4,ADS(A0) ADS SET ADS+160 ENDR NOPLANE LEA PLANEDAT(PC),A1 *DEF ADDRESS LEA SCREEN,A0 SUBQ #2,D5 ;HORZ BMI RRESET MOVE D5,HORZ move d5,d1 lsr #1,d5 and #$f-7,d5 add d5,a0 MOVE D5,A4 and #14,d1 ASL #7,d1 = *128 add d1,a1 cmp #152,d5 beq fully cmp #160,d5 beq part1Z cmp #168,d5 beq part2 cmp #176,d5 beq part3 bgt outofshot ** left clip TST D5 beq part5l blt outofshot cmp #8,d5 beq part4l cmp #16,d5 beq part3l cmp #24,d5 beq part2l fully *** 4th word movem.l 32*7(a1),d0-d5/a2 AND.L d0,(a0) AND.L d1,160(a0) AND.L d2,320(a0) AND.L d3,480(a0) AND.L d4,640(a0) AND.L d5,800(a0) AND.L d0,4(a0) AND.L d1,164(a0) AND.L d2,324(a0) AND.L d3,484(a0) AND.L d4,644(a0) AND.L d5,804(a0) MOVE.L A2,D0 AND.L D0,960(a0) AND.L D0,964(a0) AND.L D0,1120(a0) AND.L D0,1124(a0) movem.l 6*32(a1),d0-d5/a2 or.l d0,(a0) or.l d1,160(a0) or.l d2,320(a0) or.l d3,480(a0) or.l d4,640(a0) or.l d5,800(a0) MOVE.L A2,D0 or.l d0,960(a0) part1Z *** 3rd word movem.l 32*5(a1),d0-d5/a2 AND.L d0,-8(a0) AND.L d1,-8+160(a0) AND.L d2,-8+320(a0) AND.L d3,-8+480(a0) AND.L d4,-8+640(a0) AND.L d5,-8+800(a0) AND.L d0,-8+4(a0) AND.L d1,-8+160+4(a0) AND.L d2,-8+320+4(a0) AND.L d3,-8+480+4(a0) AND.L d4,-8+640+4(a0) AND.L d5,-8+800+4(a0) MOVE.L A2,D0 AND.L D0,-8+960(a0) AND.L D0,-8+960+4(a0) AND.L D0,-8+1120(a0) AND.L D0,-8+1120+4(a0) movem.l 32*4(a1),d0-d5/a2 or.l d0,-8(a0) or.l d1,-8+160(a0) or.l d2,-8+320(a0) or.l d3,-8+480(a0) or.l d4,-8+640(a0) or.l d5,-8+800(a0) MOVE.L A2,D0 or.l d0,-8+960(a0) part2 *** 2nd word movem.l 32*3(a1),d0-d5/a2 AND.L d0,-16(a0) AND.L d1,-16+160(a0) AND.L d2,-16+320(a0) AND.L d3,-16+480(a0) AND.L d4,-16+640(a0) AND.L d5,-16+800(a0) AND.L d0,-16+4(a0) AND.L d1,-16+160+4(a0) AND.L d2,-16+320+4(a0) AND.L d3,-16+480+4(a0) AND.L d4,-16+640+4(a0) AND.L d5,-16+800+4(a0) MOVE.L A2,D0 AND.L D0,-16+960(a0) AND.L D0,-16+960+4(a0) AND.L D0,-16+1120(a0) AND.L D0,-16+1120+4(a0) movem.l 32*2(a1),d0-d5/a2 or.l d0,-16(a0) or.l d1,-16+160(a0) or.l d2,-16+320(a0) or.l d3,-16+480(a0) or.l d4,-16+640(a0) or.l d5,-16+800(a0) move.l a2,d0 or.l D0,-16+960(a0) part3 * 1 st word * movem.l 32(a1),d0-d5/a2 AND.L d0,-24(a0) AND.L d1,-24+160(a0) AND.L d2,-24+320(a0) AND.L d3,-24+480(a0) AND.L d4,-24+640>(a0) AND.L d5,-24+800(a0) AND.L d0,-24+4(a0) AND.L d1,-24+160+4(a0) AND.L d2,-24+320+4(a0) AND.L d3,-24+480+4(a0) AND.L d4,-24+640+4(a0) AND.L d5,-24+800+4(a0) MOVE.L A2,D0 AND.L D0,-24+960(a0) AND.L D0,-24+960+4(a0) AND.L D0,-24+1120(a0) AND.L D0,-24+1120+4(a0) movem.l (a1),d0-d5/a2 ; OR.L d0,-24(a0) OR.L d1,-24+160(a0) OR.L d2,-24+320(a0) OR.L d3,-24+480(a0) OR.L d4,-24+640(a0) OR.L d5,-24+800(a0) MOVE.L A2,D0 OR.L D0,-24+960(a0) MOVE A4,LASTP outofshot rts part2l *** 1ST word movem.l 32(a1),d0-d5/a2 and.l d0,-24(a0) and.l d1,-24+160(a0) and.l d2,-24+320(a0) and.l d3,-24+480(a0) and.l d4,-24+640(a0) and.l d5,-24+800(a0) and.l d0,-24+4(a0) and.l d1,-24+160+4(a0) and.l d2,-24+320+4(a0) and.l d3,-24+480+4(a0) and.l d4,-24+640+4(a0) and.l d5,-24+800+4(a0) move.l a2,d0 and.l d0,-24+960(a0) and.l d0,-24+964(a0) and.l d0,-24+1120(a0) and.l d0,-24+1124(a0) movem.l (a1),d0-d5/a2 ; or.l d0,-24(a0) or.l d1,-24+160(a0) or.l d2,-24+320(a0) or.l d3,-24+480(a0) or.l d4,-24+640(a0) or.l d5,-24+800(a0) move.l a2,d0 or.l d0,-24+960(a0) part3l *** 3rd word movem.l 32*3(a1),d0-d5/a2 and.l d0,-16(a0) and.l d1,-16+160(a0) and.l d2,-16+320(a0) and.l d3,-16+480(a0) and.l d4,-16+640(a0) and.l d5,-16+800(a0) and.l d0,-16+4(a0) and.l d1,-16+160+4(a0) and.l d2,-16+320+4(a0) and.l d3,-16+480+4(a0) and.l d4,-16+640+4(a0) and.l d5,-16+800+4(a0) move.l a2,d0 and.l d0,-16+960(a0) and.l d0,-16+964(a0) and.l d0,-16+1120(a0) and.l d0,-16+1124(a0) movem.l 32*2(a1),d0-d5/a2 or.l d0,-16(a0) or.l d1,-16+160(a0) or.l d2,-16+320(a0) or.l d3,-16+480(a0) or.l d4,-16+640(a0) or.l d5,-16+800(a0) move.l a2,d0 or.l d0,-16+960(a0) part4l *** 4th word movem.l 32*5(a1),d0-d5/a2 and.l d0,-8(a0) and.l d1,-8+160(a0) and.l d2,-8+320(a0) and.l d3,-8+480(a0) and.l d4,-8+640(a0) and.l d5,-8+800(a0) and.l d0,-8+4(a0) and.l d1,-8+160+4(a0) and.l d2,-8+320+4(a0) and.l d3,-8+480+4(a0) and.l d4,-8+640+4(a0) and.l d5,-8+800+4(a0) move.l a2,d0 and.l d0,-8+960(a0) and.l d0,-8+964(a0) and.l d0,-8+1120(a0) and.l d0,-8+1124(a0) movem.l 32*4(a1),d0-d5/a2 or.l d0,-8(a0) or.l d1,-8+160(a0) or.l d2,-8+320(a0) or.l d3,-8+480(a0) or.l d4,-8+640(a0) or.l d5,-8+800(a0) move.l a2,d0 or.l d0,-8+960(a0) PART5L *** 5th word movem.l 32*7(a1),d0-d5/a2 and.l d0,(a0) and.l d1,160(a0) and.l d2,320(a0) and.l d3,480(a0) and.l d4,640(a0) and.l d5,800(a0) and.l d0,4(a0) and.l d1,160+4(a0) and.l d2,320+4(a0) and.l d3,480+4(a0) and.l d4,640+4(a0) and.l d5,800+4(a0) move.l a2,d0 and.l d0,960(a0) and.l d0,964(a0) and.l d0,1120(a0) and.l d0,1124(a0) movem.l 32*6(a1),d0-d5/a2 or.l d0,(a0) or.l d1,160(a0) or.l d2,320(a0) or.l d3,480(a0) or.l d4,640(a0) or.l d5,800(a0) move.l a2,d0 or.l d0,960(a0) MOVE A4,LASTP rts * Bload ;OPEN MOVE #2,-(SP) ;OPEN FOR READ\WRITE PEA FILENAME MOVE #$3D,-(SP) TRAP #1 ADDQ.L #8,SP TST.L D0 BMI NOFILE ;ERROR MOVE D0,D6 ;HANDLE # ;READ PEA NAMES move.l #EFFORT,-(sp) file length 2 BYTES! move d6,-(sp) move #$3F,-(sp) trap #1 add.l #12,sp TST.L D0 BMI NOFILE ;ERROR close move d6,-(sp) ;close file move #$3e,-(sp) trap #1 addq.l #4,sp nofile rts * SAVE * bsave MOVE.B $F8201.W,$44E+1 MOVE.B $F8203.W,$44E+2 *** clr -(sp) create file pea filename move #$3c,-(sp) trap #1 addq.l #8,sp move d0,d6 PEA NAMES write file BUF move.l #EFFORT,-(sp) file length move d6,-(sp) move #$40,-(sp) trap #1 add.l #12,sp move d6,-(sp) close file move #$3e,-(sp) trap #1 addq.l #4,sp RTS * INITSND MOVEQ #12,D0 LEA $F8800.W,A0 IJ MOVE.B D0,(A0) CLR.B 2(A0) DBRA D0,IJ MOVE.B #7,(A0) MOVE.B #%1000,2(A0) RTS FILENAME DC.B "HISCORE.INV",0 EVEN * FOND1 INCBIN CHRSET.BIN EVEN FOND2 INCBIN GR1FONT.DAT ATARI_16.FNT DCB.B 32,0 EVEN pic incbin LAND3.pi1 u g`faffffc`fcf`fffgfffffggffgfffgf`cf`cff`cf`agc^<<<|x}@|}=9<_x@@P@DAAEA@ADEAD@8DAyx@y9EM^x@@ADAAP@AE@EPP@@<^x<|M@@y8=_L@C`>"x9_ < Ex ^y>"2(EP D@A E@`!QQE`ψ*H}U^ DLA ET@8!^7y<&|E4 DDA QE4@@!TAzg"xE_<<<=h|<A|Zyyyyy"sπsr/y"E}D^xD" 6(("eQA" EQYEd" */ &)^DT" "H( LQA@@" "TSDL!<"rorpDD^}7"QyDPpq(>>syȾx"<}9<瑈,-$"P@DAE@AQ *op<Ϟx">C{Ͼ ("" "( B ( @򨈪`>">pC<h ""B sr/耊''<( "(  h ("h #ȼ"o<& (>؄ " ( * "(0 ("(Ǟos>/xp>龈/0'&`5/s"ȐȾ眈">"(( ,"("2(#Ȣ*P P"o(>*"(() "(% ("&R(""/<Ȟ  >Ǣ""/>[yyyyyy8<Ex8}=9D^ED@@EQDDPDA@AQEEQWy|LEx^|y@9E)^QDD@)DPPDAD@EATMD<@NLD}7x91 6<ǀr/{yȾ>sr/'>Ⱦ"r'((- h "((#(r*o<&(ϔ"h (* "(b("h~???~?π~~?ߟ~~|?ߟ?ϟ>~?~?ߟ??~?~x>ߟ??>~>ϟ?>?>ϟ~ ?>ϟ~|~?~~~??|~? ?>߿?~>~ ?Ͽ?~|>~| ߏ|ϟ~||~ ?~|| ?~|߾ }>|߾ }|>? ?x~<|>? 0<8pV  ;   1,!! p`! $t`! *t`! t`! (t`! &w`! p`| p` @ p`yx p`@ p`x| p`@@ 0a@ 0~@ 00xxE x0>`8|99}EQDdDQ! 3` DE@NJyDTG 1<` |}T@ETDLE  1` DQQE4@xSxDD= 10`D9E 0`!!}x_D9 0`ADD 0`yQx( 00`A1PD 000`}L_97 ~00`! ~0`! 0x0`! 00`! 0`! 0 `!!!" # # #P-q #$%%h????~~?>~???~?π~~?ߟ~~|?ߟ?ϟ>~?~?ߟ??~?~x>ߟ??>~>ϟ?>?>ϟ~ ?>ϟ~|~?~~~??|~? ?>߿?~>~ ?Ͽ?~|>~| ߏ|ϟ~||~ ?~|| ?~|߾ }>|߾ }|>? ?x~<|>? 0<8p|yCsǀs<qȞ"@" B( 6""( x>q C *ȼ<"(o@"" B "(("((|{rop&ϦqǼbj`>"x9_ < Ex ^y>"2(EP D@A E@`!QQE`ψ*H}U^ DLA ET@8!^7y<&|E4 DDA QE4@@!TAzg"xE_<<<=h|<A|!!! $t`! *t`! t`! (t`! &w`! p`| p` @ p`yx p`@ p`x|@@<x@ 0~@ 00xxE x0>`8|99}EQDdDQ! 3` DE@NJyDTG 1<` |}T@ETDLE  1` DQQE4@xSxDD= 10`D9E<x!!}x_D9=8D<xADDQADQE 0`yQx(ADD 00`A1PDADD 000`}L_97=8= ~00`! ~0`! 0x0`! 00`>>p 0` 2`! <x <!  ! p!" # # #PM%# #?~# #$%%:wpwwqpwwspwwpwwpwwpwqwqwwqwswwpwpwqwwqswwpwpws~wwqwqpppw### # ##99# OPT O+ MOD=230 screen=$70004+MOD*2+140 START CLR.L -(SP) MOVE.W #$20,-(SP) TRAP #1 ADDQ.L #6,SP MOVE.L D0,SV LEA THONG(PC),A1 LEA THONG1(PC),A2 LEA STAK,A7 JSR MESS1 4 BIT SPL'S LEA TITLES,A0 JSR RELOCATE JSR WTVB MOVE.B #0,$FF8260 MOVEQ #$12,D0 mouse off BSR BOP MOVEQ #$15,D0 joy off BSR BOP MOVE.L #$7770210,$F8240.W * LEA INT,A0 LEA $78000,A1 MOVE.L A1,D1 MOVEQ #0,D2 MOVE #3999,D0 OAPA MOVE (A0)+,(A1)+ MOVE.L D2,(A1)+ MOVE D2,(A1)+ DBRA D0,OAPA LSR #8,D1 MOVE.B D1,$F8203.W SWAP D1 MOVE.B D1,$F8201.W LAMP BSR WTVB CMP.B #57,$FC02.W BNE.S LAMP * * * GOTITLE LEA STAK,A7 LEA THIS(PC),A0 MOVE.L SCORE,D0 MULU #10,D0 JMP TITLES+$1C THIS MOVE.B #$7,$F8201.W MOVE.B #$0,$F8203.W LEA $F8240.W,A0 CLR.L (A0)+ CLR.L (A0)+ CLR.L (A0)+ CLR.L (A0)+ CLR.L (A0)+ CLR.L (A0)+ CLR.L (A0)+ CLR.L (A0) CLR MVDWN BSR CLEARSCREEN JSR SETSTAR LEA SCREEN-16,A0 MOVE.L A0,LARTAL ;CLRS MOVE.L A0,LASTSHIP MOVE.L A0,LASTM MOVE.L A0,LASTMM MOVE #100+16*16,HORZ MOVE.L #COLTAB,MOVECOL+2 ;DLI COL JSR PSCORE1 LEA SCORE(PC),A0 MOVE.L (A0),D0 CMP.L -(A0),D0 BLT.S NOHI MOVE #$700,$FF8240 MOVE.L D0,(A0) NOHI MOVEQ #-8,D1 BSR CONVERT1 LEA 8*17+SCREEN+14-MOD,A0 PLANE LEA RESULT+2,A2 BSR PSCORE LEA $F8800.W,A0 MOVE.L #$0,(A0) MOVE.L #$10,(A0) MOVE.L #$20,(A0) MOVE.L #$30,(A0) MOVE.L #$40,(A0) MOVE.L #$50,(A0) MOVE.L #$80,(A0) MOVE.B #7,(A0) MOVE.B #%1000,2(A0) LEA SAM4END,A0 MOVE.L A0,CHAN3END MOVE.L A0,RORS+2 ;SHIP SOUND OFF MOVE.L A0,CHAN3 CLR.L LEVEL JSR PANEL BSR PLIVES LEA MOTH(PC),A0 move $468.w,d0 and #511,d0 or #128,d0 MOVE D0,-2(A0) CLR.B GLOW BSR KNOCKOFF MOVE.L #-MOD,MISSL MOVE #48,STARTSPEED MOVE.B #6,SPD : CLR.L DEAD ;DEAD+GAMOV CLR.L SCORE CLR SHACK BSR WTVB BSR STARTD1 CLR KEY *-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-* *-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-* *-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-* MAINLOOP JSR PAUSE MOVE.B $469.W,D0 WAIT CMP.B $469.W,D0 BEQ.S WAIT ; MOVE #$400,$FF8240 ; JSR DIRECT8 ; JSR DIRECT8 ; MOVE #0,$FF8240 JSR SHOWVOL JSR TWINKLESTARS * * GAME OVER * *** ALIENS LANDED *** TST.L 136+SCREEN+MOD*$D4 BNE.S FINISHED TST.L 56+SCREEN+MOD*$D4 BEQ.S LASS FINISHED MOVE #-1,LIVES ST.B GAMOV JMP DEATH1A LASS * * JSR DOSHIP JSR ALIENMISSILE JSR ALIENMISSILE1 JSR CLRSPRITES JSR SPRITES JSR SHIP JSR DETECT JSR NEWLEV JSR CONVERT ;SCORE * TST.B DEAD BEQ.S WX JSR DEATH WX * MOVE.B KEY,D0 CMP.B #68,D0 BNE MAINLOOP EXIT BSR WTVB BSR STOPD1 BSR CLEARSCREEN MOVEQ #5,D6 UUU BSR WTVB MOVE.B #1,$F820A.W NOP MOVE.B #2,$F820A.W MOVE.B #1,$F8260.W CLR.B $F8260.W DBRA D6,UUU MOVE.B #7,$484.W JMP GOTITLE MOVEQ #$8,D0 mouse on BSR BOP MOVE #$777,$F8240.W CLR $F8240+30.W CLR $F8240+6.W MOVE.L SV,-(SP) MOVE #$20,-(SP) TRAP #1 ADDQ.L #6,SP CLR -(SP) TRAP #1 SV DC.L 0 * CLEARSCREEN move #14700/4,d0 lea screen-MOD*4,a1 MOVEQ #0,D1 ff move.l D1,(a1)+ move.l D1,(a1)+ move.l D1,(a1)+ move.l D1,(a1)+ dbra d0,ff RTS * PAUSE CMP.B #57,D0 BNE.S RASP MOVE #$103,D7 MOVE D7,BOT+2 MOVE D7,BOT1+2 PAUSED BSR.S PP PAP1 BSR WTVB JSR FLASHER CMP.B #57,KEY BNE.S PAP1 BSR.S PP MOVEQ #3,D0 MOVE D0,BOT+2 MOVE D0,BOT1+2 move d7,c12+2 move d7,c12+4 RTS PP CMP.B #57,KEY BEQ.S PP RASP RTS *-* COMMAND KEYBD PROCESSOR *-* BOP LEA $FC00.W,A1 IL MOVE.B (A1),D1 BTST #1,D1 BEQ.S IL MOVE.B D0,2(A1) RTS WTVB MOVE.B $469,D0 FT CMP.B $469,D0 BEQ.S FT RTS STARTD1 MOVE #$2700,SR MOVE.B $FA09.W,SV1 MOVE.B $FA07.W,SV2 MOVE.B $FA13.W,SV3 MOVE.B $FA17.W,asei BCLR #3,$FA17.W ;AEI MOVE.L $118.W,OLD118 MOVE.L $120.W,OLDH1 MOVE.L $70.W,OLDV1 AND.B #$DF,$FFFA09 AND.B #$FE,$FFFA07 MOVE.L #VBI,$70.W MOVE.L #LEVDLI,$120.W MOVE.L #DUFFKEY,$118.W OR.B #1,$FA07.W OR.B #1,$FA13.W move #$2300,sr RTS STOPD1 move #$2700,sr MOVE.B SV1,$FA09.W MOVE.B SV2,$FA07.W MOVE.B SV3,$FA13.W MOVE.B ASEI,$FA17 MOVE.L OLDH1,$120.W MOVE.L OLD118,$118.W MOVE.L OLDV1,$70.W MOVE #$2300,SR RTS old118 dc.l 0 oldh1 dc.l 0 oldv1 dc.l 0 oldest dc.l 0 SV1 DC.B 0 ;mfp SV2 DC.B 0 ;b mfp SV3 DC.B 0 ASEI DC.B 0 VBI MOVE #$2700,SR MOVE.B #0,$FA1B.W MOVE.B #97,$FA21.W MOVE.B #4,$FA1B.W MOVE.L #0,$F8240.W MOVE.L #0,$F8240+28.W MOVE.L #LEVDLI,$120.W RTE THONG ADDQ.L #1,$466.W THONG1 RTE duffkey move.b $fc02.w,KEY BTST #0,$FC00.W BNE.S DUFF RTE DUFF MOVE.B $FC02.W,KEY+1 BTST #0,$FC00.W BNE.S DUFFK RTE DUFFK MOVE.B $FC02.W,KEY+2 BTST #0,$FC00.W BNE.S DUFFK RTE key dc.b 0,0,0,0 * LEVDLI MOVE #$2700,SR movem.l d0-d7/a0-a6,-(sp) MOVE.L #0,$F8240+16.W MOVE #$210,$F8240+8.W ADDQ #1,$468.W MOVE.L #BOT,$120.W MOVE.B #0,$fa1b.w ;timer stop SHITAD MOVEQ #57,D0 DLA DBF D0,DLA MOVE.B #0,$F820A.W * int3 MOVEA.W #$8209,A0 MOVE.L A7,SAVESTACK MOVE.L CHAN2(PC),A5 MOVE.L CHAN2END(PC),A2 l1a MOVE.B (A0),D0 BEQ.S l1a MOVE.B #2,$FF820A *CHECK CHANNEL 2 CMP.L A2,A5 BLT.S L1 LEA (A2),A5 L1 MOVE.B (A0),D0 BEQ.S l1 ANDI.W #$3F,D0 MOVEQ #$3F,D1 SUB.W D0,D1 LSL.W D1,D0 MOVE.L #$ff8240,A4 MOVE.L #0,(A4)+ MOVE.L #0,(A4)+ MOVE.L #$320,(A4)+ MOVE.L #0,(A4)+ MOVE.L #$320,(A4)+ MOVE.L #0,(A4)+ MOVE.L #0,(A4)+ MOVE.L #0,(A4)+ NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP * * CLEAR MISSL MOVE.L LASTMM,A2 NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP LEA $F8260.W,A7 LEA $F820A.W,A1 MOVEQ #0,D0 MOVEQ #2,D1 ; MOVE.B D1,(A7) MOVE.B #0,(A7) MOVE.L DEFM,D2 MOVE.L DEFM2,D3 MOVE.L D2,D4 OR.L D2,D4 AND.L #%11001100110011001100110011001100,D4 NOT.L D2 NOT.L D3 NOT.L D4 AND D2,8(A2) AND D4,8-MOD(A2) AND D3,8+MOD(A2) AND D2,8+MOD*2(A2) AND D3,8+MOD*3(A2) AND D2,8+MOD*4(A2) AND D3,8+MOD*5(A2) SWAP D2 SWAP D3 SWAP D4 AND D2,(A2) AND D3,MOD(A2) AND D2,MOD*2(A2) AND D3,MOD*3(A2) AND D2,MOD*4(A2) AND D3,MOD*5(A2) MOVE.L #SCREEN-16,LASTMM NOP NOP NOP MOVE.B D0,(A1) MOVE.B D1,(A1) NOP AND D4,-MOD(A2) NOP NOP NOP NOP NOP NOP MOVE.B D1,(A7) NOP MOVE.B D0,(A7) NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP MOVE.B D0,(A1) MOVE.B D1,(A7) MOVE.B D1,(A1) MOVE.B D0,(A7) NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP MOVE.B D0,(A1) MOVE.B D1,(A1) NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP MOVE.B D1,(A7) NOP MOVE.B D0,(A7) NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP *START OVERSCAN ** MOVE.B D1,(A7) NOP MOVE.B D0,(A7) MOVE.L #$FFF8240,A4 CL1 MOVE.L #$002,(A4)+ CL2 MOVE.L #$50007,(A4)+ MOVE.L #$3570433,(A4)+ MOVE.L #$5360007,(A4)+ C89 MOVE.L #$4300367,(A4)+ ;C8-C9 C10 MOVE.L #$04,(A4)+ C12 MOVE.L #$1030103,(A4)+ C13 MOVE.L #$4030766,(A4)+ * CLR SHIP * MOVEQ #0,D2 MOVE.L LASTSHIP,A0 MOVE D2,(A0) MOVE D2,160(A0) MOVE D2,320(A0) MOVE D2,480(A0) MOVE D2,640(A0) MOVE D2,800(A0) MOVE D2,960(A0) MOVE D2,1120(A0) *** *print ship ALT9 LEA 16+SCREEN+MOD*$D9,A0 LEA SHIPDAT,A2 MOVE SHIPH,D0 MOVE D0,D1 LSR #1,D1 AND #$F-7,D1 NOP MOVE.B #0,(A1) MOVE.B #2,(A1) ADD D1,A0 AND #14,D0 ASL #4,D0 NOP MOVE.B #2,(A7) MOVE.B #0,(A7) ADD D0,A2 MOVE.L A0,LASTSHIP NOP MOVE.L LASTM,A3 ** line 2 MOVE.B #2,(A7) MOVE.B #0,(A7) MOVEM.L (A2),D0-D7 MOVE D0,8(A0) MOVE D1,8+160(A0) MOVE D2,8+320(A0) MOVE D3,8+480(A0) MOVE D4,8+640(A0) MOVE D5,8+800(A0) MOVE D6,8+960(A0) MOVE D7,8+1120(A0) SWAP D0 SWAP D1 SWAP D2 SWAP D3 SWAP D4 SWAP D5 SWAP D6 SWAP D7 MOVE D0,(A0) MOVE D1,160(A0) MOVE D2,320(A0) MOVE D3,480(A0) MOVE D4,640(A0) MOVE D5,800(A0) MOVE D6,960(A0) MOVE D7,1120(A0) *** * MISSILE ADD SHOTH(PC),A3 move #$640,$f8240+16.w MOVEQ #2,D0 MOVE.L DEFM3(PC),D2 NOP MOVE.B #0,(A1) MOVE.B #2,(A1) ** DETECT PL MISS TO ALIENS MOVE MOD*3(A3),D1 ;SCREEN PATTERN OR -4(A3),D1 ;ALIEN PLANE OR -2(A3),D1 ;ALIEN PLANE MOVE.B #2,(A7) MOVE.B #0,(A7) SWAP D1 ;KEEP MOVE 8+MOD*3(A3),D1 ;SCREEN PATTERN NOP NOP NOP OR 6(A3),D1 ;ALIENS OR 4(A3),D1 ;ALIENS * line 3 MOVE.B #2,(A7) MOVE.B #0,(A7) ***PLOT PLAYER MISSILE AND.L D2,D1 ;DETECT BNE.S DOP ;HIT SOMETHING NOP NOP NOP NOP NOP NOP NOP NOP NOP OR D2,8(A3) OR D2,8+MOD(A3) OR D2,8+MOD*2(A3) OR D2,8+MOD*3(A3) OR D2,8+MOD*4(A3) OR D2,8+MOD*5(A3) SWAP D2 OR D2,(A3) OR D2,MOD(A3) OR D2,MOD*2(A3) OR D2,MOD*3(A3) OR D2,MOD*4(A3) OR D2,MOD*5(A3) NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP BRA DAP *** MISSILE HIT SOMETHING DOP MOVE.L #SCREEN-MOD*8,LASTM MOVE SHOTH,HITH ;MISSL POS WHEN IT HIT MOVE.L MISSL,HITV ;MISSL POS WHEN IT HIT SUB.L #MOD*2,HITV MOVE #0,SHOTH ; MOVE HORZ(PC),HOZ ; MOVE HBASE(PC),HIZ REPT 39 ;-12 NOP ENDR DAP OR.L D1,HIT MOVE.B #0,(A1) MOVE.B #2,(A1) MOVE.L A3,LASTMM NOP NOP NOP NOP MOVE.B #2,(A7) MOVE.B #0,(A7) NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP * line 4 MOVE.B #2,(A7) MOVE.B #0,(A7) *PRINT SCORE LEA 8*7+SCREEN+6-MOD,A6 LEA RESULT+2(PC),A2 LEA FOND(PC),A3 MOVEQ #0,D0 MOVE.B (A2)+,D0 ASL #5,D0 MOVEM.L (A3,D0),D0-D6 MOVE D0,MOD*1(A6) MOVE D1,MOD*3(A6) MOVE D2,MOD*5(A6) MOVE D3,MOD*7(A6) MOVE D4,MOD*9(A6) MOVE D5,MOD*11(A6) SWAP D0 SWAP D1 SWAP D2 SWAP D3 SWAP D4 SWAP D5 SWAP D6 MOVE D0,(A6) MOVE D1,MOD*2(A6) MOVE D2,MOD*4(A6) MOVE D3,MOD*6(A6) MOVE D4,MOD*8(A6) MOVE D5,MOD*10(A6) *DIGIT 2 MOVEQ #0,D0 MOVE.B (A2)+,D0 ASL #5,D0 move #$760,$ffff8240+16.w NOP NOP MOVE.B #0,(A1) MOVE.B #2,(A1) MOVE D6,MOD*12(A6) ; NOP ; NOP ; NOP NOP NOP NOP NOP NOP NOP MOVE.B #2,(A7) MOVE.B #0,(A7) LLG1 MOVE.L STARTCODE,CHANGECODE NOP NOP NOP NOP **** line 5 MOVE.B #2,(A7) MOVE.B #0,(A7) MOVEM.L (A3,D0),D0-D5/A4 MOVE D0,8+MOD*1(A6) MOVE D1,8+MOD*3(A6) MOVE D2,8+MOD*5(A6) MOVE D3,8+MOD*7(A6) MOVE D4,8+MOD*9(A6) MOVE D5,8+MOD*11(A6) SWAP D0 SWAP D1 SWAP D2 SWAP D3 SWAP D4 SWAP D5 SWAP D6 MOVE D0,8(A6) MOVE D1,8+MOD*2(A6) MOVE D2,8+MOD*4(A6) MOVE D3,8+MOD*6(A6) MOVE D4,8+MOD*8(A6) MOVE D5,8+MOD*10(A6) *DIGIT 3 MOVEQ #0,D0 MOVE.B (A2)+,D0 ASL #5,D0 MOVEM.L (A3,D0),D0-D5/D7 MOVE.B #0,(A1) MOVE.B #2,(A1) MOVE D0,16+MOD*1(A6) MOVE D1,16+MOD*3(A6) MOVE D2,16+MOD*5(A6) MOVE.B #2,(A7) MOVE.B #0,(A7) MOVE D3,16+MOD*7(A6) MOVE D4,16+MOD*9(A6) MOVE D5,16+MOD*11(A6) SWAP D0 SWAP D1 SWAP D2 SWAP D3 **** line 6 MOVE.B #2,(A7) MOVE.B #0,(A7) SWAP D4 SWAP D5 SWAP D7 MOVE D0,16(A6) MOVE D1,16+MOD*2(A6) MOVE D2,16+MOD*4(A6) MOVE D3,16+MOD*6(A6) MOVE D4,16+MOD*8(A6) MOVE D5,16+MOD*10(A6) NOP *DIGIT 4 MOVEQ #0,D0 MOVE.B (A2)+,D0 ASL #5,D0 MOVEM.L (A3,D0),D0-D6 MOVE D0,24+MOD*1(A6) MOVE D1,24+MOD*3(A6) MOVE D2,24+MOD*5(A6) MOVE D3,24+MOD*7(A6) MOVE D4,24+MOD*9(A6) MOVE D5,24+MOD*11(A6) SWAP D0 SWAP D1 SWAP D2 SWAP D3 SWAP D4 SWAP D5 SWAP D6 MOVE D0,24(A6) MOVE D1,24+MOD*2(A6) MOVE D2,24+MOD*4(A6) MOVE D3,24+MOD*6(A6) MOVE D4,24+MOD*8(A6) ; NOP MOVE.B #0,(A1) MOVE.B #2,(A1) MOVE D5,24+MOD*10(A6) MOVE D6,24+MOD*12(A6) NOP NOP NOP MOVE.B #2,(A7) MOVE.B #0,(A7) move #$672,$ffff8240+16.w ; NOP ; NOP ; NOP ; NOP NOP MOVE D7,16+MOD*12(A6) part of previous digit! ; NOP ; NOP ; NOP NOP NOP NOP NOP NOP **** line 7 MOVE.B #2,(A7) MOVE.B #0,(A7) *DIGIT 5 MOVEQ #0,D0 MOVE.B (A2)+,D0 ASL #5,D0 MOVEM.L (A3,D0),D0-D6 MOVE D0,32+MOD*1(A6) MOVE D1,32+MOD*3(A6) MOVE D2,32+MOD*5(A6) MOVE D3,32+MOD*7(A6) MOVE D4,32+MOD*9(A6) MOVE D5,32+MOD*11(A6) SWAP D0 SWAP D1 SWAP D2 SWAP D3 SWAP D4 SWAP D5 SWAP D6 MOVE D0,32(A6) MOVE D1,32+MOD*2(A6) MOVE D2,32+MOD*4(A6) MOVE D3,32+MOD*6(A6) MOVE D4,32+MOD*8(A6) MOVE D5,32+MOD*10(A6) MOVE D6,32+MOD*12(A6) *SCORE DONE ** detect if any alien hit side of screen LEA MOD*30+SCREEN,A0 MOVEQ #0,D0 ;DETECT REG ** L/H SIDE ** OR.B (A0),D0 OR.B MOD*13(A0),D0 OR.B MOD*26(A0),D0 OR.B MOD*39(A0),D0 ; NOP ; NOP ; NOP NOP MOVE.B #0,(A1) MOVE.B #2,(A1) OR.B MOD*52(A0),D0 OR.B MOD*65(A0),D0 OR.B MOD*78(A0),D0 MOVE.B #2,(A7) MOVE.B #0,(A7) OR.B MOD*91(A0),D0 OR.B MOD*104(A0),D0 OR.B MOD*117(A0),D0 *10 move #$474,$ffff8240+16.w **** line 8 MOVE.B #2,(A7) MOVE.B #0,(A7) OR.B MOD*130(A0),D0 *11 *PART OF SCORE DIGIT 2! MOVE.L A4,D1 SWAP D1 MOVE D1,8+MOD*12(A6) ;PART OF DIGIT 2! NOP NOP NOP NOP NOP *R/H SIDE OR.B 184+9(A0),D0 OR.B MOD*13+184+9(A0),D0 OR.B MOD*26+184+9(A0),D0 OR.B MOD*39+184+9(A0),D0 OR.B MOD*52+184+9(A0),D0 OR.B MOD*65+184+9(A0),D0 OR.B MOD*78+184+9(A0),D0 OR.B MOD*91+184+9(A0),D0 OR.B MOD*104+184+9(A0),D0 OR.B MOD*117+184+9(A0),D0 OR.B MOD*130+184+9(A0),D0 LEA MOD*130(A0),A0 OR.B MOD*13+184+9(A0),D0 *MOD*143 OR.B MOD*26+184+9(A0),D0 OR.B MOD*39+184+9(A0),D0 OR.B MOD*52+184+9(A0),D0 *RENEGADES FROM L/H SIDE OR.B MOD*13(A0),D0 OR.B MOD*26(A0),D0 OR.B MOD*39(A0),D0 OR.B MOD*52(A0),D0 MOVE.B D0,OFF+1 HITSIDE MOVE.L CHAN1(PC),A3 MOVE.B #8,$FFFF8800.W NOP NOP NOP MOVE.B #0,(A1) MOVE.B #2,(A1) MOVE.B (A3)+,$FFFF8802.W NOP NOP NOP NOP MOVE.B #2,(A7) MOVE.B #0,(A7) MOVE.L CHAN1END(PC),A2 NOP NOP NOP NOP NOP move #$276,$ffff8240+16.w **** line 9 MOVE.B #2,(A7) MOVE.B #0,(A7) CMP.L A2,A3 BLT.S DAC1 LEA (A2),A3 BRA.S DAC2 DAC1 NOP NOP NOP NOP DAC2 NOP NOP MOVE.B #9,$FFFF8800.W MOVE.B (A5)+,$FFFF8802.W NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP LLG3 MOVE.L STARTCODE+12,CHANGECODE+12 ; NOP ; NOP ;NOP ;NOP ;NOP ;NOP ;NOP ;NOP ;NOP ;NOP ;NOP ;NOP ;NOP ;NOP ;NOP ;NOP ;NOP ;NOP LLG MOVE.L STARTCODE+4,CHANGECODE+4 LLG2 MOVE.L STARTCODE+8,CHANGECODE+8 ;NOP ;NOP ;NOP ;NOP ;NOP ;NOP ;NOP ;NOP ;NOP MOVE.B #0,(A1) MOVE.B #2,(A1) NOP NOP NOP NOP NOP NOP NOP NOP NOP MOVE.B #2,(A7) MOVE.B #0,(A7) NOP NOP NOP NOP NOP NOP NOP NOP NOP move #$077,$ffff8240+16.w **** line 10 MOVE.B #2,(A7) MOVE.B #0,(A7) NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP MOVE.B #0,(A1) MOVE.B #2,(A1) NOP NOP NOP NOP NOP NOP NOP NOP NOP MOVE.B #2,(A7) MOVE.B #0,(A7) NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP **** line 11 MOVE.B #2,(A7) MOVE.B #0,(A7) NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP MOVE.B #0,(A1) MOVE.B #2,(A1) NOP NOP NOP NOP NOP NOP NOP NOP NOP MOVE.B #2,(A7) MOVE.B #0,(A7) NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP **** line 12 MOVE.B #2,(A7) MOVE.B #0,(A7) NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP MOVE.B #0,(A1) MOVE.B #2,(A1) NOP NOP NOP NOP NOP NOP NOP NOP NOP MOVE.B #2,(A7) MOVE.B #0,(A7) NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP **** line 13 MOVE.B #2,(A7) MOVE.B #0,(A7) NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP MOVE.B #0,(A1) MOVE.B #2,(A1) NOP NOP NOP NOP NOP NOP NOP NOP NOP MOVE.B #2,(A7) MOVE.B #0,(A7) NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP **** line 14 MOVE.B #2,(A7) MOVE.B #0,(A7) NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP MOVE.B #0,(A1) MOVE.B #2,(A1) NOP NOP NOP NOP NOP NOP NOP NOP NOP MOVE.B #2,(A7) MOVE.B #0,(A7) NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP **** line 15 MOVE.B #2,(A7) MOVE.B #0,(A7) NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP MOVE.B #0,(A1) MOVE.B #2,(A1) NOP ; NOP ; NOP ; NOP ; NOP ; NOP MOVE #7,GONG ; NOP ; NOP ; NOP MOVECOL LEA COLTAB1,A4 MOVE.B #2,(A7) MOVE.B #0,(A7) NOP MOVE.L CHAN3(PC),A0 MOVE.L CHAN4(PC),A2 MOVE #$E1-26,D2 LEA $F8240+16.W,A6 GGG MOVE.B #2,(A7) MOVE.B #0,(A7) MOVE.L -14(A6),2(A6) MOVE.B $F8207.W,(A6) MOVE.B #8,$F8800.W MOVE.B (A3)+,$F8802.W MOVE.B #9,$F8800.W MOVE.B (A5)+,$F8802.W MOVE.B #10,$F8800.W MOVE.B (A0)+,$F8802.W D0 SUBQ #1,GONG BPL.S HONG MOVE.L (A4)+,-14(A6) $F8242.W MOVE (A4)+,$F8246.W BRA.S WONK HONG CL3 MOVE.L #$310052,$F8242.W CL4 MOVE #$73,$F8246.W NOP NOP * WONK MOVE.L -6(A4),-6(A6) COL 5-6 MOVE -2(A4),-2(A6) COL 7 ; NOP ; NOP ; NOP ; NOP ; NOP ; NOP ; NOP ; NOP ; NOP ; NOP ; NOP ; NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP MOVE.B (A2)+,$F8802.W D0 MOVE.B #0,(A1) MOVE.B #2,(A1) MOVE.B $F8209.W,(A6) NOP NOP NOP NOP NOP MOVE.B #2,(A7) MOVE.B #0,(A7) NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP DBF D2,ggg CMP.L CHAN3END(PC),A0 BLT.S HAL RORS LEA SAMSTART4,A0 HAL CMP.L CHAN4END(PC),A2 BLT.S HAL1 MOVE.L CHAN4END(pc),A2 HAL1 LEA CHAN1(PC),A6 MOVE.L A3,(A6) CHAN1 MOVE.L A5,8(A6) CHAN2 MOVE.L A0,16(A6) CHAN3 MOVE.L A2,24(A6) CHAN4 MOVE.L SAVESTACK(PC),A7 MOVEM.L (A7)+,D0-D7/A0-a6 MOVE #$740,$F8240+8.W ;SHIP MOVE #$357,$F8240+16.W ;MISSILES CHANGE PLANE! MOVE.B #10,$FA21.W MOVE.B #8,$FA1B.W RTE BOT MOVE.L #$30475,$F8240.W ;BAK+LIVES COL BOT1 MOVE.L #$30475,$F8240+16.W ;CLASH MISSILES INVISIBLE! MOVE.B #0,$FA1B.W KILLB move #$2700,sr PEA (A1) MOVE.L D0,-(SP) lea $fa21.w,a1 move.b #8,$fa1b.w move.b (a1),d0 MOVE #$400,$F8240+4.W ;FLAGS wait4 cmp.b (a1),d0 beq.s wait4 clr.b $fff820a 60 Hz move.b #0,$fa1b.w MOVEM.L (SP)+,D0/A1 nop nop move.b #2,$Ffff820a.w L100200 MOVE.L #$70007,$F8240+6.W ;100,200 L300500 MOVE.L #$70007,$F8240+20.W ;300,500 MOVE.L #$2000507,$F8240+12.W RTE SAVESTACK DC.L 0 SHACK DC.W 0 CHAN1 DC.L SAM1END CHAN1END DC.L SAM1END CHAN2 DC.L SAM1END CHAN2END DC.L SAM1END CHAN3 DC.L SAM1END CHAN3END DC.L SAM1END CHAN4 DC.L SAM1END CHAN4END DC.L SAM1END REPT 64 DC.W $202,$404,$606 ENDR DC.W $202,$404,$707 DC.W $202,$404,$707 DC.W $202,$404,$707 DC.W $202,$404,$707 COLTAB REPT 24 DC.W $222,$444,$777 ENDR REPT 24 DC.W $22,$44,$77 ENDR REPT 24 DC.W $202,$404,$707 ENDR REPT 24 DC.W $200,$400,$700 ENDR REPT 24 DC.W $20,$40,$70 ENDR REPT 24 DC.W $220,$440,$770 ENDR **REPEAT REPT 24 DC.W $222,$444,$777 ENDR REPT 24 DC.W $22,$44,$77 ENDR REPT 24 DC.W $202,$404,$707 ENDR REPT 24 DC.W $200,$400,$700 ENDR REPT 24 DC.W $20,$40,$70 ENDR REPT 24 DC.W $220,$440,$770 ENDR COLTAB1 REPT 24 DC.W $113,$225,$337 ENDR REPT 24 DC.W $210,$420,$630 ENDR REPT 24 DC.W $413,$625,$736 ENDR REPT 24 DC.W $131,$252,$373 ENDR REPT 24 DC.W $1,$101,$211 ENDR REPT 24 DC.W $100,$200,$300 ENDR REPT 24 DC.W $111,$222,$333 ENDR REPT 24 DC.W $101,$203,$303 ENDR REPT 24 DC.W $11,$22,$33 ENDR REPT 24 DC.W $10,$20,$30 ENDR REPT 24 DC.W $1,$1,$2 ENDR REPT 24 DC.W $0,$1,$2 ENDR REPT 24 DC.W $0,0,$1 ENDR ds.l 100 stak GONG DC.B 0,0 EVEN EXP incbin explode2.dat incbin explode1.dat incbin explode3.dat EVEN DEFS DC.L DEF1,DEF2,DEF3,DEF4 DC.L DEF5,DEF6,DEF7,DEF8 MVDWN DC.W 0 * DONELEV MOVE.B $467.W,D0 AND #28,D0 MOVE.L DEFS(PC,D0),UPTO ;pattern aliens appear MOVE.B #100,5(A6) ;FLAG NEW LEVEL ADDQ.B #4,$467.W move.l #4096,-4(a6) flagh move.l #$1401000,-8(a6) horz MOVE MVDWN(PC),D0 ADDQ #4,MVDWN AND #28,D0 MOVE D0,D1 MULU #6,D1 MULU #MOD,D0 add.l #26*mod,D0 MOVE.L D0,-12(a6) vert LEA COLTAB(PC),A0 MOVE SHACK(PC),D0 ADD D0,A0 SUB D1,A0 OB=24*6 ADD #OB,D0 CMP #23*OB,D0 BLT.S WILK MOVEQ #0,D0 WILK MOVE D0,SHACK MOVE.L A0,MOVECOL+2 ;DLI COL MOVE.L #$10001000,STOMPS CLR.L SAMPT CLR HIGH CLR.B FIRED ;DONT FIRE TIL FIRED UPON! MOVE #1000,TIMEOUT MOVE.L #28+SCREEN+(MOD*$D6),SCBL MOVE.L #SHIELDEND+8,UPTOS RTS *EXPLODE SPRITE FIRST* SPRITES LEA ALIENDATA(PC),A6 ;FLAGS ETC MOVE -90(A6),D2 BMI MAINSPRITES LEA 2+-128+SCREEN-MOD*14,A0 ADD.L -80(A6),A0 ;MISLL VERT AT HIT ADD -82(A6),A0 ;HBASE MOVEQ #7,D0 SUB -76(A6),D0 ;EXD -BIT 0-7=ALIEN 7-0 ASL #4,D0 ADD D0,A0 ADD.B #64,-74(A6) BCC.S DCX SUB #512,D2 BPL.S DCX1 MOVE.L A0,-88(A6) LASTEX MOVE D2,-90(A6) HOX BRA MAINSPRITES DCX1 SUB.L #MOD,-80(A6) HAZ DCX MOVE.L A0,-94(A6) LASTEX1 MOVE D2,-90(A6) HOX MOVE -84(A6),D0 HOZ AND #14,D0 ASL #5,D0 LEA EXP(PC),A1 ADD D0,A1 ADD D2,A1 MOVEM.L (A1)+,D0-D7 MOVE D0,8(A0) MOVE D1,MOD+8(A0) MOVE D2,MOD*2+8(A0) MOVE D3,MOD*3+8(A0) MOVE D4,MOD*4+8(A0) MOVE D5,MOD*5+8(A0) MOVE D6,MOD*6+8(A0) MOVE D7,MOD*7+8(A0) SWAP D0 SWAP D1 SWAP D2 SWAP D3 SWAP D4 SWAP D5 SWAP D6 SWAP D7 MOVE D0,(A0) MOVE D1,MOD(A0) MOVE D2,MOD*2(A0) MOVE D3,MOD*3(A0) MOVE D4,MOD*4(A0) MOVE D5,MOD*5(A0) MOVE D6,MOD*6(A0) MOVE D7,MOD*7(A0) MOVEM.L (A1),D0-D5 MOVE D0,MOD*8+8(A0) MOVE D1,MOD*9+8(A0) MOVE D2,MOD*10+8(A0) MOVE D3,MOD*12+8(A0) MOVE D4,MOD*13+8(A0) MOVE D5,MOD*14+8(A0) SWAP D0 SWAP D1 SWAP D2 SWAP D3 SWAP D4 SWAP D5 MOVE D0,MOD*8(A0) MOVE D1,MOD*9(A0) MOVE D2,MOD*10(A0) MOVE D3,MOD*11(A0) MOVE D4,MOD*12(A0) MOVE D5,MOD*13(A0) MOVE #0,MOD*14+8(A0) MOVE #0,MOD*14(A0) MAINSPRITES *** ALIEN SPRITES *** *** LEVEL COMPLETE? *** TST.B 5(A6) BNE.S NOTDONE TST.L (A6) BNE.S NOTDONE TST.B 4(A6) BEQ DONELEV NOTDONE * STOMP SOUND * SUBQ #1,-54(A6) BNE.S NOSTOMP MOVE -56(A6),-54(A6) MOVE -18(A6),D0 ;SPL POINTER ADDQ #8,-18(A6) ;NOTES AND #24,D0 MOVE.L -52(A6,D0),CHAN4 MOVE.L -48(A6,D0),CHAN4END NOSTOMP LEA ALIEN1(PC),A0 MOVE.L -4(A6),D0 ;SPEED/DIRECTION ADD.L D0,-8(A6) ;HORZ MOVEQ #0,D1 MOVE -8(A6),D1 ;HORZ MOVE D1,D0 LSR #1,D1 AND #$F-7,D1 AND #14,D0 MOVE D0,D2 MOVE -72(A6,D0),D0 ;MULU #60,D0 ADD D0,A0 MOVE D1,HBASE move d0,-(sp) LEA SCREEN-(8*16),A2 ADD.L -12(A6),A2 ;VERT ADD.L D1,A2 MOVE.L A2,-16(A6) ;LARTAL-LAST POS. TOP L/H CORNER LEA (A2),A5 MOVE.B (A6)+,D7 ;FLAGS ETC bsr part lea mod*5(a2),a2 bsr part lea mod*5(a2),a2 bsr.s part2 * LEA ALIEN2(PC),A0 ADD (A7),A0 MOVE.B (a6)+,D7 ;FLAGS ETC LEA MOD*24(A5),A2 bsr part lea mod*5(a2),a2 bsr part lea mod*5(a2),a2 bsr.s part2 LEA ALIEN3(PC),A0 add (a7),a0 MOVE.B (a6)+,D7 ;FLAGS ETC LEA MOD*48(A5),A2 bsr part lea mod*5(a2),a2 bsr part lea mod*5(a2),a2 bsr.s part2 LEA ALIEN4(PC),A0 add (a7),a0 * MOVE.B (A6)+,D7 ;FLAGS ETC LEA MOD*72(A5),A2 bsr part lea mod*5(a2),a2 bsr part lea mod*5(a2),a2 bsr.s part2 * LEA ALIEN5(PC),A0 add (a7)+,a0 MOVE.B (A6)+,D7 ;FLAGS ETC LEA MOD*96(A5),A2 bsr part lea mod*5(a2),a2 bsr part lea mod*5(a2),a2 part2 MOVEM.L (A0)+,D0-D5 6/a1 ROL.B D7 BCC.S N1A MOVE.L D0,(A2) MOVE.L D1,8(A2) MOVE.L D2,MOD(A2) MOVE.L D3,MOD+8(A2) MOVE.L D4,MOD*2(A2) MOVE.L D5,MOD*2+8(A2) N1A ROL.B D7 BCC.S N2A MOVE.L D0,16(A2) MOVE.L D1,24(A2) MOVE.L D2,MOD+16(A2) MOVE.L D3,MOD+24(A2) MOVE.L D4,MOD*2+16(A2) MOVE.L D5,MOD*2+24(A2) N2A ROL.B D7 BCC.S N3A MOVE.L D0,32(A2) MOVE.L D1,40(A2) MOVE.L D2,MOD+32(A2) MOVE.L D3,MOD+40(A2) MOVE.L D4,MOD*2+32(A2) MOVE.L D5,MOD*2+40(A2) N3A ROL.B D7 BCC.S N4A MOVE.L D0,48(A2) MOVE.L D1,56(A2) MOVE.L D2,MOD+48(A2) MOVE.L D3,MOD+56(A2) MOVE.L D4,MOD*2+48(A2) MOVE.L D5,MOD*2+56(A2) N4A ROL.B D7 BCC.S N5A MOVE.L D0,64(A2) MOVE.L D1,72(A2) MOVE.L D2,MOD+64(A2) MOVE.L D3,MOD+72(A2) MOVE.L D4,MOD*2+64(A2) MOVE.L D5,MOD*2+72(A2) N5A ROL.B D7 BCC.S N6A MOVE.L D0,80(A2) MOVE.L D1,88(A2) MOVE.L D2,MOD+80(A2) MOVE.L D3,MOD+88(A2) MOVE.L D4,MOD*2+80(A2) MOVE.L D5,MOD*2+88(A2) N6A ROL.B D7 BCC.S N7A MOVE.L D0,96(A2) MOVE.L D1,104(A2) MOVE.L D2,MOD+96(A2) MOVE.L D3,MOD+104(A2[) MOVE.L D4,MOD*2+96(A2) MOVE.L D5,MOD*2+104(A2) N7A ROL.B D7 BCC.S N8A MOVE.L D0,112(A2) MOVE.L D1,120(A2) MOVE.L D2,MOD+112(A2) MOVE.L D3,MOD+120(A2) MOVE.L D4,MOD*2+112(A2) MOVE.L D5,MOD*2+120(A2) N8A RTS part MOVEM.L (A0)+,D0-D6/a1/a3/a4 ROL.B D7 BCC.S N1 MOVE.L D0,(A2) MOVE.L D1,8(A2) MOVE.L D2,MOD(A2) MOVE.L D3,MOD+8(A2) MOVE.L D4,MOD*2(A2) MOVE.L D5,MOD*2+8(A2) MOVE.L D6,MOD*3(A2) MOVE.L A1,MOD*3+8(A2) MOVE.L A3,MOD*4(A2) MOVE.L A4,MOD*4+8(A2) N1 ROL.B D7 BCC.S N2 MOVE.L D0,16(A2) MOVE.L D1,24(A2) MOVE.L D2,MOD+16(A2) MOVE.L D3,MOD+24(A2) MOVE.L D4,MOD*2+16(A2) MOVE.L D5,MOD*2+24(A2) MOVE.L D6,MOD*3+16(A2) MOVE.L A1,MOD*3+24(A2) MOVE.L A3,MOD*4+16(A2) MOVE.L A4,MOD*4+24(A2) N2 ROL.B D7 BCC.S N3 MOVE.L D0,32(A2) MOVE.L D1,40(A2) MOVE.L D2,MOD+32(A2) MOVE.L D3,MOD+40(A2) MOVE.L D4,MOD*2+32(A2) MOVE.L D5,MOD*2+40(A2) MOVE.L D6,MOD*3+32(A2) MOVE.L A1,MOD*3+40(A2) MOVE.L A3,MOD*4+32(A2) MOVE.L A4,MOD*4+40(A2) N3 ROL.B D7 BCC.S N4 MOVE.L D0,48(A2) MOVE.L D1,56(A2) MOVE.L D2,MOD+48(A2) MOVE.L D3,MOD+56(A2) MOVE.L D4,MOD*2+48(A2) MOVE.L D5,MOD*2+56(A2) MOVE.L D6,MOD*3+48(A2) MOVE.L A1,MOD*3+56(A2) MOVE.L A3,MOD*4+48(A2) MOVE.L A4,MOD*4+56(A2) N4 ROL.B D7 BCC.S N5 MOVE.L D0,64(A2) MOVE.L D1,72(A2) MOVE.L D2,MOD+64(A2) MOVE.L D3,MOD+72(A2) MOVE.L D4,MOD*2+64(A2) MOVE.L D5,MOD*2+72(A2) MOVE.L D6,MOD*3+64(A2) MOVE.L A1,MOD*3+72(A2) MOVE.L A3,MOD*4+64(A2) MOVE.L A4,MOD*4+72(A2) N5 ROL.B D7 BCC.S N6 MOVE.L D0,80(A2) MOVE.L D1,88(A2) MOVE.L D2,MOD+80(A2) MOVE.L D3,MOD+88(A2) MOVE.L D4,MOD*2+80(A2) MOVE.L D5,MOD*2+88(A2) MOVE.L D6,MOD*3+80(A2) MOVE.L A1,MOD*3+88(A2) MOVE.L A3,MOD*4+80(A2) MOVE.L A4,MOD*4+88(A2) N6 ROL.B D7 BCC.S N7 MOVE.L D0,96(A2) MOVE.L D1,104(A2) MOVE.L D2,MOD+96(A2) MOVE.L D3,MOD+104(A2) MOVE.L D4,MOD*2+96(A2) MOVE.L D5,MOD*2+104(A2) MOVE.L D6,MOD*3+96(A2) MOVE.L A1,MOD*3+104(A2) MOVE.L A3,MOD*4+96(A2) MOVE.L A4,MOD*4+104(A2) N7 ROL.B D7 BCC.S N8 MOVE.L D0,112(A2) MOVE.L D1,120(A2) MOVE.L D2,MOD+112(A2) MOVE.L D3,MOD+120(A2) MOVE.L D4,MOD*2+112(A2) MOVE.L D5,MOD*2+120(A2) MOVE.L D6,MOD*3+112(A2) MOVE.L A1,MOD*3+120(A2) MOVE.L A3,MOD*4+112(A2) MOVE.L A4,MOD*4+120(A2) N8 RTS ALIEN1 INCBIN D:\OVERSCAN.INV\ALIEN5.DAT ALIEN2 INCBIN D:\OVERSCAN.INV\ALIEN2.DAT ALIEN3 INCBIN D:\OVERSCAN.INV\ALIEN3.DAT ALIEN4 INCBIN D:\OVERSCAN.INV\ALIEN4.DAT ALIEN5 INCBIN D:\OVERSCAN.INV\ALIEN1.DAT * BAKDAT DS.B 5 EVEN *FIRST CLEAR EXPLOSION IF NEED BE CLRSPRITES MOVEQ #0,D0 MOVE.L LASTEX(PC),A0 CMP.L D0,A0 BEQ NOTCLEAR * MOVE.L D0,LASTEX ADS SET 0 REPT 14 MOVE D0,ADS(A0) MOVE D0,ADS+8(A0) ADS SET ADS+MOD ENDR * NOTCLEAR * MOVE.L LARTAL(PC),A0 LEA BAKDAT(PC),A1 MOVE.L A1,A3 MOVEQ #4,D3 ;5 DOWN ALL MOVEQ #7,D1 ;8 ACROSS LEA (A0),A2 MOVE.B (A1)+,D2 DANK1 ASL.B #1,D2 BCC.S GON * CLEAR ONE * ADS SET 0 REPT 13 MOVE.L D0,ADS(A2) MOVE.L D0,ADS+8(A2) ADS SET ADS+MOD ENDR GON LEA 16(A2),A2 DBRA D1,DANK1 LEA 24*MOD(A0),A0 DBRA D3,ALL MOVE.L ALIENDATA(PC),(A3)+ MOVE.B ALIENDATA+4(PC),(A3) *& **SEE IF ALIENS HIT SIDE AND REVERSE** *& TESTB LEA OFF(PC),A0 TST.B (A0) BEQ.S OK SUBQ.B #1,(A0) RTS OK TST.B 1(A0) ;HIT SIDE? BNE.S MAKERIGHT RTS MAKERIGHT MOVE.B #16,OFF ;DONT DETECT FOR 10 CYCLES ADD.L #4*MOD,VERT SUB.L #6*4,MOVECOL+2 ;DLI COL MOVE.L FLAGH(PC),D0 CMP #64+256,HORZ BGT.S HITRIGHT **HIT TO LEFT NEG.L D0 ;REVERSE INVADERS BPL.S OKK NEG.L D0 ;REVERSE INVADERS OKK MOVE.L D0,FLAGH RTS * HITRIGHT NEG.L D0 ;REVERSE INVADERS BMI.S OKK ;ENSURE CORRECT NEG.L D0 ;REVERSE INVADERS MOVE.L D0,FLAGH RTS OFF DC.W 0 LASTSHIP DC.L 0 PLIVES LEA -120+2+SCREEN+MOD*228-160,A1 ;COL 1 MOVE LIVES(PC),D6 SUBQ #1,LIVES BPL.S ALL1 ST.B GAMOV BRA.S TAG ;CLR LAST LIFE ALL1 SUBQ #1,D6 BMI.S TAG1 LEA SHIPDAT(PC),A0 MOVEQ #7,D7 LEA (A1),A2 INX MOVE (A0),(A2) ADDQ #4,A0 LEA 160(A2),A2 DBRA D7,INX ADDQ #8,A1 DBRA D6,ALL1 **PRINT BLANK TAG LEA (A1),A2 MOVEQ #7,D7 GX MOVE #0,(A2) LEA 160(A2),A2 DBRA D7,GX TAG1 LEA TABLE(PC),A0 CLR.B $4D(A0) ;LEFT&RIGHT ARROW KEYS CLR.B $4B(A0) CLR.B $2a(A0) ;left shift CLR.B $48(A0) ;UP ARROW CLR.B $72(A0) ;ENTER CLR.B REND bsr printscore NOT.B REND RTS * *** COLOUR 2 *** FLAGS LEA LEVEL(PC),A0 LEA -120+4+SCREEN+MOD*228+(160*10),A1 ;COL 1 MOVE (A0),D0 ADD D0,A1 ;LEVEL # MOVE #%0001 ,D1 MOVE #%10 ,D2 MOVE #%1 0,D3 MOVE #%1 000,D4 TST 2(A0) ;OVER LEVEL 7 BNE FLAGS1 AND D1,-162(A1) AND #%01 ,-2(A1) AND #%0 1,160-2(A1) AND #%011,320-2(A1) AND #%0 1,480-2(A1) AND #%01 ,640-2(A1) AND D1,800-2(A1) AND D1,960-2(A1) AND D1,-160(A1) AND #%01 ,(A1) AND #%0 1,160(A1) AND #%011,320(A1) AND #%0 1,480(A1) AND #%01 ,640(A1) AND D1,800(A1) AND D1,960(A1) OR D2,(A1) OR D3,160(A1) OR D4,320(A1) OR D3,480(A1) OR D2,640(A1) NOT D1 OR D1,800(A1) OR D1,960-2(A1) OR D1,-162(A1) OR D1,1120-2(A1) OR D1,1280-2(A1) ADDQ #8,D0 CMP #(7*8)-6,D0 BLT.S EED MOVEQ #-2,D0 ST LEVEL+2 EED MOVE D0,(A0) RTS LEVEL DC.W 0,0 LIVES DC.W 5 FLAGS1 OR D2,(A1) OR D3,160(A1) OR D4,320(A1) OR D3,480(A1) OR D2,640(A1) OR D2,4(A1) OR D3,164(A1) OR D4,324(A1) OR D3,484(A1) OR D2,644(A1) ADDQ #8,D0 CMP #(7*8)-6,D0 BLT.S EED1 MOVEQ #0,D0 CLR LEVEL+2 EED1 MOVE D0,(A0) RTS SHIPDAT INCBIN D:\OVERSCAN.INV\SHIP.DAT ;-MAKE STARF TABLE SETSTAR * INIT GAME DATA* LEA OF(PC),A0 WAD CLR (A0)+ CMP.L #TABLE+126,A0 BLT.S WAD * LEA ALIENDATA(PC),A0 DRAG CLR.B (A0)+ CMP.L #ENDAT,A0 BLT.S DRAG * MOVE #150,SHIPH CLR.L HBASE CLR.L HITV CLR.L LEVEL MOVE #5,LIVES MOVE.L #%10 101,D6 MOVE #199,D7 *SET NEW GAME * LEA SCREEN,A5 LEA SAVEM,A6 LEA -MOD*10(A5),A4 MOVE.L A6,-10(A6) ;THESE 6 FOR TWINKLERS MOVE.L A4,-6(A6) ; MOVE.L #SAVEM+100,-24(A6) ; MOVE.L A4,-20(A6) ; MOVE.L #SAVEM+200,-38(A6) ; MOVE.L A4,-34(A6) ; FILL MOVE #17,-(SP) TRAP #14 ADDQ.L #2,SP MOVE.L D0,D5 ;VERT MOVE.L D0,D4 ;VERT LSR #8,D4 AND #63,D4 AND.L #127,D5 ADD D4,D5 MULU #MOD,D5 ADDQ.L #1,$466.W *** MOVE #17,-(SP) TRAP #14 ADDQ.L #2,SP AND #$00FF-7,D0 OR #6,D0 CMP #230,D0 BLT.S LAZ SUB #128,D0 LAZ ADD D0,D5 LEA SCREEN-16,A0 ADD.L D5,A0 OR D6,(A0) MOVE.L D6,200*4(A6) MOVE.L A0,(A6)+ ROL.L #3,D6 DBRA D7,FILL RTS * SHIELD LEA 140+SCREEN+(MOD*$BC),A1 POKER LEA SHIELD_DEF(PC),A0 MOVEQ #25,D7 FFL MOVEM.L (A0)+,D0-D1 MOVE D0,8(A2) MOVE D0,8+56(A2) MOVE D0,8+112(A2) SWAP D0 MOVE D0,(A2) MOVE D0,56(A2) MOVE D0,112(A2) MOVE D1,24(A2) MOVE D1,24+56(A2) MOVE D1,24+112(A2) SWAP D1 MOVE D1,16(A2) MOVE D1,16+56(A2) MOVE D1,16+112(A2) LEA MOD(A1),A1 DBRA D7,FFL RTS SHIELD1 MOVE HIGH(PC),D7 CMP #26,D7 BGE ASA MOVE.L SCBL(PC),A2 SUB.L #MOD,SCBL LEA SHIELD_DEF(PC),A0 ADDQ #1,HIGH FFL1 MOVEM.L (A0)+,D0-D1 MOVE D0,8(A2) MOVE D0,8+56(A2) MOVE D0,8+112(A2) SWAP D0 MOVE D0,(A2) MOVE D0,56(A2) MOVE D0,112(A2) MOVE D1,24(A2) MOVE D1,24+56(A2) MOVE D1,24+112(A2) SWAP D1 MOVE D1,16(A2) MOVE D1,16+56(A2) MOVE D1,16+112(A2) LEA MOD(A2),A2 DBRA D7,FFL1 ASA RTS UPTOS DC.L SHIELDEND MASKS DC.L %10110010111010001001100011010101 DC.L %10110110101101110110001100100010 MEM DC.L START SHIELD2 MOVEM.L MASKS(PC),D6-D7 ROR.L #1,D6 ROR.L #1,D7 NOT.L D7 EXG.L D6,D7 movem.l d6-d7,masks bsr.s wan bsr.s wan bsr.s wan bsr.s wan bsr wan wan MOVE.L UPTOS(PC),A0 MOVE.L SCBL(PC),A2 SUB.L #MOD,A2 SUBQ.L #8,A0 CMP.L #SHIELD_DEF,A0 BGT.S GAS LEA SHIELDEND-8(PC),A0 LEA 28+SCREEN+MOD*$D6,A2 GAS MOVE.L A2,SCBL MOVE.L A0,UPTOS MOVEM.L (A0),D0-D1 AND.L D6,D0 AND.L D7,D1 OR D0,8(A2) OR D0,8+56(A2) OR D0,8+112(A2) SWAP D0 OR D0,(A2) OR D0,56(A2) OR D0,112(A2) OR D1,24(A2) OR D1,24+56(A2) OR D1,24+112(A2) SWAP D1 OR D1,16(A2) OR D1,16+56(A2) OR D1,16+112(A2) RTS HIGH DC.W 0 SCBL DC.L 28+SCREEN+(MOD*$D5) SHIELD_DEF DC.L %0 10101,%10101010 DC.L %0 1,%10 DC.L %0 @01,%10 DC.L %01,%10 DC.L %01,%10 DC.L %01,%10 DC.L %01,%10 DC.L %0001,%10 DC.L %0001,%10 DC.L %0001,%10 DC.L %01,%10 DC.L %0001,%10 DC.L %01,%10 DC.L %0001,%10 DC.L %01,%10 DC.L %0001,%10 DC.L %01,%10 DC.L %0001,%10 DC.L %01,%10 DC.L %0001,%10 DC.L %01 0 ,%0 10 DC.L %0001 0 ,%0 10 DC.L %01 0 ,%0 1 0 DC.L %0001 0 ,%01 0 DC.L %0001 0 ,%01 0 DC.L %0001 0,%01 0 SHIELDEND *PLAYER SHIP OF DC.W 0 ;-40 HOF DC.W 0 ;-38 FIRED DC.W 0 ;-36 SHOTV DC.W 0 ;-34 SHOTH DC.W 0 ;-32 DEFM3 DC.L 0 ;-30 DEFM2 DC.L 0 ;-26 HIT DC.L 0 ;-22 LASTMM DC.L 0 ;-18 LASTM DC.L 0 ;-14 DEFM DC.L 0 ;-10 MISSL DC.L 0 ;-6 SHIPH DC.W 150 ;-2 TABLE DCB.B 128,0 * * MOVE SHIP * SHIP LEA TABLE(PC),A0 LEA KEY(PC),A6 MOVE -2(A0),D7 ;SHIPH * MOVE.B 2(A6),D0 KEY+2 BPL.S K1A AND #127,D0 CLR.B (A0,D0.W) K1A CLR.B 2(A6) KEY+2 * MOVE (A6),D0 KEY CLR.B 1(A6) KEY+1 MOVE.B D0,D1 BPL.S K1 AND #127,D1 CLR.B (A0,D1.W) * K1 LSR #8,D0 TST.B D0 BPL.S PRESS AND #127,D0 CLR.B (A0,D0) ;KEY RELEASED BRA.S ERK PRESS CMP.B #$4B,D0 BNE.S W1 CLR.B $4D(A0) BRA.S W2 W1 CMP.B #$4D,D0 BNE.S W2 CLR.B $4B(A0) W2 AND #127,D0 ST.B (A0,D0) ;KEY ERK TST.B $4B(A0) ;LEFT SHIFT BEQ.S RR SUBQ #2,D7 ;SHIPH BPL.S LL CLR D7 ;SHIPH BRA.S LL RR TST.B $4D(A0) ;RIGHT SHIFT BEQ.S LL ADDQ #2,D7 ;SHIPH CMP #300,D7 ;SHIPH BLT.S LL MOVE #300,D7 LL MOVE D7,-2(A0) ;SHIPH * * MOVE/INIT MISSILE * * MOVE.L -6(A0),D0 ;MISSL BPL SHOTON ** INIT A SHOT ** TST.B $48(A0) ;UP ARROW BNE.S SHOT TST.B $2a(A0) ;left shift BNE.S SHOT TST.B $72(A0) ;ENTER BEQ.S NOSHOT SHOT ST.B -36(A0) MOVE.L #SAMSTART1,CHAN2 MOVE.L #SAM1END,CHAN2END ADDQ #8,D7 ;SHIPH MOVE D7,D1 LSR #1,D7 AND.L #$F-7,D7 AND #15,D1 MOVE D1,-38(A0) ;PIX MOVE D7,-32(A0) ;SHOT HORZ MOVE.L #$DF*MOD,-6(A0) MOVE.L #%10,D2 MOVE.L #%010,D3 MOVE.L #%00110,D4 MOVE #%10,D5 ROR D1,D5 ROR.L D1,D2 ROR.L D1,D3 ROR.L D1,D4 MOVE.L D2,-10(A0) MOVE.L D3,-26(A0) MOVE.L D4,-30(A0) MOVE D5,-40(A0) RTS NOSHOT MOVE.L #0,-10(A0) RTS SHOTON TST.L -22(A0) HIT BNE.S OFFT SUB.L #MOD*6,-6(A0) BMI OFFT LEA SCREEN+20-MOD*14,A1 ADD.L D0,A1 MOVE.L -10(A0),D0 MOVE.L A1,-14(A0) ;LAST RTS OFFT MOVE.L #-MOD*6,-6(A0) RTS * CONVERT MOVEQ #-4,D1 CONVERT1 LEA UNITS(PC),A1 LEA RESULT+2(PC),A2 MOVE.L (A1,D1),D0 ;SCORE OR HISCORE BINCONVERT MOVEQ #0,D3 MOVE.L (A1)+,D2 BMI.S DONET LUX CMP.L D0,D2 BGT.S NEX SUB.L D2,D0 ADDQ #1,D3 BRA.S LUX NEX MOVE.B D3,(A2)+ BRA.S BINCONVERT DONET MOVE.B D0,(A2) ; MOVE.B #-1,(A2) RTS * PRINT IT * PSCORE1 LEA SCREEN+14-MOD,A0 PLANE LEA SCO(PC),A2 PSCORE LEA FOND(PC),A3 PINT MOVEQ #0,D0 MOVE.B (A2)+,D0 BMI.S DONET1 ASL #5,D0 MOVEM.L (A3,D0),D0-D6 MOVE D0,MOD*1(A0) MOVE D1,MOD*3(A0) MOVE D2,MOD*5(A0) MOVE D3,MOD*7(A0) MOVE D4,MOD*9(A0) MOVE D5,MOD*11(A0) MOVE D6,MOD*13(A0) SWAP D0 SWAP D1 SWAP D2 SWAP D3 SWAP D4 SWAP D5 SWAP D6 MOVE D0,(A0) MOVE D1,MOD*2(A0) MOVE D2,MOD*4(A0) MOVE D3,MOD*6(A0) MOVE D4,MOD*8(A0) MOVE D5,MOD*10(A0) MOVE D6,MOD*12(A0) ADDQ #8,A0 DBRA D7,PINT DONET1 RTS FOND INCBIN D:\OVERSCAN.INV\FOND1.DAT HISCORE DC.L 0 SCORE DC.L 0 UNITS DC.L 10,1000,100,10,-1 RESULT DC.B 0,0,0,1,2,3,0,0 REND DC.B -1 EVEN V=51 SCO DC.B 32,16,"O"-V,"R"-V,"E"-V DC.B 12,12,12,12,12,12,0,13,13,"H"-V,"I"-V,12,13,13,13,0,0,0,-1 EVEN HBASE DC.W 0 HITH DC.W 0 HITV DC.L 0 DETECT MOVEQ #0,D7 SUBQ #1,TIMEOUT ;INC SPEED AFTER A TIME BPL.S DAZ BSR INC DAZ TST.L HIT BEQ GOBSH MOVE.L HITV(PC),D0 ;SHOT V AT IMPACT TIME BMI GOBSH MOVE.L D0,D1 SUB.L VERT(PC),D0 ;ALIEN V (TOP ALIEN) BMI HITSHIP GOBSH ;MOTHER SHIP HIT MOVE HITH(PC),D3 ;MISSL POS AT IMPACT TIME MOVE D3,D6 CMP #13,HOF BLT.S DV ADDQ #8,D3 DV MOVE HBASE(PC),D4 ;ALIEN HORZ (LEFT HAND SIDE) SUB #9*16,D4 SUB D4,D3 ;MISS H-ALIEN H BMI GOBSH ;MISSED TO RIGHT CMP #8*16,D3 BGT GOBSH ;MISSED TO LEFT CMP.L #122*MOD,D0 ;NO ALIEN BELOW THIS POINT BGT GOBSH ***FIND VERTICAL HIT CMP.L #MOD*24,D0 BGT.S T1 MOVEQ #0,D0 ;LINE 1 BRA.S DONE T1 CMP.L #MOD*48,D0 BGT.S T2 MOVEQ #1,D0 ;LINE 2 BRA.S DONE T2 CMP.L #MOD*72,D0 BGT.S T3 MOVEQ #2,D0 ;LINE 3 BRA.S DONE T3 CMP.L #MOD*96,D0 BGT.S T4 MOVEQ #3,D0 ;LINE 4 BRA.S DONE T4 MOVEQ #4,D0 ;LINE 5 * DONE LSR #4,D3 ;NOW IN ONE'S MOVEQ #7,D4 SUB D3,D4 BMI GOBSH LEA ALIENDATA(PC),A1 ADD D0,A1 ;VERTICAL HIT MOVE.B D7,SPD+1 ;CLR BTST D4,(A1) BEQ GOBS ;WRONG DETECT TST.B $469.W BPL.S SAM2 MOVE.L #SAMSTART2,CHAN1 MOVE.L #SAM2END,CHAN1END BRA.S SAM1 SAM2 MOVE.L #SAMSTART3,CHAN1 MOVE.L #SAM3END,CHAN1END SAM1 ADDQ #1,SCORE+2 BCLR D4,(A1) **EXPLODE POSITION MOVE.L LASTEX1(PC),LASTEX MOVE HORZ(PC),HOZ MOVE HBASE(PC),HIZ MOVE.L D1,HAZ ;HITV -MISSL POS WHEN IT HIT MOVE #1024,HOX ;FLAG HIT FOR EXPLODE SPRITE CLR.B DIB BN MOVE D4,EXD ;WHICH ALIEN SUBQ.B #1,SPD BPL.S GOBSH * INC SPEED AFTER 5 HITS * *** INC SPEED AFTER SET TIME *** INC TST.B ALIENDATA+5 BNE.S GOBSH SUBQ #3,STOMPS LEA STARTSPEED(PC),A0 MOVE.B #3,-4(A0) ;SPD MOVE #1000,-6(A0) ;SET TIME FOR SPEEDUP MOVE -2(A0),D0 SUBQ #4,-2(A0) BPL.S LAL1 MOVE #4,-2(A0) LAL1 MOVE.L 2(A0,D0),D0 TST.L FLAGH BPL.S PIG NEG.L D0 PIG MOVE.L D0,FLAGH MOVE.L D7,HIT RTS GOBS MOVE.L #SAMSTART0,CHAN1 MOVE.L #SAM0END,CHAN1END GOBSH MOVE.L #0,HIT NOPE RTS HITSHIP CMP.L #24*MOD,D1 BGT.S GOBSH MOVE FLAGSCORE(PC),D1 BEQ.S GOBSH ;NO SHIP ON! MOVE #0,FLAGSCORE ST.B GLOW * SHIP BONUS & LIGHTS * LEA BONUSP(PC),A0 MOVE (A0),D0 ADD 4(A0,D0),D1 ADD D1,SCORE+2 MOVE.L 22(A0,D0),A1 ;ADDRESS COL REG MOVE.L -4(A0),A2 ;FLASHIT MOVE.L A1,-4(A0) ;FLASHIT ; MOVE 44(A0,D0),(A1) ;ALTER COLOUR MOVE #$70,(A2) ;LAST FLASHER *** INC BONUS *** SUBQ #4,D0 BPL.S WAX MOVEQ #0,D0 WAX MOVE D0,(A0) ***START LOW SIREN SOUND*** LEA SAMSTART4(PC),A0 MOVE.L A0,CHAN3 ;SHIP HIT MOVE.L A0,RORS+2 MOVE.L #SAM4END,CHAN3END MOVE.L #0,HIT RTS FLASH DC.L SCREEN BONUSP DC.W 16 BONUSPOINTS DC.L 50,30,20,10,0 LIGHTS DC.L L300500+4 ;500 22(A DC.L L300500+2 ;300 DC.L L100200+4 ;200 DC.L L100200+2 ;100 DC.L SCREEN-16 ;DUMMY COLOUR DC.L $041 ;42(A DC.L $051 DC.L $061 DC.L $071 UPTO DC.L 0 UPTO1 DC.L ALIENDATA * NEW LEVEL * NEWLEV LEA ALIENDATA(PC),A1 MOVE.B 5(A1),D0 BEQ.S NAP CMP.B #1,D0 ;DELAY DONE BEQ.S HOPE SUBQ.B #1,5(A1) ;WAIT NAP RTS HOPE JSR SHIELD1 add.b #32,$466 bcc nope MOVE.L UPTO,A0 LEA (A1),A2 YUP MOVE.B (A0)+,D0 OR.B D0,(A2)+ MOVE.B (A0)+,D0 OR.B D0,(A2)+ MOVE.B (A0)+,D0 OR.B D0,(A2)+ MOVE.B (A0)+,D0 OR.B D0,(A2)+ MOVE.B (A0)+,D0 OR.B D0,(A2)+ MOVE.L A0,UPTO ** TWO CONSEC $FF'S=END OF DEF CMP.B #$FF,(A0)+ BNE.S DAL CMP.B #$FF,(A0) BNE.S DAL *** NEW LEVEL *** CLR.B 5(A1) ;DONE BSR FLAGS LEA STARTSPEED(PC),A0 MOVE (A0),D0 SUBQ #4,D0 CMP #28,D0 BGT.S SED MOVEQ #44,D0 SED MOVE D0,(A0) MOVE D0,-2(A0) SUBQ #4,D0 MOVE D0,STOMPS MOVE #1,STOMPS+2 BPL.S DAL MOVE #0,(A0) DAL RTS  TIMEOUT DC.W 0 ;-6 SPD DC.B 0,0 ;-4 DC.W 0 STARTSPEED DC.W 0 SPEEDS DC.W 7,0 DC.W 6,0 DC.W 5,0 DC.W 4,32768 DC.W 3,0 DC.W 2,0 DC.W 1,32768 DC.W 1,0 DC.W 0,32768 DC.W 0,16384 DC.W 0,8192 DC.W 0,4096 * DEF1 DC.B %110 DC.B %10 DC.B %0 DC.B %0 DC.B %0 DC.B %0010 DC.B %010 DC.B %10 DC.B %0 DC.B %0 DC.B %00010 DC.B %0010 DC.B %010 DC.B %10 DC.B %0 DC.B %01000 DC.B %00010 DC.B %0010 DC.B %010 DC.B %10 DC.B %0100 DC.B %01000 DC.B %00010 DC.B %0010 DC.B %010 DC.B %010 DC.B %0100 DC.B %01000 DC.B %00010 DC.B %0010 DC.B %01 DC.B %010 DC.B %0100 DC.B %01000 DC.B %00010 DC.B %0 DC.B %01 DC.B %010 DC.B %0100 DC.B %01000 DC.B %0 DC.B %0 DC.B %01 DC.B %010 DC.B %0100 DC.B %0 DC.B %0 DC.B %0 DC.B %01 DC.B %010 DC.B %0 DC.B %0 DC.B %0 DC.B %0 DC.B %01 DC.B $FF,$FF *** DEF2 DC.B %10 DC.B %0 DC.B %0 DC.B %0 DC.B %01 DC.B %010 DC.B %0 DC.B %0 DC.B %0 DC.B %010 DC.B %0010 DC.B %0 DC.B %0 DC.B %0 DC.B %0100 DC.B %00010 DC.B %0 DC.B %0 DC.B %0 DC.B %01000 DC.B %01000 DC.B %0 DC.B %0 DC.B %0 DC.B %00010 DC.B %0100 DC.B %0 DC.B %0 DC.B %0 DC.B %0010 DC.B %010 DC.B %0 DC.B %0 DC.B %0 DC.B %010 DC.B %01 DC.B %0 DC.B %0 DC.B %0 DC.B %10 DC.B %0 DC.B %01 DC.B %0 DC.B %10 DC.B %0 DC.B %0 DC.B %0 DC.B %101 DC.B %0 DC.B %0 DC.B %0 DC.B %10 DC.B %0 DC.B %01 DC.B %0 DC.B %0 DC.B %010 DC.B %0 DC.B %010 DC.B %0 DC.B %0 DC.B %0010 DC.B %0 DC.B %0100 DC.B %0 DC.B %0 DC.B %00010 DC.B %0 DC.B %01000 DC.B %0 DC.B %0 DC.B %01000 DC.B %0 DC.B %00010 DC.B %0 DC.B %0 DC.B %0100 DC.B %0 DC.B %0010 DC.B %0 DC.B %0 DC.B %010 DC.B %0 DC.B %010 DC.B %0 DC.B %0 DC.B %0 DC.B %01010 DC.B %0 DC.B %0 DC.B %0 DC.B %0 DC.B %00100100 DC.B %0 DC.B %0 DC.B %0 DC.B %0 DC.B %00011000 DC.B %0 DC.B %0 DC.B $FF,$FF DEF3 DC.B %0 DC.B %0 DC.B %00011000 DC.B %0 DC.B %0 DC.B %0 DC.B %00100 DC.B %00100100 DC.B %00100 DC.B %0 DC.B %010 DC.B %01010 DC.B %01010 DC.B %01010 DC.B %010 DC.B %101 DC.B %101 DC.B %101 DC.B %101 DC.B %101 DC.B %0 DC.B %0 DC.B %0 DC.B %0 DC.B %0 DC.B $FF,$FF DEF4 DC.B %10 DC.B %0 DC.B %0 DC.B %0 DC.B %01 DC.B %010 DC.B %10 DC.B %0 DC.B %0 DC.B %0 DC.B %0010 DC.B %010 DC.B %10 DC.B %0 DC.B %01 DC.B %00010 DC.B %0010 DC.B %010 DC.B %101 DC.B %010 DC.B %01000 DC.B %00010 DC.B %00101 DC.B %01010 DC.B %10100 DC.B %01000 DC.B %00010001 DC.B %00100010 DC.B %01000100 DC.B %10001000 DC.B %0101 DC.B %01010 DC.B %00010100 DC.B %00101000 DC.B %01010 DC.B %010 DC.B %0100 DC.B %01000 DC.B %00010 DC.B %0010 DC.B $FF,$FF DEF5 DC.B %101 DC.B %0 DC.B %0 DC.B %0 DC.B %0 DC.B %01010 DC.B %101 DC.B %0 DC.B %0 DC.B %0 DC.B %00100100 DC.B %01010 DC.B %101 DC.B %0 DC.B %0 DC.B %00011000 DC.B %00100100 DC.B %01010 DC.B %101 DC.B %0 DC.B %0 DC.B %00011000 DC.B %00100V100 DC.B %01010 DC.B %101 DC.B %0 DC.B %0 DC.B %00011000 DC.B %00100100 DC.B %01010 DC.B %0 DC.B %0 DC.B %0 DC.B %00011000 DC.B %00100100 DC.B %0 DC.B %0 DC.B %0 DC.B %0 DC.B %00011000 DC.B $FF,$FF DEF6 DC.B %10 DC.B %0 DC.B %10 DC.B %0 DC.B %10 DC.B %010 DC.B %0 DC.B %010 DC.B %0 DC.B %010 DC.B %0010 DC.B %0 DC.B %0010 DC.B %0 DC.B %0010 DC.B %00010 DC.B %0 DC.B %00010 DC.B %0 DC.B %00010 DC.B %01000 DC.B %0 DC.B %01000 DC.B %0 DC.B %01000 DC.B %0100 DC.B %0 DC.B %0100 DC.B %0 DC.B %0100 DC.B %010 DC.B %0 DC.B %010 DC.B %0 DC.B %010 DC.B %01 DC.B %0 DC.B %01 DC.B %0 DC.B %01 DC.B %0 DC.B %01 DC.B %0 DC.B %01 DC.B %0 DC.B %0 DC.B %010 DC.B %0 DC.B %010 DC.B %0 DC.B %0 DC.B %0100 DC.B %0 DC.B %0100 DC.B %0 DC.B %0 DC.B %01000 DC.B %0 DC.B %01000 DC.B %0 DC.B %0 DC.B %00010 DC.B %0 DC.B %00010 DC.B %0 DC.B %0 DC.B %0010 DC.B %0 DC.B %0010 DC.B %0 DC.B %0 DC.B %010 DC.B %0 DC.B %010 DC.B %0 DC.B %0 DC.B %10 DC.B %0 DC.B %10 DC.B %0 DC.B $FF,$FF DEF7 DC.B %0010 DC.B %010 DC.B %01001110 DC.B %01010 DC.B %0010 DC.B %0 DC.B %0 DC.B %0 DC.B %0 DC.B %0 DC.B %0 DC.B %0 DC.B %0 DC.B %0 DC.B %0 DC.B %0 DC.B %0 DC.B %0 DC.B %0 DC.B %0 DC.B %0 DC.B %0 DC.B %0 DC.B %0 DC.B %0 DC.B %101 DC.B %0 DC.B %0 DC.B %0 DC.B %101 DC.B %1101 DC.B %101 DC.B %10110001 DC.B %10101 DC.B %1101 DC.B $FF,$FF DEF8 DC.B %1 DC.B %101 DC.B %101 DC.B %101 DC.B %1 REPT 4 DCB.B 5,0 ENDR ; DC.B 0,0,0,0 DC.B %0 DC.B %010 DC.B %01010 DC.B %010 DC.B %0 DC.B %0 DC.B %0 DC.B %0 DC.B %0 DC.B %0 DC.B %0 DC.B %0 DC.B %00100 DC.B %0 DC.B %0 DC.B $FF,$FF * LASTEX1 DC.L 0 ;-94 HOX DC.W 0 ;-90 # FRAMES EXPLODE ON LASTEX DC.L 0 ;-88 HOZ DC.W 0 ;-84 HIZ DC.W 0 ;-82 HAZ DC.L 0 ;-80 EXD DC.W 0 ;-76 DIB DC.B 0,0 ;-74 MULT ;-72 DC.W 0,2*60,4*60 DC.W 6*60,8*60,10*60,12*60,14*60 STOMPS DC.W 32 ;-56 DC.W 32 ;-54 STOMP DC.L SAMSTART5,SAM5END ;-52 DC.L SAMSTART6,SAM6END ;-44 DC.L SAMSTART7,SAM7END ;-36 DC.L SAMSTART8,SAM8END ;-28 SAMPT DC.L 0 ;-20 LARTAL DC.L 0 ;-16 VERT DC.L MOD*20 ;-12 HORZ DC.L 0 ;-8 FLAGH DC.W 0,8192 ;SPEED OF ALIENS ALIENDATA DC.B 0 DC.B 0 DC.B 0 DC.B 0 DC.B 0 DC.B 0 ;FLAG FOR LEVEL FIN EVEN AMV DC.L 0 ;0 BOTM DC.L 0 ;4 HORZ11 DC.W 0 ;8 LOG DC.B 0,0 ;10 DEFMISL DC.L 0 ;12 DEFMASK DC.L 0 ;16 DEFMIS DC.L 0 ;20 DEFMAS DC.L 0 ;24 AMV1 DC.L 0 ;0 DC.L 0 ;4 DC.W 0 ;8 DC.B 0,0 ;10 DC.L 0 ;12 DC.L 0 ;16 DC.L 0 ;20 DC.L 0 ;24 DEAD DS.W 1 ;28 GAMOV DC.W 0 ;30 ENDAT * FOR A LAUGH * MESS1 LEA GAMBER(PC),A6 REPT 4 ;ONLY THE FIRST JUMPS! MOVE (A6)+,D0 ASL #2,D0 MOVE.L (A6)+,A0 JSR (A0,D0) ENDR ALIENMISSILE MOVE.B $466.W,D6 ADDQ.B #3,$466.W LEA AMV(PC),A2 bra.s la ALIENMISSILE1 MOVE.B $466.W,D6 LEA AMV1(PC),A2 ADDQ.B #8,31(A2) BCC.S LA MOVE.L FLASH,A0 NOT.B (A0) la TST.L (A2) ;MISSILE ON? BEQ INITMISS ;NO LEA DEAD(PC),A5 MOVE.L (A2),A0 ;SCREEN POS MISSILE LR BTST #0,D6 BEQ.S DF1 MOVE.L 20(A2),D0 MOVE.L 24(A2),D2 BRA.S DF2 DF1 MOVE.L 12(A2),D0 ;DEF MOVE.L 16(A2),D2 ;MASK DF2 move.l d0,d3 ;def move.l d2,d4 swap d3 swap d4 ADD.L #MOD,(A2) AND D2,-MOD*7(A0) AND D4,-MOD*7-8(A0) TST.L 4(A2) ;BOTM BNE.S WOW CMP.L #SCREEN+MOD*$D7,A0 BLT.S GOG MOVE.B #19,10(A2) ;LOG MOVE.L A0,4(A2) ;BOTM @WOW * MOD 160 MISSILE * SUBQ.B #1,10(A2) ;LOG BEQ DOFF CMP.L #SCREEN+MOD*$EB,A0 BGT DOFF ROL.L #4,D0 ROL.L #4,D2 *** ANY DETECT MEANS DEATH *** MOVE.L 4(A2),A1 OR D0,2+-8*3(A1) move -8*3(a1),d7 and d0,d7 beq.s notdead TST.B 1(A5) BNE.S NOTDEAD ST.B (A5) notdead SWAP D0 OR D0,2+-8*4(A1) move -8*4(a1),d7 and d0,d7 beq.s notdead1 TST.B 1(A5) BNE.S NOTDEAD1 ST.B (A5) notdead1 AND D2,2-160*6-8*3(A1) SWAP D2 AND D2,2-160*6-8*4(A1) ADD.L #160,4(A2) ;BOTM RTS GOG TST.B 11(A2) LOG+1 BNE.S D1F * MOVE (A0),D1 ;DETECT MOVE -8(A0),D5 ;DETECT OR D0,(A0) OR D3,-8(A0) AND D3,D5 BNE.S FF1 AND D0,D1 BEQ.S FFQ FF1 and.b #1,d6 ;$469 addq #7,d6 MOVE.B D6,11(A2) LOG+1 CMP.L #SAM1END,CHAN2 BLT.S FFQ MOVE.L #SAMSTART10+3500,CHAN2 MOVE.L #SAM10END,CHAN2END FFQ RTS D1F SUBQ.B #1,11(A2) LOG+1 BEQ.S DOFF AND D2,MOD(A0) AND D4,-8+MOD(A0) RTS DOFF MOVE.L #0,(A2) ;FLAG OFF AND D2,-MOD*6(A0) AND D4,-8-MOD*6(A0) ; OR #%1010101010101010,D2 ; OR #%1010101010101010,D4 ; AND D2,MOD(A0) ; AND D4,-8-MOD(A0) RTS * TOF=5*(24*mod) TIF=mod*10 INITMISS TST.B FIRED ;DONT FIRE TIL FIRED UPON! BEQ.S GAG1 TST DEAD BNE.S GAG1 BTST.B #4,$469.W BEQ.S GAG1 CMP #4,STARTSPEED-2 BLT.S GAG1 ;NO MISSILES IF FAST ADDQ.B #1,$469 LEA ALIENDATA(PC),A0 LEA -8*15+SCREEN+TOF+4-TIF,A1 ;BOTTOM ROW OF ALIENS ADD.L VERT(PC),A1 * FIND VERT FOR MISSILE * * ROW 5 DOWN * MOVE.B 4(A0),D1 BNE.S B1 ;ALIEN FOUND SUB.L #24*MOD,A1 ;NEXT ALIEN UP * ROW 4 DOWN * MOVE.B 3(A0),D1 BNE.S B1 ;ALIEN FOUND SUB.L #24*MOD,A1 ;NEXT ALIEN UP * ROW 3 DOWN * MOVE.B 2(A0),D1 BNE.S B1 ;ALIEN FOUND SUB.L #24*MOD,A1 ;NEXT ALIEN UP * ROW 2 DOWN * MOVE.B 1(A0),D1 BNE.S B1 ;ALIEN FOUND SUB.L #24*MOD,A1 ;NEXT ALIEN UP * ROW 1 DOWN * MOVE.B (A0),D1 BNE.S B1 ;ALIEN FOUND GAG1 RTS ;ALL INVADERS OFF B1 * * D1 CONTAINS BIT MAP OF ALIENS IN THIS ROW CMP.L #SCREEN+MOD*$D0,A1 BGT.S GAG1 MOVE HBASE(PC),D0 AND #7,D6 MOVEQ #7,D4 SUB D6,D4 MOVE D6,D5 ASL #4,D4 ADD D4,D0 BTST D6,D1 BNE.S GAL RTS ;NOT FOUND GAL CMP #144,D0 BLT.S GAG1 CMP #288,D0 BGT.S GAG1 ADD D0,A1 MOVE.L A1,(A2) ;SCREEN START FOR MISSILE MOVE HORZ(PC),D0 AND #15,D0 MOVE.L #%01110,D3 MOVE.L #%101,D2 ROR.L D0,D3 ROR.L D0,D2 MOVE.L D3,12(A2) ;DEF MOVE.L D2,16(A2) ;MASK MOVE.L #%010,D3 MOVE.L #%10001,D2 ROR.L D0,D3 ROR.L D0,D2 MOVE.L D3,20(A2) ;DEF MOVE.L D2,24(A2) ;MASK ADDQ.B #1,LR+3 AND.B #7,LR+3 MOVE.L #0,4(A2) CMP.L #SAM1END,CHAN2 BLT.S DAX MOVE.L #SAMSTART9,CHAN2 MOVE.L #SAM9END,CHAN2END DAX RTS * ALSHIP INCBIN ALSHIP.DAT ALSHIP1 INCBIN ALSHIP1.DAT ALSHIP2 INCBIN ALSHIP2.DAT ALSHIP3 INCBIN ALSHIP3.DAT FLAGSCORE DC.W 0 ;-4 DC.W 1 ;-2 COUNT ON MOTH DC.W 0 ;HORIZ ;0 DC.W 0 ;HORIZ ADD ;2 DC.W 0,96,192,288,384,480,576,672 DC.W 0 ;20 * DC.L ALSHIP1 ;22 DC.L $10001 ;START POS -ADDITION FLAG DC.L $5550677 ;COL 2-3 TOP DC.W 10,$333 ;SCORE, COL 1 DC.L $220055 ;COL 1-2 BOT DC.W 10,$770 ;SCORE, COL 3 DC.L 0 ;NOTHING DC.L 0 ;NOTHING DC.L ALSHIP3 ;22 DC.L $10001 ;START POS -ADDITION FLAG DC.L $5550677 ;COL 2-3 TOP DC.W 10,$333 ;SCORE, COL 1 DC.L $220055 ;COL 1-2 BOT DC.W 10,$770 ;SCORE, COL 3 DC.L 0 ;NOTHING DC.L 0 ;NOTHING DC.L ALSHIP1 DC.W $19F,-1 DC.L $50007 ;COL 2-3 TOP DC.W 10,$2 ;SCORE, COL 1 DC.L $310052 ;COL 1-2 BOT DC.W 10,$73 ;SCORE, COL 3 DC.L 0 ;NOTHING DC.L 0 ;NOTHING DC.L ALSHIP1 DC.L $10002 DC.L $5200740 ;COL 2-3 TOP DC.W 10,$310 ;SCORE, COL 1 DC.L $1010304 ;COL 1-2 BOT DC.W 10,$406 ;SCORE, COL 3 DC.L 0 ;NOTHING DC.L 0 ;NOTHING DC.L ALSHIP DC.W $19F,-1 DC.L $5450767 ;COL 2-3 TOP DC.W 10,$212 ;SCORE, COL 1 DC.L $230045 ;COL 1-2 BOT DC.W 10,$67 ;SCORE, COL 3 DC.L 0 ;NOTHING DC.L 0 ;NOTHING DC.L ALSHIP2 ;22 DC.L $10001 ;START POS -ADDITION FLAG DC.L $550770 ;COL 2-3 TOP DC.W 10,$330 ;SCORE, COL 1 DC.L $2220444 ;COL 1-2 BOT DC.W 10,$777 ;SCORE, COL 3 DC.L 0 ;NOTHING DC.L 0 ;NOTHING DC.L ALSHIP DC.L $20001 DC.L $3500570 ;COL 2-3 TOP DC.W 10,$120 ;SCORE, COL 1 DC.L $310052 ;COL 1-2 BOT DC.W 15,$73 ;SCORE, COL 3 DC.L 0 ;NOTHING DC.L 0 ;NOTHING DC.L ALSHIP1 DC.L $10001 DC.L $50007 ;COL 2-3 TOP DC.W 10,$2 ;SCORE, COL 1 DC.L $310052 ;COL 1-2 BOT DC.W 10,$73 ;SCORE, COL 3 DC.L 0 ;NOTHING DC.L 0 ;NOTHING DC.L ALSHIP DC.L $3330002 DC.L $50007 ;COL 2-3 TOP DC.W 15,$2 ;SCORE, COL 1 DC.L $1310252 ;COL 1-2 BOT DC.W 20,$373 ;SCORE, COL 3 DC.L 0 ;NOTHING DC.L 0 ;NOTHING DC.L ALSHIP3 DC.L $19F0FFFE DC.L $150027 ;COL 2-3 TOP DC.W 15,$2 ;SCORE, COL 1 DC.L $3130525 ;COL 1-2 BOT DC.W 10,$737 ;SCORE, COL 3 DC.L 0 ;NOTHING DC.L 0 ;NOTHING DC.L ALSHIP1 DC.L $19F0FFFE DC.L $50007 ;COL 2-3 TOP DC.W 15,$2 ;SCORE, COL 1 DC.L $310052 ;COL 1-2 BOT DC.W 10,$73 ;SCORE, COL 3 DC.L 0 ;NOTHING DC.L 0 ;NOTHING DC.L ALSHIP3 DC.W $19F,-2 DC.L $4050607 ;COL 2-3 TOP DC.W 20,$102 ;SCORE, COL 1 DC.L $310052 ;COL 1-2 BOT DC.W 10,$73 ;SCORE, COL 3 DC.L 0 ;NOTHING DC.L 0 ;NOTHING * DOSHIP LEA MOTH(PC),A0 MOVE (A0),D0 ;HZ BMI INITSHIP ;NO SHIP ON ADD 2(A0),D0 ;INC HZ POS BPL.S OKA KNOCKOFF MOVE #$100,D0 ;+5 SECONDS MOVE.B $469.W,D0 MOVE D0,-2(A0) ;TIME TIL NEXT SHIP MOVE.L #SAM4END,CHAN3END MOVE.L #SAM4END,RORS+2 ;SHIP SOUND OFF MOVE #-1,(A0) ;OFF TST.B GLOW BNE.S WIJ ;WAS SHOT ** IF MISSED ZERO BONUS ** MOVE #16,BONUSP ;SO CLR BONUS MOVE.L #$130013,D0 MOVE.L D0,L300500+2 MOVE.L D0,L100200+2 MOVE.L #SCREEN-16,FLASH RTS WIJ MOVE.B #0,GLOW RTS OKA CMP #460,D0 BGT.S KNOCKOFF ;OFF MOVE D0,(A0) MOVE D0,D1 LSR #1,D0 AND #$F-7,D0 AND #14,D1 BIGLIT ;SELF MOD CODE LEA ALSHIP,A1 ;DEF ADD 4(A0,D1),A1 ;SHIFT LEA -16+SCREEN+MOD*10,A0 ;SCREEN ADD D0,A0 MOVEM.L (A1)+,D0-D7/A2-A5 MOVE.L D0,(A0) MOVE.L D1,8(A0) MOVE.L D2,16(A0) MOVE.L D3,MOD(A0) MOVE.L D4,MOD+8(A0) MOVE.L D5,MOD+16(A0) MOVE.L D6,MOD*2(A0) MOVE.L D7,MOD*2+8(A0) MOVE.L A2,MOD*2+16(A0) MOVE.L A3,MOD*3(A0) MOVE.L A4,MOD*3+8(A0) MOVE.L A5,MOD*3+16(A0) MOVEM.L (A1)+,D0-D7/A2-A6 MOVE.L D0,MOD*4(A0) MOVE.L D1,MOD*4+8(A0) MOVE.L D2,MOD*4+16(A0) MOVE.L D3,MOD*6(A0) MOVE.L D4,MOD*6+8(A0) MOVE.L D5,MOD*6+16(A0) MOVE.L D6,MOD*7(A0) MOVE.L D7,MOD*7+8(A0) MOVE.L A2,MOD*7+16(A0) MOVE.L A3,MOD*8(A0) MOVE.L A4,MOD*8+8(A0) MOVE.L A5,MOD*8+16(A0) TST.B GLOW BNE GLOWING RTS INITSHIP SUBQ #1,-2(A0) BEQ.S SETON RTS SETON ADDQ #8,20(A0) MOVE 20(A0),D0 AND #%10,D0 ;IN MULTIPLES OF 32 CMP #11*32,D0 BLT.S SIG MOVE #0,20(A0) SIG MOVEM.L 22(A0,D0),D0-D5 MOVE.L D2,CL2+2 ;TOP COLORS 2-3 MOVE D3,CL1+4 MOVE D3,C89+4 ;COL 9 AVOID CLASHES MOVE.L D2,C10+2 ;COL 10-11 MOVE.L D4,CL3+2 ;TOP COLOR MOVE D5,CL4+2 SWAP D3 ;FLAGSCORE MOVE D3,-4(A0) ;BONUS SCORE SERVES AS FLAG THAT SHIP IS ON MOVE.L D0,BIGLIT+2 ;S-M-C DEF FOR SHIP MOVE.L D1,(A0) LEA SAMSTART11,A0 MOVE.L A0,RORS+2 MOVE.L A0,CHAN3 MOVE.L #SAM11END,CHAN3END RTS GLOWER DC.W $300,$500,$700,$500,$300 GLOWING ADD.B #64,GLOW+1 BCC.S DCCC MOVE RED(PC),D0 SUBQ #2,D0 BPL.S OIA MOVEQ #6,D0 OIA MOVE.L GLOWER(PC,D0),D1 MOVE D0,RED MOVE D1,D0 MOVE.L D1,CL3+2 ;TOP COLOR 1-2 MOVE D0,CL4+2 ;COL 3 MOVE.L D1,CL2+2 ;BOT COLORS 2-3 MOVE D0,CL1+4 ;COL 1 MOVE D0,C89+4 ;COL 9 AVOID CLASHES MOVE.L D1,C10+2 ;COL 10-11 DCCC RTS RED DC.W 0 GLOW DC.B 0,0 GAMBER DC.W 0 DC.L MESS DC.W 2 ;THESE 4 FOR NOTHING DC.L DOSHIP ; DC.W 3 ; DC.L INITSHIP ** DO THIS ONCE ONLY ** MESS MOVE #$2700,SR *** MFP INTERRUPT ENABLE *** LEA $FA09.W,A0 BCLR #3,$FA17.W ;AEI MOVE.B (A0),D0 AND #%110,D0 ;KEYBOARD AND DMA ONLY MOVE.B D0,(A0) MOVE.B D0,8(A0) CLR.B -2(A0) ;ALL OFF CLR.B 6(A0) ;2 CLR.L $426.W CLR.L $42A.W CLR.L $43A.W * LEA $100.W,A3 MOVE.L A1,-$90(A3) ;vbi MOVE.L A2,-$DC(A3) ;TRACE MOVE.L A2,(A3)+ ;a2=rte MOVE.L A2,(A3)+ MOVE.L A2,(A3)+ MOVE.L A2,(A3)+ ;blit done MOVE.L A2,(A3)+ ;timer d MOVE.L A2,(A3)+ ;timer c addq.l #8,a3 ;miss keyboard+dma MOVE.L A2,(A3)+ ;timer b MOVE.L A2,(A3)+ ;rs232 MOVE.L A2,(A3)+ ;rs232 MOVE.L A2,(A3)+ ;rs232 MOVE.L A2,(A3)+ ;rs232 MOVE.L A2,(A3)+ ;timer a MOVE.L A2,(A3)+ ;ring MOVE.L A2,(A3) ;monitor detect MOVE.L (A7)+,D0 ;POP RETURN MOVE #$2300,SR * LEA SAMSTART1(PC),A0 LEA ENDEND1,A1 MOVEQ #8,D1 MOVEQ #5,D2 MOVEQ #15,D3 MIOD MOVE.B (A0),D0 LSR.B D2,D0 ADD.B D1,D0 AND.B D3,D0 MOVE.B D0,(A0)+ CMP.L A1,A0 BLT.S MIOD RTS * printscore LEA 9+SCREEN+MOD*230+160*7,A4 ;COL 1 lea sfond(pc),a0 lea result+2(PC),a1 moveq #5,d1 moveq #1,d7 digit moveq #0,d0 move.b (a1)+,d0 asl #3,d0 lea (a0),a2 add d0,a2 moveq #2,d6 lea (a4),a3 tyu MOVE.B (A2)+,D0 MOVE.B D0,-2(A3) COL 15 MOVE.B D0,(A3) MOVE.B D0,2(A3) MOVE.B D0,4(A3) lea 160(a3),a3 dbra d6,tyu moveq #2,d6 tyu1 MOVE.B (A2)+,-2(A3) ;-2=COL 1 lea 160(a3),a3 dbra d6,tyu1 eor #6,d7 add d7,a4 dbra d1,digit LIM rts sfond incbin smalfont.dat * SAMSTART0 INCBIN D:\OVERSCAN.INV\TINK.SPL SAM0END DCB.B 500,0 SAMSTART1 INCBIN D:\OVERSCAN.INV\FIRE2.SPL SAM1END DCB.B 500,0 SAMSTART2 INCBIN D:\OVERSCAN.INV\ALI_DIE.SPL SAM2END DCB.B 500,0 SAMSTART3 INCBIN D:\OVERSCAN.INV\ALIENDIE.SPL SAM3END DCB.B 500,0 SAMSTART4 INCBIN D:\OVERSCAN.INV\SHIP1.SPL SAM4END DCB.B 500,0 SAMSTART5 INCBIN D:\OVERSCAN.INV\STOMPD.SPL SAM5END DCB.B 500,0 SAMSTART6 INCBIN D:\OVERSCAN.INV\STOMPC.SPL SAM6END DCB.B 500,0 SAMSTART7 INCBIN D:\OVERSCAN.INV\STOMPA1.SPL SAM7END DCB.B 500,0 SAMSTART8 INCBIN D:\OVERSCAN.INV\STOMPA.SPL SAM8END DCB.B 500,0 SAMSTART9 INCBIN D:\OVERSCAN.INV\AFIRE.SPL SAM9END DCB.B 500,0 SAMSTART10 INCBIN D:\OVERSCAN.INV\EXPLODE.SPL SAM10END DCB.B 500,0 SAMSTART11 INCBIN D:\OVERSCAN.INV\SHIP.SPL SAM11END DCB.B 500,0 ENDEND1 DC.L 0 HANG DC.L ASA,ASA,EXIT,EXIT DC.L START,FLAGS,PLIVES TWINKLESTARS LEA SAVEM,A0 SUBQ #1,-2(A0) ;TIME TO PUT BACK ON? BMI.S RESTORE SUBQ #1,-16(A0) ;TIME TO PUT BACK ON? BMI.S RESTORE1 SUBQ #1,-30(A0) ;TIME TO PUT BACK ON? BMI.S RESTORE2 RTS RESTORE CLR.B DEAD+1 MOVEM.L -14(A0),D0/A1-A2 ;PIXEL/POINTER/SCREEN OR D0,(A2) ;LAST STAR BACK ON MOVE.B $469.W,D1 AND #15,D1 ADDQ #8,D1 MOVE D1,-2(A0) ;NEW DELAY 'TIL BACK ON *** SWITCH NEXT STAR OFF *** CMP.L #PIXELS-4,A1 BLT.S NOW LEA SAVEM,A1 ;BACK AT START NOW MOVE.L 200*4(A1),D0 ;NEW PIXEL OF STAR MOVE.L (A1)+,A2 ;SCREEN POS MOVEM.L D0/A1-A2,-14(A0) ;SAVE NEW PIX/INDEX/SCREEN *** SWITCH NEXT START OFF *** NOT D0 AND D0,(A2) ;STAR OFF RTS RESTORE1 MOVEM.L -28(A0),D0/A1-A2 ;PIXEL/POINTER/SCREEN OR D0,(A2) ;LAST STAR BACK ON MOVE.B $469.W,D1 AND #7,D1 ADDQ #4,D1 MOVE D1,-16(A0) ;NEW DELAY 'TIL BACK ON *** SWITCH NEXT STAR OFF *** CMP.L #PIXELS-4,A1 BLT.S NOW1 LEA SAVEM,A1 ;BACK AT START NOW1 MOVE.L 200*4(A1),D0 ;NEW PIXEL OF STAR MOVE.L (A1)+,A2 ;SCREEN POS MOVEM.L D0/A1-A2,-28(A0) ;SAVE NEW PIX/INDEX/SCREEN *** SWITCH NEXT START OFF *** NOT D0 AND D0,(A2) ;STAR OFF RTS RESTORE2 MOVEM.L -42(A0),D0/A1-A2 ;PIXEL/POINTER/SCREEN OR D0,(A2) ;LAST STAR BACK ON MOVE.B $469.W,D1 AND #15,D1 ADDQ #7,D1 MOVE D1,-30(A0) ;NEW DELAY 'TIL BACK ON *** SWITCH NEXT STAR OFF *** CMP.L #PIXELS-4,A1 BLT.S NOW2 LEA SAVEM,A1 ;BACK AT START NOW2 MOVE.L 200*4(A1),D0 ;NEW PIXEL OF STAR MOVE.L (A1)+,A2 ;SCREEN POS MOVEM.L D0/A1-A2,-42(A0) ;SAVE NEW PIX/INDEX/SCREEN *** SWITCH NEXT START OFF *** NOT D0 AND D0,(A2) ;STAR OFF RTS * SHOWVOL LEA VOLSA(PC),A5 MOVE (A5),D0 SUB #12,D0 BPL.S WEND MOVEQ #36,D0 WEND MOVEQ #0,D1 MOVE D0,(A5)+ MOVEM.L (A5,D0.W),D2/A0/A1 ;VOL-CHAN-SCREEN MOVE.L (A0),A0 MOVE.B (A0),D1 ;VOL CHANx * TST D2 BEQ.S SSL SUBQ #1,D2 SSL SUBQ #8,D1 BMI.S KANG ASL #2,D1 OR D1,D2 KANG MOVE D2,(A5,D0) ;VOL AND #15,D1 ASL #2,D2 MOVE.L 48(A5,D2.W),D1 MOVE D1,8(A1) MOVE D1,168(A1) SWAP D1 MOVE D1,(A1) MOVE D1,160(A1) RTS VOLSA DC.W 0 DC.L 0,CHAN1 DC.L 24+2+SCREEN+MOD*228+160*3 DC.L 0,CHAN2 DC.L 24+2+2+SCREEN+MOD*228+160*7 DC.L 0,CHAN3 DC.L 24+4+2+SCREEN+MOD*228+160*11 DC.L 0,CHAN4 DC.L 24+6+2+SCREEN+MOD*228+160*15 DC.L %01 DC.L %011 DC.L %0111 DC.L %01 DC.L %01 DC.L %01 DC.L %01 DC.L %00 1 DC.L %01 DC.L %01 DC.L %01 DC.L %01 DC.L %01 DC.L %01 DC.L %01 DC.L %01 DC.L %01 DC.L %01 DC.L %0 1 DC.L %0 1 DC.L %0 1 DC.L %0 1 DC.L %0 1 DC.L %01 DC.L %01 DC.L %01 DC.L %01 DC.L %01 DC.L %0001 DC.L %001 DC.L %01 DC.L %1 * * * UPT DC.L 16+SCREEN+MOD*$D9+160*8 LAS DC.L 0 DEATH SUBQ #1,LIVES JSR PLIVES DEATH1A CLR.L $466 MOVE.L LASTSHIP,LAS MOVE.L #-16+SCREEN-MOD*8,ALT9+2 MOVE.L #-16+SCREEN-MOD*8,LASTSHIP LEA SAMSTART10(PC),A0 LEA SAM10END(PC),A1 MOVE.L CHAN3END,-(SP) MOVE.L RORS+2,-(SP) MOVE.L #SAM10END-800,CHAN3END MOVE.L A0,CHAN2 MOVE.L A1,CHAN2END LEA 120(A0),A0 MOVE.L A0,CHAN1 MOVE.L A1,CHAN1END LEA 120(A0),A0 MOVE.L A0,CHAN3 MOVE.L #SAM10END-3700,RORS+2 ;RESTA * DEATH1 JSR WTVB JSR SHOWVOL JSR TWINKLESTARS JSR ALIENMISSILE JSR ALIENMISSILE1 MOVE #$A,D7 TST.B $469 BPL.S SX ROL D7 SX REPT 14 BSR DISOLV ENDR BSR FLASHER CMP.B #57,KEY BNE DEATH1 D1W CMP.B #57,KEY BEQ.S D1W MOVE.L #16+SCREEN+MOD*$D9,ALT9+2 MOVE.L LAS(PC),A0 LEA 160*10(A0),A0 MOVEQ #0,D0 MOVEQ #7,D1 QQ MOVE D0,(A0) MOVE D0,8(A0) MOVE D0,-8(A0) MOVE D0,-16(A0) MOVE D0,16(A0) LEA -160(A0),A0 DBRA D1,QQ MOVE.L (SP),RORS+2 MOVE.L (SP)+,CHAN3 MOVE.L (SP)+,CHAN3END JSR BOP MOVE #$0001,DEAD MOVE #$0050,DEA ;DELAY DETECTION MOVE.B #1,C12+4 MOVE.B #3,C12+3 TST.B GAMOV BEQ.S LKA JMP EXIT ;GAMEOVER LKA RTS * FLASHER ADDQ.B #8,$466.W BCC.S NOFLASH NOT.B C12+4 TST LIVES BPL.S NOFLASH NOT.B C12+3 NOFLASH RTS * DISOLV MOVE.L LAS,A0 LEA 160*8(A0),A0 AND D7,(A0) AND D7,8(A0) AND D7,16(A0) AND D7,-8(A0) AND D7,-16(A0) MOVE.L UPT(PC),A1 *try to drop staright down MOVE (A1),D0 MOVE 160(A1),D3 MOVE D3,D4 OR D0,D3 AND D4,D0 MOVE D3,160(A1) MOVE D0,(A1) *try to move to rh MOVEQ #0,D0 MOVE (A1),D0 MOVE D0,D1 ROR.L D0 MOVE D0,D4 SWAP D0 OR D3,D1 ;DIRECTLY UNDER NOT D1 AND D1,D4 BEQ NOR1 OR D4,(A1) NOR1 * MOVE 8(A1),D5 OR 168(A1),D5 ;UNDER TO RH NOT D5 AND D5,D0 BEQ.S NOR ;NO RH OR D0,8(A1) SWAP D0 ROL D0 MOVE D0,(A1) NOR * *try to move to LH * MOVEQ #0,D0 MOVE (A1),D0 MOVE D0,D1 ROL.L D0 MOVE D0,D4 SWAP D0 OR D3,D1 ;DIRECTLY UNDER NOT D1 AND D1,D4 BEQ NOR2 OR D4,(A1) NOR2 * MOVE -8(A1),D5 OR 160-8(A1),D5 ;UNDER TO RH NOT D5 AND D5,D0 BEQ.S NOR3 ;NO RH OR D0,-8(A1) SWAP D0 LSR D0 MOVE D0,(A1) * NOR3 SUBQ.L #8,A1 CMP.L #16+SCREEN+MOD*$D8,A1 BGT.S TOG LEA 16+SCREEN+MOD*$D9+160*8,A1 TOG MOVE.L A1,UPT RTS PANEL LEA PAN(PC),A0 LEA 12+SCREEN+MOD*$D9+160*15,A1 MOVE #999+80,D0 IP MOVE.L (A0)+,(A1)+ DBRA D0,IP RTS RELOCATE MOVE.L 2(A0),D0 Length of PROGRAM ADD.L 6(A0),D0 ADD.L 14(A0),D0 Length of SYMBOL TABLE ; D0 contains relative position of RELOCATION TABLE LEA $1C(A0),A0 A0 Points to programs start adress move.l A0,d1 MOVE.L A0,A1 MOVE.L A1,A2 ADD.L D0,A1 Get adress of RELOCATION TABLE MOVE.L (A1)+,D0 Get the Long Word ADD.L D0,A2 ADD.L D1,(A2) Relocate it CLR.L D0 REL MOVE.B (A1)+,D0 Get next byte from table BEQ.S FIN Is it the end (zero) CMP.B #1,D0 1 is a 254 jump BEQ.S QJUMP If it is then do it ADD.L D0,A2 If not find next absolute adress ADD.L D1,(A2) and relocate it BRA.S REL Continue until the zero is found QJUMP ADD.L #254,A2 Jump 254 bytes BRA.S REL and continue FIN rts STARTCODE PAN INCBIN PANEL.DAT TITLES INCBIN D:\EXPERIME.NT\HISCORE2.PRG INT incbin D:\EXPERIME.NT\INTRO1.DAT * SECTION BSS DS.L 1 ;-42 OLD PIXEL DS.L 1 ;-38 INDEX INTO SAVEM DATA DS.L 1 ;-34 LAST SCREEN POS DONE DS.W 1 ;-30 DELAY DS.L 1 ;-28 OLD PIXEL DS.L 1 ;-24 INDEX INTO SAVEM DATA DS.L 1 ;-20 LAST SCREEN POS DONE DS.W 1 ;-16 DELAY DS.L 1 ;-14 OLD PIXEL DS.L 1 ;-10 INDEX INTO SAVEM DATA DS.L 1 ;-6 LAST SCREEN POS DONE DEA DS.W 1 ;-2 DELAY SAVEM DS.L 200 PIXELS DS.L 200 CHANGECODE 1234567890-= QWERTYUIOP[] ASDFGHJKL;'`#ZXCVBNM,./ -+ \()/*7894561230. w!"2B2CBBScTTT@@@rrr@@@U@ Uwwwp ___  @@ {zU  ௰@~ ___  |5#~  ?~???@P_Ϝ?gv?_  pW$r /???/8' @?r @/8'?;7<~ r`|~~~/@0/?0P r*xxx^pO+L~$hrEUlo@(((]pO_w'Ĵ I*v vwP? ZpO@@[mV׽کed <@/ 0PT0{^ yu_t7~wZڥT (` j<^  ߀hh WFGr~M`_??]x ETWs___`*?p@a`tws8?$@߿߿ )E?@@Tmlx|w g xxx@@$?7k/{_Am,l`|@xxx@DU? oߏ>=s  @t??^^PZ/v~|?<>a %Xd!!#` `?@f?}}m::7Ȁ.=<?? >*UR@ ,3##x x? PPP[_zz j*._>? ?$ 3|#@! ?5oxP0?> ?_Tt7'! ?vk}KQ _~ o?3W7lȃ d4 # ? }T<Bsཿ1W <H| !L ?5FGU[ʭL?o-!VShχx?w< #L ?^u_OO6-#_p|# ??OU?!%U<R?7?<??+z\ 7$o4* > @BCEo_ ,dwtV> 8B8C"}/U  ,o@`NU_R?> BC___ pp8g_goaKQho???\\\PB)Z 'ޠ_hc 3Z7?d|||._/FPo_hoA|~^ր>|[_FA.7$@??~~~B_$;????ֿ>P'o?#3< 877I ?'DoO GW7Hs΀cwKD ?0/+777  HOO2OOOHOoOOOHrpgMOKOFI?%'$oo`>!?߯0Po P .O WH_OG cxw _]OOO?￟L ?wb!O/bC-ݿIF$߆pog?>??? ^ Q]__Z___OY_W^_PNNhg]:__ʦM/--߇ro?o?4=!~BCv,v,?@VߪWWWϭoU?88jS5UJ(/>o?;d#~BC@?@9 #/Onch(?eJY[>? ?O?/>>= uu??%o`j~~<=//d Gճ?, ?@?5y'_! ~  ql ۋ{);Ec>/t9  ??  -'ϩ_9N$>p>G%{ )Lj;7ϗ7+>x3y??>`Q-l')ה̄+;h;..@hv/.){ lo=V_75? |`77??*% ,,"/K;Ջ4/Ll׏s4%(Ul׿@$( (+/VpDd; EG߷c7<4@ 0 p o PUBA>AwL*̯ )h`y)8)`R_PƼ9@)`ky)oeT}K?I΋4O`p8noP ?~>/C@(ho7`4<\}}ٞ&aa`LW||&˿{27h @885Y~@?<o.6yV$??] }E@ |\< IOq^qA_xp87D08=GnPv}8^*{[x ??^=[DDh?>R'}#}~?>a _0@0]U  /(Wy1$!__//?R 0pyJJ?.!~ 4q> #D;1:w*p@_'4 Ps?P!<~peo&y?8;A ο<GWW"ÿ@ANpyxTT𿻄w)oo4.}wh'(01?k׫֬5hf~癀0##| pPG_={1 =9)ck)<#/K)s)i& ?b0\?d BB@ Cd~dA*Rp@8d'cYo}x n{8y8<<Hgaڻ wFl?t BCk`*?D"{@[q§?.1/Bx׿8d`Ox@@dκ>DOVVhx @|) s8o=Ҁt9|?BB ?0u/ _  O HGO }ZC 9._@|@^ /J_wgt8|?BB!?3/ YCQi{Ԡ+gC?[@< |J:_= bb]t8|'?Cp ?#@Tz *x# `?@00 7`|zl??=hnߗ?" G X8?@PV_|{{eod Gx?@@עVP/|_|| +߫?(.܀'P~'п/[9/lip`WP=<`"/85 =[;{g?p; ?yo!v 'TPPcƜ999Oo3cOO__?cƜ888#*W(0?[[8_0|D`q A_x{kSN^. . o~Ӱ~,/a#]𩿁(~0\dR88~?"/xyT>߀|lT2M<<@>$__]ϡ|D G&&~` kks qqqG///HKKH pqp|xׇ8|D=4UUH Ed'd&'`i?@J;&'d&`z '88\d|n!!@@HG ?dٛh;# BB3`?B1~^|wz8C|>TCAAOtNN wpjjgro }C#N`6 ߨ~C  609 ~N~Nywp ??Z[[&I~Z0|D # !9@/[[[?4  @ 'X@*i?d?u(|DrHGLDWI@<:#} qnx7:`6o` 1!qY ߀?8|D V o;;/_#BXIfoO/3w3&)$ۇ?8|D ?n  5 @A@Dsh gh$tA?"lx9?." ??>8\d 2͗瀢Q ;70U.IѾp!GW?,x<ٿ(>"o#?X'H?zx8\d^ Bò< ?y? 970Q#'Nzx?jtwB88|lwu?4_((_cf?C^` $?d=d  S}} a~_ {*K>_=?~xcƜ999 GE~C}DGG__=!FF{vڎ' ,lL7A]?Da<@_`e^ W rAG0|D`>>? UUU/Vy@=G==Oߏ c?~~gP8s(~փH~B@< "p ߷i_yy sGߟ 4 ??" ~; {@@  3= #??~q00?s }}uG0 W//ժAU:?_XX@x/* ހh C M'E?x!4??﹤D? @X/WbbWp?ߘ'?<  tsx? F*?(<O0ӽQcl-=?’O쑸\߂ yxEO58so  ooo   o@|?y=Qι$FFЈ?a-->J(? ___@???xogCހ~t~> @8jǕG@,?#ݩO"VV`=,D?xw@^ X[???#z"07#{o m-@{?6I<x:< /{ ?uuAƀ _.u"xH@?}_z*׀8tL# B41???@@?' 4N+|GGw06Wn([?tx8d?\?^ :$D   ^C??_,||}iʀ7!xsLJ8|=D ~BC z;@;s0--oo]~O /'x<uz[C ?1 ȁ?|?D!CBC/?ȃ<< T(C C wWwWw  P [ X`30 X~=Ü; +?>c|?D Bݯ=PP55߿33_Ȁi"}՞kp߉v.D瘾*IA#\0L?D ~CBB4?=[?[¤ۿ55 c,EC7D(8Ԣ^)SC.6ԅz' ؀ \?D CBCKwB>?=+mԒTAϦ`o8Pb@9JHHhS?!\,* \D $BttG0m1ϒw;s; @op? #znlOl,Q@ XWF~;)oCٿ'Q '@D;û ?bW?w@ ǶV|7A"|#D!U   S )  :`4~Ǟ wkc  ?_TءDՎ.+v('x@O@@P8"!u?@~vv@>_oQ`a?nR*yr2"lr !t/ ba7/.Ѐ~~OW?=C~ _@@C|?ǿ$?B(Hp? >" 8A(@HaǞ?yK|w???KD~32M[賿 FBA]~BR?8Sh@%FB~/:86:݀P1?>>t}8 I<@,?cWOGx?77CF _/_p1V; ? HH7<>>>` >x<!~  @7@?<<P0>` >224ˇ|>῀~@_:_?8dDtQvv%ؠv'_92??l~p _ ~w5߀ ||?(C@JJC+_}??[2@@{{߀||? z?^Z,@/@J3J*??[Z22@@{{||BBBB?>II8880@v6?||3?CC** A$ $  //nnuu #*>I@p(a l~?xxx#`Bdp~<%=`0>0>x0>@>~@x$l<0>` ?>&>=@@(g><0>>p=P____`@`??G0> _@>?o``0o T@_`O` 00  W//߁߁oo` `oo`B 000 ߃`@`o0x 88 < pp#X8  U 88~ ?m( w?0778 8??(e  ? 88 o0 0?@(= ?<=~ =?a;88p?00?#8< WTUMU ]J_UU]ZUUZ_U?_J@U_2]0UzU?*jJUX8=  {{{``pp@@@@8=y@ @@ 888<(<@@p zp0000 @@008x=0>* 888<8<[ [ [@@ppA 0000`@@  x=Áepp PP?%  888<8, `@@@@00 0P0@@00@``??~B%88A  ?5@x8x(<~4v44?"AAA\@X@X?5fBBxx00pp  `@@@``D~[TTx?Á|?CC v}}vvFFUZ3"`@__03"({ =CC??0CA3"a@{kkBBbb`@80b@`@  80d@?< `00 KK@@TQ  T*oooo$ poo>##**pp666666777666xxxx""))666""rrp:vvv404040666666:777777:777333#}}}}9999EEEE}}}}8888` ` ` ` ȾȾȾȾ>r>r>r>r 2QAQAQAQAEEEEeeeeQQQQAAAA!!!!DDDD ,,,,     2Qy}PUy=  8JA PE0LQA F ) c8}EDD^}8 r( >##"DwU7UwVvDws=oooo$ poo>##**pp666666777666xxxx""))666""rrp:vvv404040666666:777777:777333#}}}}9999EEEE}}}}8888` ` ` ` ȾȾȾȾ>r>r>r>r 2QAQAQAQAEEEEeeeeQQQQAAAA!!!!DDDD ,,,,     2Qy}PUy=  8JA PE0LQA F ) c8}EDD^}8 r( >#7?<<<<<<<<<<<>|bb@@~~BBBB|<<~|~|||<<<<E#~  4  ~  09/a9 > 0 ii`/rr` 0! ,,` 4 a   ~ p 4 @΃@@G@y, +54`@-```6`flg -g -^8-gL(lgF&f_Y'/`g 4``_&#18p@S#+ 8 LFY'@FG M&G M#G M %F!HF@ @FF M %FM#G M&GG8HGAA@f@Y'   ZD+ 8 LFY'@ 1 &9 !@ @u  8@́@@F@Y' 2&&:b#10`@v+  MFHY'@    !@ @S %  T*:0 0 :z?_\_!8WCW    |yzWGϨW8UU??  ^|UU8Cp00p z/??????8N\= ?0> ?0\ z?:_01O:_Ӏ8WCσW4 yW , TW|z8UU$ ?? |U ??U8^C?4???:??$p00p z8N/Oπ$\ \B8ٸ(8ٸ*^5&6f]gq*^5&6f]gq*8ٸ(8ٸh~RARARARAr6~غo[J<0' ",7CNXbksz}|{{{zz{|{z{zxuqmiecaabfkotw{~ϹzhXI=3+% #+4>GQZbkqx}~|{zzyyyxwxxwusolifefgilnquy~ƳziZLA91+&!#)1:BKT\dkrx} ~}|{zyxxwvvwvtroljhggghjlptx{~xhZND;3,%! %,44,%!"&,29AHPW^djptx{~}zyxxxwwwvutrpnlkjkmnoppqqrruyøzm`SG=3+$ "'-3:AHPW^djoswz}~|zyxwwwvvutrpomkjjjkllnopqqrvzxk^RF<2*%! $(.4;BJQW^ejnrvy|}|zyxxwwwvusrpnmllklmnpqqrsuy~Ǿwj]QE;2+%!"%*/5DJNSW[_behjmpsuwy{~坠~|zxvtsqpononooppqppooonoprux}xlbVMD=62.-,.037;@EKOSWZ^begiknqsuwz|~}{zxusrpoonnnooppopnopruy~wl`VMD=731//036:>BGLQTX[^bdgiknqsuwz|~~|zxvsrponmmnoonnnmmmnnpsv{uj_ULD=84100247;?EILPTX[^acfiknpqtvy{~}zxvtsqpopopppoonnnmnoqtx{si^TKD=85312469=ADHLPTWZ]_bdgikmprtwy{~}{xvtrqqpppopoonnmmnopruy}~si_UME?:754458;>AEIMQTVY\_adfhjlnqsuxz~~|ywusrqpopoopopooonmopsvz~}rh^UMF@;87578;=@DGKOQTWZ]_acehjlnprux{~~{ywtsrqpoonnmnoqsvz{qg^UMFA<:889;<::;=>ADFILNRUWY\]`bdfgilnpsvy}}zxvtsrqqqpoonnmnopruy}ypf]UNHC@><<=>@BEHJMPRUWY[]_acefikmpsux|}zxvussrqqpppoonnmnnoqsvz~yof^VOJEC@??@ACEGILNQSUWY[]_`acegilnqtx{|zxvutsrrqqqppoonnmnortw{~ypg_WQLHEDBBCDEGIKMORTVWY[\]_acdfhknqtw{~{yvutsrrqpoonnmnpqsw{wnf^WQMIFDDCDEFHJLNPRTVXYZ]^_`bdfiknquw|~|ywvuttssrrqqpoonnnmmmoprtx{vme^XRNKHFEEFGHJKMNQRSUWYZ[\]_acdgimpsvz}~|zxwvuttssrqqpponmmmnnoqsvy|vng`ZUPLJHHGHHIKLNPQRSUWXYZZ\^_acehkorvy|~{zwvutttssrqqpoonnmmnnpqtwz~vng`ZUROLKJJJKLMOOQSTUVWXZZ[\]_bdfiknruz}}{yxvvutttsrrqpoonmmmnnprtvz}}vnga\WTPNMLLLMMOPQRSTUWXXYZ[\^_`beiloqty|~|zyxvvuttsrqpoonmlmmnnpqtwz}}unhb]XURPONOOPRSUUUVWWXYZ[\^_behjmptx|~|zyxwvuuutsrqpoonpqsux{~{unhb^YVSQPPOOOPQRSSTUVVWWXYZZ\^`bdgjmptw{~|{yxxwvvuttsrqoonopqsvx{|uoid`\XVTSRQRRRSTTUVVVWWWXXYZ\]_bdfikorwz~|{yxwwvvutsrqpoonnmnopqtvx{~|vpjea]ZWVTSSSTSTUUVVVWXXYZ\]_acfhkoswz~|{yyxwvuttrrqponmmmnopqtvy|{uojfa]ZYWVUTUUUVWXXXY[\]_adfhlosv{~}|{zxxxvvutsqpponnnooqrtvy|ztojfb_\ZXWVWVWWXYZ[]^`behknqvz~||zzyxwvutsrqpoonoopqsuwy|zuplgc`][ZXXW VWXYZ[]_adfinquy~}}{zyxxwvutsrppopprtuwz}{vplgda_][ZYXYXWXXY[\]`bdgjmrvz}||{yyxwvutrqpooonnppqsuwy|~{vqmifb`_]\[Z[ZZZYXXWXWXXYYZ\]_adfjnqvz~}|{zyxwvtsrqponopqsuvy|~{vqmjfca`^]\[[[ZZYYYXWXWWVWWXXY[\^acfimqvz~}}{{yxwvussqppoooppqrtvxz|zuqmjfdb`^^]\\[[[ZYYXWWWVVVWWXY[\]_cfimqvz~}|{zyxwutsrqpqstvxz|{vrnkhedba`_^^]\\[ZYYXXWVWXZ\]_aehmquy~}|{zxwvutrqqpoooppqstvxz}{wsoligdcba`_^^]][[ZYXXWVVVWWWXY[]_beimqv{~}|{zyxvussqqppoppprsuvxz}~zvsoligfdbba`_^^]\[ZYYXWYZ[]_cfjmrv{~}|zyxwutsrqqpppqqrstvxz|~zvspmjhfedcbaa_^^]ywqmjgda`]ZYVUSQONKIIHFDCA>=;9864220/0358=BIPXbkywaOBBVDžI7Nδ}uqpru{zvpmifc_\YUSQNJGED@?;;96541//.-,-0389630.,)'&%$%'),/37:740-*)''&%$$%&(*-048=BFMTY_ejotwz{|{yvrle_YVW\gz߳cJDNhǼ{uqje`YTPKFA>:62/,*(&$##"#$%'*-159>CIMSY^aeilnpqqpmjfb^[Z[`kzϪ]KFPhź{upje_XTNIE@<840-*'%$##"##%(*-058=AFKPUY^bfhklmmljgda]\[^cn}׶kSGJXrȿ}xsmga[VRLGB>952.,*'&$%&(*,/37;?DHLQVZ^`ceffgfdb`^]]`en|ԳoVIHSj|wqkf`ZTNJEB>951.+)'%$###$&(*-037;@DHLPSVY\^`aaa`_^]\]_clw̫kTHGSeſ|wrmf`ZUOJEA<841.+('%%$$%&)+-/269=ADHLPRUXZ\\]^^^___`chq{ջ}aPGITh}ü}xsnhb\XRMGC?:730-+)'&'(*,.147:>AEHKOQTVWYZZZ[[\]aeltjUIGN\pþzuoid_YSNJE@<852.-,+)((()*+-0247:>@DGJMOQSUVWXYZ[]`djr{ѷgUHFLWj}½}ytoic^YTNIEA=9520.+*)(())*,/1369;85320/.-../013579<>@CEGJLNPRUWZ]`dipwîn]OFCGNZhxÿ|wsnid_[WRNIFB?<975422124568:<>@CEHJLNQSUX[^bfkqyŴwdVJDCGP[hw~zvqmhc_ZVQNKGC@>;9755433344679:<>@BDFIKMPRUX[_cglrzʽpbSICBFMVdr~zvqmid`[XTPLHEB?=;976778:;>?ABDFHJMORTWZ]aejpv}Ƹo_SHBACJS^ly{xsnjfb^ZVROKHEC@?=;:988899:;=>@ADFHJLNQSUX\_chlrxötcWKDAAFLVao{}yuqlhea]YVROKIFCA?>=;;:::;<=>?ABDFHJLNQSVZ]aeinsyź}l]QGB?@DKT_lw}yvrmjfb_[WTQNLIFDCBA??>?ABDEFHJLNPRTWZ]aeimsx~{l^SIC@@CHQ[er}~{wsolieb^[XTROMKHGFDCBCDEFGIKMOQSVY\_bfjotzž}naTKD?>@CJS\hr~|xuqnkhda^[XURPNLJIGFEDEEFGHJKMNQSVY[^aehmqw}|oaVKD@>?AFMV`kt}zwsplifc`]ZXUSPNMKJIHHIIHIIJKLNOQSTVY[^adhkptyxl_TLD@>>AFLT^gqz~{wtqnjgda_][YWUSRPONMLLLKLLLMNPQSUWY\^adhloty~|pfYPHB?>?BGMV^hrz|zvspmjgeb`^[YWUSRQPOPQRSTVY[]`behlpsx|}rf[RJC@>>ADJQYaks|~{xtqolifdb`^[ZXVUTTSRSTUVWYZ]_bdgjnquzynbYOIC>==?CIOW_hqz|xvspmkifdb`^\[YXWVUVVWYY[]_acehkoruy~ti_VMGB??@AEJPX_gow~{yvsqoljhfdb`^]\[YYXYZ[\]_acfhkmqtx{wlbXPID@>=>AEJQY`ipx~|yvtromkigeca`_^]\\[\\]^_abdfhjlorux|~tkaXPIE@>=>@DIOV\dls{}zxusqomkigfecba``_``acdfgikmpruy|zqh^UOID@>>?AEJOV\cjqy}{ywtrpnmkjjhgeedcccbccdeghjloqtvy||tjbYRKFB?>>?AEJOV\dkqy~}{yvusronlkihgfeedddeeefggijkmnpsuwz}xpg_WQKEB???@BFKPV\bjqw}}{xvtsqponlkjiihijklmoqsuwz|~vnf_WQJFB@>>@BEINTZ`gmsx~|zxwutsqponmlkkjjijjjkklmnpqsuwy|xqiaZSMHEB@@@BEIMRW\chntz~{zxwvtsrqponmmmllmmnnopqrsuvxz|ztle^WRLHDBA@ABEHKQU[agmrx}}|zywvutsrrqpqqrstvwy{|~~wpjb\VPKGDA@@ABEHLQU[`ekpvz~}|zyxvvuttsrsstuvwxy{}}wpjc]WQLHFDBABBEGKOSX]bhmrw|~}|{zyyyxwwvvvuvvwwxz{|~~xslf`ZTPKHECBBBCEHLPTY^chmrx|~}|{zyxxxwxxyzz{|}{vpjd_YTPLIFEDCDEGJMPUY]bglquz~}|{{zyzz{{|}~|xrmgb]XSPLIGEDDDEGHKNRUY]bfjnrvz}|xrnid`\XTPMKJHGFGGHIKNPSVY\`cgkorvy|~zvrnjfb]ZVSPMLJHIJLMOSUX[^adhkoruxz} |xuqmieb^[XURPNLKJJIIIJKMOQSUX[^acfiloruwz|~}zwspmjfc`]ZWTRPOMMKKKLLMNOQTUXZ]_behkmortwy{}}zwtqmkgda^\YVTRPONNMLLMMNOQRTUXZ\^acfhjmortvxz|~~{xurolifc`^\YWUTRQPPOOOPPQRSTVWY[]_acfhjloqsvxz}}zwtrolifda_][YWUTSRRQPQQQRRSUVWYZ\^acegikmoqsuwy{|~ ymaUI>4*!  !*4>IUamyorcoakgsp|[\{uKq~hc?4-Nr|wӟ`-DDArztԵW>FmũdS^V;DpŧbR^R9Ft¦^S^Q8Kt¥^T]L7Lvƿ[V\H8PxǼ[VYD9VvƼ~^WTB=Uuú~_VQA?Xt|`UMBBXs|_QIDDTq|`MHFESr²}_IHIGRuį[GIJDRyŮWEKJBTzǪSDMJ@Rŧ}REMG?W¥xOFNE?\rMHMC@`ʽoOIKAC`ɼoPIG@EcƻmQHDAJdĽkSEBCLaoRAAFLanN>AHM`êoL;BKM`ŨnJ:ELK^ŤoF9FLIbġkE:HMIbßi@:JKIgždA;IJJgξe?KMV{˲uQ9>LMW~ʯvQ8?MMYɯtN8AMLZɫqO9BLL^ǪnL:CKK^ĩmJ;DJLbçmK=DILdiI=CHNfeH=BGPfƾ~cI=AHQjŽ{cH=BJTkľydH;BLUkĽzcG;CNVmžxcD:EOWlƼybB:FOVoȺy`@;JPUrȸz[?=KNUwȴyV=AKLUzȮwU>DLJXŭvQ@FKI]qQBHIJbƽlNEHFKdźgOGGEMh¸gQHDDQieRHBETk~eUGAGYkzhUFAJYjziUCAOZh{kR@CPZg{jR@ESYi}iN@ISWi~iKALSUl¸fKDNQVm~eJFNOWp}bJINNXv{_KKMNZxx\MKKM^wv^OJIO`yr^PJIRcxq_QIIUeyr`QHKWfwpbPFL[gvpbOFN\fwrbPGQ]gy}raNGR^gy}rbLHT_fz|s`KHV_f|}r_LJW`h|}r`LLX`g}r_KMY`i{q\LNZ`i|p]MOZak|o]NQ[am|n\NP[an{m]PQZcpyl^QQ[dqxl^RQ\grwm`QQ^irvm`PP_kptn`OPakptp`ORckouqaMUejovr\MVfio~xq\MZhho~yqYNZffqznYQ\efr{lZS^egvzjZU]dhxyj[W^dkywi^X\enztk_Y\goztl`X]iqz|smaW^kqy{snaW`nqxyvp_Xdoqyywo]Ygpo{zyo][joo|{zl]^kno}}yj]ajmp~yj^cjkqwiaejlsuiceimwtjefiox}slfeipy|smfeiqxztogdksyzuogeltxzvpfentw{xoegptv{xneipsw|xngjqsw}wmgkprx~wlhlpry~vmimpry}vmknps|}unknpt|}unmnpt}}tpnnpu}|uqnmqv}|vronqw}{vsonsx|{xsontx{{ysnouxz{ztmovxz}{snqwwz{snswvz{qouvuzzqqvvu{yrsvuu~wrtvtvwtvusw~wuvtty}xwvst{|yyurv|~{{yurw||{}yrry|z|yqt{{x}~xpu}zw}vpx}xx|tqz}ux}rq{{sy~qt}zs{|rw~xs~~zqx~vtxs{|uuxu|{txxx|ytyxy|wt{~y{zvv{}{{yvx|}~~}{wvy||~{ww{{zzvy|yzxv{|wyxv||vyvx~{uz~vy~yt|~v{~xu~}w|~wv|x}|vw~{y~{ux~{z}zvx~|{|zvy~}||zxz}~|{zxy}~{{zxy|{{{xx}z{|xw}}z|{ww}|z}|vw}}}{~{vx~}||~{vy}}}~zvz~}|~~xv{~|~}~}xw{~|~~|xx{}}~{xy{{}~zxzzz}|yyyxy~{yzywyzz{xw{z{{wu{~y{{vu|}}z}zsu}~|}|~ytw~~||}~xty~}}|~~vsy}z}|}ut{|z~~{tv|{zytx{zzxtxzxz~vuyyw{|vvyxw}{vyzvwyvzyuxxwzwtz~wyzut{|x{yst}~|y|xsv}}{z|wsx~~z||usy~|~{}|tsz~||~zsu{}{~}~xsv|{{~~}wsw{z|}vtxzz}{uuyyz~zvwyyz~yvxxx{}xwwww{{xwwuw}{xxvux~zyyvuz~~zzyuu|~z{xtv|}{{wtw|~~||{vsx}}||{uty|||}ztuz||~}ytwz{|}wtwzz||wuxzz~{wwyyzyvwxwz~wvxwv{}wxyvu|{wyzuv~zx{ytwxx|xsxxz|vsz~x{|ts}~|x}{su~|{y}zru|z{~xsx~|y|~wrz|}z}}ut{{~|~{tv|}{~}~ysw|{{~~~wsx|z|~}vtyzy}{uvzzyzvy{yzxvyzx{~wvzxw||vx{xw~{vy{wwywzzvyxx{yuz~xy{wu{}xzzwv|}yzzvw}|z{xvx}{zzwuy}|{zwvy|~}{ywwz|}{ywx{}}{xwyz|}ywxxy|}ywxyy}}xwyyy}{xxyxy~{xxywyzxxxwzzyyxx|~zzywx|}zzxvx||zywvy|~|{zwvy|}}|yvw{|}}|xux||~~~|wvy{{~{uvz{{zuw{{{yux{y{~wuyzx{~vvzzx}|vwzyx~zvxzwxyvzzvyxwyxuz~wxzwu|}xzzuv}{y{ytwzy{xuyz{{vt{~~z|ztt|}|z|ysv}~}||}wsw}}||}}vsy~{}|~|tt{}z}ztu{{z~xsw{zz~~wsx{xz}vtyzx{|uuyyw}{uwzwv~zuxywxxvyywz~xwywv{}wxxvv||xyxvw~{yywuy~zzyvuz~{zyuuz~~{zwtvz}~|{vtw{|}}zvuy{|~}yuuyz{~|xtvxy{}wuwxx{|wvwxy}{wwxxyzwwwwz~ywwwvz}yxxvw{|yyxuw}{yywtw}{zzvty~z{ytsy}}~{|ytu{}|~|}xsv|||}||vsv{{|}}|urx{y|~~|ttyzx}~{tuzzyytvzyywtwywy~vtxxw{|vvyww|{vwyvw~yvxxuwywywuy~xxxuuz}xyyuu||yzxtu|{yzvsw}~{zzusx}}{{zuty||||yuuz||}}xtv{{}}|wtwz{}~|vtwyz}{vuxyzzvvxxz~yvwxx{~ywwwx||xwwvx||yxwvx}|yxvvy}{yxuuy}{zwuvz}~{zwuwy|~~|zwuwz|}zvvx{|}yvvxz||xvwxy||wvwxy||wwwxx}{wwxwy~{xyxwzyxxwvy~zyyvv{~zzxuv||zzwtw}~|{{vtx}}||{utx|||}zuuz||}}ytv{||~}xtw{z{}vtx{y||vuyzx}|vwzyxzuxzxxyuyywyxvzxvz~wxzwu|}wzzvv~{wzyuw~zy{xtwzz{wty~~z|{vt{~{}zuv}~}}|}ytw}}|}}}wtx|{|}}vty|z}~|vvz{z~{uw{zzyuw{yz~xuyzx{~xwyyx|}xxyxx}{wxywx}{xyxvx~zyzxvy{zzww{{{zwx|~|{ywx|~~|{xvy|~~}{wwy|}}zwxz{}}ywxz{}}yxyzz}|yxyy{{y{zyyyx{~zyyxx|}zzywx}|z{ywx}}{|ywy~|||xw{|}{xw|~~~}}zwx|}}~}}zvx||}~~ywz}|}}xw{|{}xy||{{wy{z{zxz{z{yx{{y|~yy{zx|}yz{xx~|y{{wx~{z|zxz{{|zx|{||yx}~{}{xx}~~}}zwy}~~~~~zx{~}~~}yx{~}|yy|}||xz|||{yz|{|~{y{|{}~zz{{{~}zz{zz|z{{yz|{|{z||||zz}~||{yz}~||{yz~~}|zy{}~~~|zz|~~~~|yz|}~~{z{|}~~{y{||~~{z{||}z{|{||z{{z|{{|{z}|||zy}~|}|z{~}}|z|}}}{y|}~}zy}~}~}yz~~}~~|y{~~}~{y|~}~zz}~|~~yz~~|}y{~|{|y|~{{zz}}z|zz}|z~~z|~{y~}{~~z{|{~z||||z|{}{y~~{~~zz~}|~yz~}~}z|~}|y~}}}{z~}~~~zz}}z|}|~|z|}|~{z~~|}{{}}{~~{}}|~|~~||}|~}|}|}~}{~|}~|{~~}~~{|~~~}|}~~~|{}~~~||~}{|~~}{|~~~~||}~~~|}~}~~}|}|}~}~~}~~~~}}}~~|}~}~}|}}~}|~~~||~~||~|}~~}{}~~}|~||}~|}~}}|~}}}|~~|}}}}}~~}~|||}}|}}~~|~}~}|}}|~}|}~~~|~~~}|~||~~~|}}~}|~~}~}{~}~}}~}~~~~}~}~}}~}~~}~}~}}~~~~~}~~~}~~}}}~~}~~}}}~~~~Yqm{xLWp:_lhTQ@?H9S{pE[WiðäJĨpmssyxrrkkge`[[VSPKHII@><9840%%$-.-,&'-)/*+*')1242524;>=?D@COHEMSTSYcdZYcoqsutq{zyx»zvurplgc`]ZXVUSLEBEJH@4+-68:=(/0/( +0   !#%&'',-134338?EEEFHKLLMPVY[[\^_ceegikopswxy{}¾~{}}yuvwxxuporsqnigghgeec``ba^^\ZYXWUUSQPOMLMOMIHIFC@ADD@@@??=:9:898554343233231.--/0/-+,,,--,+++,-,,+++,-.---./0001234456789<<<=?@@BCDEFHIJMNPQRTUVW[[\__aceffhimoqsrsuwyz{} ~|zyxwutqponmkjhggecba_^^\ZZXWUUTSRPONNMLKIIIGFEFECCBBBA@?@?>??>>>=<==<<==<=>>?@ABBCBCDEEFGHHHIJKLMMNOOPQRSTUVXXYYZ[\]__`aabdefhhijklmnoopqrsuuvwxyz{||}}~~~}~}||}|||{z{zzyzyxyxwxwwvwvvwwvvwv Cvvuuvvu ttuutuutuututttutsuuttutttututuvuv w x yyxyzyyyzyz{ | } ~~~  -~~~~~}~}~ }~}~}}~ }~~}~ }~~~}~}~}~~~}~}~~~~~~~~~~~~~~~~~~~~~ ~xD/3;GWglC`_}_FgP[lok@hopNxvPOKG[PT//+;W^ip{zlj`HH0 2/[W@HW`PajtnlfP/4D?W[UVDE<>?QWWIgѿǿt__O#O!HOgpJ`thgtTXo{Ͽohph@P@P/H?_P80X_`Gļï`|k``WhXXP;OPWpoC_PolpoԫмmwPn@T0#/57HCPQlwuoеȠwooO`XEA_?_H`X_U[Q_~`niwojOPPlPP_x``n[bp_fkhooP_hopa[mgxqggwwjwhdQYGZW[HXXWOgU`Ep_owozoi`a\_j_QWl`lh`dupwwwwtt}_hc_`idh`lpxkoutjt`gg``kidfggkxpwhwjvygkvoportwkz|ksprgpjogtonox{z}sotktrthssswwtohcjigkzwowwxzo{q~zklrmsy{tiovx|ko|wso}w{vuxopzowvww{xwt}~u{w~wu|uxvvoqsuvw{{{}w~uwqwxsrz{wrumxqw|xwwwtpwwoxwupvsz{wvx|vzuwwwzw{wtv}{zvx{~{xw~w}wxs}w{{}{|rxzyw|}|{xz{{utww~zu~xx{{z{wuuwzwwvvwy{t{yyzwz{v~vuuswzvzzy{}~{}~{~|y{{{{}z}}}{{}}xzxuzwvz|y{z{~{~||z~{{{|ywyw{yzzwwzwwyxuvwuww{yyz}z{|||}|}yzz{yvyz{yyxyvwvvuuttrqrqoonsrtrtssstussvstttwrutwwvtvuqtrsrqopttptortrorrqpqruwvwwutwwwtttvuwx{uvwxwwwsvvtstttvttuxwwwywwz|{y{}{~{~}{~}}|{~~}|{}{{|}}} These sources are designed to assemble on GENST version 2.23, other assemblers may or may not assemble them correctly! (PROBABLY NOT) Also I advise only to assemble to disk. I ,?@????8?@????8ï~z~bB48Jl^H<8JvbF86FjǵnR:.8`vR<26LvŹlJ62@\pN:2bɵV2$""$6V|xN, (2JvxF($($"2TzéT0 &&(@pɹpF$ &0L|ų\6""2Tű`8 $0L|õh<"$,>dñd>$".JxçvH, &0Jz`6 *BjǷj@"&4Tdz\:$$2TDZZ8$&6Vɷd>&".Lz˿R0$0Pé~L*$0Ht^2 ,BhɻrF& $.JtɽvJ($2PɻvJ$ ".Bhñh< (4Jrb6  $0Pǿ`2 $*&2^éT2 (0>XX6$"(2Bb˽rJ2$ 2NníV8,*&*@jűpF,$&.>\ɻf@0("(FníZ>.$(>^|ûrD*"",Bbū~R:.*,@bűR4((0FjŽvH0,,2HnŷpF.*.8T~÷h: "4Ll˯\H8**@df>,*2HlůjH,".Lrǹ\:&*Bdb>0.6Nx÷xV<04JpÿZ@0,@lý|ZB.*BnjH4,8X\>.0FlbJ:08^ŽlL<48T~rR:,4VŻrTB:B`hN<4FnZB6HbínL`ŷz\B4@ffPFFXſ|R8>Zx˻r\H8DlX@@J^t\D8HvtJ6B`|÷dJDRpűtZB8JxpL8NjB8PzlB2DjpB4LrjD8HlbDB^ŽzXDB\jRFTxnHLtrJB^\@HjrF6N|R:Fn^:@ddBBdlLJhlHDbnFHlbFT~V@ZvL<\T>N~jFFf~J@b`HXfBNdBFrjDLxbBL|R:VzNHjvPTZFdlHN|VHfvV\XX\XzbRlj\vf`xlddlv`lf`zvdpl^r`^|x^brZbr^jlVfrPT~|NLxVJnZFfd>Jz\H\RNvpHJxnJRhJZnDBpj@BjR@Z^@HxpHB\Û^>P|Z@P|T@Tx|J2DtR8JzfHJnbBFhxL:LtlBd`DJl\<>`dDB`j<6V|N4@dnRDLhXDJ`xJ8Hnl@6LpzL>RtͷVDJZvǧzXF@HfͳnXF@VtJ4BfdzdLFJ`hD0@hZHFJZǻvN8@ZrŷfF2@dõnT>4HxhN@:LxdH86JtlL:6DjvP:4>bXD>4>b`Lt~ SMGA:54:GZorf^XRKB:44:FXlƾxph`WL@60.3?OcwþwkaZRI?6118G[q}reYLA70,,2=Mawti^QC5)##*7HZl}ÿobWMD:1)#"&/=N`sweTD6,$!!'1?PbuŽ|mbYQG<1(##(0;GTew´|pid^VJ3)!#&''')1@Vo·ueVH:-# "'1AUmź{ncXMA4' $&(*1=Of~¹tkcZOA2% ##$'.;Mc{ƿ|ncYOD7) "$%(1AVoŻwgYMD;2) #&,4CVn}kZK>2' $*2>Pgķyh]TMD8* $,6CTh÷~si]N=, $+4@Qfø~o`P>. "(/5>J[q}n`RD6(   #',3>Nc{¹~m]N@2& #'+19DRe|}qh`XNC6(  $&'')-6DUjym`Q@. !$)19DQatxnbUE5$ "$%'+06=FR`sĽvdP<*  !"#&+29@ISas~xrj]L7" "%*05:AJXk¿wofZJ8&   $(+-06ARh¾}smie\M:&  #*05:@IZpsfWF3!&/:ERatĺzpie`WK:) "'/:GViż}skcXJ:) #)/6@Oe·|l\J8( &,3QiȾsf]WPF9* !#&,7H^w¼|j[PH@7-! "*7Kb|q]KQjžsh`VJ;,!#'/=Pgķrhb[QE7*""$%$%+7I`wƿxh\UOIA6,#!%*07BPczǿweXNF?7.&  %,4:AIVhsjc]WOE9-"",6BMZj~ösib\UK?2("!#)08AL[møm^RIB90(#"(2@P^lzt`QE;4.*)*.6AO`tƻpfa^YPD7,&&*07@JXi}ȿ|n^M;-# ")3?L[mɽqe^WOF:0(&)1=K[l~Ļ|naVJ=2)%(2ASew|j[PIB<4.,0=Slüznfa\VMB7/+-6FYoqd\WSNG=4-.7I`x¸wle_VK>2*)2CYpxkaXPG>749EXo~m`XSOIB:56>Nbwüxog_WMD>;>FTezŸxmaSE:45=K^qwjb_][VOGBAIYnuibacdaWJ>68CWnpgdee`VI<59G]wyi\RLIHJP\m¹}rfYLB>BOc{zm^OB:8;?IXj}uh]SKEBDL[p|skbXMD@COaxyhYNGEGMXfwwh\RLIJP[k~~qg`[VQLKOYlvohaWK@;>J_yo`ULEAAEO`v|ne_ZTOMRaxxmcXMFGRg~m\NDBIZrzgSD                                                                                                                                                                                                                                                                                      }{vnd]SKD<4/'!ľ!'+028<>BFHKMOSWY]abfjjnrtx}~xSۜ:Sdptph_SH>4+!!'06>FKS[afntz~{l[8ס 6Qhx~vlaWMD:0' ¼)0:BISY_hnv~xj]M4 ݫ :Ul~ rh]SI@6-% ľ%/8@IOW_dnv}~jS4Ě!>Wp~rf[OF<2)! ȯ  #+28@FIQUY_adhjnprttvvvttpnhbYOD2 ƭ +BYn~}rf[QH>4+! ʭ  !%'+//246668 620-%!ȸ!0DWfz~}pdYOF<0!̶  ¼ '6FSar~th[K8!   )2>IS]fpz~ xnaUH8+ ¾ ##%%''ûzrlg_WQJD>6/)!  )3>JS]gpz Ҙ[-U~ǽztnhe_[YSONJFD@><:65/+'# !/LYclv̳]+ 6[ȿzvpnhec_[WQJD>6/%   )5@LUajvҳlD1DYrŻ~xp_H/  %)/6@DHJNUW[cgjrx| ~reWH8) #/BFHHJLNNOQQUUY[[_acgjlptvx|~~xpjcYQHB<51-)))+-18@JS]hvʷxeQ@/! !'+-18<@FHLOQSUWWWYYY[]]aaaceghlnprtvxz|~xtlgea[WSQOSW[cjr|ǷreYOJB>:8:<>@DHLQUW[_aegghjllljgca]YWSSQQOQSUWY[_cehlnrvx|{qmg_XPJD=6/(  !+5@LU_ir| Ԝ[EnŻ}wpjfa\ZUPOLGEA?>:850,(#   '4BM[foy_(Elɿ|vsnigd`]YVSPOLGA:4.'  )6BP]fozӿo:  "Hnĺ{vqniec_[WPJD=5-# ",8DOYdnzȩ\2  '9Md} ƾ}wn[C) !'+18>GQYbjr{sZA&  $1BSewɿ{eH,#)/359<=>?ADIKNUX[cgksx|~reVH7)  $0>KWgv Ǿ}gO9& (17;?CGIJKMMMNOPQRTVX[\^bcgklptvy|~~yqkcZQIC<62.+,,/27@IS\gu ­mYG6' %+.06<@EILPRTVXXYZZ[]^`bbceghlnprtvxz}~yslgea[WTQPPPRWZaiqzĵ{m`UMGA=;;>@AFINSVY]`cfhgillmkhea_ZWUSSQPQPPQSVVZ[^dehlmsvx}ſumg^UMF>6.&   +7EQ\hs~k R~ƻ}vohd]ZUONIFB?=971,'" .>L[gs~˘^  7fʿzuqjgc_\WTPNKE>6/' $3AQ_jvŞk-$P{Ǽ{upkfc_ZULE=5+ #0>KWcp}Գ\* .E^{øzq^B#  ',4AEILSW\ehow|rbR?-  )7HUhyźgK2 (38=AFIILMLMNOQRUWZ\_bdikptvz}~wng\RHA93/*++.3;EQ\iyѼr[E1!!'-/6?BGKRUY]adhgillliea^XVSRQPPOPQUVZ[`dflmtv{~¸zoi_VME<3+  +8GTamz[Xƺxpic\YROKFC?=96/*%  #5EVdp~٨h#1eɼztoif`]XTPNJC;3+! #4DUco|ֽNCtŸzsoida[VME=3' !/>LZgvᾑ`)"9Rrǻ}vfI( #*19COZep{ʸgG% *>Tl÷{]8'/36;=>@EJMUXaglv|raN9'!0BRex ³kM1 *5:?DIILMMNOPRTVZ\_bejmsuy}zph]QG?71,*+.3??@@AABBCCDDEEFGGHHIIJJKKLLMMNOOPPQQRRSSTTUUVVWXXYYZZ[[\\]]^^_``aabbccddeeffghhiijjkkllmmnnoppqqrrssttuuvvwxxyyzz{{||}}~~889::;;<<==>??@@AABBCDDEEFFGHHIIJJKKLMMNNOOPPQRRSSTTUVVWWXXYYZ[[\\]]^^_``aabbcddeeffgghiijjkkllmnnooppqrrssttuuvwwxxyyzz{||}}~~34556678899:;;<<=>>??@@ABBCCDEEFFGHHIIJKKLLMNNOOPQQRRSTTUUVVWXXYYZ[[\\]^^__`aabbcddeefgghhijjkkllmnnoopqqrrsttuuvwwxxyzz{{|}}~~012233455667889::;;<==>??@@ABBCCDEEFGGHHIJJKLLMMNOOPPQRRSTTUUVWWXYYZZ[\\]]^__`aabbcddeffgghiijjkllmnnoopqqrssttuvvwwxyyz{{||}~~,-..//011233455677899:;;<<=>>?@@ABBCDDEFFGHHIJJKKLMMNOOPQQRSSTUUVWWXXYZZ[\\]^^_``abbcddeefgghiijkklmmnoopqqrrsttuvvwxxyzz{||}~~)**+,,-../001223445667889::;<<=>??@AABCCDEEFGGHIIJKKLMMNOOPQQRSSTUVVWXXYZZ[\\]^^_``abbcddeffghhijkklmmnoopqqrsstuuvwwxyyz{{|}}~%&''()**+,,-../01123345667889::;<==>??@AABCDDEFFGHIIJKKLMMNOPPQRRSTUUVWWXYYZ[\\]^^_``abccdeefghhijjkllmnoopqqrsttuvvwxxyz{{|}}~""#$%%&''()**+,--./00122345567889:;;<==>?@@ABCCDEFFGHHIJKKLMNNOPQQRSSTUVVWXYYZ[\\]^^_`aabcddefgghiijkllmnoopqrrsttuvwwxyzz{|}}~ !""#$%%&'(()*+,,-.//0122345567899:;<<=>??@ABBCDEEFGHIIJKLLMNOOPQRRSTUVVWXYYZ[\\]^__`abbcdeffghiijkllmnoopqrsstuvvwxyyz{||}~ !"##$%&''()**+,-../012234566789::;<=>>?@ABBCDEEFGHIIJKLMMNOPQQRSTUUVWXYYZ[\]]^_`aabcddefghhijkllmnoppqrsttuvwxxyz{||}~ !!"#$%%&'()**+,-../012334567789:;<<=>?@@ABCDEEFGHIIJKLMNNOPQRRSTUVWWXYZ[[\]^_``abcddefghiijklmmnopqrrstuvvwxyz{{|}~ !"##$%&'())*+,-.//01234556789::;<=>?@@ABCDEFFGHIJKLLMNOPQQRSTUVWWXYZ[\]]^_`abccdefghhijklmnnopqrsttuvwxyzz{|}~ !""#$%&'())*+,-./001234567789:;<=>??@ABCDEFFGHIJKLMMNOPQRSTTUVWXYZ[[\]^_`abccdefghijjklmnopqqrstuvwxxyz{|}~  !"#$%&'()**+,-./01233456789:;<==>?@ABCDEFFGHIJKLMNOPPQRSTUVWXYYZ[\]^_`abccdefghijkllmnopqrstuvvwxyz{|}~  !"#$%&'()*+,--./0123456789:;;<=>?@ABCDEFGHHIJKLMNOPQRSTUVVWXYZ[\]^_`abcddefghijklmnopqrrstuvwxyz{|}~  !"#$%&'()*+,-./01234566789:;<=>?@ABCDEFGHIJKLMNNOPQRSTUVWXYZ[\]^_`abcdefgghijklmnopqrstuvwxyz{|}~  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~b1p Budgie UK Licenceware q  -# b3 OVERSCAN INVADERS (c) 1994 Budgie UK and Jan Dean All marketing rights reserved. E`LjB?< NA\#C^E^O%NWA(<33&a2aNNF 99fap33&3J3LNu 99gNuCg@Nu8i8igNuF' <=>?#,# 0#p49 9!@p! !v88F#NuF'< =>?!0 !,!4pF#NuF'a!!@!\! NsRfNs8fNs8fNs8fNsF'H!P1HRxh! p9Q 0| #*z$zg mKg@?r?@h(|@(((2(( (((NqNqNqNqNqNqNqNqNqNq$yJNqNqNqNqNqNqNqNqNqNqNqO`C pr$9J&9J(FFFjj"jjjjjHBHCHDRjjjjj~#LJNqNqNqNqjNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNq(|@(((W3(6(0g(((ft yE001B1B@1B1B1B 1B1B`AbEF09J2IANq@@Nq#E0Nq&yJL1@1A1BH1C1D1E(1F1GhH@HAHBHCHDHEHFHG01A1B@1C1D1E 1F1G`Bv1@Pp$:BlNq2+kkHA2+NqNqNqkk‚fhNqNqNqNqNqNqNqNqNqkkkԅkkkHBSkk̅kkk~NqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNq`#,J3JR<#JR>R>3JNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqJ#JNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqMEH~GC\p@L=@=A=B~=CJ=D=E H@HAHBHCHDHEHF<=A=B=Cd=D0=Ep@1`PNqNq=F NqNqNqNqNqNq#\޶NqNqNqNqL?=@=A=B=CR=D=E H@HAHBHCHDHEHF=@=A=B=Cl=D8=E p@L=@=A=B=CZ=D&=E H@HAHBHCHDHEHG=@=A=B=Ct=D@=E Nqp@L=@=A=B=Cb=D.=E H@HAHBHCHDHEHF=@=A=B=C|=DH=E =F NqNqNq1rPNq=G NqNqNqNqNqp@L=@=A=B=Cj=D6=E H@HAHBHCHDHEHF=@ =A=B=C=DP=E =F APp( (\(# Nq(.(:f(F(Q€(]p(i1tP(t" HA=A NqNqNqNqNq(( o((#ˀ(/y(;'(FՀ(R(^1(i߀(uAt̀( o((#ˀ(/y( (\(# (.E/&z"NqNqNqۈNqNqNqNq$zNqNqNqNqNq1vPmG`NqNqNqNqNqNq ݈NqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNq#h#`޺#d޾NqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNq1wPNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNq3%INq z$z4<MP-nۈ ݈ ؈Sy%j -\1܂F`!1RB1sFNqNq-l=lNqNqNqNqNqNqNqNqNqNqڈ NqNqNqNqNqNqNqNqNqNqNqNqNqNqNqQTmA6m$zM,-M-H-J.zL1@H1WP !Ns!u@!uPF'HQ/C!1DgB9 LNqNq !F!T!LNs}}}}}}}}"Dw"Dw"Dw"Dw"Dw"Dw"Dw"Dw"Dw"Dw"Dw"Dw"Dw"Dw"Dw"Dw"Dw"Dw"Dw"Dw"Dw"Dw"Dw"Dw"Dw"Dw"Dw"Dw"Dw"Dw"Dw"Dw"Dw"Dw"Dw"Dw"Dw"Dw"Dw"Dw"Dw"Dw"Dw"Dw"Dw"Dw"Dw"Dw @p @p @p @p @p @p @p @p @p @p @p @p @p @p @p @p @p @p @p @p @p @p @p @p @p @p @p @p @p @p @p @p @p @p @p @p @p @p @p @p @p @p @p @p @p @p @p @p"Dw"Dw"Dw"Dw"Dw"Dw"Dw"Dw"Dw"Dw"Dw"Dw"Dw"Dw"Dw"Dw"Dw"Dw"Dw"Dw"Dw"Dw"Dw"Dw"Dw"Dw"Dw"Dw"Dw"Dw"Dw"Dw"Dw"Dw"Dw"Dw"Dw"Dw"Dw"Dw"Dw"Dw"Dw"Dw"Dw"Dw"Dw"Dw @p @p @p @p @p @p @p @p @p @p @p @p @p @p @p @p @p @p @p @p @p @p @p @p @p @p @p @p @p @p @p @p @p @p @p @p @p @p @p @p @p @p @p @p @p @p @p @p%7%7%7%7%7%7%7%7%7%7%7%7%7%7%7%7%7%7%7%7%7%7%7%7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0%6%6%6%6%6%6%6%6%6%6%6%6%6%6%6%6%6%6%6%6%6%6%6%61Rs1Rs1Rs1Rs1Rs1Rs1Rs1Rs1Rs1Rs1Rs1Rs1Rs1Rs1Rs1Rs1Rs1Rs1Rs1Rs1Rs1Rs1Rs1Rs"3"3"3"3"3"3"3"3"3"3"3"3"3"3"3"3"3"3"3"3"3"3"3"3"3"3"3"3"3"3"3"3"3"3"3"3"3"3"3"3 !"3"3"3"3"3"3"3"3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0  0 00 00 0 0 0  0 00 00 0>0 00330 m33m 30` | `30 0>0 00330 m33m 30` | `30 0  0 a a ` 00 ` 0  0 a a ` 00 `U:UsUUVVHVV8g@#Tp|dX8g-|-|@0:Xy,@2\-@A0:0@| mp3##WBW4ByIB9J3U#¼I#JINuM*4.kAJpn@.@dBj -H=B`-H=B0.@@CL1@1A1B1C1D1E1Fl1GRH@HAHBHCHDHEHFHG01A1B1C1D1E~1Fd1GJL?1@81A1B 1C 1D 1E H@HAHBHCHDHE1@01A1B1C 1D 1E 1| 1| J.f JfJ.gHSnf"=n0.Pn@##A .Ѯr2.0IA@4063R:?E-JKajE~abE~avA|EaLE~aDE~aXA E+ a.E~a&E~a:A E@aE~aE~aAbEV@aE~aE~L?d$%A%B%C%D%Ed%@%A%B%C%D%Ed%@ %A(%B%C%D%Ed%@0%A8%B%C%D%Ed%@@%AH%B&%C.%D %Ed%@P%AX%B6%C>%D%E$d%@`%Ah%BF%CN%D,%E4d%@p%Ax%BV%C^%D<%EDNuLd&$%A%B%C%D%E%F%I%K%Ld(%@%A%B%C%D%E%F%I%K%Ld(%@ %A(%B%C%D%E%F%I%K%Ld(%@0%A8%B%C%D%E%F%I%K%Ld(%@@%AH%B&%C.%D %E%F%I%K%Ld(%@P%AX%B6%C>%D%E$%F%I %K%Ld(%@`%Ah%BF%CN%D,%E4%F%I%K%Ld(%@p%Ax%BV%C^%D<%ED%F"%I*%K%LNu@`#10&<Y'F@́@@@8  8 } 9P}p@| >y 3x x0@ @{0 ``x t ?L?a@_` ` N3dH7$0@8gb32`P(w 4I0g8&Y'F؀L̀8   0x` @0 @y y@.yж # 3x x0z0@ ; a  h dm  as @^`   @lhC< 3? ` c̀@@ |)v !^@g9@q@A 8ǀ2 8c3  @3 y@y(HP&1ΐ`#xH.1 ({P1K?Pm@  $8 t !sx^-?s:_'n{zC 8qwEtXxp8@`\#΀)v ۀ^!@ހw@;q@A @]@8( `3@ y@y(HP!2!y.H 1(P{1K?Pm@ Ds8 t !xs^-?s:_n'{zc8qǎEw4h@8xpC0@! 6 w;ƀS2,̀i2  !C0@0x3y y1 3@y` yy3x13 a?`m@s` 3$aX30@`?a3  `7g'ls8Tt\$lo30`,#C@0! 6 w;S,2i2&!C@00x{z J1 x@`J IHx13 a?` m` m\X@0@`La3  `7gl's8Tt\l$o30`,#  @8@@Lf@]# &#1`@@0@z0 x#3 x.y {@ y@ 0@x`0   ^`@s am|h! a`3p8 w P(`32bg0H8DH7$L3d`   G8AA@f@ـY'    0{ @0@x3 x>y  | @@I@1| 8  ^`@s a tmh3 m`3 0 w Pp07"g͟0H$H$7Ld3`  03eS1eY,4l63%H0  ` f i2 c)f@4   j    <<~<Z<` 0 ~P f@`$Z$ÀBB 0f`?0_X pfhO,@ 0@f`0   01c;#r N>| `` f a1)i@5  j  <<~<` 0 $P۠ <@`<ZB@@@ 0f`0?O )L0fhO,@ 0 @`` H0@$p z,gv#V01@1@1@1@1@1@1@1@1@1@~1@1@d1@l1@J1@R1@01@81@1@1@1@ 1@ 1@ 1@ 1@ 1@ 1@ zCt&IvrEdf$%@%@%@%@%@%@%@%@%@%@~%@%@d%@l%@J%@R%@0%@8%@%@%@%@ %@ %@ %@ %@ EQAQ&zzAXJgSNuJ(fNuE.W< :> y@W@nDjD#WDNuDkD#WDNuC<:"SyF^jPW`SFk*AF~E4XHEQPIQE~4EQA4B(MB(KB(*B(HB(rB9R a$PF9R NuAC02<4<6<8ii~iii`Qii@iii iQii@iiFAi ii^i^iP@|2mpPF\0NuQii@iiiiiDiiP@|2mpByF\0Nu?@????8?@????8ABXK0mABWm3JBR:BR>BFZ3F^,<><K\MvI-N-L-|-L-|>-L?<NNT*(LD?DRf?<NNT@@|m@@ALōP-F ,QNuCAJ~L5@5@@5@xH@45@85@p5A5AP5AHA5A5AH5ACQNu>:|lX$zIARyIL5@5@@5@xH@45@85@p5A5AP5AHA5A5AH5AEQNuJնc"LFGHIa aaaa z$zfQIn AE¼#I#IL‡jj@jxH@Rj8jpjjPjHAjjHjNu????????'A~Mt>(.j@B0B.0B.jAB0HJj @B0`<KfB(M` <MfB(K@PJ(KgUGjBG`J(Mg TG|,m><,1G (jJ(Hf J(*fJ(rghP#l#}PG2OA1A1G!|Z$@ 8p<<<"~<><<<"x<<<~~< ?< ~~~<<<<<<0??=<<~<<<<<<<<<<<<>|><<>|>|//'<'<"<"< < < ~<8<<<<<8?<<x|?>@`||{sccCC~<<<<<<<<>~<<~<<<|>|<<|>~< x x >'d     ~SyUjaJJgd :k\"k^6:< y JmPC8:DDk2|n*mn np`&+ np`@np`V@np`pKxCkClU gJ8ij##`##BRyR #V3V3V#V3VB9V3VS9Uj^J9WMfVWyWA|1|0(Yhj1| 0JWDjD#WD#JNu#j#j#JNun2:"g3ePiZAP0pyR"p$h!I4pY@jp0AW(###F#JNu\2 vtnlLAQaqWHC)g <gS)NuNH8 fd* yTpE#Tp f: f4B)aA20Y@|np,01@Y@3W3Wj0Nu @  @ @ @ @ @  @@  @B$<$<~BBB~@ @ @!B"D (P B$B$B$B$B$@@@  @@>@NB>~B~<xhXH : PD0$L  CM0@ ^N0@ ^N0@ ^N0@ ^N8fV8fE`8fEP*d yT2FJg K Rg *$*` * $*&(HCHDhhJfÆmb| %HS* g~n"ji>)@gJ-fPH@i>)@gJ-fPi*HBi"NuJ* f@2:(PhCf@g*^FF }m# #NuS* g hhNu$hhNuJ9Jg`JyWfX8igP yUmFR8iA6Cd (f0(f$(f(f fNu?? 0?`:_W0?<1???#<!`WU  G?`Up 00r?`\3 s3BAG @G@CUU@O H||?U?T B @<UU@@@<  0 p* $ @ G__ @COUU_# /@/ !?'/# /@/ !?'/ x8?F? L L̀?S?sр?fd`f?r|`s8#13 #23 s8`="ff`N*x8F?? L L?Sʦ?s?dff`?r|`s8#13 #23 s8`="ff`N*` @\Uw 3"U p bUw 3"U p \ 1R s \ @   YEg #E g _Up 0"D w YPp  1Rs \ 1R s Y31Rs b'% 7 \1R s b1R sAh0khj\0<8i1@#F#F0J9iZf&3T6 <#t#l#LT2NuiZNu|n02H@ACYA HL< !A!B!C!D!E!F!G!J!K!L!ML|!@!A!B!Cd!Dl!Et!FJ!GR!JZ!K0!L8!M@J9iZfNuShgNuPh0(@|`m1|L?#,3(3@#D#h3pHC1C#h A###Nu9@i[d:0::U@jp";3iX0#h3p#,3(3@#DNuinghF'A @@B(B(B&B*B:G'Ip'J$&&&&&&P&&&&&&&& F#A Crtv(mNuIiAJC"r~p@E|G@@@GQ|ZGQ GQNu                          ֨ntJ3+eQx'hWOcHv#+~1xvrB֕4MB>j!Y֋8lԨ>ə1DU4S<>D؁!OLe)4r6ҋ8JM[ހ8aܑ8@hHS<ب>_ŵLeDHև8Yt!L֍/%ΪBrнQ))>v/][L>+eD؜4DD/Bh/:ܚBe!jJ+ڪOM/Dz+Wa4ЬJ>[Mj'Ł+@v'Yǿ[%npB֪>6WQz/nֻW3̉1ea6j'hÞBL>pD֓/3Μ8HUUO:3'ڞ@8Ɂ+>xBx4ܢ>x#1ަOtt'[#Η4:O_ɰ@1[eǢ/zεH!pn1tγLMܦ:/МD@Ҟ8[v:֬Q:ܕ8thL8)n>j!QQ+Hܢ84ذOSܲLUQJЋ+8r/Y+ܓ'ب8Bަ8Op/z̢:hîQ/|ŢF%_j4]tUWx_aÉWrMBtB_YQzQ~['ΪBHh%hp/_j4|ɗ4Jˇ8nιh4ɍ3SUMz/[+p_:x_/̕)%_nx6|عL'eFޓ-lr!QQah)p/>r'W66S%Ɂ'Ml/؞>-֙/lǻc/֗:QzLև/@x'[Ҁ1|c/άHŚ8ҮJ+]nSM~Bra'|Α/Uæ@/ܰ/-Ҝ6Qe3DnjFW4:B_ M؅)Q+F%ɉ1_t1_xaH|'M1W>tҳJ/t1<Q3Dee#n|4lHM:-عLHԉ#DГ!+pBchő'hUjWp+W~/U8f4/n!4ԅ4֙8Qc4Ξ4%_1e/Ћ)F֏/WǷS+҉M3j̽_B->n /ؙ::M4ܙ:H4#̨Ft̻WhɰJBpBޓDhjDԁ/H['ŋ)%/DM|%S]'Η4eM]!aҳL@Q8ܗ48]>_>t)YŦ:3ҨD8О4΢6r'֬@!|ŀ)WlDt4xa%at+hΰFMҜ'8>%ܰJYQ>z!W؅'D֚1 MMzεL4ҋ'3ԓ3>eQUeYjɲ>3lD|+Ł!>ԗ6LM//'e%[҉'1آ6'гBthLLlɮDLf#jŢ>:aWW8ޞBL+MaBS:r>ڮMB̀'U44֜+nɨHeŻU/ذB>a/Q%|ő+4UBJ+r>'@>ҋ)4xBl%hԦ:L:hr1hɢ84~/z֓11z+تDH]1O%جM/̬L!xt!cғ44h'Uj'hMܑ4'˜@>ҁ/֜O/hD4MU-بJOړceW|+U_D_%h̷MBFJ:4ذM!zҿW!|]8U1Γ:_c@L%εM+|ŏ/DҞ468/Š@+/BDj̻Y!fŮL8֑+Lz4jց>lQa+hx@S W8B1DO[WSS1֢>:ҍ//ع_8|Þ8%βJ!̵O8~+Qڜ@:]Uh4|جHFɋ#6ЬD'|#+hMe/ҙ4W4Qz1e:Q̅/LMndzW%ˮML̑BDvQW)ֻYHÕL4Ó:_64l%p؀4h΀1Oa#x؃1:Ł1HnUn4th6F!βQ4Ǟ@4ҙ1_%ae#La1[/Ҥ@+p3Q~'_H<ҁ-Sr3x_8ҲF:1Uf>+4̏·8tε]:΋/3ҮlBɮ]'U[4ҿt'>f/Ql1tɲ[L؏>_j%aõWMؠBDc%YW#UÙJ6L/ҵ_4eDJɜDlõ])pU8ΞL<4Wډ@Oe+×HFΦS'v8+̅/QܢQ/|e1zW>Ι><:1̮_1jv1Dj4hY4ɕBUl6lpHǿnBt_MÞHU_:x8>Πc8W~ze8UOH|@]̢WBHHŨaBtx>+nMB˓HQǑB-|xDj_:xeDY:e8Oe>z|>JWQ@aljLhr:xQMFSv@t8LeSD>B_LQ|F_ɗS[[:DUxDaOjt/_|DWxBMQj|Hn]Jz_YO_DQOpn:nxQxDjUDrM[SDxpFjM[DWfUxUWrQh]FjrQr[M_MnMv_JrtOUMjSpUaalHxeY]BfcLvW[tJlaLrnQpUOz]WaMxj_LO|[]aYeQn_jnLjaS~jJnLehYt[nQ~lOa[v[r]jhWnervWjh[hxct|[Ypazjah]za_|tenWtn]xrWhx_vz]hxch_jQrj[zafWrtatrUhpYx~[j|]rxa~[rj[fzWcaee[xj[reja_elaepajraeehlhf[|n_zhcta|havhhjhje|rfjexxc~ejpe|xcvfrxephjrer~fh|ehjelhprnhjfpelhjcthrx_nznr~htpf||jtxlttrtht|n|tjz~lrpv~lrrl~xlr~jrlvjzvnttp|pt|tttntjrnxlx~nptx|nr~tx~tt|tnx|lrtr|tx|rxtx|t~|tt|vrz|rv|tzxr|~x|xv||vxv|xxxzxvzx~xxzx~x|kA#3R}nL7 )Uy}hC=^vxP=*&8Kx¾uS,',1Quɶ]G9)4HZɸ~a;268V~³lR?*2I]ťl@/34Mu˻z\G,+?Pt˴O51(8]vʺwZ2&06UkL9"gijyW,4Xqɶ`3%0JeǹjB/"1M}tS9$Bk®zT*6WqǷd?,$6R|ĺ`C!'?dƴ]7&*E_÷|V=#,BhǶ`7!&C_~ĸ\A'&7X{̿pF(4LkŹvV9)DfƻhD-1KtijZ1'?X}ƵuU6+Db}ſnN5""1IjźjH1""3JkŹsN3%"/DcʼwQ4&"$0D`ðZ;( *>VtǵfD- #/FezQ2"':Wz˸eB+*AbøZ;%-Jm·wR71Mjƹ{[7.Ebʸa=%(?`ƽeC* 6VsƴyW2&<\Ƿb=$6Tr˽c<!3Opž[=" $;Wwʷa:" 4Uwɿb@!-EimL1(>Z~¸W7! 2MkϿ{O2#Tm»o]J8) %1D_z{iVD2" '2Faz~mZH7% .@Um|jVC0   ,:PmtaJ7& !-:Nh~jVB/   )7Jc}}jTA0!  !/BUjlYF2" ** &-=Q`tveP;*  #/;I]p~s^L7#   $(1?M_r¿vfTC1!  "&(,26ATeuwog]TJ=.!   $'*.149>BN`rxph`YTNID>951,'    $&)-/158;>ADGJMRU[gvxogaZSOJD>951-*&#   "&(+05:EPX_flsvxzsg_UKMQWi{Ƴ̶xL 8fkE%K{qE?foE/-Bsſ{Q'+0Xϼ{N;)>TȤZ469cŲW?(AZѯ_246_̸`C';OӸk91)MrɡyP'09j±Q64N̰c2(FnȾoD!)Yȹ{L."5fDZj8%-IyťW*!;^}M #IpûnH"(/\øe@'2a˾Y7&7dʺ~Q6,=mȸzL1);m˺yJ-%:j˻zJ/(;jV8&3bZ5,YĹj@(S~|N AiȬ^, 5Uɶq>'#7hS0&SP!?dȰh8$'>lµ^9(Q{ťX,!4RϾ}N0"1\à~Q$7WϽ|M/-VǧX)0Kwƹ_;$Jq̶p@("3aģR"2LzȾlE?`οV8"*Ot˵rD.&4\ǰl>,)7`Ūb4)/@jƨ^3'0Dkä[1%+=gƪ^.#);fˮc5#"2\̹r?((R|о}M/ BeǼj?/IuȨ[. 2]ͼxF*AeɿrF$7e˲g5 "HnrE#7a|J+ :[Ȫ\, 'PzȽh?"5aS3.Gt̹s?% 7V˵m:# >aȰd1 =_ɱg6 :Z˷p<# 2NyοU3(>l¶`;+Uç^1 <]˽~N.$9c}Q&  Beʺ|O. "3[Ĩ\+ 2LvŻlD  Cg¶_:(Nu˼Q. +S|˼V4(Q{˽W4 $Hlùj? ;XU()=hɶvH( 'MtżxM#,BmʼU1 >]ĭg8 &Mu£W)  0\ƿW+.Xž[/ $JpílB$ ;ZȽc=  %8dƿa8 =\ɽkE (Mrȹ_; "1[Ƶ~X5  #2\ƶa< (LqʽxQ* 9TŽrO0 #1Xǹ}Y5 .ApŵwT2 1HuƾvR/ -AlµiK-  )MqɽkK, 1Fpu_B&  8QzĹv`D) 3HsǽsX=' $1UzŸtaF+ 0CkǻsaG. 1FlĹ|oXA+ $1Twr_I3"2EjtaJ3"-=aùzdN8" (C_¹xaJ4 'A\Ĺv`H1  +<^ǽr\D, *;\}¼v]E/ #;Tsſ~dK4 .Ab½v[@*  .@^}zaH/  2Ff~dJ4$;So{aH/  (@YsgM5 %:OjfI0  &2I`x¿kQ7!  $4E]umS:! !&,>Pg~waK4 $(-483-'  "&*.259=AEIMQX_r¿vlc[SLE>83.)%! !%)-3:GT]gowy|pdXLPUi~̳ϴ̭ǾpWpcEJOinV?0":Sg|wscT8+9Rks|naO=-:Xm}rhN5>GeudQ?_uX^d|dMfsXXYv}]>Qe~s_L:Vs{^BEHh{mR8Ph{dWKjtW[_x[gtkTlf]TroQV\v`>Pb~|nR6SpwfO9WvqVI<^oUTTqmNSXwgGTbaDXmv\CUhtZ@WosV:UqlU?[wsZA_}t\E]ux\AYq}^@UkcFXjeCO[xnLNPrrOHAd{_L:]mQ6Tr`?VniHPYtuWOGfnS8Ur]9Mb}sROMlmWBacDR`~xXMBev[@[vmKHFgpVSi{{cOShzy`GNUkfMIE^x|nYDR`rhQKF_y}oW@M[pubQAWn~n[QH`y{aHFD`|xbMMMd|u[BHNdz~gPMJaxp\OBXo~zlWCP]rkXPH`yvgS@N]phRG=Vo}v^GILe~}r]HOVi}}s^JLOf}~v`KIHa{{jZODZp}tgS?M[n{k[QH\p~zsaOMLczwo^NOPe{wo]LPUh{{vgXRLcz~{nbTGXjzxq`PRTj|rhWGTbs}si[MYew~wpbUWZn~~~zvhZUPcw~}wqcV\ct~}sj\N[iy~um\LYfv|xi[WTh|ysfY]aq{vi\]^p|xk^ZWi{}yl`acr|wi[]_oukaWfuyrh^it}}yl`acq|xk_acqzth]eny|vh[agsztgZ`fswodZdnw{nb_\htz|xla_]jw{}zpga[gt{}{skbY`hr}~}|xti^]\huy~~~~~}|zyrlc[_dnx{~~}}||{zzyx<SMGA:54:GZorf^XRKB:44:FXlƾxph`WL@60.3?OcwþwkaZRI?6118G[q}reYLA70,,2=Mawti^QC5)##*7HZl}ÿobWMD:1)#"&/=N`sweTD6,$!!'1?PbuŽ|mbYQG<1(##(0;GTew´|pid^VJ3)!#&''')1@Vo·ueVH:-# "'1AUmź{ncXMA4' $&(*1=Of~¹tkcZOA2% ##$'.;Mc{ƿ|ncYOD7) "$%(1AVoŻwgYMD;2) #&,4CVn}kZK>2' $*2>Pgķyh]TMD8* $,6CTh÷~si]N=, $+4@Qfø~o`P>. "(/5>J[q}n`RD6(   #',3>Nc{¹~m]N@2& #'+19DRe|}qh`XNC6(  $&'')-6DUjym`Q@. !$)19DQatxnbUE5$ "$%'+06=FR`sĽvdP<*  !"#&+29@ISas~xrj]L7" "%*05:AJXk¿wofZJ8&   $(+-06ARh¾}smie\M:&  #*05:@IZpsfWF3!&/:ERatĺzpie`WK:) "'/:GViż}skcXJ:) #)/6@Oe·|l\J8( &,3QiȾsf]WPF9* !#&,7H^w ¼|j[PH@7-! "*7Kb|q]KQjžsh`VJ;,!#'/=Pgķrhb[QE7*""$%$%+7I`wƿxh\UOIA6,#!%*07BPczǿweXNF?7.&  %,4:AIVhsjc]WOE9-"",6BMZj~ösib\UK?2("!#)08AL[møm^RIB90(#"(2@P^lzt`QE;4.*)*.6AO`tƻpfa^YPD7,&&*07@JXi}ȿ|n^M;-# ")3?L[mɽqe^WOF:0(&)1=K[l~Ļ|naVJ=2)%(2ASew|j[PIB<4.,0=Slüznfa\VMB7/+-6FYoqd\WSNG=4-.7I`x¸wle_VK>2*)2CYpxkaXPG>749EXo~m`XSOIB:56>Nbwüxog_WMD>;>FTezŸxmaSE:45=K^qwjb_][VOGBAIYnuibacdaWJ>68CWnpgdee`VI<59G]wyi\RLIHJP\m¹}rfYLB>BOc{zm^OB:8;?IXj}uh]SKEBDL[p|skbXMD@COaxyhYNGEGMXfwwh\RLIJP[k~~qg`[VQLKOYlvohaWK@;>J_yo`ULEAAEO`v|ne_ZTOMRaxxmcXMFGRg~m\NDBIZrzgSDLZgvᾑ`)"9Rrǻ}vfI( #*19COZep{ʸgG% *>Tl÷{]8'/36;=>@EJMUXaglv|raN9'!0BRex ³kM1 *5:?DIILMMNOPRTVZ\_bejmsuy}zph]QG?71,*+.36.&   +7EQ\hs~k R~ƻ}vohd]ZUONIFB?=971,'" .>L[gs~˘^  7fʿzuqjgc_\WTPNKE>6/' $3AQ_jvŞk-$P{Ǽ{upkfc_ZULE=5+ #0>KWcp}Գ\* .E^{øzq^B#  ',4AEILSW\ehow| rbR?-  )7HUhyźgK2 (38=AFIILMLMNOQRUWZ\_bdikptvz}~wng\RHA93/*++.3;EQ\iyѼr[E1!!'-/6?BGKRUY]adhgillliea^XVSRQPPOPQUVZ[`dflmtv{~{qmg_XPJD=6/(  !+5@LU_ir| Ԝ[EnŻ}wpjfa\ZUPOLGEA?>:850,(#   '4BM[foy_(Elɿ|vsnigd`]YVSPOLGA:4.'  )6BP]fozӿo:  "Hnĺ{vqniec_[WPJD=5-# ",8DOYdnzȩ\2  '9Md} ƾ}wn[C) !'+18>GQYbjr{sZA&  $1BSewɿ{eH,#)/359<=>?ADIKNUX[cgksx|~reVH7)  $0>KWgv Ǿ}gO9& (17;?CGIJKMMMNOPQRTVX[\^bcgklptvy|~~yqkcZQIC<62.+,,/27@IS\gu ­mYG6' %+.06<@EILPRTVXXYZZ[]^`bbceghlnprtvxz}~yslgea[WTQPPPRWZaiqzĵ{m`UMGA=;;>@AFINSVY]`cfhgillmkhea_ZWUSSQPQPPQSVVZ[^dehlmsvx}ûzrlg_WQJD>6/)!  )3>JS]gpz Ҙ[-U~ǽztnhe_[YSONJFD@><:65/+'# !/LYclv̳]+ 6[ȿzvpnhec_[WQJD>6/% )5@LUajvҳlD1DYrŻ~xp_H/  %)/6@DHJNUW[cgjrx| ~reWH8) #/BFHHJLNNOQQUUY[[_acgjlptvx|~~xpjcYQHB<51-)))+-18@JS]hvʷxeQ@/! !'+-18<@FHLOQSUWWWYYY[]]aaaceghlnprtvxz|~xtlgea[WSQOSW[cjr|ǷreYOJB>:8:<>@DHLQUW[_aegghjllljgca]YWSSQQOQSUWY[_cehlnrvx|? gzo]Sf~mTOszeMWZ`ymg{I4hŊA6xĀ:;ywORm~dWzآJ+g՞]Lcx{.9{P5]ƗmOHhAFi2=qxLPY`÷N=Thy yPO`i|Ǭf`XUjƳwYRY\gĹ}bPQUXh}obVHHWcnwg[I@K[dnyymZGCB?I_o{whUKF>?Paks{wvvaTNFADGK]u~ziZTSPNHEOcnj[XrsULIDHU^_]\^]_tsXWm}u]LRcnruzŸƥrlmlg]W]ltl[T`p{ô|aSXcffgfZKK\nvy}ȼmRN`nj\QQUXZ^a]SO\r~yqpzztlfd`_dnlW?5,%#*3:AHOYlƽ}}tfXOD6-% /M`rw}ǿk[PA42:@CINTZblrw|}o^SKA67DR\pƿytpkgggfipuwz~zpighilt~ytqmiea]ZXVTRPNNMMLKIIIHHINSVY[_adgilnqtwy}|ukaZRI?:976442111223446667899:<<==>>?ABDDFIOV]cltx}þ~yupjd\TMFA<60*$  #'*-28=AGMRZchmrvz~¾xsolgc_\XURNHA=:752,'%(-00/0/13469=@BGKNRUY\^adiotvvwz~þ|xusrrolkigec`[UQQRROLGDA>;87559@DDA@=0 #(,29>FR[ZNCALZdoubXY[\euŴɸþ{rnmmmjebgs~|rf_XOIE@<9887:>AENX_fpy~|zytj`XNA60)" &-11//9IVczŻwocVK@/'08Lls`Y_inqx|~~}}{la]YTVj}xhI+!3FT`mzx]OI>7BZp|}~~}}}||zww}}ti`ZWWTPLIHEDCCBAGR\etƴ~rcTI>1('*+,/3540-08?FScp~yjaWLE@8435553.-:Pbmxj\L:-$ (/6@HG>59Qoºtf`ZROQTV\fovzk\RD5+)+++,--+)'),/3;ENU^fp}ÿs[G?;514ADFTo}}|{zvsx˾shYLKRWY]begggiowzvngit~{dXL=39K\epyV95BPY_iqu{wdYX]`equi_SHDCACO_kxμ~}|zy|zpfdffhlquy}rcWK;* $5<<<>9,!#3ALWgvyqhhpw|Ĺ~{ypjbUJKU_bZLEJWchov{ysv}xtmhc]XUUUV[elh[OG>3+# ",:M_ge`br̿tyvuuolheedccfilr}s^NC3 &3=HZkvmmx}yuqnfYLC>843559EWcb[WUNEBFKPVcr|xpiaZM:) $0;GZvza]mxhjw}{zvttx|}zlltzviYOJB:;FRZ_eloqrutpy~ʶkLDMX^hy{hTO`{wl]PLPVWL7(+8DN^uŮtcSSdt~|z|}ytjdb`]^eouyvf\VK@CVo|}mfhklnorspkjox}tf[SI?70' -9?EKQ[l|jRD<4-5IYdrtdciotùz_OXo|xvqnljie\MDHT^fw~q`[k~õr`bgiimrqpnlfXMIOVZ`mwwjZU[cio|zungeiorqliiihjvʯtnrz~yyzzxupmliggkqrlaYVUUSLB;CZnx}{z~zl^VJ:/.5;?DHM\s¯~qiiijo{~}wpaJ9A]w|j_]XSZswbUQQQRVZ_k{ijxo]QH>59L_kuzlfggfmz{obWPH<;Oj}tlw{ohhiin|zssvw{zgYRKB@IU\]\Y^mźrZ;)'++0>MWdx{njjihnzĶ~wsy~~|woc]dr|~{uv}}fPHJNOT`ki]OIE>;>HQXcp{ƿm\[grtpjfaWNKLMMLKJLQU[p~tw}~wj`XQG@FQ[bm|xrk`VOJC>>ADHTcnszƶwf`bdeku}~|xvtollpstqnlkmooqttplgc^WTPMJJMPRSVY]fnsx}}sbVVamponmlkjhaWRUZ_abeffdbeinppnlr}p_TLD:8613;EKOUY^dimrvxüww}qeO=9EU]`bfhikmg\VRNIFIIJR_lruxz|~{z|}|||zzyxw|}}}zq`SUbouxy{zxwshZRT^ffb\[^`biwuoquvy~{xqlmt{~~|ysopqrty~~{y|wqdN==HPVcu~}vlfaYPOU]bfjnqtvz}vxvqw{njlmmortx|pg_XOLMMNT^djs}wnhaXSSTUZes}ºwrokjoz{ytja\]^]bkrx~~xtpkklmnsz}scXOB67FVaqznf[NN]q~}jcjw~xmd`ZRQTY\^aefc]\cnx||}~~q`SPRRRVZ\\\Z[bilg[SSZagoy{uojcXQONMOZfopnmq|odizteehhn~mda^[]elprtvy~}zytponmlnopsz~}|{z|}wolmrwvrkgfa]]\\]adgkwyrquvx{~ytsx|wy~{tsuvurpnnopnhb_acdgknqqnmmmkmv}qnsy|{yvtttssrqsz}snprtuuuvwxxwvsqstttssspnot}{wuwyy~{wrib]WPJHGFFGGIP\fmry~{wtmgb_\Y[ckmlihkptx}}thabfhn{pTBFXflv|wrjffddgqz{z~yvsooz||~wpjc\XWUSUY\blw~zsnha[Z\]`jw}xsrtwwz~|xqjiloqswyyxtsstvx~y}upqtvtrooqsvx}|torx}{tkhmuzqfglpt{qmic`_^_\TLJOW]aeinx|offilmptwuojlpuyz|{tjjpvzxwwy~|wogfkqu|~}~|~~~|xtkddios|wnnrvy~|xvsrt}vhaa`_dovz}ysokfedcacginu~|xwtrqppooqpokfeeghjmoqqssuxz}y{{{|}~}}|{}~{xxxvurnnpsuvxy|yqligdehjkpuwxwwxz}}~zrliihhfddflrvx{}{rkinqtz{zzxy~|{xxy{{zxwvvvuvwwy{}}{uqsvyz{{||}~~}|}{wuuy{~}uuvvwxyzwsonkeejqvwtqqv{ykchqvzvnptxyywvtpmpzzw{}zxutrpmljhgiknprvxxwvvxyyz{}~{wsrruuvutttrrvz}~~|z|wphgjknquyxwrprqstuvwxyz|~}~}zywusqnnoqsstvvsomptx}~{~~||}~}|zyxwuv{}}x|}snjebdiqtuwz}}wqqw~}}}|}}womr{~|xrnligfebabdehpx}|~}~yusrqolhgilnptwwyvvvwwvwvwx{}}~~{{zy{~}|{xvvvuv~|z}uonnoqw~{yvqljhfehmpt~|z{}}|~~|zwv{|vqtz~~xtwy{|~}|{zxutromlmmnnppt|~|||zvux{}~{wsnnprrstsrsuvvxxwtqpqsuwz|~~~|~~{zyxx{||}~|vsrrqrvy{|~|zxtpoqvz|~~{yyz||~}}~}}zwsqrqrtwz|~|zzyy{|~zxy}}{vstwy{~zxusrqppu|~||}}}{xuuy{}zrmnqtvwz|}~}|{{{y{}~}|{xvvuttx{~~~}yyzzyxuvvxyz{{|{|||zxvuvwxy{}{xwwz}~||}~}|||z{|~~}}~~|{yyxyzz{{|}|}}{yxz|~}wuwyz||{zvvy|~~~|wvx||z}{z|||{yxy{z{z|~|~|zxyxy{}~}}zxz|~~~xttvwwxy{{|}{yyx{}~~~}|zyxwxzz{{}}{ywvvwxz}~}yz}~~}}|yz{{zzyxyyyz~|||{|{|}~}{ywtrqsuwy{~~~|{}~|xvvuttxz|~~}}}|{}~~~{yyxwvwxyz{zyy{}~}{}}}~~{xx{|~~}}|||{|||}}}~}zxz|}~}|}~~~}~||}~}}{|{z}}}~|}}||{|}}}|{zzyxwy{|}~|ytsvz}~~~|ywxz|{}}~}}~}~}~}|{zyxzzz}~~}|zzz|z{{y{}~~~~}|||{|{zz|}~~~~}}|{{||}|{zzyy{|}}~~}|}~}}|}~~~}|{{z|~~~|{zyy{}}}~}}~~~}}|}~}}{zy{|}~~}~~ï~z~bB48Jl^H<8JvbF86FjǵnR:.8`vR<26LvŹlJ62@\pN:2bɵV2$""$6V|xN, (2JvxF($($"2TzéT0 &&(@pɹpF$ &0L|ų\6""2Tű`8 $0L|õh<"$,>dñd>$".JxçvH, &0Jz`6 *BjǷj@"&4Tdz\:$$2TDZZ8$&6Vɷd>&".Lz˿R0$0Pé~L*$0Ht^2 ,BhɻrF& $.JtɽvJ($2PɻvJ$ ".Bhñh< (4Jrb6  $0Pǿ`2 $*&2^éT2 (0>XX6$"(2Bb˽rJ2$ 2NníV8,*&*@jűpF,$&.>\ɻf@0("(FníZ>.$(>^|ûrD*"",Bbū~R:.*,@bűR4((0FjŽvH0,,2HnŷpF.*.8T~÷h =: "4Ll˯\H8**@df>,*2HlůjH,".Lrǹ\:&*Bdb>0.6Nx÷xV<04JpÿZ@0,@lý|ZB.*BnjH4,8X\>.0FlbJ:08^ŽlL<48T~rR:,4VŻrTB:B`hN<4FnZB6HbínL`ŷz\B4@ffPFFXſ|R8>Zx˻r\H8DlX@@J^t\D8HvtJ6B`|÷dJDRpűtZB8JxpL8NjB8PzlB2DjpB4LrjD8HlbDB^ŽzXDB\jRFTxnHLtrJB^\@HjrF6N|R:Fn^:@ddBBdlLJhlHDbnFHlbFT~V@ZvL<\T>N~jFFf~J@b`HXfBNdBFrjDLxbBL|R:VzNHjvPTZFdlHN|VHfvV\XX\XzbRlj\vf`xlddlv`lf`zvdpl^r`^|x^brZbr^jlVfrPT~|NLxVJnZFfd>Jz\H\RNvpHJxnJRhJZnDBpj@BjR@Z^@HxpHB\Û^>P|Z@P|T@T|J2DtR8JzfHJnbBFhxL:LtlBd`DJl\<>`dDB`j<6V|N4@dnRDLhXDJ`xJ8Hnl@6LpzL>RtͷVDJZvǧzXF@HfͳnXF@VtJ4BfdzdLFJ`hD0@hZHFJZǻvN8@ZrŷfF2@dõnT>4HxhN@:LxdH86JtlL:6DjvP:4>bXD>4>b`Lt~ II||EE4AvShkShkDShktNuB9WLR8iAPA1AےmCv ) $YHF@RNuLR8iAXA1AےmCv ) $YHF@RNuLցR8iA^A1AےmCv ) $YHF@RNuKD0@ jp$r:L PJBgSBQAkAA;B"5 03A3AHA23ANu.Ӱ2ش????bSyF^NE4Bf#E0#|#E0AWC/9/9#z##Ax##Ax##&NbNNNWNW>>##**pp666666777666xxxx""))666""rrp:vvv404040666666:777777:777333#}}}}9999EEEE}}}}8888` ` ` ` ȾȾȾȾ>r>r>r>r 2QAQAQAQAEEEEeeeeQQQQAAAA!!!!DDDD ,,,,     2Qy}PUy=  8JA PE0LQA F ) c8}EDD^}8 r( >#`By#v#naj`NJf#N4B8NNBNBPN:aBAS:0<H@09C NNNz#3.B9#DDByDP#HV#<3@NaB9Na#A#AN 9 f N^P9f 89f9@PNBadav8g8` ynN8g8ggNu8i8igNuA06 AmNu!Nu!Nu?HPAJ98fFJ96fPg*(<fP8`<e 6`9 _4Ns8`7S96`K/C !# #.#pB# JNuK/4I8!#8 8 8 NuF'Cb !# #!.!Bp!J F#Nu !  !!"BHL?`H?HJ9f6!DwDNZa@da>n8fd(A00U@jp03`3p|3pL?RxhNs'5GWgwvutsrqp`!D1'BRxf!*  !Ns1D!: Ns1D!J Ns1D!Z Ns!B!l Ns1D!| Ns!"B! Ns!`B! Ns1 D! Ns!p0B! Ns1@D! Ns!wPB! Ns1`D! Ns1pD! Ns1pD! Ns1pD!$ Ns1pD!4 Ns!pD!"3J!DUN1fT1v\!b Ns1pD1`^!x Ns!fpB1@^! Ns!0pBNs>G<FGL@`H@9gNsK,Ns                                                                                                                                                                                                                                                                                       wxyz{|}~ qr s t u v w x y z { | } ~  mnopqrstuvwxyz{|}~hhhijklmnopqrstuvwxyz{|}~defghijklmnopqrstuvwxyz{|}~_`abcdefghijklmnopqrstuvwxyz{|}~[[\\\]^^^_```abbbcdddefffghhhijjjklmmmnooopqqqrssstuuuvwwwxyyyz{{{|}}}~WWXXXYYYZZZZ[[[\\\]]]^^^___````aaabbbcccdddeeeffffggghhhiiijjjkkklllmmmmnnnooopppqqqrrrsssstttuuuvvvwwwxxxyyyyzzz{{{|||}}}~~~SSSTTTUUVVVWWWXXXYYYZZZ[[[\\]]]^^^___```aaabbbccdddeeefffggghhhiiijjkkklllmmmnnnooopppqqrrrssstttuuuvvvwwwxxyyyzzz{{{|||}}}~~~OOPPPQQRRRSSTTTUUUVVWWWXXXYYZZZ[[[\\]]]^^___```aabbbcccddeeefffgghhhiijjjkkkllmmmnnnoopppqqqrrsssttuuuvvvwwxxxyyyzz{{{|||}}~~~KKLLMMMNNOOOPPQQRRRSSTTTUUVVVWWXXXYYZZ[[[\\]]]^^___``aabbbccdddeefffgghhiiijjkkkllmmmnnoooppqqrrrsstttuuvvvwwxxyyyzz{{{||}}}~~GHHHIIJJKKLLLMMNNOOOPPQQRRSSSTTUUVVWWWXXYYZZ[[[\\]]^^^__``aabbbccddeefffgghhiiijjkkllmmmnnooppqqqrrsstttuuvvwwxxxyyzz{{|||}}~~CDDDEEFFGGHHIIJJKKLLLMMNNOOPPQQRRSSTTUUUVVWWXXYYZZ[[\\]]]^^__``aabbccddeefffgghhiijjkkllmmnnnooppqqrrssttuuvvwwwxxyyzz{{||}}~~?@@AABBCCDDEEFFGGHHIIJJKKLLMMNNOOPPQQRRSSTTUUVVWWXXYYZZ[[\\]]^^__``aabbccddeeffgghhiijjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~;<<==>??@@AABBCCDDEEFGGHHIIJJKKLLMMNOOPPQQRRSSTTUUVVWXXYYZZ[[\\]]^^_``aabbccddeeffghhiijjkkllmmnnoppqqrrssttuuvvwxxyyzz{{||}}~~889::;;<<==>??@@AABBCDDEEFFGHHIIJJKKLMMNNOOPPQRRSSTTUVVWWXXYYZ[[\\]]^^_``aabbcddeeffgghiijjkkllmnnooppqrrssttuuvwwxxyyzz{||}}~~34556678899:;;<<=>>??@@ABBCCDEEFFGHHIIJKKLLMNNOOPQQRRSTTUUVVWXXYYZ[[\\]^^__`aabbcddeefgghhijjkkllmnnoopqqrrsttuuvwwxxyzz{{|}}~~012233455667889::;;<==>??@@ABBCCDEEFGGHHIJJKLLMMNOOPPQRRSTTUUVWWXYYZZ[\\]]^__`aabbcddeffgghiijjkllmnnoopqqrssttuvvwwxyyz{{||}~~,-..//011233455677899:;;<<=>>?@@ABBCDDEFFGHHIJJKKLMMNOOPQQRSSTUUVWWXXYZZ[\\]^^_``abbcddeefgghiijkklmmnoopqqrrsttuvvwxxyzz{||}~~)**+,,-../001223445667889::;<<=>??@AABCCDEEFGGHIIJKKLMMNOOPQQRSSTUVVWXXYZZ[\\]^^_``abbcddeffghhijkklmmnoopqqrsstuuvwwxyyz{{|}}~%&''()**+,,-../01123345667889::;<==>??@AABCDDEFFGHIIJKKLMMNOPPQRRSTUUVWWXYYZ[\\]^^_``abccdeefghhijjkllmnoopqqrsttuvvwxxyz{{|}}~""#$%%&''()**+,--./00122345567889:;;<==>?@@ABCCDEFFGHHIJKKLMNNOPQQRSSTUVVWXYYZ[\\]^^_`aabcddefgghiijkllmnoopqrrsttuvwwxyzz{|}}~ !""#$%%&'(()*+,,-.//0122345567899:;<<=>??@ABBCDEEFGHIIJKLLMNOOPQRRSTUVVWXYYZ[\\]^__`abbcdeffghiijkllmnoopqrsstuvvwxyyz{||}~ !"##$%&''()**+,-../012234566789::;<=>>?@ABBCDEEFGHIIJKLMMNOPQQRSTUUVWXYYZ[\]]^_`aabcddefghhijkllmnoppqrsttuvwxxyz{||}~ !!"#$%%&'()**+,-../012334567789:;<<=>?@@ABCDEEFGHIIJKLMNNOPQRRSTUVWWXYZ[[\]^_``abcddefghiijklmmnopqrrstuvvwxyz{{|}~ !"##$%&'())*+,-.//01234556789::;<=>?@@ABCDEFFGHIJKLLMNOPQQRSTUVWWXYZ[\]]^_`abccdefghhijklmnnopqrsttuvwxyzz{|}~ !""#$%&'())*+,-./001234567789:;<=>??@ABCDEFFGHIJKLMMNOPQRSTTUVWXYZ[[\]^_`abccdefghijjklmnopqqrstuvwxxyz{|}~  !"#$%&'()**+,-./01233456789:;<==>?@ABCDEFFGHIJKLMNOPPQRSTUVWXYYZ[\]^_`abccdefghijkllmnopqrstuvvwxyz{|}~  !"#$%&'()*+,--./0123456789:;;<=>?@ABCDEFGHHIJKLMNOPQRSTUVVWXYZ[\]^_`abcddefghijklmnopqrrstuvwxyz{|}~  !"#$%&'()*+,-./01234566789:;<=>?@ABCDEFGHIJKLMNNOPQRSTUVWXYZ[\]^_`abcdefgghijklmnopqrstuvwxyz{|}~  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~*11$ ":#AjBJ&<9ȖKCm3B yB aI#A4:6a#ANu3BKfNuSCC")@ i4:84i::NGD0)a#A@2")D i4:Z8)4i::"G0)ah#AD3D")H i4:.8)4i4iG0)aV#AH3D")L i 4i4:8) 4iGθ0)a(#AL3D Nu3C|3C3C3C3C3C3C3C3C3C0zT((z03PBeZ803PBeT803PBeN803PBeH8Q0:Z@fNuS@03PBe08QNu8\RATARAk2 `RAk2 `RAk2 `RAk2 `RAk2 `$z6:SCjNI2<89A9A9A "<#H@#Hd#H#HE$EfE6*"R9*!"R jaJ"j j a>"j ja2"j ja&#D3DNu (C) G.WHEATON. 7 SEAFORTH ROAD. BOLTON. LANCS, U.K. DHIH@IHdIHIFHIH@IHdIHI:HMH@LHdIHI:HN:H@OHdN>HI:HOVH@OZHdIHI:HPH@OZHdIHI: eNuS)f`0"0j2" $H@H* @I3t3i3AXQHAAAI 0&iJk3|'l'l@@'lp)a0)(i 8R)NuF.FGGF.FGGDGLGTG\G(G6GGGH H(H0GGHF.F.F.F.F.F.F.F.F.F.F.F.F.F.F.F.If@@(tNNu(i8 Nu )dNu2)i2)imDAin2)i3ANuDi`3iNu(i2:9ANu(i2:9ANuI,`I.`I0`I2UTj803tNuTtv*^(ixGJixXގNua`a9@Gd i.n3iNu|NuNu(i Nu(iNu(i9@Dd (i eUJ)gNuNu ) e i,i,`Nu )eidNu ) eiZNuAQ&SAX,Q*SB,dQ.SBQ2S@!f#%g( ),o/]2K48';>BGJJPSX^dixpNv*}(t,T$ %###################$$$ $     # ## ## ## #    # ## ## ## #$ $     # ## ## ## #    # ## ## ## # $$0 $$$$# $$$# $$$$$$#"$""""$""""$"""" $$ $0#0$ #""""""""""""" $ @    @ # @$ $ $/#0$ #"""""""""""""0$ $XpX#X$$ !! ! $ $8(8 #8 $  B8ٸ(8ٸ*^5&6f]gq*^5&6f]gq*8ٸ(8ٸh~RARARARAr6~غo[J<0' ",7CNXbksz}|{{{zz{|{z{zxuqmiecaabfkotw{~ϹzhXI=3+% #+4>GQZbkqx}~|{zzyyyxwxxwusolifefgilnquy~ƳziZLA91+&!#)1:BKT\dkrx} ~}|{zyxxwvvwvtroljhggghjlptx{~xhZND;3,%! %,44,%!"&,29AHPW^djptx{~}zyxxxwwwvutrpnlkjkmnoppqqrruyøzm`SG=3+$ "'-3:AHPW^djoswz}~|zyxwwwvvutrpomkjjjkllnopqqrvzxk^RF<2*%! $(.4;BJQW^ejnrvy|}|zyxxwwwvusrpnmllklmnpqqrsuy~Ǿwj]QE;2+%!"%*/5DJNSW[_behjmpsuwy{~~|zxvtsqpononooppqppooonoprux}xlbVMD=62.-,.037;@EKOSWZ^begiknqsuwz|~}{zxusrpoonnnooppopnopruy~wl`VMD=731//036:>BGLQTX[^bdgiknqsuwz|~~|zxvsrponmmnoonnnmmmnnpsv{uj_ULD=84100247;?EILPTX[^acfiknpqtvy{~}zxvtsqpopopppoonnnmnoqtx{si^TKD=85312469=ADHLPTWZ]_bdgikmprtwy{~}{xvtrqqpppopoonnmmnopruy}~si_UME?:754458;>AEIMQTVY\_adfhjlnqsuxz~~|ywusrqpopoopopooonmopsvz~}rh^UMF@;87578;=@DGKOQTWZ]_acehjlnprux{~~{ywtsrqpoonnmnoqsvz{qg^UMFA<:889;<::;=>ADFILNRUWY\]`bdfgilnpsvy}}zxvtsrqqqpoonnmnopruy}ypf]UNHC@><<=>@BEHJMPRUWY[]_acefikmpsux|}zxvussrqqpppoonnmnnoqsvz~yof^VOJEC@??@ACEGILNQSUWY[]_`acegilnqtx{|zxvutsrrqqqppoonnmnortw{~ypg_WQLHEDBBCDEGIKMORTVWY[\]_acdfhknqtw{~{yvutsrrqpoonnmnpqsw{wnf^WQMIFDDCDEFHJLNPRTVXYZ]^_`bdfiknquw|~|ywvuttssrrqqpoonnnmmmoprtx{vme^XRNKHFEEFGHJKMNQRSUWYZ[\]_acdgimpsvz}~|zxwvuttssrqqpponmmmnnoqsvy|vng`ZUPLJHHGHHIKLNPQRSUWXYZZ\^_acehkorvy|~{zwvutttssrqqpoonnmmnnpqtwz~vng`ZUROLKJJJKLMOOQSTUVWXZZ[\]_bdfiknruz}}{yxvvutttsrrqpoonmmmnnprtvz}}vnga\WTPNMLLLMMOPQRSTUWXXYZ[\^_`beiloqty|~|zyxvvuttsrqpoonmlmmnnpqtwz}}unhb]XURPONOOPRSUUUVWWXYZ[\^_behjmptx|~|zyxwvuuutsrqpoonpqsux{~{unhb^YVSQPPOOOPQRSSTUVVWWXYZZ\^`bdgjmptw{~|{yxxwvvuttsrqoonopqsvx{|uoid`\XVTSRQRRRSTTUVVVWWWXXYZ\]_bdfikorwz~|{yxwwvvutsrqpoonnmnopqtvx{~|vpjea]ZWVTSSSTSTUUVVVWXXYZ\]_acfhkoswz~|{yyxwvuttrrqponmmmnopqtvy|{uojfa]ZYWVUTUUUVWXXXY[\]_adfhlosv{~}|{zxxxvvutsqpponnnooqrtvy|ztojfb_\ZXWVWVWWXYZ[]^`behknqvz~||zzyxwvutsrqpoonoopqsuwy|zuplgc`][ZXXW VWXYZ[]_adfinquy~}}{zyxxwvutsrppopprtuwz}{vplgda_][ZYXYXWXXY[\]`bdgjmrvz}||{yyxwvutrqpooonnppqsuwy|~{vqmifb`_]\[Z[ZZZYXXWXWXXYYZ\]_adfjnqvz~}|{zyxwvtsrqponopqsuvy|~{vqmjfca`^]\[[[ZZYYYXWXWWVWWXXY[\^acfimqvz~}}{{yxwvussqppoooppqrtvxz|zuqmjfdb`^^]\\[[[ZYYXWWWVVVWWXY[\]_cfimqvz~}|{zyxwutsrqpqstvxz|{vrnkhedba`_^^]\\[ZYYXXWVWXZ\]_aehmquy~}|{zxwvutrqqpoooppqstvxz}{wsoligdcba`_^^]][[ZYXXWVVVWWWXY[]_beimqv{~}|{zyxvussqqppoppprsuvxz}~zvsoligfdbba`_^^]\[ZYYXWYZ[]_cfjmrv{~}|zyxwutsrqqpppqqrstvxz|~zvspmjhfedcbaa_^^]ywqmjgda`]ZYVUSQONKIIHFDCA>=;9864220/0358=BIPXbkywaOBBVDžI7Nδ}uqpru{zvpmifc_\YUSQNJGED@?;;96541//.-,-0389630.,)'&%$%'),/37:740-*)''&%$$%&(*-048=BFMTY_ejotwz{|{yvrle_YVW\gz߳cJDNhǼ{uqje`YTPKFA>:62/,*(&$##"#$%'*-159>CIMSY^aeilnpqqpmjfb^[Z[`kzϪ]KFPhź{upje_XTNIE@<840-*'%$##"##%(*-058=AFKPUY^bfhklmmljgda]\[^cn}׶kSGJXrȿ}xsmga[VRLGB>952.,*'&$%&(*,/37;?DHLQVZ^`ceffgfdb`^]]`en|ԳoVIHSj|wqkf`ZTNJEB>951.+)'%$###$&(*-037;@DHLPSVY\^`aaa`_^]\]_clw̫kTHGSeſ|wrmf`ZUOJEA<841.+('%%$$%&)+-/269=ADHLPRUXZ\\]^^^___`chq{ջ}aPGITh}ü}xsnhb\XRMGC?:730-+)'&'(*,.147:>AEHKOQTVWYZZZ[[\]aeltjUIGN\pþzuoid_YSNJE@<852.-,+)((()*+-0247:>@DGJMOQSUVWXYZ[]`djr{ѷgUHFLWj}½}ytoic^YTNIEA=9520.+*)(())*,/1369;85320/.-../013579<>@CEGJLNPRUWZ]`dipwîn]OFCGNZhxÿ|wsnid_[WRNIFB?<975422124568:<>@CEHJLNQSUX[^bfkqyŴwdVJDCGP[hw~zvqmhc_ZVQNKGC@>;9755433344679:<>@BDFIKMPRUX[_cglrzʽpbSICBFMVdr~zvqmid`[XTPLHEB?=;976778:;>?ABDFHJMORTWZ]aejpv}Ƹo_SHBACJS^ly{xsnjfb^ZVROKHEC@?=;:988899:;=>@ADFHJLNQSUX\_chlrxötcWKDAAFLVao{}yuqlhea]YVROKIFCA?>=;;:::;<=>?ABDFHJLNQSVZ]aeinsyź}l]QGB?@DKT_lw}yvrmjfb_[WTQNLIFDCBA??>?ABDEFHJLNPRTWZ]aeimsx~{l^SIC@@CHQ[er}~{wsolieb^[XTROMKHGFDCBCDEFGIKMOQSVY\_bfjotzž}naTKD?>@CJS\hr~|xuqnkhda^[XURPNLJIGFEDEEFGHJKMNQSVY[^aehmqw}|oaVKD@>?AFMV`kt}zwsplifc`]ZXUSPNMKJIHHIIHIIJKLNOQSTVY[^adhkptyxl_TLD@>>AFLT^gqz~{wtqnjgda_][YWUSRPONMLLLKLLLMNPQSUWY\^adhloty~|pfYPHB?>?BGMV^hrz|zvspmjgeb`^[YWUSRQPOPQRSTVY[]`behlpsx|}rf[RJC@>>ADJQYaks|~{xtqolifdb`^[ZXVUTTSRSTUVWYZ]_bdgjnquzynbYOIC>==?CIOW_hqz|xvspmkifdb`^\[YXWVUVVWYY[]_acehkoruy~ti_VMGB??@AEJPX_gow~{yvsqoljhfdb`^]\[YYXYZ[\]_acfhkmqtx{wlbXPID@>=>AEJQY`ipx~|yvtromkigeca`_^]\\[\\]^_abdfhjlorux|~tkaXPIE@>=>@DIOV\dls{}zxusqomkigfecba``_``acdfgikmpruy|zqh^UOID@>>?AEJOV\cjqy}{ywtrpnmkjjhgeedcccbccdeghjloqtvy||tjbYRKFB?>>?AEJOV\dkqy~}{yvusronlkihgfeedddeeefggijkmnpsuwz}xpg_WQKEB???@BFKPV\bjqw}}{xvtsqponlkjiihijklmoqsuwz|~vnf_WQJFB@>>@BEINTZ`gmsx~|zxwutsqponmlkkjjijjjkklmnpqsuwy|xqiaZSMHEB@@@BEIMRW\chntz~{zxwvtsrqponmmmllmmnnopqrsuvxz|ztle^WRLHDBA@ABEHKQU[agmrx}}|zywvutsrrqpqqrstvwy{|~~wpjb\VPKGDA@@ABEHLQU[`ekpvz~}|zyxvvuttsrsstuvwxy{}}wpjc]WQLHFDBABBEGKOSX]bhmrw|~}|{zyyyxwwvvvuvvwwxz{|~~xslf`ZTPKHECBBBCEHLPTY^chmrx|~}|{zyxxxwxxyzz{|}{vpjd_YTPLIFEDCDEGJMPUY]bglquz~}|{{zyzz{{|}~|xrmgb]XSPLIGEDDDEGHKNRUY]bfjnrvz}ʘ|xrnid`\XTPMKJHGFGGHIKNPSVY\`cgkorvy|~zvrnjfb]ZVSPMLJHIJLMOSUX[^adhkoruxz} |xuqmieb^[XURPNLKJJIIIJKMOQSUX[^acfiloruwz|~}zwspmjfc`]ZWTRPOMMKKKLLMNOQTUXZ]_behkmortwy{}}zwtqmkgda^\YVTRPONNMLLMMNOQRTUXZ\^acfhjmortvxz|~~{xurolifc`^\YWUTRQPPOOOPPQRSTVWY[]_acfhjloqsvxz}}zwtrolifda_][YWUTSRRQPQQQRRSUVWYZ\^acegikmoqsuwy{|~ ymaUI>4*!  !*4>IUamyorcoakgsp|[\{uKq~hc?4-Nr|wӟ`-DDArztԵW>FmũdS^V;DpŧbR^R9Ft¦^S^Q8Kt¥^T]L7Lvƿ[V\H8PxǼ[VYD9VvƼ~^WTB=Uuú~_VQA?Xt|`UMBBXs|_QIDDTq|`MHFESr²}_IHIGRuį[GIJDRyŮWEKJBTzǪSDMJ@Rŧ}REMG?W¥xOFNE?\rMHMC@`ʽoOIKAC`ɼoPIG@EcƻmQHDAJdĽkSEBCLaoRAAFLanN>AHM`êoL;BKM`ŨnJ:ELK^ŤoF9FLIbġkE:HMIbßi@:JKIgždA;IJJgξe?KMV{˲uQ9>LMW~ʯvQ8?MMYɯtN8AMLZɫqO9BLL^ǪnL:CKK^ĩmJ;DJLbçmK=DILdiI=CHNfeH=BGPfƾ~cI=AHQjŽ{cH=BJTkľydH;BLUkĽzcG;CNVmžxcD:EOWlƼybB:FOVoȺy`@;JPUrȸz[?=KNUwȴyV=AKLUzȮwU>DLJXŭvQ@FKI]qQBHIJbƽlNEHFKdźgOGGEMh¸gQHDDQieRHBETk~eUGAGYkzhUFAJYjziUCAOZh{kR@CPZg{jR@ESYi}iN@ISWi~iKALSUl¸fKDNQVm~eJFNOWp}bJINNXv{_KKMNZxx\MKKM^wv^OJIO`yr^PJIRcxq_QIIUeyr`QHKWfwpbPFL[gvpbOFN\fwrbPGQ]gy}raNGR^gy}rbLHT_fz|s`KHV_f|}r_LJW`h|}r`LLX`g}r_KMY`i{q\LNZ`i|p]MOZak|o]NQ[am|n\NP[an{m]PQZcpyl^QQ[dqxl^RQ\grwm`QQ^irvm`PP_kptn`OPakptp`ORckouqaMUejovr\MVfio~xq\MZhho~yqYNZffqznYQ\efr{lZS^egvzjZU]dhxyj[W^dkywi^X\enztk_Y\goztl`X]iqz|smaW^kqy{snaW`nqxyvp_Xdoqyywo]Ygpo{zyo][joo|{zl]^kno}}yj]ajmp~yj^cjkqwiaejlsuiceimwtjefiox}slfeipy|smfeiqxztogdksyzuogeltxzvpfentw{xoegptv{xneipsw|xngjqsw}wmgkprx~wlhlpry~vmimpry}vmknps|}unknpt|}unmnpt}}tpnnpu}|uqnmqv}|vronqw}{vsonsx|{xsontx{{ysnouxz{ztmovxz}{snqwwz{snswvz{qouvuzzqqvvu{yrsvuu~wrtvtvwtvusw~wuvtty}xwvst{|yyurv|~{{yurw||{}yrry|z|yqt{{x}~xpu}zw}vpx}xx|tqz}ux}rq{{sy~qt}zs{|rw~xs~~zqx~vtxs{|uuxu|{txxx|ytyxy|wt{~y{zvv{}{{yvx|}~~}{wvy||~{ww{{zzvy|yzxv{|wyxv||vyvx~{uz~vy~yt|~v{~xu~}w|~wv|x}|vw~{y~{ux~{z}zvx~|{|zvy~}||zxz}~|{zxy}~{{zxy|{{{xx}z{|xw}}z|{ww}|z}|vw}}}{~{vx~}||~{vy}}}~zvz~}|~~xv{~|~}~}xw{~|~~|xx{}}~{xy{{}~zxzzz}|yyyxy~{yzywyzz{xw{z{{wu{~y{{vu|}}z}zsu}~|}|~ytw~~||}~xty~}}|~~vsy}z}|}ut{|z~~{tv|{zytx{zzxtxzxz~vuyyw{|vvyxw}{vyzvwyvzyuxxwzwtz~wyzut{|x{yst}~|y|xsv}}{z|wsx~~z||usy~|~{}|tsz~||~zsu{}{~}~xsv|{{~~}wsw{z|}vtxzz}{uuyyz~zvwyyz~yvxxx{}xwwww{{xwwuw}{xxvux~zyyvuz~~zzyuu|~z{xtv|}{{wtw|~~||{vsx}}||{uty|||}ztuz||~}ytwz{|}wtwzz||wuxzz~{wwyyzyvwxwz~wvxwv{}wxyvu|{wyzuv~zx{ytwxx|xsxxz|vsz~x{|ts}~|x}{su~|{y}zru|z{~xsx~|y|~wrz|}z}}ut{{~|~{tv|}{~}~ysw|{{~~~wsx|z|~}vtyzy}{uvzzyzvy{yzxvyzx{~wvzxw||vx{xw~{vy{wwywzzvyxx{yuz~xy{wu{}xzzwv|}yzzvw}|z{xvx}{zzwuy}|{zwvy|~}{ywwz|}{ywx{}}{xwyz|}ywxxy|}ywxyy}}xwyyy}{xxyxy~{xxywyzxxxwzzyyxx|~zzywx|}zzxvx||zywvy|~|{zwvy|}}|yvw{|}}|xux||~~~|wvy{{~{uvz{{zuw{{{yux{y{~wuyzx{~vvzzx}|vwzyx~zvxzwxyvzzvyxwyxuz~wxzwu|}xzzuv}{y{ytwzy{xuyz{{vt{~~z|ztt|}|z|ysv}~}||}wsw}}||}}vsy~{}|~|tt{}z}ztu{{z~xsw{zz~~wsx{xz}vtyzx{|uuyyw}{uwzwv~zuxywxxvyywz~xwywv{}wxxvv||xyxvw~{yywuy~zzyvuz~{zyuuz~~{zwtvz}~|{vtw{|}}zvuy{|~}yuuyz{~|xtvxy{}wuwxx{|wvwxy}{wwxxyzwwwwz~ywwwvz}yxxvw{|yyxuw}{yywtw}{zzvty~z{ytsy}}~{|ytu{}|~|}xsv|||}||vsv{{|}}|urx{y|~~|ttyzx}~{tuzzyytvzyywtwywy~vtxxw{|vvyww|{vwyvw~yvxxuwywywuy~xxxuuz}xyyuu||yzxtu|{yzvsw}~{zzusx}}{{zuty||||yuuz||}}xtv{{}}|wtwz{}~|vtwyz}{vuxyzzvvxxz~yvwxx{~ywwwx||xwwvx||yxwvx}|yxvvy}{yxuuy}{zwuvz}~{zwuwy|~~|zwuwz|}zvvx{|}yvvxz||xvwxy||wvwxy||wwwxx}{wwxwy~{xyxwzyxxwvy~zyyvv{~zzxuv||zzwtw}~|{{vtx}}||{utx|||}zuuz||}}ytv{||~}xtw{z{}vtx{y||vuyzx}|vwzyxzuxzxxyuyywyxvzxvz~wxzwu|}wzzvv~{wzyuw~zy{xtwzz{wty~~z|{vt{~{}zuv}~}}|}ytw}}|}}}wtx|{|}}vty|z}~|vvz{z~{uw{zzyuw{yz~xuyzx{~xwyyx|}xxyxx}{wxywx}{xyxvx~zyzxvy{zzww{{{zwx|~|{ywx|~~|{xvy|~~}{wwy|}}zwxz{}}ywxz{}}yxyzz}|yxyy{{y{zyyyx{~zyyxx|}zzywx}|z{ywx}}{|ywy~|||xw{|}{xw|~~~}}zwx|}}~}}zvx||}~~ywz}|}}xw{|{}xy||{{wy{z{zxz{z{yx{{y|~yy{zx|}yz{xx~|y{{wx~{z|zxz{{|zx|{||yx}~{}{xx}~~}}zwy}~~~~~zx{~}~~}yx{~}|yy|}||xz|||{yz|{|~{y{|{}~zz{{{~}zz{zz|z{{yz|{|{z||||zz}~||{yz}~||{yz~~}|zy{}~~~|zz|~~~~|yz|}~~{z{|}~~{y{||~~{z{||}z{|{||z{{z|{{|{z}|||zy}~|}|z{~}}|z|}}}{y|}~}zy}~}~}yz~~}~~|y{~~}~{y|~}~zz}~|~~yz~~|}y{~|{|y|~{{zz}}z|zz}|z~~z|~{y~}{~~z{|{~z||||z|{}{y~~{~~zz~}|~yz~}~}z|~}|y~}}}{z~}~~~zz}}z|}|~|z|}|~{z~~|}{{}}{~~{}}|~|~~||}|~}|}|}~}{~|}~|{~~}~~{|~~~}|}~~~|{}~~~||~}{|~~}{|~~~~||}~~~|}~}~~}|}|}~}~~}~~~~}}}~~|}~}~}|}}~}|~~~||~~||~|}~~}{}~~}|~||}~|}~}}|~}}}|~~|}}}}}~~}~|||}}|}}~~|~}~}|}}|~}|}~~~|~~~}|~||~~~|}}~}|~~}~}{~}~}}~}~~~~}~}~}}~}~~}~}~}}~~~~~}~~~}~~}}}~~}~~}}}~~~~Yqm{xLWp:_lhTQ@?H9S{pE[WiðäJĨpmssyxrrkkge`[[VSPKHII@><9840%%$-.-,&'-)/*+*')1242524;>=?D@COHEMSTSYcdZYcoqsutq{zyx»zvurplgc`]ZXVUSLEBEJH@4+-68:=(/0/( +0   !#%&'',-134338?EEEFHKLLMPVY[[\^_ceegikopswxy{}¾~{}}yuvwxxuporsqnigghgeec``ba^^\ZYXWUUSQPOMLMOMIHIFC@ADD@@@??=:9:898554343233231.--/0/-+,,,--,+++,-,,+++,-.---./0001234456789<<<=?@@BCDEFHIJMNPQRTUVW[[\__aceffhimoqsrsuwyz{} ~|zyxwutqponmkjhggecba_^^\ZZXWUUTSRPONNMLKIIIGFEFECCBBBA@?@?>??>>>=<==<<==<=>>?@ABBCBCDEEFGHHHIJKLMMNOOPQRSTUVXXYYZ[\]__`aabdefhhijklmnoopqrsuuvwxyz{||}}~~~}~}||}|||{z{zzyzyxyxwxwwvwvvwwvvwvvvuuvvu ttuutuutuututttutsuuttutttututuvuv w x yyxyzyyyzyz{ | } ~~~  -~~~~~}~}~ }~}~}}~ }~~}~ }~~~}~}~}~~~}~}~~~~~~~~~~~~~~~~~~~~~ ~dD/3;GWglC`_}_FgP[lok@hopNxvPOKG[PT//+;W^ip{zlj`HH0 2/[W@HW`PajtnlfP/4D?W[UVDE<>?QWWIgѿǿt__O#O!HOgpJ`thgtTXo{Ͽohph@P@P/H?_P80X_`Gļï`|k``WhXXP;OPWpoC_PolpoԫмmwPn@T0#/57HCPQlwuoеȠwooO`XEA_?_H`X_U[Q_~`niwojOPPlPP_x``n[bp_fkhooP_hopa[mgxqggwwjwhdQYGZW[HXXWOgU`Ep_owozoi`a\_j_QWl`lh`dupwwwwtt}_hc_`idh`lpxkoutjt`gg``kidfggkxpwhwjvygkvoportwkz|ksprgpjogtonox{z}sotktrthssswwtohcjigkzwowwxzo{q~zklrmsy{tiovx|ko|wso}w{vuxopzowvww{xwt}~u{w~wu|uxvvoqsuvw{{{}w~uwqwxsrz{wrumxqw|xwwwtpwwoxwupvsz{wvx|vzuwwwzw{wtv}{zvx{~{xw~w}wxs}w{{}{|rxzyw|}|{xz{{utww~zu~xx{{z{wuuwzwwvvwy{t{yyzwz{v~vuuswzvzzy{}~{}~{~|y{{{{}z}}}{{}}xzxuzwvz|y{z{~{~||z~{{{|ywyw{yzzwwzwwyxuvwuww{yyz}z{|||}|}yzz{yvyz{yyxyvwvvuuttrqrqoonsrtrtssstussvstttwrutwwvtvuqtrsrqopttptortrorrqpqruwvwwutwwwtttvuwx{uvwxwwwsvvtstttvttuxwwwywwz|{y{}{~{~}{~}}|{~~}|{}{{|}}}F'9!Np! 99F#NuAprtvHnNu9@PB9By@ByBNrAC@ 9Cf A@aJ9CfPy@ y@mNNNNNNCNrAC@ 9Cf A@aJ9CfQy@jNuL|H|L|4H|4L|hH|h#hCA@L|H|L|4H|4L|hH|h#hCA@L|H|L|4H|4L|hH|h#hCA@L|H|L|4H|4L|hH|h#hCA@L|H|L|4H|4L|hH|h#hCA@L|H|L|4H|4L|hH|h#hCA@L|H|L|4H|4L|hH|h#hCA@L|H|L|4H|4L|hH|h#hCA@L|H|L|4H|4L|hH|h#hCA@L|H|L|4H|4L|hH|h#hCA@L|H|L|4H|4L|hH|h#hCA@L|H|L|4H|4L|hH|h#hCA@L|H|L|4H|4L|hH|h#hCA@L|H|L|4H|4L|hH|h#hCA@L|H|L|4H|4L|hH|h#hCA@L|H|L|4H|4L|hH|h#hCA@L|H|L|4H|4L|hH|h#hCA@L|H|L|4H|4L|hH|h#hCA@L|H|L|4H|4L|hH|h#hCA@L|H|L|4H|4L|hH|h#hCA@L|H|L|4H|4L|hH|h#hCA@L|H|L|4H|4L|hH|h#hCA@L|H|L|4H|4L|hH|h#hCA@L|H|L|4H|4L|hH|h#hCA@L|H|L|4H|4L|hH|h#hCA@L|H|L|4H|4L|hH|h#hCA@L|H|L|4H|4L|hH|h#hCA@L|H|L|4H|4L|hH|h#hCA@L|H|L|4H|4L|hH|h#hCA@L|H|L|4H|4L|hH|h#hCA@L|H|L|4H|4L|hH|h#hCA@L|H|L|4H|4L|hH|h#hCA@L|H|L|4H|4L|hH|h#hCA@L|H|L|4H|4L|hH|h#hCA@L|H|L|4H|4L|hH|h#hCA@L|H|L|4H|4L|hH|h#hCA@L|H|L|4H|4L|hH|h#hCA@L|H|L|4H|4L|hH|h#hCA@L|H|L|4H|4L|hH|h#hCA@L|H|L|4H|4L|hH|h#hCA@L|H|L|4H|4L|hH|h#hCA@L|H|L|4H|4L|hH|h#hCA@L|H|L|4H|4L|hH|h#hCA@L|H|L|4H|4L|hH|h#hCA@L|H|L|4H|4L|hH|h#hCA@L|H|L|4H|4L|hH|h#hCA@L|H|L|4H|4L|hH|h#hCA@L|H|L|4H|4L|hH|h#hCA@L|H|L|4H|4L|hH|h#hCA@L|H|L|4H|4L|hH|h#hCA@L|H|L|4H|4L|hH|h#hCA@L|H|L|4H|4L|hH|h#hCA@L|H|L|4H|4L|hH|h#hCA@L|H|L|4H|4L|hH|h#hCA@L|H|L|4H|4L|hH|h#hCA@L|H|L|4H|4L|hH|h#hCA@L|H|L|4H|4L|hH|h#hCA@L|H|L|4H|4L|hH|h#hCA@L|H|L|4H|4L|hH|h#hCA@L|H|L|4H|4L|hH|h#hCA@L|H|L|4H|4L|hH|h#hCA@L|H|L|4H|4L|hH|h#hCA@L|H|L|4H|4L|hH|h#hCA@L|H|L|4H|4L|hH|h#hCA@L|H|L|4H|4L|hH|h#hCA@L|H|L|4H|4L|hH|h#hCA@L|H|L|4H|4L|hH|h#hCA@L|H|L|4H|4L|hH|h#hCA@L|H|L|4H|4L|hH|h#hCA@L|H|L|4H|4L|hH|h#hCA@L|H|L|4H|4L|hH|h#hCA@L|H|L|4H|4L|hH|h#hCA@L|H|L|4H|4L|hH|h#hCA@L|H|L|4H|4L|hH|h#hCA@L|H|L|4H|4L|hH|h#hCA@L|H|L|4H|4L|hH|h#hCA@L|H|L|4H|4L|hH|h#hCA@L|H|L|4H|4L|hH|h#hCA@L|H|L|4H|4L|hH|h#hCA@L|H|L|4H|4L|hH|h#hCA@L|H|L|4H|4L|hH|h#hCA@L|H|L|4H|4L|hH|h#hCA@L|H|L|4H|4L|hH|h#hCA@L|H|L|4H|4L|hH|h#hCA@L|H|L|4H|4L|hH|h#hCA@L|H|L|4H|4L|hH|h#hCA@L|H|L|4H|4L|hH|h#hCA@L|H|L|4H|4L|hH|h#hCA@L|H|L|4H|4L|hH|h#hCA@L|H|L|4H|4L|hH|h#hCA@L|H|L|4H|4L|hH|h#hCA@L|H|L|4H|4L|hH|h#hCA@L|H|L|4H|4L|hH|h#hCA@L|H|L|4H|4L|hH|h#hCA@L|H|L|4H|4L|hH|h#hCA@L|H|L|4H|4L|hH|h#hCA@L|H|L|4H|4L|hH|h#hCA@L|H|L|4H|4L|hH|h#hCA@L|H|L|4H|4L|hH|h#hCA@L|H|L|4H|4L|hH|h#hCA@L|H|L|4H|4L|hH|h#hCA@L|H|L|4H|4L|hH|h#hCA@L|H|L|4H|4L|hH|h#hCA@L|H|L|4H|4L|hH|h#hCA@L|H|L|4H|4L|hH|h#hCA@L|H|L|4H|4L|hH|h#hCA@L|H|L|4H|4L|hH|h#hCA@L|H|L|4H|4L|hH|h#hCA@L|H|L|4H|4L|hH|h#hCA@L|H|L|4H|4L|hH|h#hCA@L|H|L|4H|4L|hH|h#hCA@L|H|L|4H|4L|hH|h#hCA@L|H|L|4H|4L|hH|h#hCA@L|H|L|4H|4L|hH|h#hCA@L|H|L|4H|4L|hH|h#hCA@L|H|L|4H|4L|hH|h#hCA@L|H|L|4H|4L|hH|h#hCA@L|H|L|4H|4L|hH|h#hCA@L|H|L|4H|4L|hH|h#hCA@L|H|L|4H|4L|hH|h#hCA@L|H|L|4H|4L|hH|h#hCA@L|H|L|4H|4L|hH|h#hCA@L|H|L|4H|4L|hH|h#hCA@L|H|L|4H|4L|hH|h#hCA@L|H|L|4H|4L|hH|h#hCA@L|H|L|4H|4L|hH|h#hCA@L|H|L|4H|4L|hH|h#hCA@L|H|L|4H|4L|hH|h#hCA@L|H|L|4H|4L|hH|h#hCA@L|H|L|4H|4L|hH|h#hCA@L|H|L|4H|4L|hH|h#hCA@L|H|L|4H|4L|hH|h#hCA@L|H|L|4H|4L|hH|h#hCA@L|H|L|4H|4L|hH|h#hCA@L|H|L|4H|4L|hH|h#hCA@L|H|L|4H|4L|hH|h#hCA@L|H|L|4H|4L|hH|h#hCA@L|H|L|4H|4L|hH|h#hCA@L|H|L|4H|4L|hH|h#hCA@L|H|L|4H|4L|hH|h#hCA@L|H|L|4H|4L|hH|h#hCA@L|H|L|4H|4L|hH|h#hCA@L|H|L|4H|4L|hH|h#hCA@L|H|L|4H|4L|hH|h#hCA@L|H|L|4H|4L|hH|h#hCA@L|H|L|4H|4L|hH|h#hCA@L|H|L|4H|4L|hH|h#hCA@L|H|L|4H|4L|hH|h#hCA@L|H|L|4H|4L|hH|h#hCA@L|H|L|4H|4L|hH|h#hCA@L|H|L|4H|4L|hH|h#hCA@L|H|L|4H|4L|hH|h#hCA@L|H|L|4H|4L|hH|h#hCA@L|H|L|4H|4L|hH|h#hCA@L|H|L|4H|4L|hH|h#hCA@L|H|L|4H|4L|hH|h#hCA@L|H|L|4H|4L|hH|h#hCA@L|H|L|4H|4L|hH|h#hCA@L|H|L|4H|4L|hH|h#hCA@L|H|L|4H|4L|hH|h#hCA@L|H|L|4H|4L|hH|h#hCA@L|H|L|4H|4L|hH|h#hCA@L|H|L|4H|4L|hH|h#hCA@L|H|L|4H|4L|hH|h#hCA@L|H|L|4H|4L|hH|h#hCA@L|H|L|4H|4L|hH|h#hCA@L|H|L|4H|4L|hH|h#hCA@L|H|L|4H|4L|hH|h#hCA@L|H|L|4H|4L|hH|h#hCA@L|H|L|4H|4L|hH|h#hCA@L|H|L|4H|4L|hH|h#hCA@L|H|L|4H|4L|hH|h#hCA@L|H|L|4H|4L|hH|h#hCA@L|H|L|4H|4L|hH|h#hCA@L|H|L|4H|4L|hH|h#hCA@L|H|L|4H|4L|hH|h#hCA@L|H|L|4H|4L|hH|h#hCA@L|H|L|4H|4L|hH|h#hCA@L|H|L|4H|4L|hH|h#hCA@L|H|L|4H|4L|hH|h#hCA@L|H|L|4H|4L|hH|h#hCA@L|H|L|4H|4L|hH|h#hCA@L|H|L|4H|4L|hH|h#hCA@L|H|L|4H|4L|hH|h#hCA@L|H|L|4H|4L|hH|h#hCA@L|H|L|4H|4L|hH|h#hCA@L|H|L|4H|4L|hH|h#hCA@L|H|L|4H|4L|hH|h#hCA@L|H|L|4H|4L|hH|h#hCA@L|H|L|4H|4L|hH|h#hCA@L|H|L|4H|4L|hH|h#hCA@L|H|L|4H|4L|hH|h#hCA@L|H|L|4H|4L|hH|h#hCA@L|H|L|4H|4L|hH|h#hCA@L|H|L|4H|4L|hH|h#hCA@L|H|L|4H|4L|hH|h#hCA@L|H|L|4H|4L|hH|h#hCA@L|H|L|4H|4L|hH|h#hCA@L|H|L|4H|4L|hH|h#hCA@L|H|L|4H|4L|hH|h#hCA@Nu#3a#3aNrA9pg`2@AA@@@@@@@@@@ @ @@ @ @@@@@ `A"yCEj:9|~p2@AM^@^^^^@^V EQC 0Q"yCZG:9|~ GKEaxpJfJg<0f< `x2@AM^@^^^^@^V EQC `QNu HIGH SCORES~~A BUDGIE UK GAME~~ Camy Maertens Simon Rush Jim Holmwood Gary Wheaton Chris Skellern Robert Leong Ian Grainger Robin Edwards Paul Dowers Andy Osborne Chris Jeffery Gavin Thornton Keith Bearman Kathy Steinbach Markus Kronenberg The Happening boiz Mike Duncan Philip Bishop Andrew Oakley u0m`e]UN FP>6.'#(@Xp  % $C~09R@Aj,|rJhf n,hEAQPL|H|#j#jBBBCQ3ACj0<*QBvNu0I$kvnRC`0`NuB@'d Ajp g AQNuB < !@!@!@ !@M~<<$<CzB99HaLN~99kd@g^JEgSE` B"z "<f<l SRG `6< gTFQ _f NaNNup Rgp_SFj  | `z``1234567890-= QWERTYUIOP[] ASDFGHJKL;'`#ZXCVBNM,./ -+ \()/*7894561230. AXLH@EKG2<|,FCIpL H@@H@@H BCBCCZ[BCPP&QE@K@QA><H@@8A@QNu3.NuENJOY THE GAMEH :0 0 :z?_\_!8WCW    |yzWGϨW8UU??  ^|UU8Cp00p z/??????8N\= ?0> ?0\ z?:_01O:_Ӏ8WCσW4 yW , TW|z8UU$ ?? |U ??U8^C?4???:??$p00p z8N/Oπ$\ \C::0)|g2f4BJBBft&zA|y@m2RVmG#V2Pi3i3||`3| `42AIA8)3@ExLHLHL@H@LHLHL H LHpAjp(@ELFFFFhhh hhh"hhh$hhh&H@HAHBHCPh@hhhhBhhhhDhhhhFhhFFFFhhBhhH@HAHBhhh"0:8CxALHLHL(H@LHLhHLH LHLHH`CAUEk3.2ME8EAA|g@|g|g|ghnJEg mƺ|g|g|gL?èŨ@Ǩɨ˨ èŨDǨɨ˨$ `dL?@ L?èŨ8Ǩɨx˨èŨ<Ǩɨ|˨ X\L?8؉x L?`èŨ0Ǩɨp˨èŨ4Ǩɨt˨ PTL?@0Љp L? èŨ(Ǩɨh˨èŨ,Ǩɨl˨ HLL?(ȉh 30NuL? èŨ(Ǩɨh˨èŨ,Ǩɨl˨ HLL?(ȉh L?`èŨ0Ǩɨp˨èŨ4Ǩɨt˨ PTL?@0Љp L?èŨ8Ǩɨx˨èŨ<Ǩɨ|˨ X\L?8؉x L?èŨ@Ǩɨ˨ èŨDǨɨ˨$ `dL?@ 30Nu?<Hy?<=NAPJk.<Hyj/< ??<?NA Jk ??<>NAXNuOPBgHy?<NAXNup AB(Q|NuHISCORE.INV `<|fl0fF8l8pvp88pf< 80 0 ~~`0 0```nff>fff~fff<<f<flxpxlf`~fv~~nfff<ff<f>``|fff|<```<>fff>ff>|``|f8<p``flxlf8<|ffff>|f```>`<|~f>fff<|lf<|~ 0~0p p` 44b~ <~`<f<~>f<>f>0<~><~><``<f<~`<f0fff>ffff>|f<``<:0|00~ff<<6f|ff|`0|000` <~> 8< 4X|fff4Xfvnf<>f><000| 6kÆ6n֟6ll6l66l4X<~>4X>`~l>ffn <>6666~~fv~ff<~>6640xR<?<?<?<?<<<<<<<?<<??<?<<<?xxxxxxxyxxxxxxxxxx<~{x=s  @t??^^PZ/v~|?<>a %Xd!!#` `?@f?}}m::7Ȁ.=<?? >*UR@ ,3##x x? PPP[_zz j*._>? ?$ 3|#@! ?5oxP0?> ?_Tt7'! ?vk}KQ _~ o?3W7lȃ d4 # ? }T<Bsཿ1W <H| !L ?5FGU[ʭL?o-!VShχx?w< #L ?^u_OO6-#_p|# ??OU?!%U<R?7?<??+z\ 7$o4* > @BCEo_ ,dwtV> 8B8C"}/U  ,o@`NU_R?> BC___ pp}8g_goaKQho???\\\PB)Z 'ޠ_hc 3Z7?d|||._/FPo_hoA|~^ր>|[_FA.7$@??~~~B_$;????ֿ>P'o?#3< 877I ?'DoO GW7Hs΀cwKD ?0/+777  HOO2OOOHOoOOOHrpgMOKOFI?%'$oo`>!?߯0Po P .O WH_OG cxw _]OOO?￟L ?wb!O/bC-ݿIF$߆pog?>??? ^ Q]__Z___OY_W^_PNNhg]:__ʦM/--߇ro?o?4=!~BCv,v,?@VߪWWWϭoU?88jS5UJ(/>o?;d#~BC@?@9 #/Onch(?eJY[>? ?O?/>>= uu??%o`j~~<=//d Gճ?, ?@?5y'_! ~  ql ۋ{);Ec>/t9  ??  -'ϩ_9N$>p>G%{ )Lj;7ϗ7+>x3y??>`Q-l')ה̄+;h;..@hv/.){ lo=V_75? |`77??*% ,,"/K;Ջ4/Ll׏s4%(Ul׿@$( (+/VpDd; EG߷c7<4@ 0 p o PUBA>AwL*̯ )h`y)8)`R_PƼ9@)`ky)oeT}K?I΋4O`p8noP ?~>/C@(ho7`4<\}}ٞ&aa`LW||&˿{27h @885Y~@?<o.6yV$??] }E@ |\< IOq^qA_xp87D08=GnPv}8^*{[x ??^=[DDh?>R'}#}~?>a _0@0]U  /(Wy1$!__//?R 0pyJJ?.!~ 4q> #D;1:w*p@_'4 Ps?P!<~peo&y?8;A ο<GWW"ÿ@ANpyxTT𿻄w)oo4.}wh'(01?k׫֬5hf~癀0##| pPG_={1 =9)ck)<#/K)s)i& ?b0\?d BB@ Cd~dA*Rp@8d'cYo}x n{8y8<<Hgaڻ wFl?t BCk`*?D"{@[q§?.1/Bx׿8d`Ox@@dκ>DOVVhx @|) s8o=Ҁt9|?BB ?0u/ _  O HGO }ZC 9._@|@^ /J_wgt8|?BB!?3/ YCQi{Ԡ+gC?[@< |J:_= bb]t8|'?Cp ?#@Tz *x# `?@00 7`|zl??=hnߗ?" G X8?@PV_|{{eod Gx?@@עVP/|_|| +߫?(.܀'P~'п/[9/lip`WP=<`"/85 =[;{g?p; ?yo!v 'TPPcƜ999Oo3cOO__?cƜ888#*W(0?[[8_0|D`q A_x{kSN^. . o~Ӱ~,/a#]𩿁(~0\dR88~?"/xyT>߀|lT2M<<@>$__]ϡ|D G&&~` kks qqqG///HKKH pqp|xׇ8|D=4UUH Ed'd&'`i?@J;&'d&`z '88\d|n!!@@HG ?dٛh;# BB3`?B1~^|wz8C|>TCAAOtNN wpjjgro }C#N`6 ߨ~C  609 ~N~Nywp ??Z[[&I~Z0|D # !9@/[[[?4  @ 'X@*i?d?u(|DrHGLDWI@<:#} qnx7:`6o` 1!qY ߀?8|D V o;;/_#BXIfoO/3w3&)$ۇ?8|D ?n  5 @A@Dsh gh$tA?"lx9?." ??>8\d 2͗瀢Q ;70U.IѾp!GW?,x<ٿ(>"o#?X'H?zx8\d^ Bò< ?y? 970Q#'Nzx?jtwB88|lwu?4_((_cf?C^` $?d=d  S}} a~_ {*K>_=?~xcƜ999 GE~C}DGG__=!FF{vڎ' ,lL7A]?Da<@_`e^ W rAG0|D`>>? UUU/Vy@=G==Oߏ c?~~gP8s(~փH~B@< "p ߷i_yy sGߟ 4 ??" ~; {@@  3= #??~q00?s }}uG0 W//ժAU:?_XX@x/* ހh C M'E?x!4??﹤D? @X/WbbWp?ߘ'?<  tsx? F*?(<O0ӽQcl-=?’O쑸\߂ yxEO58so  ooo   o@|?y=Qι$FFЈ?a-->J(? ___@???xogCހ~t~> @8jǕG@,?#ݩO"VV`=,D?xw@^ X[???#z"07#{o m-@{?6I<x:< /{ ?uuAƀ _.u"xH@?}_z*׀8tL# B41???@@?' 4N+|GGw06Wn([?tx8d?\?^ :$D   ^C??_,||}iʀ7!xsLJ8|=D ~BC z;@;s0--oo]~O /'x<uz[C ?1 ȁ?|?D!CBC/?ȃ<< T(C C wWwWw  P [ X`30 X~=Ü; +?>c|?D BBBBݯ=PP55߿33_Ȁi"}՞kp߉v.D瘾*IA#\0L?D ~CBB4?=[?[¤ۿ55 c,EC7D(8Ԣ^)SC.6ԅz' ؀ \?D CBCKwB>?=+mԒTAϦ`o8Pb@9JHHhS?!\,* \D $BttG0m1ϒw;s; @op? #znlOl,Q@ XWF~;)oCٿ'Q '@D;û ?bW?w@ ǶV|7A"|#D!U  S )  :`4~Ǟ wkc  ?_TءDՎ.+v('x@O@@P8"!u?@~vv@>_oQ`a?nR*yr2"lr !t/ ba7/.Ѐ~~OW?=C~ _@@C|?ǿ$?B(Hp? >" 8A(@HaǞ?yK|w???KD~32M[賿 FBA]~BR?8Sh@%FB~/:86:݀P1?>>t}8 I<@,?cWOGx?77CF _/_p1V; ? HH7<>>>` >x<!~ @7@?<<P0>` >224ˇ|>῀~@_:_?8dDtQvv%ؠv'_92??l~p _ ~w5߀ ||?(C@JJC+_}??[2@@{{߀||? z?^Z,@/@J3J*??[Z22@@{{||BBBB?>II8880@v6?||3?CC** A$ $  //nnuu #*>I@p(a l~?xxx#`Bdp~<%=`0>0>x0>@>~@x$l<0>` ?>&>=@@(g><0>>p=P____`@`??G0> _@>?o``0o T@_`O` 00  W//߁߁oo` `oo`B 000 ߃`@`o0x 88 < pp#X8  ? 88~ ?m( 0778 8??(e @? 88 o0 0?@(= ?<=~ =?a;88p?00?#8< WTUMU ]J_UU]ZUUZ_U?_J@U_2]0UzU?*jJUX8=  {{{``pp@@@@8=y@   888<(<@@pp0000 @@008x="" 888<8<[ [ [@@ppA 0000`@@  x=Áepp!!  888<8, `@@@@00 0P0@@00@``??~B%88EA:: ?5@x8x(<~4v44?"AAA\@X@X?5fBBxx00pp  `@@@``D~[WTTx?Á|?CC v}}vvFFUZ __0 { =CC??0CA ;kkBBbb`@  `@  ?< `00 KK@@TQ  T*      6  Lj4" & D".2<    8>%BbTJ  $L    l H NTL8Z P :h~  :????~~?>~???~?π~~?ߟ~~|?ߟ?ϟ>~?~?ߟ??~?~x>ߟ??>~>ϟ?>?>ϟ~ ?>ϟ~|~?~~~??|~? ?>߿?~>~ ?Ͽ?~|>~| ߏ|ϟ~||~ ?~|| ?~|߾ }>|߾ }|>? ?x~<|>? 0<8p|yCsǀs<qȞ"@" B( 6""( x>q C *ȼ<"(o@"" B "(("((|{rop&ϦqǼbj`>"x9_ < Ex ^y>"2(EP D@A E@`!QQE`ψ*H}U^ DLA ET@8!^7y<&|E4 DDA QE4@@!TAzg"xE_<<<=h|<A|!!! $t`! *t`! t`! (t`! &w`! p`| p` @ p`yx p`@ p`x|@@<x@ 0~@ 00xxE x0>`8|99}EQDdDQ! 3` DE@NJyDTG 1<` |}T@ETDLE  1` DQQE4@xSxDD= 10`D9E<x!!}x_D9=8D<xADDQADQE 0`yQx(ADD 00`A1PDADD 000`}L_97=8= ~00`! ~0`! 0x0`! 00`>>p 0` 2`! <x <!  ! p!" # # #PM%# #?~# #$%%bwpwwqpwwspwwpwwpwwpwqwqwwqwswwpwpwqwwqswwpwpws~wwqwqpppw### # ##99#, "6 & &B B:   .H.x,Rt*, TFPl$6  4, N @  D "dp $l *  " 2"( 8 >  x2  h|..b     P ,/