implement rgb macro for palettes

This commit is contained in:
yenatch 2013-01-13 00:38:48 -05:00
parent 61a3d14593
commit 238f406024
2 changed files with 30 additions and 0 deletions

View File

@ -31,6 +31,10 @@ TX_FAR: MACRO
db BANK(\1)
ENDM
RGB: MACRO
dw ((\3 << 10) | (\2 << 5) | (\1))
ENDM
; eventually replace with python macro
note: MACRO
db \1

View File

@ -1283,6 +1283,28 @@ def get_uncompressed_gfx(start, num_tiles, filename):
def hex_to_rgb(word):
red = word & 0b11111
word >>= 5
green = word & 0b11111
word >>= 5
blue = word & 0b11111
return (red, green, blue)
def grab_palettes(address, length = 0x80):
output = ''
for word in range(length/2):
color = ord(rom[address+1])*0x100 + ord(rom[address])
address += 2
color = hex_to_rgb(color)
red = str(color[0]).zfill(2)
green = str(color[1]).zfill(2)
blue = str(color[2]).zfill(2)
output += '\tRGB '+red+', '+green+', '+blue
output += '\n'
return output
if __name__ == "__main__":
parser = argparse.ArgumentParser()
parser.add_argument('cmd', nargs='?', metavar='cmd', type=str)
@ -1317,6 +1339,10 @@ if __name__ == "__main__":
# python gfx.py un [address] [num_tiles] [filename]
get_uncompressed_gfx(int(args.arg1,16), int(args.arg2), args.arg3)
elif args.cmd == 'pal':
# python gfx.py pal [address] [length]
print grab_palettes(int(args.arg1,16), int(args.arg2))
else:
# python gfx.py
decompress_all()