From 84f18d985a5875f75db063a2ca43726acf841aa0 Mon Sep 17 00:00:00 2001 From: Pecusx Date: Wed, 19 Mar 2025 09:18:23 +0100 Subject: [PATCH] Test cloud --- lumber.asm | 80 +++++++++++++++++++++++++++++++++++++++++++++++++---- lumber.xex | Bin 24737 -> 24950 bytes 2 files changed, 74 insertions(+), 6 deletions(-) diff --git a/lumber.asm b/lumber.asm index cec1497..7fe7d7f 100644 --- a/lumber.asm +++ b/lumber.asm @@ -40,6 +40,7 @@ display = $a000 .zpvar RMT_blocked noSfx SFX_EFFECT .byte .zpvar AutoPlay .byte ; Auto Play flag ($80 - auto) .zpvar birdsHpos .byte ; 0 - no birds on screen + .zpvar clouds1Hpos,clouds2Hpos,clouds3Hpos .byte ; PMG registers for sprites over horizon .zpvar HPOSP0_u .byte .zpvar HPOSP1_u .byte @@ -184,10 +185,10 @@ fly_birds lda birdsHpos and #%00000100 bne wings_phase_a - jsr PrepareBirdsCloudsPM.bird_b + jsr PrepareBirdsPM.bird_b jmp no_wings_change wings_phase_a - jsr PrepareBirdsCloudsPM.bird_a + jsr PrepareBirdsPM.bird_a no_wings_change no_birds lda StateFlag @@ -380,7 +381,8 @@ EndOfStartScreen */ ;-------------------------------------------------- jsr MakeDarkScreen jsr PrepareLevelPM - jsr PrepareBirdsCloudsPM + jsr PrepareBirdsPM + jsr PrepareCloudsPM ldx #2 mwa #dl_level dlptrs lda #@dmactl(narrow|dma|missiles|players|lineX2) ; narrow screen width, DL on, P/M on (2lines) @@ -733,7 +735,8 @@ no_branch_l jsr RASTERMUSICTRACKER ;Init */ jsr PrepareLevelPM - jsr PrepareBirdsCloudsPM + jsr PrepareBirdsPM + jsr PrepareCloudsPM jsr SetPMr1 mwa #gamescreen_r_ph1p1 animation_addr lda #@dmactl(narrow|dma|missiles|players|lineX2) ; narrow screen width, DL on, P/M on (2lines) @@ -756,7 +759,7 @@ no_branch_l lda #$e0 ldx #$07 ; 8 registers. from HPOSP0_d to HPOSM3_d @ sta HPOSP0_d,x - sta HPOSP0_u,x + ;sta HPOSP0_u,x sta HPOSP0,x dex ;sta birdsHpos @@ -864,7 +867,7 @@ HoffsetP1=103 datalinesP1=5 .endp ;-------------------------------------------------- -.proc PrepareBirdsCloudsPM +.proc PrepareBirdsPM ;-------------------------------------------------- ; bird 2, 1 and 3 jsr bird_a @@ -907,6 +910,71 @@ Hoffset_bird3=45 datalines_bird=8 .endp ;-------------------------------------------------- +.proc PrepareCloudsPM +;-------------------------------------------------- + ; cloud + jsr make_cloud + mva #0 SIZEP2_u + sta SIZEP3_u + lda #%01010101 + sta SIZEM_u + mva #$0a PCOLR2 + sta PCOLR3 + lda #36 + sta clouds1Hpos + clc + sta HPOSM2_u + adc #4 + sta HPOSP2_u + adc #8 + sta HPOSP3_u + adc #8 + sta HPOSM3_u + rts +make_cloud + ldx #datalines_clouds-1 +@ lda cloud4_P2,x + sta PMmemory+$300+Hoffset_cloud,x + lda cloud4_P3,x + sta PMmemory+$380+Hoffset_cloud,x + lda cloud4_M,x + sta PMmemory+$180+Hoffset_cloud,x + dex + bpl @- + rts +; clouds data +; shape 1 +cloud1_P2 + .by $00,$00,$00,$00,$00,$00,$00,$00,$08,$1D,$3F,$3F +cloud1_P3 + .by $00,$00,$00,$00,$00,$00,$00,$00,$00,$80,$E0,$F8 +cloud1_M + .by $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00 +; shape2 +cloud2_P2 + .by $00,$00,$00,$00,$00,$00,$00,$00,$07,$1F,$3F,$FF +cloud2_P3 + .by $00,$00,$00,$00,$00,$00,$00,$00,$80,$DC,$FE,$FF +cloud2_M + .by $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00 +; shape 3 +cloud3_P2 + .by $00,$00,$00,$00,$00,$00,$00,$38,$7D,$FF,$FF,$FF +cloud3_P3 + .by $00,$00,$00,$00,$00,$00,$00,$C0,$F0,$FC,$FE,$FF +cloud3_M + .by $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$10,$30 +; shape 4 +cloud4_P2 + .by $00,$00,$00,$00,$00,$00,$0E,$1F,$1F,$7F,$FF,$FF +cloud4_P3 + .by $00,$00,$00,$00,$00,$00,$30,$78,$78,$FB,$FF,$FF +cloud4_M + .by $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$90 +datalines_clouds=12 +Hoffset_cloud=30 +.endp +;-------------------------------------------------- .proc SetPMl1 ;-------------------------------------------------- mva #$4f HPOSP2_d diff --git a/lumber.xex b/lumber.xex index c45f210ec568839d0589037d86b9a7e3ae395839..8e84514e59f8e6275f0a21e8e6f22ed774be1c36 100644 GIT binary patch delta 3214 zcmbVPe^3-v9KSmbA<(=5br3`zKb(7UA>{*Y#xm}@Mxtmyl0xr03{$(_C3_x*f7 z-=A;yy}hQh#_Q*d$39FleZ-$Ul{8_Vu|fR2Wa>i=DULDZpl@Gpj5;2!W_1iQc&y7_ zL;Y@_S53UILyhy*k{zg$_;xD;!9;XjoKjk0Y!kPZZYU|`(FacCsG$aQ7^AgL8prNI z%+L)^blJ%UOKYq}PB>AQ)1RT{8iN=87BzU@y243~#LF=Xa-*-@D9a;GFPmbvU^!OY zQZ`9kU6$+e;m_*T7;F2sP;`?z0bTbhV}cu%xL~q!uNq5sqx*@E4^ga_ogkjTXdyus z>~F!rJjJL^^!soyK`}vL)3#f`-iF4#3D+Ue=3?O7w{+lduQTwwZA=&OdCjBwG=+T{ z!RPUi&jUj~8Tft3r!wS|fi-V1pN^2{P1V#yyr|EsWU9YI!yp}~GnN_zA4We`qclQO z2#?k!5^5k`C=8YI;;!=4&5JQ|^QgfK%+x|!B%~D%m!D=b)=?HSXl>1K)?5bZ9nI4m zX;f`xez^KFw|&oFU@&grunJ(9B@avhZ zZ^4F<;qR^mIfZn#AWG%qqNaagR1T#~*0-Q+WDZX()vwI*4Mt7 zLHgFOVUWIwYc)rAGyP9#rjZ=VnXIpU1%vcCjK20eO#cf};kPhZ--1_0hQGTO{M+;| zh{|Cpll3iFHZq6D7^I*6$2CXVG|XYbf4=>zGsK>KKmB&ikruat z38Q}dpU_MrIV@+gzV;FZ>2nx;?RS`dE-L&>OxCyH<&ok4XA9Vx9X_+zs+bRpks^d1 zhiQc<+3l#>zZr)d~7=wAx(7`2a(2DW8E7OuKcyM_g zhWAx&eK^@obA&A>*md^M0rDz1y7$*(}@%S`WaOMOfN{l|b@0x@J_B*!?Lt)pY`CoZm<_h7#pJjtY) znuRka;Vi3TA88;5IXNznNq}eodU57`Wt-re+7e@ksAy2m0X33gZleM|^s5ad>Q~?!6fq4;#c~ z6c2>O>Tmysu`4V_?z6WK41`H%f`2kn_^{+_qkA(lTwzYW(|IdA4rzDM<%E(BXtkdl zrB>2LSCAuc@1(t?ouh|C%C3;Ii?q3D3ursT+To_XU}^(pFDOf*O_{QJP$@HIv?U8# z0hTLoX9+PuwI5Vs&8i8m4(#v1N~&5wEkXzGr`S)iGEt2|j}k!B0i_tm@U7S1j{WV7 z8V_JQ?r*~!wa7728}70E!O1a!HZ0vJghz_=)ulKrLe(reHgE(>6|)#78@+Ws-kpKH zJgG%-gu7bjt5Xux0yDjb)P;bZt(umj#li*CRo=%dGgULZdhj(yxC^|+3=az%i;Gsz zbhYAOK?jYU{c|f$U`PAT(9Kaxs%e44Kx&RQ;=nsRaR>JB#Bt?)0!$_tQVah|yiNmSr7KRGIwK&$En%X?X3X?v?p~&KVdyci`_G+%b z6@v#Q7FvJA3oktfi!(qi7(Pt>%~)u`ei;kR*x!T&8T%Wt(1gWf_DS)Ln1gRr_;>K7 kJ$o$W)#-k03TC1rUi{0RXM(TS8C+g$Eq|a9iyXJ$AMETZ9{>OV delta 3149 zcmbtWYitx%6yDvov=pIhp@wuzy?ub7q#`W|Qba&S!R1xk21~UAXrU-VBLx{{Vfvs$TlirjL5*NAHmflZj0v7ILm#u<9|D`*xpTgA z&Uel|_w2p*`nT4Dr>)1nNVNSTes&^p$|7r{+`T4sZsXLlaco~;@2n^-0iMy?IP$N@ zx#}Hq%@Yu{2_4m1Y@mi!6Xp#xsJB8BNSd6ow$R!v?_9fOWw}U>yGUszw~$UsHo15# zjt(!PTU?~qg)b{AoeN#?C9N*yL2Z^bbXKuzq3@jeE^cL_fF>y(qIu*;@=|QMR9>F9 z#I4aY^;(oOuuBhW)25I#Q5_fBs>X&UtCO@C)<6oqfhyg^+3N!FM@n{hNiJ1-X(&sz zYDtPlL-DE&=9B)uvws(fFNfy{nCC`t!EO`y*SiS*unTp=oT;}tZ9|+^;5@2x?j7Mo z@RH8iF~W)9?)Q+hRA=5=!EH<=iK3dO-Gn+pIxx=|Zjm%feyt$OynHIFA`NaYw=fYV zM#@Ej&txC)8Ywe}&zGj>fNgRP&y^fGr?yOa|@aXpoCEvLip$z0O3q4wa)~zKZf5lSwH;=9n)cWF{&yh>Va0D5N3_RIA=J ze_1PtliTxS+~&D2Hr$76@jS}rxjPXu=Mj1Ck){rf3VFPN2$g}g~-0P9jJdfhA zL^h*rF36U#iQHX5w7JeU}8wi=#Vk1K4T5d9k?zShMGu(&scmZW|E%FgE=W%bfh}aXage9^aWphDxj7{Y3 z3KF3wmV||0iL$v4tHy?3ijcV{o-&Ax^;m#{zAgNpo_NV{9bStvl+7jBija9NUPj2= z6D0JaD%jS0J0v#Nn z$^cc9v?x;Q1#}vq0~Frj3O3kJm3}mh1F)YC_ECYm?fxiVAMLdNBlx3&ebjd&2bMz! z)J-k3OU3j2F~N(}S2zzbzg4X36l;U+BC8>Dy~35cK%E+|Mf35jPM2#B8A^daDRtPc zR0XQk$3Q&?FG*gZqskr)3!=Y+X3mGYMt-PdhWk7XWw-E{`G1_J@%TAhs}E&0tb%8k zSy<)KE*ktwWS(G9Wc0YFq2g?NlXgS7ZC*AD>~heqwVR$oyHjY_WEpFz4qNt&SSF1& zB{RG*8K9PbDoIX0H)1tp^u1S)EGG$>?%v31VemW!1~mp&;Ua^74*o*{>ZOuKm2*_; zrAiN#&QYbCNAuHx{aeo(;=WST>9~LE4^Z)<=