diff options
| author | Roman971 <romanlasnier@hotmail.com> | 2020-03-21 18:19:49 +0100 |
|---|---|---|
| committer | Roman971 <romanlasnier@hotmail.com> | 2020-03-21 18:20:28 +0100 |
| commit | 5f04911e0098b073fb4ce5eca6905bf4ac92ead8 (patch) | |
| tree | 65674347516ebd3d0bd359bc7789447bb7b22f28 /tools/regconvert.py | |
| parent | af62b0e7d7d78a4060cf909b4ac1a4182a04a9db (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.py | 23 |
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() |
