summaryrefslogtreecommitdiff
path: root/tools/charmap.py
diff options
context:
space:
mode:
authormid-kid <esteve.varela@gmail.com>2020-09-12 23:58:44 +0200
committermid-kid <esteve.varela@gmail.com>2020-09-12 23:58:44 +0200
commitc8d5687ac4fa64396104da4f3f04f0594c38dc6c (patch)
tree7df330f23a1f8a7225e2820dccec24239ce23c40 /tools/charmap.py
parent247b904a6bb10c7fdd5689c8380a4a0bdb30385c (diff)
Dump strings, write tooling around them
Diffstat (limited to 'tools/charmap.py')
-rwxr-xr-xtools/charmap.py31
1 files changed, 31 insertions, 0 deletions
diff --git a/tools/charmap.py b/tools/charmap.py
new file mode 100755
index 0000000..d318a61
--- /dev/null
+++ b/tools/charmap.py
@@ -0,0 +1,31 @@
+#!/usr/bin/env python3
+
+from sys import argv
+
+def parse_charmap(file):
+ charmap = {}
+ constants = {}
+ for line in open(file):
+ split = line.split("#")[0].split("=")
+ if len(split) != 2:
+ continue
+
+ char = "=".join(split[0:-1]).strip()
+ value = int(split[-1].strip(), 0) & 0xFFFF
+
+ if char.startswith("'") and char.endswith("'"):
+ charmap[char[1:-1]] = value
+ else:
+ constants[char] = value
+ return charmap, constants
+
+if __name__ == "__main__":
+ charmap, constants = parse_charmap(argv[1])
+
+ for char in charmap:
+ value = charmap[char]
+ print("charmap \"%s\", %d" % (char, value))
+
+ for constant in constants:
+ value = constants[constant]
+ print("%s EQU %d" % (constant, value))