diff options
author | Bryan Bishop <kanzure@gmail.com> | 2013-05-12 06:21:45 -0700 |
---|---|---|
committer | Bryan Bishop <kanzure@gmail.com> | 2013-05-12 06:21:45 -0700 |
commit | ebc6a54f1e6b40e03582248b9d5bf33fa85e2932 (patch) | |
tree | fddcf1a42e01dc937383b970559748f8e1ba11b1 | |
parent | b954746344987eb2926227bd96a8c5d77d7c80b1 (diff) | |
parent | fc09356a8a60ede49d347ea7b601a15f52cda3fe (diff) |
Merge pull request #130 from Sanky/master
Menu stuff, battle text split & extras.
original-commit-id: cf4ec47b153f59ec377bef48fb5ea442638c6421
-rw-r--r-- | gbz80disasm.py | 8 | ||||
-rw-r--r-- | parse_consecutive_strings.py | 25 |
2 files changed, 32 insertions, 1 deletions
diff --git a/gbz80disasm.py b/gbz80disasm.py index efb4689..d57a190 100644 --- a/gbz80disasm.py +++ b/gbz80disasm.py @@ -861,4 +861,10 @@ def all_outstanding_labels_are_reverse(byte_labels, offset): if __name__ == "__main__": - print output_bank_opcodes(int(sys.argv[1], 16))[0] + addr = sys.argv[1] + if ":" in addr: + addr = addr.split(":") + addr = int(addr[0], 16)*0x4000+(int(addr[1], 16)%0x4000) + else: + addr = int(addr, 16) + print output_bank_opcodes(addr)[0] diff --git a/parse_consecutive_strings.py b/parse_consecutive_strings.py new file mode 100644 index 0000000..4c864ba --- /dev/null +++ b/parse_consecutive_strings.py @@ -0,0 +1,25 @@ +import sys + +import crystal + +rom = crystal.load_rom() + +addr = int(sys.argv[1], 16) +count = int(sys.argv[2]) if len(sys.argv) > 2 else 256 +label_prefix = sys.argv[3] if len(sys.argv) > 3 else "UnknownString" + +ex = None + +for i in range(count): + try: + string = crystal.PokedexText(addr) + asm = string.to_asm() + except Exception as ex: + break + print label_prefix+str(i)+": ; "+hex(addr) + print "\t"+asm + print + addr = string.last_address + +print "; "+hex(addr) +if ex: raise ex |