From 2d1c50bf97a3f973183fc03dda1aee607195b73e Mon Sep 17 00:00:00 2001 From: Pecusx Date: Thu, 29 Feb 2024 14:34:57 +0100 Subject: [PATCH] DrawMountains with ClearSky on C64 not tested :) --- C64/gr_basics.asm | 40 ++++++++++++++++++++++++++++++++++++++++ scorchC64.asm | 3 ++- scorchC64.prg | Bin 39866 -> 39922 bytes 3 files changed, 42 insertions(+), 1 deletion(-) diff --git a/C64/gr_basics.asm b/C64/gr_basics.asm index 6f86e3c..d497343 100644 --- a/C64/gr_basics.asm +++ b/C64/gr_basics.asm @@ -189,6 +189,7 @@ ClearPlot .proc drawmountains ;-------------------------------------------------- ; draw mountains from mountaintable +; ClearSky - $ff Crear sky during drawmountains, 0 - no clear sky mwa #0 xdraw mwa #mountaintable modify mva #1 color @@ -216,6 +217,29 @@ NotLower bpl @- sta temp2 inc temp2 ; this is our minimum + bit ClearSky + bpl NoClearSky + ; Clear Sky + mwa #0 ydraw + jsr plot.MakePlot ; after plot we have: (xbyte),y - addres of screen byte +@ lda #$ff + sta (xbyte),y + adw xbyte #screenBytes ; next line + inc ydraw + lda xdraw + ldy ydraw + clc + adc linetableL,y + sta xbyte + lda linetableH,y + adc xdraw+1 + sta xbyte+1 + tya + cmp #screenheight + beq NoClearSky + cmp temp2 ; our minimum height od sky + bne @- +NoClearSky MinCalculated ldy #0 lda (modify),y @@ -288,6 +312,22 @@ MinCalculated bne @- NotFillBytes .ELSE + bit ClearSky + bpl NoClearSky + ; Clear Sky + ldy #0 + lda (modify),y + sta ydraw + sty ydraw+1 + sty color +clearline + jsr plot.MakePlot + dec ydraw + lda ydraw + cmp #$ff + bne clearline + mva #1 color +NoClearSky ldy #0 lda (modify),y cmp #screenheight diff --git a/scorchC64.asm b/scorchC64.asm index 45334a0..5a954fe 100644 --- a/scorchC64.asm +++ b/scorchC64.asm @@ -35,8 +35,9 @@ icl 'definitions.asm' ;--------------------------------------------------- -FirstZpageVariable = $52 ; $57 +FirstZpageVariable = $51 ; $57 .zpvar DliColorBack .byte = FirstZpageVariable + .zpvar ClearSky .byte ; $ff - Crear sky during drawmountains, 0 - no clear sky .zpvar MeteorsFlag .byte ; set 7th bit - block meteors .zpvar MeteorsRound .byte ; set 7th bit - block meteors in round .zpvar GradientNr .byte diff --git a/scorchC64.prg b/scorchC64.prg index 3205462d929e9dd95895d1adea82c584e57029df..be8855f5548723874b19770321c8241ca03010c0 100644 GIT binary patch delta 2303 zcmZ8i4Nz3q72f-ne-#&hK?q(DMiDevA@ygP%(_Gu@(5^ZO-9A%vLph*gujJ_-35V* z{J6k!5HMy_aeah0Vj$TXXH~52RO;%auB|Aft!WFjT3g-HA54SNvrC(1GH>RcbHDrD zch5cNp6{JM$4#E&2D8)2UqPE5zi9h0ne3|T-zUNyr?QT{tZYzBQNeCYuO(y)tjvfZ z7l6;mAqDVB#%6K{9%V$5JeZdmO&93-zSrqiGmUQZIA571nf0kE=CM=nFXx^{6i#VE^#_$q>-g@Loc%1P+j-UPbEVid0u2T4`zNzp zF)z2r9)EBpA!qHcy%S7G4`|-43)!W=c1`gmP0Bi1F70H)bQes$8$%94MB&;hqXh$< zQU&!nI`nD>=+(ks^i%q;^u85=6Yr59RvxZ=sDG$0Fq9a|4KJBeO$I}~;hABf zG2FP^IAfHX{7t(}$)+YlNzE_y$yHJSv(jc;@0n|oY$D$+xAv*7DgM=RGewZ*umQ=J zS^4QIDa7@6DU1z(vv8j8V?A9^0lzMcSg5PVY6eTeY=Ay(^HOIZs3^wgX&aq^?-ZpG z9TS; znWU7^TrMbRmb9*PDQSh&(iP+!6qF{C3HYEiE+j!G&2{-nOI)0^e3my_nh=FM1lHhQ zRuAY3@Ot0#PGb)G_>dZi)vX{kkgBtj5_qb+IKR9N6XttDODo?HFhICk)<`~r9p!Oc zVl^1cBar-Fxtf&2c=?-T+McFY5YHj^RQ!-^hv|w{0V6fT19+`nkWjgv+ytTWIr1|w zRW1p?P)>dFWAs&o3G zS;CzDXg;rVMxhyC&bhND0nHBPj78JNoG+rWGO3!q$9Kab!|JHK+M$Ok>ldn_KdP)_ zDjtVps?gjZ^xJMc`$EMFu+I>;Fs~LPux`M)2i_?;p9jYc@hC7qH*ChY+_)~|LyLRd zl_V`?R=oaLd4FlSbxP%u-ogHTVv#sUb!< zUXz9jdauTaWzyEJBBNlg4aG9{)^73{ZQ@5^qBe;EI#?Xd1%i*#_@q~NeS4!zeiDs*_#+dJ38on)L(Z1ec9_(vrY_puW%$b zh1%d#7EQLo7~3>wSqs8_^qm5_6(Z|bqXzfpH z^~n)ot&$us@JZ_hHI2%rfp4Ka(Y0-SZ3~j0)LZaCO^08Jm~52@ljyDj{Jw;V7kiuw z+;VEPAQ%32I3iMJ!9M*&>S164MAJcTT0n)oI=D-xeQ`f-D zGPm!B2gK4P^r86uCX00q{UM8Wf7~Vbx36lK+S}k5{1&1*rY-JHO;>GKFFwD*r?(4b z@>7f2aTfX-)tqlPOg6qi0OFd|LGo_86zEQ%9Z=b{D)LD?8<7&sx789c-%(2!&7*3G zGmok13%hxFH~gfDa_a!bn^MUESkt^V3fF3YA8hx0L<5ox^XmKg4}96k@CfQ_DWY0)JUIq!<~W~a9?}q!CXa@S zBe_Vr_dn7zb9~79PEVx1%!YbgDuHx9(VM|rihmm@&?6c z0_JiUb9u$07W!CGT3Q+_bnMAERk*Q7aA)yhUEpeYv&z2<%Ugy&bZ7A3m$`)ccMX@h z+=2%PL?FrwNPe@F@NZIv>Qrg7@c)SlH=;q`CM(>+x5<;8!(|>aoNZN*N&9fCat_fz a!0~m9Pumj0ZzXc#cE+9g+J{$vNm delta 2250 zcmY*Z4Nz3q73RK0eg$_YLO=wsvW$R##E3)H8n(M6D?9@lZFEFj1Wb`A#g(6x<)630 z;sch0tcu$p>tlF|fo3&kNij~N$Ob9TMx1Cf8e?js?U((xb?72+CMMZkbU;lvL3&1b zXgw!B59W{fFPEN3FF$IWxi8hG04{A4H1fXodwB*Srg!*7_R z2D{CycJg*xz53g4&Pd<&y`gfp*}1R!v?{07&If4v)~TGw?fjdnzEqX-w4FDq`_fd- z0ms=*{S2emJM!NCl@IBMKWyL3Om#bAvc?&b?D$^yGlp!1WjTpKfhB_Ima&ftdJ2ZN zLQ#&31UgpdCJ zyBs-t7ZOt8XetaQBp;6bx?VBQ@Y!ebNxCAdyG-274byqBtVl^#!lt67TT(1o@ToeW z*O_V1I=30Ly0eB)44)dt4A%?+2ONfr2hz&Z%N+)XA6BuVzgqsBD!*_Vxw_Q?J>htrRc}m=v#2BC^GF*m8g&&i{V_q=*`)r@5CtSiKw9G z4fK|Qo-BO*TI;a1YN#{)3q}9(So^pB~gM(A0DnO*LhAU=(tiLn=2D`a>YUpS3)m=ULVbjw89a6 zKJ%m)Wc!Pft<_?P^c359EGn?XNGn@WEkYCu);lK)66Hs8zMtby$%(IgdWN*rVjB$obeRQJ34NLoUtc4MR8P~Tn1 zI_m!ptt+G61mv1H+-t62_iL_Ml8oI^@AARrcD>6Nm+pGkd|XO7*Uab3Vku0<&f#1!Xl~(LYjMfr z#A@yss{_^;KYw}M&|lTIJL;i7t8F*cESfjfVfg{LZyo>Pj+%`Ht1<4S<#l*4TN1_| zOowFba`@c12xaD(aW%eISG+IWxQD8w+0Uxr!|Kgp z4;%3?_mmxS84HcV1?&hKJ$s0*S?G79(G}zN7#nL=5Ir2M*@(CLR?Qn^11zXrg71vl zT9N{v*QTOgM%7i|Z#!NWJEzM$l#4fD2(Ll5Fv{%|u5vk8(EDoFY{>_&ti=>fGU1#lj+}-&ro_2-n?)H?xZC!zmd-Em zunjr)j}|tq8Nmq$E!g$%52lep2yO_Skz&CR#5K%~!rO9{`#|jC9AYl_1s1)DoU4^) ziw`|s$Z0rEQra59PiNu%H9A@dosE&P;}*B2sBH^mg8&cUlI5e0cx#$q3izr~%Zyne-n^1*gKV=lVAM+Qw9!bQncy(T;%vV(M=+ySm^4#nvJE1d){z9r zYg#%NQSrc*wRzz2AbR1vJTp4oP7&STv^4bYbfzDL3OYQY$4yIPFeFWXmHXnWf{re4 zI%XB@$Z_E$QlGtRh1U-a%{*b}Z)o%M{1;khH_YO--h+qfD%i#+DCprNVFIOiVt4|j zwHUp}`9&lfM))}YuiNRW4&{x6FG0sg!pqIUp@WCRgo%7a-+zJjggfB`A30~h|Ng{q zv0Kjm8#CH5qa79a4rkbmGvvYD z9Ln770Kb-9JI6avn@c@18ayzWPw05ZaH-_hc^v-em_O|heV#)iehe9^SEoLA{~suK zqc`BEV31lu!Ur+!^I*V>FvVP6bkOlbiz<-BLvrUUA$t4bi0cWAu#scV{BIAY&UgO< D658ZS