Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
tree: 1795b9fbae
Fetching contributors…

Cannot retrieve contributors at this time

24 lines (20 sloc) 0.721 kb
""" Various functions related to pointer and address math. Mostly to avoid
depedency loops.
"""
def calculate_bank(address):
"""you are too lazy to divide on your own?"""
if type(address) == str:
address = int(address, 16)
#if 0x4000 <= address <= 0x7FFF:
# raise Exception, "bank 1 does not exist"
return int(address) / 0x4000
def calculate_pointer(short_pointer, bank=None):
"""calculates the full address given a 4-byte pointer and bank byte"""
short_pointer = int(short_pointer)
if 0x4000 <= short_pointer <= 0x7fff:
short_pointer -= 0x4000
bank = int(bank)
else:
bank = 0
pointer = short_pointer + (bank * 0x4000)
return pointer
Jump to Line
Something went wrong with that request. Please try again.