From eb15ce0d7813c8ff03e1d3515c41043dc4a0b542 Mon Sep 17 00:00:00 2001 From: Pecusx Date: Fri, 19 May 2023 10:24:25 +0200 Subject: [PATCH] Exit optimizations and better delay for C64 --- game.asm | 18 +++++++++--------- scorch.asm | 10 ++-------- scorch.bin | Bin 32768 -> 32768 bytes scorch.xex | Bin 56617 -> 56592 bytes scorchC64.asm | 5 ++++- scorchC64.prg | Bin 40021 -> 39996 bytes weapons.asm | 33 ++++++++++----------------------- 7 files changed, 25 insertions(+), 41 deletions(-) diff --git a/game.asm b/game.asm index e73903a..b955ff3 100644 --- a/game.asm +++ b/game.asm @@ -43,8 +43,8 @@ MainGameLoop jsr MainRoundLoop bit escFlag - bmi START jvs GoGameOver + bmi START jsr CalculateGains @@ -369,8 +369,8 @@ RoboTanks cmp #@kbcode._esc ; 28 ; ESC bne @+ jsr AreYouSure -@ lda escFlag - seq:rts ; keys Esc or O +@ bit escFlag + spl:rts ; keys Esc or O jmp AfterManualShooting @@ -382,8 +382,8 @@ ManualShooting lda #%00000000 sta TestFlightFlag ; set "Test Fight" off jsr BeforeFire - lda escFlag - seq:rts ; keys Esc or O + bit escFlag + spl:rts ; keys Esc or O AfterManualShooting mva #$00 plot4x4color @@ -410,8 +410,8 @@ GoFloat jsr TankFlying lda #0 sta ActiveDefenceWeapon,x ; deactivate after use - lda escFlag - beq ManualShooting ; after floating tank can shoot + bit escFlag + bpl ManualShooting ; after floating tank can shoot rts StandardShoot inc noDeathCounter @@ -429,8 +429,8 @@ ShootNow mva #$00 plot4x4color jsr DisplayOffensiveTextNr - lda escFlag - seq:rts ; keys Esc or O + bit escFlag + spl:rts ; keys Esc or O lda HitFlag ;0 if missed beq missed diff --git a/scorch.asm b/scorch.asm index b6d444a..d57ce7b 100644 --- a/scorch.asm +++ b/scorch.asm @@ -126,7 +126,7 @@ FirstZpageVariable = $57 .zpvar RangeLeft .word .zpvar RangeRight .word .zpvar NewAngle .byte - .zpvar escFlag .byte + .zpvar escFlag .byte ; 7 bit - Exit game, 6 bit - Exit to GameOver (cleared - exit to Menu), 0 - nothing .zpvar LineYdraw .byte .zpvar LineXdraw .word .zpvar plot4x4color .byte ; $00 / $ff @@ -585,7 +585,7 @@ MakeDarkScreen bpl nokeys ;---O pressed-quit game to game over screen--- QuitToGameover - mva #$40 escFlag + mva #$C0 escFlag ; bits 7 and 6 set rts CheckEsc cmp #@kbcode._esc ; 28 ; ESC @@ -600,12 +600,6 @@ nokeys ;-------------------------------------------------- .proc ShellDelay ;-------------------------------------------------- - lda CONSOL - and #%00000101 ; Start + Option - bne @+ - mva #$40 escFlag -@ and #%00000001 - beq noShellDelay ldx flyDelay DelayLoop lda VCOUNT diff --git a/scorch.bin b/scorch.bin index 77ed68ae7050e33ee44f6d3406b57e0572735f6d..a9d1a3ab153dfb8368b0d5a6593e6dcdd3bb1359 100644 GIT binary patch delta 7237 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 delta 7270 zcmZ`d30M@z(mU*Ohzm0+$|*Fk94iV$jiSbQE0|F z;_3gwvM>gw9M z)nV&ahxY$8m>&fNPDahEP{|g-fK7r8KNKEf zqo6>)BnUM27E~1hT|zmTHrSIoLy`surv8$ET34c|=h2n~&9&&;$aRflI6LS9IvS65v&e4&P@dhOL0>$F_{FfI4l_6fh3kdEuna1D9<5CPj<%t+%?Vv4 z9}Iq71>mD(pPF^6EJEBCWGz5DH=u9G9kmba1)bW0UMWH!7NaOK)NP(2y^uW+-`v(~ znMm7QEVZ;viMH(PWo#%)-~6IQO=DdvphP9RbRlf+L$r63K;f2Voh2&?yQ3JLB~@+n zLm@TII+U(M*^Bv+R##Dpe%i!evr!y-X@TW54f@VX0M)BeOqmRZu_Otk81~WDAe*NZ z*<7s=q8}2sz(Oc#A3AqH8Zbmq828b@WahpeM5FuFu*&s`H2S=}NheErccUzkKWpcNQi%!kDTH_x2F>8Y(NpfH3`|if0i5|e0 zw_S(Ia``;0gSlNg`P6-aYFrA6Cf@Wer;b8_f?*5&+n}RGLSTh&7pf%3n69S_bAem{ z%NWrTJv#9sj0A)ekR8rn{Uq7L=3eRaAlZY>UwmEuMN3HIkPqC?CRXIC&2J}GP>QJSnx!}AF0?kHwoVYDDiiZ63G3}ROF{&q0}rA;K5OqWUI$>fj@21Tw~P2 zbbO5)ICPHp(>jVO38bZL?kBH%_*2w`lfMmLO;PzL(>*6UQye+u?~@5Z)rTF0IP4@m zi=7cz(*fM+l_H@RyTOhbQ$oX1RGrAT#kR>7YLhJ_IN>$~UOnK_FM%7wQ6tC2#$=CP z=11_^EZin2DqLxPdBt9Y&X9nBkqbgsSsg^TORh9?S;nydP>Dm1xzg7&)s{>(bNWH1 zS^_$W!vF{q09qZzMnFs8Uqp(7sS?$$VnfNU0AHt^B)rV5C#?a#KEt`LLE?8_ygu6% z>nk1la!m?8|C3BL8cse9i1iwLkX^#bAppDj993{&F^WSeWEu(%ILryRv0j*ibA=$B z2L{g7cao!lLsgek*_q_6z^HL!R)Z=)2Rd|0pVErw-370TCGPy^khGZ9zoT~OEpH^l z`k6!%6lh3F7M;xA^d~!$+X0kr@)GE(43odWRAqSa8QCLn0lzw1fnNe1{2Dr()vTAm z-jBgM0c=T1#z)c0EEA;TstoqyG+|D~-`s`Rip}oAxr*7+XpVcc-uz)At}%a>h-;hl z9W{~$>859f3yP|Yo-QQ*%hUk^Uh?W zH*Fb4|C~e^&6og5D~qI+S4U0Z8_88Q){IJ(kX}_IoAPUtqKO{+YlbyaR0|Ps^BghO z(k#qJi_Q>&E2QBV7UOLnj*Y)->xLoTh<6t2CabZS&Z?HGMbvo7O>)HWc_KOuJ#qs00^z!r%1D zR$@R`I`cPU`UedFWBLKe0LUxb4g#rNG%RjaijHt+bkQIPr&YUT_mI=Jk&6Nz1h~pTqG%yCKXML zi2}l^f->eO>28OsaNt&cdo6lnEz0GDS&#|mLneHP4@=ol&`1}{(IP1wDzF>e_XeCI zxMFvcPEH1p^7a}$Op0R$54fOP;ik(Ej^bE9??oR zhn%ocj`u4YcJyq;gcKFAte71u~xvGG8>#hqRe%T`8(~y|tQL9>r2uh=0V` zXGluL5%*@@nLV`mUUEgFyJZh8N20*n6QvY{Isk&OKZjs2*%R^1i0^cNiMk$vsKex8 zLsPm0X}gIV%vd{p>o0KAekj-Ki&t;sdDm6;EdFGp8XM@Y$- zv6M(ojR|&e%po6)8ABx!=g4>}k0eEgPzT9o`0XT(kwMfA(jDpVHDmpvSpJ4v0Ao|4 z{9^vBIFV0}9*6qKuaRTDXRHTU-&WC~uY@l-zY{F7_52Q-l4Z%fDAwop`o8sEd}+1| zF6GN?>S))PTc!OfT*h7|ZBd@8`t|5G>4_Q}nO_{kpSraRr}3}%D{wl9jNwn*T8}yY zB+OG`-u45H)7pNdB_s)t4jf=v|0kAR{~yc7=*iS@aw0mLt}K$u9bOmPpxB{YthYO>RzB%EPsBJVw=U-m{W zTbPU9$VK6K1A}$aK=8*|;At`aE;tQ%O%!lbW!qcO`9e4bVJI$xqJx6$LE$n<5m;oa z-bA5SrIJ&gkwasBJ;2auqCm4mr?RL1EeXqCelw`s9DPeJX{#B^gq`;MI)^?v3M}rwp7s3)=@)|B+ z05ds0KA37CSH@3s+Ff9BGW!v)r`N1r0?d$goq!oiUWr%9mgGw(A;Z;>60E^;QiekQ z(K3)KgyGo835u3Fg>Rk0uTC+tPT^mt2N=A`G10&_SOr{Q#2Z}P%~APt{-{ym5X z?);TXCHuuoKmurFF18JZ?2%Trxk}H*677U+KXb7-5)^1bdx}kp4n0om(8D&W^x!mm z$gv60R22DiLY#wAPex6gKvj^`i80g=Qa>?rNO3bhVX-yileeYcTuU+eU?NX-5kpKk z^$Tf<8AUB7S7JsDnrknP5lfsVX-6hJniY0eieGVmEZYe?X%zV_#>JN{lSu4zeiE(&;zwyh!clQ+9NCRb&Mt{oW_)0wGm$s}Y-p_>HaIx=7iU$SM2 zw{u5E+{3Ak$>hS6aOXY6GK$=vGK;D{`Rp^ZDCZG4n_rtPoGhCfKsi1w-8tmwv%v;W zLvJthGn{e5rl#}4QrwL^4Q;M>9J`;=SLylgxQDnK2)^v;3KuU5ie?==+|b9>=tco& zsZ_%Sy37sdcIe|CR_Qr(r&>X0z_||aO(7H9QB)+7` zP-Iw9no+v8^!_%L|Mm@~MWtIy50oA(Z7gjq?I=C5?aggxw~g3t+g5C_kr$_hEH-0d z2tE#R?2V6ug^l7@kUfrz-$_tZZ$Rgy7vkKeHH~ep3~q)emNACE(C>&ZK=8hUHtvRJ zq&w8#$C0jDaKuLT47o8a#8p>~&R}3f;bh44xzt9IJY5r?Qw_v}B`RSsFqm<7yI27( zd4oR!f%I`TC#@{$fI>^8C=aqn`2a+U>Dl&}wnNB;>ERPYOT73rfTuyMr}ODhk*oML zYfroL0GAvxJcl>(sdy8g2KRV6+~Q_3YDNf^Ll({0N{u6zXJ{xL`C-N?&#E0je_Z@g zHo;xl1Uc30M)Km!HQqJbBn?z{4cab2lsmY(!ZvcqoteH=7;&C8kxD1iW{q23vn{K& zm$`B25)EY0O7?!KtOXpr*2ybdweB8`v-ngiBw(JiPHw-!j{6(f^|hZupn$kn;AkVE|EjiAir>3OFha=)Cn z$`GRip%6}*YDS6fm!l4;Ddez-;+l25UyD{{3#`>Th)OoUyp6tNeF&q_UDhAv4?j}d zX>}F{L83${9NSR_<#V)@H6O~4OsV36ZVa?~qV$>-iwyBsHg`w_vZK z+*%64N_JVx;B#h|6~l*=Yo}QqY)h>!Fxj_DekX>M%WuMKyW|(5ST4UI^UJMnKysqo z>JFc`%Got#ytkIN(zd}ZAYWykmBRj~461J>E0%*=^%6lnl=V=PTfN&OALNiZalU~u zWtOe9F`u>+(Z(E_g=r4>qAQFm|K~wI%`PV;aau!68L$~+0M{?0lt6erpN_r`-zS73 zFuvqv0`y&=$s!dV4{Z{ya0(g(()V{fAY=Mf0Jf?spCtJ!afu)gS~rrsQ|&Ub;;-aE zG)VH=|48DAjZmLj1K{zcfZmf$`Ct!iuVRT|{>Z0?*VsN6y@ZDg!qpYwYWaBBUNG1K zt-3<1hR1@WHrNx_qj?GPLq^HIN-od$q~0a{^V1+1vCnOAe}6a7+=>xiu-_5A&t*}q zr1v>rvXD)pmXKyP>Dj1tqY)FWM3<`go(c`aTPs2s{z63W)V}7V{h4F_%x zpODIFoXVe)%50qexD$y!C8rkepIeqI=NqYPHBO|BvuWdeT1r09^NO+;OlUz3YO6(x zI>-`xyJ@N9-m&sO-Lx%8>fnw<7x$quviJG$k!(E%#$Bk(9U3aiPG zB|fvxK>HTh3ZO(hf21-3^yUk!j+IiQsRbR+yMB!BD}eka16`%tLaN7(=dtskr7MqQ zIo^;E&{?v3NstHJuToV2*MJeyuhm0D!ZvbliBF=m5*m>&CqY}N^+#I}q`zsVl0Sa<$dGItSh=(`pm;}G)GxtL+ zW)y}(+=}BR?6U({JrvU*%@GP~*c5Xeo~7kf@ za7?;%>{T^ebwK8{*XNKG_#@V#HYFGg)&<|`Sn2}>z&lIJs5@k7B8hUUsW?P)@KUx7 zf*Z{-rk|>+;aZ^NdfZUzsNq~&%F4{kYGTdF#4{-%5>R@n*Obd`sX1H|Rr^D2K;62! zf7E5x!0ADj{MqW>{=N1=%K%G8QV^9wb|y`vyh&$LlIsgbR8xz3YN1F%$&u7f5}!OW z>;)sYHn*s>d|!RTP@kZPv6E-c2k!+>wK}#BmRudlS1TdOb7{FD#YsXGb?k&%(wXez z{Ui*G+Fxh)QS<`wT^1Fx!Dw}Aca+oW0N)>Iptfu5A4>w4`H)@9=*YjI&Uh@*q(Uji zCtQC6>0b7$D(4k=lqWCu4`?6m#b3>Kw3^!E@m2QY`WXHyRE<}=uR{G-05r2V=RggGUbb9J~wvG)9f_?m?~v=gyx$AM0zi;M0!DP5Mb+CEL>2_#)XB z*OY69?x)_IMB-AkgC8HQ`3CdDpWS8TNZ9XfP~+*spHeqA$Y@R8sD$dJro%ErdV zlOdUJJDga1Oi4A9oa`GS!uqLh)rqFD Q(3UXCPpXsm*1IwP2PvIii2wiq diff --git a/scorch.xex b/scorch.xex index 560ffa16ca5e005169a7e4ef2b36cfac7f9e9024..2ecc23d5bcac4ab9b49e02cc978880947036195b 100644 GIT binary patch delta 7180 zcmaJl30PBCy17YMjDdSaRHA~1O+^rKsnUh2t<#70x>KN{a#^fktQf!rTq4NDu!QX( z0VEoMi@8VyL~WsF)R{^RR-4-Do3^8`Zj4NAn|8*r&g;nh_Xg}TeGmO|&-u6Wpa1;Z zIed?-qDR)TI+ggWD<<`kY*bim-A1L3ddy4Mc(f)FZNY2O!hJ^T{~622>HihWJJ>;f zkTvoW^l^;oAU36qN&Ywn#ji(Stwif%f^I}SK<{sGj&7my73j)Jq+Nl&NOXcOqm9ea zLK5D_fa|b5 zeVNDZT(opAI<*aHwxZ8*=%(==4`a~Lz34zL`d}AQ;Z>WWwaaqo70X*Jeb#xT!`)g- zI%KGzs*iFYm8NC0RY|hyRzTThG_?%2^Et}d$rG%(MQ!~)R^KZ{NNr70I($*6p+${e zSEJySmJ!!%6YVl|cW2NIieTuXrPdx2G#(oR+Si~Eod|}pAgd)sZLK100giDt z-CX2q%;5=eSxoLOq-jR#%Hr9c_rJ$?_>W2B0l3f+5bjOJ01SwLGq^n z8~bZ44&OR)Ov`U#61URC0^GLsIid;Q*%~;n_?J|4(@uW(e}Za%4Z<&JrW052Ce0pV zH-4a5K3Y6BC4Zj1!3-TE)AeSiKS7XPyRya-@~7v{#daOcPH-cZ;_r5i*FKEl`}Gl0 zezAV0lz&-2LyEv&Qo%J2K8pk3Uhj(Qy2%L1tL$`xh z!nvUfD~$2pebi%c!8Fza{0fpw(3c^!H4&X&EgrUww0nJ{AT0`9ynCef^Yu1QyT?@p zNqsC*(*SU_k2;|sZ*5dsH!7)~ryG?5(9J#?fG`1|&BfjXXaTIW6O1hke3njxsYOBB zWOg?$Veuq3foYDvbY5ncnj{7B-9N;#Z+8E0EW3u`DOSTHR`7)^ex!uWHn(IwRFKGq zC++beY&ddHw9lvp+Kmx?AE@r4g^Z{pMyJ!3>5RQ`>K3~7ellRuI_5|e{ zDSl9YlrrUt_5$PZuL#!l6s+qH*5xMz-KC_wFT}nWgV<+p0O5yU-0SPTAdSywQ+aQ8 zL!+eZ2vugH&|SQFFADBUEjWitl8}6Z(|m5A&kcHPjId?8Aqh+cAKbZj^m834U?Lga zkz#+}(nwJrz2_*uHWQ^QI7hQdFd5NyWN5;jyV&0$W&7zL8T@2#kV{FDFbdFy&;Cm) ztOXNTP!6zRj9EpjECj?@qVqp_I8}zwOd8r92MUIpcIo2PgbUy z{CKJ|)rU(>AIomzHl$0~?ZCqxM|o*28Ud_&1|9`q>+LwU4J}ABsd#y1DqWMz|4zT# zlaJQ#@#HV)7YU=^dA4Y}Q)5{}_oi63wpr6@5Hv_Jy)=fGRHj}!kL*u44VqwJj|<|7 zVe#UE);;kikPAD@G|5~wlQVVH6CX~Keheq>3zz;Y8JF*Sk+_R5?^{5u$I86OP(un6 zbT>j1)<{LTH=paypy=Kd_?A;GYICGjMLro7Z&Z=i(d3icI3sWRBtb8$pqEdlA!lKH zrNNe3A?H&n4Wcp4_`SS{S!Ysh;dUh-3Z>;r0plkKUMtAF~SXN_Az-QR!3194B z$HA|A;bafrwRO#uj=E=Qrmpzn7YoP7JL~Q7P3XubA+%o=f_I4!yo2l!F+K7@LM^Gw z71E;w(xXt$wd`760V&h8NQ`>Ofn{26ljMZf8wzkM)Uoelv88b0h`{u;XcN&2$8fE1 z#!QHJ3A>GLgTq)$3ht^&9}VuBnGQh$F(4qtb2HoJXM4y?-M)C%fzZ(q9Dx?!wUwGQ z^QEg=?+6*Kz*`RljQcpI(FMhB>ZAVI=mIOAAZ-gfT+nRH9|-b`-GrXkK%IsRnV;21 zT|iMW_8yRb1R4)?1b=lP)NO05v5~ZH$G*DB6J|heTno9;0l6`P%{EE6Oxt?9oYUCi z@p>IiyoZnLW(D}J)gSe2QJ*a(yZ6NFn>?+hq!@NQ$8O_2VGDV9P^W^EQ5C&3_RngN z`RlN=V0959@^EQUDEz)#v|?&rngufRasDsEA_Py}0>-gslWZIR#SnM_jwp^&KnhVa z%@$pE2;Na#OO#-$WERnbUo8nFzQr3$!lAs@lq@IK;r^0fq7W-fg9#qbDh-JIa7!eY zb6>+UT<-l$HYv=Vq&)h+v`hPM2PH-H7x?r9JbIU(SHreu+6p;8G zz5ftP#;;h4{x25SvKNRWcwt#O31tY{98MkGC@EBsO1WlDVL%VCz0$6{tbUu*(!{BgryWGsz~w%=}CX=%F+mznGY=xE2D9xfAZ; z-0K4;CB9kt;*{AM?pO!`E}5St*v#@z(jEq8Y{`Koe8e@}!2m6IepMi$$0=3wUAJ#D zxpuc;bJbfLqJS9^sVgu;uPgA%=*`)}Nr-Tz(8C9cdA5ptwhZJ9ehh1bM!;MrnNTO0 zSSRtVllaw1CS9_B!w5GR3CplaY%-f7>W%-31A@4ui=RTOU@m@AA)~Kt2NFP|mR*jK zkVcX#_f%@=*|;00Pi)y`_XP#aC})>R(y3vSJ2kM4N)32T4t}{hf>7a%>czy@xVw5D zu@iq+9Vz{BI}SZKeN-Ma)YgBruw4&?-%M*BPCv*I$1zzmmFUNjHPeWfaZ1g!5q4*< zjOO8*nh@Vx!?T>;3j5d0FS~gB=bF&KKRlxlTl?Ls;hZaYIoruUHo*sa!i#7Y|02s}>@iCx}@f(e(ALdC%^H%uAruI=lip1|=o?rgruzrpq*cf7N~UwfwpUD?K1 zE0jV%It_A|XlvK1@r)#6FVcKY>P+O@rXpd@-Y42+9Xbik3bjrmRc`Tgzt-3o5+->kh|z(9#NqI>O7 z|9HtgwL@l{NA_VKBT2O4sm6(JC0cY6?sxcg%q0|a7Q5^?$j`lfZE}tjA&e* z5Ul~uXdQwGvAM_@n@$K$Iy{vahl>yUs>bDsF3vIR4laq^$t6PpPJ!Chiq9VoCbDt= z;e7$nL=3)enmtOlKdrTox^wj^31m>gzrw1cXam{}*UNUhf*%XNa(yA_Iu7ajdE&ZJpg(c1%A7`IC8?lUS|3tK72GtI`;rZ z&EEJ=M|IFLB{hzLE$(Ps0TFkpaS8m6ZVCu}co0nPVoF7SU&g=|e^Q~1cT%WrY!Y`$sCjIP=qRoDa`P#Os(oCd7O7zs@cEz`N`~Ym z2*bk+MKCRDC^+U2xg(%9L<+fXZ?T2EW*dZ2c#-X~_A_7RZC5XI1qI-7?* zLda@^;$=^0jo>{5URzX}pmi%`=w?;WdRU~aig$&}8|>l+{i(LtRtC~aifrZZ=`FIg z!N*u^tF({c5*H7$iS(z%A@gmXjwHD7!X>RpysOP97H?@^7TNp(_<6B-kK0>p3x?U* zV%y8``LNg)1?hT?Ab^h3S$0Z8NE_)GX@+%|c3(-LZ|a0bSRt^3!u50<9%z~7AELAF zBaPXlHJ3DQA!(Ry0XI~@xZkpwEQW!-wWTL@PLdQkOSBzulPC1Z;5*Ya@42pL_g6Rx^77R5E&+>R&uH@x9lN_Z%<;s$dvB%nd_ zR?j;nKyp8lU*pW}d-ybB4&K90z(i{tk$~T9jeAM;b{L`}Wa!gM?vg%;;%xe0io2|z zLUAAJr&2*R5q^ND=npYYhsEEt&LKX>fybu@zo!R`3|VsNf>Q20 zc>e`9$?|uh4}1iDU{K9g0f)od{hovGufwAadR8}G=_HDtUJeT15u$>=Q3fF;e1tK+ zbbN~Y7iG3!hcJ13d=7C2hqZ;iIux>S#T<^>;l*ETeyfS;29vvhT6b!A57r2MBy^EK zv9KSoedu{y-xfwx;}6=V!|$WE{ITEFG!B;eQ78PU2Vc6_rSPcXN7?6Ly(PkvlBKmW zX{}Zj^w{)1e8sYdNX4(82=;5wrSFzoB@}c@E)>N5Wr+I^A?_vY?}Y}u?8Hpp_FRw% zYr3_bOZ>` zu)gS%DwK(T*D+Q5Nfq<#p_SpophC@qht{BV5egJuk7V#R>TpNj)(NA1Yz^qVjw$UW zQFcAo1VPI+LoCCSEQ1d2u=!QU2b6Xxbkj$LI?Jn}T{#91j;YS)NZyytkK~RHDB)G| z*v=N=X?2@5?gV-9XhkS&hudazsSqBH%&0!=)(NtI8yvIMi$onsfkVJ$}%+#Tc*%i((auydm7?P}=MjJy|Q z5&Ikg{W73Mtp7>hiA_#yBVdJE0XZFBdp|iye}wrWyyoOYUmmPwl0au}lh|FLOSjcl zz~!Y;%zOmKCl?U2@uw%JP|s`Vzg729hhfW}aFDa{$gbxiW^16QetJR(8)tJ(8xD$` z&NdxV4tLb%<&c4?U{P?etzF}xuPEu#Nx!SXV@_4gP#W}yNd~UYjuGc24wuLQqSC;a zp*MT>nAB-t6lR^SJJAr`y&m5}3E@&B9-hwFmp8Q&?4k=c})n_pa2 z-{>_yAavFXuPgx{2Y8*Q!~E@I9e;`;@SF_LQdN zU9u0Mhlj9Fw=e1# zJDEbgvJZ(&?DhUWXTd%QyT*QTOQY}d45N{Bbi>`@Sg}xykl{5W;eWl zYPxS@_nwfE&yKfyA%3Z6!h+}qXk2#)M@zubk{ypwbVKhBxP(EU13-TOP8$Nkb@CaZ z-!LKW>p}RP9?yva8zr#8ljRa8;V|d<7wb~I=QBcEQD;2r5D$|_s0(|fAr};(46>frAIo>e)gq2G$ymC zvg_s}S-|A^%M!EljLyHqhYw@Z`)fvU!+%}!i(k7CZTS1XYWD`7{hs?lWyEEdRc;-; m@$mTWi(Mx!zeu<`)yLm{80CRtO|#&o!6aUlx}Lw{ApZ^d?PFp9 delta 7122 zcmZ`e3s@6Z)|v2*kr@>gP~h@VK~Si*6|1(s7u~VamI_tW;h}=Dm7rDuF^CL?M~x?z!iA z)%Q5@Jx=Yfq!M?#;!^K9jheHnW|LA&{lLrE1eCrW<>J+8)4hXq9`Ss(DnZp>=T~SE6pAk2W|)*HBq3y7&^(#G-$#cYxkUn^vL) zG`dU!<*AHG$na;B^b+i)(w&#Hi6~Ibj{wGK@ylp=94s-9Che}M506jpb_TEs+tObg zS(1$s_n>!npu7w;h{HGgj(ix0+V`N!Y;+|Dh2obt$7t4O(XlI=&HdI{q}|DM zO+`OtN1^KGEmkGTs#*YLbE2si;W+<5+Fd-snwnKsB3{=gN0BOPlG5&n7FRW^&}tQ$ z^pe@*Lt&!L3EkbrU9l4kU9`g5LxRNP;z0UJ6s?uOFcx_=r>LwIq!45uFCe=@2)9i{ zwmq;F%B(=w4~c^a%*zZFBrLKp-+7S8rwX>YHj6}$iknmtmkT>3j@&7`KMK{Lt2;Oq zn+qo@R9P2`$9WC!R{0VaaFr@!!iAl!tGocetw4qLW^&tD70ex6aL|@#oiD6GQ8;l+ zk!x!fPr&e-Ess1**?gdGs~nZ!yRV<|$;NeSV8o-1aVQhN|HcG@#$Ug2 z)iZvTE>meqT&3HlWYE9xrL9w+)u-{>*-l=`cJX=aC&1z=*TH^_I(OLvrHka>0qm;Z zV)68hiDSF}5VJmmCRXCsjAw{Wd?O=xR?V-e=+0ey$?rjL{}zPjs;3d3;mzt?q6FVk zuME1oE945L;M8h3 zwP+sO_z^O8yQz8Gw+a${f~j0@;u9Q}8{<8-jvmKI?f_I@qF4rWO)w|`7v%;M$=ICh zyAV9|8HUf-z3j<*>0a>!;TtG^NOy!X7D?&>UGNJY1fS3n3ikmm|L zE>1i$eKZMFC4D3c&1wb)u zaO>Wv8Rt@k={6-F4%z64p_-&&9$|9>e_ksNr@`=yV;Bj;A$A>o4twT@E9=%6=8;y% z23*&O`M#@kYcOF`PkO%3kWq*biix*5OC&L$%8 z7wmZWeZWp08If4iL}{s;<|gW51db^54R<8zp3SIjv*`SbME71Uy7v%!Sc;c?h?sy( z*{Bk$3&;4rB1HlSg9kKTMp>K23-WXeq&p%W*B4Ion30|qVKlNjS3+&iN3Jcm@&_Z0hKg55-W)!1_bPiFod|N+t7R`&Z^#K3F zP@kYS{Mr6+H_a+T18HTkr*`s$=OJDuLcFv?yo_SE8)aOku+HYpsfA5=rIsf8ah-NX zP(-5ch-b5^x0JM$Cg>VHt)-;oYCH$Y#S@O8$9Am`T#lk>?znGM!1K4R){7I15TVDp zMd9$v7sZC^)65X9kMdtXW+7VV8=xHPc9L!7KOF|I#DT^06c9F4Op{q_iN>x1Ji-Yj(;*A*FIh=!!5^1QA`apIh2N7nxHO3P6fZ6H_jzt>Yz%i}WB_G% zLK!*SDcdYACF*J9Qi*d*p8_lZ2l8z4fxX<`bNk`+dFKl4PV^G|UMcPS#nyqX-dujV zJDbmG?aC-c^jGJ>tgYG$^4bM1`PD1*DiicChG{_27h{i1k zmWJeIf=9RXej5*JOz;xcw9C(*F95Zn)+`jco8#d?!Pu+pIoDb7Y^rr0jw@5I?#QGw zGf_t-3feY2*dz{ke>M%QDtgeJO@_5b0#*~+0uwru1=qljX0>89LV%+atX7l+cF9s3 z2~;GOm(mOe=qGrAs*`QD@&tUF zcax~g^eFOYHV(9;T4r!03trzRD%JsZaDW}I>HUZd{FC0_xf_m-{mVmOx~M!5em9f{ zz%N@KF!k{&C~ednzl@ls_%IA=>L=Vlv|Df(0N_jIbEYg*b8kc4B|4ROMDvfNEdoy6 zodtUGPAAx82y<%GjiV}pi8>rt@q#P6!{}=1#x)fiH_)&cN*7mH3{|SQ)``y9E-Frf zE5+(N*yiG>u^(>(Zp@Em4Gb?c)yO8)$R^gv{Ay(WHL`&7w(l6R_mHs+o5UuwDU#Uu zQydh+C7t^_*e`SLBfS&-#hX9^Xw;o!9|4}7T%KF5rWfKCoIbHT$L0qDn2K-mMKE3TW^Xu{(U#tud{@@9P zRFm(11?)o4JF^}9leKt4RiI~UmbH*%i@?O$X7mwWUbS%aqIkB4YZlh%UHIeCUp2Q_ z7vcJ<+L5|!XkI;DQ4{8>%@Hwpcg1BiYOj^|GOIHG>q;szDT0v{>hA zVytsCG0Y*2QPZqx*PPJY)!fmvk3mM_Wj9rJC&MhVAA1-`!h(Ga6WwYx=qxm5 zc&@>BOhpMaYMv0ekD=m9-i0;Ly*S-4Nl{#hdRb`RP#~^0EF~)NKMf%(b(KIoLZsqH zzyb@~*KX5+W!>P8fImE}WFTA|gPSs-$$O(YW-!R%m%|Wmj!9q4GJ5cK2L!)dA4*Kd zIrV-%llMv%&N1vxE{Wa6B|}O~fox*I9rcq49samJkBGzxheHSz&ON+-e0d?zAG7@+ zZV2&Y6iB11q<7-)4{v;?YM;21vtuXoC2&f)LLm{fT_lSkSb0TT|3(fv8~#RGKPCrd zhL1^l3O-<*MWo<9 zpbCO*0q*G*2(89HxJ7&A-aNc9`tP{xNQivN zemttl3kyfI;=7AHmSCDykVZ^l&i0_{FuBc%E-N;Z9|}V-dZ9@8LHfWu zM%ZcL1)B%NI~2gsU0PwJElLc2LsIJ|7B%qT0naI+>X5au@ZeDqvJSRstl(Xt6@znJ z(a>KN3kQH(U6D`*pO1@#R`|3P3*|NsZvC<$c0Evpy&!nnlLRp`n~S8*YkslRW!))~ zdaiGZrLL^3SeOJP7mJ1G;q!U1Fb|@7y2yaus5S4Bhmp{wjWEH!D=eR_p}*6b3zXu~ zz9|NQYw3;nljf;`(OPRBY1mF$vq{4nBn{Iyz+4qD*8lC%c9MP*2frPriPi!aLp0z9 zC6p5oUfWJaU4t)I3w1S=$bwHhf~yg&kw=-C*Al$M)IVewY5C*OoQvO|@qmm54*(Kp z{Vz%Wh~2Be?~#Mw@pg$=_DB4@(tQEJd2TZ??-qz1r==CzOr*-EqGL*d!>2fA0i z;N3}l3A=zxOvwq00_&`qMa_jOY!?t(6q3aN}jfTx^8)>Gp-liiuSVI$H1#631y{AtTf;x?v^ zP7ArD1Dq4;&882Pa%aE;&az47|A_V7J*e+ODl-6wla8X9zju&UC_~+}r2!N@zYGMv zA^HV9cmSMA{D@=ReRPWZcL#(?c5!m^=u9YeeOkkn!%hngA&SAVtrI3btmH?s2B-s} z3j7(#zQ^_h!T#0=g2TsKr@`-y*8Fjbs)nHh{#2Vkb?dr|O%9I{{*-Mt&NfF;;Eqmd zElgUA)dxys`Vc;8&Ly(&vu%@{Pi52h@%lDzITXuTZBO}~$_55NbH5D!f%s5@@b5wS zBbL0U@Oy2+V~=Qn;&+&#wsFLLJnmR9aQJP=c=Cn_>1oxmgG={jN~aMkNl0Rb#iU_5 zDF!QefeLjLMQBSEx=@V*Y9NRl=p)54xNzOKeWX1|d_wg@w<^$H9MvA0c&mbW@<__? z5s;)}A@hc;jZ&aL)go_r*R;DMcWIQzR)W-PnbJNI>1w$~@JFr*+!UTu8Pv2>@Yg#J zDs6Hoe~*Z%mM_4gI(!zR6T6zlC(s>G2%bBl4+qJ)9fFHqe9SQ+e%rM+a$pApKnbV- z`wbJTE`A%G0((m%iP1#pSEhFac|qiGh-EuSlLsG%BsY^7j;0@kp4y%RaNup<1_gW6 z%3)1gO{75BT&xYGFtdHcqXr0sk4z+8co51k13%h;|Jy+l3$c5r-^5-AtO3G-7}z2F z!prNohv=JF5>-6Oy3Pp%g|j>7!;-&tPN8DdwDM3tRSyUAgezEx?{+@(=Y?vhhaa_x zIml5M)9r_(K;|g1Ar5dygwb{b| zW2ib+^M1?`Fe3AS8v0eNJ2AoMmmv6W4fk4yxuPt5_C#br znL%)Ecaehb@UmaikbjAs{s%OvPxu&}QI6pkwqJ&~{N*PX-CM||4iBC5!^I~(M?b8M z<}MGqu$TKTL$co?qUKus6nc-o%Y8fS6djE}I2q<*t#zykAFX@Ko4cG2^aH=3pFFDn zt!SnH5o_P0zPaXz@&y88R zDlMz5+R}G<$jxWg(pOUQE9%-m8vM~SeEEjlBfVGu?Hm}sX3O?k{+& z*`V6rcKokrKKS-OKaHLg@$`}n8TpN!fB)?I&0Dw0*(=lsxRb)=yAS*pzh2VNa^b$` z#5pe{Y}!>?YjFIjudl~N@4lvJ;)ee;cYX8jZ5QGkzS@50i_tK&@g%7u9&BUc$`z$1ZC>YKXIMLYR_ DvBXl& diff --git a/scorchC64.asm b/scorchC64.asm index 2ecd979..e639b60 100644 --- a/scorchC64.asm +++ b/scorchC64.asm @@ -128,7 +128,7 @@ FirstZpageVariable = $58 ; $57 .zpvar RangeLeft .word .zpvar RangeRight .word .zpvar NewAngle .byte - .zpvar escFlag .byte + .zpvar escFlag .byte ; 7 bit - Exit game, 6 bit - Exit to GameOver (cleared - exit to Menu), 0 - nothing .zpvar LineYdraw .byte .zpvar LineXdraw .word .zpvar plot4x4color .byte ; $00 / $ff @@ -334,6 +334,9 @@ MakeDarkScreen ldx flyDelay DelayLoop lda $d012 +@ cmp $d012 + beq @- + lda $d012 @ cmp $d012 beq @- dex diff --git a/scorchC64.prg b/scorchC64.prg index a02c5ec44477de9bc1f3f68bd7fc879bea0d3d66..ef75fc4bf0734ecb48f3d186bbd0473ac74c414f 100644 GIT binary patch delta 6300 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

eka<>Z*~eU3S$}u$3h`r2Dc`lE87zHlB&DG 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