From 0ce1287efc185b6d0ad73c0a25cd0846d8f01c5c Mon Sep 17 00:00:00 2001 From: Vince Weaver Date: Wed, 31 Jul 2019 14:56:56 -0400 Subject: [PATCH] ootw: revamp loader, add ability to run checkpoint4 --- ootw/Makefile | 12 +++-- ootw/empty.dsk | Bin 0 -> 143360 bytes ootw/hello.bas | 4 +- ootw/loader.s | 124 +++++++++++++++++++++++-------------------------- 4 files changed, 68 insertions(+), 72 deletions(-) create mode 100644 ootw/empty.dsk diff --git a/ootw/Makefile b/ootw/Makefile index aeee40c2..3e240ea1 100644 --- a/ootw/Makefile +++ b/ootw/Makefile @@ -7,11 +7,12 @@ PNG2LZ4 = ../gr-utils/png2lz4 all: ootw.dsk -ootw.dsk: HELLO LOADER INTRO OOTW OOTW_C2 OOTW_C3 OOTW_C4 +ootw.dsk: HELLO LOADER INTRO OOTW_C1 OOTW_C2 OOTW_C3 OOTW_C4 + cp empty.dsk ootw.dsk $(DOS33) -y ootw.dsk SAVE A HELLO $(DOS33) -y ootw.dsk BSAVE -a 0x1400 LOADER $(DOS33) -y ootw.dsk BSAVE -a 0x1700 INTRO - $(DOS33) -y ootw.dsk BSAVE -a 0x1700 OOTW + $(DOS33) -y ootw.dsk BSAVE -a 0x1700 OOTW_C1 $(DOS33) -y ootw.dsk BSAVE -a 0x1700 OOTW_C2 $(DOS33) -y ootw.dsk BSAVE -a 0x1700 OOTW_C3 $(DOS33) -y ootw.dsk BSAVE -a 0x1700 OOTW_C4 @@ -21,8 +22,8 @@ ootw.dsk: HELLO LOADER INTRO OOTW OOTW_C2 OOTW_C3 OOTW_C4 #### -OOTW: ootw_c1.o - ld65 -o OOTW ootw_c1.o -C ../linker_scripts/apple2_1700.inc +OOTW_C1: ootw_c1.o + ld65 -o OOTW_C1 ootw_c1.o -C ../linker_scripts/apple2_1700.inc ootw_c1.o: ootw_c1.s \ gr_copy.s gr_fast_clear.s gr_pageflip.s gr_unrle.s \ @@ -238,7 +239,8 @@ compress_test.o: compress_test.s lz4_decode.s compress_test.inc ##### clean: - rm -f *~ *.o *.lst *.lz4 HELLO OOTW OOTW_C2 INTRO LOADER \ + rm -f *~ *.o *.lst *.lz4 HELLO \ + OOTW_C1 OOTW_C2 OOTW_C3 OOTW_C4 INTRO LOADER \ COMPRESS-TEST AUDIO_TEST \ intro_data_01 intro_data_04 intro_data_06 \ intro_data_08 intro_data_09 diff --git a/ootw/empty.dsk b/ootw/empty.dsk new file mode 100644 index 0000000000000000000000000000000000000000..0a2af35ebf17f3a74836447b291be4abc4648fef GIT binary patch literal 143360 zcmeEv31CxIy8pR1+s)D}Ewy1Oxj=yyDJ`pI5mMSpz|e(FivkfvE3ztR$EQ+fD35U( zsLZ&{Pzi+siA^b%P!TGK;7|mN3vT0rjv_lj1#u()-*<1)g~dT<=DqR#4K(-Mv)yyg z`PSce?hRMfy-^#qR$V;`AMN(iVcwfdhg$vTg_&W&eO{;u3+eF({$-=7!%cwS8V4tYNaEJm-@s1%&hpcB+e-o(V)*47GMw$43i)1!9( zu7LCPHU3GPLc+<0Ku~e=g@Bi##Cctnduu>kw?;f#>3p!#6SrY_u+8r63Bj*DZ8r>m zYIR`u_Qc>>=hiiq;U$wc1<$e{`-nGw@7*Du_`%DG@BQHQQ;H$wx^$aO+9gNomwa9C z<=p4$-AC*F2kYG**L!*Q@p`Y)eWJel^ZLbQr>Xd>`bTJnd|p;@PFYc`6#rOX8UFK< zWA)D6+b{{vg%$qK>oZQAruIm=PuK59yQYqi`l=pnsObDA>z!Iu@aj-E;|S*tZ^ETe z7#XDhv-;{!>%~BQ^@;k$W{t;m^yvQM^<^ih$NeAI2S0KN#Ug8{RU}(o$r&#H)&O65VSS9oD zi#H4%HI!|ozo*!i!v`mnpQvO{1`k(`Z(v(fhE=ewd(3BC8H>6vDONYQw>K==p8kNJ zZ7uEQ4OcAPo>;csQFPR!bQFo3pIaO}=RF`k_ng;9Uw(W&>6s8zY-U>v!&`g}DbKIz zUV$FUwl5AItLk>NkV%;}#cDZsGuyH|cvP+@Zh6l8VN+MfC>6#Ru8!s|tD^`_aBY`| zRZiHG{vDc5W?OsE-=jl!@9Y*l=JJS(L${!^`MZ$^f?pk#QjNag7oG`n(jWZX%N8%} zww0s#>ovo4CKGpdA?uRZFf+4s9Weux%@yd z6fMWq6msU{bhXm%(n*ifZql)9x2JltobHRwpRWtn%hf&%)-<(UZFMcWy0pi>Vr6J7 z+II67D@(g)eAXk>w^lPUe6mZsmMcw?;!Pw=P3Gxp}kYd67L|)!izd z-n==H(ucYQU&6tP4pJ07R9E{NO17`L+U4_jDlL10KODL)$R8R3QVfP%TzYbn*fFsK zedhG+*4Y+GKmNp@|5EYviZyGWsrJ{bf3|L8U{n3(=eKNacwyTs`}V*3##?W{``+K) z|KP)qK0EaJk)y|spE!Byi!Z-AbN1_RzWwg|AI^vC>O2SQUfR|CUAN2U`E8x_y{oRy zxA?b_@11qEiy8OiQ@moiQl<8+tX#FaN+YcE`m{Q|A*ObN(PXy7#y!_2{;C9P+jiSu z-0{-RT`&K2cjKP+dpjg{48Hcd?ac#Xr*}GcN$T3Id-B1LKl%HoDLt+}+%vUTT6*t3 zq0@c)^&fCe#<_um1`oM*=rB%aF&cV`yjjg(%WH)$orQKh&je=bEC`JCVCLj@JmUq6 zPT-R*+`!JgIh9pRrs`T=)zi#`UQER&Tlw@Zyx2!+;oI;6*HJX4bxFs6Lqd;X-Mge; z((PV0y5cLvEc8xGvCx-^zRVVj#S|OMna~0~wd19l z*EF>mgp^voiZxOVmuWX>&>+6Yph2Mn3;(UUga)z)Fd z`lXmx=4AAKwnP}-R)0pH)TwN-SS09~s2KA5P9n$F@peyQ1!B$W#(k(40DW94V48$k=7@^xfSvt+U6Ki)`%>K zR71x_M~@!W`i>rzgagi9r6U(Q{A_unKd2CoEEkmx(UURDt*&tRjn&SNwvP1hW#`l$ zW!X8Uhuh%rc}%Z4LhT=MAX(&i)Pak5goZL2cknFaTaiz`td!{}auh8&r=l{&;^0Z4 z;rH7;>J5&k2C&`Rb-}Y9#fBlJBRu>DhsTUg)sH%oJxrKhu4;H>d#$4358H3=pDYCR z9u1gtaq!!kb1IK=gF~G7LUPcudW1Q~6T4XA&aV%R2!81?Y;c4oHY!6mP8VtwB74r0 zURJC^8!>xxdD8x3mHA8Xx5MiaAA4c{Idv!*D(svR>Tlu;Mfh`WZCKrFFGNWPs`Vr) z741K#41N~cQ{=TLI~^~C20GWjfDtGKWkrDi?I(T`%Mo zD_x~M#3e6mE>PgiU{r*s!9t9l@GW)tbnH5pgJx{{?fp@|NY}E8 zi-uR4>GhQk^-O?7%zi4o1@i{2g>P>@?#Y{6ngcSL_<|U-%`4OBd;Cy#Rd!>S@;9vIDjIqQjU7D>^OOYn)j8sXt+jXIR%&lQG^}b^qq+RJ z$Fy*m)Y(((wk11fy`1xM4$*4s&xNKI ztT6w>+wmWU06XZ+hMH&YTYc_1KKERoOT1}qSv?L9)zti@?$6>?tDax-mpZT3Sz32# zyXgO)Tt8RQxIB2hI4ZnmNt$J zuO$l-#mDMBhrRW%-o)?L*Tzd3u-kC_Xu0<RtYW%Yz!P(qnkk;oASv^59AT z`Q<3jIAV66U%vm~a+Iei8X4*^j|z1fxsbAv$7$H3#HmN=wcx;MVeI*s4VLHg8=c>+ z_y4dwRJH&6%AC|iy4#zC_^n?Wb%fnAMJU!p{N1w~bmTw6hecH03^NL<83RbvQ z%vq6J6}$TJRl(J#R!^;*Q#r5lNM*aKT~(&4_p2%^pQtRUoLSYUa!6%zWol)9SY>JIb5iXnzC4E`ha zWLvwZ`}{}i-9J2+AdTHKp_mAZyoDk{cT>53VXD`wnWp)>P z3x!u5RQad+LTdLEpR;78%ek!r&Vcg=pEFSJH&s*{D_s5^zUmi!E@#2Iqeq>E-#Vv- zoi~Q*ds=u}SbXhie}OL)@9^L3do;NyUE%BoN2p?TlGpWUG7U!|{&tO5fx8i(Um-sK zwEJe?l8HWN-HI6*jM|Rz>3j{A3P*#vg1T_Y zD0Qx0AsrjtAq|b}j^JcR1`;5q$!m(rkJn&a@l;*qRnd5jYn)H5K;NO##z#V@E0yRX z_%YUIj4#v`hk75D%K83kKjW#A&g*tF9v7JC^V)-IuQ|wj#nj2Zkcn=5*9zPi?h2)7 zRa5BuGj6u}CLgYu;hHgkdEL%kD?H({DZbrhQ++3=_$ryuAaxw%=w8ItD^nH}E?l=; z7vhVA@=$U}+`MpI@U6(j6}UG)$7AejEV}ct70#V&j8lBoQ+&9!a)Xy2sP%?aUK1SH z?dl-Eu&-C7oLj`lJOa87b<~xsuyo8b-C5`n|F|*~^VEFb?(IX$zr;!KyX2q=U3tya z#^C8F1Yhz0(bwn+#rfys5WJoWw^Jc+9)?alL%g1+=J}x0T<-ZkuYpRsiVrb<{&M{zLBY#oY#22rcAC#U&*#3~=bqtn&-97!Z}Us{AGG22zOI?# z^H1|7>b#S5-ryf=ZuN!kg`U6+1>djKePG93?g^d?ZE6_hO&<}1o~D5)Zu8N_EB&|m zbh>p_IYDhz_PgV~PmV&Rr|$4oWj}Sh&w1G6 z@RrCu6{ReQ!N}(Mf=5Ej#gdiI->txGi#033WxfU*h`3{g!vzAw%7Mt#5)oFrXgd=s6=l+#Q2i0q`tDr42j?|`iYSh&xisx5O%ZAfF zEoU8)`2WbX?9%Kfr{$F9l)swcQfGI|aV66N?xH3q8+GNv5l#A`Msw{al}c3K6Z}?% z22N#VRkri7^Z5G1dH-Y|-Nj^|tLHplzCzr+!aHa5JReAv@-Y8(xN`@TY!PIN^Ubwh zmFTMk65?S`K5BP)HK1z&InJY%UPJJ#U#M_51pL|xH{cL0mO|W3MdGSTv20E7JLlX@ zUgkWo3JT;_pMQogsPoVCfx$Q|E>5ZGOdpy8JHf&zoV(YQW>#gF+QqE3V(wb8-CC@O zdrQE%ZjD50p{@kU3=+SWuCabCdZO`4LqmNi3#qQS3?<^9*M`jE`n936qHk^JG_|>E zmCLJ5o#t!QLXt3#S1BG?<-f;QeYa0MxC#TQo*^Zq9A|iyxUSN>AazFoHmkxJTq9K% z?_W&>n8F3sOYZiS-Qz<>&E3B0dwkBhtHnvHz}++M_CcW<6&RCL55qd)^7*PppSZp$XyPy4HfHsP_6se!I05ivYn1<_rr8_VQBt5pL?Uv zpYL-Ad?0lYb|@bkD?{!5vwT6JX0|V6*+1L2f0hqy7Rn&W82ZcwVPAVY6blxn znO;C9l%MNWlTrgyn!pNP#XhL9{azJD)_Aa-Pgwx{1Z5P`?t$>qmOzC}XWjBD;a z9Ew@f_uvO1O_9}A^=|q%MQ{tguOv-Vw*tlnah@W$QeOKgiM|wY`2)VvO#en-sof>2 zpDDiz2x_AWi#~aibJ-@ix<{ccQO&Cl>L5zgUL!vR=tyMtYjj;wg!3p zTA3bjFF5roY85jkR=_lB80PaWxz*P&*Xz)hK+i%Y94<1SaA6JI+XDU~pL=`2KbbFjrRKD;q;15rTTz zTIW4$Nu(q~n!vZQmu6RGmgWSHdlEO;-<|IZ{(Z6eEF`zf&njxTilENZb%Q;m^)23D zUzAyDe+1oau)APwgp8PxUG|`W+1ZsD;`X>kgC%q+3qoq*kl-3u2D&Jf}hew)|yB~Sfz8@Mf!B>=Vq#N=bk4QC3GmA>? z&d=7uz(*$j)9mVtO6Qf%DJs3EbhfLgbad$}MWxQtJ+7*O`xF(SSoZ{9Rfc=K&(Bws zX808qr30(3*{7m{alWbn?y)|Uq|Qd&&|VE{+LxGb61Vdyz#n`&YU-{3y#cvb2wdSI9+i#E;k`( z%*gBBWu4}D=B&h@82RU7oz>#J&g#y}F2$Yaq|dR>v6t9O1VCd-hBWK+8*wiF&3S9* z8+%{h@#0I3ui8bkpyavjo^r;3H8UQ68vKP9u;#yTjK=NE%pEa4b3~4qn>S9(oRB%v znK|6KYYcL8#GEl>@?NL=%MtU()p3RS&E4VpBgSNo7RTk~iO$S1BX-envqz4>n8d8S(W5hSce2L!CF> zHnVu)lfEsfPcRnxq5TgE#aFsyw~nz`j_EmRI@Fj7>0@BKckSK#s^{l@6bsRboxKNC{?t1W(aO@jZSx`*n1U;SA1 zqUvSUly0bQtbV@wWuy2<;aA_L12NljK zb}OG>;;$RsuLs<32K=W36)$gezZP)65%BK_RP5d;UQ;U? z){Ae|i-XpqCZz7JK!a4JL2A^ndn1&h`)r`$^NsG4fri5y-KPRe-VJ!e?t=mM#{vH* zb?)~9R_EmPUgoQKEpYf?YVaI%4k9Dp1pM0r?sEbEivb-zz9nA=ycYMjP_2pU#eVC> zm!9?VsRsg~PU6>SY!xlF8T;P}z-E3o;6E9_`2D8>xD||$W+eF;|JgwL)tHXb;r6s`Ckf%?^Q?IP~{E7agNr`J!rkD z7Hz%um;(X#fdCph|Fpqd;(oeLGWwpT8^DM$ov_NEu9Ih8?n=Hpy5y;op9X?wPkt6~ zw)Z#HhgJ4pb<|W^m5M_ff%3k*aqC|uY;p4Lydk<#ii|r|aQT@7^$c zU6J^EfA#XZ-MfRI``-vuzZt-JM(t~WLU6$h@q=f*tP&y;2F157qBmMFT8XRN6?I}- z4gOc^8`jq$rU#Q_QI7v?eQCBhobvIXR;zXr6rwb)(Ae}*9uMx#%zJ!KqJ?yu9*s^{ z3!L`b&1Hy#6Xd3Y~#zyVraS04M#>N=>k8~{i;MRziXb3{#%wiYcGoB!q#h4s*gy8;Ml zz6K4M8icl!@;1K~K(LN7q`Ov%H`dC5ycg?0oyY3HcgO20Gr&b#>JA6Ltu!1g3$^hm zHhbzSzO17W9?T9NuXF?tiytqqWRFyA*@#+VPOaBc9jaTr7_m(E){SKi8+Rjw2s8G^ z+Ukali_=xX<4=YTi971WQT4d7N)}RA@dK@KcwmLe}wNMU(q@*2I=LNyb&k^{fwyv zGCkb=e!x2Oy@30}0J?O45SaP5fcv8WW)}nJoMURMUkUj42FgMdm92RzQ2jPcCJw#u z)i3#wTfNhV7;nwD0S`lE0W+6eD^xes)oiT`>T0%b3}S4UvL#Q{l|6~Yz(vt@PHoK- zb=5fM(Z;{aM|b|R4;OGPkz%z7_X3ks$4E04jm!GK4!Doh`_Ba^)ci@n{YAb1?*aFh z6kk4E4~Pgr5yHNpYZzXj{$usEoXdZv-lJ(0LxM-yXb$ln;Ypyj{!at@4hCQXeHPgF zaUgU%!O-T8wvXXDy^H()>WW?HTeIjvvrI21W%R|c$AYDPXn_K0fqS+xpKz?Gtt2zNwuB`%tRlbqK}!N7%U$6 ztTQ;aBix&IUS;qquPPV|#MJ0KvF)f=7gWQev6gcg0(3mQ1P1~X$rPb*Sz;JFc^yv{ zQ#j1&ZhN!w#T{?F{^AbLu6+mgzWSEul{Xr9GK)z;mgYbB+#fBsptmmOs1+vXhQoA$ zpZ-U!e@?p#+eF9qGmiYvX!C!niGDc@YfjDP`*2%Nu*cbB(cAmSQ{&<|OSJZ{$6sgQ z*BSVA27aA^UuWRg8TfSuew~3|XW;*v8BqL=*@O}{Nhz@Q=^Tp_IcBo57^RuDzZRz{ z&8Gu!n$&!1$LZBgrzXawwjaqcr5J6FoS7!ZpRmE<3Wra27Q(13Ao)qYw3Dquv2e$Z z(o$D}-6b%`!w)MIW@@U!l@}%@IUM)99QR`fuE>Pu{P*4q1ZGZf%tV7_%aW3s3ls`L zczEW7hf(17-*i(`0S#;6nKQ?Z-R~+uZ;n-~MvQ1#D2=cHJK;Hu5~J(l;5eSg?q4gj z80Rok3A+`!b4?{&xED@RZ@BBbKXiDHW2JZ1eV6rzH~;V^I>QK=ftl>As|pQEShmv2 zxFn`fGHo$4mN1NA46?%$FdOkVpnnCfW#&352Jk#Dwbw-2tEKi?XwN6HUK}57UeMHh z;2n3kIA$=jIJ73f3wcn*#b**ILety=VCF3S$g^oS2E3mD$g!HY=^I$J*4CPL$C}Zn8T5@ z%ptJMg5*^NhgrX?{S%59CvZasyocrBJk(0b@~LlbG1m{Rk!$5Lq(-cSVUqC8onxKT zcP!*G&7)O;d znej?a)aw)I)-i#Rg03h)k141V?t%1${Mm}#+W%wrY|YP@Vu|`qEIu4QbrE|${Uhvo zIfh#J^Z4^J+#VfZ3-(;qf<0-a24Ru?SHhFwoR&-pcK+%L7%@zo9OXo``7!}4mM{UN z1Rf;bN@8umP3c+J4&m59yB*(38&i*Cx|?ODBOV+kab2vToEeLl-o@s%e{aCdz|J4(2@^2E@QkQi{x~p^th)s>#j%k;BkQuT$rJZ%Y;|`ESh#6{`3G|D?u5@PR zR5G{PC2s9A;cEXUtaI`z#&t?sHjhQQ_DSL`h)|FfOK0>zgM+@aXUa@_m>L^cIpf}8 z3Of_P(D_^jI2#o+sGqM%!F|r{}JwNG4&)y`77Z` zsSTJC4Zi=mj2Ir?#EGZ6=B5uYE>0^f+Wa(N#qhqGU z;LSP6htS839#ATIG{QV!#w?}`7Gtn7v{9j6D(WSI94=(f*6el#{Mm}1anT=DpZEU= ze_n>6ekOZfj@zRnY{8%Z>FRT-3kt3PACRvdJOe`S4SlAOm7AF;J==wk#4f}%U>JD6!AH;kTJ6!rb;+;6TlhRI>|CXaAqkgP1%> zlS^@v65P~_xJiW>)iN%goz&^HT0zig)M}MV!M9;EluCtyV{J%*Pco!4({_nJPh7}+ zt$67Qc&|0HMoIfJy0JgA!I*9RJjRcmS!9cs{ilBvF$$x?6pKA8v3#r|RvD{`RmW;# zg;;H@E><6F_)j1I&l%tKV{S;YWao^|>&J}43kQkgbFa_MyCIhu(g&rdi(;B6_8FAk zpMA_FWI%&-0QXy2|Af6r*G1A}k@iN?4jNk`|BV6IP=umi?Ln;v*GFn)`B|v*8^hYx*6C4T@d|(>FR5(i*fj&`Bc!UW( zsQnqCBNK*lbe)LIv7t&h#+Ju1C#mpRa&|a;<1AjGP^twr24lj-F;Zj5gwDb}F>o6u zEIi%@r&6U!V*QholTj~`X{9L$_r{oV@VsVX>QyEK3y+))3mb}A&G^2?7+nvhK`J_5 z;Xc|DZb}UFH7+GF+VKSJt4h$yvthdm150R+3@CUSc0wDZby7MJ)`{MR%1+ZFt`H}g zHWXfGdNK}1ZyNce;qYOZJty&VqbnsXbYubL6|>NaH!T^~iUt=;E65udFOAg_S^TD9 zC&D@!EX-iSb~0qbMN^?X;QpZ_ET=_YN}BpHO?|;}B#HK0WU2%MGs+F8TCjG!Rbjz0 z;A(V-mYzs9Wz8#ia#&gyEBlMIrVoC5 z|G8%hM@(0+yl?y5@di4^AUZsl@CV)Q>4l4sn~-(?sc5ct0r&jm{9@#4ubK04B-bQz z{c)?p-E_C3AN+RCSI^{UN&O|?8to4yOQ)iL{4e47>v&Y2f?1)Rg4{4n4kiGXO=Q1O zn9`&X{E2!sx|kxCnOv+L3T>u?oF9{v-ihNTGv<ux6WRERwbarbH__MeVhk7Z&P zOc*GfkEL%hIbX^Z1~7;?mDni@g%hdJG!BpOVl53!Oq(qAKou~}iI`C;;5qb4c|uQ4 zIt*a~u508>YO)ZyL}Hf`ZiIjfO_Z*j2wyJ}DJXocR>F_0TYAj^^j=bL}+CU*8l^PZE)3COK`RxqLORb7zZEFEfCPEHi;=f)e1t6Qf-&f+w^?%mX2sf!Ij3bn>K|CrzH>nnI=1?<~4= z`du^bl1haenW-2|D6p!fS(*0Ctn3_MMDdu>LTV`BF>+9hz()VFsQ4SDOuH@3NrRD1 zA#2jWv9D~{qpP$*WhiZ6OQj9oqSB_pmuVh%#&k2MGG%kB1T{oAK%)c@(S;Olfiy{s zP`Cxmp9l^BgtfC}WgH zC3Y7nI0b}=La9(G)C!G4P-qo8h5qN*ng6M6VE>L+jmEC~LNUuRX5`p$qcg{1$Gez= z#{vq6=Vcd)ofuDsaZaXq``xo=ika9(KPG3aID3{@n3*f~9yoBI*r`*e76xpK6{fB%v7C12y8D`OypuY!~rr;yu1E6}_ z9IQqkd;nUA>FMcaaA6yJ>cUv#kmYKYTP#2D(2pftz2>CU$Q* zc)JXG;|5041xZ#SpmU+e-P(gDms|OcExOottnNP(EP9n+Sc*?1SOkt#G_CYP2R@ey z76tH$1dEdJX>K6k6A2dGgilieCOLKCF?=Gyq7nGCERiC{BG*Ctw~vNr`Yq zOr!%jdKAu9ALLM^WV&L!w}v&7n?z?9lN(WCl-x+ESKGJOqS;Yv)Ots40D(s z067tBQ#8gdQK-6^E?Z77tQV{eGjM{vWspV*!^X}!5jP`nK-e%MWrku}M`Ek+sSD|O zWJ~Guvk|0-nRHQjh5ZP8dpW@MXX3Y)L4%`f-U7b;Ukh;8_Ne zK(MVj5(>f~9KSc}&ySEArV8I`mB-1l43= zW`sLrg%v}{sU1o!nf))i>`R+Hk9adIgOZ4w0zbVZ;=RDLDTz2W@aatsX4OL7!lfV1 zgmI*r2?aw$#tgrGLByxo2sb5(&6+%Me1UVsa;ez3kq&95jm)B*#|^vvmPt;;t`Vi( z%>iuFYu{nE@g-b)>TECTh^on7C?-!%n>=~)h!I_&1qus$78Vx9vZ?v`$@%&DvC*LP zFT{s8r5h6204BNJz!Tyi%;TWM;|L;40`>u30O2Gt4Me5sMBvgB2@4>6Q)&$|$Slgr>Xen0B|&av19Z4RIn0eHheWn9q8kct7(WIE9pbJ@BL>(7Ae}SM|@oo>UfuvSm8Z{Gu7uR3)rqrsc@$ z53OxQI0FJ14%jb5`5dO;EuqJR7-nJ=^yfO4Dm6TQ$?cTQ>MZ84q`x&n;T)}ub2RY2fW?W0RdrWS_9)CIs*9X zd2=LoM(oV6OE#+nj%AW03__qq_>K8o$F9x%n$KB^@(DRt3HcO)F+Int_y;t68#RBk z8fx&D#kTEX;SqWl2Od%kwW(QC2D5Du+>X zXa3_TDoi;<$1jeeKFHpUMp0=KfYT^PQ4t%<@6;-E%6C)nvlPaBZ2n;VM+_;1^9u#0 zSVtjffRB3P5X#W;&oh3a%4k=j8X}rhhk~WqpQt8@#3OU_~1-OPJJABMf>Sb}g(#kc8BoN_9aH^q&q9o%?rC z?^Ov`#a|WQCcaHvo4DA;Z7e)iR?Vi^dU33u4f_uI*>dP>D88`TVI!fxX4_)=LaLt) zh+qeKWyjbM)-}UWnI`S4=nHQ>e8^@@LQMmttErsbxV_~rsYQzZ^K*MCSoRAaX&yJQ z1sxtY?wdcUOu=*yc6jLczDa|T%zpDkoF8R|-zi_Xb?gHQro^s?2MzN+d0}jCoWXPb zXy@N`6=Qp!n0;zR?$Alp_{5ZVRt)WqWOmhl_7EDYA7b^Ba_7s9N2q6iRG+}ny=*qB zSzFi|-8c^WK=IaZ>`EI7bQc22!P?QL37zgT}!HkbG+<~3iHN>cytpb2j!WP&U z$E4u0uuht&L8wLIgWCUJQD*;0d1yp1lORncw%?6ubjn)7{66%`ktw639d-4p#_GT@gWxJYpdLsaFx10qJ8iehcnZ4 zYCV-Y;8S*t;t+f;&GIz5{8sEQfY&&`cW*$&8Mv!-d|Q|n;tudQHpfV9Gci3eQlmm@ zwBrjU6trN)E83F*F(YuH(P%)Y-(tf9b`fIx0!k69L>lk^K{^Qt2X-fM7)F=bF(}q( z9861nm$RFsVSKHG=SLA!ic~6L#v=HD9+#mPhzN91%vK%9(^o!To?4v};+cW*{qqn1D|SZo@V#OeZ$DD7$ft41Nx%K353*Mfj9F3zD+o zHfSm^#cW$gY?1^rIez8? z!Q0PmAg9~pnl?~EB)NiuyBsHlc+m)9?E6;8Ya!(~v0&yl6_Z6U&9 zrCu@B=&F4<{2ScZtxX}}dH;@(Fs(9nvuV{jwO(yd$Eb~JlL~OEidQLASbCLOrBMkg ztxBiTs|>0bl~H9v43JauN-4IkRAbb?un*$D<5YOpT-LZTBeTRCGAHDS@+Y~Un3dHX zLBtfMh{S)>nu5Q*MEaLG|Bm_h%oF>dQj73!pF#cmuz?)yD@*`rn*a|U;*hW-l8TFD zBO2a%I!gd*ONV0A0_clk0j5SeY(tSt0kA}tJ5=lF1Z=LL_AnbQIQPr+91j2KXYF_? z7&g6dgo2GS%~FEicvGw)9R48MW%x9CnYLtj*bAf$j3e!|+375wM`~XJfK013;ng6< z`w}4HTJ8x+fVoV&H7S~G#(mMYFBc)yPyxa^1~wR0n|K2lAP-ti_aI8_GTa+n|t0x<}`P^$oB(Eb-3|A_Twv@;Hv1%VO-Ss0)Q)7fZ(D{=|` zXadtM>QQ)vO#;)&#bWn!%7-}RZ#nXRjJ0GeZ#$2;mb~=`GKUn8AZWGNwx>53Vq%O& zklv*UXYRklK8)^?yY!0lTv{LON>Z?dH)0vsV;DA(4q(cT*zbwk7cc3(x% zZQC8^g5V)&lU|IwMS&R$hyQk&4Nz0L@IZOTWgDyqd7W536BueJ7F)VjScHQ`EM{P4 zP)Mf^Fzn~j&*NCFZL#&r%I>zdZHrL%z))=3z=0r{q}9@{%oKT}ChfB1Sj!!p(B<;} zZmDO^Ks@*GKzWyy8EoHT$L8C#-6NdW2ZajO#Rv*RcNgvAY~3NO4waR~8q?Vv?Bu|9 zE5v(xBY6G<_N$u0;SXEx%)E?K(jQjHU^t8*$8b@^e7Mxc%#Oc;VIaoKY)PhV^PMgo z)Vvb;*D|I_Ax>z3l86L^Q2%E|;4f?g=Z}RjNzQ^xt|(|pkX9aT+i4cJ*xE^(@fBCK z@5KG9UG|*+c>d5lp4$tqF(gn+2b|n)$pNSQ*3P%=Z^QYXD!bwE-N?t7BKZq2NMOpt zCCeiX20S&52cU2joT*s@;0DNb_a*d#kOQIsVGH}k0v{NUoWSU?<-*NeF)Al>NJihZ z9^C;SCIEckGfDD7BhdExyXf17M{dlv6nw#y`9kr)0}o7^G^wJZ0*NhKwjcpR@_Qz< z6u2AXcBjyST#9PIfRx$5pOlr0_eCf9u%Iqnh99a|LAbY#}y@yaG| zosgyb$YTc??g(pTzZ^b0HoeGBx$KZ*j94Xrbx@Wc!N!yQa_m2bhpFUYAG;VokWG=? z@^Y3$(2cSjPADsaz6;3aR zX@iDl#Z<;|NjlvP3~0B7yn$Md9!?@NgMEjWZ;0IOC`lybWf!IuNfF6P+RE5!A(qUAxWWSZ?|M>WRci_1P~)I+GQA<-^ES6kgF3Qe}wbgg)D8d^P>TF3HNid z^a3tN55k!FD879LZ_!8x!?s}C?8~z3k4pwK0Yeu`2EyrJpf=-lyU*YWB_3Scf_Je2 z`69mkIg;U`i@gHbl1)tC#{hTJG(fE)mlXb0NBC_Zb^-v)5$BN>U0&@=BY53=_wL9v z=}hZjBmf*N0qqnx-XW35-A(-eBhcM?k__NR9GWBp;Jg`t^UB!>c?^=c3YHT%Cvp4? z)(2=Eyk-NNCkqCBCsqqF5ar$#YRIN`gC!1M1|UzCB%RnS8L(T(^yQ2=9`XGMn`X99ik}o+#m@UqevswH?h5Nu&q(q4qTJg zS^#vA=0xUw8O5U~7h9otdlf$@=L6-Qlq+-aWjOc2pQPC@Cnezcc7)MDquNKd({R%E z@>?Q!HQs+B=~i7tQ6Jvv$h{s#0c`_IvpD$@IU=Y<) zw@liyWzr;UfqG!*0}l)xiY-uOIb~%zIp9n&3>)uwbzP@WE5XUZy`ITt{J;#&DgOJ_gJuqLjQt6QA1tJN*g*nMx}yc zf!UG7evan8yci%pmlppkXbT2%2V>*ANtH*g`I8j*=<@i+h}frldqeTJI#gXja4jfsLzwK7Ey76ZNPU=xYO!IDz_FYxS7Gvi)T z=bLq1*=!lC2V?gl_#C}-MHdzsn$MJaB5+t4;$$|K`4qez6N7hnXz}hPVsxyZYy@EZ zRy=qut6@Eo4|Y=d3**h>cqO#F)|KOTYP z0oB9i15LdoSx8O%Ocr8?<^Y<+)bOn36>Vnc4mP1T9yM!$$$z4}9P3?~g8pf2PLtUN zj3WHy)TvWdCk8x3tc2H8slYziT$4u;wIZ%}Higden?lW3VChq*ntmWz#8jjnZFoqv z9WCKItaAc#e}r*iU=eXk-#c=<=jL|rKB?EFNxgch$!S3TtfGEJMg96=*izJNw#?z+ z-l;F&`tr-S-rAyl6A$Ck=#=ia9luzGM_JizJZ$0wMCB4H;Jlz1W(MMOHst6aHxSz9 zC81$MCf@EtNYW6~VcMdkHa*M!`|_Nd4Y2^z1^r#9!GDf~pdlM6#L~}#&>f*vk+24Mw2ayO#QXbLZ>*>X`7r6-)MYL;v^gObYuiAj{# z1yTBcg|i`i!N^Kz5gNQj)rS9#Kyf%TD12JTAUh*1-H;|RmB6wn0tkwO@7sgoffOeM zt;w;#$Jq#&ED&%gZW1@+2wzUYZg%0*R*^vj)_P*XIw;(17)+T@nM!d72Wdrbl86eU zv~VmUhjMVOeY>{p+FILM6RZhL5$+YYjAQX#VRbB9)`n^0@vKDrGZ1iXSbY2#&^eAJ z$g)dWDe?P|zFkh6tQ_88MvtmdFL3YT;VeSYw_!OjVz_uRRNFA@{*bEONpXQb2XAX^ zY}bGKfdke)NHwaND{)Bi>C>n2^Ehpp`GA_KJJKZ~Ik=T^$@v~ne9ywVIvq26P}Mf< zp&x$u0lIi1<06&PtbIHP4dt`p1zkrymYS+#Tqc_ki}Yi-UKdt?%Pd=_V+EbE78#9g zsc+823edCNjv>!tTyO3s6FPp##BMTRWYbOTG}GeJ`8r&>(13B?hVd{%cmQrHOk%GK z_Rp)BzAZCe&rDC!8)y{a-rT)0^f)c{5+ugb2KB+D_3fL?t}&>nZXD`FL5?6i{J}-WAIu43Og`Iz zQ0HQ)jk2S9m>J zeE2s&7Hm2l3s=$XrTjbMwy=!;B_Ba4s06iucnju5C+G!(5F;1`lZI(H4X;sXlo}Nr z1q5U?T8&Pl*BCT08lwiJs^-+ZTA?Q3gH`WS)}*Y1qf7+@yB6N@;qnhmClS<+~8&!r5O-iVTr zS*9dxAp%C?a4`}|R-6*=13@7_O{xhH5{4sTkxC0d4029zRWdEeNR*&W-pI*7*a#Sr zWFjJng@MrKZD{ex1{|)d&UP=S1x@Zr6Q(G9DOn>efC*?;uC1<91Tf^@)=CPT-j_k!cW6RkGbe(9 z`P(U(n1~V}SV&5)y(KaRpp3BbT4IfnF*NxrU=HV z>;#n(-4m8zf#$;@4J#z6e=KG=+&>B=O8CJr_!~_?;&H^HTtnM4ZK_xHY;F?Fv^SIL`439C9+%& zXhb>ugW+s80>=m)JMhR9D5MQ}p+FBMrz8SPB0o{aAcZ1A1rl29_34Rin7*b>J^h+D z`cP-a3$X&)EptlR=M&k3hvBT1iQSr1hkmOqvUH`;JT2+kR`ys2q(O}n{g3#_bX8N4}rq{U;Ie?fS4V4f*cNj3o5;^ z4SbF*ek60~#Y2z^O<=;dW-x(p3a~Ws{@4ppg&)XHzamrtjcwR0ND6{B3wBh@h8@=w zFd+3L?b5wa8bCrsq6U{i4qy8PA&0Y~5I~dj9|8IR{mB?0V7w~_0(f}$YE~qJhIf-X z2d;p9T2MQ23bnmH)b!<>fHM6N+Ck#Q%8=k?{JtvbK+adf>0wvdVAX&5LJZ zW&b=D8+h+xHUN?;dTkt;08Ih_F${SZ?=UbX@Iwj>W7jrWGv#=e=1x4vCPy0)5u~gx zRD?iv6C5d>m$RtHe*9;{hatrkTi22`D(^q+MQ)m8DCol3in9uX(WKSk%l^{Db7!^2 z*aVx3y?WZ1I_80AKIt%VwN?l3lUz>OyDbF}5Uz=Xa=S~~y@mvB8=nFoiop-QxTYPR zV+q_$yPe!jzz^|&A>d|mEf59{oyV9w?6G(c$~^3**}w`u`Q#HI0PuwckxhroKXKwj zoVQ_m7d(7y%fg8ck*MF&;cB&X;Lz6AmE*3Zm&Zx~g_fWSG{SQ)bhw%>VsI;Q7|+io z^nos*72#P7g-9a!ZI2O$B+OGU>5)*a5GJa2ApM=ghV_h!x}@F3t-0W zx8DvZLxMHx(rXRxe*RW^Iz(5v7Fb*u&GSuL5II|s)YBp~w;qM^X zRG@yDcFe88G!0>c@qG_s{v5l(B=CE%9D42@HQ^lmCu$W?jwdxh9)>i791DpI*2nd| zB7|c)_Vj0D^aco$PCNVsz%0q^44{vnfO^PuCqo{hG3Fr0zUR)WE`@Tyod7tb#$>m_ zmMt9%m>yv>P20I;O~^+aPz^#i(h?JiCINz|H?>7=t_92yCCRXg@QiCB(mW3FxHMfD zFb8c7j=~(f`86$>=QL}{J>V=bPXx9h-f6`*8Q_~ZD*lRCjEY-~faqIMF`zj;F~X0L@fwMYC03CLd8Nc15@L5{q-^G{W9mapEix10;JBpQc$5R* za^)P?nN#oJT0w`Hj+wM@f4YFi!$Aqbvl_UQ^h}UuE0H+XKtk?l4K6_KA_PmY9ZIWD zGYO=V;5y)LP$CRK;B*&^lCoMxxj7Nf2xs1?!-=GJX;OeT>}$YL{Dr(A+mTXKN3%wSUK zLj4htMkkO>aovq7r#-j_CbeuV~8a$94RXkAfK{hds_);^G|QSi9!KL(FiO5m}C zMbBc-NOb*=0c7_BW8Q0mM=|B`qL~P@e*@GmOJ?t*J|JnqIWEpD))zXimNNX{RXg5-& z=39+gDbZ~c;2b4g3zQ*NZXS`ZhfS9zG(y67J_0XnR-|F81QUorIUhTJN%;$+4MCfO zXn%)#j{bOA2o^0%UNoZIT&pC2E~dG6O9dF|d5>JxOM}q#H9w$To*e7lhqS>}q<2CF^#n%HyBGr#WK6T`FSIOx3Mz z8xITb&$|ug1IIKg@n#{92k#l8SO`_W)VNG+LBQe;G;Wr;JaQxy<;2;RUfm=G}>U`Cu~lFcI7R*2g? z^NeI!OhEjkq$HJbm_>+ew8LhwYghryn|=GFUdSZ5p6n2eF<$={>Xk#lC6$@uvy|#< z7=#!?JzO8Uq8yx&Ixdiml-`^k4MDfP(7=Y^kV-wCu3|>O2tpoHLpPn40@#rmq1f>w zJj1XDr45TU;j&m-Qz~3;58e@W29wkUl!?B^VFr6?N?=?uZh#>YtO5VoFvS;9!99KP zkzzCPEsYtl6<9_l87@jPvo2}KD85of12@rl4Fz-BU=xFm>DsW4h|9gx};JNPAXG_aj%n%3k;Aec!+|7DmEN%K{_BY z&~UuGYYBQD22qWk`#{O1$rA(W3rfx#_cLGbb2uSUVWl{o@coOa__Z3T4C^SR}5c z`fB0hq(rqI2~O6-C8!kg<% zeHc$y%V*ArUNOfVSDE88)xF<+*1-i<57nBr97Og>qI zjaMeSrmNywB7Cd94>N+<|El>~A*i`mFd9jN;mWv>CS8p>8%dKzNs1nEj)&9G#B_P^ z9@3LpJ?SzyOsG%c(@WZFzdNmN$%|3`lo=8YH<5-5;f}X5}Z!AvhiW<(qh-r`=%_p&xOPiByd`cQ@kK)d|0z_ zY4OG-_th;aMxqW0oG!hu&dP4Y#@yo+Ef1eE{6#$!QK2o^KhNwW>G0;w@U*z(Cu8s? z7Wzd3{c|xWQsGsE$+TOOil;6F7$ZGREwC~fSfzLWNYw<$6sj|aX<2_ndIa_$J>P_l zVp4@`qnEgCiuAM`_Tx*{XVZ%b5Ob5?FE7t?)st#VvY`u2ixR{s4ufFjBd~4UvIGI>)%AnWA36 z^mt3REM@s_Zd2nRo}b*i9TYK6gas7%}fUarnq_;thFYoY_o8 zk3WwcKW0QuUapv&>CCx)Y)+x*96xSsPVV)2DXisB#q_xbZ;oiC6ffZ~LC#3LNBZ%{ zo&GJLijr1(<40`C8c>z{60SUFx(%8MhGLDRR8ohNf@@N^kg>x_fgwXykjQ{y9Zs4J zA_}Fl0v;}_UfOvxoXk{|UB`?NW**iFuUX=7ycQOz4Lia0NJoF>Lb9^dY6~|TFGeD1 z-t1B1DhU?6{Qw(rfx#uSFKre(cke_5Zv}8v4<-yW!JtFItW;#A-|F5cZr zm|xzM!b;GODw13&llH!ZN6L(CQC^uF-M3&4H*pRWZ+e&HSOr^(DM^k6%faY?W3Xo8 zoP2K~H_>jlV~Z-R>nK54xf7T1xzlGWRlE|qowcD3@Oo&5P!%k(i#llSke5K!+99O~ z7-~U!#xlBYIGn?Vs{pH}5Uh$iBO*2m7cI}jJ1J$VDv%5=6YC3FYs)SoL6|RCb5K+( z>Wk1^gaT32n)={rqS0lX8PF+A7fjf{%b6*V94&HZ0KZ<=oiUpSb7sRha%arNsf_yr z#~tLjzj54N%Az6S&T9Z!F?BayJ&4Cra_X@>&bb(#dy6wKs$%BpRb*_UA)2T&VUI{A ztYn&6u|KVkWOAC=nojVYvLv$=S3-lw8DKH)K`DJ5(*Oep0j&QCPE!N-7$neivjvpX z*^qCsVB@)xbyZlfRWAZE&=SZzXN9iRNpO36^+cwEcgo$yG@q)C9%AAz(i93icP6`U zU*gr3;MG2TV(DG=@Y&+pu-@QgNDhe%BHa-|w87JR41op^mmZzQ_bJ9+D;)69i6k1% z$k^Mle+XS<6iAHRhSf^D-@s7VoU&Abe&f+^l!?gtvvNlx&_*|%c9{xGM8-Q@Rp4O{ zO@Y0khu{f^d$h(cTJDJ>!SD!S8BKhU6Y;Aq0aPsf*+9iCOwehawnD7ypPQKzzD5@w+qqv%Qx!C@M1 zYF*w*dzwiulZ19i9+ZhqkVv|}c7h})l37SkZrlO#28|bj6_d1P>oxyw_BOXWL_VfD z{tUZ-yUm>viC-aD%;rKcHvn0c&0xc37N&c zC`6g9O9T}$6)V#4ZcpOAW9(k56rXv-+A=oNQa?8n-4);(M#X9FF^L`}ij!!Mpf8EB zJhWF>;xnu|WI;>3tB&G%600@gUC?5u*`=6KhOi1Gegxty@jxn*DgFWl65$Gvku20B z5*{2+q6)i~^;K}8x#L%0YL-F{F(_$0i(rV7{0A+3hz?FnmV&kM^ok0+0uAWaQqwvG z859u|Cu&<X zZlAm*{L&#MbDWhUPy@2rocx#+$HcEMBWjBN!aYo0ZY4L16XKZSMm5tj?tBYc2l?Y3 zTf+*V*m%(HboyNf&CM0avaXoB%;CG`^SY}OCC!XQ!qOW_VO*gzUdf*{HyQh-{9TGBBC7!+H> zJ4b-jnnel)*HK+TSBKO2CSD6hPR1}4+rTy#DMoj@bO|ca1V5-F%umU=qN)63$Kcc)1 z=@bu_CCc7p2?Dw&olLJ#Dg!YOmrU+Qz#uk^vcPnf4~I*BqBpJQ^$NXGkLQB)8oi*` z0<6VLcl0rOqaI_%!2S<@;Qv}-fsu>b!jYAJ!YP)I1A1zkf}Le?g;*6JH3s~K#&n#U zS=@bcP8=LT8`AU>hS3@eq#8=l7n;PKLWLDn!5*!EC+(<*7vvtWz1T*58ZtNo#$abi zC=qQ&TR=%CB9;?DGG!f{4^+Qz7&1eKdw{gG-wW7QI?JN74_lo9^No}l*Fn1Qf2Ut~ zGJ`@4@zi?+k-D`ba^!j$5brYq8U65cp|7yuDkz?kf8UgXVpqX^NZ{0k(|id|1H^VY ztc`9oikWF7%uLffLK!nNG+|~2X=?u6m>Cp;1Y$*AP8Ru*)Kh%ZdJ=KaNDQC}5Wyu@ zG!CQ_twAJ$H3wwyv&jBmM+t%z!>*dPtDCHyupo?Q$T}WCHT>`o(VTRHCy8b*L08SRLv#h&Ye8krG#8;Odf^*46xvgwM0-b& znOuD^5fiO#SPO#qS(Nc}NfB55x1z8!4Q7qg*0EzEUbdFlp+kGT7Jx7sGi{3n8=Ep1 zC$?(~ezS6HT*6gtVxb0%C9G#+2f_-87EqCv7|V*6`r&tI(5Qs9B^ETBwER!OcTHyV z53pqt+Y_Ez&ZW{jFb(Z-LF%7={5Oey^tVI%tFY=w^dvl(ejC-em_yC>&0x*lOu@*+`hU-#?R3`}O`oPGA$ zXYaNC>#^5fyII+9$P;;v$KTLC>E>b3*M_++-C8 zF3(Vx!7%>X(3#knsd&5DjSYQs8+MTq(ttAJyoRRtHg!Hk`A$hbLtQc<5_9Rk6k@L{ z;?Kn{-IwVf=@VS?Z~pV~UL-)SMr(U0D9&qqFT z_uU`<@P|J1!4KYb*PVBM-~)Huar^DJ-L`x8u3bBJ+ z?|tu$H{Ni=_19MzuWaRY-F4Sqd(Aalwp@MnG~47K>yeq7v@o%OB2EM}KYTK*nD5zQT5ACV?SpL|=IbpA4EX1{WrRTTOc zWpC2Tt{pM7J;V_Nbf`@$p?v~bl))?o{Ey&C+c$p&%~Q;3*PLFH_3p;d=G{XbcnpHf z9xf-wA%-4ude#dhF~$Ro@P9F6>MxL!XN5njlVk)i&)4W!HNv}cA|8IGhSYVVSnsbG z%Nka!coc_W%hIK%T8(w>?FHUx6Q;}5V`H+V4v$}vh11Z9QDm>F#2-WMd z*>i3C^raIrD+G92B9g}AEeIY9oZPVozhTdw`|exFx730?d(T;R#`1>`tu0m^3%C68 z*sHXT7#@7zlV|VRSw{5FEH(GukDaw(sx&-u^2zF#s%+=3-Mi;-x_uV;jApf{Ss#Dk z!G}&VYL+gw#TB?ri0Os!*KDU<)p*(h##uHKBhs~waT`4@a~Fy5EOD2_!zUSBalZ44 z`MDEq?`64@0s%4@Br~(GWmFV_i3sCFmwt!~&N3$$lFy4}7w$Z(M>SfFOtB`ImMutB zB~_AOwpd<^iZOvhzm?zyiskW{-=eMzFtyWIdRl=Z(LqBJe^RlkF3p14R8~?= zENzdP7i-)sZmgp$+{h&;VSvjjL6uj;@K!OqL%hxsabWpdR0_{dh`=8i^9Hkq{xDM=g*A#U7T3HINxdJF6s>GgG0&@>)5{epnhS(?Yp~42h#OWjOjQ2#|*h?;xuZa!z#nIm5puy{l596N8AVUW73Q#k}J=Ygj zezARD&!a1jZSHww)swe-RQp}aw{E7DP=AWKDjwXUZog&jO;>E**?wp#T-l=eY`k%i zW@OlTgABp=+n?X?YR{n;*N3-LW~o~y2so6>qKBCGL8%I&PET8~c6!^=35N6`;}eDC zr?XSHO>u{~{c zRG0234T@t_>{X5&vJ69FA`-_VtOW3$zVgtag9jhB)y-+Ai6G#%){ouWv!|n@ zr)R-g_uaqrJOP@uYd(GO(8G9X!H8M+_M|$9jB6l^&CH!U%Svy(b?2_xvv=;CHFL+# z_Ss3*vuE$VPqZvOc<^2C`jDzQSCFF3Al@6nor#h6j<$!eU?$^(fHH}T%){w#ro8qJ)*?j zcYp6ET1r*kK~r*(W^;M)c7xr_*zN z_%5$wD_QV!YQpHU@<6M*Ii9|TBXxrD?Fw4<4beNFzWX&Te6egarbXRP&{(MUapi zj;Yom5w$YZP@6!c%w`u>FEZfz3nDV7FxjK3C)c|*M2Y`R5VV*~)ZeO9qM|?r5|tb) zspsBY&jFR-yQidC6P*z$BD|AG1DA9Ux(<1XFY|j;Gms`oBqPkl9oqX&o54H~G8#f0 z6sT_{_&H__u`EKvt;Ro_wABOJ&y|*X2)%{4Xi3NBXrkf5R3?H9-5YA zz$1dy83~jslAe$pO`WJD2+vkk)&9`Ms!e?R^p(pOl+fw>2vQrCEP(0%Rqj|V^BX69fw82L{ns>-FW8Eqj~i%b
    m%EBRFq&ZLMzxK$i(0M7IL@7 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ĊV~1$$o2m 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 MYsSKYvj!plFB<`3(EtDd literal 0 HcmV?d00001 diff --git a/ootw/hello.bas b/ootw/hello.bas index b69203d1..b90c085c 100644 --- a/ootw/hello.bas +++ b/ootw/hello.bas @@ -19,8 +19,8 @@ 130 PRINT "2). START AT CHECKPOINT 2 (RAGE)" 135 PRINT "3). START AT CHECKPOINT 3 (VENT)" 140 INPUT A - 150 IF A < 0 OR A > 3 THEN 5 - 155 IF A=1 OR A=2 OR A=3 THEN GOSUB 300 + 150 IF A < 0 OR A > 4 THEN 5 + 155 IF A=1 OR A=2 OR A=3 OR A=4 THEN GOSUB 300 160 POKE 5,A 200 PRINT CHR$ (4)"BRUN LOADER" 300 HOME diff --git a/ootw/loader.s b/ootw/loader.s index 0d188e84..91d63e93 100644 --- a/ootw/loader.s +++ b/ootw/loader.s @@ -28,6 +28,8 @@ filbuf = $3D6 ; filbuf: .res 4 ; = bit2tbl+86 step = $fd ; state for stepper motor tmptrk = $fe ; temporary copy of current track phase = $ff ; current phase for /seek + OUTL = $fe ; for picking filename + OUTH = $ff dirbuf = $c00 ; note, don't put this immediately below @@ -45,89 +47,81 @@ start: ;====================== which_load_loop: + ldy WHICH_LOAD + lda filenames_low,Y + sta OUTL + lda filenames_high,Y + sta OUTH - lda WHICH_LOAD - cmp #1 - beq load_ootw_cp1 - cmp #2 - beq load_ootw_cp2 - cmp #3 - beq load_ootw_cp3 +opendir_filename: - ; fall through + ; clear out the filename with $A0 (space) -load_intro: - - ; open and read a file - lda #intro_filename - sta namhi - jmp load_done - -load_ootw_cp1: - - ; open and read a file - lda #ootw_filename - sta namhi - jmp load_done - -load_ootw_cp2: - - ; open and read a file - lda #ootw_c2_filename - sta namhi - jmp load_done - -load_ootw_cp3: - - ; open and read a file - lda #ootw_c3_filename + lda #>filename sta namhi - ; fall through + ldy #29 +wipe_filename_loop: + lda #$A0 + sta (namlo),Y + dey + bpl wipe_filename_loop + ldy #0 +copy_filename_loop: + lda (OUTL),Y + beq copy_filename_done + ora #$80 + sta (namlo),Y + iny + bne copy_filename_loop -load_done: - +copy_filename_done: jsr opendir ; open and read entire file into memory jsr $1700 ; jump to common entry point ; hope they updated the WHICH_LOAD value - jmp which_load_loop + jmp which_load_loop -; filename to open is 30-character Apple text: -intro_filename: ;.byte "INTRO " - .byte 'I'|$80,'N'|$80,'T'|$80,'R'|$80,'O'|$80,$A0,$A0,$A0 - .byte $A0,$A0,$A0,$A0,$A0,$A0,$A0,$A0 - .byte $A0,$A0,$A0,$A0,$A0,$A0,$A0,$A0 - .byte $A0,$A0,$A0,$A0,$A0,$A0 +; filename to open is 30-character Apple text, must be padded with space ($A0) +filename: + .byte $A0,$A0,$A0,$A0,$A0,$A0,$A0,$A0,$A0,$A0 + .byte $A0,$A0,$A0,$A0,$A0,$A0,$A0,$A0,$A0,$A0 + .byte $A0,$A0,$A0,$A0,$A0,$A0,$A0,$A0,$A0,$A0 -ootw_filename: ;.byte "OOTW " - .byte 'O'|$80,'O'|$80,'T'|$80,'W'|$80,$A0,$A0,$A0,$A0 - .byte $A0,$A0,$A0,$A0,$A0,$A0,$A0,$A0 - .byte $A0,$A0,$A0,$A0,$A0,$A0,$A0,$A0 - .byte $A0,$A0,$A0,$A0,$A0,$A0 +filenames_low: + .byte intro_filename + .byte >ootw_c1_filename + .byte >ootw_c2_filename + .byte >ootw_c3_filename + .byte >ootw_c4_filename + +intro_filename: + .byte "INTRO",0 + +ootw_c1_filename: + .byte "OOTW_C1",0 + +ootw_c2_filename: + .byte "OOTW_C2",0 + +ootw_c3_filename: + .byte "OOTW_C3",0 + +ootw_c4_filename: + .byte "OOTW_C4",0 -ootw_c3_filename: ;.byte "OOTW_C3 " - .byte 'O'|$80,'O'|$80,'T'|$80,'W'|$80,'_'|$80,'C'|$80,'3'|$80,$A0 - .byte $A0,$A0,$A0,$A0,$A0,$A0,$A0,$A0 - .byte $A0,$A0,$A0,$A0,$A0,$A0,$A0,$A0 - .byte $A0,$A0,$A0,$A0,$A0,$A0 ;unhook DOS and build nibble table