summaryrefslogtreecommitdiff
path: root/tools/regconvert.py
diff options
context:
space:
mode:
authorRoman971 <romanlasnier@hotmail.com>2020-03-21 18:19:49 +0100
committerRoman971 <romanlasnier@hotmail.com>2020-03-21 18:20:28 +0100
commit5f04911e0098b073fb4ce5eca6905bf4ac92ead8 (patch)
tree65674347516ebd3d0bd359bc7789447bb7b22f28 /tools/regconvert.py
parentaf62b0e7d7d78a4060cf909b4ac1a4182a04a9db (diff)
Add script to generate REG macros from GameInfo offsets
Also removed `asmdiff-old.sh` that I believe is no longer used by anyone.
Diffstat (limited to 'tools/regconvert.py')
-rw-r--r--tools/regconvert.py23
1 files changed, 23 insertions, 0 deletions
diff --git a/tools/regconvert.py b/tools/regconvert.py
new file mode 100644
index 000000000..fdc1090b6
--- /dev/null
+++ b/tools/regconvert.py
@@ -0,0 +1,23 @@
+#!/usr/bin/env python3
+
+import argparse
+
+GROUP_SIZE = 0x60
+DATA_OFFSET = 0x14
+
+REGISTER_NAMES = " SOPQMYDUIZCNKXcsiWAVHGmnBdkb"
+
+def get_reg_macro(offset):
+ reg = (offset - DATA_OFFSET) // 2
+ group = reg // GROUP_SIZE
+ reg_in_group = reg % GROUP_SIZE
+ return "%cREG(%d)\n" % (REGISTER_NAMES[group], reg_in_group)
+
+def main():
+ parser = argparse.ArgumentParser(description="Converts a GameInfo offset to a REG macro.")
+ parser.add_argument("offset", help="offset to GameInfo in hexadecimal")
+ args = parser.parse_args()
+ print(get_reg_macro(int(args.offset, 16)))
+
+if __name__ == "__main__":
+ main()