From 620bcf5aa863a1d84f7ac3a8327703b366b80e82 Mon Sep 17 00:00:00 2001 From: Pecusx Date: Wed, 18 May 2022 20:00:27 +0200 Subject: [PATCH 01/19] Small bugfix and optymalisation Bugfix in drawnountains (now ground 0 is possible: ) ) Otymized flight proc - explosions no wrap around screen - why? :) --- grafproc.asm | 9 ++++++--- scorch.asm | 2 +- scorch.xex | Bin 37716 -> 37700 bytes weapons.asm | 12 +++++++----- 4 files changed, 14 insertions(+), 9 deletions(-) diff --git a/grafproc.asm b/grafproc.asm index 85bce0f..5ab13bd 100755 --- a/grafproc.asm +++ b/grafproc.asm @@ -681,8 +681,11 @@ drawmountains .proc drawmountainsloop ldy #0 lda (modify),y + cmp #screenheight + beq NoMountain sta ydraw jsr DrawLine +NoMountain inw modify inw xdraw cpw xdraw #screenwidth @@ -941,14 +944,14 @@ EndDrawing ; **************************************************** ;-------------------------------------------------- calculatemountains0 .proc -; Only for testing - makes ground flat (one pixel) +; Only for testing - makes ground flat (0 pixels) ; and places tanks on it ; remember to remove in final compilation :) ;-------------------------------------------------- mwa #0 xdraw nextPointDrawing adw xdraw #mountaintable modify - lda #screenheight-1 + lda #screenheight ldy #0 sta (modify),y inw xdraw @@ -957,7 +960,7 @@ nextPointDrawing ldx NumberOfPlayers dex SetYofNextTank - lda #screenheight-2 + lda #screenheight-1 sta ytankstable,x dex bpl SetYofNextTank diff --git a/scorch.asm b/scorch.asm index 8d07d88..216272b 100644 --- a/scorch.asm +++ b/scorch.asm @@ -320,7 +320,7 @@ SettingEnergies jsr clearscreen ;let the screen be clean jsr placetanks ;let the tanks be evenly placed jsr calculatemountains ;let mountains be nice for the eye -; jsr calculatemountains0 ;only fort tests - makes mountains flat and one pixel height +; jsr calculatemountains0 ;only fort tests - makes mountains flat and 0 height jsr drawmountains ;draw them jsr drawtanks ;finally draw tanks diff --git a/scorch.xex b/scorch.xex index 9b982d53420abf1afaadfe50ba1c0dab8b167be9..97a61e330716e295415aa6299f1ef9ecd087cfc7 100644 GIT binary patch delta 12078 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 z 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 delta 12154 zcmbVy3w#tsw)adXZyp(5aR7l{yedJ3-200-5|pP9bT+Pns6k+O1PPMB;>Sy6I~md% zNIJ}(WJtyvreB#?;)TV(I*?uRS5iHVXpKzLm)@cpZ25(46``$3ZK zs`IE*r%s(Z=Tsl4h&oyk<-aS<9DMukw2;|6NE$L`WS`I)@n96Uc42d|Qrvh>(%U5W zm;qAmn7-!qQvR6KoT2kh9b#GP!%%jH`mNSBitk|S=iY62Br8?5hWm!*)!Q9rT$ zP3o95iSy*Brrq8;x#gSN^b6%NK*R{(4Hn5nUFaRo6K@LfjwWi0HHETD0QO)9P z8ZdMUC54i>x>el8X_yPQW2xiRWNuFeSMhlJ8HqbF2b~qgUk@kT?3vnf5_$r>{Zy=> z+~*lPi_y3sbHB^3dY0(16~(W5=M$w^*ah~+dMLYuVwGo$qSerlg&VxWfSQD2?)1#g zmF!?x*I0GZmd8L?Xii*0eDSKuwlr@Eaa(LTiA8z`dxsu1{LO^+{u^Q#<29EkCCoUY zRg+MnCS(546yFdSO+qmNC@{Ifdd9I1iy5ARYUWxp9DS!?aY_%!P}wzAwofE#Eajh!dmIg2YV2`Tzto_&F?d8H)dyr-UR+X!Nfg4qoxn=&ejZ2>D`cvccfWO#`rZOLvY z7&k5>{tMz#0s)^Ry_b?vH~Y&3FpIgwDTQtuB&CjxP1!@em#8;=i}%GX-aT8qm$o!O zy9@R2tW8cs>*81{UY07=)6%@Lwt*M*AJE$*tI=Y!tX>t%spw%-n=QG=+N`%z)#~La zWF1Y_tKN~)`(sld`hJbLH%j|qjkqsLJGn;OAEmXe5kHR7+SiDOFfB3qC^nTDhR|UB zpK{YCn0d=LvHArteUqvoF>@P+IW66jJ}BngnySRLk|RBZKP{#9POL09sU|Mz4+fmG z{9#GulHE%j^Zrq8VzZ2co%qjr&$AVdG+y@X^n7(*3bhqkFSG#ivZvXjc$hu?jVUnr zj{l6vg8m zN0>+O1TILRNBe@*EVcZjOh2MXdV>=VKubCjyc+7E+So2gIFd5nsjZDlNeU)~Vk&Dh zq(6_lyI;g=u}FqBV*>M~{trA3^|#khwTGxtZowQ!OQsqF9;~a+wXWz$*TA244ZGHL z10mOvdCgHM#ThUHW8WK=2=4-qxkM=DGyBoJzEpdQihZcs69aK?&tksoaW#pteq@dz z5SaZei=X3QReN>gfT=k#EvLawi>2Zis>M-}zmIAORJ2nqk&5?IHt_*rs(&T_b@RbY z!1!K@&aq&1MC{96`?1%DQ--;tre9^#Gl?-&jHlWdD#lXnJ}So1rJ9|J2~@kEiiutG z$4W32#CJ~p@V!*80QFePrl3Z2j(rPlwPf0r{MOrqe1Fuz0uXlg+LZj9sY1Rxs=2H8 z*W=l4W2$u70COoDf+m=`D_HN3?<6z4n9~@B*@WZ6M>|y#d1Zq~UOO$sYv2rFYJ&-R zA65H9Fo+uBrXh5@C7jHKl{41$kN}O%IN-#p8hWY3k5>QF7-W{VJLZ74BkrF3(?C5LqgmJ)+ z39=O;f}@a+A%p_J1s53b!iG&55OK-w2J4B#uM)_YYH>W|2&)~|k`imn8Iv0zLXlDs zG-Gx0gJb>29pdw9U#8Ufn<@3DkWQWc1j56ljFn(3(=)PSFBt2Wd|j(^Ux#52L|~6S z2DcD)51k0puXS}|p=&S`_KLWNonRjj$6p>Z9A>4B$1%I^=u1Lj_?Q*gF?;dodf{c9 zv#+SHiF=8<@^>hf{9TGAe~&7K;vcCZi0@P7WwDkjuZVx5Y81xd-d~DQ zW>f8LD&%YLP@zD3mkKWJJt}O_{z!#F?R_c;S}he`*7!eBjMGWQ0;^v_bsfV1>}yegz(D=clsH&<8JsQbrqQ|WBlQW_*- zNTmBT@Mlxi+o`_J7<3}EZOgG3+O{F85d!>6#NHYeRyPds{iREGYxP7Qs2yVb{e3iz z+S?9+$efs%SP4-!>FXJ?W!D-kAX46gduz-44KqsdR{EgZh zeAo_67qG%PTZJt?Qw4Q7@shQ@hMDD$QKIKLxPLJ8?Ys{Pp~DmPq8JL!(`_c zI~{x`72~Ur$fnTje2BLtyFl1d!)(b!t?}9rnqU@(AR0oP1kPnd*%I7}ElPvwp=5>X zQ3tmiq%{;W_s~s#1VSvHN|#1FbSwX2h-(HyGq?c^Xdlf(tZ}eJ526r*BkM>|&9>Yj zEDmD<+idEX{g~P>toPXzGrw+HX7NLEV_aK>E*2Js5=uTIu&t_(NOQg(#Wxoe>E9i6 z!Pj36{YU$U1V7q`MErp3)M3u9rDpmKMKRet?960Fzf#+S)aURALMr!vA9KQ$%p}J$ki;OgJ2r{)PC7)5~NSL7&Mj?;N zn&~+9ct!D*N#J}XgZZV?()E1Y7DvV7-C3cDu_j?RB!aQ~Q;<2Hnqg2P%bG+03SQNF zeVsw9NO~Xvus{<*um>jbq}8BgjDeNe8^(=n{A`gDYN+Ig2R*PlX`1)It?6s zQT&YP0}NW6{ual&SsGY>M%q6o+7W`TK|Ztg8D2ttDvIIs*n6xV6MjEJ5~3i3(HF8n zChdsy;dC3ng6K(*Lr-LoXspY+Sw<2Wk3ikXA39ptT% zUW6g5f7vkF=d8}q^NFxbL5n`p5b<9K#Ou+P$b+(Ro5)YJ;dan2NVj9Dd9{3oc~mcB);1MHhxm2eKXn;9B& zz0AV#2&`Hs@;0i$GzU`tE(RG)wOeQ|hPsuG z8bC)S(^0q32K@^SIG2eAgeyb?^eXcTCdR5$Hi#0?*NHb9ivRb=GE+8I6lG&s*f7!9 z1o5;j%18dA3bsv2aOQ8Wc0k zrp3_QD+Cz^G@g5vZA9#}ToX$&9C=UK0dDIAw{?Qs3^1dQ({hP^PbdbD&>c4IGRa*^ zm~yU=+~)|>&s7A!&=5{SJWbTW*MsL}($1$6Uln`hS5UXyS1uBv2NJqiG$(nC3I4 z1&pbSG2Nhn(tfVo9Q)cqB5VLex#39tCy_$c|B_H#5scfh<7pMC z7*E+j^s`QJHVx-`*pXNX>{2WP_OSTxc|_kLnEhDl*gva08Vl(Cf?%HBF9{~fdyf(5 z-+O|sk@q{cK;DyVdAz4!#@=&CK@Qsh%2_0~L{_gYvU;a+GOua;gS?U#sli3DSeEqjSnUn2Vb z|9{qwWe=Pq@SWl_VM`BuLDqkVO6?aU@FiJ)l0YGWV`Tj)0+l#s%(er5`MU`Cawqt* z0sg6}2Tm|khZ+OlF;j;o11DLYcaj87vF9n`(7^Hpv-B_)EFD-p(BNYYG(1ls?xLxQ zVUx5tRy_lWg62?P_nqCsPuohzhgpz0IDwUYyP{H~8{~Q#V9Z*MF>8S~jkExoV^%-b z1|WiF51@#e%Xps&gMIGt4@W;v#AD31yG)<6tppu(_F)!&t{V&eJ`-amuo#@N6Id8t zR^t&|g&Vl((}8d!0cv{ZNO?3{h8UEwQ^A+d`q|9`1{nW_2(o)E=!T-RQ4k)y0;ay4 zph$+z(ile(-K`*vvD81omJ?rzz8n+lwR{>&-S=Q8@r?=8eS2#(9{!;QDYl0AG20sA z0pkR!V@o0)B+izTsIl#K{?t&7vKIo^T#bsGkul^}Q_)Q{H&zbbWittmcPFaj0Rn$F zu`Bs)Koo)4R!w=alxU?!-fH%|<*Wo`!dl_2z|^(E+cj@FtItY^_ffwN zp?=MuWhp|3#C206=TvVOd!?!OiM`WsPXuKc zcOXcX%Gu`FK`WJFWU0FY9!buh*iyeYUhh!D5izcX#9b8kMPemYso+;93N_sEMe6NB zp?aSnAdB8cOMSF-I}H@_y2a*5n7^~Q7S~JBydGPN%cUv2--1plV#1OL&Z};RXaGt2?) z;a(rrQz1lAi9r$Rgk*6Ll67i3sVyg|aXaPx33jk)O@eG;9@EWOPQBN)^>#e6K&@ko zKMsp;jN65anQo`G&r-+I1?*)rtthSxO<*^H7pL$rO|1IGXdcE{JB1$@%?p(6ArIR_ zWwsj6xl44YRo3m`|!&2QwKb2-VxA3$sR>w@V|Q z9BSSvO?#5#chXRF`Ja7bN)ysb64S6E<&tl_y|qtjLgP;AjxN6p(CD<1)HG+~)6(`1OU=tk94$9@H&rKK_0aANp&lLLGsH#)jn=1@8{s6O0R`1Y<*Ev8dCrxbuT) z`nw#7l>_&biu>4Q45id*Ew72x1k#v(Sip^x*FGM!h z8obo}dU%!14YP zb@o41&p2bD5q^CzpVW5nV&93lrDuYtMgj&L??z~59N}vJ>w2Yc=Je;&1dnlGm-%9S zNi`n%mWl8&pg~rMC;+80DB$4;+3`gHWRcXtDld+o2<42MsAkzOqlmVPR@M$$Clu+) z_EyDceY936Qh&!VObqvdu8~=i-V+R#F-T7K#84v8a#&;8L~SXYlJ*>&($uoWp6tYdCh2OP(>P%17GO0n?r5J3$0<=jV-_apjsHN7lUDjS+!5md*h=K$R= z-9K+IK&X!~cz#o%peO}Rf>7a@CoP?Kn|X^=I&V-vAVdQ}QDQ1$Dq~bc9h;;*^B(0* z%WO(jcC}EYXxVQHnzkQhG`*kldnomFxXnM{-hG=u93z*ZOF|bxmj_*C4AZPzZHkl) zSEi8c*Mtp@%w={(Zj#V`tqI9J!---zp6spg1!dW<3I&dpz}X7VoUgpvRK^Ph+}35y zzela`b>;QCauo7^U$;GEaeVch!bm`%fW33sUg9{uvi%T>WbO6%Y-cR(g;Ib8#dVgJ zO;R@K4@T}E#=v=clmf&V%*7kFfxHU3b$#w}55ztg+g_ux*u;zI?|r|hsd zd0V4x*+6#Olgqu3dqX1Tw4oz=Gfsm~kW=A2_>^SBWr~gLzQB%F6I#Y=18EAQwE~UJ zw~^hL9A9ZL*x8N2XvVKQ2edjlgz>KDAoX9c9Q9KaC{fUCuy(+f7Ev*qxs1gWo`+pw z#8rNZk3LT0sMXtW)aorZZ4q7H_#!an75KQQJ)3ITR9;QmL9&>#6t6D)wa75rdhljA zS5_0FB$|Yl-}3cpf|N4l3L3~;cuD`lX^i7kZ|UB(3%jAR*@M4j;VQaP&{%>SDkZ=GznIJZrdY6k#(kK$(0C^8ZfR*LT|l|EJezR^={K$* zYZRBy`ovJg+|M|fQq4>iKs9x-t{M(4w*A1>7lB|nw`4tXa^`NmIE}#ffI*bNxr-B&Z zs8AXhO)CQ(VUsVeX5;j$@*}vzm1iJ{IK`mx!bW#gb0;hv zHY87Gup8vOUeSun-Ws>t&~kuhO2%wM&t<05yva0k9L<|TGasON57EpAY2H+tIiBWC zqnQ(EUIxvaNb{!C%t( zT8Di2tXzFo)|;DM>~?trPJetYX?%lZ*UrdDTh4&sFz_(MX<2{6`R|U_Gb|*=bSz(` zn(b|d%r_C?^JX40{A&@mIDIkK61UFyNb$%nQeTkqvStjuhS>@Q5lNNkA$yM^x*hx?)5BWqM@)tQY9Iv*VnAG@S7OD&t zI$RP7d?Mp=IPe!4x5SP$tJz_|ZV3_Ql;L(8pBe^z{@%<}4Fe_c9nRH})*EctMK>FE z8Zv7q!Pm?@0#5HIG6GKTU*v1m4j)%k;|X12-}ySZ%2n!B0r$>T=cJ+o#i7Zy_`>$V zfQx+PBK{%vS{J$OBKX|#EFHyruviSMm8ZbYhmLWZ#t zS!*%^Pp`>vE?M)(HF~%I&dS;Yd}tbKJIKIM-6=!eXOzG`4M%)P>dK%?sm|lR)2>MP zAS)VuO=YMBT^qT!P^y1!*r26r4pP0{sm2SaAF*ke@!{|=|5MFYdYY z_QGYW2Jq#Lpa1>jndJ0oPc3?GWg&gzoj;#AHTbrBXCQ|8L-qTg{uq-ya@yhoIq>D# z9^3=d))c+A_p?^>E$QPQ%FLR#;Mv@b{`Ug=zi2;qrT?9y?tOIm`py22j<>d*I{QCE zQ>QEuUVn4%r>&v>>5E))@P`4T#?79$u4r4K@ehuh{ga+_^^=}+-TAi1H7mxVOQ+uc J{*|mA{|{>VZ*Twr diff --git a/weapons.asm b/weapons.asm index 21fedbe..e7e73d8 100755 --- a/weapons.asm +++ b/weapons.asm @@ -1816,17 +1816,19 @@ NoUnPlot Hit mwa XHit xdraw - mwa YHit ydraw + mva YHit ydraw ; one byte now jsr unPlot EndOfFlight - mwa xdraw xcircle ; we must store for a little while - mva ydraw ycircle ; xdraw and ydraw +; mwa xdraw xcircle ; we must store for a little while +; mva ydraw ycircle ; xdraw and ydraw .... but this values are in YHit and XHit !!! mwa #0 xdraw mva #screenheight-1 ydraw jsr unPlot - mwa xcircle xdraw - mva ycircle ydraw +; mwa xcircle xdraw +; mva ycircle ydraw + mwa XHit xdraw + mva YHit ydraw ldy SmokeTracerFlag beq EndOfFlight2 From d9645b9c37a9d8dba64fef9fd5baa35d194613a6 Mon Sep 17 00:00:00 2001 From: pkali Date: Sat, 21 May 2022 08:45:26 -0400 Subject: [PATCH 02/19] post intro glitch fix #67 --- artwork/HIMARS14.asm | 5 +++++ scorch.xex | Bin 37700 -> 37708 bytes 2 files changed, 5 insertions(+) diff --git a/artwork/HIMARS14.asm b/artwork/HIMARS14.asm index 12637ab..a980332 100644 --- a/artwork/HIMARS14.asm +++ b/artwork/HIMARS14.asm @@ -249,6 +249,11 @@ stop @ sta POKEY,x dex bpl @- + + ;no glitching please (issue #67) + lda #0 + sta $D400 ;dmactl + sta $022F ;dmactls rts ;return to ... DOS ; --- DLI PROGRAM diff --git a/scorch.xex b/scorch.xex index 97a61e330716e295415aa6299f1ef9ecd087cfc7..b32996844eff1d4a21a653040464498238700405 100644 GIT binary patch delta 204 zcmX@IjOolWrVYVLjFTsaC^fP%_x}37GGOv;CCB=e4806jdi9wST34)O>E*i8D|Vq* z`ohYtUe17}D;$7=Iv_#LD=X)~MGT-K>);|VH3#4#Fg2IpA|_B>Pv9aNKoNP6(cj=g kj37nQ7l1bF@Lv&N_9>mbNx7V(6ez#azn5#Xp^9)m0C!Sc5&!@I delta 196 zcmX@JjOoZSrVYVLjNOw%lp5K7_x}37(tq-8CCB=N))gyRdbzIjie2cHzOb^XmoZ@J z3J0K|4oHym%E~El5d)~mGPnp#%?`K-OwB2{hzV5J9k_@FROB5{L>yunBS=X40+6G_ be?@@VCwKBL<#LW(pn{eDy-b@eRfO{au+Les From 80bc30268969933593d35b75a9ae4fcfb62d712f Mon Sep 17 00:00:00 2001 From: pkali Date: Sat, 21 May 2022 11:20:16 -0400 Subject: [PATCH 03/19] too much force for AI #70 --- ai.asm | 3 ++- scorch.xex | Bin 37708 -> 37708 bytes 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/ai.asm b/ai.asm index 1dd7530..1ce7645 100755 --- a/ai.asm +++ b/ai.asm @@ -126,7 +126,7 @@ forceNow jsr RandomizeForce endo - ldx TankNr ;this is possibly not necessary + ;ldx TankNr ;this is possibly not necessary lda NewAngle sta PreviousAngle,x lda EnergyTableL,x @@ -214,6 +214,7 @@ skipThisPlayer forceNow mwa #300 RandBoundaryLow mwa #700 RandBoundaryHigh + ldx TankNr jsr RandomizeForce endo diff --git a/scorch.xex b/scorch.xex index b32996844eff1d4a21a653040464498238700405..730bd81066dedc16a2b517c7b5ec338d704d27e8 100644 GIT binary patch delta 51 zcmX@JjOolWrVYO{x%HxS} B89D#} From fb86876d9fbbe5de85e5cbcd99558902c28bb7de Mon Sep 17 00:00:00 2001 From: pkali Date: Sat, 21 May 2022 13:12:54 -0400 Subject: [PATCH 04/19] cos table removed #65 --- constants.asm | 93 -------------------------------------------------- scorch.xex | Bin 37708 -> 37621 bytes weapons.asm | 7 ++-- 3 files changed, 5 insertions(+), 95 deletions(-) diff --git a/constants.asm b/constants.asm index 86aab93..c07499e 100644 --- a/constants.asm +++ b/constants.asm @@ -196,99 +196,6 @@ sintable .by 255 .by 255 ;anti self destruction byte -costable - .by 255 ;anti self destruction byte - .by 255 - .by 255 - .by 255 - .by 255 - .by 255 - .by 254 - .by 254 - .by 253 - .by 252 - .by 252 - .by 251 - .by 250 - .by 249 - .by 248 - .by 247 - .by 246 - .by 244 - .by 243 - .by 242 - .by 240 - .by 238 - .by 237 - .by 235 - .by 233 - .by 232 - .by 230 - .by 228 - .by 226 - .by 223 - .by 221 - .by 219 - .by 217 - .by 214 - .by 212 - .by 209 - .by 207 - .by 204 - .by 201 - .by 198 - .by 196 - .by 193 - .by 190 - .by 187 - .by 184 - .by 181 - .by 177 - .by 174 - .by 171 - .by 167 - .by 164 - .by 161 - .by 157 - .by 154 - .by 150 - .by 146 - .by 143 - .by 139 - .by 135 - .by 131 - .by 128 - .by 124 - .by 120 - .by 116 - .by 112 - .by 108 - .by 104 - .by 100 - .by 95 - .by 91 - .by 87 - .by 83 - .by 79 - .by 74 - .by 70 - .by 66 - .by 61 - .by 57 - .by 53 - .by 48 - .by 44 - .by 40 - .by 35 - .by 31 - .by 26 - .by 22 - .by 17 - .by 13 - .by 8 - .by 4 - .by 0 - linetableL :screenheight+1 .by <(display+screenBytes*#) linetableH diff --git a/scorch.xex b/scorch.xex index 730bd81066dedc16a2b517c7b5ec338d704d27e8..644fd7365e0b7c8ba93e75762147e3c15dffef96 100644 GIT binary patch delta 12920 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 Date: Sat, 21 May 2022 13:19:55 -0400 Subject: [PATCH 05/19] white flag #62 --- constants.asm | 8 ++++---- definitions.asm | 2 +- scorch.asm | 2 +- scorch.xex | Bin 37621 -> 37621 bytes 4 files changed, 6 insertions(+), 6 deletions(-) diff --git a/constants.asm b/constants.asm index c07499e..752fecf 100644 --- a/constants.asm +++ b/constants.asm @@ -612,7 +612,7 @@ WeaponPriceH ; weapons prices (tables with prices of weapons) .by >price_Auto_Defense___ .by >price_Fuel_Tank______ .by >price_Contact_Trigger - .by >price______________63 + .by >price_White_Flag_____ WeaponPriceL .by Date: Sat, 21 May 2022 18:29:56 -0400 Subject: [PATCH 06/19] glitches when switches #72 --- scorch.asm | 34 +++++++++++++++++----------------- scorch.xex | Bin 37621 -> 37619 bytes textproc.asm | 24 +++++++++++------------- weapons.asm | 2 +- 4 files changed, 29 insertions(+), 31 deletions(-) diff --git a/scorch.asm b/scorch.asm index a3cccd0..814e17c 100644 --- a/scorch.asm +++ b/scorch.asm @@ -145,12 +145,6 @@ START cmp NumberOfPlayers bne @- - mwa #dl dlptrs - lda dmactls - and #$fc - ora #$02 ; normal screen width - sta dmactls - jsr RandomizeSequence ; for the round #1 shooting sequence is random @@ -158,15 +152,17 @@ MainGameLoop VDLI DLIinterruptText ; jsr SetDLI for text (purchase) screen jsr CallPurchaseForEveryTank - - VDLI DLIinterruptGraph ; jsr SetDLI for graphics (game) screen - - mwa #dl dlptrs + ; issue #72 (glitches when switches) + mva #0 dmactl lda dmactls and #$fc - ora #$02 ; 2=normal, 3 = wide screen width + ;ora #$02 ; 2=normal, 3 = wide screen width, 0 = no screen (?) sta dmactls + + + VDLI DLIinterruptGraph ; jsr SetDLI for graphics (game) screen + jsr GetRandomWind jsr Round @@ -255,8 +251,8 @@ skipzeroing lda GameIsOver jne START - inc CurrentRoundNr + mva #0 dmactl ; issue #72 jmp MainGameLoop @@ -321,6 +317,13 @@ SettingEnergies jsr placetanks ;let the tanks be evenly placed jsr calculatemountains ;let mountains be nice for the eye ; jsr calculatemountains0 ;only fort tests - makes mountains flat and 0 height + mwa #dl dlptrs ; issue #72 (glitches when switches) + lda dmactls + and #$fc + ora #$02 ; 2=normal, 3 = wide screen width + sta dmactls + + jsr drawmountains ;draw them jsr drawtanks ;finally draw tanks @@ -500,7 +503,6 @@ SeteXistenZ sta L1 ;DATA L1,L2 - ;RESULT WH*256+L1 ;Multiplication 8bit*8bit, ;result 16bit ;this algiorithm is a little longer than in Ruszczyc 6502 book @@ -514,7 +516,7 @@ LP0 ROR L1 BCC B0 CLC - ADC #10 ; multiplication by 10 + ADC #10 ; multiplication by 10 (L2) B0 DEY BNE LP0 ror @@ -536,7 +538,6 @@ B0 DEY inc:lda TankSequencePointer cmp NumberOfPlayers bne PlayersAgain - ;mva 0 TankNr mva #0 TankSequencePointer PlayersAgain .proc @@ -577,14 +578,13 @@ NoPlayerNoDeath lda #0 sta FallDown1 sta FallDown2 - lda #1 + lda #1 ; Missile jsr ExplosionDirect jmp continueMainRoundLoopAfterSeppuku .endp ;--------------------------------- PlayerXdeath .proc - ; this tank should not explode anymore: ; there is 0 in A, and Tank Number in X, so... sta LASTeXistenZ,x diff --git a/scorch.xex b/scorch.xex index 5ea92ff56c2c48a84d9e02eb3e927fe3e791a152..12b0f1b0c8c354606fcf755081a8b72a033f22da 100644 GIT binary patch delta 12581 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 MQh4;hu0_567iGSPcmMzZ delta 12408 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

