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 403811f..1c43bf6 100644 Binary files a/V2Make.scpt and b/V2Make.scpt differ diff --git a/hisprite.dsk b/hisprite.dsk index 8e5912f..09b7631 100644 Binary files a/hisprite.dsk and b/hisprite.dsk differ 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 #