summaryrefslogtreecommitdiff
path: root/tools
diff options
context:
space:
mode:
Diffstat (limited to 'tools')
-rwxr-xr-xtools/dump_string.py41
-rwxr-xr-xtools/messages.py11
2 files changed, 35 insertions, 17 deletions
diff --git a/tools/dump_string.py b/tools/dump_string.py
index 42fd347..1641944 100755
--- a/tools/dump_string.py
+++ b/tools/dump_string.py
@@ -7,6 +7,9 @@ file = open("DMGAKVJ0.1", "rb").read()
bank = int(argv[1], 16)
addr = int(argv[2], 16)
+count = 1
+if len(argv) > 3:
+ count = int(argv[3], 0)
offset = addr
if bank > 0:
@@ -18,18 +21,26 @@ for char in o_charmap:
if o_charmap[char] not in charmap:
charmap[o_charmap[char]] = char
-while True:
- value = file[offset] | (file[offset + 1] << 8)
- offset += 2
-
- if value == 0xffff:
- print()
- break
- elif value == 0xfffe:
- print()
- continue
-
- if value in charmap:
- print(charmap[value], end="")
- else:
- print("<%02x>" % value, end="")
+print(".org %02x:%04x" % (bank, addr))
+for x in range(count):
+ bank = offset // 0x4000
+ addr = offset % 0x4000
+ if bank > 0:
+ addr += 0x4000
+
+ print("[message_%02x_%04x]" % (bank, addr))
+ while True:
+ value = file[offset] | (file[offset + 1] << 8)
+ offset += 2
+
+ if value == 0xffff:
+ print("\n")
+ break
+ elif value == 0xfffe:
+ print()
+ continue
+
+ if value in charmap:
+ print(charmap[value], end="")
+ else:
+ print("<%02x>" % value, end="")
diff --git a/tools/messages.py b/tools/messages.py
index a8a1431..089bbdd 100755
--- a/tools/messages.py
+++ b/tools/messages.py
@@ -55,7 +55,7 @@ def convert_message(message):
err("%s: Unrecognized character '%s'" % (filename, char))
values.append(0xffff)
- return " dw" + ", ".join(["$%04x" % val for val in values])
+ return " dw " + ", ".join(["$%04x" % val for val in values])
name = None
message = None
@@ -70,8 +70,8 @@ for i, line in enumerate(open(filename)):
if name is not None or message is not None:
print("\n%s::" % name)
print(convert_message(message))
- message = ""
name = line[1:-2]
+ message = ""
continue
if line.startswith(".org "):
@@ -83,6 +83,13 @@ for i, line in enumerate(open(filename)):
continue
bank = split[0]
addr = split[1]
+
+ if name is not None or message is not None:
+ print("\n%s::" % name)
+ print(convert_message(message))
+ name = None
+ message = None
+
if i != 0:
print()
print("SECTION \"%s %s:%s\", ROMX[$%s], BANK[$%s]" %