summaryrefslogtreecommitdiff
path: root/extras/gbz80disasm.py
diff options
context:
space:
mode:
Diffstat (limited to 'extras/gbz80disasm.py')
-rw-r--r--extras/gbz80disasm.py25
1 files changed, 11 insertions, 14 deletions
diff --git a/extras/gbz80disasm.py b/extras/gbz80disasm.py
index f2ba4839f..d22f152f1 100644
--- a/extras/gbz80disasm.py
+++ b/extras/gbz80disasm.py
@@ -14,11 +14,8 @@ if not hasattr(json, "read"):
from romstr import RomStr
def load_rom(filename="../baserom.gbc"):
- """loads bytes into memory"""
global rom
- file_handler = open(filename, "rb")
- rom = RomStr(file_handler.read())
- file_handler.close()
+ rom = RomStr.load(filename=filename)
return rom
spacing = "\t"
@@ -568,8 +565,6 @@ def load_labels(filename="labels.json"):
crystal.scan_for_predefined_labels()
def find_label(local_address, bank_id=0):
- return None
-
global all_labels
# keep an integer
@@ -577,17 +572,19 @@ def find_label(local_address, bank_id=0):
local_address1 = int(local_address.replace("$", "0x"), 16)
else: local_address1 = local_address
- # turn local_address into a string
+ # turn local_address into an integer
+ if type(local_address) == str:
+ if "0x" in local_address:
+ local_address = local_address.replace("0x", "$")
+ elif "$" in local_address:
+ local_address = local_address.replace("$", "")
+
if type(local_address) == str:
- if "0x" in local_address: local_address = local_address.replace("0x", "$")
- elif not "$" in local_address: local_address = "$" + local_address
- if type(local_address) == int:
- local_address = "$%.x" % (local_address)
- local_address = local_address.upper()
+ local_address = int(local_address, 16)
for label_entry in all_labels:
- if label_entry["local_pointer"].upper() == local_address:
- if label_entry["bank_id"] == bank_id or (local_address1 < 0x8000 and (label_entry["bank_id"] == 0 or label_entry["bank_id"] == 1)):
+ if label_entry["address"] == local_address:
+ if label_entry["bank"] == bank_id or (local_address1 < 0x8000 and (label_entry["bank"] == 0 or label_entry["bank"] == 1)):
return label_entry["label"]
return None