L**-wN!)N*0<|bc4t);dI8lvV$&U{+A29sw^Mh0 z@U34wqFH>4&F$5|N51=t-(tmo&#Q(Iy4{#JE}#HL4WrJ(V4h;*PD&lZULb@8fHV*$ zJn=qasKHmYw^+$LkJTV>=gJ*s`23)F0W}UNjzm{9xSBS+UH< zO`Z66<2Sy#t*x!(61AV+Vl(bTeY|lYTBo?mO&*{2cN!e)&@R#r7zp_MNINc2aK%R; z$#)lW&%aadjcqnyWOrj^_h1}!M^>1DA-K9HVZ??xfz)73^ChYmaSv|`iya;uW0N84 zM~=bqi-$6UbMr;@j+|6MAG{(35u_#0@I|3fl={aC(bJ3LN4JdU8`Cq|3k)9J$c z{Pp4g59imuO%LJ?TBXbX$ESsSkc-a2WXJ=MCXKAH{IoXAP|M^C6W#B-Y=I zk|LQ zZZNqge;a1hlhsAE3eA5bzTb?THcog>Da_h06qZNVJ(qq}{stGw@;O?N@K>Ai9Ng%0 zZcA%7tOa%=f5Bka3Pch%3?0a{*FA~gCX%}0_I`6dr(3?Jb57AMeaYi))DX4F!vTZ@f(VI06xE<6VKtZphxmnp$!4l z=T6NdGn>XkB3X0GiDq#>``rkG7K>RVULw~N%k|YIwfp5@1mdr_afn`IA3KpkW~Pa9 zbBSDABI~WKE^MJZ9N0K1jK@e0tyo4@Q4IWMpkat2S%1y>4~>Sw`iF$Xklfm*R5S1B zFoeE=2q%7-2xZRl$lmN~dg*!(`(N?MBd{o~&baEvM*l}orTLFPmF7J8)b~%7?&$ru zvS=Zm8;ci-`fKrbEYjaCt9JHc(~1|H_Np1od9Rd5t&>MRDF?^m)0P#P6cflm;h<87 zdm#RGGA@JtPs+Fz<~HqM{u@_-WYtC+f01wtcQA)B+LrYi8)DrJhrm-typ+c6f_I&a z;LrP{+*_(Bw-?lTf|uA6VyFGZr_`$gu9R!`lY&1M1s|)&!e7%@lYzTM#f+C>98FbqwMPLBqxAmL5s^h|io8|(YNCP%hC zowSq5`YR@@nW^IsOdS@e1Gl7AGoX*2LP{U$R&N@{&)J#gpS?59xqRnqJO9|{UuRYQ z3O+akg%~8jD8-bbNF%TU4a<0sm9mWYn8$sWLm_y9<;82yv!$rp^bS)$innd^1lGDO ztXKnk6Hx47Qkx-lyzhJa%ALn0y>qZrjp+*+%^;-T=H*cfY0Kb+^l0|x;Y0XG)^FS; z6d!3h^ViD}{YH(SHhasng|Gji`P`)#+ru;FWfr`2DQ`Fe>xr>)=-najN_TER$Z81adPG9C4|Ado0m5_#AaPab#0n~RPva!rY}W|6|9^1h6I{{t_k BFdP5? diff --git a/textproc.asm b/textproc.asm index 54f3710..4b6f13e 100755 --- a/textproc.asm +++ b/textproc.asm @@ -190,6 +190,7 @@ OptionsYLoop ;------------------------------------------- ; call of the purchase screens for each tank .proc CallPurchaseForEveryTank + jsr PMoutofScreen mwa #PurchaseDL dlptrs lda dmactls and #$fc @@ -197,21 +198,20 @@ OptionsYLoop sta dmactls mva #0 TankNr -loop03 - ldx TankNr - lda SkillTable,x - beq ManualPurchase - jsr PurchaseAI - jmp AfterManualPurchase +@ + ldx TankNr + lda SkillTable,x + beq ManualPurchase + jsr PurchaseAI + jmp AfterManualPurchase ManualPurchase - jsr Purchase + jsr Purchase AfterManualPurchase - inc TankNr - lda TankNr - cmp NumberOfPlayers - bne loop03 + inc:lda TankNr + cmp NumberOfPlayers + bne @- rts .endp @@ -223,9 +223,7 @@ AfterManualPurchase ; Rest of the data is taken from appropriate tables ; and during the purchase these tables are modified. - mwa #ListOfWeapons WeaponsListDL ;switch to the list of offensive weapons - jsr PMoutofScreen ldx tankNr lda TankStatusColoursTable,x diff --git a/weapons.asm b/weapons.asm index 76189a1..8080eab 100755 --- a/weapons.asm +++ b/weapons.asm @@ -50,7 +50,7 @@ ExplosionRoutines .word dirtclod-1 .word dirtball-1 .word tonofdirt-1 - .word liquiddirt-1 ;liquiddirt + .word liquiddirt-1 .word dirtcharge-1 .word VOID-1 ;earthdisrupter .word VOID-1 ;plasmablast From 661d4776c7c167fbdd4aaa96e644f8dc174cd3c8 Mon Sep 17 00:00:00 2001 From: pkali Date: Sat, 21 May 2022 18:50:13 -0400 Subject: [PATCH 07/19] cosinus angle fix #65 --- scorch.xex | Bin 37619 -> 37619 bytes weapons.asm | 2 +- 2 files changed, 1 insertion(+), 1 deletion(-) diff --git a/scorch.xex b/scorch.xex index 12b0f1b0c8c354606fcf755081a8b72a033f22da..fb65a87a2bb5fd6c83d96ef37d796a66d13295dc 100644 GIT binary patch delta 16 Ycmeyol Date: Sat, 21 May 2022 19:21:42 -0400 Subject: [PATCH 08/19] [SHIFT] bug #61 --- scorch.asm | 16 ++++++++++++---- scorch.xex | Bin 37619 -> 37625 bytes 2 files changed, 12 insertions(+), 4 deletions(-) diff --git a/scorch.asm b/scorch.asm index 814e17c..7055f7e 100644 --- a/scorch.asm +++ b/scorch.asm @@ -1165,18 +1165,20 @@ nextishigher .endp ;-------------------------------------------------- -getkey .proc; waits for pressing a key and returns pressed value in A +.proc getkey ; waits for pressing a key and returns pressed value in A ;-------------------------------------------------- jsr WaitForKeyRelease @ lda SKSTAT cmp #$ff beq checkJoyGetKey ; key not pressed, check Joy + cmp #$f7 ; SHIFT + beq checkJoyGetKey - mva #sfx_keyclick sfx_effect lda kbcode and #$3f ;CTRL and SHIFT ellimination - rts + bne getkeyend + checkJoyGetKey ;------------JOY------------- ;happy happy joy joy @@ -1187,13 +1189,19 @@ checkJoyGetKey beq notpressedJoyGetKey tay lda joyToKeyTable,y - rts + bne getkeyend + notpressedJoyGetKey ;fire lda TRIG0S bne @- lda #$0c ;Return key + +getkeyend + mvx #sfx_keyclick sfx_effect rts + + .endp ;-------------------------------------------------- getkeynowait .proc; diff --git a/scorch.xex b/scorch.xex index fb65a87a2bb5fd6c83d96ef37d796a66d13295dc..46bd17cb1635d438205050506b4dbabc4236adf8 100644 GIT binary patch delta 12378 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 From 491dc2861cfaeff398e9b16dbbbdb8084644eef1 Mon Sep 17 00:00:00 2001 From: pkali Date: Sun, 22 May 2022 09:39:17 -0400 Subject: [PATCH 09/19] speed up when [START] #73 --- lib/macro.hea | 4 ++++ scorch.xex | Bin 37625 -> 37687 bytes textproc.asm | 40 +++++++++++++++++++++------------------- weapons.asm | 8 ++++++-- 4 files changed, 31 insertions(+), 21 deletions(-) diff --git a/lib/macro.hea b/lib/macro.hea index 2a73514..6181aa6 100644 --- a/lib/macro.hea +++ b/lib/macro.hea @@ -76,6 +76,9 @@ .MACRO WAIT ; WAIT ; waits one frame (1/50 s(PAL) or 1/60s(NTSC)) + lda CONSOL + cmp #6 ; START KEY + beq ?nowait LDA VCOUNT ldy vcount ?WA cpy VCOUNT @@ -83,6 +86,7 @@ ?wframe cmp vcount bne ?wframe +?nowait .ENDM ;------------------------------------- .macro negw diff --git a/scorch.xex b/scorch.xex index 46bd17cb1635d438205050506b4dbabc4236adf8..6c4480ddfd65440e84e9444adf4969796b5d50db 100644 GIT binary patch delta 12771 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 Oz9}7gd*`cjyZtXcW~Pz= delta 12786 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 Date: Sun, 22 May 2022 10:12:52 -0400 Subject: [PATCH 10/19] ESCape from menus #74 --- grafproc.asm | 2 +- scorch.asm | 20 +++++++++----------- scorch.xex | Bin 37687 -> 37720 bytes textproc.asm | 21 ++++++++++++++++++++- variables.asm | 1 + 5 files changed, 31 insertions(+), 13 deletions(-) diff --git a/grafproc.asm b/grafproc.asm index 5ab13bd..96a6c58 100755 --- a/grafproc.asm +++ b/grafproc.asm @@ -629,7 +629,7 @@ DrawTankNrX rorw xbyte ; divide by 2 (carry does not matter) lda xbyte clc - adc #$24 ; P/M to graphics offser + adc #$24 ; P/M to graphics offset cpx #$4 ; 5th tank are joined missiles and offset is defferent bne NoMissile clc diff --git a/scorch.asm b/scorch.asm index 7055f7e..8b57290 100644 --- a/scorch.asm +++ b/scorch.asm @@ -117,15 +117,11 @@ START ; Startup sequence jsr Initialize - mwa #OptionsDL dlptrs - lda dmactls - and #$fc - ora #$02 ; normal screen width - sta dmactls - - VDLI DLIinterruptText.DLIinterruptNone ; jsr SetDLI for text screen without DLIs + jsr Options ;startup screen + lda escFlag + bne START ;entering names of players mwa #NameDL dlptrs @@ -140,6 +136,8 @@ START lda TankStatusColoursTable,x sta colpf2s ; set color of player name line jsr EnterPlayerName + lda escFlag + bne START inc TankNr lda TankNr cmp NumberOfPlayers @@ -762,7 +760,7 @@ loop05 .endp ;-------------------------------------------------- -Initialize .proc +.proc Initialize ;Initialization sequence ;-------------------------------------------------- deletePtr = temp @@ -771,7 +769,7 @@ deletePtr = temp sta Erase sta tracerflag sta GameIsOver - + sta escFlag ; clean variables tay @@ -1042,7 +1040,7 @@ EnergyInRange .endp ;---------------------------------------------- -MoveBarrelToNewPosition .proc +.proc MoveBarrelToNewPosition jsr DrawTankNr ldx TankNr lda AngleTable,x @@ -1077,7 +1075,7 @@ BarrelPositionIsFine .endp ;---------------------------------------------- -SortSequence .proc ; +.proc SortSequence ; ;---------------------------------------------- ; here we try to get a sequence of tanks for two ; purposes: diff --git a/scorch.xex b/scorch.xex index 6c4480ddfd65440e84e9444adf4969796b5d50db..353b94c8c5ddc1a8ef1cca352d48c54441347d16 100644 GIT binary patch delta 13446 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 Date: Sun, 22 May 2022 10:59:06 -0400 Subject: [PATCH 11/19] ESC updt #74 --- scorch.asm | 3 +++ scorch.xex | Bin 37720 -> 37721 bytes textproc.asm | 17 ++++++----------- 3 files changed, 9 insertions(+), 11 deletions(-) diff --git a/scorch.asm b/scorch.asm index 8b57290..8857257 100644 --- a/scorch.asm +++ b/scorch.asm @@ -1175,6 +1175,9 @@ nextishigher lda kbcode and #$3f ;CTRL and SHIFT ellimination + cmp #28 ; ESC + bne getkeyend + mvx #1 escFlag bne getkeyend checkJoyGetKey diff --git a/scorch.xex b/scorch.xex index 353b94c8c5ddc1a8ef1cca352d48c54441347d16..30471a34837e96e7a71e7533b2d2722f76c96d87 100644 GIT binary patch delta 12306 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 Date: Sun, 22 May 2022 11:25:40 -0400 Subject: [PATCH 12/19] code cleanup --- scorch.asm | 30 +++++------------------------- scorch.xex | Bin 37721 -> 37728 bytes textproc.asm | 23 +++++++++++++++++++++++ 3 files changed, 28 insertions(+), 25 deletions(-) diff --git a/scorch.asm b/scorch.asm index 8857257..5a2c199 100644 --- a/scorch.asm +++ b/scorch.asm @@ -123,26 +123,7 @@ START lda escFlag bne START - ;entering names of players - mwa #NameDL dlptrs - lda dmactls - and #$fc - ora #$01 ; narrow screen (32 chars) - sta dmactls - VDLI DLIinterruptText ; jsr SetDLI for text (names) screen - - mva #0 TankNr -@ tax - lda TankStatusColoursTable,x - sta colpf2s ; set color of player name line - jsr EnterPlayerName - lda escFlag - bne START - inc TankNr - lda TankNr - cmp NumberOfPlayers - bne @- - + jsr EnterPlayerNames jsr RandomizeSequence ; for the round #1 shooting sequence is random @@ -150,17 +131,14 @@ MainGameLoop VDLI DLIinterruptText ; jsr SetDLI for text (purchase) screen jsr CallPurchaseForEveryTank + ; issue #72 (glitches when switches) mva #0 dmactl lda dmactls and #$fc - ;ora #$02 ; 2=normal, 3 = wide screen width, 0 = no screen (?) + ;ora #$02 ; 2=normal, 3 = wide screen width, 0 = no screen sta dmactls - - - VDLI DLIinterruptGraph ; jsr SetDLI for graphics (game) screen - jsr GetRandomWind jsr Round @@ -315,6 +293,8 @@ SettingEnergies jsr placetanks ;let the tanks be evenly placed jsr calculatemountains ;let mountains be nice for the eye ; jsr calculatemountains0 ;only fort tests - makes mountains flat and 0 height + + VDLI DLIinterruptGraph ; jsr SetDLI for graphics (game) screen mwa #dl dlptrs ; issue #72 (glitches when switches) lda dmactls and #$fc diff --git a/scorch.xex b/scorch.xex index 30471a34837e96e7a71e7533b2d2722f76c96d87..f814a1a4f404beb75e6c39fe3a7f46ec4b8388e7 100644 GIT binary patch delta 12594 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 bw6gd@NiP1wj$Or*W1?E5?j5nE^9TPQaje}X diff --git a/textproc.asm b/textproc.asm index 9a38ef6..b075064 100755 --- a/textproc.asm +++ b/textproc.asm @@ -825,6 +825,29 @@ NoArrowDown rts .endp ; ----------------------------------------------------- +.proc EnterPlayerNames + ;entering names of players + mwa #NameDL dlptrs + lda dmactls + and #$fc + ora #$01 ; narrow screen (32 chars) + sta dmactls + VDLI DLIinterruptText ; jsr SetDLI for text (names) screen + + mva #0 TankNr +@ tax + lda TankStatusColoursTable,x + sta colpf2s ; set color of player name line + jsr EnterPlayerName + lda escFlag + jne START + inc TankNr + lda TankNr + cmp NumberOfPlayers + bne @- + rts +.endp +; ----------------------------------------------------- .proc EnterPlayerName ; in: TankNr ; Out: TanksNames, SkillTable From 2f099897c71b01db7b91dc6644f5bd7b1cb38323 Mon Sep 17 00:00:00 2001 From: Pecusx Date: Sun, 22 May 2022 18:25:31 +0200 Subject: [PATCH 13/19] Cleanup --- display.asm | 2 +- grafproc.asm | 66 ++++++++++++++++++++++++---------------------------- scorch.asm | 3 +-- 3 files changed, 33 insertions(+), 38 deletions(-) diff --git a/display.asm b/display.asm index 8437006..23ebf8b 100755 --- a/display.asm +++ b/display.asm @@ -142,7 +142,7 @@ WeaponsDescription EmptyLine dta d" " LastLine - :40 dta $00 ; INVERSE + :40 dta $00 ; ------------------------------------------------- .ALIGN $1000 ; WARNING!!!! 4KiB barrier crossing here, might need reassignment!!! NameScreen diff --git a/grafproc.asm b/grafproc.asm index 96a6c58..ed75e20 100755 --- a/grafproc.asm +++ b/grafproc.asm @@ -441,7 +441,8 @@ splot8 .proc ;-------------------------------------------------- clearscreen .proc ;-------------------------------------------------- - lda #$ff ; INVERSE + + lda #$ff ldx #0 @ :31 sta display+($100*#),x @@ -1024,7 +1025,7 @@ MakeUnPlot lda color - bne ClearUnPlot ; INVERSE + bne ClearUnPlot ;plotting here lda (xbyte),y @@ -1118,7 +1119,7 @@ MakePlot ldx ybit lda color - bne ClearPlot ; INVERSE + bne ClearPlot lda (xbyte),y ora bittable,x @@ -1166,7 +1167,7 @@ point .proc lda (xbyte),y and bittable,x - eor bittable,x ; INVERSE + eor bittable,x rts .endp @@ -1187,8 +1188,7 @@ DrawLine .proc loopdraw lda (xbyte),y - ;ora bittable,x - and bittable2,x ; INVERSE + and bittable2,x sta (xbyte),y IntoDraw adw xbyte #screenBytes @@ -1219,9 +1219,9 @@ TypeChar .proc ldy #7 CopyChar lda (fontind),y - eor #$ff ; INVERSE + eor #$ff sta char1,y - lda #$ff ; INVERSE + lda #$ff sta char2,y dey bpl CopyChar @@ -1230,9 +1230,9 @@ CopyChar ldy #7 CopyMask lda (fontind),y - eor #$ff ; INVERSE + eor #$ff sta mask1,y - lda #$00 ; INVERSE + lda #$00 sta mask2,y dey bpl CopyMask @@ -1264,44 +1264,44 @@ CopyMask ldx ybit beq MaskOK00 MakeMask00 - lsr mask1 ; INVERSE + lsr mask1 ror mask2 - lsr mask1+1 ; INVERSE + lsr mask1+1 ror mask2+1 - lsr mask1+2 ; INVERSE + lsr mask1+2 ror mask2+2 - lsr mask1+3 ; INVERSE + lsr mask1+3 ror mask2+3 - lsr mask1+4 ; INVERSE + lsr mask1+4 ror mask2+4 - lsr mask1+5 ; INVERSE + lsr mask1+5 ror mask2+5 - lsr mask1+6 ; INVERSE + lsr mask1+6 ror mask2+6 - lsr mask1+7 ; INVERSE + lsr mask1+7 ror mask2+7 - sec ; INVERSE + sec ror char1 ror char2 - sec ; INVERSE + sec ror char1+1 ror char2+1 - sec ; INVERSE + sec ror char1+2 ror char2+2 - sec ; INVERSE + sec ror char1+3 ror char2+3 - sec ; INVERSE + sec ror char1+4 ror char2+4 - sec ; INVERSE + sec ror char1+5 ror char2+5 - sec ; INVERSE + sec ror char1+6 ror char2+6 - sec ; INVERSE + sec ror char1+7 ror char2+7 dex @@ -1310,7 +1310,7 @@ MaskOK00 ; here x=0 lda Erase beq CharLoopi ; it works, because x=0 - lda #$ff ; INVERSE + lda #$ff ldx #7 EmptyChar sta char1,x @@ -1320,17 +1320,13 @@ EmptyChar ldx #0 CharLoopi lda (xbyte),y - ;and mask1,x - ;ora char1,x - ora mask1,x ; INVERSE - and char1,x ; INVERSE + ora mask1,x + and char1,x sta (xbyte),y iny lda (xbyte),y - ;and mask2,x - ;ora char2,x - ora mask2,x ; INVERSE - and char2,x ; INVERSE + ora mask2,x + and char2,x sta (xbyte),y dey adw xbyte #screenBytes diff --git a/scorch.asm b/scorch.asm index 5a2c199..a615038 100644 --- a/scorch.asm +++ b/scorch.asm @@ -781,7 +781,7 @@ SetunPlots sta oldplotH,x lda #0 sta oldply,x - lda #$ff ; INVERSE + lda #$ff sta oldora,x dex bpl SetunPlots @@ -861,7 +861,6 @@ DLIinterruptGraph .proc nop nop nop -; sta WSYNC sta COLPF1 sty COLPF2 inc dliCounter From 3d8ec72da0d1a57cce6f17d23b3eed9151630ed0 Mon Sep 17 00:00:00 2001 From: pkali Date: Sun, 22 May 2022 13:08:42 -0400 Subject: [PATCH 14/19] glich #55 --- scorch.asm | 67 +++++++++++++++++++++++++++------------------------- scorch.xex | Bin 37728 -> 37733 bytes weapons.asm | 2 +- 3 files changed, 36 insertions(+), 33 deletions(-) diff --git a/scorch.asm b/scorch.asm index 5a2c199..73ffdcf 100644 --- a/scorch.asm +++ b/scorch.asm @@ -141,7 +141,10 @@ MainGameLoop jsr GetRandomWind - jsr Round + jsr RoundInit + + jsr MainRoundLoop + mva #0 TankNr ; jsr SortSequence @@ -158,15 +161,7 @@ MainGameLoop ; Results are number of other deaths ; before the player dies itself - ; add gains and substract losses - ; gain is what player gets for lost energy of opponents - ; energy lost by opponents is added during Round and - ; little below in source, multiplied by 2 to get "dollars". - ; By analogy, loss is energy that given player losses during - ; each Round. - ; Important! If player has 10 energy and gets a central hit - ; from nuke that would take 90 energy points, his loss - ; is 90, not 10 + jsr DisplayResults ;check demo mode @@ -187,6 +182,16 @@ noKey ldx NumberOfPlayers dex CalculateGains + ; add gains and substract losses + ; gain is what player gets for lost energy of opponents + ; energy lost by opponents is added during Round and + ; little below in source, multiplied by 2 to get "dollars". + ; By analogy, loss is energy that given player losses during + ; each Round. + ; Important! If player has 10 energy and gets a central hit + ; from nuke that would take 90 energy points, his loss + ; is 90, not 10 + ; add gain * 2 asl gainL,x rol gainH,x @@ -233,7 +238,7 @@ skipzeroing ;-------------------------------------------------- -Round .proc ; +.proc RoundInit ;-------------------------------------------------- ; at the beginning of each Round we set energy ; of all players to 99 @@ -242,7 +247,7 @@ Round .proc ; ; the shooting angle is randomized ; of course gains an looses are zeroed - jsr StatusDisplay + ;jsr StatusDisplay lda #0 tax @ @@ -264,20 +269,20 @@ SettingEnergies sta LASTeXistenZ,x ; anything in eXistenZ table means that this tank exist ; in the given round - lda #232 + lda #<1000 sta MaxEnergyTableL,x - lda #3 + lda #>1000 sta MaxEnergyTableH,x - lda #94 + lda #<350 sta EnergyTableL,x - lda #1 + lda #>350 sta EnergyTableH,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 @@ -291,8 +296,8 @@ SettingEnergies jsr PMoutofScreen ;let P/M disappear jsr clearscreen ;let the screen be clean jsr placetanks ;let the tanks be evenly placed - jsr calculatemountains ;let mountains be nice for the eye -; jsr calculatemountains0 ;only fort tests - makes mountains flat and 0 height + jsr calculatemountains ;let mountains be easy for the eye +; jsr calculatemountains0 ;only for tests - makes mountains flat and 0 height VDLI DLIinterruptGraph ; jsr SetDLI for graphics (game) screen mwa #dl dlptrs ; issue #72 (glitches when switches) @@ -305,13 +310,13 @@ SettingEnergies jsr drawmountains ;draw them jsr drawtanks ;finally draw tanks -.endp ; not really end of the procedure, but just for now. TODO: revisit. - -;--------------------round screen is ready--------- - mva #0 TankSequencePointer +;--------------------round screen is ready--------- + rts +.endp -MainRoundLoop +;-------------------------------------------------- +.proc MainRoundLoop ; here we must check if by a chance there is only one ; tank with energy greater than 0 left @@ -518,7 +523,7 @@ B0 DEY bne PlayersAgain mva #0 TankSequencePointer -PlayersAgain .proc +PlayersAgain ; In LASTeXistenZ there are values of eXistenZ before shoot ; from the next tank. @@ -549,7 +554,7 @@ NoPlayerNoDeath bpl CheckingPlayersDeath ; if processor is here it means there are no more explosions jmp MainRoundLoop - .endp +.endp ;--------------------------------- .proc Seppuku @@ -558,10 +563,10 @@ NoPlayerNoDeath sta FallDown2 lda #1 ; Missile jsr ExplosionDirect - jmp continueMainRoundLoopAfterSeppuku + jmp MainRoundLoop.continueMainRoundLoopAfterSeppuku .endp ;--------------------------------- -PlayerXdeath .proc +PlayerXdeath ; this tank should not explode anymore: ; there is 0 in A, and Tank Number in X, so... @@ -584,11 +589,9 @@ PlayerXdeath .proc adc ResultsTable,x sta ResultsTable,x inc CurrentResult - .endp mva #sfx_death_begin sfx_effect - ;RandomizeDeffensiveText randomize talk.NumberOfOffensiveTexts (talk.NumberOfDeffensiveTexts+talk.NumberOfOffensiveTexts-1) sta TextNumberOff @@ -651,10 +654,10 @@ MetodOfDeath ; a deadly shot here again. - jmp AfterExplode + jmp MainRoundLoop.AfterExplode ;-------------------------------------------------- -DecreaseEnergyX .proc +.proc DecreaseEnergyX ;Decreases energy of player nr X ;increases his financial loss ;increases gain of tank TankNr diff --git a/scorch.xex b/scorch.xex index f814a1a4f404beb75e6c39fe3a7f46ec4b8388e7..9c42f4ce40382ccf9fae101be1d2a9ec1ed9d2b0 100644 GIT binary patch delta 12451 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 delta 12519 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 W&70pikUuTldQ3X=M!&-O{r(Ruar09E diff --git a/weapons.asm b/weapons.asm index 4426775..64d7f19 100755 --- a/weapons.asm +++ b/weapons.asm @@ -1011,7 +1011,7 @@ notpressed lda SKSTAT cmp #$ff beq checkJoy - cmp #$f7 + cmp #$f7 ; SHIFT beq checkJoy lda kbcode From 7e24e44f1b81b763ec2ffc5fee4d04e523bb98d0 Mon Sep 17 00:00:00 2001 From: Pecusx Date: Sun, 22 May 2022 19:10:52 +0200 Subject: [PATCH 15/19] First attempt to 2 bytes Y --- grafproc.asm | 68 +++++++++++++++++++++++++++------------------------- textproc.asm | 4 ++++ 2 files changed, 40 insertions(+), 32 deletions(-) diff --git a/grafproc.asm b/grafproc.asm index ed75e20..6d6e947 100755 --- a/grafproc.asm +++ b/grafproc.asm @@ -38,14 +38,10 @@ draw .proc ;;fuxxing good draw :) bcs DrawOutOfTheScreen cpw xbyte #screenwidth bcs DrawOutOfTheScreen - ;cpw ydraw #screenheight - ;bcs DrawOutOfTheScreen - ;cpw ybyte #screenheight - ;bcc DrawOnTheScreen - lda ydraw+1 - bne DrawOutOfTheScreen - lda ybyte+1 - beq DrawOnTheScreen + cpw ydraw #screenheight + bcs DrawOutOfTheScreen + cpw ybyte #screenheight + bcc DrawOnTheScreen DrawOutOfTheScreen ;jsr DrawJumpPad rts @@ -225,7 +221,7 @@ PutPixelinDraw EndOfDraw mwa xtempDRAW xdraw - mva ytempDRAW ydraw + mwa ytempDRAW ydraw rts .endp @@ -298,7 +294,7 @@ circle .proc ;fxxxing good circle drawing :) ; splot8 mwa xdraw xcircle - mva ydraw ycircle + mwa ydraw ycircle mwa #0 xc mva radius yc @@ -354,7 +350,7 @@ endcircleloop jsr splot8 mwa xcircle xdraw - mva ycircle ydraw + mwa ycircle ydraw rts .endp ;---- @@ -379,14 +375,14 @@ splot8 .proc ;clc lda ycircle adc YC - sta ydraw + sta ydraw ; lower byte only !!! sta tempcir jsr plot sec lda ycircle sbc YC - sta ydraw + sta ydraw ; lower byte only !!! jsr plot sec @@ -399,7 +395,7 @@ splot8 .proc jsr plot lda tempcir - sta ydraw + sta ydraw ; lower byte only !!! jsr plot ;--- clc @@ -412,14 +408,14 @@ splot8 .proc ;clc lda ycircle adc xC - sta ydraw + sta ydraw ; lower byte only !!! sta tempcir jsr plot sec lda ycircle sbc xC - sta ydraw + sta ydraw ; lower byte only !!! jsr plot sec @@ -432,7 +428,7 @@ splot8 .proc jsr plot lda tempcir - sta ydraw + sta ydraw ; lower byte only !!! jsr plot RTS @@ -549,7 +545,7 @@ CheckNextTank lda xtankstableH,x cmp xdraw+1 bne UnequalTanks - lda ydraw + lda ydraw ; lower byte only !!! ;sec ;sbc #$01 ; minus 1, because it was 1 pixel too high sta ytankstable,x ; what's the heck is that????!!!! @@ -618,6 +614,7 @@ DrawTankNrX sta xdraw+1 lda ytankstable,x sta ydraw + mva #0 ydraw+1 jsr TypeChar @@ -644,7 +641,7 @@ NoMissile sta xbyte+1 ; calculate start position of the tank - lda ydraw + lda ydraw ; lower byte only !!!! clc adc #PMOffset sta temp @@ -675,7 +672,11 @@ DoNotDrawTankNr drawmountains .proc ;-------------------------------------------------- - mwa #0 xdraw + lda #0 + sta xdraw + sta xdraw+1 + sta ydraw ; not necessary but.... + sta ydraw+1 mwa #mountaintable modify mva #1 color @@ -696,7 +697,11 @@ NoMountain ;-------------------------------------------------- drawmountainspixel ;-------------------------------------------------- - mwa #0 xdraw + lda #0 + sta xdraw + sta xdraw+1 + sta ydraw ; not necessary but.... + sta ydraw+1 mwa #mountaintable modify @@ -750,23 +755,23 @@ SoilDown2 .proc adw RangeLeft #mountaintable2 tempor2 NextColumn1 - mva #0 ydraw + mwa #0 ydraw NextPoint1 jsr point beq StillNothing ldy #0 - lda ydraw + lda ydraw ; lower byte only !!! sta (tempor2),y sta (temp),y jmp FoundPeek1 StillNothing - inc ydraw + inc ydraw ; lower byte only !!! lda ydraw cmp #screenheight bne NextPoint1 ; no pixels on whole column !!! ldy #0 - lda ydraw + lda ydraw ; lower byte only !!! sta (tempor2),y sta (temp),y jmp FoundPeek1 @@ -803,7 +808,7 @@ FalloutOfLine adc #1 sta (tempor2),y ; and checking if there is a pixel there - sta ydraw + sta ydraw ; lower byte only !!! jsr point bne ThereIsPixelHere ; if no pixel we plot it @@ -814,7 +819,6 @@ FalloutOfLine ldy #0 lda (temp),y sta ydraw - lda (temp),y clc adc #1 sta (temp),y @@ -854,7 +858,7 @@ getrandomY ;getting random Y coordinate bcs getrandomY clc adc #(margin*2) - sta ydraw + sta ydraw ; lower byte only !!! sta yfloat+1 mva #0 yfloat ;yfloat equals to e.g. 140.0 @@ -1014,7 +1018,7 @@ MakeUnPlot sta oldply,x - ldx ydraw + ldx ydraw ; lower byte only !!! lda linetableL,x sta xbyte sta oldplot @@ -1111,7 +1115,7 @@ MakePlot - ldx ydraw + ldx ydraw ; lower byte only !!! lda linetableL,x sta xbyte lda linetableH,x @@ -1157,7 +1161,7 @@ point .proc ;--- - ldx ydraw + ldx ydraw ; lower byte only !!! lda linetableL,x sta xbyte lda linetableH,x @@ -1251,7 +1255,7 @@ CopyMask ;--- ldy xbyte - lda ydraw ; y = y - 7 because left lower. shouldn't it be 8? + lda ydraw ; y = y - 7 because left lower. shouldn't it be 8? - lower byte only !!! sec sbc #7 tax diff --git a/textproc.asm b/textproc.asm index b075064..6ce5876 100755 --- a/textproc.asm +++ b/textproc.asm @@ -1324,6 +1324,8 @@ DOTNcharloop sta Xdraw+1 lda TextPositionY sta ydraw + lda #0 + sta ydraw+1 jsr PutChar4x4 inc TextCounter @@ -1357,6 +1359,8 @@ TypeLine4x4Loop sta CharCode4x4 mwa LineXdraw Xdraw mva LineYdraw Ydraw + lda #0 + sta ydraw+1 jsr PutChar4x4FULL ;type empty pixels as well! adw LineXdraw #4 inc LineCharNr From 571b3c137e17accc8a1028275f00436f0aa03833 Mon Sep 17 00:00:00 2001 From: Pecusx Date: Sun, 22 May 2022 19:17:17 +0200 Subject: [PATCH 16/19] Revert "First attempt to 2 bytes Y" This reverts commit 7e24e44f1b81b763ec2ffc5fee4d04e523bb98d0. --- grafproc.asm | 68 +++++++++++++++++++++++++--------------------------- textproc.asm | 4 ---- 2 files changed, 32 insertions(+), 40 deletions(-) diff --git a/grafproc.asm b/grafproc.asm index 6d6e947..ed75e20 100755 --- a/grafproc.asm +++ b/grafproc.asm @@ -38,10 +38,14 @@ draw .proc ;;fuxxing good draw :) bcs DrawOutOfTheScreen cpw xbyte #screenwidth bcs DrawOutOfTheScreen - cpw ydraw #screenheight - bcs DrawOutOfTheScreen - cpw ybyte #screenheight - bcc DrawOnTheScreen + ;cpw ydraw #screenheight + ;bcs DrawOutOfTheScreen + ;cpw ybyte #screenheight + ;bcc DrawOnTheScreen + lda ydraw+1 + bne DrawOutOfTheScreen + lda ybyte+1 + beq DrawOnTheScreen DrawOutOfTheScreen ;jsr DrawJumpPad rts @@ -221,7 +225,7 @@ PutPixelinDraw EndOfDraw mwa xtempDRAW xdraw - mwa ytempDRAW ydraw + mva ytempDRAW ydraw rts .endp @@ -294,7 +298,7 @@ circle .proc ;fxxxing good circle drawing :) ; splot8 mwa xdraw xcircle - mwa ydraw ycircle + mva ydraw ycircle mwa #0 xc mva radius yc @@ -350,7 +354,7 @@ endcircleloop jsr splot8 mwa xcircle xdraw - mwa ycircle ydraw + mva ycircle ydraw rts .endp ;---- @@ -375,14 +379,14 @@ splot8 .proc ;clc lda ycircle adc YC - sta ydraw ; lower byte only !!! + sta ydraw sta tempcir jsr plot sec lda ycircle sbc YC - sta ydraw ; lower byte only !!! + sta ydraw jsr plot sec @@ -395,7 +399,7 @@ splot8 .proc jsr plot lda tempcir - sta ydraw ; lower byte only !!! + sta ydraw jsr plot ;--- clc @@ -408,14 +412,14 @@ splot8 .proc ;clc lda ycircle adc xC - sta ydraw ; lower byte only !!! + sta ydraw sta tempcir jsr plot sec lda ycircle sbc xC - sta ydraw ; lower byte only !!! + sta ydraw jsr plot sec @@ -428,7 +432,7 @@ splot8 .proc jsr plot lda tempcir - sta ydraw ; lower byte only !!! + sta ydraw jsr plot RTS @@ -545,7 +549,7 @@ CheckNextTank lda xtankstableH,x cmp xdraw+1 bne UnequalTanks - lda ydraw ; lower byte only !!! + lda ydraw ;sec ;sbc #$01 ; minus 1, because it was 1 pixel too high sta ytankstable,x ; what's the heck is that????!!!! @@ -614,7 +618,6 @@ DrawTankNrX sta xdraw+1 lda ytankstable,x sta ydraw - mva #0 ydraw+1 jsr TypeChar @@ -641,7 +644,7 @@ NoMissile sta xbyte+1 ; calculate start position of the tank - lda ydraw ; lower byte only !!!! + lda ydraw clc adc #PMOffset sta temp @@ -672,11 +675,7 @@ DoNotDrawTankNr drawmountains .proc ;-------------------------------------------------- - lda #0 - sta xdraw - sta xdraw+1 - sta ydraw ; not necessary but.... - sta ydraw+1 + mwa #0 xdraw mwa #mountaintable modify mva #1 color @@ -697,11 +696,7 @@ NoMountain ;-------------------------------------------------- drawmountainspixel ;-------------------------------------------------- - lda #0 - sta xdraw - sta xdraw+1 - sta ydraw ; not necessary but.... - sta ydraw+1 + mwa #0 xdraw mwa #mountaintable modify @@ -755,23 +750,23 @@ SoilDown2 .proc adw RangeLeft #mountaintable2 tempor2 NextColumn1 - mwa #0 ydraw + mva #0 ydraw NextPoint1 jsr point beq StillNothing ldy #0 - lda ydraw ; lower byte only !!! + lda ydraw sta (tempor2),y sta (temp),y jmp FoundPeek1 StillNothing - inc ydraw ; lower byte only !!! + inc ydraw lda ydraw cmp #screenheight bne NextPoint1 ; no pixels on whole column !!! ldy #0 - lda ydraw ; lower byte only !!! + lda ydraw sta (tempor2),y sta (temp),y jmp FoundPeek1 @@ -808,7 +803,7 @@ FalloutOfLine adc #1 sta (tempor2),y ; and checking if there is a pixel there - sta ydraw ; lower byte only !!! + sta ydraw jsr point bne ThereIsPixelHere ; if no pixel we plot it @@ -819,6 +814,7 @@ FalloutOfLine ldy #0 lda (temp),y sta ydraw + lda (temp),y clc adc #1 sta (temp),y @@ -858,7 +854,7 @@ getrandomY ;getting random Y coordinate bcs getrandomY clc adc #(margin*2) - sta ydraw ; lower byte only !!! + sta ydraw sta yfloat+1 mva #0 yfloat ;yfloat equals to e.g. 140.0 @@ -1018,7 +1014,7 @@ MakeUnPlot sta oldply,x - ldx ydraw ; lower byte only !!! + ldx ydraw lda linetableL,x sta xbyte sta oldplot @@ -1115,7 +1111,7 @@ MakePlot - ldx ydraw ; lower byte only !!! + ldx ydraw lda linetableL,x sta xbyte lda linetableH,x @@ -1161,7 +1157,7 @@ point .proc ;--- - ldx ydraw ; lower byte only !!! + ldx ydraw lda linetableL,x sta xbyte lda linetableH,x @@ -1255,7 +1251,7 @@ CopyMask ;--- ldy xbyte - lda ydraw ; y = y - 7 because left lower. shouldn't it be 8? - lower byte only !!! + lda ydraw ; y = y - 7 because left lower. shouldn't it be 8? sec sbc #7 tax diff --git a/textproc.asm b/textproc.asm index 6ce5876..b075064 100755 --- a/textproc.asm +++ b/textproc.asm @@ -1324,8 +1324,6 @@ DOTNcharloop sta Xdraw+1 lda TextPositionY sta ydraw - lda #0 - sta ydraw+1 jsr PutChar4x4 inc TextCounter @@ -1359,8 +1357,6 @@ TypeLine4x4Loop sta CharCode4x4 mwa LineXdraw Xdraw mva LineYdraw Ydraw - lda #0 - sta ydraw+1 jsr PutChar4x4FULL ;type empty pixels as well! adw LineXdraw #4 inc LineCharNr From fd1a61c1f91baca1f982fe9ff8322d53b1a1de67 Mon Sep 17 00:00:00 2001 From: pkali Date: Sun, 22 May 2022 14:14:23 -0400 Subject: [PATCH 17/19] display fix --- display.asm | 6 +++--- scorch.asm | 2 +- scorch.xex | Bin 37733 -> 37733 bytes 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/display.asm b/display.asm index 23ebf8b..005a8fd 100755 --- a/display.asm +++ b/display.asm @@ -166,10 +166,10 @@ NamesOfLevels textbuffer ; 0123456789012345678901234567890123456789 dta d"Player: " - dta d"Energy: 99 Angle: <99> Force: 9999 " - dta d" Round: 99 Wind: <99> " + dta d"Energy: Angle: Force: " + dta d" Round: Wind: " textbuffer2 - dta d"Player: ******** Cash: 99990 " + dta d"Player: Cash: " dta d"----------------------------------------" diff --git a/scorch.asm b/scorch.asm index 5d1f392..29e4cf7 100644 --- a/scorch.asm +++ b/scorch.asm @@ -297,7 +297,7 @@ SettingEnergies jsr clearscreen ;let the screen be clean jsr placetanks ;let the tanks be evenly placed jsr calculatemountains ;let mountains be easy for the eye -; jsr calculatemountains0 ;only for tests - makes mountains flat and 0 height + ;jsr calculatemountains0 ;only for tests - makes mountains flat and 0 height VDLI DLIinterruptGraph ; jsr SetDLI for graphics (game) screen mwa #dl dlptrs ; issue #72 (glitches when switches) diff --git a/scorch.xex b/scorch.xex index 9c42f4ce40382ccf9fae101be1d2a9ec1ed9d2b0..7f5ac09ed12902574c95e7f30d16b302adbcb18a 100644 GIT binary patch delta 94 zcmaF5jOpnzrVXj4_6#7Pn3tZDDg|Z&3AOy9WCRZ)YLs7^mjYE`o(X3%Ox7_~;8sp7 N&Vb5oK5sfL764@B5k3F_ delta 121 zcmaF5jOpnzrVXj4S(1_r3=E2S={c!V3^J0EazLJ1eo-=zCkX^V9t0TWm*%B_#DHA$ kOb`>Q7^c7=C$TcMNQ!|A3ZUZ3iNzTZqXageH=Py>0Ez?^6#xJL From 2d8c71e9ffc72b88030196d4e424c7e969c9a46f Mon Sep 17 00:00:00 2001 From: pkali Date: Sun, 22 May 2022 21:23:56 -0400 Subject: [PATCH 18/19] smalls and #13 --- README.md | 27 ++++++++++++++------------- artwork/HIMARS14.asm | 26 +++++++++++++++++++++++--- scorch.asm | 1 + scorch.xex | Bin 37733 -> 37810 bytes textproc.asm | 16 +++++++--------- 5 files changed, 45 insertions(+), 25 deletions(-) diff --git a/README.md b/README.md index 9d665a6..a0930bb 100755 --- a/README.md +++ b/README.md @@ -8,14 +8,15 @@ by Tomasz 'Pecus' Pecko and Pawel 'pirx' Kalinowski Warsaw, Miami 2000, 2001, 2002, 2003, 2009, 2012, 2013, 2022 Contributors: -Kaz - splash screen, ideas -Adam - font, ideas -Emkay - splash screen music -Miker - game sfx, ideas -Bocianu - important ideas, FujiNet implementation +- Kaz - splash screen, ideas +- Miker (@mikerro) - game sfx, ideas, QA +- Adam (@6502adam) - font, ideas, QA +- Bocianu (@bocianu) - important ideas, FujiNet implementation, QA +- Emkay - splash screen music + +QA: Probabilitydragon, KrzysRog, Beeblebrox, EnderDude, lopezpb, Dracon, brad-colbert You can contact us at pecus@poczta.fm or pirx@5oft.pl -home page of this project is https://github.com/pkali/scorch_src This source code was originally compiled under [OMC65 crossassembler](https://github.com/pkali/omc65) and on 2012-06-21 translated to [mads](https://github.com/tebe6502/Mad-Assembler). @@ -31,12 +32,12 @@ Game source code is split into 5+4 parts: - display.asm - display lists and text screen definitions - ai.asm - artificial stupidity of computer opponents - weapons.asm - general arsenal of tankies -- definitions.asm - label definitions, moved to make it work better with Altirra debug. +- definitions.asm - label definitions, moved to make it work better with Altirra debug (it doesn't). -We were trying to use as much macros and pseudo-ops as possible. -They are defined in atari.hea and macro.hea files together with many atari constants. This way it should be relatively easy to port this code to e.g. C64 +We were trying to use macros, pseudo-ops and simple graphics primitives as much as possible. +This way it should be relatively easy to port this code to e.g. C64 -After those N years of working on this piece of code we are sure it would be much wiser to write it in C, Action! or MadPascal but on the other hand it is so much fun to type 150 chars where all you want to have y=ax+b :) +After those N years of working on this piece of code we are sure it would be much wiser to write it in C, Action! or MadPascal but on the other hand it is so much fun to type 150 chars where all you want to have y=a*x+b :) Originally most variables were in Polish, comments were sparse, but we wanted to release this piece of code to public. Because of being always short of time/energy (to finish the game) we decided it must go in 'English' to let other people work on it. @@ -58,7 +59,7 @@ Other unlisted minor bugs and typos fixed. ###### Build 139 2022-05-09 The post midnight release with great, heavy new features: -- https://github.com/pkali/scorch_src/issues/48, https://github.com/pkali/scorch_src/issues/10 - thanks to Miker we have a bunch of fresh sound effects. Not everything is perfectly implemented, but the game definitely got nicer! Thank you again Miker! +- https://github.com/pkali/scorch_src/issues/48, https://github.com/pkali/scorch_src/issues/10 - thanks to @mikerro we have a bunch of fresh sound effects. Not everything is perfectly implemented, but the game definitely got nicer! Thank you again Miker! - https://github.com/pkali/scorch_src/issues/42 New weapon - Liquid Dirt by Pecus. Try it from directly from the weapon store! - (fix) https://github.com/pkali/scorch_src/issues/53 - non-existing weapons are not displayed. This makes the defense menu empty when you are poor, but it is still better than the old way with "$0" prices - (fix) https://github.com/pkali/scorch_src/issues/49 - seppuku should always kill now @@ -100,7 +101,7 @@ Other small fixes: 2022-04-10 - https://github.com/pkali/scorch_src/issues/34 - plot pointer visible only when missile is out of the screen - https://github.com/pkali/scorch_src/issues/33 - Poor AIs do not purchase non-working weapons -- https://github.com/pkali/scorch_src/issues/32 - Basic is turned off right on the beginning of loading. Dracon reported problems with running the game in Altirra, this was the best idea I had about it. Maybe next will be removing from zero page LZSS routine by @dmsc +- https://github.com/pkali/scorch_src/issues/32 - Basic is turned off right on the beginning of loading. Dracon reported problems with running the game in Altirra, this was the best idea I had about it. Maybe next will be removing LZSS routine by @dmsc from zero page - https://github.com/pkali/scorch_src/issues/31 - STA WSYNC removed from missile flight delay - https://github.com/pkali/scorch_src/issues/30 - player level remembered between rounds, thx @KrzysRog - https://github.com/pkali/scorch_src/issues/5 - funkybomb smoke stays on the edges of the screen @@ -111,7 +112,7 @@ Other small fixes: - enhancement: https://github.com/pkali/scorch_src/issues/15 Add player colors to purchase screen. Still room to improvement! - enhancement: https://github.com/pkali/scorch_src/issues/22 Redesign information panel (top 2 lines of the game screen). Now game might make some sense for a newcomer :) - change: https://github.com/pkali/scorch_src/issues/28 remove white lines around out-of-the-screen point tracker. Now it is visible and looks better! -- enhancement: https://github.com/pkali/scorch_src/issues/25 Missiles are too fast. Thanks @bocianu and @miker for the hint. Speed of the shell is configurable now, 5 speeds available. +- enhancement: https://github.com/pkali/scorch_src/issues/25 Missiles are too fast. Thanks @bocianu and @mikerro for the hint. Speed of the shell is configurable now, 5 speeds available. - enhancement: https://github.com/pkali/scorch_src/issues/27 Remember game settings between games. - enhancement: https://github.com/pkali/scorch_src/issues/24 Remember player names between games. Thanks @bocianu diff --git a/artwork/HIMARS14.asm b/artwork/HIMARS14.asm index a980332..c658213 100644 --- a/artwork/HIMARS14.asm +++ b/artwork/HIMARS14.asm @@ -45,11 +45,16 @@ regX .ds 1 regY .ds 1 ; --- MAIN PROGRAM org $2000 -ant dta $F0 +ant dta $80 dta $42,a(scr),$02,$02,$02,$02,$02,$02,$02,$02,$02,$82,$02,$02,$02,$02,$82 - dta $02,$02,$02,$82,$82,$82,$02,$82,$02,$02,$02,$82,$70 + dta $02,$02,$02,$82,$82,$82,$02,$82,$02,$02,$02,$82 + dta $42,a(verline) dta $41,a(ant) +verline + :37 dta d" " + build + scr ins "HIMARS14.scr" .ds 2*40 @@ -202,6 +207,19 @@ main lda:cmp:req $14 ;wait 1 frame + ; copy system font to $a000 + ldx #0 +@ lda $e000,x + sta $a000,x + ;lda $e100,x ; i need digits only :] + ;sta $a100,x + ;lda $e200,x + ;sta $a200,x + ;lda $e300,x + ;sta $a300,x + inx + bne @- + sei ;stop IRQ interrupts mva #$00 nmien ;stop NMI interrupts sta dmactl @@ -344,8 +362,10 @@ dli7 dli11 sta regA - lda #$01 + lda #>$a000 ; system font sta wsync ;line=232 + sta chbase + lda #$01 sta gtictl lda regA diff --git a/scorch.asm b/scorch.asm index 29e4cf7..ba27a64 100644 --- a/scorch.asm +++ b/scorch.asm @@ -234,6 +234,7 @@ skipzeroing inc CurrentRoundNr mva #0 dmactl ; issue #72 + mva #sfx_silencer sfx_effect jmp MainGameLoop diff --git a/scorch.xex b/scorch.xex index 7f5ac09ed12902574c95e7f30d16b302adbcb18a..abee24125f7d33d2ca542aea256a29624070157a 100644 GIT binary patch delta 12809 zcmb_i4_s7L_MaL4Bf^;f#=kr%O)`xw)5)zBEdz7Z601#9rxcSEEZr1x?E&(XghveT zUUR0V2z|(7c{EhNYN|197j-DuXPSSrv;skc=C{Av{_Lv1?|m~MmiyVc$$Al@EGH_nGWkZzn)J&=hZs&9HAV?&TgK$LsM#L$410AIsKG>XGC$Z%uAVRM)* zUwY@-_0jnZb*`BB`fbTYFEslilc zG+}0(a|vc>IIP}eO8&celZnfl!8J_hZn;x22qoNiX&9%HaGO>G3D4RY+?mJf<4Ke6 zjP$^yG5oA_))+aK{3eN5e8b7cvBW)`_y&=UNyI&fy_}jr$~i3>eWxap@%SP=I{5IJeCkZ3vV+2U{@a^mW{KCdp5DFeMs|Z zsoV^veTXs?QgZztvlZS|UFu69LP@P}3em!B++9%MTIzc=SKMcU(gF$GEC!<}4NI?s`LU401GvIx-XlFz0P?%w(8781B0ybn;(Pr04xJ4?_oyST42>v*C? zR+nsd=MlL?*wwv2@-Bg)R1(!s17V!_gx<*(@$CGz61k)~o@n1Pq|2N_r2Oit2uKSB ziut56S}|B2&&em{VV11eV(nY@4t1*dyBtb9qK^T6wUx@HjAu9urBoS&`RkfWBY_AX z^f#!<{698kMZp;;M(*8o+edd|iON28LSvUT*_HGVQ6fRF#(wOdRQ{uXjpsY@q_gf* zC*;#-Ts2EtJZUJ;AR!&pf9kaOib+La8hTquMzo5USN+(|+Mr;4w@ z48$tNJ~`1p!1H~LcUBRk30l^XJ4;iEZz8c|rxI9`Zvwc%q@a)HR8k(%nM%winA;Sx zH7&im#Nr!E7~)vsOJaygWJRqVjGK#y=LfNnK)y{RzK~3~+FvGsQ52+OwO;F@g?X0=gt}9raN5z3ej3G5jjNnj+P_fWuK0mTU6L#Q(WKgQ8NERaKa4$Rgn=}ff2uNU zh55Iij?{j@SlFcjan8#aJ(g4%Dm{vUGrUx3s!CHLxre{9r*BW+`G$8zZr$&5&z(Cb z4%SL7TH6~dYF4DC!;e8mizbcxbw56qq{PS8R2e{?@RH7q3wsG@wJU5(zN#`X%|*f3 zJb!g3=<674YlqcDu_}}pS2;D7cb=ZB&iQw?9f*JuA zB*rgHAnMegTmQoQIurt*$Qdts$1I1%gA(WzR-O zfGbb9xQ1w7C@DfQ_ovl1U)pDDi20B*p}T2kdP>ms^gWIf_>2tF{x#c!Y@2MZs4{Gp zd>Q1_d=eN{o(SRQGYr|`o==$na18O83FrYZlQyaSs|xL7S<;&9T$!}-c1sfc`5-md zl$_vC2t?L+mlSDHYLQ7hsKixS%3>jPne^7}93L`$ETO(7Fp)eGTkG4Op6=V1o^Fqx zIc(;HnbT&@pZU|wzs`K?o~W5oGpEgpnmK*e>{-8^_2BHsXD^-ghg3u<#JtkY9olFN3<7 z^$UWycjsL8R&q%?46fH
D4@v9Fo_c>4D6BwV#i*$*= z?ElQdtn}^00duoss=+y{BdIuts)b+DPMb-PLnA9_WtOQh$ z5s2=dddqC8RfBpSWm8Z>I*03ky55~*mGe8U74ki%eFdQGhFawOthuFd+ANNrwR(Y%^>Y9>A;+5XXU6 zcTQVUxa26y#=Qh1`26gc@Dtx&;y+Lxq3j3DR$xnx5*${*S{*?gFl2%}kHNqZhnklN z1?U$F!9duwH60SJsBJQT(c&QxFD1-ou`#Xlh(qAZA}v{yvOgh0v0UIc;%vzGPw||w zU0SPL!}Jq2Klr3spXu)Rd%QvWdg9n@48#&mzBZO+bPw59SdRd(< zv&~hPpfwm$4SIZz0@g5A)2= zMN}^1Zku7pemO(f;s026*BOHU>KW49NXx&eGL)^Q?PX_3uqOom3-H%6w;fVnci=k> z>b7Ks>FTy1vJ#+fYllf!_ZAr9n3XGP)zd^9qJB=A`9|vLr#4b+=jR|Y#>U3hK$NZ8 zn?aYL#Ihy5ELU40MA%o@Bb#>KuG9`ZIy-w zD%KKJS~6*n^zEI)_$zvZ!a!zoEeV*)7h8eVVH65Ww=nw{$?PMM*~chmA4wD{ga)
;Tzc05_y~d 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

gl+XPE_VG|(jzDCq{G~2CEb_RG|=R! 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 GpZ^8G-JFa7 delta 12640 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 Rj0is_|0M5uY{O&M{SURW^}qlC diff --git a/textproc.asm b/textproc.asm index b075064..b03107d 100755 --- a/textproc.asm +++ b/textproc.asm @@ -247,12 +247,9 @@ AfterManualPurchase ; there is a tank (player) number in tanknr ; we are displaying name of the player - - tay ; from 0 to y + tay ; 0 to y lda tanknr - asl - asl - asl ; 8 chars per name + :3 asl ; 8 chars per name tax NextChar03 lda tanksnames,x @@ -562,16 +559,17 @@ ChoosingItemForPurchase cmp #$2c ; Tab jeq ListChange cmp #$0c ; Return - beq EndOfPurchase + sne:rts cmp #$e beq PurchaseKeyUp cmp #$f beq PurchaseKeyDown cmp #$21 ; Space + jeq PurchaseWeaponNow + cmp #$07 ; cursor right + jeq PurchaseWeaponNow bne ChoosingItemForPurchase - jmp PurchaseWeaponNow -EndOfPurchase - rts + PurchaseKeyUp lda WhichList beq GoUp1 From 61ff5e47e1531ac09d08a6353b785e5aba7202ab Mon Sep 17 00:00:00 2001 From: pkali Date: Sun, 22 May 2022 21:54:34 -0400 Subject: [PATCH 19/19] build 141 --- README.md | 14 ++++++++++++++ scorch.asm | 2 +- scorch.xex | Bin 37810 -> 37810 bytes 3 files changed, 15 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index a0930bb..408508c 100755 --- a/README.md +++ b/README.md @@ -47,6 +47,20 @@ With the advent of fujinet (https://fujinet.online/) we are thinking about makin ## Changes: +###### Build 141 +2022-05-22 +Debug build. Thanks to all testers for finding numerous bugs. We tried to fix some of them and we have introduced some new for your enjoyment. +- #73 Fast forward. Press [START] to speed up the game where it can be sped up. Not in many places, mind you. +- #72 Screen glitches improved +- #70 AI shoot with more force than their energy allows. We might still have to revise this one +- #69 Explosions wrapping around the screen +- #67 Screen glitches after intro +- #65 Saved ~90 bytes by removing cosinus table +- #62 Empty list of defensive weapons gets corrupted. Plunged it with a new defensive weapon - "White Flag". Honor of the tank crew prohibits them from buying it (yet) +- #61 [SHIFT] was repeating the last key +- #57 Fire too sensitive on a real machine. Switched to shadow registers. First recorded use of Atari OS :O +- #55 Glitches in the status bar. This one was surprisingly tough. + ###### Build 140 2022-05-15 Huge internal changes by @Pecusx. The whole game screen has been inverted - ground is now background color, "sky" and empty areas are in fact pixels. This allowed for introducing better tank colorization, fully devised and lead by Adam. The process started and results are already promising - the colors of tanks and the status bar are closer. We might get even better ones in the next builds. diff --git a/scorch.asm b/scorch.asm index ba27a64..371e832 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"140" ; number of this build (3 bytes) + dta d"141" ; number of this build (3 bytes) .endm icl 'definitions.asm' diff --git a/scorch.xex b/scorch.xex index abee24125f7d33d2ca542aea256a29624070157a..7335a42dfb09efd5d76e0d6fcaaaee47007454cf 100644 GIT binary patch delta 25 hcmdnAoN3c?rU`|Nf|D7A!Z)5&(qt6e{6_OwCIEZi36%f< delta 25 hcmdnAoN3c?rU`|N0+Shq!Z)5&(qt6a{6_OwCIEZM36lT-