shithub: pokecrystal

Download patch

ref: 531ccfb5f65bbbfa90e2a5c8493d9584dc2012be
parent: 4f1d108480bffcf6b6320cb59f5ef3194e99a90c
author: Bryan Bishop <[email protected]>
date: Sun Dec 16 04:16:04 EST 2012

update gbz80disasm to not use $ff00+$ff syntax

--- a/extras/gbz80disasm.py
+++ b/extras/gbz80disasm.py
@@ -719,6 +719,19 @@
                         last_a_address = ord(rom[offset + 1])
 
                     opstr = opstr[:opstr.find("x")].lower() + insertion + opstr[opstr.find("x")+1:].lower()
+
+                    # because the $ff00+$ff syntax is silly
+                    if opstr.count("$") > 0 and "+" in opstr:
+                        first_orig = opstr.split("$")[1].split("+")[0]
+                        first_num = "0x"+first_orig
+                        first_val = int(first_num, 16)
+                        second_orig = opstr.split("+$")[1].split("]")[0]
+                        second_num = "0x"+second_orig
+                        second_val = int(second_num, 16)
+                        combined_val = "$" + hex(first_val + second_val)[2:]
+                        replacetron = "[$"+first_orig+"+$"+second_orig+"]"
+                        opstr = opstr.replace(replacetron, "["+combined_val+"]")
+
                     output += spacing + opstr
                     if include_comment:
                         output += " ; " + hex(offset)