From ee54f0014fb0fedccb7455058f9415bc56dbfbde Mon Sep 17 00:00:00 2001 From: Pecusx Date: Thu, 10 Aug 2023 09:09:33 +0200 Subject: [PATCH] Faster circle --- grafproc.asm | 117 ++++++++++++++++++++++++++++++++++++++++++++++----- scorch.xex | Bin 56643 -> 56637 bytes 2 files changed, 106 insertions(+), 11 deletions(-) diff --git a/grafproc.asm b/grafproc.asm index dbbc209..c961fd6 100644 --- a/grafproc.asm +++ b/grafproc.asm @@ -333,8 +333,110 @@ EndOfDraw circleloop lda FX cmp FY - bcs endcircleloop - jsr splot8 + bcc not_endcircleloop +endcircleloop + mwa xcircle xdraw + mwa ycircle ydraw + rts +not_endcircleloop +; jsr splot8 +;---- +; splot8 +; plot xcircle+XC,ycircle+YC +; plot xcircle+XC,ycircle-YC +; plot xcircle-XC,ycircle-YC +; plot xcircle-XC,ycircle+YC + +; plot xcircle+YC,ycircle+XC +; plot xcircle+YC,ycircle-XC +; plot xcircle-YC,ycircle-XC +; plot xcircle-YC,ycircle+XC + + clc + lda xcircle + adc XC + sta xdraw + lda xcircle+1 + adc #0 + sta xdraw+1 + ;clc + lda ycircle + 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 + lda xcircle + sbc XC + sta xdraw + lda xcircle+1 + sbc #0 + sta xdraw+1 + jsr plot + + lda tempcir + sta ydraw + lda tempcir+1 + sta ydraw+1 + jsr plot +;--- + clc + lda xcircle + adc yC + sta xdraw + lda xcircle+1 + adc #0 + sta xdraw+1 + ;clc + lda ycircle + 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 + lda xcircle + sbc yC + sta xdraw + lda xcircle+1 + sbc #0 + sta xdraw+1 + jsr plot + + lda tempcir + sta ydraw + lda tempcir+1 + sta ydraw+1 + jsr plot +;----- + inc XC clc @@ -366,16 +468,9 @@ else01 sta FS endif01 jmp circleloop -endcircleloop - - jsr splot8 - - mwa xcircle xdraw - mwa ycircle ydraw - rts .endp ;---- -.proc splot8 +/* .proc splot8 ; plot xcircle+XC,ycircle+YC ; plot xcircle+XC,ycircle-YC ; plot xcircle-XC,ycircle-YC @@ -472,7 +567,7 @@ endcircleloop ; RTS .endp - + */ ;-------------------------------*------------------ .proc placetanks ;-------------------------------------------------- diff --git a/scorch.xex b/scorch.xex index 2cd5e8e4ca3eb7b89ac1bef50171f67690776fcb..83a36e5460dc553c4b09cca5cfe235aed037f501 100644 GIT binary patch delta 4590 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 delta 4542 zcmZuU3sh5Aww#1-@FE|TD8B>Z(}+dXw&INF)Uk-Z+hQxNm5v&aaey$GARr%YG9sTf^x1QBN206TV^Q5S#RO7LcD(u{zno2 z8l&TrnF8L#?B!=Lg}fhA#8XT${yGf{Z{g8097A5uOk35ox>!(}Mk~U2vEK?Y@4Ey^#`PoS_1CDug&O9N&ElIOFXE?{1MM zAx*po+eiV;JL)g}C@i*un42ppdmSZ2I)jA>X8``VHrB+ z;2@P6`+DgVuaa8L!IVE24{i;HoxO)OxLn8WWi+tHe=0t;HCSoyrE)wOwcSkRcrY1> z_EXf9CzA=9?!uQ^EsE=^C}F1cfq7(iI^ICG`&BenZ}Z0QAud{I96W7!gL7{BtkaB!F>-U9vrro;W4*=@n&fe&zuZFBka z2(2JT_Lm`pO?Dt&hVI#x>34wR*-VB{WuB6&k$h%8GTIs$6+)}YSmi>$by~PzxRV;& z7nPw1NIa|R7bLBRKi|WsIUB4qU~PFoF`1U{ zC~1>4)I~3KlkE8kN%g-aq0`Gqu(5llp;WpuPLtB>QK`Yn!*yYG{ z=)}MC@~1#|)S~Q825j7$#{B{CwHuSv*UtgN_t#_nKN-1^T-H=iQEpkVa)a-Hv^%@N zG?F3^D3T(HT;`NNlL^yZyti8c5bVfss3o1$yv%i0A<(379oHh6s9&R2f&p@5?%-0A z7fm6c$u?6oe9KKy@a-@~Eq)?a;>+~C} zxG~Zb0P6_d7!et!1&(SagUMuexfI~u6n!jFq6z`7lK7JOWT24>eOLr&fPy>Aoc`S& zTxP?81|7YTTx(o~B&=2QI?Kc`a40h_DC_n(tz$Alu?8JneF1rsBzWf(F=jf3G>~NU zExAEfqBauPl!(H~#-?RxfRs1&p)&+GWAq()p?M+NLUNjyqcxsl)xFZ9F#Oue$ z10RAhdrSI0fV$(r@uaIWT0h)MPZruu3Pxw&=Fb$I)@^*;pi@I`g+QvK6y}jF`jnAZ z^(pE>{dv7ze?|X0z28CKgO?7f5A8nGpl{G`Hf%L)H+)j@S;a2HZw-45Rfc*4Yv?mH zRJ2yG72i}$RD@JD>L(7X;i_4Ddk9h(?{Qn>l(Q?T@j$YM4L~jAB{tmWv>xAp5<#@= zybxm@)Qtc>fEmIswDMjIOSco2U7&cO6}K}`MsOJUZ#EfHWJp(R>iSkd_Ls1De;{aK z99Gc?w|zXCG#DN9Ow3XEM#G+_o z?O{U;$}C?&AYJ>Ky7mKzLhYXKX2b!Xv^UseO>_!G5p8!K^0>O~JQ z;m0rAlPGaEWL(I%t0C^7_~UijeoZ!`83z@|$?X%--qAY zUhhjmJUQMs2Ml?x&jyJkm;2R<^{#7$G$4eV;`o`M@oMeOQxaQlNbs^s)z~p4{&jli zk+ee|a<4)Oqx+RU>$J493a=)b{<*W(X|o5i&6S!e(4?@+F$8DYL)!XP`gK}h65A3e z$6wSwDfW;c%qmZ3Oq)t3%IWM{%gpP-W0(cj2oGEXv`VV~64r`-7-A`SCw;J5pu_}N zKx6e8{^d@bl_vF6(4EC-W4CXX<4;NK4iI4^ytmXUcrYK)@74-OMY*0XsuAjeskKHJ zgyBf7&>&LW&W(?mo!~eupsCgh0nQv@ChS($2;MNvtrdJ=7_SkcVR*k*SOPGXwa?3-ql2T8{}EFJUxT2THN zy^@G;FOK%BwjZR}Ldsr7vH27Y%Y5)r1yJ^$|C#5Zdql}c{^z|`=VzjlfBe!Sg>jL>WqdFQtW^r5N&%g%qz+hw zIfkRtxMRXx(4x3n4WJfi8-?es4~?$}_i6aY_|N1Jp9#6-HXnojM0^Hx=u1*Ma2NfC zWS-oK{y;9D{585m77Z?4aOEg>OO#{2lr|Z;i_oN8Vlph>NG;8`(9*=VXr(=(?~4M5 z?;H$Mt}=nRTapXXx9TArq(PdKiNS@wf2kK1IHkp-!DrEBvceKKV>-6jB+1)zEn(rq zt?(RRp9(zKWUesdfY4)Eg1X5y%QNu(hsA&{5&fx62p$Hf4xnt3GPJ<+WGQ{0=!TSN zjMNM*k2qO+Dk=a(-Z#MyG=u8NUvbxae3E=JG=KIxdcgRXognKR*?kk7D>4GM@ySwd zSZdIi4DO87xG}r>G|;U>>dvw@y;!bur3k4}f(*~Dr`S!DlrNx>jnP8dWYu_n8?JAs zueSGVjyfo*iL2c4g@ba&NY9%H{Ck4SNz&;>`ri|~Y^%{Bqo2v;mq7ORY3tX-Zck8P zzYgpHPY|ase(#txJIJ(v&fC>>4hpAsa3{c*xjt}lTJZ`#TP#GHJf~)eGCr8;an+!j z7How_4v-W<{`sKC6bBk}MS_>f2ViF0TL6jZPEo9sizKK*dS*xsLT>@R9OSxYxCUh6 zVd6U+69e@~s+W*~SxA(^EQro-Nyd|;gZ&6S9GRTcOb<3a30EJp6slL6AVQtx00%V?ex$V|~u#5x=bS@7y`MAB=`&_1wyFGLUMDy1cO z!W6X79Zeu#(hg49?IAJpa5HK%K~LN33Q#{1V|x+!WZM=7LN+xvj|akiNEsZ`>T%n1 zS*x|se7W+jGy%@^^DQn)cPj@0#`OrnPB|PMWI|1b4zgeKllK}_)FB#DeGPOsZ^HvB z%l&|Y^k)!f@n({ErW@S$lQYEkkFCZoN{#Q4!m}}6OWRUL;z`F@Rcu;YQJYu0v;ATF zhGWgglG>!u^)x*c0<7Pt9+^knhEalY*YoWGx68vhhdu8U9B zG@oxfyFKy#u7A2MHrZZ&M~*yGJMk6rmyyUQ>ue=And2pNTT_`y+TM}KO-^|+la5K~ zd5Qq1abzL-UotwP^3->@NR|YpcDhKI$vaPwVn-JS)paIvCxG+>JPrCBlk{@(tI;?g zV;x)_P9;Z2y+VF;R2VFwGAJuH#&BC?slWq#ZP0h4^gLkuzed3qk9uhDbfQzSr z@QnBYG2+LF_7G~5d+P^uV!sd?E^!K!IQ=WaE5vzWE_%hL82df|eMr1NY+7`IXTIXT qn>)s{50v&RN@p}g)I9rfrSiapQaSdavUGxHk1I!R+b(}t9`yfU{mb3}