diff options
author | Bryan Bishop <kanzure@gmail.com> | 2013-06-17 16:56:00 -0700 |
---|---|---|
committer | Bryan Bishop <kanzure@gmail.com> | 2013-06-17 16:56:00 -0700 |
commit | 2d5e2dcb19d02cec691a7bdbb807deab61eb8cf4 (patch) | |
tree | 6fc0fbb9b9ee40aff5058027e4d3cf94d58c3832 | |
parent | 76b71fda33a8f6ac2ec3c26470c6d156fa1aaeca (diff) | |
parent | 1578452ebccfd44fac82bd01defa75455ef00a41 (diff) |
Merge pull request #147 from yenatch/master
gbz80disasm/sym fixes + odds and ends
original-commit-id: ac773a9dc1499f7070dc98236c66de6309885210
-rw-r--r-- | gbz80disasm.py | 4 | ||||
-rw-r--r-- | sym.py | 2 |
2 files changed, 3 insertions, 3 deletions
diff --git a/gbz80disasm.py b/gbz80disasm.py index c1d129c..2dc57e5 100644 --- a/gbz80disasm.py +++ b/gbz80disasm.py @@ -577,13 +577,13 @@ def find_label(local_address, bank_id=0): if local_address < 0x8000: for label_entry in all_labels: - if label_entry["address"] == local_address: + if label_entry["address"] & 0x7fff == local_address: if label_entry["bank"] == bank_id or label_entry["bank"] == 0: return label_entry["label"] if local_address in wram_labels.keys(): return wram_labels[local_address][-1] for constants in [gbhw_constants, hram_constants]: - if local_address in constants.keys(): + if local_address in constants.keys() and local_address >= 0xff00: return constants[local_address] return None @@ -10,7 +10,7 @@ def make_sym_from_json(filename = '../pokecrystal.sym', j = 'labels.json'): # todo: delete and remake labels.json at runtime with open(filename, 'w') as sym: for label in json.load(open(j)): - sym.write('{0:x}:{1:x} {2}\n'.format(label['bank'], label['address']&0x3fff, label['label'])) + sym.write('{0:x}:{1:x} {2}\n'.format(label['bank'], label['address']%0x4000 + (0x4000 if label['bank'] else 0), label['label'])) def make_sym_from_mapfile(filename = '../pokecrystal.sym', mapfile = '../mapfile.txt'): |