From bf1229bfaa9d1772b40db5c9830af5e1fff13f25 Mon Sep 17 00:00:00 2001 From: Bobbi Webber-Manners Date: Tue, 21 Sep 2021 18:27:06 -0400 Subject: [PATCH] Clip out-of-range gfx coordinates. --- applecorn.po | Bin 819200 -> 819200 bytes auxmem.gfx.s | 25 +++++++++++++++++++------ 2 files changed, 19 insertions(+), 6 deletions(-) diff --git a/applecorn.po b/applecorn.po index 516b14f2ea6ed33beceef0d2d1d03b7d32d6c015..b647794abf26e4bf33642e57a4eaf0d38cda9781 100644 GIT binary patch delta 2604 zcmZt|3sh4__Pv)dKq^8N`7Obx^4Z`txI}p zvK9@CJ$syP75AAH*5?`w+7{i`m1A|AK&@~6fQ<+V`I-cH0*l`@J1=LqIR5~CiBA6*}{ZrgxXH55{QqdhyHGQD2Y3Ty9jqN?jar1L&5Qg z*KRfriS)k4VbQLPMb!a1`rELr&qQteJ8{$h2HlJX{h&t>`4N>Rfayp%1BlVJ7!XJH zAWsa~@bcnPFd|6zO-i4d0S=Hg9dE`014%}rKi!hVABqQAk{p_v09H;8bJ4F7KrW`+697;4bm(W|86I7;Km|!^&`)LqNNz#vX5*;_ zwa*4QWC&8s0T4yc0dta!e#6E}UAy0~zEXF_Z}?fI?yO%I)@k@iXw|Ccj_wvTj*&I! z=^SjuSyT+cDsr^r_YnLG#2WoNac5_M7n#&U3~`<~s0-=*qj3mrvtk#{CIJ;`?3k4d z7Db0kHJNOtW+iJxWtpH@66tRysII67a5Z8x!7S2){*eh@CwC%$CTJlyc6_=L#FJE{ z7a6iZtT2{1BrzR#vVfc-KSPVN!CkRA#JCMj$pOp6DNngHl$8V0rXTq`b>t$YWMg&T zP%NptK&ih%bvYo3G@(N|Km}5nUV5h&?Q%)xqStc)iXFIZ4scUAqtXwe*G zsPjhu!6sAZG;Tt*8^&2t(LG6K)-y|PUgtAQUSYX_%L}WdYQ~aZE|sePY{|~emCEJn zR!c=;1ua#dvgAqS73C#0YSxllQd-j~x{J#4LDB}}U3z{$Eg7Ke24rj+V}U!pDkc5a z9eCBDUyi51&hzk+qj8uzFhXHw`>4r0*Z623Jng`2?GJmeu>svUr5|P}csBqiEG(g9 z$&9Vz6n(glu0y@~_)<+Mt^ll9yx*(Bwqt=dlKi~7wHe23>rtEphA;dnR_6yWm0Lte#_OT1$aDa)04Sn!XA49bNA%!<{+$(GzX2U&wv>RiT zAp>v39QN+(;vOhjNaGdLfSKTv;TYO213#S_{QDO?y9}%gea=Jqg`j}!MvaAFeSDl1 zYe|S7ayD*;o8NwyP_~bnS8$=Q8;Mtgb@eYVXBf`-hm8J{hO_>mcK->MfZz4&pE3P# zhquk>Kh^G^4W!c@%W2(YilEj?eEoYj*t+rTW~88yLE3hsCw=~H_9&p^5>JQh$+J1c@>$8 zz|y#4YcoOOtWe2T;~&hm>cUAC9?;ei$zs_KtL(ydt1N8Qm)38sx2z89gcaB(tTSx$ zY^k;^404;&w%yiX`_$HgXC1aK+kox9O*9xY2nUy7oHwW#tR4JyM*|Hwvi_pIys~)j zMZ2{6lZ*Dk;{1{Z%#jvnuaO?OXs1iE^8y>4^6V;UV1qMHN=qxG+8fR_ML3N2-Eihk z4*AvUVS7nw#r`pSS!H2`I?E}O(xrhLj+|_HVXoTaERxn>EX|dbsP8!gYf9wmfJ0Uy zugI6H>mNA+TGw8;o?wV$uC&EvqbUO%fOU2g$Kz{EYmiBJ5e|Qqa>B(?6YgU!WiU0&5xm&M7eiADIwEX9ShVmQe0Bdka!?3q#z1L*S- zuxM4HLoLD@nh}=J@S6MZgoBTUi4F}fP!fTGG)mt88*XiN^$rmgZcZxNnZeP?4MwJ6|%-=Jj`U@a*_x(bjtv(9t! zvoydEO%yXzX(jc9F$N~xJDF(R7KzFpN@k(3N)StajbJ5shunmkD)A@F*XXq>P&VbT zw;@=hQX=6Aw7Uu@$kXUn6}I&>N>~dL$pCt5E!bZV7{3sVE+39Z+-Q+M;>z{w*RKDK zAx3>;J|~8q_M@(kUFjZ`$9elw?+3lUNBZgaee|q<(z|`Ma delta 2512 zcmZuzdr%We8lRa!1GC~r1$l_ldJ5u`)6(Tu))GP>z$lLd45({%iz{=tTI*fiAD(p- zxjU0(Q7Ay&cCE!7QbIYbLEzSnZrxttSt`M+b##4T|KMHj8h^?-HOS(mT- z>#x7>>zQA7|GFmz!v=$4Lx(I(ZptGztzJBjFpLn}B;&6O!aiFNM&e50D#JAd*HG(% zFmN_<@ppBjGPA#KOm--3jW)#t&fg#;5);64h(f@1P>)NzZBMLXlbVlrpe zu8jjlq#O;!fpugTni~&3m~ED#1MxtC?ap{0l9#OJMYxAscLLCm*6Tu=Bl?W1(8v~Y)N@|Y>EPG07PXsI0)42Q zeZZ8Vr3!F);gvpHke_=9Bm9bxVPIOOwvTB?q5_OA2(_E)j{*CUhOYWHmh7xQ2iuUC z1vZihEms0-e5l=6Zvl2=14~_Q3^dgDbkFCf^oQZ}5Xyf{r*C!G6FP) zm4?6Avx}8VgVCO$P$<=EL$zI#t6`LeI(wE>RSaexUQ zWCDXs;gE`(&)Q*`Pp@N^K7tnna~$q^heZ*d73#*QW8)Ndc24%#mUjGH4I2dPHvM?y z78k62N}0!43JwHepPeIg9GSNNDaBOwGll3`HrR%jWpfUAfBgZU9%IJ|?Id|x+uDTb z(0T?_-10>r#bI;s;oRTZM;JgFN2tPK5BfR>Y$d-ygE^o$>0m#%8jc0o7`VS59_nX_ z&J!u3jpyItvalQO?Pok#qf!-E8(rzE?&Y8BILP2g+mMYASHgSflnU&cJM;QCJ~9{V z4twoG6}cdXw4n33U{Bn%G>RsE%>1YVR{ZAogsyYa_C6m5EofOD*!}U_;WW#Mz-VKj z&2lm@dOUEBBOo_ucCdp`>uYZeoIf6z^|;wVM(Z=#j`SLDLQBwmYbK+j2iTH&lWv-O z*l^hDGxteZ$dLyU!z~hw4P(;i!!u^>77BWk9M*>rnl$)1eCAh8!&ptK+((&*8=Og(K7{cS0fnNKEHu zw+cs%eypZdEq+yviWX&<<9gkco2RBc&2HTc|80?CNDr@gu499+Ua+kaf5x6k+n>ZS z+j>!s2S`WfV|ExH9iGRq;+j*!Qjdt!AkUFg_=uQ-lqBB>^dYLZddg}#46FQcxGpus2f+Nuizoa8a(B)Aq} zNR5P^AQ!jS<}dL3b62selI;*G?tsq}Htl8xqRK29 rhkmC8Yrze_%m0br`s^irm^76GQ+b%FJls?sVJfFh ZP1 and ZP2 - STA ZP1+1 + LDA VDUQ+6 ; MSB of X-coord + CMP #$05 ; $500 is 1280 + BCS :BIGX ; Value >=1280 + STA ZP1+1 ; X-coord -> ZP1 and ZP2 STA ZP2+1 LDA VDUQ+5 STA ZP1+0 @@ -35,17 +37,20 @@ CVTCOORD ROR ZP2+0 STA VDUQ+6 ; ZP2 -> X-coord LDA ZP2+0 - STA VDUQ+5 + STA VDUQ+5 * Y-coordinate in VDUQ+7,+8 1024*3/16=192 - LDA VDUQ+8 ; Y-coord -> ZP1 +:YCOORD LDA VDUQ+8 ; MSB of Y-coord + AND #$FC + BNE :BIGY ; Y>1023 + LDA VDUQ+8 ; Y-coord -> ZP1 STA ZP1+1 STA ZP2+1 LDA VDUQ+7 STA ZP1+0 - ASL A ; ZP2 *= 2 + ASL A ; ZP2 *= 2 ROL ZP2+1 - CLC ; ZP2+ZP1->ZP2 + CLC ; ZP2+ZP1->ZP2 ADC ZP1+0 STA ZP2+0 LDA ZP2+1 @@ -64,6 +69,14 @@ CVTCOORD SBC ZP2+0 STA VDUQ+7 RTS +:BIGY STZ VDUQ+7 ; Y too large, row zero + STZ VDUQ+8 + RTS +:BIGX LDA #$17 ; X too large, use 279 + STA VDUQ+5 + LDA #$01 + STA VDUQ+6 + BRA :YCOORD * Add coordinates to XPIXEL, YPIXEL RELCOORD CLC