From 9284814222d5c918a59642e25e2e042967c70c81 Mon Sep 17 00:00:00 2001 From: Quinn Dunki Date: Sat, 25 Feb 2017 16:30:30 -0800 Subject: [PATCH] Cleanup, early support for page 2 --- HiSprite.py | 42 +++++++--- V2Make.scpt | Bin 3362 -> 3362 bytes graphics.s | 6 +- hgrtableY.s | 219 ++++++++++++++++++++++++++++++++++++++++++++++++++- hisprite.dsk | Bin 143360 -> 143360 bytes hisprite.s | 40 +++++++--- spritegen0.s | 126 +++++++++++++---------------- 7 files changed, 335 insertions(+), 98 deletions(-) diff --git a/HiSprite.py b/HiSprite.py index 12f13c1..aac1f3d 100755 --- a/HiSprite.py +++ b/HiSprite.py @@ -10,10 +10,17 @@ class Colors: def main(argv): if len(argv)<1: + usage() + exit(0) + + if sys.argv[1] == "--tables": printHorizontalLookup() exit(0) pngfile = sys.argv[1] + xdraw = 0 + if len(argv)>1 and sys.argv[2] == "--xdraw": + xdraw = 1 reader = png.Reader(pngfile) try: @@ -45,11 +52,10 @@ def main(argv): print "\n" for shift in range(0,7): print "%s_SHIFT%d:" % (niceName,shift) - print "\tldy PARAM0\n" print "\tldx PARAM1" print rowStartCalculatorCode(); - spriteChunks = layoutSpriteChunk(pixelData,width,height,shift) + spriteChunks = layoutSpriteChunk(pixelData,width,height,shift,xdraw) for row in range(height): for chunkIndex in range(len(spriteChunks)): @@ -58,11 +64,11 @@ def main(argv): print "\n" -def layoutSpriteChunk(pixelData,width,height,shift): +def layoutSpriteChunk(pixelData,width,height,shift,xdraw): colorStreams = byteStreamsFromPixels(pixelData,width,height,shift,bitsForColor,highBitForColor) maskStreams = byteStreamsFromPixels(pixelData,width,height,shift,bitsForMask,highBitForMask) - code = generateBlitter(colorStreams,maskStreams,height) + code = generateBlitter(colorStreams,maskStreams,height,xdraw) return code @@ -115,7 +121,7 @@ def byteStreamsFromPixels(pixelData,width,height,shift,bitDelegate,highBitDelega return byteStreams -def generateBlitter(colorStreams,maskStreams,height): +def generateBlitter(colorStreams,maskStreams,height,xdraw): byteWidth = len(colorStreams[0]) spriteChunks = [["" for y in range(height)] for x in range(byteWidth)] @@ -128,10 +134,16 @@ def generateBlitter(colorStreams,maskStreams,height): for chunkIndex in range(len(byteSplits)): # Store byte into video memory - spriteChunks[chunkIndex][row] = \ - "\tlda #%%%s\n" % byteSplits[chunkIndex] + \ - "\tsta (SCRATCH0),y\n"; - + 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: spriteChunks[chunkIndex][row] += "\n" @@ -150,7 +162,7 @@ def generateBlitter(colorStreams,maskStreams,height): def rowStartCalculatorCode(): return \ - "\tlda HGRROWS_H,x\n" + \ + "\tlda HGRROWS_H1,x\n" + \ "\tsta SCRATCH1\n" + \ "\tlda HGRROWS_L,x\n" + \ "\tsta SCRATCH0\n" + \ @@ -259,8 +271,14 @@ def printHorizontalLookup(): def usage(): print ''' -Usage: HiSprite - +Usages: + HiSprite [--xdraw] + Generates 6502 assembly to render all shifts of the given sprite, + optionally with exclusive-or drawing (if background will be non-black) + + HiSprite --tables + Generates lookup tables for horizontal sprite shifts (division and modulus 7) + PNG file must not have an alpha channel! ''' sys.exit(2) diff --git a/V2Make.scpt b/V2Make.scpt index bffa4adf78ef875972c66266de16c545cbfd90f1..403811f78b690bd9aaab5af0178675c5c9124eef 100644 GIT binary patch delta 22 ecmZ1^wMc4%1}D?K?~}DS{g^g9-(1DHf*Am02nfFb delta 22 ecmZ1^wMc4%1}D>7_Q_hDeoXtmZ?588!3+RdYzO=R diff --git a/graphics.s b/graphics.s index ed30c1b..347a9c3 100644 --- a/graphics.s +++ b/graphics.s @@ -38,7 +38,7 @@ saveBackground_loop: adc PARAM1 ; Calculate Y line tax - lda HGRROWS_H,x ; Compute hires row + lda HGRROWS_H1,x ; Compute hires row sta saveBackground_smc0+2 sta saveBackground_smc1+2 sta saveBackground_smc2+2 @@ -121,7 +121,7 @@ restoreBackground_loop: adc PARAM1 ; Calculate Y line tax - lda HGRROWS_H,x ; Compute hires row + lda HGRROWS_H1,x ; Compute hires row sta restoreBackground_smc0+2 sta restoreBackground_smc1+2 sta restoreBackground_smc2+2 @@ -197,7 +197,7 @@ LinearFill: linearFill_outer: pha - lda HGRROWS_H,x + lda HGRROWS_H1,x sta linearFill_inner+2 lda HGRROWS_L,x sta linearFill_inner+1 diff --git a/hgrtableY.s b/hgrtableY.s index ae71517..0a49f79 100644 --- a/hgrtableY.s +++ b/hgrtableY.s @@ -5,7 +5,7 @@ ; Copyright (c) 2015 One Girl, One Laptop Productions. All rights reserved. ; -HGRROWS_H: +HGRROWS_H1: .byte $20 .byte $24 .byte $28 @@ -442,3 +442,220 @@ HGRROWS_L: .byte $D0 + +HGRROWS_H2: + .byte $40 + .byte $44 + .byte $48 + .byte $4C + .byte $50 + .byte $54 + .byte $58 + .byte $5C + + .byte $40 + .byte $44 + .byte $48 + .byte $4C + .byte $50 + .byte $54 + .byte $58 + .byte $5C + + .byte $41 + .byte $45 + .byte $49 + .byte $4D + .byte $51 + .byte $55 + .byte $59 + .byte $5D + + .byte $41 + .byte $45 + .byte $49 + .byte $4D + .byte $51 + .byte $55 + .byte $59 + .byte $5D + + .byte $42 + .byte $46 + .byte $4A + .byte $4E + .byte $52 + .byte $56 + .byte $5A + .byte $5E + + .byte $42 + .byte $46 + .byte $4A + .byte $4E + .byte $52 + .byte $56 + .byte $5A + .byte $5E + + .byte $43 + .byte $47 + .byte $4B + .byte $4F + .byte $53 + .byte $57 + .byte $5B + .byte $5F + + .byte $43 + .byte $47 + .byte $4B + .byte $4F + .byte $53 + .byte $57 + .byte $5B + .byte $5F +; + .byte $40 + .byte $44 + .byte $48 + .byte $4C + .byte $50 + .byte $54 + .byte $58 + .byte $5C + + .byte $40 + .byte $44 + .byte $48 + .byte $4C + .byte $50 + .byte $54 + .byte $58 + .byte $5C + + .byte $41 + .byte $45 + .byte $49 + .byte $4D + .byte $51 + .byte $55 + .byte $59 + .byte $5D + + .byte $41 + .byte $45 + .byte $49 + .byte $4D + .byte $51 + .byte $55 + .byte $59 + .byte $5D + + .byte $42 + .byte $46 + .byte $4A + .byte $4E + .byte $52 + .byte $56 + .byte $5A + .byte $5E + + .byte $42 + .byte $46 + .byte $4A + .byte $4E + .byte $52 + .byte $56 + .byte $5A + .byte $5E + + .byte $43 + .byte $47 + .byte $4B + .byte $4F + .byte $53 + .byte $57 + .byte $5B + .byte $5F + + .byte $43 + .byte $47 + .byte $4B + .byte $4F + .byte $53 + .byte $57 + .byte $5B + .byte $5F +;; + .byte $40 + .byte $44 + .byte $48 + .byte $4C + .byte $50 + .byte $54 + .byte $58 + .byte $5C + + .byte $40 + .byte $44 + .byte $48 + .byte $4C + .byte $50 + .byte $54 + .byte $58 + .byte $5C + + .byte $41 + .byte $45 + .byte $49 + .byte $4D + .byte $51 + .byte $55 + .byte $59 + .byte $5D + + .byte $41 + .byte $45 + .byte $49 + .byte $4D + .byte $51 + .byte $55 + .byte $59 + .byte $5D + + .byte $42 + .byte $46 + .byte $4A + .byte $4E + .byte $52 + .byte $56 + .byte $5A + .byte $5E + + .byte $42 + .byte $46 + .byte $4A + .byte $4E + .byte $52 + .byte $56 + .byte $5A + .byte $5E + + .byte $43 + .byte $47 + .byte $4B + .byte $4F + .byte $53 + .byte $57 + .byte $5B + .byte $5F + + .byte $43 + .byte $47 + .byte $4B + .byte $4F + .byte $53 + .byte $57 + .byte $5B + .byte $5F diff --git a/hisprite.dsk b/hisprite.dsk index 3d22c89fd2127d7a7c9c786e2d45d9c7d76cf748..8e5912f3eb733c00096923518710151d06a2735a 100644 GIT binary patch delta 8007 zcmc&2YfKbJ_&@{{g+qgIAh3Xm#?)txHMOGH+G>4(ReF#;Ycc!~;EoA{zan?`;bO_PEqc4lYxV87XgqeA=VzRUN`_kPSb zo7WVY*A!YF)~9dc3y&l5w6jlc=%9X%{Sl5O$?;By;}3^S|D66VY{fp5aX4XM*h+V7 zW!*}*t0egBQ=}B9IFE)@nvr*k5+hmwuB<2tu;vOFsVFAevDf9rq4iG3;|Ax4iG0JK#DL%Fk3$&JX#A0|EmINd5u>{~k@s zPMe@;lND{cqRmpY3`JY4kb2c#RkYU?Elts8Dq6atWhzI5E1x2%Y;pqO*q|R-udFT{ ze$XN9aJIEHc^dwdi>L1T8f_?>>TFh8ym^1&`|e<@xI?6Gkhg4Pn)I2B9nw|>hq>eM zO83xW$4)|bxI=K7I~2?Aev&FnvsYnRDt&&!<$3(f*-F6JXVMe7rODm!i%bk2i&h?s zA4M!UFKe~3c3swP%i4We`(36sSIJt9tX-3}Te5af)|zGA<`c(eP>+jG1P-xj7D;F= zvDw6iyi;V+%jxA}FDI45u2}OU#O(J2BXT8`yVNa_F5;HArP4tsjfYK|7E;37bOP>W zx@xcBw#k5vZL8&yVA5*P&IWdDr=1^r7=4E|T`k4Ldkgog+4cRicV%QllohkL^b*ocQ_ZkI87HPhCsC^^)zJ>Gr`=zYWtA&;)Tq0%WQNr z*w$m5buxF8h@m^0^6(COB>$Qd{krB)=TT5R#Uc!}yT_IX{KrAko&F(MMI z_1IBxF8&PxNj2zdg6O|w@?)>3xl-H^-IdT?5o5&{QIQmGHU@=PK~YWRQaE^B9uN-I zR#_~wQz}GLBPybztaFxLZXu$!N)#b#w=j|Tp_*LV!-{K%U2*k1{T1^Z?OXvmUf>#N zy8ThW`N05_^dDlH&&Mt_*+XxmG8V*q9SF0@%XfL)P8U~e6j>bw+{(ES2QbxsU_>q= zc@i)gKW7$`lKY>;6m&)$jWWg>0Z2> z9%JQ+FEJxQgwfJV&_+)U3}(rt6uK(!-hOENoi7G|Id5mpR}O9RF3VM!Yv#b-gRXsi zN(}bB9#iy%p4Gb-a|nIOs&%EBuL6&8FOov@=m9Y5jj!}jgy_5&p#GQQVnEz|(oyxd zu*0%yZnR);=w=tmMh*8~y7ktKp7H(A7XatZw2fxKiqaEbxp36xXk8e-ij==jy{ z`%7X3hAoL>KWe_dPon8{$$*|yCu-@+=yP>YOW0Klj4-bG{3EgEapRw#gs4b$usrgv zK?MzdU_>q=+4n-FNoU;;W)JNSR#Ck{SJ@|#9#XJRuS8lx>H0I^3qEY!lwvwVCbEZx>mUQy zC@8)eHV8Bc=@FFPC|K&n2Y6^Wgf>JzfOD$4v1<(BqU(Zh$I@3UQexY=G7h1#<-bAE zC;h+>E|`EWHA#)}F}644aI3h3Oo+L8*pP(6FNc70QlrZW+*FDmMyKLOEEJGNg4D!= z#G%y*R8&70oorn|J_lr>`Hj(W=63RQ=%yxmc08;=+OM7KL33J#p77#=R-q?!@^>5Z=cJ1kLK+K#pbO#BB@_ZSZV delta 7806 zcmcIpZ)_Ar6u-MdDXpbfpoODC?|EZ= zy!ZRPdGF2Jy`s*TqRyDcxF}?`3^FG)S);bb47Zt@GEDm%6XQ*$yCy;T(ezbZ&R$gP z84=%`;~L}jE_2!HqJOxDl8-w2l$@x6Yj$#y>Z56~bsy>>U(B;+3h{c&Y2~lXRvib02<&lU@%0M2QdvXN>l~Za`hXa*{hzM?g zvBpU9j0Q#Zp})?Npb1p^V!gXI)j$MPlYKx^QR_$pn(%@EOEcr>L${p{bl+)3)`f4* zn0I|~U36=H&en?MUo4MbQMU5m-1V#fSR<_E-9RW)ZK$etG;exnz%)vA79gjy6zzU5 zA4y*qqxlQsqU;kU)tW74H;%DpJC}U0R1kBPE&p)E%G_03klE5@7v)z(`E`-Rmi(M3 zzaYxfMR}$u&lTl);-P5oJ(STfYg})RyhdHJTFkAUxX)y-u=aFyp7P%lJacvxqVk40 z)+=I{ujp@l$rX)7*AROJ`lVqqTD5T4H2X>cFC$WcNRNmfQziLrat*=LT`@#9)SfTc z3zp*|d;LTEZ$ek6%YO@H9eyjFnEY0dzZc|_f_zSpFA4HhK>^t)$j1e_Rgl{R`Jy0S z5mb=PhhH5=Vo!cvl+#6dhA7WcNPE7q0DmR5@pPNkQJ z<@7>W8D6`j1XE?AjSN0MGxn$xxMJYuvlYt&WB?sFIYtTuGs#h7l4X=+Nhp#L%}XTN zB2o~>{;N6y`qC$9C7$TB9@u6?}5| z@Z2Y!S<#6Ng!***IClNTwh7)No1zP!E*WF*&o%iVD!Rv3V zzx&Cb8{nM{t}k@C#W75ud+z4(S#XznS|+9KvMZ0rFBYndJfK=0C1Jw7hM9=2Ndbki z%CArg2~OZF8z*@!42i8JRcX?L0@@9GTuy*8;1a|)#+BYQDTLdUZsHV8>V{CE&gQEl znJ0}Cjz~d-`_&f%#xN+>gM6*rx^w|9R+)mhQRZn=-Jf~2s6?Vb3G)c{FJiZ}jv;e| z(G9SZ9yVs9!6o!iU4h*l@SQu;Z{t36B>0m+isW^q0LjUY6nGiqMj!r<+9{=gLN*|n z;bF^nv*p|&YK*i|$1I9?2^~2NkvWYdi*=bw(&!=u$^cNuk+NarT}B3LqyS2k|09Ip z2tz`4&4r-)utZ?1c!R#3T{;VG^OCV=Ql ziXGc6J7(|PBpcQy=0`RV9)akuqGt;YtZp*^wTG_7Y=nF4ZMJ0Na)7eW8mObCFeFFf z7v%$4a0y2p=aOukuh% zV~-PR!0gm>5Qr3pgzTEu3ywyqb_}I9f)(hapP;d4!;p|&Fm?N~q+p>h<>ZE7N9Um~ z(UlLSdfaJ;pm<59j|(mBa@0mnZ(h4?rg5a|&;_4v(B+1HJ`Z6Pp65YSuxw!?2O_I| zJUH;Y_LTQQoM{xa5o#edhjs$khxe)m*}ckDO60fz18nelh#;%omI)$*Sm=uhVGo!P z56$V#VTcq@2m03Jf(Zpn3-?RcimWAXlx{0CELTdVxG#(ZN_hg!7og!aMiTBORO2ml z05FeIe{$~7dM{Q6!X7UsCeg$Q`Y_+YZt(y_>6fKHSOFuo0+13IC)da;A~_ z=7^U$=_7h5tYs;udPC)`yL%L0xB4Q5h$8@}BR33gdg>Z{h638B3`YMTD$#8S8amHzAPxFeGFb{0GriEKbE5gaWdc1B)~Vy)sXrmK dgWV7aIWfLF?c)E)Xe|@ diff --git a/hisprite.s b/hisprite.s index 68fd53a..8bd49d2 100644 --- a/hisprite.s +++ b/hisprite.s @@ -27,6 +27,8 @@ PARAM2 = $08 PARAM3 = $09 SCRATCH0 = $19 SCRATCH1 = $1a +HIRES_PAGE_L = $1b +HIRES_PAGE_H = $1c ; Macros .macro BLITBYTE xPos,yPos,addr @@ -64,15 +66,19 @@ SCRATCH1 = $1a main: jsr EnableHires -; lda #$00 -; jsr VenetianFill + lda #$00 + jsr VenetianFill - lda #bgFilename - sta PARAM1 - jsr BloadHires +; lda #bgFilename +; sta PARAM1 +; jsr BloadHires + lda #HGRROWS_H1 + sta HIRES_PAGE_H ldx #0 ;;;; @@ -104,14 +110,24 @@ loop: jsr SaveBackground jsr BOXW_MAG - lda #$80 + lda #$60 jsr ROMWAIT + ; Sync to VBL +@1: lda $C019 + beq @1 + bpl @1 +@0: lda $C019 + bmi @0 + jsr RestoreBackground inx cpx #133 bne loop +; ldx #0 +; jmp loop + rts bgBuffer: @@ -171,10 +187,10 @@ bgFilename: .include "hgrtableX.s" .include "hgrtableY.s" .include "spritegen0.s" -.include "spritegen1.s" -.include "spritegen2.s" -.include "spritegen3.s" -.include "spritegen4.s" +;.include "spritegen1.s" +;.include "spritegen2.s" +;.include "spritegen3.s" +;.include "spritegen4.s" ; Suppress some linker warnings - Must be the last thing in the file .SEGMENT "ZPSAVE" diff --git a/spritegen0.s b/spritegen0.s index e9c218f..9d873d1 100644 --- a/spritegen0.s +++ b/spritegen0.s @@ -19,10 +19,8 @@ BOXW_MAG_JMP: BOXW_MAG_SHIFT0: - ldy PARAM0 - ldx PARAM1 - lda HGRROWS_H,x + lda HGRROWS_H1,x sta SCRATCH1 lda HGRROWS_L,x sta SCRATCH0 @@ -49,7 +47,7 @@ BOXW_MAG_SHIFT0: sta (SCRATCH0),y inx - lda HGRROWS_H,x + lda HGRROWS_H1,x sta SCRATCH1 lda HGRROWS_L,x sta SCRATCH0 @@ -76,7 +74,7 @@ BOXW_MAG_SHIFT0: sta (SCRATCH0),y inx - lda HGRROWS_H,x + lda HGRROWS_H1,x sta SCRATCH1 lda HGRROWS_L,x sta SCRATCH0 @@ -103,7 +101,7 @@ BOXW_MAG_SHIFT0: sta (SCRATCH0),y inx - lda HGRROWS_H,x + lda HGRROWS_H1,x sta SCRATCH1 lda HGRROWS_L,x sta SCRATCH0 @@ -130,7 +128,7 @@ BOXW_MAG_SHIFT0: sta (SCRATCH0),y inx - lda HGRROWS_H,x + lda HGRROWS_H1,x sta SCRATCH1 lda HGRROWS_L,x sta SCRATCH0 @@ -157,7 +155,7 @@ BOXW_MAG_SHIFT0: sta (SCRATCH0),y inx - lda HGRROWS_H,x + lda HGRROWS_H1,x sta SCRATCH1 lda HGRROWS_L,x sta SCRATCH0 @@ -184,7 +182,7 @@ BOXW_MAG_SHIFT0: sta (SCRATCH0),y inx - lda HGRROWS_H,x + lda HGRROWS_H1,x sta SCRATCH1 lda HGRROWS_L,x sta SCRATCH0 @@ -211,7 +209,7 @@ BOXW_MAG_SHIFT0: sta (SCRATCH0),y inx - lda HGRROWS_H,x + lda HGRROWS_H1,x sta SCRATCH1 lda HGRROWS_L,x sta SCRATCH0 @@ -243,10 +241,8 @@ BOXW_MAG_SHIFT0: BOXW_MAG_SHIFT1: - ldy PARAM0 - ldx PARAM1 - lda HGRROWS_H,x + lda HGRROWS_H1,x sta SCRATCH1 lda HGRROWS_L,x sta SCRATCH0 @@ -273,7 +269,7 @@ BOXW_MAG_SHIFT1: sta (SCRATCH0),y inx - lda HGRROWS_H,x + lda HGRROWS_H1,x sta SCRATCH1 lda HGRROWS_L,x sta SCRATCH0 @@ -300,7 +296,7 @@ BOXW_MAG_SHIFT1: sta (SCRATCH0),y inx - lda HGRROWS_H,x + lda HGRROWS_H1,x sta SCRATCH1 lda HGRROWS_L,x sta SCRATCH0 @@ -327,7 +323,7 @@ BOXW_MAG_SHIFT1: sta (SCRATCH0),y inx - lda HGRROWS_H,x + lda HGRROWS_H1,x sta SCRATCH1 lda HGRROWS_L,x sta SCRATCH0 @@ -354,7 +350,7 @@ BOXW_MAG_SHIFT1: sta (SCRATCH0),y inx - lda HGRROWS_H,x + lda HGRROWS_H1,x sta SCRATCH1 lda HGRROWS_L,x sta SCRATCH0 @@ -381,7 +377,7 @@ BOXW_MAG_SHIFT1: sta (SCRATCH0),y inx - lda HGRROWS_H,x + lda HGRROWS_H1,x sta SCRATCH1 lda HGRROWS_L,x sta SCRATCH0 @@ -408,7 +404,7 @@ BOXW_MAG_SHIFT1: sta (SCRATCH0),y inx - lda HGRROWS_H,x + lda HGRROWS_H1,x sta SCRATCH1 lda HGRROWS_L,x sta SCRATCH0 @@ -435,7 +431,7 @@ BOXW_MAG_SHIFT1: sta (SCRATCH0),y inx - lda HGRROWS_H,x + lda HGRROWS_H1,x sta SCRATCH1 lda HGRROWS_L,x sta SCRATCH0 @@ -467,10 +463,8 @@ BOXW_MAG_SHIFT1: BOXW_MAG_SHIFT2: - ldy PARAM0 - ldx PARAM1 - lda HGRROWS_H,x + lda HGRROWS_H1,x sta SCRATCH1 lda HGRROWS_L,x sta SCRATCH0 @@ -497,7 +491,7 @@ BOXW_MAG_SHIFT2: sta (SCRATCH0),y inx - lda HGRROWS_H,x + lda HGRROWS_H1,x sta SCRATCH1 lda HGRROWS_L,x sta SCRATCH0 @@ -524,7 +518,7 @@ BOXW_MAG_SHIFT2: sta (SCRATCH0),y inx - lda HGRROWS_H,x + lda HGRROWS_H1,x sta SCRATCH1 lda HGRROWS_L,x sta SCRATCH0 @@ -551,7 +545,7 @@ BOXW_MAG_SHIFT2: sta (SCRATCH0),y inx - lda HGRROWS_H,x + lda HGRROWS_H1,x sta SCRATCH1 lda HGRROWS_L,x sta SCRATCH0 @@ -578,7 +572,7 @@ BOXW_MAG_SHIFT2: sta (SCRATCH0),y inx - lda HGRROWS_H,x + lda HGRROWS_H1,x sta SCRATCH1 lda HGRROWS_L,x sta SCRATCH0 @@ -605,7 +599,7 @@ BOXW_MAG_SHIFT2: sta (SCRATCH0),y inx - lda HGRROWS_H,x + lda HGRROWS_H1,x sta SCRATCH1 lda HGRROWS_L,x sta SCRATCH0 @@ -632,7 +626,7 @@ BOXW_MAG_SHIFT2: sta (SCRATCH0),y inx - lda HGRROWS_H,x + lda HGRROWS_H1,x sta SCRATCH1 lda HGRROWS_L,x sta SCRATCH0 @@ -659,7 +653,7 @@ BOXW_MAG_SHIFT2: sta (SCRATCH0),y inx - lda HGRROWS_H,x + lda HGRROWS_H1,x sta SCRATCH1 lda HGRROWS_L,x sta SCRATCH0 @@ -691,10 +685,8 @@ BOXW_MAG_SHIFT2: BOXW_MAG_SHIFT3: - ldy PARAM0 - ldx PARAM1 - lda HGRROWS_H,x + lda HGRROWS_H1,x sta SCRATCH1 lda HGRROWS_L,x sta SCRATCH0 @@ -721,7 +713,7 @@ BOXW_MAG_SHIFT3: sta (SCRATCH0),y inx - lda HGRROWS_H,x + lda HGRROWS_H1,x sta SCRATCH1 lda HGRROWS_L,x sta SCRATCH0 @@ -748,7 +740,7 @@ BOXW_MAG_SHIFT3: sta (SCRATCH0),y inx - lda HGRROWS_H,x + lda HGRROWS_H1,x sta SCRATCH1 lda HGRROWS_L,x sta SCRATCH0 @@ -775,7 +767,7 @@ BOXW_MAG_SHIFT3: sta (SCRATCH0),y inx - lda HGRROWS_H,x + lda HGRROWS_H1,x sta SCRATCH1 lda HGRROWS_L,x sta SCRATCH0 @@ -802,7 +794,7 @@ BOXW_MAG_SHIFT3: sta (SCRATCH0),y inx - lda HGRROWS_H,x + lda HGRROWS_H1,x sta SCRATCH1 lda HGRROWS_L,x sta SCRATCH0 @@ -829,7 +821,7 @@ BOXW_MAG_SHIFT3: sta (SCRATCH0),y inx - lda HGRROWS_H,x + lda HGRROWS_H1,x sta SCRATCH1 lda HGRROWS_L,x sta SCRATCH0 @@ -856,7 +848,7 @@ BOXW_MAG_SHIFT3: sta (SCRATCH0),y inx - lda HGRROWS_H,x + lda HGRROWS_H1,x sta SCRATCH1 lda HGRROWS_L,x sta SCRATCH0 @@ -883,7 +875,7 @@ BOXW_MAG_SHIFT3: sta (SCRATCH0),y inx - lda HGRROWS_H,x + lda HGRROWS_H1,x sta SCRATCH1 lda HGRROWS_L,x sta SCRATCH0 @@ -915,10 +907,8 @@ BOXW_MAG_SHIFT3: BOXW_MAG_SHIFT4: - ldy PARAM0 - ldx PARAM1 - lda HGRROWS_H,x + lda HGRROWS_H1,x sta SCRATCH1 lda HGRROWS_L,x sta SCRATCH0 @@ -945,7 +935,7 @@ BOXW_MAG_SHIFT4: sta (SCRATCH0),y inx - lda HGRROWS_H,x + lda HGRROWS_H1,x sta SCRATCH1 lda HGRROWS_L,x sta SCRATCH0 @@ -972,7 +962,7 @@ BOXW_MAG_SHIFT4: sta (SCRATCH0),y inx - lda HGRROWS_H,x + lda HGRROWS_H1,x sta SCRATCH1 lda HGRROWS_L,x sta SCRATCH0 @@ -999,7 +989,7 @@ BOXW_MAG_SHIFT4: sta (SCRATCH0),y inx - lda HGRROWS_H,x + lda HGRROWS_H1,x sta SCRATCH1 lda HGRROWS_L,x sta SCRATCH0 @@ -1026,7 +1016,7 @@ BOXW_MAG_SHIFT4: sta (SCRATCH0),y inx - lda HGRROWS_H,x + lda HGRROWS_H1,x sta SCRATCH1 lda HGRROWS_L,x sta SCRATCH0 @@ -1053,7 +1043,7 @@ BOXW_MAG_SHIFT4: sta (SCRATCH0),y inx - lda HGRROWS_H,x + lda HGRROWS_H1,x sta SCRATCH1 lda HGRROWS_L,x sta SCRATCH0 @@ -1080,7 +1070,7 @@ BOXW_MAG_SHIFT4: sta (SCRATCH0),y inx - lda HGRROWS_H,x + lda HGRROWS_H1,x sta SCRATCH1 lda HGRROWS_L,x sta SCRATCH0 @@ -1107,7 +1097,7 @@ BOXW_MAG_SHIFT4: sta (SCRATCH0),y inx - lda HGRROWS_H,x + lda HGRROWS_H1,x sta SCRATCH1 lda HGRROWS_L,x sta SCRATCH0 @@ -1139,10 +1129,8 @@ BOXW_MAG_SHIFT4: BOXW_MAG_SHIFT5: - ldy PARAM0 - ldx PARAM1 - lda HGRROWS_H,x + lda HGRROWS_H1,x sta SCRATCH1 lda HGRROWS_L,x sta SCRATCH0 @@ -1169,7 +1157,7 @@ BOXW_MAG_SHIFT5: sta (SCRATCH0),y inx - lda HGRROWS_H,x + lda HGRROWS_H1,x sta SCRATCH1 lda HGRROWS_L,x sta SCRATCH0 @@ -1196,7 +1184,7 @@ BOXW_MAG_SHIFT5: sta (SCRATCH0),y inx - lda HGRROWS_H,x + lda HGRROWS_H1,x sta SCRATCH1 lda HGRROWS_L,x sta SCRATCH0 @@ -1223,7 +1211,7 @@ BOXW_MAG_SHIFT5: sta (SCRATCH0),y inx - lda HGRROWS_H,x + lda HGRROWS_H1,x sta SCRATCH1 lda HGRROWS_L,x sta SCRATCH0 @@ -1250,7 +1238,7 @@ BOXW_MAG_SHIFT5: sta (SCRATCH0),y inx - lda HGRROWS_H,x + lda HGRROWS_H1,x sta SCRATCH1 lda HGRROWS_L,x sta SCRATCH0 @@ -1277,7 +1265,7 @@ BOXW_MAG_SHIFT5: sta (SCRATCH0),y inx - lda HGRROWS_H,x + lda HGRROWS_H1,x sta SCRATCH1 lda HGRROWS_L,x sta SCRATCH0 @@ -1304,7 +1292,7 @@ BOXW_MAG_SHIFT5: sta (SCRATCH0),y inx - lda HGRROWS_H,x + lda HGRROWS_H1,x sta SCRATCH1 lda HGRROWS_L,x sta SCRATCH0 @@ -1331,7 +1319,7 @@ BOXW_MAG_SHIFT5: sta (SCRATCH0),y inx - lda HGRROWS_H,x + lda HGRROWS_H1,x sta SCRATCH1 lda HGRROWS_L,x sta SCRATCH0 @@ -1363,10 +1351,8 @@ BOXW_MAG_SHIFT5: BOXW_MAG_SHIFT6: - ldy PARAM0 - ldx PARAM1 - lda HGRROWS_H,x + lda HGRROWS_H1,x sta SCRATCH1 lda HGRROWS_L,x sta SCRATCH0 @@ -1393,7 +1379,7 @@ BOXW_MAG_SHIFT6: sta (SCRATCH0),y inx - lda HGRROWS_H,x + lda HGRROWS_H1,x sta SCRATCH1 lda HGRROWS_L,x sta SCRATCH0 @@ -1420,7 +1406,7 @@ BOXW_MAG_SHIFT6: sta (SCRATCH0),y inx - lda HGRROWS_H,x + lda HGRROWS_H1,x sta SCRATCH1 lda HGRROWS_L,x sta SCRATCH0 @@ -1447,7 +1433,7 @@ BOXW_MAG_SHIFT6: sta (SCRATCH0),y inx - lda HGRROWS_H,x + lda HGRROWS_H1,x sta SCRATCH1 lda HGRROWS_L,x sta SCRATCH0 @@ -1474,7 +1460,7 @@ BOXW_MAG_SHIFT6: sta (SCRATCH0),y inx - lda HGRROWS_H,x + lda HGRROWS_H1,x sta SCRATCH1 lda HGRROWS_L,x sta SCRATCH0 @@ -1501,7 +1487,7 @@ BOXW_MAG_SHIFT6: sta (SCRATCH0),y inx - lda HGRROWS_H,x + lda HGRROWS_H1,x sta SCRATCH1 lda HGRROWS_L,x sta SCRATCH0 @@ -1528,7 +1514,7 @@ BOXW_MAG_SHIFT6: sta (SCRATCH0),y inx - lda HGRROWS_H,x + lda HGRROWS_H1,x sta SCRATCH1 lda HGRROWS_L,x sta SCRATCH0 @@ -1555,7 +1541,7 @@ BOXW_MAG_SHIFT6: sta (SCRATCH0),y inx - lda HGRROWS_H,x + lda HGRROWS_H1,x sta SCRATCH1 lda HGRROWS_L,x sta SCRATCH0