From 537e1e0544878a5c77553531f304f23e26d05fd5 Mon Sep 17 00:00:00 2001 From: Quinn Dunki Date: Sun, 26 Mar 2017 11:02:22 -0700 Subject: [PATCH] Put an old optimization back in --- HiSprite.py | 24 ++-- V2Make.scpt | Bin 3362 -> 3362 bytes hisprite.dsk | Bin 143360 -> 143360 bytes hisprite.s | 43 +++++- spritegen0.s | 364 --------------------------------------------------- 5 files changed, 51 insertions(+), 380 deletions(-) diff --git a/HiSprite.py b/HiSprite.py index aac1f3d..791ef46 100755 --- a/HiSprite.py +++ b/HiSprite.py @@ -133,16 +133,20 @@ def generateBlitter(colorStreams,maskStreams,height,xdraw): # Generate blitting code for chunkIndex in range(len(byteSplits)): - # Store byte into video memory - if xdraw: - spriteChunks[chunkIndex][row] = \ - "\tlda (SCRATCH0),y\n" + \ - "\teor #%%%s\n" % byteSplits[chunkIndex] + \ - "\tsta (SCRATCH0),y\n"; - else: - spriteChunks[chunkIndex][row] = \ - "\tlda #%%%s\n" % byteSplits[chunkIndex] + \ - "\tsta (SCRATCH0),y\n"; + # Optimization + if byteSplits[chunkIndex] != "00000000" and \ + byteSplits[chunkIndex] != "10000000": + + # Store byte into video memory + if xdraw: + spriteChunks[chunkIndex][row] = \ + "\tlda (SCRATCH0),y\n" + \ + "\teor #%%%s\n" % byteSplits[chunkIndex] + \ + "\tsta (SCRATCH0),y\n"; + else: + spriteChunks[chunkIndex][row] = \ + "\tlda #%%%s\n" % byteSplits[chunkIndex] + \ + "\tsta (SCRATCH0),y\n"; # Increment indices if chunkIndex == len(byteSplits)-1: diff --git a/V2Make.scpt b/V2Make.scpt index 403811f78b690bd9aaab5af0178675c5c9124eef..1c43bf60540d4af1ba509e9aa05282c0bb7d01c9 100644 GIT binary patch delta 30 mcmZ1^wMc415hn+u?4#LNrnf$xT*Ya}a%K9rVYU2!ceRm!+qD2_h7hEZFQtgQV35yZ6kx+RltyIxJ_0nQzX|ch324IN=E= zJTJX@O7(bQUf8q4gJud*cNy{`G>fpj8Gq^xJk%#Dg2wKN??Iz@$o1AAc)@-5i(_1s z#xG1PmfS3&GMA5-h^5RY2St!X_fiN)-Ih#hGO#9qS#y<$7zb-pNsWvzi>{N7 zG->i39Q`8#a(40o&;O2~uVemN8$9v`dTzL-LjX>xA>T^xq;mo zZe~hT1@lHfu>y4$3pU?m;pc%tRaG8vH&fIU`!ZTuCANm1CiFa^n9vSFuM&Elh>fR> zgq|a`mC$xVuMpZrqOJ*lfK`ngE)}0V2FxQ88rc5?X}!LsWMV4*4M(c)j<8!J)%pra z#=^gN%5ZUFxV6_rcJ4^S$=W&%X$*6uJtMrrDB(e4PXuvfxNi$+tKs3;DA4+`*4d^V z#o{+sJT<@UONqZj%bJfQ6Gr@F1U2l$_}J$Q1Fp!*oOykSFZRY4WE3PWRzG_Dph$BD z)32ER!1O1kDNGS$J&oxsrgNAsVEP-=6>L`aZgig{Co-n$yj;#*y)bqP2f6}tFXv_p z2&X7INNp~0THOp&-0U|ay*x0HQnjrrXR3MHrYCis?8JDPq@qX~CkKE4-Pj^xHHwfO z%g)&4xwgTUI-TeM%7G3kOLk#IWAlYRdLpm9gNmv^FHH4MTbtD2Yyc6GT-bTdoF2gE ze<03g&ffG9lrv0@G@?vN{tHo)YaU9Nzr6)!>lH;WLbE6*9mIYhaPzt&2p Ujsx>%(OK1~L$035=%jM(52xlx6#xJL delta 1320 zcma)6O=uHA6yDuxl6Doht+l3U;+ldK4>qER)PqT>s90?ZHbKc@rZG}c1P_9Wkf`iM z93&molY%jg-IRdRlL;{eQ3@(p^=Hbd;zHQo&N$Y<&C1V zgV)QVJwF22v4R79zrn&3MHX<7=g?_Ilik%u>jiQS^`r;(#D}hiVy9xCP9Gb7ac1w? z+&S<0jJ>Evjke7t7fjcVaOYL14fKkcEO%sfp; z-1J%~PVYaCQvaamk*vrgrd>WsW#wBJGeLG^vJaCUOb%lb#3YQFDY6TbZcGB09Kxg@ zlMv3>ic6Rt&2~4ilFPukM3dQO`4%0`?sv`Mg{j0>bJnn#*s$w&@s%ILsHd+#(5tgX z&Vvek^oz)p^c&bz4VM`;+Eda^Rv;O6GhjGOWYp_%q#ucyNFV!|b51TUYv0+IZ(09> z7RtuE_lRlv=pg zH(48ja5D8&rPGD2D(HeO2XoLN@&M=jCAae77@XhU%mx-RFP9L{9CRUvJ5eBqD+Z>> z;n9Gu!v0`7slCujbA{IR;7{l$opfh@^Xl7VbhWyiAHyndZ4Y_Hp6hxkQ<5+I0`-q3 AjQ{`u diff --git a/hisprite.s b/hisprite.s index 8bd49d2..23872c5 100644 --- a/hisprite.s +++ b/hisprite.s @@ -97,11 +97,12 @@ main: ; rts ;;;; + lda #0 + sta PARAM1 + loop: txa sta PARAM0 - lda #0 - sta PARAM1 lda #