mirror of
https://github.com/robmcmullen/asmgen.git
synced 2024-12-28 05:29:40 +00:00
Basic shifted data unrolling working for violet and green
This commit is contained in:
parent
0a1cd5b8ed
commit
dbe729e839
1
.gitignore
vendored
1
.gitignore
vendored
@ -1,3 +1,4 @@
|
||||
HGR.xcodeproj/xcuserdata
|
||||
hgrtest.lst
|
||||
HGR.xcodeproj/project.xcworkspace/xcuserdata/qd.xcuserdatad/UserInterfaceState.xcuserstate
|
||||
/.DS_Store
|
||||
|
@ -10,8 +10,12 @@
|
||||
707005BE1D3EC75F00623A10 /* Makefile */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.make; path = Makefile; sourceTree = "<group>"; };
|
||||
707005BF1D3EC7FD00623A10 /* hgrtest.s */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.asm; path = hgrtest.s; sourceTree = "<group>"; };
|
||||
707005C01D3FD65900623A10 /* hgrtable.s */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.asm; path = hgrtable.s; sourceTree = "<group>"; };
|
||||
7090ABA91D4012A600F02EAA /* spritedata.s */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.asm; path = spritedata.s; sourceTree = "<group>"; };
|
||||
7090ABAA1D407B8100F02EAA /* spritegen.s */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.asm; path = spritegen.s; sourceTree = "<group>"; };
|
||||
7090ABA91D4012A600F02EAA /* spritedata0.s */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.asm; path = spritedata0.s; sourceTree = "<group>"; };
|
||||
7090ABAB1D41663400F02EAA /* scratch.s */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.asm; path = scratch.s; sourceTree = "<group>"; };
|
||||
7090ABAC1D418B8900F02EAA /* spritegen0.s */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.asm; path = spritegen0.s; sourceTree = "<group>"; };
|
||||
7090ABAD1D418B8900F02EAA /* spritegen1.s */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.asm; path = spritegen1.s; sourceTree = "<group>"; };
|
||||
7090ABAE1D419C3E00F02EAA /* spritedata1.s */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.asm; path = spritedata1.s; sourceTree = "<group>"; };
|
||||
7090ABAF1D453FDC00F02EAA /* hgrtable2.s */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.asm; path = hgrtable2.s; sourceTree = "<group>"; };
|
||||
/* End PBXFileReference section */
|
||||
|
||||
/* Begin PBXGroup section */
|
||||
@ -20,9 +24,13 @@
|
||||
children = (
|
||||
707005BE1D3EC75F00623A10 /* Makefile */,
|
||||
707005BF1D3EC7FD00623A10 /* hgrtest.s */,
|
||||
7090ABA91D4012A600F02EAA /* spritedata.s */,
|
||||
7090ABAA1D407B8100F02EAA /* spritegen.s */,
|
||||
7090ABAB1D41663400F02EAA /* scratch.s */,
|
||||
7090ABA91D4012A600F02EAA /* spritedata0.s */,
|
||||
7090ABAE1D419C3E00F02EAA /* spritedata1.s */,
|
||||
7090ABAC1D418B8900F02EAA /* spritegen0.s */,
|
||||
7090ABAD1D418B8900F02EAA /* spritegen1.s */,
|
||||
707005C01D3FD65900623A10 /* hgrtable.s */,
|
||||
7090ABAF1D453FDC00F02EAA /* hgrtable2.s */,
|
||||
);
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
|
86
HiSprite.py
86
HiSprite.py
@ -3,7 +3,7 @@
|
||||
import sys,os,png
|
||||
|
||||
class Colors:
|
||||
black,magenta = range(2)
|
||||
black,magenta,green = range(3)
|
||||
|
||||
|
||||
def main(argv):
|
||||
@ -27,26 +27,37 @@ def main(argv):
|
||||
|
||||
for shift in range(7):
|
||||
for phase in range(2):
|
||||
if shift==0 and phase>0:
|
||||
continue
|
||||
|
||||
for row in range(height):
|
||||
for col in range(width):
|
||||
(pixelr,pixelg,pixelb,half) = pixelRemap(pixeldata,row,col,width,shift,phase)
|
||||
(color,half) = pixelRemap(pixeldata,row,col,width,shift,phase)
|
||||
bitmap[row][col] = color
|
||||
|
||||
if pixelr==255 and pixelg==0 and pixelb==255:
|
||||
bitmap[row][col] = Colors.magenta
|
||||
else:
|
||||
bitmap[row][col] = Colors.black
|
||||
|
||||
spriteNum = max(0,shift*2-1+phase)
|
||||
printBitmap(bitmap,os.path.splitext(pngfile)[0].upper(),spriteNum,half,0)
|
||||
spriteNum = shift*2+phase
|
||||
printBitmap(bitmap,os.path.splitext(pngfile)[0].upper(),spriteNum,half,0,phase)
|
||||
|
||||
|
||||
|
||||
def pixelColor(pixeldata,row,col):
|
||||
r = pixeldata[row][col*3]
|
||||
g = pixeldata[row][col*3+1]
|
||||
b = pixeldata[row][col*3+2]
|
||||
color = Colors.black
|
||||
|
||||
if r==255 and g==0 and b==255:
|
||||
color = Colors.magenta
|
||||
else:
|
||||
if r==0 and g==255 and b==0:
|
||||
color = Colors.green
|
||||
|
||||
return color
|
||||
|
||||
|
||||
def pixelRemap(pixeldata,row,col,width,shift,phase):
|
||||
halfPixel = 0
|
||||
overHalf = 0
|
||||
|
||||
origColor = pixelColor(pixeldata,row,col)
|
||||
|
||||
if shift>=width:
|
||||
overHalf = 1
|
||||
@ -58,37 +69,40 @@ def pixelRemap(pixeldata,row,col,width,shift,phase):
|
||||
col = col+shift
|
||||
else:
|
||||
col = col-(width-shift)
|
||||
if origColor==Colors.green:
|
||||
col = col+1
|
||||
if not overHalf:
|
||||
halfPixel = -1
|
||||
|
||||
|
||||
if col >= width or col<0:
|
||||
return (0,0,0,halfPixel)
|
||||
|
||||
r = pixeldata[row][col*3]
|
||||
g = pixeldata[row][col*3+1]
|
||||
b = pixeldata[row][col*3+2]
|
||||
|
||||
return (r,g,b,halfPixel)
|
||||
return (Colors.black,halfPixel)
|
||||
|
||||
remapColor = pixelColor(pixeldata,row,col)
|
||||
return (remapColor,halfPixel)
|
||||
|
||||
|
||||
def colorString(color,currByteString):
|
||||
if len(currByteString) > 6:
|
||||
if color==Colors.magenta:
|
||||
return '1'
|
||||
else:
|
||||
return '0'
|
||||
else:
|
||||
if color==Colors.magenta:
|
||||
return '10'
|
||||
if color==Colors.magenta:
|
||||
return 'ba'
|
||||
else:
|
||||
if color==Colors.green:
|
||||
return 'ab'
|
||||
|
||||
return '00'
|
||||
|
||||
|
||||
def printBitmap(bitmap,label,shift,halfShift,highbit):
|
||||
print "%s%d:" % (label,shift)
|
||||
|
||||
def containsGreen(row):
|
||||
for col in range(len(row)):
|
||||
if row[col] == Colors.green:
|
||||
return 1
|
||||
|
||||
return 0
|
||||
|
||||
|
||||
def printBitmap(bitmap,label,spriteNum,halfShift,highbit,phase):
|
||||
print "%s%d:" % (label,spriteNum)
|
||||
for row in range(len(bitmap)):
|
||||
byteString = "%d" % highbit
|
||||
byteString = ""
|
||||
|
||||
for col in range(len(bitmap[0])):
|
||||
append = colorString(bitmap[row][col],byteString)
|
||||
@ -99,8 +113,14 @@ def printBitmap(bitmap,label,shift,halfShift,highbit):
|
||||
else:
|
||||
if halfShift<0:
|
||||
byteString = byteString[1:] + "0"
|
||||
|
||||
sys.stdout.write("\t.byte\t%%%s\n" % byteString);
|
||||
|
||||
if len(byteString)>6:
|
||||
byteString = byteString[:-1]
|
||||
|
||||
# if phase==0:
|
||||
# byteString = byteString[::-1]
|
||||
|
||||
sys.stdout.write("\t.byte\t%%%d%s\n" % (highbit,byteString));
|
||||
|
||||
sys.stdout.write('\n\n')
|
||||
sys.stdout.flush()
|
||||
|
157
HiSprite2.py
Executable file
157
HiSprite2.py
Executable file
@ -0,0 +1,157 @@
|
||||
#!/usr/bin/python
|
||||
|
||||
import sys,os,png
|
||||
|
||||
class Colors:
|
||||
black,magenta,green = range(3)
|
||||
|
||||
|
||||
|
||||
def main(argv):
|
||||
|
||||
if len(argv)<1:
|
||||
printHorzontalLookup()
|
||||
exit(0)
|
||||
|
||||
pngfile = sys.argv[1]
|
||||
|
||||
reader = png.Reader(pngfile)
|
||||
try:
|
||||
pngdata = reader.asRGB8()
|
||||
except:
|
||||
usage()
|
||||
|
||||
width = pngdata[0]
|
||||
height = pngdata[1]
|
||||
pixeldata = pngdata[2]
|
||||
|
||||
for shift in range(0,7):
|
||||
|
||||
spriteChunks = layoutSpriteChunk(pixeldata,width,height,shift)
|
||||
|
||||
for chunkIndex in range(len(spriteChunks)):
|
||||
print "%s_SHIFT%d_CHUNK%d:" % (os.path.splitext(pngfile)[0].upper(),shift,chunkIndex)
|
||||
print spriteChunks[chunkIndex]
|
||||
|
||||
|
||||
|
||||
|
||||
def layoutSpriteChunk(pixeldata,width,height,shift):
|
||||
|
||||
bitmap = [[0 for x in range(width)] for y in range(height)]
|
||||
|
||||
byteWidth = width/2+1
|
||||
spriteChunks = ["" for x in range(byteWidth)]
|
||||
|
||||
for row in range(height):
|
||||
pixelRow = bitmap[row]
|
||||
bitStream = ""
|
||||
|
||||
for pixelIndex in range(width):
|
||||
pixel = pixelColor(pixeldata,row,pixelIndex)
|
||||
if pixel == Colors.black:
|
||||
bitStream += "00"
|
||||
else:
|
||||
if pixel == Colors.green:
|
||||
bitStream += "01"
|
||||
else:
|
||||
bitStream += "10"
|
||||
|
||||
bitStream = shiftStringRight(bitStream,shift)
|
||||
bitStream = bitStream[:byteWidth*8]
|
||||
|
||||
bitPos = 0
|
||||
byteSplits = [0 for x in range(byteWidth)]
|
||||
|
||||
for byteIndex in range(byteWidth):
|
||||
remainingBits = len(bitStream) - bitPos
|
||||
|
||||
bitChunk = ""
|
||||
|
||||
if remainingBits < 0:
|
||||
bitChunk = "0000000"
|
||||
else:
|
||||
if remainingBits < 7:
|
||||
bitChunk = bitStream[bitPos:]
|
||||
bitChunk += fillOutByte(7-remainingBits)
|
||||
else:
|
||||
bitChunk = bitStream[bitPos:bitPos+7]
|
||||
|
||||
bitChunk = bitChunk[::-1]
|
||||
|
||||
byteSplits[byteIndex] = "0" + bitChunk
|
||||
bitPos += 7
|
||||
|
||||
for chunkIndex in range(len(byteSplits)):
|
||||
spriteChunks[chunkIndex] += ".byte %%%s\t\n" % byteSplits[chunkIndex]
|
||||
|
||||
return spriteChunks
|
||||
|
||||
|
||||
|
||||
def fillOutByte(numBits):
|
||||
filler = ""
|
||||
for bit in range(numBits):
|
||||
filler += "0"
|
||||
|
||||
return filler
|
||||
|
||||
|
||||
def shiftStringRight(string,shift):
|
||||
if shift==0:
|
||||
return string
|
||||
|
||||
shift *=2
|
||||
result = ""
|
||||
|
||||
for i in range(shift):
|
||||
result += "0"
|
||||
|
||||
result += string
|
||||
return result
|
||||
|
||||
|
||||
def pixelColor(pixeldata,row,col):
|
||||
r = pixeldata[row][col*3]
|
||||
g = pixeldata[row][col*3+1]
|
||||
b = pixeldata[row][col*3+2]
|
||||
color = Colors.black
|
||||
|
||||
if r==255 and g==0 and b==255:
|
||||
color = Colors.magenta
|
||||
else:
|
||||
if r==0 and g==255 and b==0:
|
||||
color = Colors.green
|
||||
|
||||
return color
|
||||
|
||||
|
||||
def printHorzontalLookup():
|
||||
print "HGRROWS_GRN:"
|
||||
for byte in range(40):
|
||||
pixels = 4
|
||||
offset = 0
|
||||
if (byte%2):
|
||||
pixels = 3
|
||||
offset = -1
|
||||
|
||||
for entry in range(pixels):
|
||||
print "\t.byte $%02x" % (byte + offset)
|
||||
|
||||
print "\nHGRROWS_BITSHIFT_GRN:"
|
||||
for pixel in range(140):
|
||||
print "\t.byte $%02x" % ((pixel % 7)*24)
|
||||
|
||||
|
||||
def usage():
|
||||
print '''
|
||||
Usage: HiSprite <png file>
|
||||
|
||||
PNG file must not have an alpha channel!
|
||||
'''
|
||||
sys.exit(2)
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
main(sys.argv[1:])
|
||||
|
BIN
V2Make.scpt
BIN
V2Make.scpt
Binary file not shown.
BIN
box_grn.png
Normal file
BIN
box_grn.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 163 B |
BIN
box_mag.png
Normal file
BIN
box_mag.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 166 B |
@ -441,3 +441,4 @@ HGRROWS_L:
|
||||
.byte $D0
|
||||
.byte $D0
|
||||
|
||||
|
||||
|
283
hgrtable2.s
Normal file
283
hgrtable2.s
Normal file
@ -0,0 +1,283 @@
|
||||
HGRROWS_GRN:
|
||||
.byte $00
|
||||
.byte $00
|
||||
.byte $00
|
||||
.byte $00
|
||||
.byte $00
|
||||
.byte $00
|
||||
.byte $00
|
||||
.byte $02
|
||||
.byte $02
|
||||
.byte $02
|
||||
.byte $02
|
||||
.byte $02
|
||||
.byte $02
|
||||
.byte $02
|
||||
.byte $04
|
||||
.byte $04
|
||||
.byte $04
|
||||
.byte $04
|
||||
.byte $04
|
||||
.byte $04
|
||||
.byte $04
|
||||
.byte $06
|
||||
.byte $06
|
||||
.byte $06
|
||||
.byte $06
|
||||
.byte $06
|
||||
.byte $06
|
||||
.byte $06
|
||||
.byte $08
|
||||
.byte $08
|
||||
.byte $08
|
||||
.byte $08
|
||||
.byte $08
|
||||
.byte $08
|
||||
.byte $08
|
||||
.byte $0a
|
||||
.byte $0a
|
||||
.byte $0a
|
||||
.byte $0a
|
||||
.byte $0a
|
||||
.byte $0a
|
||||
.byte $0a
|
||||
.byte $0c
|
||||
.byte $0c
|
||||
.byte $0c
|
||||
.byte $0c
|
||||
.byte $0c
|
||||
.byte $0c
|
||||
.byte $0c
|
||||
.byte $0e
|
||||
.byte $0e
|
||||
.byte $0e
|
||||
.byte $0e
|
||||
.byte $0e
|
||||
.byte $0e
|
||||
.byte $0e
|
||||
.byte $10
|
||||
.byte $10
|
||||
.byte $10
|
||||
.byte $10
|
||||
.byte $10
|
||||
.byte $10
|
||||
.byte $10
|
||||
.byte $12
|
||||
.byte $12
|
||||
.byte $12
|
||||
.byte $12
|
||||
.byte $12
|
||||
.byte $12
|
||||
.byte $12
|
||||
.byte $14
|
||||
.byte $14
|
||||
.byte $14
|
||||
.byte $14
|
||||
.byte $14
|
||||
.byte $14
|
||||
.byte $14
|
||||
.byte $16
|
||||
.byte $16
|
||||
.byte $16
|
||||
.byte $16
|
||||
.byte $16
|
||||
.byte $16
|
||||
.byte $16
|
||||
.byte $18
|
||||
.byte $18
|
||||
.byte $18
|
||||
.byte $18
|
||||
.byte $18
|
||||
.byte $18
|
||||
.byte $18
|
||||
.byte $1a
|
||||
.byte $1a
|
||||
.byte $1a
|
||||
.byte $1a
|
||||
.byte $1a
|
||||
.byte $1a
|
||||
.byte $1a
|
||||
.byte $1c
|
||||
.byte $1c
|
||||
.byte $1c
|
||||
.byte $1c
|
||||
.byte $1c
|
||||
.byte $1c
|
||||
.byte $1c
|
||||
.byte $1e
|
||||
.byte $1e
|
||||
.byte $1e
|
||||
.byte $1e
|
||||
.byte $1e
|
||||
.byte $1e
|
||||
.byte $1e
|
||||
.byte $20
|
||||
.byte $20
|
||||
.byte $20
|
||||
.byte $20
|
||||
.byte $20
|
||||
.byte $20
|
||||
.byte $20
|
||||
.byte $22
|
||||
.byte $22
|
||||
.byte $22
|
||||
.byte $22
|
||||
.byte $22
|
||||
.byte $22
|
||||
.byte $22
|
||||
.byte $24
|
||||
.byte $24
|
||||
.byte $24
|
||||
.byte $24
|
||||
.byte $24
|
||||
.byte $24
|
||||
.byte $24
|
||||
.byte $26
|
||||
.byte $26
|
||||
.byte $26
|
||||
.byte $26
|
||||
.byte $26
|
||||
.byte $26
|
||||
.byte $26
|
||||
|
||||
HGRROWS_BITSHIFT_GRN:
|
||||
.byte $00
|
||||
.byte $18
|
||||
.byte $30
|
||||
.byte $48
|
||||
.byte $60
|
||||
.byte $78
|
||||
.byte $90
|
||||
.byte $00
|
||||
.byte $18
|
||||
.byte $30
|
||||
.byte $48
|
||||
.byte $60
|
||||
.byte $78
|
||||
.byte $90
|
||||
.byte $00
|
||||
.byte $18
|
||||
.byte $30
|
||||
.byte $48
|
||||
.byte $60
|
||||
.byte $78
|
||||
.byte $90
|
||||
.byte $00
|
||||
.byte $18
|
||||
.byte $30
|
||||
.byte $48
|
||||
.byte $60
|
||||
.byte $78
|
||||
.byte $90
|
||||
.byte $00
|
||||
.byte $18
|
||||
.byte $30
|
||||
.byte $48
|
||||
.byte $60
|
||||
.byte $78
|
||||
.byte $90
|
||||
.byte $00
|
||||
.byte $18
|
||||
.byte $30
|
||||
.byte $48
|
||||
.byte $60
|
||||
.byte $78
|
||||
.byte $90
|
||||
.byte $00
|
||||
.byte $18
|
||||
.byte $30
|
||||
.byte $48
|
||||
.byte $60
|
||||
.byte $78
|
||||
.byte $90
|
||||
.byte $00
|
||||
.byte $18
|
||||
.byte $30
|
||||
.byte $48
|
||||
.byte $60
|
||||
.byte $78
|
||||
.byte $90
|
||||
.byte $00
|
||||
.byte $18
|
||||
.byte $30
|
||||
.byte $48
|
||||
.byte $60
|
||||
.byte $78
|
||||
.byte $90
|
||||
.byte $00
|
||||
.byte $18
|
||||
.byte $30
|
||||
.byte $48
|
||||
.byte $60
|
||||
.byte $78
|
||||
.byte $90
|
||||
.byte $00
|
||||
.byte $18
|
||||
.byte $30
|
||||
.byte $48
|
||||
.byte $60
|
||||
.byte $78
|
||||
.byte $90
|
||||
.byte $00
|
||||
.byte $18
|
||||
.byte $30
|
||||
.byte $48
|
||||
.byte $60
|
||||
.byte $78
|
||||
.byte $90
|
||||
.byte $00
|
||||
.byte $18
|
||||
.byte $30
|
||||
.byte $48
|
||||
.byte $60
|
||||
.byte $78
|
||||
.byte $90
|
||||
.byte $00
|
||||
.byte $18
|
||||
.byte $30
|
||||
.byte $48
|
||||
.byte $60
|
||||
.byte $78
|
||||
.byte $90
|
||||
.byte $00
|
||||
.byte $18
|
||||
.byte $30
|
||||
.byte $48
|
||||
.byte $60
|
||||
.byte $78
|
||||
.byte $90
|
||||
.byte $00
|
||||
.byte $18
|
||||
.byte $30
|
||||
.byte $48
|
||||
.byte $60
|
||||
.byte $78
|
||||
.byte $90
|
||||
.byte $00
|
||||
.byte $18
|
||||
.byte $30
|
||||
.byte $48
|
||||
.byte $60
|
||||
.byte $78
|
||||
.byte $90
|
||||
.byte $00
|
||||
.byte $18
|
||||
.byte $30
|
||||
.byte $48
|
||||
.byte $60
|
||||
.byte $78
|
||||
.byte $90
|
||||
.byte $00
|
||||
.byte $18
|
||||
.byte $30
|
||||
.byte $48
|
||||
.byte $60
|
||||
.byte $78
|
||||
.byte $90
|
||||
.byte $00
|
||||
.byte $18
|
||||
.byte $30
|
||||
.byte $48
|
||||
.byte $60
|
||||
.byte $78
|
||||
.byte $90
|
BIN
hgrtest.dsk
BIN
hgrtest.dsk
Binary file not shown.
312
hgrtest.s
312
hgrtest.s
@ -28,6 +28,18 @@ SCRATCH0 = $19
|
||||
SCRATCH1 = $1a
|
||||
|
||||
; Macros
|
||||
.macro BLITBYTE xPos,yPos,addr
|
||||
lda #xPos
|
||||
sta PARAM0
|
||||
lda #yPos
|
||||
sta PARAM1
|
||||
lda #<addr
|
||||
sta PARAM2
|
||||
lda #>addr
|
||||
sta PARAM3
|
||||
jsr BlitSpriteOnByte
|
||||
.endmacro
|
||||
|
||||
.macro BLIT xPos,yPos,addr
|
||||
lda #xPos
|
||||
sta PARAM0
|
||||
@ -55,80 +67,226 @@ loop:
|
||||
lda #$00
|
||||
jsr LinearFill
|
||||
|
||||
.if 1
|
||||
ldx #1
|
||||
stx PARAM0
|
||||
lda #80
|
||||
sta PARAM1
|
||||
lda #<BOX_MAG_SHIFT0_CHUNK0
|
||||
sta PARAM2
|
||||
lda #>BOX_MAG_SHIFT0_CHUNK0
|
||||
sta PARAM3
|
||||
jsr BlitSprite
|
||||
|
||||
|
||||
.endif
|
||||
.if 0
|
||||
BLITBYTE 0,80,BOX_MAG_SHIFT0_CHUNK0
|
||||
BLITBYTE 1,80,BOX_MAG_SHIFT0_CHUNK1
|
||||
BLITBYTE 2,80,BOX_MAG_SHIFT0_CHUNK2
|
||||
|
||||
BLITBYTE 0,90,BOX_MAG_SHIFT1_CHUNK0
|
||||
BLITBYTE 1,90,BOX_MAG_SHIFT1_CHUNK1
|
||||
BLITBYTE 2,90,BOX_MAG_SHIFT1_CHUNK2
|
||||
|
||||
BLITBYTE 0,100,BOX_MAG_SHIFT2_CHUNK0
|
||||
BLITBYTE 1,100,BOX_MAG_SHIFT2_CHUNK1
|
||||
BLITBYTE 2,100,BOX_MAG_SHIFT2_CHUNK2
|
||||
|
||||
BLITBYTE 0,110,BOX_MAG_SHIFT3_CHUNK0
|
||||
BLITBYTE 1,110,BOX_MAG_SHIFT3_CHUNK1
|
||||
BLITBYTE 2,110,BOX_MAG_SHIFT3_CHUNK2
|
||||
|
||||
BLITBYTE 0,120,BOX_MAG_SHIFT4_CHUNK0
|
||||
BLITBYTE 1,120,BOX_MAG_SHIFT4_CHUNK1
|
||||
BLITBYTE 2,120,BOX_MAG_SHIFT4_CHUNK2
|
||||
|
||||
BLITBYTE 0,130,BOX_MAG_SHIFT5_CHUNK0
|
||||
BLITBYTE 1,130,BOX_MAG_SHIFT5_CHUNK1
|
||||
BLITBYTE 2,130,BOX_MAG_SHIFT5_CHUNK2
|
||||
|
||||
BLITBYTE 0,140,BOX_MAG_SHIFT6_CHUNK0
|
||||
BLITBYTE 1,140,BOX_MAG_SHIFT6_CHUNK1
|
||||
BLITBYTE 2,140,BOX_MAG_SHIFT6_CHUNK2
|
||||
|
||||
|
||||
|
||||
|
||||
BLITBYTE 4,80,BOX_GRN_SHIFT0_CHUNK0
|
||||
BLITBYTE 5,80,BOX_GRN_SHIFT0_CHUNK1
|
||||
BLITBYTE 6,80,BOX_GRN_SHIFT0_CHUNK2
|
||||
|
||||
BLITBYTE 4,90,BOX_GRN_SHIFT1_CHUNK0
|
||||
BLITBYTE 5,90,BOX_GRN_SHIFT1_CHUNK1
|
||||
BLITBYTE 6,90,BOX_GRN_SHIFT1_CHUNK2
|
||||
|
||||
BLITBYTE 4,100,BOX_GRN_SHIFT2_CHUNK0
|
||||
BLITBYTE 5,100,BOX_GRN_SHIFT2_CHUNK1
|
||||
BLITBYTE 6,100,BOX_GRN_SHIFT2_CHUNK2
|
||||
|
||||
BLITBYTE 4,110,BOX_GRN_SHIFT3_CHUNK0
|
||||
BLITBYTE 5,110,BOX_GRN_SHIFT3_CHUNK1
|
||||
BLITBYTE 6,110,BOX_GRN_SHIFT3_CHUNK2
|
||||
|
||||
BLITBYTE 4,120,BOX_GRN_SHIFT4_CHUNK0
|
||||
BLITBYTE 5,120,BOX_GRN_SHIFT4_CHUNK1
|
||||
BLITBYTE 6,120,BOX_GRN_SHIFT4_CHUNK2
|
||||
|
||||
BLITBYTE 4,130,BOX_GRN_SHIFT5_CHUNK0
|
||||
BLITBYTE 5,130,BOX_GRN_SHIFT5_CHUNK1
|
||||
BLITBYTE 6,130,BOX_GRN_SHIFT5_CHUNK2
|
||||
|
||||
BLITBYTE 4,140,BOX_GRN_SHIFT6_CHUNK0
|
||||
BLITBYTE 5,140,BOX_GRN_SHIFT6_CHUNK1
|
||||
BLITBYTE 6,140,BOX_GRN_SHIFT6_CHUNK2
|
||||
|
||||
.endif
|
||||
|
||||
|
||||
.if 0
|
||||
BLIT 20,80,SPRITE0
|
||||
BLITBYTE 20,80,MAG0
|
||||
BLITBYTE 21,80,MAG1
|
||||
|
||||
BLIT 20,90,SPRITE1
|
||||
BLIT 21,90,SPRITE2
|
||||
BLITBYTE 20,90,MAG2
|
||||
BLITBYTE 21,90,MAG3
|
||||
|
||||
BLIT 20,100,SPRITE3
|
||||
BLIT 21,100,SPRITE4
|
||||
BLITBYTE 20,100,MAG4
|
||||
BLITBYTE 21,100,MAG5
|
||||
|
||||
BLIT 20,110,SPRITE5
|
||||
BLIT 21,110,SPRITE6
|
||||
BLITBYTE 20,110,MAG6
|
||||
BLITBYTE 21,110,MAG7
|
||||
|
||||
BLIT 21,120,SPRITE7
|
||||
BLIT 22,120,SPRITE8
|
||||
BLITBYTE 21,120,MAG8
|
||||
BLITBYTE 22,120,MAG9
|
||||
|
||||
BLIT 21,130,SPRITE9
|
||||
BLIT 22,130,SPRITE10
|
||||
BLITBYTE 21,130,MAG10
|
||||
BLITBYTE 22,130,MAG11
|
||||
|
||||
BLIT 21,140,SPRITE11
|
||||
BLIT 22,140,SPRITE12
|
||||
|
||||
BLIT 22,150,SPRITE0
|
||||
BLITBYTE 21,140,MAG12
|
||||
BLITBYTE 22,140,MAG13
|
||||
.endif
|
||||
|
||||
.if 0
|
||||
|
||||
BLITBYTE 22,80,GRN0
|
||||
BLITBYTE 23,80,GRN1
|
||||
|
||||
BLITBYTE 22,90,GRN2
|
||||
BLITBYTE 23,90,GRN3
|
||||
|
||||
BLITBYTE 22,100,GRN4
|
||||
BLITBYTE 23,100,GRN5
|
||||
|
||||
BLITBYTE 22,110,GRN6
|
||||
BLITBYTE 23,110,GRN7
|
||||
|
||||
BLITBYTE 23,120,GRN8
|
||||
BLITBYTE 24,120,GRN9
|
||||
|
||||
BLITBYTE 23,130,GRN10
|
||||
BLITBYTE 24,130,GRN11
|
||||
|
||||
BLITBYTE 23,140,GRN12
|
||||
BLITBYTE 24,140,GRN13
|
||||
.endif
|
||||
|
||||
|
||||
.if 0
|
||||
BLITBYTE 20,80,BOX_MAG0
|
||||
BLITBYTE 21,80,BOX_MAG1
|
||||
|
||||
BLITBYTE 20,90,BOX_MAG2
|
||||
BLITBYTE 21,90,BOX_MAG3
|
||||
|
||||
BLITBYTE 20,100,BOX_MAG4
|
||||
BLITBYTE 21,100,BOX_MAG5
|
||||
|
||||
BLITBYTE 20,110,BOX_MAG6
|
||||
BLITBYTE 21,110,BOX_MAG7
|
||||
|
||||
BLITBYTE 21,120,BOX_MAG8
|
||||
BLITBYTE 22,120,BOX_MAG9
|
||||
|
||||
BLITBYTE 21,130,BOX_MAG10
|
||||
BLITBYTE 22,130,BOX_MAG11
|
||||
|
||||
BLITBYTE 21,140,BOX_MAG12
|
||||
BLITBYTE 22,140,BOX_MAG13
|
||||
.endif
|
||||
|
||||
.if 0
|
||||
BLITBYTE 20,80,BOX_GRN0
|
||||
|
||||
BLITBYTE 20,90,BOX_GRN1
|
||||
BLITBYTE 21,90,BOX_GRN2
|
||||
|
||||
BLITBYTE 20,100,BOX_GRN3
|
||||
BLITBYTE 21,100,BOX_GRN4
|
||||
|
||||
BLITBYTE 20,110,BOX_GRN5
|
||||
BLITBYTE 21,110,BOX_GRN6
|
||||
|
||||
BLITBYTE 21,120,BOX_GRN7
|
||||
BLITBYTE 22,120,BOX_GRN8
|
||||
|
||||
BLITBYTE 21,130,BOX_GRN9
|
||||
BLITBYTE 22,130,BOX_GRN10
|
||||
|
||||
BLITBYTE 21,140,BOX_GRN11
|
||||
BLITBYTE 22,140,BOX_GRN12
|
||||
.endif
|
||||
;rts
|
||||
|
||||
|
||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||
|
||||
BLIT 20,80,BOX0
|
||||
.if 0
|
||||
BLITBYTE 20,80,BOX0
|
||||
WAIT
|
||||
BLIT 20,80,BLACK
|
||||
BLITBYTE 20,80,BLACK
|
||||
|
||||
BLIT 20,80,BOX1
|
||||
BLIT 21,80,BOX2
|
||||
BLITBYTE 20,80,BOX1
|
||||
BLITBYTE 21,80,BOX2
|
||||
WAIT
|
||||
BLIT 20,80,BLACK
|
||||
BLIT 21,80,BLACK
|
||||
BLITBYTE 20,80,BLACK
|
||||
BLITBYTE 21,80,BLACK
|
||||
|
||||
BLIT 20,80,BOX3
|
||||
BLIT 21,80,BOX4
|
||||
BLITBYTE 20,80,BOX3
|
||||
BLITBYTE 21,80,BOX4
|
||||
WAIT
|
||||
BLIT 20,80,BLACK
|
||||
BLIT 21,80,BLACK
|
||||
BLITBYTE 20,80,BLACK
|
||||
BLITBYTE 21,80,BLACK
|
||||
|
||||
BLIT 20,80,BOX5
|
||||
BLIT 21,80,BOX6
|
||||
BLITBYTE 20,80,BOX5
|
||||
BLITBYTE 21,80,BOX6
|
||||
WAIT
|
||||
BLIT 20,80,BLACK
|
||||
BLIT 21,80,BLACK
|
||||
BLITBYTE 20,80,BLACK
|
||||
BLITBYTE 21,80,BLACK
|
||||
|
||||
BLIT 21,80,BOX7
|
||||
BLIT 22,80,BOX8
|
||||
BLITBYTE 21,80,BOX7
|
||||
BLITBYTE 22,80,BOX8
|
||||
WAIT
|
||||
BLIT 21,80,BLACK
|
||||
BLIT 22,80,BLACK
|
||||
BLITBYTE 21,80,BLACK
|
||||
BLITBYTE 22,80,BLACK
|
||||
|
||||
BLIT 21,80,BOX9
|
||||
BLIT 22,80,BOX10
|
||||
BLITBYTE 21,80,BOX9
|
||||
BLITBYTE 22,80,BOX10
|
||||
WAIT
|
||||
BLIT 21,80,BLACK
|
||||
BLIT 22,80,BLACK
|
||||
BLITBYTE 21,80,BLACK
|
||||
BLITBYTE 22,80,BLACK
|
||||
|
||||
BLIT 21,80,BOX11
|
||||
BLIT 22,80,BOX12
|
||||
BLITBYTE 21,80,BOX11
|
||||
BLITBYTE 22,80,BOX12
|
||||
WAIT
|
||||
BLIT 21,80,BLACK
|
||||
BLIT 22,80,BLACK
|
||||
BLITBYTE 21,80,BLACK
|
||||
BLITBYTE 22,80,BLACK
|
||||
|
||||
BLIT 22,80,BOX0
|
||||
BLITBYTE 22,80,BOX0
|
||||
WAIT
|
||||
BLIT 22,80,BLACK
|
||||
BLITBYTE 22,80,BLACK
|
||||
|
||||
jmp loop
|
||||
.endif
|
||||
|
||||
|
||||
rts
|
||||
|
||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||
@ -136,30 +294,75 @@ loop:
|
||||
; Trashes everything
|
||||
; PARAM0: X Pos
|
||||
; PARAM1: Y Pos
|
||||
; PARAM2: Sprite Ptr MSB
|
||||
; PARAM3: Sprite Ptr LSB
|
||||
; PARAM2: Sprite Ptr LSB
|
||||
; PARAM3: Sprite Ptr MSB
|
||||
;
|
||||
BlitSprite:
|
||||
clc ; Compute sprite data base
|
||||
ldx PARAM0
|
||||
lda HGRROWS_BITSHIFT_GRN,x
|
||||
adc PARAM2
|
||||
sta PARAM2
|
||||
lda #0
|
||||
adc PARAM3
|
||||
sta PARAM3
|
||||
|
||||
ldy #7
|
||||
|
||||
blitSprite_loop:
|
||||
clc
|
||||
clc ; Calculate Y line
|
||||
tya
|
||||
adc PARAM1 ; Calculate Y line
|
||||
adc PARAM1
|
||||
tax
|
||||
|
||||
lda HGRROWS_H,x ; Compute hires row
|
||||
sta blitSprite_smc+2
|
||||
sta blitSprite_smc+2 ; Self-modifying code
|
||||
lda HGRROWS_L,x
|
||||
sta blitSprite_smc+1
|
||||
|
||||
ldx PARAM0 ; Compute hires column
|
||||
ldx PARAM0 ; Compute hires horizontal byte
|
||||
lda HGRROWS_GRN,x
|
||||
tax
|
||||
|
||||
lda (PARAM2),y
|
||||
|
||||
blitSprite_smc:
|
||||
sta $2000,x
|
||||
dey
|
||||
bpl blitSprite_loop
|
||||
|
||||
rts
|
||||
|
||||
|
||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||
; BlitSpriteOnByte
|
||||
; Trashes everything
|
||||
; PARAM0: X Byte
|
||||
; PARAM1: Y Pos
|
||||
; PARAM2: Sprite Ptr MSB
|
||||
; PARAM3: Sprite Ptr LSB
|
||||
;
|
||||
BlitSpriteOnByte:
|
||||
ldy #7
|
||||
|
||||
blitSpriteOnByte_loop:
|
||||
clc
|
||||
tya
|
||||
adc PARAM1 ; Calculate Y line
|
||||
tax
|
||||
|
||||
lda HGRROWS_H,x ; Compute hires row
|
||||
sta blitSpriteOnByte_smc+2
|
||||
lda HGRROWS_L,x
|
||||
sta blitSpriteOnByte_smc+1
|
||||
|
||||
ldx PARAM0 ; Compute hires column
|
||||
lda (PARAM2),y
|
||||
|
||||
blitSpriteOnByte_smc:
|
||||
sta $2000,x
|
||||
dey
|
||||
bpl blitSpriteOnByte_loop
|
||||
rts
|
||||
|
||||
|
||||
@ -221,8 +424,11 @@ venetianFill_inner:
|
||||
|
||||
|
||||
.include "hgrtable.s"
|
||||
.include "spritedata.s"
|
||||
.include "spritegen.s"
|
||||
.include "hgrtable2.s"
|
||||
.include "spritedata0.s"
|
||||
.include "spritedata1.s"
|
||||
.include "spritegen0.s"
|
||||
.include "spritegen1.s"
|
||||
|
||||
|
||||
; Suppress some linker warnings - Must be the last thing in the file
|
||||
|
19
scratch.s
Normal file
19
scratch.s
Normal file
@ -0,0 +1,19 @@
|
||||
BOX0:
|
||||
.byte %00101010
|
||||
.byte %00000010
|
||||
.byte %00000010
|
||||
.byte %00000010
|
||||
.byte %00000010
|
||||
.byte %00000010
|
||||
.byte %00000010
|
||||
.byte %00101010
|
||||
|
||||
BOX1:
|
||||
.byte %00000001
|
||||
.byte %00000001
|
||||
.byte %00000001
|
||||
.byte %00000001
|
||||
.byte %00000001
|
||||
.byte %00000001
|
||||
.byte %00000001
|
||||
.byte %00000001
|
@ -5,17 +5,27 @@
|
||||
; Copyright (c) 2015 One Girl, One Laptop Productions. All rights reserved.
|
||||
;
|
||||
|
||||
SPRITE0:
|
||||
MAG0:
|
||||
.byte %01010101 ; Byte aligned
|
||||
.byte %01000001 ; (reversed)
|
||||
.byte %01000001
|
||||
.byte %01000001
|
||||
.byte %01000001 ;;;;;;;;;;;;;;;;;;;;
|
||||
.byte %01000001
|
||||
.byte %01000001
|
||||
.byte %01000001
|
||||
.byte %01010101
|
||||
|
||||
SPRITE1:
|
||||
MAG1:
|
||||
.byte %00000000 ; Byte aligned
|
||||
.byte %00000000 ; (2nd byte, reversed)
|
||||
.byte %00000000
|
||||
.byte %00000000
|
||||
.byte %00000000
|
||||
.byte %00000000
|
||||
.byte %00000000
|
||||
.byte %00000000
|
||||
|
||||
MAG2:
|
||||
.byte %01010100 ; One pixel shift
|
||||
.byte %00000100 ; (reversed)
|
||||
.byte %00000100
|
||||
@ -25,7 +35,7 @@ SPRITE1:
|
||||
.byte %00000100
|
||||
.byte %01010100
|
||||
|
||||
SPRITE2:
|
||||
MAG3:
|
||||
.byte %00000010 ; One pixel shift
|
||||
.byte %00000010 ; (2nd byte, reversed)
|
||||
.byte %00000010
|
||||
@ -36,7 +46,7 @@ SPRITE2:
|
||||
.byte %00000010
|
||||
|
||||
|
||||
SPRITE3:
|
||||
MAG4:
|
||||
.byte %01010000 ; Two pixel shift
|
||||
.byte %00010000 ; (reversed)
|
||||
.byte %00010000
|
||||
@ -46,7 +56,7 @@ SPRITE3:
|
||||
.byte %00010000
|
||||
.byte %01010000
|
||||
|
||||
SPRITE4:
|
||||
MAG5:
|
||||
.byte %00001010 ; Two pixel shift
|
||||
.byte %00001000 ; (2nd byte, reversed)
|
||||
.byte %00001000
|
||||
@ -57,7 +67,7 @@ SPRITE4:
|
||||
.byte %00001010
|
||||
|
||||
|
||||
SPRITE5:
|
||||
MAG6:
|
||||
.byte %01000000 ; Three pixel shift
|
||||
.byte %01000000 ; (reversed)
|
||||
.byte %01000000
|
||||
@ -67,7 +77,7 @@ SPRITE5:
|
||||
.byte %01000000
|
||||
.byte %01000000
|
||||
|
||||
SPRITE6:
|
||||
MAG7:
|
||||
.byte %00101010 ; Three pixel shift
|
||||
.byte %00100000 ; (2nd byte, reversed)
|
||||
.byte %00100000
|
||||
@ -78,7 +88,7 @@ SPRITE6:
|
||||
.byte %00101010
|
||||
|
||||
|
||||
SPRITE7:
|
||||
MAG8:
|
||||
.byte %00101010 ; Four pixel shift
|
||||
.byte %00000010 ; (reversed)
|
||||
.byte %00000010
|
||||
@ -88,7 +98,7 @@ SPRITE7:
|
||||
.byte %00000010
|
||||
.byte %00101010
|
||||
|
||||
SPRITE8:
|
||||
MAG9:
|
||||
.byte %00000001 ; Four pixel shift
|
||||
.byte %00000001 ; (2nd byte, reversed)
|
||||
.byte %00000001
|
||||
@ -99,7 +109,7 @@ SPRITE8:
|
||||
.byte %00000001
|
||||
|
||||
|
||||
SPRITE9:
|
||||
MAG10:
|
||||
.byte %00101000 ; Five pixel shift
|
||||
.byte %00001000 ; (reversed)
|
||||
.byte %00001000
|
||||
@ -109,7 +119,7 @@ SPRITE9:
|
||||
.byte %00001000
|
||||
.byte %00101000
|
||||
|
||||
SPRITE10:
|
||||
MAG11:
|
||||
.byte %00000101 ; Five pixel shift
|
||||
.byte %00000100 ; (2nd byte, reversed)
|
||||
.byte %00000100
|
||||
@ -120,7 +130,7 @@ SPRITE10:
|
||||
.byte %00000101
|
||||
|
||||
|
||||
SPRITE11:
|
||||
MAG12:
|
||||
.byte %00100000 ; Six pixel shift
|
||||
.byte %00100000 ; (2nd byte, reversed)
|
||||
.byte %00100000
|
||||
@ -130,7 +140,7 @@ SPRITE11:
|
||||
.byte %00100000
|
||||
.byte %00100000
|
||||
|
||||
SPRITE12:
|
||||
MAG13:
|
||||
.byte %00010101 ; Six pixel shift
|
||||
.byte %00010000 ; (reversed)
|
||||
.byte %00010000
|
152
spritedata1.s
Normal file
152
spritedata1.s
Normal file
@ -0,0 +1,152 @@
|
||||
;
|
||||
; spritedata.s
|
||||
;
|
||||
; Created by Quinn Dunki on 7/19/16
|
||||
; Copyright (c) 2015 One Girl, One Laptop Productions. All rights reserved.
|
||||
;
|
||||
|
||||
GRN0:
|
||||
.byte %00101010 ; Byte aligned
|
||||
.byte %00000010 ; (reversed)
|
||||
.byte %00000010
|
||||
.byte %00000010
|
||||
.byte %00000010
|
||||
.byte %00000010
|
||||
.byte %00000010
|
||||
.byte %00101010
|
||||
|
||||
GRN1:
|
||||
.byte %00000001 ; Byte aligned
|
||||
.byte %00000001 ; (2nd byte, reversed)
|
||||
.byte %00000001
|
||||
.byte %00000001
|
||||
.byte %00000001
|
||||
.byte %00000001
|
||||
.byte %00000001
|
||||
.byte %00000001
|
||||
|
||||
GRN2:
|
||||
.byte %00101000 ; One pixel shift
|
||||
.byte %00001000 ; (reversed)
|
||||
.byte %00001000
|
||||
.byte %00001000
|
||||
.byte %00001000
|
||||
.byte %00001000
|
||||
.byte %00001000
|
||||
.byte %00101000
|
||||
|
||||
GRN3:
|
||||
.byte %00000101 ; One pixel shift
|
||||
.byte %00000100 ; (2nd byte, reversed)
|
||||
.byte %00000100
|
||||
.byte %00000100
|
||||
.byte %00000100
|
||||
.byte %00000100
|
||||
.byte %00000100
|
||||
.byte %00000101
|
||||
|
||||
|
||||
GRN4:
|
||||
.byte %00100000 ; Two pixel shift
|
||||
.byte %00100000 ; (reversed)
|
||||
.byte %00100000
|
||||
.byte %00100000
|
||||
.byte %00100000
|
||||
.byte %00100000
|
||||
.byte %00100000
|
||||
.byte %00100000
|
||||
|
||||
GRN5:
|
||||
.byte %00010101 ; Two pixel shift
|
||||
.byte %00010000 ; (2nd byte, reversed)
|
||||
.byte %00010000
|
||||
.byte %00010000
|
||||
.byte %00010000
|
||||
.byte %00010000
|
||||
.byte %00010000
|
||||
.byte %00010101
|
||||
|
||||
|
||||
GRN6:
|
||||
.byte %00000000 ; Three pixel shift
|
||||
.byte %00000000 ; (reversed)
|
||||
.byte %00000000
|
||||
.byte %00000000
|
||||
.byte %00000000
|
||||
.byte %00000000
|
||||
.byte %00000000
|
||||
.byte %00000000
|
||||
|
||||
GRN7:
|
||||
.byte %01010101 ; Three pixel shift
|
||||
.byte %01000001 ; (2nd byte, reversed)
|
||||
.byte %01000001
|
||||
.byte %01000001 ;;;;;;;;;;;;;;;;;;;;
|
||||
.byte %01000001
|
||||
.byte %01000001
|
||||
.byte %01000001
|
||||
.byte %01010101
|
||||
|
||||
|
||||
GRN8:
|
||||
.byte %01010100 ; Four pixel shift
|
||||
.byte %00000100 ; (reversed)
|
||||
.byte %00000100
|
||||
.byte %00000100
|
||||
.byte %00000100
|
||||
.byte %00000100
|
||||
.byte %00000100
|
||||
.byte %01010100
|
||||
|
||||
GRN9:
|
||||
.byte %00000010 ; Four pixel shift
|
||||
.byte %00000010 ; (2nd byte, reversed)
|
||||
.byte %00000010
|
||||
.byte %00000010
|
||||
.byte %00000010
|
||||
.byte %00000010
|
||||
.byte %00000010
|
||||
.byte %00000010
|
||||
|
||||
|
||||
GRN10:
|
||||
.byte %01010000 ; Five pixel shift
|
||||
.byte %00010000 ; (reversed)
|
||||
.byte %00010000
|
||||
.byte %00010000
|
||||
.byte %00010000
|
||||
.byte %00010000
|
||||
.byte %00010000
|
||||
.byte %01010000
|
||||
|
||||
GRN11:
|
||||
.byte %00001010 ; Five pixel shift
|
||||
.byte %00001000 ; (2nd byte, reversed)
|
||||
.byte %00001000
|
||||
.byte %00001000
|
||||
.byte %00001000
|
||||
.byte %00001000
|
||||
.byte %00001000
|
||||
.byte %00001010
|
||||
|
||||
|
||||
GRN12:
|
||||
.byte %01000000 ; Six pixel shift
|
||||
.byte %01000000 ; (2nd byte, reversed)
|
||||
.byte %01000000
|
||||
.byte %01000000
|
||||
.byte %01000000
|
||||
.byte %01000000
|
||||
.byte %01000000
|
||||
.byte %01000000
|
||||
|
||||
GRN13:
|
||||
.byte %00101010 ; Six pixel shift
|
||||
.byte %00100000 ; (reversed)
|
||||
.byte %00100000
|
||||
.byte %00100000
|
||||
.byte %00100000
|
||||
.byte %00100000
|
||||
.byte %00100000
|
||||
.byte %00101010
|
||||
|
143
spritegen.s
143
spritegen.s
@ -1,143 +0,0 @@
|
||||
BOX0:
|
||||
.byte %01010101
|
||||
.byte %01010001
|
||||
.byte %01000101
|
||||
.byte %01010001
|
||||
.byte %01000101
|
||||
.byte %01010001
|
||||
.byte %01000101
|
||||
.byte %01010101
|
||||
|
||||
|
||||
BOX1:
|
||||
.byte %01010100
|
||||
.byte %01000100
|
||||
.byte %00010100
|
||||
.byte %01000100
|
||||
.byte %00010100
|
||||
.byte %01000100
|
||||
.byte %00010100
|
||||
.byte %01010100
|
||||
|
||||
|
||||
BOX2:
|
||||
.byte %00000010
|
||||
.byte %00000010
|
||||
.byte %00000010
|
||||
.byte %00000010
|
||||
.byte %00000010
|
||||
.byte %00000010
|
||||
.byte %00000010
|
||||
.byte %00000010
|
||||
|
||||
|
||||
BOX3:
|
||||
.byte %01010000
|
||||
.byte %00010000
|
||||
.byte %01010000
|
||||
.byte %00010000
|
||||
.byte %01010000
|
||||
.byte %00010000
|
||||
.byte %01010000
|
||||
.byte %01010000
|
||||
|
||||
|
||||
BOX4:
|
||||
.byte %00001010
|
||||
.byte %00001010
|
||||
.byte %00001000
|
||||
.byte %00001010
|
||||
.byte %00001000
|
||||
.byte %00001010
|
||||
.byte %00001000
|
||||
.byte %00001010
|
||||
|
||||
|
||||
BOX5:
|
||||
.byte %01000000
|
||||
.byte %01000000
|
||||
.byte %01000000
|
||||
.byte %01000000
|
||||
.byte %01000000
|
||||
.byte %01000000
|
||||
.byte %01000000
|
||||
.byte %01000000
|
||||
|
||||
|
||||
BOX6:
|
||||
.byte %00101010
|
||||
.byte %00101000
|
||||
.byte %00100010
|
||||
.byte %00101000
|
||||
.byte %00100010
|
||||
.byte %00101000
|
||||
.byte %00100010
|
||||
.byte %00101010
|
||||
|
||||
|
||||
BOX7:
|
||||
.byte %00101010
|
||||
.byte %00100010
|
||||
.byte %00001010
|
||||
.byte %00100010
|
||||
.byte %00001010
|
||||
.byte %00100010
|
||||
.byte %00001010
|
||||
.byte %00101010
|
||||
|
||||
|
||||
BOX8:
|
||||
.byte %00000001
|
||||
.byte %00000001
|
||||
.byte %00000001
|
||||
.byte %00000001
|
||||
.byte %00000001
|
||||
.byte %00000001
|
||||
.byte %00000001
|
||||
.byte %00000001
|
||||
|
||||
|
||||
BOX9:
|
||||
.byte %00101000
|
||||
.byte %00001000
|
||||
.byte %00101000
|
||||
.byte %00001000
|
||||
.byte %00101000
|
||||
.byte %00001000
|
||||
.byte %00101000
|
||||
.byte %00101000
|
||||
|
||||
|
||||
BOX10:
|
||||
.byte %00000101
|
||||
.byte %00000101
|
||||
.byte %00000100
|
||||
.byte %00000101
|
||||
.byte %00000100
|
||||
.byte %00000101
|
||||
.byte %00000100
|
||||
.byte %00000101
|
||||
|
||||
|
||||
BOX11:
|
||||
.byte %00100000
|
||||
.byte %00100000
|
||||
.byte %00100000
|
||||
.byte %00100000
|
||||
.byte %00100000
|
||||
.byte %00100000
|
||||
.byte %00100000
|
||||
.byte %00100000
|
||||
|
||||
|
||||
BOX12:
|
||||
.byte %00010101
|
||||
.byte %00010100
|
||||
.byte %00010001
|
||||
.byte %00010100
|
||||
.byte %00010001
|
||||
.byte %00010100
|
||||
.byte %00010001
|
||||
.byte %00010101
|
||||
|
||||
|
210
spritegen0.s
Normal file
210
spritegen0.s
Normal file
@ -0,0 +1,210 @@
|
||||
BOX_MAG_SHIFT0_CHUNK0:
|
||||
.byte %01010101
|
||||
.byte %01000001
|
||||
.byte %01000001
|
||||
.byte %01000001
|
||||
.byte %01000001
|
||||
.byte %01000001
|
||||
.byte %01000001
|
||||
.byte %01010101
|
||||
|
||||
BOX_MAG_SHIFT0_CHUNK1:
|
||||
.byte %00000000
|
||||
.byte %00000000
|
||||
.byte %00000000
|
||||
.byte %00000000
|
||||
.byte %00000000
|
||||
.byte %00000000
|
||||
.byte %00000000
|
||||
.byte %00000000
|
||||
|
||||
BOX_MAG_SHIFT0_CHUNK2:
|
||||
.byte %00000000
|
||||
.byte %00000000
|
||||
.byte %00000000
|
||||
.byte %00000000
|
||||
.byte %00000000
|
||||
.byte %00000000
|
||||
.byte %00000000
|
||||
.byte %00000000
|
||||
|
||||
BOX_MAG_SHIFT1_CHUNK0:
|
||||
.byte %01010100
|
||||
.byte %00000100
|
||||
.byte %00000100
|
||||
.byte %00000100
|
||||
.byte %00000100
|
||||
.byte %00000100
|
||||
.byte %00000100
|
||||
.byte %01010100
|
||||
|
||||
BOX_MAG_SHIFT1_CHUNK1:
|
||||
.byte %00000010
|
||||
.byte %00000010
|
||||
.byte %00000010
|
||||
.byte %00000010
|
||||
.byte %00000010
|
||||
.byte %00000010
|
||||
.byte %00000010
|
||||
.byte %00000010
|
||||
|
||||
BOX_MAG_SHIFT1_CHUNK2:
|
||||
.byte %00000000
|
||||
.byte %00000000
|
||||
.byte %00000000
|
||||
.byte %00000000
|
||||
.byte %00000000
|
||||
.byte %00000000
|
||||
.byte %00000000
|
||||
.byte %00000000
|
||||
|
||||
BOX_MAG_SHIFT2_CHUNK0:
|
||||
.byte %01010000
|
||||
.byte %00010000
|
||||
.byte %00010000
|
||||
.byte %00010000
|
||||
.byte %00010000
|
||||
.byte %00010000
|
||||
.byte %00010000
|
||||
.byte %01010000
|
||||
|
||||
BOX_MAG_SHIFT2_CHUNK1:
|
||||
.byte %00001010
|
||||
.byte %00001000
|
||||
.byte %00001000
|
||||
.byte %00001000
|
||||
.byte %00001000
|
||||
.byte %00001000
|
||||
.byte %00001000
|
||||
.byte %00001010
|
||||
|
||||
BOX_MAG_SHIFT2_CHUNK2:
|
||||
.byte %00000000
|
||||
.byte %00000000
|
||||
.byte %00000000
|
||||
.byte %00000000
|
||||
.byte %00000000
|
||||
.byte %00000000
|
||||
.byte %00000000
|
||||
.byte %00000000
|
||||
|
||||
BOX_MAG_SHIFT3_CHUNK0:
|
||||
.byte %01000000
|
||||
.byte %01000000
|
||||
.byte %01000000
|
||||
.byte %01000000
|
||||
.byte %01000000
|
||||
.byte %01000000
|
||||
.byte %01000000
|
||||
.byte %01000000
|
||||
|
||||
BOX_MAG_SHIFT3_CHUNK1:
|
||||
.byte %00101010
|
||||
.byte %00100000
|
||||
.byte %00100000
|
||||
.byte %00100000
|
||||
.byte %00100000
|
||||
.byte %00100000
|
||||
.byte %00100000
|
||||
.byte %00101010
|
||||
|
||||
BOX_MAG_SHIFT3_CHUNK2:
|
||||
.byte %00000000
|
||||
.byte %00000000
|
||||
.byte %00000000
|
||||
.byte %00000000
|
||||
.byte %00000000
|
||||
.byte %00000000
|
||||
.byte %00000000
|
||||
.byte %00000000
|
||||
|
||||
BOX_MAG_SHIFT4_CHUNK0:
|
||||
.byte %00000000
|
||||
.byte %00000000
|
||||
.byte %00000000
|
||||
.byte %00000000
|
||||
.byte %00000000
|
||||
.byte %00000000
|
||||
.byte %00000000
|
||||
.byte %00000000
|
||||
|
||||
BOX_MAG_SHIFT4_CHUNK1:
|
||||
.byte %00101010
|
||||
.byte %00000010
|
||||
.byte %00000010
|
||||
.byte %00000010
|
||||
.byte %00000010
|
||||
.byte %00000010
|
||||
.byte %00000010
|
||||
.byte %00101010
|
||||
|
||||
BOX_MAG_SHIFT4_CHUNK2:
|
||||
.byte %00000001
|
||||
.byte %00000001
|
||||
.byte %00000001
|
||||
.byte %00000001
|
||||
.byte %00000001
|
||||
.byte %00000001
|
||||
.byte %00000001
|
||||
.byte %00000001
|
||||
|
||||
BOX_MAG_SHIFT5_CHUNK0:
|
||||
.byte %00000000
|
||||
.byte %00000000
|
||||
.byte %00000000
|
||||
.byte %00000000
|
||||
.byte %00000000
|
||||
.byte %00000000
|
||||
.byte %00000000
|
||||
.byte %00000000
|
||||
|
||||
BOX_MAG_SHIFT5_CHUNK1:
|
||||
.byte %00101000
|
||||
.byte %00001000
|
||||
.byte %00001000
|
||||
.byte %00001000
|
||||
.byte %00001000
|
||||
.byte %00001000
|
||||
.byte %00001000
|
||||
.byte %00101000
|
||||
|
||||
BOX_MAG_SHIFT5_CHUNK2:
|
||||
.byte %00000101
|
||||
.byte %00000100
|
||||
.byte %00000100
|
||||
.byte %00000100
|
||||
.byte %00000100
|
||||
.byte %00000100
|
||||
.byte %00000100
|
||||
.byte %00000101
|
||||
|
||||
BOX_MAG_SHIFT6_CHUNK0:
|
||||
.byte %00000000
|
||||
.byte %00000000
|
||||
.byte %00000000
|
||||
.byte %00000000
|
||||
.byte %00000000
|
||||
.byte %00000000
|
||||
.byte %00000000
|
||||
.byte %00000000
|
||||
|
||||
BOX_MAG_SHIFT6_CHUNK1:
|
||||
.byte %00100000
|
||||
.byte %00100000
|
||||
.byte %00100000
|
||||
.byte %00100000
|
||||
.byte %00100000
|
||||
.byte %00100000
|
||||
.byte %00100000
|
||||
.byte %00100000
|
||||
|
||||
BOX_MAG_SHIFT6_CHUNK2:
|
||||
.byte %00010101
|
||||
.byte %00010000
|
||||
.byte %00010000
|
||||
.byte %00010000
|
||||
.byte %00010000
|
||||
.byte %00010000
|
||||
.byte %00010000
|
||||
.byte %00010101
|
||||
|
210
spritegen1.s
Normal file
210
spritegen1.s
Normal file
@ -0,0 +1,210 @@
|
||||
BOX_GRN_SHIFT0_CHUNK0:
|
||||
.byte %00101010
|
||||
.byte %00000010
|
||||
.byte %00000010
|
||||
.byte %00000010
|
||||
.byte %00000010
|
||||
.byte %00000010
|
||||
.byte %00000010
|
||||
.byte %00101010
|
||||
|
||||
BOX_GRN_SHIFT0_CHUNK1:
|
||||
.byte %00000001
|
||||
.byte %00000001
|
||||
.byte %00000001
|
||||
.byte %00000001
|
||||
.byte %00000001
|
||||
.byte %00000001
|
||||
.byte %00000001
|
||||
.byte %00000001
|
||||
|
||||
BOX_GRN_SHIFT0_CHUNK2:
|
||||
.byte %00000000
|
||||
.byte %00000000
|
||||
.byte %00000000
|
||||
.byte %00000000
|
||||
.byte %00000000
|
||||
.byte %00000000
|
||||
.byte %00000000
|
||||
.byte %00000000
|
||||
|
||||
BOX_GRN_SHIFT1_CHUNK0:
|
||||
.byte %00101000
|
||||
.byte %00001000
|
||||
.byte %00001000
|
||||
.byte %00001000
|
||||
.byte %00001000
|
||||
.byte %00001000
|
||||
.byte %00001000
|
||||
.byte %00101000
|
||||
|
||||
BOX_GRN_SHIFT1_CHUNK1:
|
||||
.byte %00000101
|
||||
.byte %00000100
|
||||
.byte %00000100
|
||||
.byte %00000100
|
||||
.byte %00000100
|
||||
.byte %00000100
|
||||
.byte %00000100
|
||||
.byte %00000101
|
||||
|
||||
BOX_GRN_SHIFT1_CHUNK2:
|
||||
.byte %00000000
|
||||
.byte %00000000
|
||||
.byte %00000000
|
||||
.byte %00000000
|
||||
.byte %00000000
|
||||
.byte %00000000
|
||||
.byte %00000000
|
||||
.byte %00000000
|
||||
|
||||
BOX_GRN_SHIFT2_CHUNK0:
|
||||
.byte %00100000
|
||||
.byte %00100000
|
||||
.byte %00100000
|
||||
.byte %00100000
|
||||
.byte %00100000
|
||||
.byte %00100000
|
||||
.byte %00100000
|
||||
.byte %00100000
|
||||
|
||||
BOX_GRN_SHIFT2_CHUNK1:
|
||||
.byte %00010101
|
||||
.byte %00010000
|
||||
.byte %00010000
|
||||
.byte %00010000
|
||||
.byte %00010000
|
||||
.byte %00010000
|
||||
.byte %00010000
|
||||
.byte %00010101
|
||||
|
||||
BOX_GRN_SHIFT2_CHUNK2:
|
||||
.byte %00000000
|
||||
.byte %00000000
|
||||
.byte %00000000
|
||||
.byte %00000000
|
||||
.byte %00000000
|
||||
.byte %00000000
|
||||
.byte %00000000
|
||||
.byte %00000000
|
||||
|
||||
BOX_GRN_SHIFT3_CHUNK0:
|
||||
.byte %00000000
|
||||
.byte %00000000
|
||||
.byte %00000000
|
||||
.byte %00000000
|
||||
.byte %00000000
|
||||
.byte %00000000
|
||||
.byte %00000000
|
||||
.byte %00000000
|
||||
|
||||
BOX_GRN_SHIFT3_CHUNK1:
|
||||
.byte %01010101
|
||||
.byte %01000001
|
||||
.byte %01000001
|
||||
.byte %01000001
|
||||
.byte %01000001
|
||||
.byte %01000001
|
||||
.byte %01000001
|
||||
.byte %01010101
|
||||
|
||||
BOX_GRN_SHIFT3_CHUNK2:
|
||||
.byte %00000000
|
||||
.byte %00000000
|
||||
.byte %00000000
|
||||
.byte %00000000
|
||||
.byte %00000000
|
||||
.byte %00000000
|
||||
.byte %00000000
|
||||
.byte %00000000
|
||||
|
||||
BOX_GRN_SHIFT4_CHUNK0:
|
||||
.byte %00000000
|
||||
.byte %00000000
|
||||
.byte %00000000
|
||||
.byte %00000000
|
||||
.byte %00000000
|
||||
.byte %00000000
|
||||
.byte %00000000
|
||||
.byte %00000000
|
||||
|
||||
BOX_GRN_SHIFT4_CHUNK1:
|
||||
.byte %01010100
|
||||
.byte %00000100
|
||||
.byte %00000100
|
||||
.byte %00000100
|
||||
.byte %00000100
|
||||
.byte %00000100
|
||||
.byte %00000100
|
||||
.byte %01010100
|
||||
|
||||
BOX_GRN_SHIFT4_CHUNK2:
|
||||
.byte %00000010
|
||||
.byte %00000010
|
||||
.byte %00000010
|
||||
.byte %00000010
|
||||
.byte %00000010
|
||||
.byte %00000010
|
||||
.byte %00000010
|
||||
.byte %00000010
|
||||
|
||||
BOX_GRN_SHIFT5_CHUNK0:
|
||||
.byte %00000000
|
||||
.byte %00000000
|
||||
.byte %00000000
|
||||
.byte %00000000
|
||||
.byte %00000000
|
||||
.byte %00000000
|
||||
.byte %00000000
|
||||
.byte %00000000
|
||||
|
||||
BOX_GRN_SHIFT5_CHUNK1:
|
||||
.byte %01010000
|
||||
.byte %00010000
|
||||
.byte %00010000
|
||||
.byte %00010000
|
||||
.byte %00010000
|
||||
.byte %00010000
|
||||
.byte %00010000
|
||||
.byte %01010000
|
||||
|
||||
BOX_GRN_SHIFT5_CHUNK2:
|
||||
.byte %00001010
|
||||
.byte %00001000
|
||||
.byte %00001000
|
||||
.byte %00001000
|
||||
.byte %00001000
|
||||
.byte %00001000
|
||||
.byte %00001000
|
||||
.byte %00001010
|
||||
|
||||
BOX_GRN_SHIFT6_CHUNK0:
|
||||
.byte %00000000
|
||||
.byte %00000000
|
||||
.byte %00000000
|
||||
.byte %00000000
|
||||
.byte %00000000
|
||||
.byte %00000000
|
||||
.byte %00000000
|
||||
.byte %00000000
|
||||
|
||||
BOX_GRN_SHIFT6_CHUNK1:
|
||||
.byte %01000000
|
||||
.byte %01000000
|
||||
.byte %01000000
|
||||
.byte %01000000
|
||||
.byte %01000000
|
||||
.byte %01000000
|
||||
.byte %01000000
|
||||
.byte %01000000
|
||||
|
||||
BOX_GRN_SHIFT6_CHUNK2:
|
||||
.byte %00101010
|
||||
.byte %00100000
|
||||
.byte %00100000
|
||||
.byte %00100000
|
||||
.byte %00100000
|
||||
.byte %00100000
|
||||
.byte %00100000
|
||||
.byte %00101010
|
||||
|
Loading…
Reference in New Issue
Block a user