From bef3c0f08059081ff0e935fd0eb7eb4f3d6f23ef Mon Sep 17 00:00:00 2001 From: Pecusx Date: Mon, 30 May 2022 22:41:45 +0200 Subject: [PATCH 01/22] MIRV bugfix #66 I think so. --- grafproc.asm | 2 +- scorch.xex | Bin 37871 -> 37868 bytes weapons.asm | 2 +- 3 files changed, 2 insertions(+), 2 deletions(-) diff --git a/grafproc.asm b/grafproc.asm index 6144171..168ffde 100644 --- a/grafproc.asm +++ b/grafproc.asm @@ -4,7 +4,7 @@ ;-------------------------------------------------- -draw .proc ;;fuxxing good draw :) +.proc draw ;;fuxxing good draw :) ;-------------------------------------------------- ;creditz to Dr Jankowski / MIM U.W. ; (xi,yi)-----(xk,yk) diff --git a/scorch.xex b/scorch.xex index a17276374e84f18de1544591fdd579a686dfaa29..178c8c6878851460da6b9d96f36e73401ee6f992 100644 GIT binary patch delta 11977 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 diff --git a/weapons.asm b/weapons.asm index fa3bcbd..ceb299d 100644 --- a/weapons.asm +++ b/weapons.asm @@ -2091,7 +2091,7 @@ mrskip08 bmi MIRVcheckX ;but not that accurately.... lda ytraj+1 cmp #screenheight - jcs mrEndOfFlight ; if smaller than screenheight then continue (and it will always fall down...) + jcs MIRVcheckCollision ; if smaller than screenheight then continue (and it will always hit...) MIRVcheckX lda xtraj02,x cmp #>screenwidth From 17e653b37d6e04b7765c50daabdf82da6ceff657 Mon Sep 17 00:00:00 2001 From: Pecusx Date: Tue, 31 May 2022 10:44:47 +0200 Subject: [PATCH 02/22] Flashing before tank explodes #84 --- grafproc.asm | 32 +++++++++++++++++++++++++++----- scorch.asm | 7 ++++++- scorch.xex | Bin 37868 -> 37942 bytes 3 files changed, 33 insertions(+), 6 deletions(-) diff --git a/grafproc.asm b/grafproc.asm index 168ffde..5f5c999 100644 --- a/grafproc.asm +++ b/grafproc.asm @@ -583,7 +583,7 @@ DrawNextTank .endp ;--------- .proc DrawTankNr - ldx tanknr + ldx tankNr ; let's check the energy lda eXistenZ,x bne SkipRemovigPM ; if energy=0 then no tank @@ -672,6 +672,28 @@ DoNotDrawTankNr rts .endp +; ------------------------------------- +.proc FlashTank +; ------------------------------------- +; number of blinking tank in TankNr + mva #18 fs ; temp, how many times flash the tank +tankflash_loop + lda CONSOL ; turbo mode + cmp #6 ; START + sne:mva #1 fs ; finish it + mva #1 Erase + ldx TankNr + jsr DrawTankNr.SkipRemovigPM ; it's necessary becouse DrawTankNr skips tanks with no energy ! + PAUSE 2 + mva #0 Erase + ldx TankNr + jsr DrawTankNr.SkipRemovigPM + PAUSE 2 + dec fs + jne tankflash_loop + rts +.endp + ;-------------------------------------------------- .proc drawmountains ;-------------------------------------------------- @@ -1260,9 +1282,9 @@ MakeMask00 lsr mask1+# ror mask2+# .endr - .rept 8 sec - ror char1+# + .rept 8 + ror char1+# ; in second (and next) lines we have C=1 - one SEC enough ror char2+# .endr dex @@ -1383,9 +1405,9 @@ MakeMask01 lsr mask1+# ror mask2+# .endr - .rept 4 sec - ror char1+# + .rept 4 + ror char1+# ; in second (and next) lines we have C=1 - one SEC enough ror char2+# .endr dex diff --git a/scorch.asm b/scorch.asm index d35a891..0df643e 100644 --- a/scorch.asm +++ b/scorch.asm @@ -605,8 +605,13 @@ NoPlayerNoDeath ldy TankTempY mva #1 plot4x4color jsr DisplayOffensiveTextNr + ; tank flash + ldy TankTempY + mva TankNr temp2 ; not elegant, and probably unnecessary + sty TankNr + jsr FlashTank ; blinkink and pausing (like PAUSE 72 - 18x(2+2) ) + mva temp2 TankNr - PAUSE 75 ;Deffensive text cleanup ;here we clear Deffensive text (after a shoot) ldy TankTempY diff --git a/scorch.xex b/scorch.xex index 178c8c6878851460da6b9d96f36e73401ee6f992..6b17b9ec87f820732c8d6899d482a83ed22f1d5d 100644 GIT binary patch delta 12557 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�KE;vC9KBc~md353V^`BXD`{1j%R1P; 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 From 532ee7dc8858852f54c7763890fbfb343d52f63c Mon Sep 17 00:00:00 2001 From: Pecusx Date: Wed, 1 Jun 2022 11:19:14 +0200 Subject: [PATCH 03/22] MIRV hit procedure completely rewritten. Now wthout bugs :) and much clearer. --- scorch.xex | Bin 37942 -> 37968 bytes variables.asm | 2 ++ weapons.asm | 75 +++++++++++++++++++++++++++++++++----------------- 3 files changed, 52 insertions(+), 25 deletions(-) diff --git a/scorch.xex b/scorch.xex index 6b17b9ec87f820732c8d6899d482a83ed22f1d5d..fde382b8d2fca45b55a9eeb5df40194f33d17bda 100644 GIT binary patch delta 12214 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 and Y<=screenhight) and X>screenwidth (bullet off-screen on the left or right side) - continue flying + ; if (Y>=0 and Y<=screenhight) and X<=screenwidth (bullet on the screen) - check collision + ; if Y>screenhight and X>screenwidth (bullet under the screen on the left or right side) - stop flying without hit + ; if Y>screenhight and X<=screenwidth (bullet under the screen) - check collision (allways hit) + + ; check bullet position and set flags: + ; XposFlag - bullet positon X (0 - on screen , %1000000 - off-screen) + ; YposFlag - bullet positon Y (0 - on screen , %1000000 - over the screen , %0100000 - under the screen) + lda #$00 + sta XposFlag + sta YposFlag + lda ytraj+2 ; Y high byte + bpl @+ + mva #%10000000 YposFlag ; bullet over the screen (Y) + bmi MIRVsetXflag +@ + lda ytraj+1 ; Y low byte + cmp #screenheight + bcc MIRVsetXflag ; bullet on screen (Y) + mva #%01000000 YposFlag ; bullet under the screen (Y) +MIRVsetXflag + lda xtraj02,x ; X high byte cmp #>screenwidth - beq MIRVcheckLowerX - bcc MIRVcheckCollision - ; it's over the screen horizontally (to the left or right) - mwa #0 xdraw - mva #screenheight-1 ydraw - jsr unPlot.unPlotAfterX - jmp mrLoopi -MIRVcheckLowerX - lda xtraj01,x + bne @+ + lda xtraj01,x ; X low byte cmp # Date: Wed, 1 Jun 2022 11:44:53 +0200 Subject: [PATCH 04/22] MIRV bullets over the screen now are visible --- scorch.xex | Bin 37968 -> 37989 bytes weapons.asm | 10 ++++++++++ 2 files changed, 10 insertions(+) diff --git a/scorch.xex b/scorch.xex index fde382b8d2fca45b55a9eeb5df40194f33d17bda..b9fd08cad6c728f1664ece31944e3b3525bcbcfa 100644 GIT binary patch delta 12397 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 diff --git a/weapons.asm b/weapons.asm index b8dbeb6..efdfe59 100644 --- a/weapons.asm +++ b/weapons.asm @@ -2139,6 +2139,16 @@ MIRVYunderscreen MIRVcontinueFly mwa #0 xdraw mva #screenheight-1 ydraw + bit XposFlag + bmi @+ ; no pixels to plot + ; plot bullets over the screen + mwa #0 ydraw + ;mwa xtraj01 xdraw + lda xtraj01,x + sta xdraw + lda xtraj02,x + sta xdraw+1 +@ jsr unPlot.unPlotAfterX jmp mrLoopi From 6d9b2907c501f2a3db7817f200ae8bca0f5306dd Mon Sep 17 00:00:00 2001 From: Pecusx Date: Thu, 2 Jun 2022 09:12:00 +0200 Subject: [PATCH 05/22] Flight procedure optimization 3 bytes variable (Result) now is unnecessary. The code is a bit shorter. --- scorch.xex | Bin 37989 -> 37953 bytes variables.asm | 1 - weapons.asm | 74 +++++++++++++++++++++----------------------------- 3 files changed, 31 insertions(+), 44 deletions(-) diff --git a/scorch.xex b/scorch.xex index b9fd08cad6c728f1664ece31944e3b3525bcbcfa..424f7e806e0a3ff2e922fe195f2079d5fa45209f 100644 GIT binary patch delta 12183 zcmbVy3t$x0)&K719UfWUD+-JcYM}~IBdqu!RNhRZP(?w3MF`0P*&tL%tT;=Ofj}~0 zH#2u23#%bAAp@DP!G6^!OHl#Y{0$D3&;G3+ijSm;nsimvXbb#*cXsmtr0w_Tu`~Cc z$36GlbIv{Y+-a_{yisEbtW7iLzPv82$vpDb#ae}=f5*JCjJa(_Wn0yB^=PTdQf9UY z{m(Eji;E}RI5d?ofn3!j;JIfSlaO8ag47sXBa#VYIJ}K~ReIo%WDC|x8()?DwNkKJ z+IUFvSJRiXM0bX4NnPe|l>Db9|6e4v)&ISu#`ym! zsf+zzNUGT%mYAh8{1(z^Z3M$MiB4dri!tRgw~BcaM|1USjH&UZj!Kg;tP_ zN(}pmHjIQH1@A{?VZO{LGxwID;rB7|D{51S9$#Iu)1O3?5`G`}8%v|?<0(oi(dNtH z7-sm>2GGQpFrPirQlgYJy&&o5DN+xosyGPgKg~&kl~g9GCfiDvm3U%o&g5eKJbi}_ zHT-^$Re8UqR4JuAVpS7gst(0`4bA*T3daSZuQ83*Z`r#Z?2?!-tS$-K2=5M#B>bk} zErc&n&CKDM>^l!)iOQTlD6LDG+*zrkO;Y2*QcM1GXoBa*(AvOvLbk8g>BH>Z8u-vtcM_tTC9=#BZ`=ytY`3XyOZnyNHlRB5G9Ag*ym1-bpad zm{Fktfgfrb&K7ZyD`I2sKUk_u!DEswN2i7rJR&(wFfM4RNtZlv?Yd;O!0;NSZ8NJ& zY{6G0iubA%JVfyhN!j}yVB9pA1UiL*1o90c{Rfh9Kle)oFbhM716ZPM(ums}vcFRH zpOgK}4!>iEzj8+-G`&p!o3)vuq!Qs{A}EqjA=Rim#if&MQ(n-&1Yny_jTK6K>Lp=@ zEZjpUXOfx2(^L!0P3rlE;^})waa(=IB|T0n_8k`kEm}#WwGA!L z|5ZfzyCT8gga4Gyh9x~d_`P)Y3n|bSPk_)1n1gvc7shEJHs?a#t0mIsac`LMq+GNR z{ZloSFJ`{ZWsl7G$U>~|spGnukQcH~jR;?53L*@ACbfP=-HLj`=JG1jW-<7gboO&8 ze4}R+?+t!VF%+-=bBTroZ?ICrWYDe@U%v0wkqEd$wLHt1lu$}IzNVq0NKep;Ec$7+ zZaRrK0~Q|>IuA9fc(^Q7b~wYXxZ7^#-2uyqO`z`TwJC1r zbl&Z;wDj)ng=-f#PQDH{K=oT-18#v*7&7UxN;hIHxlDhLNVGggAGYTxLJ z%`(<+=w+=gXOF<{kHXUCB349VMi;_uJzZT`=(?T?dr??M9bq|P-08$7QVc0vW5lP{wLMAuC0~ld{4Ki)3Z9uvk{M z2uoz_Rj_4t6^Kl-_PETuwFNT2Nn0rM1=Ttc^FDW@Zs;GdRDn&!!# zzgL;cOmb^kE{Q;*-QNJ;B&%*{t}6$f0v+3&F@}z9RLRh>z0G3inA-yLV^?MG*IY!u zPRpUJ0|T^qvb{YAMCRn=IulUpfqnz(jgU9g$6s z$mU>*A6EN=4RyL>Qp2c=y5@|E@1*OB_ z>yG(3ehbmJPo${ZMQDbbb!3+qXj z^0HNfS|WWTdo3?tfazf&Cw46)mg(8)spfmc1Jg$>?WU)y4qK>f-e@M;xlUU~^q5o2 z$*E;TTTZY|#i1u;!U6BZTnA#wm5G{>qD9iR$QcRQnmA&rO?+^MgX<__f0{>=q!@P2 zBkZYp)g>3dz$xoum~K+OE3!UM4C|Q}N%KaCLHqc&X^a6KV`OaGr`UUUdsF?H($^C5)^=^G6i zpj=Oc4MfNz>fLlgF&%jX()B(hB5vW-mMF9m=C0p`W9$L5ZQQx2)t_o5PwH)T=SXnl zbHX!3A7aoV2Z&*xp09!RGo)h!(eenohF6-kXYdjpP+fu`NZ;f2xX61RNwPo&qc0o- znGBNfFvI5zo_Y$VtS3{9Sgg;}^Nr(WA`*CGt1DN^js4skN{=8}3?xhysq)*o5q8&C zm#Arcu@SHnkuY@6l0gDM&vVr!8P5<;5)d$H|1E^J25`nmX1|Rp9VyDlNVgs2ZP8vN zB_sc{VYChKJodsP5t%|U`dCB6e7$!ZmR1=__bW!y{VKuw z3x6=O@&6(?SMQ|js}P}@2>S@OLK?F90=}^SYh>K(q^^OKJtkX+*tfMQyjNY=?A=do zjYeZ?UEDP$j~CA{-#dI5lzNpNj_bmVcw%`nr2Kz zqq?M1sl)gONlp!QH+IV7cEH;)RRi8`zyWSIz?4CPHiYQ6hvV=F|H7szBxj(ZplXsc z$WYKe>X`coHa|RT2)hd`71G{?)!u~#0S&A+69+Wy4|M6XjVz zc@}aSC}XhAv%$wSCxx%1@KqGP8gM|AE4IsjksQ=kk#IsW?3P`>KsC-_Sc7YZJ(DbG z99>p88>r}zsA^zSbwS~c+tMB7LF z<#cuYJ7BW@-8gD+r)+>ZmkVVSid7S%tG5%TRZZHK3)?9G3nozjo)w71pg1Xbq7)=b z;fqk56ueOiIZCmMy6YX(`R=5iViXptE|u*e9eZGZdq^nGaLGNSZV%D#`Tw(aEPHS_ zL0A-@jF@^bpKKJUGJ?;OjpbAy!9uce2UQ9Cizn;=U!Y))!Y_2eFBtHvO+8plO&xj+ z3e?o0%3wK^1!V?z(B}@qy1}!UntB8arXImU^fa*Wq)HcFBEnu8(2%pa@y4b0g)tgu z!gMqtBO-kqWD2Ew;(+lI(e{$mL3+Y%FOk%~*70~)$6909-#^)tq*4%y!Zi4S5U0jM zm@qSJ9qV0)HnprmYFQZEI50rV)I%oO0CaNau*nn>WYy)BCP;GH8@Q>5Nspg^9q6E6 z??U|R85?hf5m=>(GURD;M>+B|Q!lUg+G!SERLG2&1^OPk2#spyV1-q&bm`(y?M|iq zujy}K0J1BR%ihJKpD9hFDh<0EMo>zFe>ELMAsgP-R7V2oHfLf@kfXaE?T&e;j(Bc| z_chfM&*-*TJOU#PQh1Z#H1?g9#(uQQ*pF5dhf#^!@3`8yjam$H+MIc^FcC>@&TnPG zPBgo*w%SAzn(RqdCj*4}17KI&?ZCVnnC-xvK(q-sJYc!*CbV%UX_^4BwL3`D-Ne&Z zL+>3Fg%*|5NRyqy?jlVSNuV!y!@V#N3eYswMILv4k&r?h$bOER!f{v(?;%GGAXD@C zL&4eke7~3L4>`0^dMG~Jzs@fnns*nsTVmptFzn2_3fxIJLMi&dj@^>BTM8xUEhw4q zme_|Dhx+UNPVJVg{|zZ49r5~ry4})8SyC`dvL3mZWnd-fgV2cvI^pH}0H(x!^%(Zm z#dxdDl1`p1eL{O2P#a(;JZthdOf6gh|S0fl#(_<9h5J@ZCpwU_o^-`(HN(P1?X!(uqa zI}^)^o^0O0Gk4(`lyI@~%9wcXFUpIpKiU+p^Dh9GJKcPJWqf_WTXgd1Q2mFmW{j8h z!P-n&PtvB!!gQIveyKK%zHB>}8t79yRj%kOcT5GicA8v~CU;B||Iec%Q)W7}>2lL7 zIS?bvlC`N~=cD(Sr{VVoF=PG+?(3&uG@;utZ|753Vwg_<@L*J$CxvcAA9)J)Lm&G4 z7&qMS)O6W80{X_-e_l!(G%K4f_Zk5G6mv*Nq<5OEr$UW_5raWD4=qt18Q}iWGt}dww zr_&q6AKN+DCszMQje~_Yv~$;K98ah#dErW<_;OplH~)6G*Be^y!A*+STRKC=As^RQ zUN1XLEPjmXkNKpk$6+q_@qFEM@sE# zEKQYIIoaMeAT_CJmN@0{iJW1o%uma3cN(S_mR%Oz?7$5pOnHqY%t4`tmDMpY&vcmQ z8=1@lnN{?3nU;8k3!@j>!-FPjXEq8l;)#$Sqiy|R;MDS+5Znmsj z#!U8$KRn*A&up2Uyxj2N1Tkg7aBj97HaDtn@W&u`r~4b7XCf97-}a_c=1e z0Np906N{Y)K_gv2LdgluP?9GJ4SQQsZ0OVHt8BUL_N+D6?~OG_Wa zg;N^n!#`1q%*zqn*xfj9+#out5`%Zr1-myNev{gkQSq{XceGGy%`qcxbe9+I_(jaEEuJuFwoG-Sx$0IrZ6 zm1e5){_JH;!`)0jjWRU|Gvr@Xn!72j0|pKnJY?uF+jYZD4LHMj8*rUjUYG3)P7}3- zH^JZZh1YY_wkIc}bgWKp_TqG7ZZ7A`6|eA=Pbn9c0Ta*~>igJ=;rrN!)swtf@5TL< zg%^vDUedp{D`HzeVYx53v`onK1>Y+ZR?zFsET5L?!xhyEA75UZ<)hm-BkcBRS-#|C zTh3EH-mRK)mid+-MPBYhG3>xI9a%m@xb00@KK(6}#7ejOYPb6|fwCzBn|d$GM&l?G z56CsI547c=#omg0)&tMj(C>^DJU&lMhu7D!-N%Mkh@mG&am1%SEC@a|Unuh-6Y@~` zygrTigmNGA5l{?x(2SzZ>_2qMttT65R0DS;}7A zi0t9rN)^A!p;~F}!7YeXV9BRWrF^?*qKQ6CMU#BpbBQRT*Mzi3?puV`C3To^(rS!#y-3hCenC(rAMaiKdsY@b>3U@ab@rtskndht7Z&!)WJ8m+M756xX z4+2IkFcc-OI<6*8MT)USJmq+3fVA4C)MnQ4wThN`kk_zDFE?!i2^OEuc zRQV!bu4SWYr(11`m{|cQmJt35*-uy7m5OE&ZC|s5Vgzt36vvyn15RF^xs%_-#^>0T z9SFZ}WhcV#rrUN(*5r;H93(n$J+kQG$5B}5hjKs+>ge>iHBBkhr*M(`8vP!{jnOwD zW9S{Ep{Rn>Ue66U06FPx#7bfupM+KP=(d`kpNA24Z4MZ=>_Sz3x3c?q6)pvK9p8f> zl(Sl)vOzKh^Pna7%WC{4emn2cl5+{a7e?jRaz*y3>$xGWmhCph?@Z+V%1hzCsmbT zym@?+J`gv|w-8jp6R0pTvJfjbTF*N0nF2oEC_$yPrKGyV_@o0L2hcOyX-TKqnn`CL zUPHaLU&KeLgR+0mg@4vGyp_)v1GBrri&HD~V=fhUFTXjyAs@GQN5tdHC&bg5FY~@= z&SZLCN8EDaC0&94(RwNFngZ$$z8+(8+KdSUn|XXWnRy0%^aYez78R1a}9m zk==>oy$uIanqZ(oGYq47BfpO}EBG4lFQ66mKGdka`;Y*ye!7KTA)VA)dw1=FA=k8c z@mn6bYEm{erJ+QtxSQ@Go`&!%7^U}sv|e$I5zWF|1hVc6y&V`|`W7v6d-oYa=!`Kx zrgI&@UcR8-OJUwpT$FaMGs@0U0V2W}H(r;Cp@#QqZ^5(KvZpzNRrG?>(4n2)fg}bx zZB7SFHlD6>91Q8tSZiu^F<5Z=Gz*EwGi85kYin78%oOKFZoLA=oo2mKP-*f8v_v_4 zlU<9G+hHkS6EC;N%3z9@P-@`TDic?hD6>b`+JKVNg_6^aveOe+Wd;Uc(4|b{-oPD7 z4=0{Vko6Mw*K4Cof7#&bNjmtIH2R0sn(?gyb*WBNP|A)GYp{{dw2Q;$3lF_E^r0yZ`C@%GtAPq5~VlMh8u-FEU1S)E60pAz)rM zfoqTgd&P5$Ry;?QSg4+~Hx~#NYDMhte-~v$Pwv0ui#(Rt7XFk)WSloloyc!hwmCig zw#tP1t+OswgmEEU(MgJ}U)z+eh`n1qmXqp}H zhPZwru5XF!AH;Q@xc*68-x1dZ;`*MrE)v%d#B~X`8@shs5>8PsRVDbt#6P?fcJM=$ z3936s?hg|b6Y$zf?(Zbx_?1Ie`F&w}1MT-|yM4F`v*3LfeV@&5g}S!U$-ZK!Vmnk} zs*0)KdfP6aHFhliB&A>gd?MIM)UcoGz~72X;jK<4qMSzSdsnFA;L0o1k#;S0Tyxru z`a99N+~)ULV|q;}((c3ri@TSzg>O9-ionUvld74{>H{&)B2gg zch=8ze7OD}>#H{O{6#QcIzvb#I1Ciiv%yxM%Fxd#WAHg8lRJY3|CPQGYkVV~^Myy_ z)#i*#jSnsKSk!7z*@J6*ZE?6D4nF5=qj$y0?D`FK55Og%*tE*VB@%Yg1{!Kc*_;RH zFw3tV1|sCnz|Wo;_zDr9Hsf-_zs83=(f^#UtB`@@k}0nDhW|mo_jNE;>(xuVSY1;4 zf>eC0B>Z3lKD~V)IF@`cmIOxF8^)3gV+jtHzvA$%tTcP}Y<%<=64K>N{v z_U{JHN&u|b`bP*FGU2=1q`-Hzr9NAJdL9+|HY&22YUVK2j0KvBiv07^9eVA}#y|h{ z(=V(xX8A8u?dda(1z4OnGq@;krek&9>v?B-{dLqd&xA(nu^0Mc5)t~sReZ;u*70+zn7yP98%k!qV#D0Uu&wp}RcD}TG?`utGKKyRT z&3Dhw+_GKVv8(df`(O0`)vq62v39%s+9%1soSf@@{miH4xKZP#A+|>UY~H+C+)&8G g6mQ)s?kF4~zEU{)<+Fvqii=qs1iZ#6(U0aTgWWU%6lPOdf#ldT$8nuJfu> zr%s(Zb*kT~iD{{c39OiCmUgV1*lZqt=X@)&&qEa1k@tZc8kUEN!1iYYV4h$$a& z|5utn>9XPX5$>amxIey^|XB>kqV{G zN|Q0l@8z($vB~=5-k5+b3eaOQY^TfPFc4&xLZ}TIGP4+dE)*UX1!GIi>J9gGr8GMa`T>Yym||_aTd>c?&*A6 z=K9PBwAy{5Q|27^X;Vn}e#m}~ifbvS%zDL*#(O?)%%a+Bi5_3=e!)MEC~jdZ{_lBNoJcAYRg>+>+=;|v zv1KP0>!;Z}Y^dSy5LoV5YpGJoWW=f_p;R4&@fw!-Sq{eqVXyQi>pvaW-qNM9P+08_ zP9=gXID-iJ!C6EoP|e)#S&oCZV2a8-J{Yabn7o;E_9bdOL~6+&h9-G_3atoyFK+bJ zdVCmNWY8WT#v>KExz)=QNpLe%)E?VCJ{!8qjx{>VHVOH5^w%DX9!)}__y7?fBoQ;J z)5QDX58@nxe$vxI{Q^JM)SCq!dPRKf*e#`}`IrRLMJC$8hP zY>k2Ab;>2Ps@=BWr!u4aR1O|vbjRey+nf;GY$t&;;v@q7CXxmOo zlI@0JW7kvv0qRfKS=WX>W-sXMM;VEf+z}Fz_ zaoS&f4N{<0do9wcL(B7bMZ$VlWUTifM~)A`G6@bL$5Tk451v2)3Y?SsW+|L=6tQK` z6};M5_H6KmIZx`ZqlkV=%@B&Yfy*3wW}X;DtVh)GT}|i<-EWO3Uu6m+3?z`YZ`rb9 zD`8!Em1&(6Od!V-N%%5Pn&1s4G781(Pb4fPc!TfB7!2C)Njs*F9*+1sNLv$=o*GIG z$Jf+fEa(YZQH*|A?Nend+asNsdPV=Jw_+X)FNW6RqzO0P!|#zh*HZN&F^_Vkk2rQ` zs&TL~1NG|x#YRDwTnI|*0iDOl?au584~lyh=DF84aMN%uR6I`L zWtibt=dgfvkDAIvuYSZ(2*Q3>#P3P4s(pJ&z|fo+meUZYeMrO@svRLBZ=u>zBF0kf z7!l(r8~DHo*MHLgobg~J5NxIZ##4Boc!I5;&scD{BR$O%Gy5zXo=H4R#E*y;L&Xn? zW})H{!fUZqJW8}UDjw?|KW2iNps%58WNvn69x_vXGepEwHV!pvcr00%YMyZL|LM! z3o!{1jN%d>B}%^NBuat!7*Ptv$I12uL~;4E0QTnq>|YJAe=Rngc5b(WnF3**nL=BL zbsCeL9MNt20-ltloAm+qU=~6>_=7p5-2@SiI~_K_vZFA>f~!fW(G#a00L-!8k)9xU?SQp-BQ%i56xjq7ArZSv4%^CBV=IFIUMMV?1r--> zYqFj?w2(l*42xs9BVu+I%i?X>lX5l?p;*ZenK3)A&<%ml9f4Kq#muOQzh%@5F!2jG16F(lu}5$>MsXAGMy!a$j4pz)J)kZsfG%aq{wl6#3!#`e z-nrWdoi#QdTW;RwwL%d#c71VUUJ7!ttDyW8!VNV-KwRZQF5@;QmWo8!cKl{er$q3p zNu)WCdj4OPscbZDE0ahB69xYR^rNZjg5|n$(CM(TE!$$)*v5)+7;eN}W zTD(mwC;BCtmx&Ja)AFdj!wV*Ja&mGFv?$ScMm$nYW)s?@CXc~ zm(~&8^oVXwuJ})C3dFEwX-yEYX0u-qXr-x+i1P^!1cRlCw_bYdIS8R3oYg#^gkwDO z?I3D53k9W9u;LL*;TlI+AUMhb!Lg|E^vT@yE44=?>DKFbnUN4iLg9UaOUPFb2n7r; zV>N07t5Ks^jVyMueT?lEl_nMat5D0PkSrH;q*?g_tpk~MkXRG7c9LWk+mQevTY}{I zAPBvH)k#7L;Xw+~WA@Yiq>eymUN;4h`>?F)w?u-k!r+@3=32qmicY`gq?&Cx?F2xl;pvW>?pFIp=43R5LCzViSu8OO%GZ_{(aRi8Ds>b1S*@G2 zy3kpEvHsQm0z~|?;VU{z2!6E^BDzVYo7iEV4tK;t?Z}1?fZ<^xCwEOGrs>(+Gt7@juil>aST{d2bvTCU=8dMKLsx0*iEcSm zOb)FlS~0<16$ePjgj3%ByPXIq=Vxn1o)*d3A_pa;Y=(c$nE4ogvEcaEJuFkQIPSd9 zap<0E_pd1s|LXu2qV~w=3iDVTo_ivBUql|7=r9FKBpDf@=OEY|v+p%Har8otm_kBl z^}Z(tz*$ri(nU~#CrV%srtqZQ;ADb9mGKF~n$a=XM-ilzU{8o;Wtkp;UhxPXD2{gF* zIkAH10}Wmz0v5;eIT}P)kj@v0_7VYTNTpe;z)QGawHuL;y~pcuk@uHKQVeu3U||b% zGFZZcnUnE`Og$At){_}UEaqqV9OI0ch%DaN@5+^OV^jBrrbUQi3?d8_`SLeQBjPTt zcB>PGVk2rNB5UX#C5J449qOvxnH9v71Og1&KZ~$dKi=rc?4Qbvjyz>X1Z)R;dlZVy zWX2!sMtc!U!|}^~5uHL7eT<>vzf+87nqhWq^CLS)r77Y*7wP84()|Q8EPleKSNxP< z{>8tu$rnE+I9%^$^V>?quZY-2uphFJEfffaDJRJI&&c-Ur0jWW9cV9UR|Ky*x5c}S z`5KGH%*pWx`kxiQM0O4D{G4c?5%CmrwJ%6jV(yp3Gt{PiPI4f=m1w6(4m$aYXkU;V zbk#=2e@@1qBICaxP5KcHG$EpapowU}zR#o_WPiGJQ|H<{j+1SX{?6}?|KIf2Z1i`? z=?`)6xnC-%! zuiB8f>iAYL8^9?AXPg?g!RZ$di%*a{u592L~S&yS6w$BrziayaPY?daMVc6 z(X>utLS0N~J`-BNgcfSxv>+95eExtYGISY3Z)9i>(7-6?ZK?kzfvDY2!U@Ht`-#K% zkZR)DX$^DmyRmUJjT{NFATbkIq?iU48UJU2v2r0?Kb|_?no|{v3H1Bf*AlIX`0I%FKJo8l)8pR-*YfYhq2!PasO*K}YYd55dm}n~yWv_*qU(Va@0pT_Cz=u#n+=8{993$x7nILuLMzbwyc44HW00WgyM{4+d#HA z5dHf9owsA!gL?@==Nk`4JU!?q{MtHZjbIg7yOS9txRtEk#Z2P3W1b!OU%Jr0bfJGS z&=3-fILx?rV@MK084-m1D zMLi^TF1%&*fiD_|$7yImMeGJ~P&qWs69<9=L<3EKJz?wtkXk3;VI5<&I9`6ZCy`|+ zRF7GJ1S5`@Tj9dol$E^W^|=5r*V@Wl3!NKB3z(TLksEA4B3<(Wi}bs^(gaNodjlhS zg!C*Ehyxq!`}$n`_VkUn!U(R?#N-Jq0b~+|{A?aV>%4ZBsuvY{%Y-G)i{coEQ4GQM9os zyelV2sdD7} zy{2#+Cd2!hvj#zFah~v6FgH)wQTLitOVdN~;gs#~NM-k2%kP!B^heokOc0kB&QPj; zapzuH+bf3>^j6f?_sWiy^Ft|m-$Q$4>rwbr1Q4(H+rC#m;g*AL*}CUfw?UPl_XiLS z0I|xq0?nBF=oZJP^YK>emKz&O_sO-Ta+Rt6+C1Fc)K9kO;r7O`ZD*}0*WZ{YUPo%n zm zaZwV_ty<%VadLf}UAGrsIn|M3--+sEF=Zl5VO*);c$Ld;iI&nD#f>xXw%|Ou!Zp3E zac`o2T8*UAxNj0yQd~rdtEftZfI3~Mpfh*T8Jt*Q<&~Cr@2K)(>rXbtoBcD;<=HNwt}?zZ;4Nz0 zJ4pZW+uR9MAD}IzdXn}O6?3TL=Et-p?4{&nM&P2_r)b5swDT#TYnRZ9d9-thwDtbs zsY{$%4sBjW0~T=^)t-`4<_wj>_YX5K!Q1uxzy)xc&{&LHd>m5@*GUNvKuP+B&}D$t zKMwz45B(VW4fj2iL#@MLZ}k1cW30h4w;bB51Hc*Oz|IJC3Dq;8O>wEg5d}iU1Zc~E zyta(mvQwLLXduZBG3}{PG9qKP8Plrw?U{7P_Q%x*<^faT0Y<;wv>0*@t-qE!njdE` z^JulZCOnN@HU8Ak1^>kC|8$s#ht~IVU2>Qg2wO>BtfVxd+*aq!yW8dUh8B8o<>K|0 z=28>_aL?uSI;KbqAK+3jo(#1C?lM&nw&zIY4@}^4XgGyU_mx5s%9BD9Y9ze3sLQ9e zFOxohfE&7uhGVOaR!%BQnpm1V5pz~0Ro-lG@0XF(yi6MQ;AGzLVQ%WX<3LlqcaRo|6E2)|eznuoZZOP&u&#Gca(}~k?Clhh{N)y~ZoK!J!n&J5WP+fQ} zT~52hLDk6PBZNq-9u}M_Y+p|GnDm?dHZZ6zNIIDq{-|s@bu3tDtn#a*Zyp@NFQ;L1 zlYvHW*G=(^k{w;fwSUTKXb!HPxOr zS_4??X{tSAwBlLo8Cq$nUroIM+(tPo&CK>GE6))c?iP9~D%4F77{I z;Gn^_ONN;0aT4^_<7Tvc`$k_dTiP&pggINPoqH*ty)ii%RcQ6*7B9|7=9Y4yT=9w< zd`h`k0!m`jxa|^sLV0bOkL~ZA_^wYY^Cc(SayIw`muku>@jZ$p+U-M0?Ss{wWj;f>jm>2~ z{aqB+N_YBdclxxyF)^=0Or00Sr}0e48(`Po^nte?yx1IZW&6Qu8{pZo;u}7XrSnZ+ z=T4tvz!Q=(FOA>rQ&)+9^Qn2_>ptX4Z!rDd^l7_&V!e+`eF85w@PX>>KSWjdZ>Us@ zpx{CTvY1lpAx6sor+)V<`r-XsupSpZp}d02mCb@nsS@&?s+CnRT;f|y;axuURwlQ5 zB-&d(3`N`J>mEzQ5WNPZ{h2nG%Y1kub^&!K7PM?EXjNls$*{)n%Lu2dfv$1>J{5Wl z$vyTf|4k0qABH|hxfnK*&A&-~A+cf3-xhs7F^biY%*xqiL7zGgg;`mk{Pv)a-G{on z6~$e##qX1iSXNU<(r<1szux?BLS$9Ro{QM zV0Ul4`UjLh6!am*-|dTxz_Bb_?RK-@H$P5|yT_6GcU=b*fV;w<5Y^I0u?*hhs^m8a><+D=$Yaw=S@n()xLS$?Magdw zglfm&CDL5y2y>>i);Xj$&2 zR`0L82yYClxE#(Q>3g4gakRuClos3bL>h*i-fkX zMMg~mG%<|Eo3#lcqde;cA>T0uG@B62UCIkB<-CwTcDHOz?)2j1(us?kNB;C6Dj9uI zf3Tpq&yIJuDTVs<$VHNVz2ZXeaEfz6J`7rL*y|aJ1DD8dNXm$DS`#<2lcI;6O{NeB z&4Iku7jaYYlJZhR6-@VH!{+c47Ke9~q=x$l8eQg5Us$4TF*_gjjJCyW6m%)qZ8o8{gQp?jm2(7a zJVyXph5#ERMCi_wAYHT|m!C>dK}E&2$$A=A%b?=bEXG_z5v$nUZ9>gKe3kMK?9+M& z_G!J%re)BzzUM$$F%_RkbzV)it7*jy(g~JpDEkPcA@Vs(nr$s)Gn!v#5Tj2$A&o<=i7vuhW7H*rw@l2U9RJ@8dS&uvM5d}Ui zaifIW>aKPhADrOR1y-W^Ue;MAXwn_4mazcPH?r*6ns@YHh9zH9|5ct)49f1(GmgqI zkU1c&S$KK;@jTouo{}~%oD|QB(cHhJ;|sZ-*I^Qu)yI~Awfurm2frH4?)n0u#&8@& ztdnldx{Qw^8QidYYXB}+7b(^&UH9J8^v_s6i=!~+Z4PP-HoUSN1`U?P7|mJ2R@ST# zYT$VVtn_~o^K|c4WZ|CWt?aI=QE%%F+N#G$UuN~=A4L6FaWy|cJoVu>{%|K|@oNIL zw}uV`CX{~73h>^oM!z~|43!(Y3TUrTQ0HYhZz*nahpsY8;;mi`vb+`jx7M_}cs%lz z{N^4t)bLjAYpig`YpjTYOI`K>BSIdlhuhixOk&`SE!zpV9mghmtnu;581^^af;neT zvpB(crfzF%YbzU1x!R?X8@YgS=~|~0RGPd2Z2}FC;O*L2+5vBYoN=_{DhjE131tLE z<7hj9I=)7C9PL8jTyv z(EyibqW&L`x5iY=m)4RhGI9WB2*2v19O) zl!^}VRbv{yO7t@;`BSO1^vO#xtrwcca-L}>{+?-m!vqlvH0cMU;~M*(&uZy4xJbKu zgnYC<&~`Fb*PWGdJtx1eEK2cKWRhZQt2239Q&aG}r)LGjPtS6meLC%#{k{GnI6pR1 z981(ciGO9skAP3**vFq1eEi8Royj%>uW#5U->@yd@JPJcvg0!1LvuZRj9LvgdvKGl zJq}md!7aXacB}31J;U|{cAJU3ryN%?_}K#~t`+D?3r#;d5NN#ty2V3}i|-a&`i6 z#nzorG-Seu!%2bfYj^l;c?;JtmB)%atYv1_+RdyL18YTf?yCQstKDmF?Q8n*zfOH^ zwQ*Nw*r&}h=A>ZFtYH3{Sx(QI&(@sj_0L&T?{$S|qN0SuJZehis5S`_Doscm<%V)t zRBCv@>luwBIX)@V0cYwp}kv{h7$@f0%T3_ma zb8q8`@6MdP Date: Thu, 2 Jun 2022 10:01:06 +0200 Subject: [PATCH 06/22] First attempt to 2 bytes Y Not everywhere yet, but in the most important procedures. --- grafproc.asm | 28 ++++++++++++++++++++++++---- scorch.xex | Bin 37953 -> 38095 bytes variables.asm | 2 +- weapons.asm | 34 ++++++++++++++++++---------------- 4 files changed, 43 insertions(+), 21 deletions(-) diff --git a/grafproc.asm b/grafproc.asm index 5f5c999..e58168e 100644 --- a/grafproc.asm +++ b/grafproc.asm @@ -272,7 +272,7 @@ ContinueDraw EndOfDraw mwa xtempDRAW xdraw - mva ytempDRAW ydraw + mwa ytempDRAW ydraw rts .endp @@ -298,7 +298,7 @@ EndOfDraw ; splot8 mwa xdraw xcircle - mva ydraw ycircle + mwa ydraw ycircle mwa #0 xc mva radius yc @@ -354,7 +354,7 @@ endcircleloop jsr splot8 mwa xcircle xdraw - mva ycircle ydraw + mwa ycircle ydraw rts .endp ;---- @@ -381,12 +381,19 @@ splot8 .proc adc YC sta ydraw sta tempcir + lda ycircle+1 + adc #$00 + sta ydraw+1 + sta tempcir+1 jsr plot sec lda ycircle sbc YC sta ydraw + lda ycircle+1 + sbc #$00 + sta ydraw+1 jsr plot sec @@ -400,6 +407,8 @@ splot8 .proc lda tempcir sta ydraw + lda tempcir+1 + sta ydraw+1 jsr plot ;--- clc @@ -414,12 +423,19 @@ splot8 .proc adc xC sta ydraw sta tempcir + lda ycircle+1 + adc #$00 + sta ydraw+1 + sta tempcir+1 jsr plot sec lda ycircle sbc xC sta ydraw + lda ycircle+1 + sbc #$00 + sta ydraw+1 jsr plot sec @@ -433,6 +449,8 @@ splot8 .proc lda tempcir sta ydraw + lda tempcir+1 + sta ydraw+1 jsr plot RTS @@ -707,6 +725,7 @@ drawmountainsloop cmp #screenheight beq NoMountain sta ydraw + sty ydraw+1 jsr DrawLine NoMountain inw modify @@ -725,6 +744,7 @@ drawmountainspixelloop ldy #0 lda (modify),y sta ydraw + sty ydraw+1 jsr plot inw modify inw xdraw @@ -771,7 +791,7 @@ drawmountainspixelloop adw RangeLeft #mountaintable2 tempor2 NextColumn1 - mva #0 ydraw + mwa #0 ydraw NextPoint1 jsr point beq StillNothing diff --git a/scorch.xex b/scorch.xex index 424f7e806e0a3ff2e922fe195f2079d5fa45209f..a45d59ed7edbe69f93008cd7a4935d031cfa2a50 100644 GIT binary patch delta 13626 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%0D?r001Nq+7vjGyJNZ#o*d z$KQfqoAEo`_?_SnWEwB?jo)kh!6abZ;18zYakC#9aQHEUlz`nI_*SAkoPM_{Fv!m; zg8~@_({#Vf(HT7Xm>+ipZTQ?AVp^djD&M<7rG`6FYYiv)^{=?YVF(pIG{{f&go$v+ z=+E(%ou_SnPl}#|!R-F%$VkEx{l!xQ|@E;CdRw)<`N@L5S8Rv&iw?VGOgW8$8Kon1DlQ$7}$=1*Iz$IHi= zNHDBR_T1x3?3>d4k$XLfFqen?%9Q%1H|?9gl>&^vHQma5vRj?+AN+`a@B;tfNB#RN zyMp+um|ek(D&uc_$j_VJuQb1}&ha Date: Thu, 2 Jun 2022 15:01:49 +0200 Subject: [PATCH 07/22] Improved checking collision with the tank. And other optimizations. --- grafproc.asm | 11 ++++++++--- scorch.xex | Bin 38095 -> 38062 bytes weapons.asm | 36 ++++++++++++++++++++++-------------- 3 files changed, 30 insertions(+), 17 deletions(-) diff --git a/grafproc.asm b/grafproc.asm index e58168e..d5c14e3 100644 --- a/grafproc.asm +++ b/grafproc.asm @@ -242,8 +242,13 @@ CheckCollisionDraw lda HitFlag bne StopHitChecking - mwa xdraw temp - adw temp #mountaintable + clc + lda xdraw + adc #mountaintable + sta temp+1 ldy #0 lda ydraw @@ -255,7 +260,7 @@ CheckCollisionDraw sec sbc #1 sta YHit - mva #0 YHit+1 + sty YHit+1 ;mwa ydraw YHit mva #1 HitFlag StopHitChecking diff --git a/scorch.xex b/scorch.xex index a45d59ed7edbe69f93008cd7a4935d031cfa2a50..7667563fa5a5c6812f41a3f7ccbe34adb0afb359 100644 GIT binary patch delta 12429 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 delta 12423 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 KE`EM#um1zn5j1Q7 diff --git a/weapons.asm b/weapons.asm index b9f3e43..3d239f2 100644 --- a/weapons.asm +++ b/weapons.asm @@ -738,8 +738,6 @@ UpNotYet ;check tank collision prior to PLOT sty HitFlag - mwa xdraw xtraj+1 - mwa ydraw ytraj+1 jsr CheckCollisionWithTank lda HitFlag @@ -2144,11 +2142,12 @@ MIRVcontinueFly MIRVcheckCollision - ; checking works only with xtraj so copy there all we need + ; checking works only with xdraw and ydraw so copy there all we need lda xtraj01,x - sta xtraj+1 + sta xdraw lda xtraj02,x - sta xtraj+2 + sta xdraw+1 + mwa ytraj+1 ydraw mva #0 HitFlag jsr CheckCollisionWithTank ldx MirvMissileCounter @@ -2259,14 +2258,22 @@ MIRValreadyAll ; ------------------------------------------------- .proc CheckCollisionWithTank ; ------------------------------------------------- +; Check collision with Tank :) +; xdraw , ydraw - coordinates of the checked point +; results: +; HitFlag - 1 - hit, 0 - no hit +; XHit , YHit - coordinates of hit +; X - index of the hit tank + ldx #0 CheckCollisionWithTankLoop - + lda eXistenZ,x + beq DeadTank lda xtankstableH,x - cmp xtraj+2 + cmp xdraw+1 bne Condition01 lda xtankstableL,x - cmp xtraj+1 + cmp xdraw Condition01 bcs LeftFromTheTank ;add 8 double byte clc @@ -2274,26 +2281,27 @@ Condition01 tay lda xtankstableH,x adc #0 - cmp xtraj+2 + cmp xdraw+1 bne Condition02 - cpy xtraj+1 + cpy xdraw Condition02 bcc RightFromTheTank lda ytankstable,x - cmp ytraj+1 ; check range + cmp ydraw ; check range bcc BelowTheTank ;(ytankstable,ytankstable+3) sbc #4 - cmp ytraj+1 + cmp ydraw bcs OverTheTank mva #1 HitFlag - mwa xtraj+1 XHit - mwa ytraj+1 YHit + mwa xdraw XHit + mwa ydraw YHit rts ; in X there is an index of the hit tank RightFromTheTank LeftFromTheTank OverTheTank BelowTheTank +DeadTank inx cpx NumberOfPlayers bne CheckCollisionWithTankLoop From 6013986e51ef6e56471fcf56f24f2a5a52c78269 Mon Sep 17 00:00:00 2001 From: Pecusx Date: Thu, 2 Jun 2022 21:40:09 +0200 Subject: [PATCH 08/22] Minor changes --- grafproc.asm | 7 ++++--- scorch.xex | Bin 38062 -> 38062 bytes 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/grafproc.asm b/grafproc.asm index d5c14e3..edc67a1 100644 --- a/grafproc.asm +++ b/grafproc.asm @@ -43,9 +43,9 @@ ;cpw ybyte #screenheight ;bcc DrawOnTheScreen lda ydraw+1 - bne DrawOutOfTheScreen + bmi DrawOutOfTheScreen lda ybyte+1 - beq DrawOnTheScreen + bpl DrawOnTheScreen DrawOutOfTheScreen ;jsr DrawJumpPad rts @@ -230,13 +230,14 @@ yestrace jsr plot notrace ;aftertrace + ;key lda HitFlag bne StopHitChecking CheckCollisionDraw ; checking collision! lda ydraw+1 - bne StopHitChecking + bmi StopHitChecking jsr CheckCollisionWithTank lda HitFlag diff --git a/scorch.xex b/scorch.xex index 7667563fa5a5c6812f41a3f7ccbe34adb0afb359..24fcbabf5923f35b273c90aaee152be221961d2b 100644 GIT binary patch delta 27 jcmZ3tl4;#arVW}2tOhJg+XXi3B`jlPG}wGK@um>~kmL$( delta 27 jcmZ3tl4;#arVW}2tQT08wtv{Hm#~bH@xtb-i8qY^s-z5# From c12049d0d7eac5ffd3230f456af5afef26f0001b Mon Sep 17 00:00:00 2001 From: Pecusx Date: Thu, 2 Jun 2022 23:38:52 +0200 Subject: [PATCH 09/22] Sometimes no explosion - solved! A small change after a long analysis of the procedures "Fly" and "draw" - very hard work :) --- scorch.xex | Bin 38062 -> 38062 bytes weapons.asm | 2 +- 2 files changed, 1 insertion(+), 1 deletion(-) diff --git a/scorch.xex b/scorch.xex index 24fcbabf5923f35b273c90aaee152be221961d2b..e6fae494a8a6794a1c3a4794c23c46892d54e87d 100644 GIT binary patch delta 16 YcmZ3tl4;#arVaJJj3+lY`0BX>06$O$?f?J) delta 16 YcmZ3tl4;#arVaJJj3+iX`0BX>06$6w?EnA( diff --git a/weapons.asm b/weapons.asm index 3d239f2..0c1a02b 100644 --- a/weapons.asm +++ b/weapons.asm @@ -1780,7 +1780,7 @@ nowait lda HitFlag bne Hit - cpw ytraj+1 #screenheight + cpw ytraj+1 #screenheight+1 bcc YTrayLowerThanScreenHeight lda ytraj+2 bpl EndOfFlight From 8f0bd8ca815fa3391635f383adb4782cd90452a3 Mon Sep 17 00:00:00 2001 From: Pecusx Date: Fri, 3 Jun 2022 10:30:02 +0200 Subject: [PATCH 10/22] Liquid Dirt bug and little optimization --- scorch.xex | Bin 38062 -> 38048 bytes weapons.asm | 41 ++++++++++++++++------------------------- 2 files changed, 16 insertions(+), 25 deletions(-) diff --git a/scorch.xex b/scorch.xex index e6fae494a8a6794a1c3a4794c23c46892d54e87d..222ec3e9c7b74447191cd38101f44fbe04a00e15 100644 GIT binary patch delta 12399 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 delta 12417 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 Date: Fri, 3 Jun 2022 10:48:08 +0200 Subject: [PATCH 11/22] Additional check for 0 bullets in DecreaseWeapon proc #56 --- scorch.xex | Bin 38048 -> 38050 bytes weapons.asm | 2 ++ 2 files changed, 2 insertions(+) diff --git a/scorch.xex b/scorch.xex index 222ec3e9c7b74447191cd38101f44fbe04a00e15..2e8b28a50af121f7783fd07cafac6b797fbfd952 100644 GIT binary patch delta 12145 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 delta 12281 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 SvY9caL+&46%-*_u*#826n|8PW diff --git a/weapons.asm b/weapons.asm index eac3800..5e43290 100644 --- a/weapons.asm +++ b/weapons.asm @@ -2372,12 +2372,14 @@ RangesChecked ; decreases 1 bullet from a weapon(A) of tank(TankNr) ;-------------------------------------------------- jsr HowManyBullets + beq noBullets ; no bullets - no decreasing (additional check) cpy #0 beq defaultWeapon ; no decreasing Baby Missile sec sbc #1 sta (weaponPointer),y ; we have good values after HowManyBullets defaultWeapon +noBullets rts .endp From 0d7403d1c073efc45a03f1243ad44273b8e09f89 Mon Sep 17 00:00:00 2001 From: Pecusx Date: Fri, 3 Jun 2022 11:59:11 +0200 Subject: [PATCH 12/22] Laser is working properly. But why!!! Where do xdraw and ydraw come from in laser procedure! --- scorch.xex | Bin 38050 -> 38080 bytes weapons.asm | 10 +++++++--- 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/scorch.xex b/scorch.xex index 2e8b28a50af121f7783fd07cafac6b797fbfd952..32c894286af9bfcaae22661c3f37f9f2a10b869e 100644 GIT binary patch delta 12545 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 delta 12394 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 diff --git a/weapons.asm b/weapons.asm index 5e43290..264a32d 100644 --- a/weapons.asm +++ b/weapons.asm @@ -529,21 +529,25 @@ DiggerCharacter .endp ; ------------------------ .proc laser +; but where are xdraw and ydraw ???? !!!! +; ------------------------ ldx TankNr lda AngleTable,x tay clc lda xtankstableL,x - adc EndOfTheBarrelX,y ; correction of the end of the barrel point + adc EndOfTheBarrelX,y ; correction of the end of the barrel point (X) sta xbyte lda xtankstableH,x adc #0 sta xbyte+1 sec lda ytankstable,x - sbc EndOfTheBarrelY,y + sbc EndOfTheBarrelY,y ; correction of the end of the barrel point (Y) sta ybyte - mva #0 ybyte+1 + lda #$00 + sbc #$00 + sta ybyte+1 mva #0 drawFunction mwa xdraw LaserCoordinate mwa ydraw LaserCoordinate+2 From bf11a9967fb208e6315c3c5215b8a89bf48f8b5f Mon Sep 17 00:00:00 2001 From: Pecusx Date: Fri, 3 Jun 2022 21:46:04 +0200 Subject: [PATCH 13/22] Atract mode only for human players --- lib/atari.hea | 1 + scorch.asm | 1 + scorch.xex | Bin 38080 -> 38054 bytes 3 files changed, 2 insertions(+) diff --git a/lib/atari.hea b/lib/atari.hea index 2d5e17b..36e9cfb 100755 --- a/lib/atari.hea +++ b/lib/atari.hea @@ -147,6 +147,7 @@ NMIST = $D40F ; rejestr statusu przerwa� NMI ;------------------------------------- ;additional system variables ;------------------------------------- +ATRACT = $004D COLPM0S = $02C0 ;- - shadow register COLPM0 COLPM1S = $02C1 ;- - shadow register COLPM1 COLPM2S = $02C2 ;- - shadow register COLPM2 diff --git a/scorch.asm b/scorch.asm index 0df643e..89c7e23 100644 --- a/scorch.asm +++ b/scorch.asm @@ -322,6 +322,7 @@ SettingEnergies ; tank with energy greater than 0 left ldy #0 ; in Y - number of tanks with energy greater than zero + sty ATRACT ; reset atract mode ldx NumberOfPlayers dex CheckingIfRoundIsFinished diff --git a/scorch.xex b/scorch.xex index 32c894286af9bfcaae22661c3f37f9f2a10b869e..4aa0362d6647db54772b8e3b69a8c665d6b2d667 100644 GIT binary patch delta 12590 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 From 4c3203854cc40dfa9b19421b85cf1358a397db2c Mon Sep 17 00:00:00 2001 From: pkali Date: Sat, 4 Jun 2022 16:07:01 -0400 Subject: [PATCH 14/22] letting winds #82 --- constants.asm | 2 +- scorch.asm | 23 ++++++-- scorch.xex | Bin 38054 -> 38000 bytes textproc.asm | 20 ++++--- variables.asm | 5 +- weapons.asm | 150 ++++++++++++-------------------------------------- 6 files changed, 70 insertions(+), 130 deletions(-) diff --git a/constants.asm b/constants.asm index 859ceb6..83e2372 100644 --- a/constants.asm +++ b/constants.asm @@ -889,7 +889,7 @@ NamesOfWeapons ;the comment is an index in the tables dta d"White Flag " ; 63 weaponsOfDeath dta 1,2,3,7,15,16,17,18,19,20,21,22,23,24,25,26,27 -weaponsOfDeathEnd +weaponsOfDeathEnd joyToKeyTable ; .by 00, 01, 02, 03, 04, 05, 06, 07, 08, 09, 10, 11, 12, 13, 14, 15 .by $ff,$ff,$ff,$ff,$ff,$ff,$ff,$07,$ff,$ff,$ff,$06,$ff,$0f,$0e,$ff diff --git a/scorch.asm b/scorch.asm index 89c7e23..641f3cc 100644 --- a/scorch.asm +++ b/scorch.asm @@ -399,7 +399,7 @@ RoboTanks ; robotanks shoot here jsr ArtificialIntelligence jsr MoveBarrelToNewPosition - jsr StatusDisplay ;all digital values like force, angle, wind, etc. + jsr DisplayStatus ;all digital values like force, angle, wind, etc. jsr PutTankNameOnScreen ; let's move the tank's barrel so it points the right ; direction @@ -414,7 +414,7 @@ AfterManualShooting inc noDeathCounter jsr DecreaseWeaponBeforeShoot - jsr StatusDisplay + jsr DisplayStatus ldx TankNr dec Energy,x ; lower energy to eventually let tanks commit suicide @@ -710,18 +710,31 @@ NotNegativeEnergy ;-------------------------------------------------- GetRandomWind .proc +;in: MaxWind (byte) +;out: Wind (word) +;uses: _ ;-------------------------------------------------- lda random cmp MaxWind bcs GetRandomWind ; if more than MaxWind then randomize again sta Wind mva #$00 Wind+1 - ; multiply Wind by 16 and take it as a decimal part (0.Wind) + sta Wind+2 + sta Wind+3 + ; multiply Wind by 16 + ; two bytes of Wind are treated as a decimal part of vx variable :4 aslw Wind + ; decide the direction lda random and #$01 - sta WindOrientation - rts + beq @+ + sec ; Wind = -Wind + .rept 4 + lda #$00 + sbc Wind+# + sta Wind+# + .endr +@ rts .endp ;-------------------------------------------------- diff --git a/scorch.xex b/scorch.xex index 4aa0362d6647db54772b8e3b69a8c665d6b2d667..968ef3883d6018c70bbc7d5ae56f6658f966db81 100644 GIT binary patch delta 13424 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 ashQ&uA`ccv9aLs}YUX-gf4q2V^#1`81JHZ` delta 13464 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 i7Iepo^~dBicilX<5O%CM{Fpr3T{qwTW>4) ;----------------------------------- MaxWind .ds 1 ; WindOrientation .DS 1 ;(0-right,1-left) diff --git a/weapons.asm b/weapons.asm index 264a32d..e713e3e 100644 --- a/weapons.asm +++ b/weapons.asm @@ -991,7 +991,7 @@ ContinueToCheckMaxForce2 lda MaxForceTableL,x sta ForceTableL,x @ - jsr StatusDisplay ;all digital values like force, angle, wind, etc. + jsr DisplayStatus ;all digital values like force, angle, wind, etc. jsr PutTankNameOnScreen jsr DrawTankNr @@ -1501,7 +1501,8 @@ ThereWasNoParachute .endp ;-------------------------------------------------- -.proc Flight ; Force(byte.byte), Angle(byte), Wind(.byte) 128=0, 255=maxright, 0=maxleft +.proc Flight ; Force(byte.byte), Wind(0.word) +; Angle(byte) 128=0, 255=maxright, 0=maxleft ;-------------------------------------------------- ;g=-0.1 ;vx=Force*sin(Angle) @@ -1554,7 +1555,7 @@ RepeatIfSmokeTracer ;255-90 (165) horizontally left bpl FlightRight - + ;and if the highest bit is set then ;Flight to LEFT ;calculate Angle with this formula: @@ -1563,12 +1564,14 @@ RepeatIfSmokeTracer sec txa sbc #165 ;(Angle-165) - sta temp ;dirty trick with selfmodifying code (REMOVED) - lda #90 ; + sta temp + lda #90 sbc temp ;90-(Angle-165) ;and we have rady angle here ... and we go LEFT! tax sta Angle + + ; mva #1 goleft ; and now we contine as if nothing happened ; (but we have goleft set to 1!!!) @@ -1580,7 +1583,7 @@ FlightRight dontzerogoleft lda sintable,x ;sin(Angle) - sta Multiplee ;sin(Angle)*Force + sta Multiplee ;sin(Angle)*Force mwa Force Multiplier lda #$0 sta Multiplier+2 @@ -1605,10 +1608,19 @@ DoNotAdd rol Multiplier+2 dex bne MultiplyLoop - ; here in vx there is a number xxxx.yyy = sin(Angle)*Force - - mva #0 vx+3 ;vx=sin(Angle)*Force - + + mva #0 vx+3 + ; here in vx there is a number + ; xxxx.xx00 = sin(Angle)*Force + ; negate it if going left + lda goleft + beq @+ + .rept 4 + lda #$00 + sbc vx+# + sta vx+# + .endr +@ ;======vy lda #0 ;cos(Angle) sta vy @@ -1646,7 +1658,8 @@ DoNotAddY rol Multiplier+2 dex bne MultiplyLoopY - ; here in vy there is a number xxxx.yyy=cos(Angle)*Force + ; here in vy there is a number + ; yyyy.yy=cos(Angle)*Force mva #0 vy+3 ;vy=cos(Angle)*Force @@ -1682,8 +1695,7 @@ Loopi cmp #6 ; MIRV jeq MIRVdownLoop StillUp - lda goleft - bne FlightLeft + clc ;xtraj=xtraj+vx (skipping least significant byte of vx) lda xtraj ;here of course Fight to right @@ -1695,66 +1707,13 @@ StillUp lda xtraj+2 adc vx+3 sta xtraj+2 - jmp @+ ;skipping substracting for Flight to left -FlightLeft - sec ;xtraj=xtraj-vx (skipping least significant byte of vx) - lda xtraj ;here of course Fight to left - sbc vx+1 - sta xtraj - lda xtraj+1 - sbc vx+2 - sta xtraj+1 - lda xtraj+2 - sbc vx+3 - sta xtraj+2 - -@ - ;vx=vx-Wind (also without least significan byte of vx) - lda goleft - bne FlightsLeft ;blow on bullet flighting left - lda WindOrientation - bne LWindToRight - beq LWindToLeft -FlightsLeft - lda WindOrientation - beq LWindToRight - -LWindToLeft - ; here Wind to right, bullet goes right as well, so vx=vx+Wind - ; here Wind to left, bullet goes left as well, so vx=vx+Wind clc - lda vx - adc Wind - sta vx - lda vx+1 - adc Wind+1 - sta vx+1 - lda vx+2 - adc #0 - sta vx+2 - lda vx+3 - adc #0 - sta vx+3 - jmp @+ - -LWindToRight - ;Wind to left, bullet right, so vx=vx-Wind - ;Wind to right, bullet left, so vx=vx-Wind - sec - lda vx - sbc Wind - sta vx - lda vx+1 - sbc Wind+1 - sta vx+1 - lda vx+2 - sbc #0 - sta vx+2 - lda vx+3 - sbc #0 - sta vx+3 -@ + .rept 4 + lda vx+# + adc Wind+# + sta vx+# + .endr mwa xtrajold+1 xdraw mwa ytrajold+1 ydraw mwa xtraj+1 xbyte @@ -2023,51 +1982,14 @@ mrFlightLeft mrskip07 - ;vx=vx-Wind (also without least significan byte of vx) + ;vx=vx+Wind - lda goleft - bne mrFlightsLeft ;blow on bullet flighting left - lda WindOrientation - bne mrWindToLeft - beq mrLWindToLeft -mrFlightsLeft - lda WindOrientation - beq mrLWindToRight -mrLWindToLeft - ; here Wind to right, bullet goes right as well, so vx=vx+Wind - ; here Wind to left, bullet goes left as well, so vx=vx+Wind clc - lda vx00,x - adc Wind - sta vx00,x - lda vx01,x - adc Wind+1 - sta vx01,x - lda vx02,x - adc #0 - sta vx02,x - lda vx03,x - adc #0 - sta vx03,x - Jmp mrskip08 -mrWindToLeft -mrLWindToRight - ;Wind to left, bullet right, so vx=vx-Wind - ;Wind to right, bullet left, so vx=vx-Wind - sec - lda vx00,x - sbc Wind - sta vx00,x - lda vx01,x - sbc Wind+1 - sta vx01,x - lda vx02,x - sbc #0 - sta vx02,x - lda vx03,x - sbc #0 - sta vx03,x -mrskip08 + .rept 4 + lda vx+# + adc Wind+# + sta vx+# + .endr ; rules for a falling MIRV bulets. ; if Y is negative and any X (bullet over the screen) - continue flying From 081cf282c88487c7cda493f77f8b8119bbfc5f3d Mon Sep 17 00:00:00 2001 From: pkali Date: Sat, 4 Jun 2022 16:15:43 -0400 Subject: [PATCH 15/22] forgot about MIRV #82 --- scorch.xex | Bin 38000 -> 37964 bytes weapons.asm | 17 ----------------- 2 files changed, 17 deletions(-) diff --git a/scorch.xex b/scorch.xex index 968ef3883d6018c70bbc7d5ae56f6658f966db81..db01e42a4770117d0254752caf94a2765352b69b 100644 GIT binary patch delta 12297 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 delta 12284 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 diff --git a/weapons.asm b/weapons.asm index e713e3e..76623f6 100644 --- a/weapons.asm +++ b/weapons.asm @@ -1953,8 +1953,6 @@ MIRVdoNotChangeY lda MirvDown,x ; if bullet is already down we go with the next one jne MIRVnextBullet - lda goleft - bne mrFlightLeft clc ;xtraj=xtraj+vx (skipping the least significant byte of vx) lda xtraj00,x ;and here of course Flight to the right @@ -1966,22 +1964,7 @@ MIRVdoNotChangeY lda xtraj02,x adc vx03,x sta xtraj02,x - jmp mrskip07 ;skip substracting for Flight to the left -mrFlightLeft - sec ;xtraj=xtraj-vx (skipping the least significant byte of vx) - lda xtraj00,x ;here of course Flight to the left - sbc vx01,x - sta xtraj00,x - lda xtraj01,x - sbc vx02,x - sta xtraj01,x - lda xtraj02,x - sbc vx03,x - sta xtraj02,x - - -mrskip07 ;vx=vx+Wind clc From 1eadc7f63e87283637f8612dd4b0c88ae34f5ffe Mon Sep 17 00:00:00 2001 From: pkali Date: Sat, 4 Jun 2022 17:54:15 -0400 Subject: [PATCH 16/22] minor edits --- scorch.asm | 22 ++++++++++------------ scorch.xex | Bin 37964 -> 37962 bytes 2 files changed, 10 insertions(+), 12 deletions(-) diff --git a/scorch.asm b/scorch.asm index 641f3cc..6cb6252 100644 --- a/scorch.asm +++ b/scorch.asm @@ -752,18 +752,16 @@ PMoutofScreen .proc ;-------------------------------------------------- ldx #$3f lda #$0 -loop05 - sta TanksWeapon1,x - sta TanksWeapon2,x - sta TanksWeapon3,x - sta TanksWeapon4,x - sta TanksWeapon5,x - sta TanksWeapon6,x - dex - bne @+ - lda #99 - bne loop05 -@ bpl loop05 +@ + sta TanksWeapon1,x + sta TanksWeapon2,x + sta TanksWeapon3,x + sta TanksWeapon4,x + sta TanksWeapon5,x + sta TanksWeapon6,x + dex + sne:lda #99 + bpl @- rts .endp diff --git a/scorch.xex b/scorch.xex index db01e42a4770117d0254752caf94a2765352b69b..55e48a4650e1c0fc4aa80009f233e50892e75faa 100644 GIT binary patch delta 12317 zcmb7q3t$vgvi8j69YQkUIr3~^S2zAFWL?BrQ3-+)U_jnzqG0FM5J@`B zr28~vaC8{xkY>|iA`i{#c=2k0iH2=;*LzuiT-Hmni6+_k6(8KIaKFQ0T@4b?cJAE+Qq_x^+ zJj!fJr+p*d5g&O|wD?boJKquACq@4;ap#+&`xt$>cvf^US}gi5Hj9oyR=oV!97g)_ zEJd$vy6h4pF#Jgw$R84I7p5qNqwa04wo7BQ@4Zn(r}l?ZnfQI@;E78RrWs>tk~?(RdH%uQhUl}J@Oki$ge zGO3$9-v}=}Fq%EFLD!cnw|fjFvvqC%A_k4;n#|vwHu)@JfEEe$?dn&eWoN7CZWZn7 zVX-++beO^Ru&4}yoXq!YY+I&Pm-}l(uI#A)V^NE+jh+UJCP@At^Y}9+YQ-ex+&1R& zbmq$}CjL2_I+bBhrZXSS?>a0pwaWmlF8l0bk*QdyjwZoH;Qfrmuaubg(+`)Sp}3e2 zGHWeFi>@x)@9szBGVVzCjLAnhiZY3)E2UrrGisyWY2eD3zKdGRXq? zK}Z&+zlh_GbEmugq&I}EAf_d2HLlh$&%obrfN3|zS~2>R-lxg-Xo z{IFL_llg1gZ>M%k%oSIc`Nt5hz@I|6LjQQe6)8sM^K{$!shFpVtu7cXWK5P?v+FBS zi3UqG{-eM|$JM|l-#7dgSM638v&; zfjXD}te9nhhrvqC7eq%?=LOMhg13Gw?n$pMv-sZ;Dc(Dx|4oYbrnv5?9gLet65sdy zPy+de5q>z~N07v!WZbYj{8BN-7=xp%ilK8T(P=tCGYqtyARJDgBfvnI^x$ZAz2vTy z+#Qm8>^}GUeeT+QO`1trW&XQepLPCA!q?+I1g_*#BKdtT(QPn*>5^Z0j6>eW2{-%aX&=kf2F)c?t�Ea{PgtWyxK)$+zrBV% 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 ND|(K9RhrS~e*q6IAwvKF delta 12356 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 From 853a597daf18f85d3b88150fec69ade543077de7 Mon Sep 17 00:00:00 2001 From: pkali Date: Sun, 5 Jun 2022 02:40:07 -0400 Subject: [PATCH 17/22] almost done #74 --- constants.asm | 30 ++++++---------- scorch.asm | 94 ++++++++++++++++++++++++-------------------------- scorch.xex | Bin 37962 -> 38212 bytes textproc.asm | 66 ++++++++++++++++++++++++++++++++++- variables.asm | 94 ++++++++++++++++++++++++++------------------------ weapons.asm | 27 +++++++++------ 6 files changed, 187 insertions(+), 124 deletions(-) diff --git a/constants.asm b/constants.asm index 83e2372..99c6f47 100644 --- a/constants.asm +++ b/constants.asm @@ -23,7 +23,6 @@ RoundsTable .by 10,20,30,40,50 flyDelayTable .by 255,150,75,35,1 seppukuTable .by 255, 45,25,15,9 ;------------------------------------------------ - LevelNameBeginL ; begins of level names .by TanksWeapon1,>TanksWeapon2,>TanksWeapon3,>TanksWeapon4,>TanksWeapon5,>TanksWeapon6 -;-----4x4 texts----- +;-----4x4 texts----- LineTop - dta d"(%%%%%%%%%%%%)" - .byte $ff + dta d"(%%%%%%%%%%%%)", $ff ;# - vertical, () * +, % - horizontal LineBottom - dta d"*%%%%%%%%%%%%+" - .byte $ff + dta d"*%%%%%%%%%%%%+", $ff LineEmpty - dta d"# #" - .byte $ff + dta d"# #", $ff LineHeader2 - dta d"# RESULTS #" - .byte $ff + dta d"# RESULTS #", $ff LineGameOver - dta d"# GAME OVER #" - .byte $ff + dta d"# GAME OVER #", $ff seppukuText - dta d"# SEPPUKU! #" - .byte $ff + dta d"# SEPPUKU! #", $ff +areYouSureText + dta d"# SURE? Y/N #", $ff lineClear - dta d" " - .byte $ff - + dta d" ", $ff ;----------- pmtableL ; addressess of the P/M memory for 5 tanks (6th is without P/M background) @@ -541,8 +534,8 @@ EndOfTheBarrelY .by 7,7,7,7,7,7,7,7,7 .by 7,7,7,7,7,7,7,7,7,7 .by 7,7,7,7,7,7,7,7,7,7,7 -;------------------------------------------------- +;------------------------------------------------- TanksNamesDefault dta d"1st.Tank" dta d"2nd.Tank" @@ -551,7 +544,6 @@ TanksNamesDefault dta d"5th.Tank" dta d"6th.Tank" - WeaponPriceH ; weapons prices (tables with prices of weapons) .by >price_Baby_Missile___ .by >price_Missile________ diff --git a/scorch.asm b/scorch.asm index 6cb6252..a067669 100644 --- a/scorch.asm +++ b/scorch.asm @@ -98,6 +98,7 @@ icl 'lib/atari.hea' icl 'lib/macro.hea' + ;splash screen and musix icl 'artwork/HIMARS14.asm' ;Game loading address ORG $3000 @@ -117,13 +118,14 @@ START ; Startup sequence jsr Initialize - - jsr Options ;startup screen lda escFlag bne START jsr EnterPlayerNames + lda escFlag + bne START + jsr RandomizeSequence ; for the round #1 shooting sequence is random @@ -144,6 +146,9 @@ MainGameLoop jsr RoundInit jsr MainRoundLoop + lda escFlag + bne START + mva #0 TankNr ; jsr SortSequence @@ -248,51 +253,46 @@ skipzeroing ; the shooting angle is randomized ; of course gains an looses are zeroed - ;jsr StatusDisplay lda #0 tax -@ - sta singleRoundVars,x - inx - cpx #(singleRoundVarsEnd-singleRoundVars) +@ sta singleRoundVars,x + inx + cpx #(singleRoundVarsEnd-singleRoundVars) bne @- ldx #(MaxPlayers-1) SettingEnergies - lda #$00 - sta gainL,x - sta gainH,x - sta looseL,x - sta looseH,x - lda #99 - sta Energy,x - sta eXistenZ,x - sta LASTeXistenZ,x - ; anything in eXistenZ table means that this tank exist - ; in the given round - lda #<1000 - sta MaxForceTableL,x - lda #>1000 - sta MaxForceTableH,x - lda #<350 - sta ForceTableL,x - lda #>350 - sta ForceTableH,x - - ;lda #(255-45) - ;it does not look good when all tanks have - ;barrels pointing the same direction - ;so it would be nice to have more or less random - ;angles - jsr RandomizeAngle - sta AngleTable,x - - - dex + lda #$00 + sta gainL,x + sta gainH,x + sta looseL,x + sta looseH,x + lda #99 + sta Energy,x + sta eXistenZ,x + sta LASTeXistenZ,x + ; anything in eXistenZ table means that this tank exist + ; in the given round + lda #<1000 + sta MaxForceTableL,x + lda #>1000 + sta MaxForceTableH,x + lda #<350 + sta ForceTableL,x + lda #>350 + sta ForceTableH,x + + ;lda #(255-45) + ;it does not look good when all tanks have + ;barrels pointing the same direction + ;so it would be nice to have more or less random + ;angles + jsr RandomizeAngle + sta AngleTable,x + + dex bpl SettingEnergies - mva #0 CurrentResult - ;generating the new landscape jsr PMoutofScreen ;let P/M disappear jsr clearscreen ;let the screen be clean @@ -344,8 +344,7 @@ WhichTankWonLoop bne ThisOneWon dex bpl WhichTankWonLoop - ;error here!!! - ;stop + ;error was here!!! ; somehow I believed program will be never here ; but it was a bad assumption ; god knows when there is such a situation @@ -409,6 +408,8 @@ ManualShooting jsr WaitForKeyRelease jsr BeforeFire + lda escFlag + seq:rts AfterManualShooting inc noDeathCounter @@ -768,16 +769,12 @@ PMoutofScreen .proc ;-------------------------------------------------- .proc Initialize ;Initialization sequence +;uses: temp, ... ;-------------------------------------------------- deletePtr = temp - lda #0 - sta Erase - sta tracerflag - sta GameIsOver - sta escFlag - ; clean variables + lda #0 tay mwa #variablesStart deletePtr @ tya @@ -1185,7 +1182,8 @@ nextishigher .endp ;-------------------------------------------------- -.proc getkey ; waits for pressing a key and returns pressed value in A +.proc GetKey ; waits for pressing a key and returns pressed value in A +; when [ESC] is pressed, escFlag is set to 1 ;-------------------------------------------------- jsr WaitForKeyRelease @ diff --git a/scorch.xex b/scorch.xex index 55e48a4650e1c0fc4aa80009f233e50892e75faa..28e21bebe331d4095e9f170df1908fb5bf6b89fc 100644 GIT binary patch delta 13696 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 128 : <20203 : >20203 -;----------------------------------- +;---------------------------------------------------- L1 .DS 1 ; variable used in multiplications (by 10:) gravity .DS 1 ;only the decimal part (1/10 = 25) -;----------------------------------- +;---------------------------------------------------- Wind .ds 4 ;format: 0000.hhll ;walue displayed on the screen is ;decimal portion divided by 16 (>>4) -;----------------------------------- +;---------------------------------------------------- MaxWind .ds 1 ; WindOrientation .DS 1 ;(0-right,1-left) -;----------------------------------- +;---------------------------------------------------- Counter .DS 1 ;temporary Counter for outside loops HitFlag .DS 1 ;1 when missile hit anything -;----------------------------------- +;---------------------------------------------------- xtankstableL ;X positions of tanks (lower left point) .DS [MaxPlayers] xtankstableH @@ -131,17 +124,17 @@ ytankstable ;Y positions of tanks (lower left point) .DS [MaxPlayers] LowResDistances ; coarse tank positions divided by 4 (to be in just one byte) .DS [MaxPlayers] -;----------------------------------- +;---------------------------------------------------- Erase .DS 1 ; if 1 only mask of the character is printed ; on the graphics screen. if 0 character is printed normally -;----------------------------------- +;---------------------------------------------------- RangeLeft .DS 2 ;range of the soil to be fallen down RangeRight .DS 2 ;it is being set by all Explosions -;----------------------------------- +;---------------------------------------------------- WeaponRangeLeft .DS 2 ;Range of the Explosion of the given weapon WeaponRangeRight .DS 2 -;-------------------------------------------------- +;---------------------------------------------------- ;xroller HowMuchToFall .ds 1 HeightRol .DS 1 @@ -181,7 +174,7 @@ IfFallDown .DS 1 PreviousFall .DS 1 EndOfTheFallFlag .DS 1 ; in case of the infinite fall Parachute .DS 1 ; are you insured with parachute? -; ------------------------------------------------- +;---------------------------------------------------- ;Flight ;variables for 5 missiles (used for mirv) xtraj00 .DS [5] ; 3 bytes of xtraj times 5. Lowest byte @@ -196,7 +189,7 @@ MirvMissileCounter .DS 1 ; missile Counter (mainly for X) SmokeTracerFlag .DS 1 ; if Smoketracer XposFlag .DS 1 ; bullet positon X (0 - on screen , %1000000 - off-screen) YposFlag .DS 1 ; bullet positon Y (0 - on screen , %1000000 - over the screen , %0100000 - under the screen) -; ------------------------------------------------- +;---------------------------------------------------- ;CheckCollisionWithTank vx .ds 4 ; 0,0,0,0 ;two decimal bytes, two whole bytes (DC.BA) vy .ds 4 ;0,0,0,0 @@ -209,10 +202,10 @@ Force .ds 3 ; 0,0,0 Multiplier .ds 3 ; 0,0,0 Multiplee .ds 2 ; 0,0 goleft .DS 1 ;if 1 then flights left -;-------------------------------------------------- +;---------------------------------------------------- ;SoilDown2 IsEndOfTheFallFlag .DS 1 -; ------------------------------------------------- +;---------------------------------------------------- ;unPlot WhichUnPlot .DS 1 ; max 5 concurrent unPlots @@ -226,7 +219,7 @@ xtrajfb .DS 2 ytrajfb .DS 2 ; tracerflag .DS 1 -; ------------------------------------------------- +;---------------------------------------------------- ;TypeChar mask1 .DS [8] mask2 .DS [8] @@ -244,7 +237,7 @@ UpNdown .DS 1 temptankX .DS 2 temptankNr .DS 1 -; ------------------------------------------------- +;---------------------------------------------------- ;Variables from textproc.s65 ; tables with numbers of weapons on the right lists ; to be honest - I do not know at the moment what the above @@ -254,7 +247,7 @@ NubersOfWeaponsL1 .ds 8*5 ; :(8*5) .by $ff NubersOfWeaponsL2 .ds 8*2 ; :(8*2) .by $ff -; ------------------------------------------------- +;---------------------------------------------------- ; variables storing amount of weapons on the first and second ; list and pointer position @@ -277,14 +270,14 @@ WhichList ; list currently on the screen OffsetDL1 ; offset of the list screen (how many lines).... .DS 1 -; ------------------------------------------------- +;---------------------------------------------------- ;mark the level PositionInName ; cursor position in name of the player when name input .DS 1 DifficultyLevel ; Difficulty Level (human/cpu) .DS 1 -;------------------------------------------------- +;---------------------------------------------------- ;displaydecimal decimal .DS 2 decimalresult .DS 4 @@ -299,7 +292,7 @@ FallDown2 .DS 1 LeapFrogAngle .DS 1 ;laser LaserCoordinate .DS 8 ; 2,2,2,2 -; ------------------------------------------------- +;---------------------------------------------------- ; Here go tables with weapons possesed by a given tank ; Index in the table means weapon type ; number entered means ammo for given weapon possessed (max 99) @@ -326,7 +319,7 @@ mountaintable2 ;table of mountains (size=screenwidth) .DS [screenwidth] .DS 1 ; additional byte for fallout (sometimes 1 pixel) MountaintableEnd ;good for table clearing -;---------------------------------------------- +;---------------------------------------------------- TextPositionX .DS 2 TextPositionY .DS 1 TextAddress .DS 2 @@ -335,8 +328,16 @@ TextNumberOff .DS 1 ;-------------- TankTempY .DS 1 +;---------------------------------------------------- ;-------------- single round variables -------------- +;---------------------------------------------------- singleRoundVars +;-------------- +escFlag .ds 1 +;-------------- +CurrentResult + .DS 1 +;-------------- previousAngle .DS [MaxPlayers] previousEnergyL @@ -354,9 +355,9 @@ RandBoundaryHigh AngleTablePointer .DS 1 singleRoundVarsEnd -;---------------------------------------------- +;---------------------------------------------------- ; 4x4 texts -;---------------------------------------------- +;---------------------------------------------------- LineAddress4x4 .DS 2 LineCharNr @@ -374,8 +375,9 @@ ResultY ResultOfTankNr .DS 1 -;---------------------------- +;---------------------------------------------------- ;PutChar4x4 +;---------------------------------------------------- LoopCounter4x4 .DS 1 y4x4 .DS 1 StoreA4x4 .DS 1 @@ -387,6 +389,6 @@ plot4x4color .DS 1 ;1-white, 0-background variablesEnd -;---------------------------- +;---------------------------------------------------- .endif diff --git a/weapons.asm b/weapons.asm index 76623f6..ba6da9e 100644 --- a/weapons.asm +++ b/weapons.asm @@ -1016,7 +1016,17 @@ notpressed beq checkJoy lda kbcode - and #$Bf + and #%10111111 ; SHIFT elimination + + cmp #28 ; ESC + bne @+ + jsr AreYouSure + lda escFlag + beq notpressed + ;---esc pressed-quit game--- + rts + +@ cmp #$8e jeq CTRLPressedUp cmp #$8f @@ -1104,9 +1114,9 @@ pressedDown dec ForceTableH,x bpl @+ ForceGoesZero - lda #0 - sta ForceTableH,x - sta ForceTableL,x + lda #0 + sta ForceTableH,x + sta ForceTableL,x @ jmp BeforeFire @@ -1571,17 +1581,14 @@ RepeatIfSmokeTracer tax sta Angle - ; - mva #1 goleft ; and now we contine as if nothing happened ; (but we have goleft set to 1!!!) - bne dontzerogoleft + mva #1 goleft + bne @+ FlightRight mva #0 goleft - -dontzerogoleft - +@ lda sintable,x ;sin(Angle) sta Multiplee ;sin(Angle)*Force mwa Force Multiplier From 079abc062ff67be4c9ec0f376e29e4e9cf0bbfea Mon Sep 17 00:00:00 2001 From: pkali Date: Sun, 5 Jun 2022 03:17:34 -0400 Subject: [PATCH 18/22] done for now #74 --- scorch.asm | 10 +++++++++- scorch.xex | Bin 38212 -> 38228 bytes 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/scorch.asm b/scorch.asm index a067669..9cb7536 100644 --- a/scorch.asm +++ b/scorch.asm @@ -394,12 +394,20 @@ DoNotFinishTheRound lda SkillTable,x beq ManualShooting -RoboTanks +RoboTanks ; robotanks shoot here jsr ArtificialIntelligence jsr MoveBarrelToNewPosition jsr DisplayStatus ;all digital values like force, angle, wind, etc. jsr PutTankNameOnScreen + lda kbcode + cmp #28 ; ESC + bne @+ + jsr AreYouSure + lda escFlag + seq:rts +@ + ; let's move the tank's barrel so it points the right ; direction jmp AfterManualShooting diff --git a/scorch.xex b/scorch.xex index 28e21bebe331d4095e9f170df1908fb5bf6b89fc..c3b664a302ed42edb176158abeb03ca7bbe5573a 100644 GIT binary patch delta 12756 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 K{{7;@UjGN-3hN#K From 743114fd0df7b9e6b015d64614652df8611357ac Mon Sep 17 00:00:00 2001 From: pkali Date: Sun, 5 Jun 2022 09:33:28 -0400 Subject: [PATCH 19/22] some code size optimizations --- scorch.asm | 6 ++--- scorch.xex | Bin 38228 -> 38082 bytes textproc.asm | 65 +++++++++++++++++++++------------------------------ 3 files changed, 30 insertions(+), 41 deletions(-) diff --git a/scorch.asm b/scorch.asm index 9cb7536..f114474 100644 --- a/scorch.asm +++ b/scorch.asm @@ -403,9 +403,9 @@ RoboTanks lda kbcode cmp #28 ; ESC bne @+ - jsr AreYouSure - lda escFlag - seq:rts + jsr AreYouSure + lda escFlag + seq:rts @ ; let's move the tank's barrel so it points the right diff --git a/scorch.xex b/scorch.xex index c3b664a302ed42edb176158abeb03ca7bbe5573a..32f22e1ae438cf776686196da218074411f5aa55 100644 GIT binary patch delta 12198 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 delta 12404 zcmb_ieP9$-lAoD;$AkjlAsr{6>&A6l6oQ$Y35{|nd+NDh0`W{7B?z7h_j^5)4-`)SxDe9) z>Q&XNS5>cGy?XtwVme-9@~@v_DijZFm~zyZ_^d}e&&ZFd&w7OWrcN4%W!CO|!aIOBm2_Tp7aG zinh;YDTW&Fv!1h`kJBzz#sD7!VTcprG_NKqk9j{4y{AQQhp3$O#t|jTn@p5t-XBE8 z=rt0C%<~Q=&E{q*Jb8k-^aL~UDdE{^H?glisn3fmxBCpm_vy1bEryIu&E^XSO@2!R zphY*EFWObsV=4Gr^nNYcRaI;$6kTQrsEW!62*{j!-1gj@s`5a+$d%OuJ`uGj+w?im zT&fhfn8zP6L0h3Q%%M%pxp_?c8YX6~n(#r8yWjnnih+M|)?Xj1< zm!l}NiMmD#MKRZ}*E^|ACoF0&lgnECtf+NUtUgwiF_0aa>C-hsD)3cJOT(Py8488wupQiSXkHe=`|yBbjs)xg-4O|Cfqk z42`uahRz#_PSXjRn?TzM!g2I@Gi4w=bjMhBgXDcp@^(w!DLcIzc6wji*{qqA$INH! zilJKB$GH`etJvvwx4Sh{dxcyP^k~ttJNTOR-;l)TQKI?X9_2Fsh{W5d4pJrN^4*FF z&Z;Ew@0pY|zS~q8t(d)^5&Sucp}l8`a@l(t#_v%6!p8|0?zn~hHjh7OQqSe_@0ir? zJpNsidOnXoWKzG&qdW|J^l>a#BV4N4{6Ce3?N~l%KabTeVmvJH5TD_L1hrzN!RJ>D zjNxV9q{?|pEVJYbd-~4wJ+C!f%Bvle|K*oo^24-pi`M?y>gv@q)A_{Xkkg_;PT{3H z2V~ZYX#*0gD-Ga~^0Lm4iFz5BHLGpQzo3KG>w{jfR~o2(YH4EwUD@p&yqeaX`(_}kUp;g%0A*T=GeAR|AIAQMO?pBk|a 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 L2Uc&(yzYMi3V*C5 diff --git a/textproc.asm b/textproc.asm index 75a2cd4..6721f5a 100644 --- a/textproc.asm +++ b/textproc.asm @@ -1395,10 +1395,9 @@ EndOfTypeLine4x4 adb ResultY #4 ;next line ;bottom frame - mwa #LineBottom LineAddress4x4 - mwa #((ScreenWidth/2)-(8*4)) LineXdraw ; centering mva ResultY LineYdraw - jsr TypeLine4x4 + jsr TL4x4_bottom ; just go + jsr GetKey cmp #$2b ; "Y" @@ -1461,10 +1460,8 @@ seppuku_loop adb ResultY #4 ;next line ;bottom frame - mwa #LineBottom LineAddress4x4 - mwa #((ScreenWidth/2)-(8*4)) LineXdraw ; centering mva ResultY LineYdraw - jsr TypeLine4x4 + jsr TL4x4_bottom ; just go ;clean seppuku @@ -1496,17 +1493,16 @@ quit_seppuku ;using 4x4 font mva #sfx_smoke_cloud sfx_effect - + mva #1 plot4x4color + ;centering the result screen - mwa #((ScreenWidth/2)-(8*4)) ResultX mva #((ScreenHeight/2)-(8*4)) ResultY ;upper frame mwa #LineTop LineAddress4x4 - mwa ResultX LineXdraw + mwa #((ScreenWidth/2)-(8*4)) LineXdraw mva ResultY LineYdraw - mva #1 plot4x4color jsr TypeLine4x4 adb ResultY #4 ;next line @@ -1522,17 +1518,15 @@ quit_seppuku jsr displaybyte ;decimal (byte), displayposition (word) mwa #LineHeader1 LineAddress4x4 - mwa ResultX LineXdraw + mwa #((ScreenWidth/2)-(8*4)) LineXdraw mva ResultY LineYdraw - mva #1 plot4x4color jsr TypeLine4x4 beq @+ ;unconditional jump, because TypeLine4x4 ends with beq GameOver4x4 mwa #LineGameOver LineAddress4x4 - mwa ResultX LineXdraw + mwa #((ScreenWidth/2)-(8*4)) LineXdraw mva ResultY LineYdraw - mva #1 plot4x4color jsr TypeLine4x4 mva #1 GameIsOver @@ -1540,30 +1534,23 @@ GameOver4x4 adb ResultY #4 ;next line ;Empty line - mwa #LineEmpty LineAddress4x4 - mwa ResultX LineXdraw mva ResultY LineYdraw - mva #1 plot4x4color - jsr TypeLine4x4 + jsr TL4x4_empty adb ResultY #2 ;next line ;Header2 mwa #LineHeader2 LineAddress4x4 - mwa ResultX LineXdraw + mwa #((ScreenWidth/2)-(8*4)) LineXdraw mva ResultY LineYdraw - mva #1 plot4x4color jsr TypeLine4x4 adb ResultY #4 ;next line ;Empty line - mwa #LineEmpty LineAddress4x4 - mwa ResultX LineXdraw mva ResultY LineYdraw - mva #1 plot4x4color - jsr TypeLine4x4 + jsr TL4x4_empty sbb ResultY #2 ;next line (was empty) @@ -1628,24 +1615,17 @@ TankNameCopyLoop ;result line display mwa #ResultLineBuffer LineAddress4x4 - mwa ResultX LineXdraw + mwa #((ScreenWidth/2)-(8*4)) LineXdraw mva ResultY LineYdraw - mva #1 plot4x4color jsr TypeLine4x4 adb ResultY #4 ;next line ;Empty line - mwa #LineEmpty LineAddress4x4 - mwa ResultX LineXdraw mva ResultY LineYdraw - mva #1 plot4x4color - jsr TypeLine4x4 - - + jsr TL4x4_empty dec ResultOfTankNr - bmi FinishResultDisplay sbb ResultY #2 ;distance between lines is smaller @@ -1653,16 +1633,25 @@ TankNameCopyLoop jmp ResultOfTheNextPlayer FinishResultDisplay + mva ResultY LineYdraw + ;jmp TL4x4_bottom ; just go +.endp +.proc TL4x4_bottom ;bottom of the frame mwa #LineBottom LineAddress4x4 - mwa ResultX LineXdraw - mva ResultY LineYdraw - mva #1 plot4x4color - jsr TypeLine4x4 - rts + mwa #((ScreenWidth/2)-(8*4)) LineXdraw + jmp TypeLine4x4 ; jsr:rts .endp +.proc TL4x4_empty + ;empty frame + mwa #LineEmpty LineAddress4x4 + mwa #((ScreenWidth/2)-(8*4)) LineXdraw + jmp TypeLine4x4 ; jsr:rts +.endp + + ;------------------------------------------------- .proc DisplayStatus ;------------------------------------------------- From d8bfda28a07a4b8cb83fc78d26fc8d7b9082198f Mon Sep 17 00:00:00 2001 From: pkali Date: Sun, 5 Jun 2022 21:36:38 -0400 Subject: [PATCH 20/22] code size opts --- scorch.xex | Bin 38082 -> 38040 bytes textproc.asm | 24 +++++++++++------------- 2 files changed, 11 insertions(+), 13 deletions(-) diff --git a/scorch.xex b/scorch.xex index 32f22e1ae438cf776686196da218074411f5aa55..fa337026a94b4a31108f0759dfd2d7c7aba2427a 100644 GIT binary patch delta 12114 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 Ygnz}a#T877j=ETCB(Kfd{;OO54+~?;&Hw-a diff --git a/textproc.asm b/textproc.asm index 6721f5a..eb7cd72 100644 --- a/textproc.asm +++ b/textproc.asm @@ -1346,11 +1346,9 @@ DOTNcharloop ldy #0 sty LineCharNr - TypeLine4x4Loop ldy LineCharNr - mwa LineAddress4x4 temp lda (temp),y cmp #$ff @@ -1381,10 +1379,8 @@ EndOfTypeLine4x4 mva #4 ResultY ; where seppuku text starts Y-wise on the screen ;top frame - mwa #LineTop LineAddress4x4 - mwa #((ScreenWidth/2)-(8*4)) LineXdraw ; centering mva ResultY LineYdraw - jsr TypeLine4x4 + jsr TL4x4_top adb ResultY #4 ;next line ;seppuku @@ -1396,7 +1392,7 @@ EndOfTypeLine4x4 ;bottom frame mva ResultY LineYdraw - jsr TL4x4_bottom ; just go + jsr TL4x4_bottom jsr GetKey @@ -1446,10 +1442,8 @@ seppuku_loop mva #4 ResultY ; where seppuku text starts Y-wise on the screen ;top frame - mwa #LineTop LineAddress4x4 - mwa #((ScreenWidth/2)-(8*4)) LineXdraw ; centering mva ResultY LineYdraw - jsr TypeLine4x4 + jsr TL4x4_top adb ResultY #4 ;next line ;seppuku @@ -1468,7 +1462,6 @@ seppuku_loop mva #3 dx mva #4 ResultY @ - mva #1 plot4x4color mwa #lineClear LineAddress4x4 mwa #((ScreenWidth/2)-(8*4)) LineXdraw ; centering mva ResultY LineYdraw @@ -1500,10 +1493,8 @@ quit_seppuku ;upper frame - mwa #LineTop LineAddress4x4 - mwa #((ScreenWidth/2)-(8*4)) LineXdraw mva ResultY LineYdraw - jsr TypeLine4x4 + jsr TL4x4_top adb ResultY #4 ;next line @@ -1651,6 +1642,13 @@ FinishResultDisplay jmp TypeLine4x4 ; jsr:rts .endp +.proc TL4x4_top + ;bottom of the frame + mwa #LineTop LineAddress4x4 + mwa #((ScreenWidth/2)-(8*4)) LineXdraw + jmp TypeLine4x4 ; jsr:rts +.endp + ;------------------------------------------------- .proc DisplayStatus From a9703609b6140ca8d063a76660c1029704cf255b Mon Sep 17 00:00:00 2001 From: pkali Date: Mon, 6 Jun 2022 00:01:02 -0400 Subject: [PATCH 21/22] bad tanksequence fix #47 --- scorch.asm | 73 ++++++++++++++++++++++----------------------------- scorch.xex | Bin 38040 -> 38040 bytes textproc.asm | 22 ++++++---------- 3 files changed, 39 insertions(+), 56 deletions(-) diff --git a/scorch.asm b/scorch.asm index f114474..784ce0d 100644 --- a/scorch.asm +++ b/scorch.asm @@ -126,7 +126,7 @@ START lda escFlag bne START - jsr RandomizeSequence + jsr RandomizeSequence0 ; for the round #1 shooting sequence is random MainGameLoop @@ -354,7 +354,6 @@ WhichTankWonLoop ; second tank explodes and kills the first one. ; and code lands here... ; looks like no one won! - rts ThisOneWon @@ -376,7 +375,6 @@ DoNotFinishTheRound jsr DisplaySeppuku jmp Seppuku - ;ldx TankNr @ ldx TankSequencePointer lda TankSequence,x @@ -447,6 +445,7 @@ continueMainRoundLoopAfterSeppuku AfterExplode + ; TODO: IS IT OK??? possibly a fix here needed for #56 ldy WeaponDepleted bne @+ ldx TankNr @@ -484,11 +483,8 @@ missed jsr DisplayOffensiveTextNr NextPlayerShoots - ;mva #1 Erase - ;jsr drawtanks - - ;before it shoots, the eXistenZ table must be - ;updated accordingly to actual energy (was forgotten, sorry to ourselves) + ;before it shoots, the eXistenZ table must be updated + ;accordingly to actual energy (was forgotten, sorry to ourselves) ldx #(MaxPlayers-1) SeteXistenZ @@ -499,7 +495,7 @@ SeteXistenZ ;DATA L1,L2 ;Multiplication 8bit*8bit, ;result 16bit - ;this algiorithm is a little longer than in Ruszczyc 6502 book + ;this algiorithm is a little longer than one in Ruszczyc 6502 book ;but it is faster LDy #8 @@ -524,13 +520,6 @@ B0 DEY ;was setup of maximum energy for players - ;mva #0 Erase - ;jsr drawtanks - - inc:lda TankSequencePointer - cmp NumberOfPlayers - bne PlayersAgain - mva #0 TankSequencePointer PlayersAgain @@ -562,27 +551,14 @@ NoPlayerNoDeath dex bpl CheckingPlayersDeath ; if processor is here it means there are no more explosions + + inc:lda TankSequencePointer + cmp NumberOfPlayers + sne:mva #0 TankSequencePointer + jmp MainRoundLoop .endp -;--------------------------------- -.proc Seppuku - lda #0 - sta FallDown1 - sta FallDown2 - sta ydraw+1 - ; get position of the tank - ldx TankNr - lda xtankstableL,x - sta xdraw - lda xtankstableH,x - sta xdraw+1 - lda yTanksTable,x - sta ydraw - lda #1 ; Missile - jsr ExplosionDirect - jmp MainRoundLoop.continueMainRoundLoopAfterSeppuku -.endp ;--------------------------------- .proc PlayerXdeath @@ -619,7 +595,7 @@ NoPlayerNoDeath ldy TankTempY mva TankNr temp2 ; not elegant, and probably unnecessary sty TankNr - jsr FlashTank ; blinkink and pausing (like PAUSE 72 - 18x(2+2) ) + jsr FlashTank ; blinking and pausing (like PAUSE 72 - 18x(2+2) ) mva temp2 TankNr ;Deffensive text cleanup @@ -642,7 +618,7 @@ NoPlayerNoDeath sbc #4 sta ydraw lda #0 - sta ydraw+1 ; there is 0 left in A, so... TODO: bad code above. revisit when transitioning ydraw to byte + sta ydraw+1 ; there is 0 left in A, so... TODO: bad code above. revisit ;cleanup of the soil fall down ranges (left and right) sta RangeRight @@ -651,12 +627,9 @@ NoPlayerNoDeath sta FallDown2 mwa #screenwidth RangeLeft - - ; We are randomizing the weapon now. ; jumping into the middle of the explosion ; routine - MetodOfDeath lda random and #%00011111 ; range 0-31 @@ -667,13 +640,10 @@ MetodOfDeath jsr ExplosionDirect mva #sfx_silencer sfx_effect - ; jump to after explosion routines (soil fallout, etc.) ; After going through these routines we are back ; to checking if a tank exploded and maybe we have ; a deadly shot here again. - - jmp MainRoundLoop.AfterExplode .endp @@ -717,6 +687,25 @@ NotNegativeEnergy rts .endp +;--------------------------------- +.proc Seppuku + lda #0 + sta FallDown1 + sta FallDown2 + sta ydraw+1 + ; get position of the tank + ldx TankNr + lda xtankstableL,x + sta xdraw + lda xtankstableH,x + sta xdraw+1 + lda yTanksTable,x + sta ydraw + lda #1 ; Missile + jsr ExplosionDirect + jmp MainRoundLoop.continueMainRoundLoopAfterSeppuku +.endp + ;-------------------------------------------------- GetRandomWind .proc ;in: MaxWind (byte) diff --git a/scorch.xex b/scorch.xex index fa337026a94b4a31108f0759dfd2d7c7aba2427a..c586896a81233cec8ac1cb101154f47fcafe6782 100644 GIT binary patch delta 161 zcmbQSl4-_DrVRmRjG>zY&E_#OWw}oNX#PfZrC9HWDeJyWIki`J>Ic@n>Qg@mpAz`| ztY>M@*)LNru&iWg?eVdgtZI2@GP9-fW=5-YPDZWCna(YYTASZF>#*@^xvo7sRg>)k z>#}YItt6M#A2d%1eD<+$o_x70zdlQW%L7=1UtbJk(w^>tl)cB&@Z z1=eNV3cj1wy_yA?gtI2EiQWaGGGeBJsQ)nqOn)*b7si@_sFktPL6lRR{^X80vB?E- L;+yBi{W1jr^WH`} diff --git a/textproc.asm b/textproc.asm index eb7cd72..f48bd10 100644 --- a/textproc.asm +++ b/textproc.asm @@ -1635,13 +1635,6 @@ FinishResultDisplay jmp TypeLine4x4 ; jsr:rts .endp -.proc TL4x4_empty - ;empty frame - mwa #LineEmpty LineAddress4x4 - mwa #((ScreenWidth/2)-(8*4)) LineXdraw - jmp TypeLine4x4 ; jsr:rts -.endp - .proc TL4x4_top ;bottom of the frame mwa #LineTop LineAddress4x4 @@ -1649,16 +1642,17 @@ FinishResultDisplay jmp TypeLine4x4 ; jsr:rts .endp +.proc TL4x4_empty + ;empty frame + mwa #LineEmpty LineAddress4x4 + mwa #((ScreenWidth/2)-(8*4)) LineXdraw + jmp TypeLine4x4 ; jsr:rts +.endp ;------------------------------------------------- .proc DisplayStatus ;------------------------------------------------- - ;lda noDeathCounter - ;sta decimal - ;mwa #textbuffer+80+37 displayposition - ;jsr displaybyte - ;--------------------- ;displaying symbol of the weapon ;--------------------- @@ -1762,7 +1756,6 @@ AngleDisplay mwa #textbuffer+40+21 displayposition jsr displaybyte - ;========================= ;display Wind ;========================= @@ -1793,8 +1786,9 @@ DisplayWindValue mwa #textbuffer+80+26 displayposition jsr displaybyte - + ;========================= ;display round number + ;========================= lda CurrentRoundNr sta decimal mwa #textbuffer+80+14 displayposition From afd81c08c3fde66e3f2e33f6611fc7691d220fe5 Mon Sep 17 00:00:00 2001 From: pkali Date: Mon, 6 Jun 2022 00:23:02 -0400 Subject: [PATCH 22/22] build 143 --- README.md | 10 ++++++++++ scorch.asm | 4 ++-- scorch.xex | Bin 38040 -> 38040 bytes 3 files changed, 12 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 2806055..c543969 100644 --- a/README.md +++ b/README.md @@ -47,6 +47,16 @@ With the advent of fujinet (https://fujinet.online/) we are thinking about makin ## Changes: +###### Build 143 +2022-06-05 +Rewrite build. We redone several important parts of the game to allow for bug fixes and requested features. Generally it was a great success, but some new bugs appeared. This build is nice for the eye, but beware, no mercy for testers again :) +Only visible changes listed, because you are possibly not as excited as we are for the new Flight routine and ground collisions by @Pecusx. +- https://github.com/pkali/scorch_src/issues/84, https://github.com/pkali/scorch_src/issues/63 - tanks now say good bye properly! +- https://github.com/pkali/scorch_src/issues/74 - Press [ESC] to quit the game at any point, with a confirmation when the round has already started. Please note the keyboard is not checked all the time, so press it for a while, especially when AI tanks are ru(i/n)ning the show. +- https://github.com/pkali/scorch_src/issues/56 - there should be no occurrences of frivolous weapon purchases. Please report all tanks getting their munitions from uncertified sources! +- https://github.com/pkali/scorch_src/issues/47 - It seems that the bad sequence of turns has been ameliorated. Fix is trivial, finding the culprit - far from it. Please pay special attention to fairness of shooting in case the fix is still longing for the fjords. +- ATTRACT mode works how it should - screensaver saves screen only when HUMAN should input something. + ###### Build 142 2022-05-30 Late build. The bugs we tried to squelch turned out to be more difficult than usual. Some progress has been made though even if it is not yet visible. diff --git a/scorch.asm b/scorch.asm index 784ce0d..b472b0c 100644 --- a/scorch.asm +++ b/scorch.asm @@ -36,7 +36,7 @@ ;we decided it must go in 'English' to let other people work on it .macro build - dta d"142" ; number of this build (3 bytes) + dta d"143" ; number of this build (3 bytes) .endm icl 'definitions.asm' @@ -126,7 +126,7 @@ START lda escFlag bne START - jsr RandomizeSequence0 + jsr RandomizeSequence ; for the round #1 shooting sequence is random MainGameLoop diff --git a/scorch.xex b/scorch.xex index c586896a81233cec8ac1cb101154f47fcafe6782..bfbe522cf96a034a512d3041b667786e9ee0ce5b 100644 GIT binary patch delta 32 ocmbQSl4-_DrU`|N!jl<=!Z)5&(qt6g{6;f{hcR(;pqYCd0K38p>i_@% delta 32 ocmbQSl4-_DrU`|NLX#PV!Z)5&(qt6c{6;f{hcR?>pqYCd0J~NS-2eap