From 33f326f1321c4db965fb45f3b4ecbed6e0d77368 Mon Sep 17 00:00:00 2001 From: AArt1256 Date: Mon, 17 Nov 2025 22:16:02 +0300 Subject: [PATCH] first lilia shot done --- loader/samples/minexample/Makefile | 6 +- loader/samples/minexample/conv_zx0.sh | 8 +- loader/samples/minexample/falling_star.bin | Bin 0 -> 27673 bytes loader/samples/minexample/falling_star.zx0 | Bin 0 -> 4198 bytes .../samples/minexample/falling_star.zx0.prg | Bin 0 -> 4200 bytes loader/samples/minexample/lilia.bin | Bin 0 -> 15564 bytes loader/samples/minexample/lilia.zx0 | Bin 0 -> 4925 bytes loader/samples/minexample/lilia.zx0.prg | Bin 0 -> 4927 bytes loader/samples/minexample/minexample.s | 525 +++++++++++++----- 9 files changed, 400 insertions(+), 139 deletions(-) create mode 100644 loader/samples/minexample/falling_star.bin create mode 100644 loader/samples/minexample/falling_star.zx0 create mode 100644 loader/samples/minexample/falling_star.zx0.prg create mode 100644 loader/samples/minexample/lilia.bin create mode 100644 loader/samples/minexample/lilia.zx0 create mode 100644 loader/samples/minexample/lilia.zx0.prg diff --git a/loader/samples/minexample/Makefile b/loader/samples/minexample/Makefile index 1f82186..d3fc9ef 100644 --- a/loader/samples/minexample/Makefile +++ b/loader/samples/minexample/Makefile @@ -160,8 +160,8 @@ diskimage: $(DISKIMAGE) $(DISKIMAGE): $(ASSEMBLE) $(CC1541) $(RM) $@ - $(CC1541) -n "ys2 intro" -i test \ - -f $(NAME) -w $< \ + $(CC1541) -n "ys2 intro" -i otomata \ + -f "ys2" -w $< \ -f "sid" -w use_this_sid.bin \ -f "badguy" -w badguy.zx0.prg \ -f "font" -w font.bin \ @@ -170,6 +170,8 @@ $(DISKIMAGE): $(ASSEMBLE) $(CC1541) -f "tower" -w tower.zx0.prg \ -f "towerbm" -w tower_beam.zx0.prg \ -f "field" -w field.zx0.prg \ + -f "fallstar" -w falling_star.zx0.prg \ + -f "lilia" -w lilia.zx0.prg \ $@ diff --git a/loader/samples/minexample/conv_zx0.sh b/loader/samples/minexample/conv_zx0.sh index eb6b93a..b4b6bcf 100644 --- a/loader/samples/minexample/conv_zx0.sh +++ b/loader/samples/minexample/conv_zx0.sh @@ -13,4 +13,10 @@ printf "\x00\x80" > tower_beam.zx0.prg cat tower_beam.zx0 >> tower_beam.zx0.prg zx02/zx02 field.bin field.zx0 printf "\x00\x80" > field.zx0.prg -cat field.zx0 >> field.zx0.prg \ No newline at end of file +cat field.zx0 >> field.zx0.prg +zx02/zx02 falling_star.bin falling_star.zx0 +printf "\x00\x80" > falling_star.zx0.prg +cat falling_star.zx0 >> falling_star.zx0.prg +zx02/zx02 lilia.bin lilia.zx0 +printf "\x00\x80" > lilia.zx0.prg +cat lilia.zx0 >> lilia.zx0.prg \ No newline at end of file diff --git a/loader/samples/minexample/falling_star.bin b/loader/samples/minexample/falling_star.bin new file mode 100644 index 0000000000000000000000000000000000000000..b1c2a7d473a9b513cda6a3a2ea8b83b0bc95a553 GIT binary patch literal 27673 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 QpZYv_RM+h$R^)&Kwi literal 0 HcmV?d00001 diff --git a/loader/samples/minexample/falling_star.zx0 b/loader/samples/minexample/falling_star.zx0 new file mode 100644 index 0000000000000000000000000000000000000000..a19134d3aac10c8e1059919ca840e8731f836252 GIT binary patch literal 4198 zcmZ{mX;f3^*2i-afsf0* zYlq@m08IDEXxQID&dvoGroGtLH=H3#0I<#v8~TPJEDOR0A#84?kKW|abW{Ypg3AqE zziw?{`GmLOjwp%QyphY{T<*I*do9mP!l>0bvEp@2W~jC>R^8{R*IuYA7T|E$Iko_h+9<;8&*kwn%xG- zl~iOIgb|E-0``UMATwwPk#f^wm@^g#iYi_$i>U-5?~F8d8iYLc4fUl0$G!-}3={e- zqv9%dy;KqckLe7zWv@cgICUaa`l`Icp={-jt4E*72b933I9z9wUe(wlCo{RJ%t1_Bl*iPiJduix9}127 zTZXY(fuM>dT~E@x8)|2{M?G7O1Hu8;ka0*(x^!Hv)@oA=0fJ_PVCvhQ9ft-TjSNoPn~G zL&vT|0T3kZy#Be5*Tb_n_*LRbhZbjw$6ZSgN%Wog{i8XWlX2OwZy`4&daNg?2wPY% z=yZDZ5r^i}=2D?>pl_B?(owxJYj)t(ro%fkx~^smI$8>pYuqtS-Q8-|pUtUBb^B^W zsw|>&($_YyDlqkP>pOdY&4E&q*{tKWT09g23xbg66SX5iZbCY4;cvXN{ZhQ$0g;%I zkXceAlF{EU*n9?mnF62be)jg}d5PLHYGDk~p6DE-_6=<`T%nqGrglEtKHMg0KrvVf zk0~@yMU}=gZF1ZlrJ+;CKb*>`lK#mSz*@1EoE=xQ$pYZnLwRLGlKNO?JhSw;@(Fj9 zQ(%;TlYtpCHsp;Pj)|)({qyA8+6fVpg{q{74{q^biR7Q#Z+#c?Wjd~D(R3?>1g!E6 zq%gA`Wv|jWY7fjhDaM zqj%;vH2;WMm^yw4&mPBZqczT1pp{&~9=p)=5!|)vSXmi>DgN7hvHMM;(A^D1(}Wu# zAP5%8N^Uwuh8Nd(dlmHcjWjRr$8EXT~yTnKib7aL-z;{!T82a#GKet!Vw!Bw<#10cBblYiSnQx>_#ubB)o$sXk}9G+ zo7(HAIY;R^xPzWUNT9t3t|jVj|53U4)dXAFDCya{TI!A@!gvTGP%#vAYwhv z4`A3if~%QKYxRs(LV_c4X|{PU11NOFG5@mWg73l-fD$ycZPA>;bKb%kz<%ouviinY zm`&npuZ91TFL0C;wvo%`3t1K3&c%YHx6YFPgzo{mZ7DcGKH45IPeBUs?jBScffUT* zL`Aa3?LeI0wk0b=yh+W`vlM5N!7dz#qR%9w@4sd3kI5{UYdA+6Z_wVyxqcv@2CPV~ z77Uyt{()dVfY~KrSnA{DOKE5)OSKm5CjM|Xzch*B{FQ=556Zg7Vnts1{`-c8<>|x~ zfW4!M^w^q)C;LRvrbxy5QC(~;ky!h+`-v__R0KH4R9T&3+gOtRZ4tN|B&p_?Z&D=a zBb{CW{(PkCmcm=E3N)w9Y?hC$1bKOr+apWsc3sGYub$;wURew7N7I*9SURE$er+~i zj1VmWJkFi5=&kEkspa>`6Ws~+X__d}10Tzi|3K4Ef5&o5VxN}V)Cf13;c_jvzxD9F zSm?T<`{l#?r*a`Ea-FNKO=@CD$blP7Y2?{6XASdK9UN?15Wt#yEJ?>8?B02o_IssHoEvc-V(R+jMZ>r*Ihk$3l+y0u?7abh~q@4^|U7S=45P$y1 zy#RG3`m9(%^m0jccc@*uyo-FX@w^q|#r5>ZxR8OJ`9y~NQSybvnkpTNccjuh!sC;Y z&gOHx^DnubbKAZgR9(F89+n=y|F3}1wjB-G?BrzL5mo6?be31a-LvYfCrf^!Z%QS|D&^W zvjDaMln>qJUZjw&H)&}xkw1Fg{ALv6y1wQ2hW#!n*l?frj4${ll1|(09-rRA=k3UJ zuBlwU62ID|JXpm34hZC@$VZinV{CqQI}T3H9@M#;5?h$N4FNp&yWmaN3_b+#hf z&gL?VG!ueie_JFN+s5oZjCeqmDorG$4JE3m6@zOQJCY+H=xwUjQ4QW!2h z)CF?WjEj%I)r?EyraH5lH@wu0x0}=vLjX|msSIOx}K<@ORFu< z$I4cQ#;b&#nJ)Yfdd4GXs%Ct}p?jKfpJ-6?W{sBs#Km=Y9u4LrWc`LmZsf$t6pkA@ z`H`2EHN`(RnWK0sc?s1cLbPCLo^)s7_39#hzkO{_UeaZ{rnSbymnwOELkL>6^Xd~d zx5bAv+dvm7UenqfM{mz;VCv-~TtjyG|4|M_^lr7Z! z4@IqMwKOI0C?=+jNgT6v2TN6poFs!z!tdI7F1IwTjJRFxycMRnPs%&Vpg*5J8E7KE z4i+*@&$C&WsA=Y;f;6KU4PQlzPGjaw(WjuY_^hR`VSqI9S!97lP7{r;pz?i#EH$N zLh)r#DC32hO7DqZH>%=ya347k)pHs4pxBoI%>eb{!Snoe9R&)yc(901?BN`aL-4})2 z<;xx6nL{~^=p#BsT*s>;hXqmUe@i9&7X5P30B8vXe^s)`uLDE$LoM5pXim^FH2(T| z0?uaH^oGJXj)g~T?9GMZeb8(SqjOcO5{57ouE(%X;st7)g=;V@RfJ*xk09YSmH(CZ z3Gjd71ZaY`m+ij|3o&?C!PrM4cW#3cUWs*lEO!sG>JxuTxre?fXm1xQRZf1x5VWz+ z5Hu@Lsm1NCbxwFL&a`f=a{6?)i=YHE@JLQts_f`O0eYgNB4l`QP@!P=HBHqUPiW!y zOPiSWb(^ka(w$k2s7pt}V_g8RrMA~wJvAjxNptEk%0zyicK`l1z9Kq#HJYA+HJsf0* zYvXc5aV-F*`(!li?;vOA0u0k$?CTrO5G4Ru=Z6h_!w{AQVS^Ahx6(&%a%eg#f?dJo zhOS??Hn4oc+i*ve#BAQk<#4X|8PMmtS>OSJLB&}J1fK~69tJb-vH~nvZ1!5Yp!8nR z9|)4hs% z{gzR26}w(434zCShTF1NA!(dC5h{IE-r-QTa>v!9&*TG2U{f5fvq`UNY>|_h+*Iau zf}n+&j~5`^7)~%7M&@F5)Ij$I!^wDd?9b3Lgwx(O796~8QbIa#l{bX zM*S_rSgk-%#geWk>D>*rv)rSet;PZ20BguNBqv=uu2yTcsf7SRGup8lR%6+BFO=3^ z5KCQ+h&{X|Vmz;g!#W5rR4&9r@rv5#=PGg_(#ah7LU3qaU}o~0A@9~2!EGZtS8M1w zc0o|7HemWYwPCQefEoSF*3fh%#-@&JJk`N@ZH}*G=?fb#mvVzT2WA!W!3_%S)YM@u zG+@WSp6V&rWpk|F8mEwUMJfNFdLsj`m3}Rf?!<{XtPoiRYgVtD3rb?PRB;4;>>SQO zS<0bf*P#Fil6GGI+{f$T*&F;S@uWkGGsWYsrH3T?PW=AS9L>qNY}mJun-V?N6I6sP zEEse;z50kl^J#ObP&m*xODO56-k3Ez@M_cHof%zMvjrV31l2dR+O0 zyUHmr%D>6Lj2Rp9#tp~BRh9mE@@?&eh{-}#(!&S0c(6qB&+WIq3;8k~*R*K56+!}5 z`3BOxsOeS4oyMKi+S(YhbQC^ZC5DmxeGz;ndFwxK4JNji z6T*yFMU5)yAHP0shm|0O5WYAc-(i&RNKWHIOm59cZ-UbXSLhVdE};`*W+rpwTW3yV zX-%i$U)__;7KsPbk1cW7am{-1?SqoTF{OI*e%hl2trS8yPWfRJ?2^5~phkYgwvIqjE!K{J z(7Vq*1NVpBQzw{r0d18>K8rth(rL}2fIpR(T?5s6S>pW9ANyAL*Ht*^iD|? zQJzih_0ycA^c>tl&mknx-UHVXb+`YhT>NT+t!$L^Y+WsNM-Z(`$%3Zhsa)zGZsz~{ zh)oF0gZ$Lhc{iUnS4O=fR}aVN%Xcn;%U)S3{5&|_X6bC~F3uZ#3^z_iZ6yqPRfMI_ z5Oy5u2EGi#TFFb>NLde!@<9EZrefckVH-2)%-P_X5n~sncUX!r$AAluUieYF!#cw5 z=30e65nYD{2m7uw=K5xK>~&Yqb`#I`{&I`B&rF@Suxgqtd@warUz7Om%>$X-XK4_z z9_I%z>>R<>Os2JZ#wsDfk+?M5yq5tKI^vjrS#!a6VF^G98rrsK&fqz3;S6BE^#)me zV=T-jakbaNf5{g(N($S^W%Grs3UB9PLDE}i$$!H40Nu6}oFE@<516MQ1$cK4Dvdx2 zW^tk-S>tvf&Tre2l_B1w=IB|9Gs$2V4n)yslF|3yvi8Sh7R)uAqm4Ic@8euQkWT|v zBv%Ut&Jq7WFdx9|5-=?F@$#iKw3DS;i*^%#IGbOZL~;H~!J-Fc-D9yLFMa=gL&NfP z;tIgt(L{P|O~aFYqG(g3V*RKtww6e&{o4IR7b7YH9Av7jPO)t)N&mJ8+zpac^UF6W z67-QyuK<5O(sfJWEmsAa(`Giy$5w*8yvgm6rFFY58HPAxh1hr%WZ0eo6K;zmfPQY z_+Bh@UD5sW;r&y&5EQx2)z&68F{I?_F6y;S^u2);0^Z`9J^f-=LIld71@CH#VjVn% zMS}+}Cg)Dafi@n%xpR&pt;~}ik6+>H6Tq5{&I_SwRU)Ge%9_1+$HWe@5nVrni zo-59e$&ZCHx^TE_5kc}<^0lbQ@~7_A9?n)ot2N(Mobd#sHvu{G3BAPA@}HHbG9$wi z9yX2^+Lb~$T(t`WN2rN#J}@6i1>*rHeEMA)KAMeI#Vk*}p=}#od>(I!TY1Lnw^tDr zjh3o9%VYE>>~s1H-;~e9ZWpdS;F_E8*J}0;Pl-dov)^rhP3wz}jsen6hO915ss)HY z|KnbOx)Oa>tRQ;1q`EuQE?wS5zSwx)it*xl`eR(kz|MRkL;fiFLSjvo4#hiCX&&M6 zNl9n(Io|n~+|IdeUk<7+UUv^m58wY+Kxo^JhHQ3nGVk(@xresWj1n?_8v)$*^^YVp z+-|W&_9^-u+XK((MJ<+|xp2MhgXMic5ic6z=(hC73g&ie!&*5{ur0uY%ogDrD8B#E z*|}K&+W^XkZgVeENY|URw3x^rJ#T(9ig8`v@_WO6mlSNcPkY7}{1Qp0?RJk(Z{hQH zWIESWE?AraPlK#jIukl^J^}LtZM`?{Y#BrwE%=`KvdfcE9q&s5yf<&JT@rt* z$1Ir{i`jU7({fwy&=f_l>BTd#z;L<2Bi|DsvO}$`gL9+gT0=yV$G)Vx7j8>d;`lmS z5p8F48Ah53L9xFr5{zwQb{|GOph}gevvU)5{KJ+wP~zX$*JO-VP45Gm;K!RepaJXy z4xqiJ;WyT(R5j?->W{Nu)d9_N(V6w8FW{X}H{E#Ynqd>p$fev`I-7>J>Q#IcdIXX+ zb9vm`_x(+~^h(ujt<^nLh-8S5mrxh6@E!0Q9hUofd2E=xoas7xijnj>tcc4k8S=lZ;%JKt)?&&Sa_c?ER!YR215>IiZ_A4QFEs`jILz5{g zmgi$-D?{T|!p=+={s%qdkuy~@zT(h5&A3lAsCl!-O90~Hx;u{s^AWOs!y`9x;$#ZP z4W0bR%gUPKADhfkyp_C!>JcGYFf>oPv+#O#k-p!)wkI#?GF{VJt=f6@ ziJIHuLz-=%ixjVEZH}Y2XSVV;PPQxPl0jt1y8X!g=1O$V^nw#QrEpeeYS)K4fey+R zYW|0!*0frh5_l97)5au@*}8+JszpwcK_}sN?L3!TnpQ^Ku6EuEQ`{%zon+9TPoE4l zkzWT38Km~38~AR-$;}`AulDz&ji&ZxM>F^itZR=)VId1lkwWuY3h-< zOj*|bRBI7uQd8fb3ca|fQqTS6(M%B!>RPGd*Lnz?IW?l5lU%hF(up!2#a&Zx6Tj>I z*;dKbr9v4^mg&U*FyW$5O0F^l_9W}_FMgL?^$|8($uj+ij>?V(^83jX!KQHa27cni z=2D^fGANYs!c3+2#IGAw@jJMW9Ej?<40}-Q%YbHpdhy_S{<@9=1zkK?#HV+ZDDuUF zWqkLJD$~j98lf#-%DX{V&(+7Rlk&vw>N#m#zLeK&60O1Q)^1c7s^4o2*7o;3ue#^TVwQ82BQ)?^`dzLsLXBXv0v=82sQVU4D z#VN?>p8?>vL%wDsq)G&A^M?~?MO5yXc-!R z{X79@vut`pVI0T8BR2NtLh(LmHipr;s#OU?7z)>8*eCGVJp@S4j1 z%KHTPKXC#yLEFpr--d-4ysKdBBau6|K?$$KIzE=W2U+!rKc(D5-xRdBi(>WwF~ z@cX4r%=)@bS2F3&tVYzOBjK?wfY(yn>#d%e5~rj&^%!L$KTo@Ve;Z#BoxB=NPr({b N_9}WYlPTeA{|l=xN^t-H literal 0 HcmV?d00001 diff --git a/loader/samples/minexample/lilia.bin b/loader/samples/minexample/lilia.bin new file mode 100644 index 0000000000000000000000000000000000000000..7e15986977ee5ea67073cfd7d0b8e0f9d1e5ec4d GIT binary patch literal 15564 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 Qo3?~S6b1r)Aay46fBXa8RR910 literal 0 HcmV?d00001 diff --git a/loader/samples/minexample/lilia.zx0 b/loader/samples/minexample/lilia.zx0 new file mode 100644 index 0000000000000000000000000000000000000000..03a4acb8932ae1967ec474a7bdcb21ea52d2ddff GIT binary patch literal 4925 zcmYM1`8(8$!~Wmz8D?iR6G|sUmKjTOO6pXUsB~&%6fc?86Df$ zXJHV@79&NL7ST}3QrRV2$S~$P-ygoub6xizaR2bSUiWny0qLN;|No~28Uvu@_E>o^ zv*bN!BrgkP%?z^S%Sv-`ebZGaFM;rsbZU$ZaO82}l+Ud7QD9_K_Uq^TVwDyZf@{#0 zvmjh?aPY{+yw&{r_pTM`fH_OdGL@zdEw>Duzj%EDsi zrxLdaU7&$A*jkmgu)NSlB!gASJidUTJwDc`O6-)*H~Er_1kyMAbjR2<-?An+olFzj zuOASS8D-ZV9Ak(BS*6yCpcJz5yrC*H#~nhZin*V!M{i(ctrFF9Ac}zy#+37Rl?a4& z^0^VP3MKnEZL>Zx&IS=!-GWr-L`=F-!H&#SH*R}6J85CL6)p)1RijWqjL?iBoR{aa zvRUFqO9+@-9(YT(vOYH_malpuXNH~4K~%nn&N+{xrk0X19aSAQ74z=xU1^;Ar^)7Q z0Ru(H3K1-V`04g!X%QQP-CSG72rB1FiYY}JGkPRqse}F4;T~G`>k2hfg&2) zo@FZbqh|;);Bg43?d2{bFuYOod^>!g`D{1LHAydw@yY0|& zb0J@?UY5<48Ml-y@jL@P!i5=$n4;<$UP*Zgvr3yr=A|35W7CCI=96S$dzlu^C9q`= zgN&t=8_&u6$m&#a1=Ut4-K=_Nt4bD|?L2?oyaev&=1|2Fc0+eThVs@b`~G_+!-E1A z6f^ivdy+2k?ReodiZ8!-cTOP1o9bidO=VK%T{0ey>yH;BG6pz{5PoI`AS4@xT)%i# z=X-;8W*u6F^v-c7Q`ufy%g?fk=@VZ!uInTY%iTjHe*!5VrO$06*_Q{TwTC`uGBY!cncwaU08 zPuS(%HvPLq!p=OEK!P}Vd{TSF%4wBo@!YqHO|e5k-XZ@dsQ)!p|4Di0o^RiJKffXn zrgEX(BxgJ-eejK}bPa=iv>3Uitvx{yF=t zbHJ{1r0CvCXPUEaqy(tPgL4Ha=(kiK4vKMz9`|xCOC}Ld|;Oxc_~Cl&FT2a7w^#B!*O>Bz7>%LFpneGMfVs z9E$W*2YwWR=td~-MM6-D`RJdNZQ!94CG-}!1ybc42q^V={P9H<4VibikiQkdR#7+v zS|5j`A&~h;At*#D>F1rTn2aj-ohz?r5?N3OBoX8#`d+$#w&N{FN{s47O{DC=@6&HahrR36+K|b#1-E-}!_W`t2vET4 zAOg~?J3jX62>BJbLQXEY7SeyIDTrx808S!5%<>%;7q*2?YmL5UFr z3@_z8JDn}S)!#^Guh!q>Mi6-g_}(Y4Ue_D1!#9l26sZN{8 zt}{u4wX1B0OlR?O!eD}u4kjw|nb*tkG+s@xO=|QG1n$_Hpd$(<&JtxtA=Vys5D?<* z>cHrUy7RYN$mEf`pe5c%dZX*d6WA%dFGL#D5%>+pd+mmsde=cfH)TmO38<-$?L^Gk z%aP|QisQE4hx`ccvT%k8f1K*=1^Ah|$h!W%=pP}Uq8qY?Go8V@Z+*BQ!4sd{L1eRP zEkvZ)L4(&1B4ddhkn?mVXiGpZx<=L4y#Dj{OeeHxX9rEGesEU+u14<&9f1VYMam%<02SGFlZXG7bamFPg#gkL4=E-n8*rsfa}nUZ!Fk^z`UI}9Wr;F~XP zEVO+j`mznEg6s@G51dj;cDbNf`sSDM%2*LwDCO0nLqYkaXBk;ju(f~o`$w-mzHy7L zcSrEdezE43UZhIPFAVqH)5gZ^`{3oPk*9GuULss|JI<*Gb!-xn?g`+oZdq0p^cKJ^ zm0yOSptnZnuU(Hi7>C<(?DPpU6aTMYr{AtVV=})K&_yt7?fi)s<=|~zFk4r)`3)6@ zor}6*8OD4(H|2~vvhTOe{jssh!H7d)r}wKHOe}{4W60Y@Q9x58r91h+v%ab^aK2tP zKa$j}vQ0$>f@_=n!`>OO5cLV!LZe8;=LrljH1XbB4HOV&q>z84MKL1|JJ2_|kktyO1^@wy{m_Z=Rm>!fU~zP2T3!C!Sz?=Lc5G}$pPp7?lBxGHl=lL9)e&9SC1FWYS7&WR^Q zwsq>>kVj`fWxW*Txg7v`gG#)mg9;Mx)c{5k_x?qEw8^go?9QHT+l~HU5#hxTU@My> zxH&H0D{pOiV`FXMYI)?k`b2mB0@vc8Fq^PoX{`-Zlw!oaFfqhRL5qa-zwpVYBD=Uu zsBW_cVwP7{3GlJviX&;p@V~(hd(7g&pw<_yRFgI7vNWt~Rtuh*frobnDp(BCns4m5 zC|Wvbf8zS$;_}aZ20B-t%YHgR6XNB=Zv(BwMmSYAr?0K;#l(!ESF?s+6w&>lr7N8btIl0ZaCu7V+Dmtf_-Col&x+rPGV$CWU%%5YJzw8wH~k+g0lzK|xVbO7>DIl0%;_zg4`$ z#+AXk;r-yUV{qC_ zZ1=648y@!Dy_)j^^Q^T`t@=bvXe5VXb9b}x{@>oaQTlpglA)xPm0p^i8 zJJ7Jq{6~>B?-J9fpq*M_*WQQ=!B3}*tWQ$i2q@dFH=nG4T+F4n7G8v&b-Fj@kXO#m z#!C;h*_|2)Gv&5tpU?bM2J+9NLdK%6zan7VZqs&XZ1I-{Hb1sPq1qVv_LQaW=Kgpy z&6`JMIi6NKp12QHzTEE7&L6sGd~M&2FlJ@3nvK1y6aH?@0Dr(PJRw|T2QU%eS;FVr zXcb-jv$RPEXq4Tue56rq0SE`^5#eF?N;l@`fBqbOpGNp?Zli{EtI>+Zd19l-QgMwv zx^ej8aW$4U==r-gO8im*OO4xN1)&V|c=`qY=}&{WWZLTe#xxxZ+=E5q)il$HaSxwv ztb8(vhkyQl{%Ir?z*UM2$S!uq?8%SKqlWOBuLHA#gN4okh)DKn#~-jjPf%^0A57f2 zjbAz(r5sLTY3stoa#kRh6Nd-`Q%E|%p7PLFqiq1f(cy$=TJ#B1k3jv_nFu3;rg}k9 zFI*~}?&FRAyWJcLbFtner2fLHEj?x%~8YdsRDZ0Vx%Z~YE=)bI-vu}%gvC&vvQ`0C4fIs+n z=WMbGxO?E!@E;LehuBd6sQ=it-BaH0>mPXeQdv_oQC~5ktjyzlsge@L-sI0*0JG7{ zKm1gX907!cs5&Dd)=-2okL$^KiaI`-o$Css-59y%Cli&eSS)C?u}mg2t5BH8PT{LQ znQXOORdOU36PKU{0(+PTjqHw_GMo$LYCIpu2XX!Gm4B^VN|=%?uWfE@;8D;~cFowc zde5ceU6Hdj^!W5dQD8qX!bhx4#4iK1hS-}#9T9P`s8YJajpIn4lPwHZnHze zCKFzNdFX<|b4h2;;PE(^g82j1y6jo|YxhMWQv>d#*rfr``B|yGmU8*-sfE#z+0q}g zvjoI3Jf zQiI0&Kv`Tv-|3M3X}pQ&4mu=K=->2*Y55_YZO7YNHa7qL-b)8P%I6Y=0$={PA*xQ2 zmS(`47#}B~eV>e5*EV9_pj@aFCr#bJ(?*Okn0a}@`o+?~=>B{nEEnX=+Jp2&Mfm(%Stg&A^VvwcS42>|ihSPW&`qEd0EKXWsA?&;+ z(9);rVgDod58o+D-Cozy9cmmk{_g!5fD2yNf%5@RD*{=#v|!+3u^LjUBO_kP-DZ!e zCR#1M_{c9kU?>nu548y@U%eFyg+*lMT@s!g5Kvam_o0kt{aI=ehqkKo^1WnTdie0h z5L^n8X?I`{qB9H;tN%9*uXfMo2-uWlod0MPUn3lh_wWA0Px}_id~;>_`A0)A4!gjN zjcGLj`PgM}+!;~KRI~~ZG21)}29sJB=I@O?aORyspRqY8*Lv8Vsj%Nq_D>t_h>C1&d30p>&DZ@XHiSSt<#+^Qh_i)gX_eY9W@l@; z6Hu&S@WDC7djF95gR^;g)z#Hurbe$E9c}rC$;pANB;pnPRRfpS=v`8sY292w3^Zdd zsMU|IWFGjiaFn1_8l$MN+R`(mi-hvGvLVxrU=D{l|GU5UT!pj^+Sgb=_^$Hll1D&* zlap)4LmFfV(xan^;zB1?8||_H!K=`~;=Rv&A0_Swb7r>*KgDaHo}BARyeui0)Y4WT z-0K3hhDZf2c8sPDJf82gM)$jOlHUhklryd7O z0zTYrZK*CaVC0+XdwYc6cz;hN-RV5+%6fc?86Df$ zXJHV@79&NL7ST}3QrRV2$S~$P-ygoub6xizaR2bSUiWna(MCWzDDVIOX@SN7D7igW z9?UFx4;snKLRm9|Ecvq1TwLFD70OE>JSCkPV*?y{TsY-3Ykd?L*_8eIIlow?MTOuR zwB;-aR~#HXvN3Npzy7^zMLJ;467%?Y2HBh=oOvx|jQcOjjRhq*% zVV!(#1gt{IK2F=LPmHrc1Xi~o)j1K9Zd9-%Gu4gTp3Y8MSZ;+&fmiw@;kK%r7mUN(q z#f~9GcmV3o-^~E)GRRGgcg-03k5#bd;jScOiA~T z(rEO+al>$gM(^mSQsj$Ox8AM0*)1h>4rwkG0J zEdfvG;C4fD3tLCRKzKvFN&tb--7^5&SNlya>;?VwKX_8##;Z7kahD6eQ#kayYLbr` zbAEGyUhu0Q)>6G)NZU$UdL8Vi0f>;i{Ub0IlFN+AM5L?pxbE1Ctl|sUqCfyx6P!?X z+pwUF$@gjcl1l&sw?nKtH}LmO==98mmcao3ZE=PD2}EZQT7a$k#=&an^L)sZGwp6W zwA@_CSF4w0vt`CDB}+WdK#y=?Mk1!Dx`tO$Uc#)>rjdE+hV0mMVU_tLS=e5tMRN&k z*~1`XDdom<@;#b!ItUpFs-`?)z(v4q{wU67%?waUK#UdiyF zfCa@2zSEwhOME+CIE~`VFW#LKNb#on*m+Z#lzEqohvWL=#fXdn&LV`LnE?pNh9TE4 zUe)>Dpq*KVmLa`!+{sk7*Vgj0tYZ4a*A49ZXSx(gADuxjRFkArEed~uhDG`WcR2m_ z7B35!Q>ekcYuA(xBk9|8TX(6<48uuR)@rS z**WmFfo6#=v3&`y6p;^@X{|V}UP1S!=-nr-7x8BdM z2!yFzXgA3jk4pK5q0w>)MB)}aRPQ8-|6ocR@FCi3<&ON-OF|G*P}X^PL!g&FK)8R- ze(M~t>l`V%x6+yBtQ#o->ha)Q0Sfvp)yD$}V;-wMrwvTeVn(7;2t@mlGo=3SyFF-3 zF;Ut_Aup5aXRVaxa%yLk=2#n0; z00f63J=K99MIgEn%6pLzlwv;mCuJLWC`Adq1#W>&QAI=M9WLZ=MX*&A z4uRIkA!!I?{!s`DkxKe`XDcS7%6;d`>zPCr)B#BZd5ON4F5s<7W7eU=U>J%7*0B;2 zSh+C8IFut8Pk^mw-Qf~pb@%#lKY|jYdQlT8JMjDTo6%wKI<+=rGHt=_9^5eW13Cf} zusVo+ac3gyqqwYprnI|%6#VaGCYk}6Ks>SH?* zbM|uNxr*Yrt@j~6g1ao7VZtA$dV2wWrY^Fszc2bn$fxLrtl>;&uZQ>q`_6@aVJJ3>bw0re3` z`DdF98bWrmBN$o!`AkNzl8n?hDh_e(E+3@&;a1)BX(;hcPtjlHgO^Qmpr^JWp=F=1 zXE4#TAp?H&8s??&0qB)&O3>NRc4s9zP&MIK$+}C+|BtCT#6qT|-GyWT=FtuV$p`r6 zOB)MqABnzf1F9f9!_Nb!l#*R8D3-qYWxO(0#1=|Omcwgrs`{xT{;1RRz5T za7*QvAt>mr(fMoFqYlR5wj4Ws!py|~>(}YGtIwFsF9mcF%vw8t;zc=ln-|R1m2G}Q zg<IM_bA;B2(c2N}2)JW-0KJcusY7CsO zm(7nPHLGk>k%8daCjYQ^Ml3{qLblK-67hKg0}M^P_f`W1gc&L1A8Ap{h{F!_O>QJK z#gpAbysFu%stJGV#OCo!(hLwRPq0{(t&7ShaQySpTU_?sZMc%Jplk2y;o&(@us@)z z9+=S9-?oG}kYQgSb7GDHWRgF0>S1Xd1(_9y#EUs!rF%BF| zdZI5XsfyH4g6oZN$+xd<30m-1UDW%Fj2BII%!?;J9u%(1T+*a~PHS_lDa^|@8@Y4h zNs(=xx;Ny}*-u$7MR{%qK;EDdZ|R_d1bj7sk;J`!5g%>xD*?N+XWMq8KUhR~@dMb( zCJAni%lFD#Ti)1MTew;txvoCZoxi}fI4H~}ELd7=0~MthaW6~^u~N_?Vf`zdVqr)J>coq-A#gS6%w zJ1&Zr4%(l%zPPyjbDx3E)#tLGPSAvS`S9C7E3pwymCfmEYkM&wU~ zt%4&T92J`1kB+(LJn0QKz8U4A<$ev`9Z9jIh9KVRgJ~y8FX8RSp{JAyzsnbv6EvT1 zX9(MUE9ZuXJ$J9>yudtb?Nh5h5fd88q1fErY`p)s_imKF-k4-)>X8=of=$*q_ga8? zWX=vWEHnR6WX-$8G%9GPR@k*S;zID#DI@EXR5t?3cI(Y2D8*tqp=X`$O*!P1 zv$OHi18sJv2Et6a?b+uuKb3*}^Qe%q==&@8> zV~=hezIa@Xr44%iu8k7ERKQZ>wpc+Z13jL8fq(kbATF7TN~imHqyKIUcOY;)J)V@Oeib!IA5xygt0gIGZ(;Y z^zsis6(mOhAt9>HNQgBQVa(%ta-O1&PiE)3f@n8JuKCGCWh)j78f`3-$;>JgCbCob zs!t|cEmxHs$;HGasDZ#9=0PL7sd!i9Yz;j=Jy8_c4~*~;YZI}|PAT2?Etb*q=dadd*^Nz2z=8&q-=ss)zZts4 z2=6HDTkB`0G>+0uMQc~9BVhSWUx~Q@xMlj0? zzNLkpC>aMAG6oFk>abhJ*<4PJ&<&^gM?@qJ4JwapSy*gNRk zYMa!cu|7~1*U)!5WPciO;<uNN3ye_Lhy!f4}$AL67peM4`Z!KW>Ps zlcc2?@FvE`325IZb!g}S(hF@ zyfFlqLS)(<7=-8yL&WO;O~b3*vpE7bB^l>G8pYQL2jl&_|M1hkg)-k$!`ZG-kT)(^g`e7fWj z5a8tGn(>eZ8G`iaXrj2#N!3QXEI{xoG_ZK@Gv7yv`@x*qZNg9S8mK4ddJ->73MRF* z)kit|8+V35UkWN;ALqVg_?O;B=7tFJZnFUfI>vEjYk#b7;zMPn8CE{2sY#0200RzmTg>mF`RHtdBxd*+pZ{c6V!%TbTpgIc17BU zGul6pZJtF<8{_7vN-%j;AKAepJ@8hY* z!IFRvcUxPk3k?|gruyC<;WysjQ%QF^4?DSSr|5vc`{U+3a9%}olaSbyfUz{g*+Fhh LPakD)gwg*4wXGAF literal 0 HcmV?d00001 diff --git a/loader/samples/minexample/minexample.s b/loader/samples/minexample/minexample.s index 33334c5..a9cee81 100644 --- a/loader/samples/minexample/minexample.s +++ b/loader/samples/minexample/minexample.s @@ -419,6 +419,112 @@ code_start: lda #$27 sta frame_until jsr wait_frame_until_2x + + ldx #25 +: + jsr wait_frame + dex + bpl :- + + lda #$0b + sta $d011 + + jsr clr_txt + ldx #gart_writ + jsr write_txt5 + ldx #$80 + ldy #$01 + jsr init_timer + lda #1 + sta timer_mode + + ldx #fallingstarname + jsr loadraw + lda #0 + sta ZX0_src + lda #$80 + sta ZX0_src+1 + lda #0 + sta ZX0_dst + lda #$20 + jsr zx02 + +: + lda timer_reached + beq :- + + ldx #$48 + ldy #$01 + jsr init_timer + lda #2 + sta timer_mode + +: + lda timer_reached + beq :- + + jsr init_bmp + + lda #$1d + sta frame_until + jsr wait_frame_until_2x + + ldx #5 +: + jsr wait_frame + dex + bpl :- + + lda #$0b + sta $d011 + + jsr clr_txt + ldx #music_writ + jsr write_txt4 + ldx #$80 + ldy #$01 + jsr init_timer + lda #1 + sta timer_mode + + ldx #lilianame + jsr loadraw + lda #0 + sta ZX0_src + lda #$80 + sta ZX0_src+1 + lda #0 + sta ZX0_dst + lda #$20 + jsr zx02 + +: + lda timer_reached + beq :- + + ldx #$10 + ldy #$01 + jsr init_timer + lda #8*11 + sta timer + lda #2 + sta timer_mode + + +: + lda timer_reached + beq :- + + jsr init_bmp + + lda #$08 + sta frame_until + jsr wait_frame_until_2x + jmp * @@ -498,60 +604,6 @@ wait_frame: bmi @loop2 rts -story_writ: -.res 11, ' ' -.byte "story written by" -.res 40-(16+11), ' ' -.res 11, ' ' -.res 5, ' ' -.byte "takahiro ohura" -.res 40-(14+11+5), ' ' -.res 11, ' ' -.res 5, ' ' -.byte "tomoo yamane" -.res 40-(12+11+5), ' ' - -scenario_writ: -.res (40-24)/2, ' ' -.byte " scenario written by " -.res (40-24)/2, ' ' -.res (40-24)/2, ' ' -.byte " tomoyoshi miyazaki" -.res (40-24)/2, ' ' - -prog_writ: -.res (40-22)/2, ' ' -.byte " programmed by " -.res (40-22)/2, ' ' -.res (40-22)/2, ' ' -.byte " masaya hashimoto" -.res (40-22)/2, ' ' - -clr_txt: - lda #$80 - ldx #0 -: - .repeat 4, I - sta $400+(I*250), x - .endrepeat - inx - cpx #250 - bne :- - lda #0 - ldx #0 -: - .repeat 4, I - sta $d800+(I*250), x - .endrepeat - inx - cpx #250 - bne :- - lda #$13 - sta $d018 - lda #$1b - sta $d011 - rts - init_2x: lda #127 sta $dc0d @@ -914,20 +966,13 @@ update_bmp: bcc :+ inc bmp_ptr+1 : - lda bmp_addr - clc - adc #8 - sta bmp_addr - bcc :+ - inc bmp_addr+1 -: - ldy #0 + ldy #8 lda (bmp_addr), y ldy scr_ptr_lo sta (scr_ptr), y - ldy #1 + ldy #9 lda (bmp_addr), y ldy scr_ptr_lo sta (cram_ptr), y @@ -940,7 +985,7 @@ update_bmp: lda bmp_addr clc - adc #2 + adc #10 sta bmp_addr bcc :+ inc bmp_addr+1 @@ -1009,6 +1054,8 @@ introname: .byte "intrbmp", 0 towername: .byte "tower", 0 towerbeamname: .byte "towerbm", 0 fieldname: .byte "field", 0 +fallingstarname: .byte "fallstar", 0 +lilianame: .byte "lilia", 0 darmtower_txt: .res (40-26)/2, ' ' @@ -1025,78 +1072,6 @@ too_bad_txt: .byte "too bad..." .res (40-10)/2, ' ' -write_txt3: - stx text_ptr - sty text_ptr+1 - - ldx #0 - ldy #0 -: - lda (text_ptr), y - sec - sbc #$20 - ora #$80 - sta $400+10*40, x - iny - inx - cpx #40 - bne :- - - ldx #0 -: - lda (text_ptr), y - sec - sbc #$20 - ora #$80 - sta $400+12*40, x - iny - inx - cpx #40 - bne :- - - ldx #0 -: - lda (text_ptr), y - sec - sbc #$20 - ora #$80 - sta $400+14*40, x - iny - inx - cpx #40 - bne :- - rts - -write_txt2: - stx text_ptr - sty text_ptr+1 - - ldx #0 - ldy #0 -: - lda (text_ptr), y - sec - sbc #$20 - ora #$80 - sta $400+11*40, x - iny - inx - cpx #40 - bne :- - - ldx #0 -: - lda (text_ptr), y - sec - sbc #$20 - ora #$80 - sta $400+13*40, x - iny - inx - cpx #40 - bne :- - rts - upload_text: lda #$34 sta $01 @@ -1181,4 +1156,282 @@ run_nufli_bmp: .include "zx02.asm" .include "thcmod_lz.asm" +story_writ: +.res 11, ' ' +.byte "story written by" +.res 40-(16+11), ' ' +.res 11, ' ' +.res 5, ' ' +.byte "takahiro ohura" +.res 40-(14+11+5), ' ' +.res 11, ' ' +.res 5, ' ' +.byte "tomoo yamane" +.res 40-(12+11+5), ' ' + +scenario_writ: +.res (40-24)/2, ' ' +.byte " scenario written by " +.res (40-24)/2, ' ' +.res (40-24)/2, ' ' +.byte " tomoyoshi miyazaki" +.res (40-24)/2, ' ' + +prog_writ: +.res (40-22)/2, ' ' +.byte " programmed by " +.res (40-22)/2, ' ' +.res (40-22)/2, ' ' +.byte " masaya hashimoto" +.res (40-22)/2, ' ' + +gart_writ: +.res (40-24)/2, ' ' +.byte "graphic arts designed by" +.res (40-24)/2, ' ' +.res (40-24)/2, ' ' +.byte " takahiro ohura " +.res (40-24)/2, ' ' +.res (40-24)/2, ' ' +.byte " ayano koshiro " +.res (40-24)/2, ' ' +.res (40-24)/2, ' ' +.byte " kazuhiko tsuzuki " +.res (40-24)/2, ' ' +.res (40-24)/2, ' ' +.byte " tomoo yamane " +.res (40-24)/2, ' ' + +music_writ: +.res (40-20)/2, ' ' +.byte " music composed by " +.res (40-20)/2, ' ' +.res (40-20)/2, ' ' +.byte " mieko ishikawa" +.res (40-20)/2, ' ' +.res (40-20)/2, ' ' +.byte " yuzo koshiro " +.res (40-20)/2, ' ' +.res (40-20)/2, ' ' +.byte " hideya nagata " +.res (40-20)/2, ' ' + +clr_txt: + lda #$80 + ldx #0 +: + .repeat 4, I + sta $400+(I*250), x + .endrepeat + inx + cpx #250 + bne :- + lda #0 + ldx #0 +: + .repeat 4, I + sta $d800+(I*250), x + .endrepeat + inx + cpx #250 + bne :- + lda #$13 + sta $d018 + lda #$1b + sta $d011 + rts + +write_txt5: + stx text_ptr + sty text_ptr+1 + + ldx #0 + ldy #0 +: + lda (text_ptr), y + sec + sbc #$20 + ora #$80 + sta $400+8*40, x + iny + inx + cpx #40 + bne :- + + ldx #0 +: + lda (text_ptr), y + sec + sbc #$20 + ora #$80 + sta $400+10*40, x + iny + inx + cpx #40 + bne :- + + ldx #0 +: + lda (text_ptr), y + sec + sbc #$20 + ora #$80 + sta $400+12*40, x + iny + inx + cpx #40 + bne :- + + ldx #0 +: + lda (text_ptr), y + sec + sbc #$20 + ora #$80 + sta $400+14*40, x + iny + inx + cpx #40 + bne :- + + ldx #0 +: + lda (text_ptr), y + sec + sbc #$20 + ora #$80 + sta $400+16*40, x + iny + inx + cpx #40 + bne :- + rts + +write_txt4: + stx text_ptr + sty text_ptr+1 + + ldx #0 + ldy #0 +: + lda (text_ptr), y + sec + sbc #$20 + ora #$80 + sta $400+9*40, x + iny + inx + cpx #40 + bne :- + + ldx #0 +: + lda (text_ptr), y + sec + sbc #$20 + ora #$80 + sta $400+11*40, x + iny + inx + cpx #40 + bne :- + + ldx #0 +: + lda (text_ptr), y + sec + sbc #$20 + ora #$80 + sta $400+13*40, x + iny + inx + cpx #40 + bne :- + + ldx #0 +: + lda (text_ptr), y + sec + sbc #$20 + ora #$80 + sta $400+15*40, x + iny + inx + cpx #40 + bne :- + + rts + +write_txt3: + stx text_ptr + sty text_ptr+1 + + ldx #0 + ldy #0 +: + lda (text_ptr), y + sec + sbc #$20 + ora #$80 + sta $400+10*40, x + iny + inx + cpx #40 + bne :- + + ldx #0 +: + lda (text_ptr), y + sec + sbc #$20 + ora #$80 + sta $400+12*40, x + iny + inx + cpx #40 + bne :- + + ldx #0 +: + lda (text_ptr), y + sec + sbc #$20 + ora #$80 + sta $400+14*40, x + iny + inx + cpx #40 + bne :- + rts + +write_txt2: + stx text_ptr + sty text_ptr+1 + + ldx #0 + ldy #0 +: + lda (text_ptr), y + sec + sbc #$20 + ora #$80 + sta $400+11*40, x + iny + inx + cpx #40 + bne :- + + ldx #0 +: + lda (text_ptr), y + sec + sbc #$20 + ora #$80 + sta $400+13*40, x + iny + inx + cpx #40 + bne :- + rts + code_end: