diff options
author | Bryan Bishop <kanzure@gmail.com> | 2012-04-27 17:16:45 -0500 |
---|---|---|
committer | Bryan Bishop <kanzure@gmail.com> | 2012-04-27 17:16:45 -0500 |
commit | 94a6e1b0ccb531474e662a522940241a785b4739 (patch) | |
tree | cc09f2e4d4e426bf2a0d61c843f027daaf23d5c0 | |
parent | e5586a5aa2293ba601882f254c633d712d53cdca (diff) |
words/pointers should point within bank
-rw-r--r-- | extras/crystal.py | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/extras/crystal.py b/extras/crystal.py index 7be1aa93f..5d9a8aa64 100644 --- a/extras/crystal.py +++ b/extras/crystal.py @@ -1319,6 +1319,7 @@ class PointerLabelParam(MultiByteParam): if not label: #pointer_part = (", ".join([(self.prefix+"%.2x")%x for x in reversed(self.bytes[1:])])) pointer_part = self.prefix+("%.2x"%self.bytes[1])+("%.2x"%self.bytes[0]) + #bank positioning matters! if bank == True or bank == "reverse": #bank, pointer #possibly use BANK(LABEL) if we know the bank @@ -1341,7 +1342,6 @@ class PointerLabelParam(MultiByteParam): return pointer_part #probably in the same bank ? raise Exception, "this should never happen" - class PointerLabelBeforeBank(PointerLabelParam): bank = True #bank appears first, see calculate_pointer_from_bytes_at size = 3 @@ -5018,7 +5018,11 @@ def get_label_for(address): return "AlreadyParsedNoDefaultUnknownLabel_" + hex(address) #return "NotYetParsed_"+hex(address) - return "$%.2x"%(address) + if address > 0x7FFF: + value = 0x4000 + (address % 0x4000) + return "$%.2x"%(value) + else: + return "$%.2x"%(address) def remove_quoted_text(line): """get rid of content inside quotes |