diff --git a/.gitignore b/.gitignore index 1f7f7660..e0c6077c 100644 --- a/.gitignore +++ b/.gitignore @@ -55,4 +55,7 @@ nonmatchings/ *.swp .venv/ src/ultralib -tools/n64crc \ No newline at end of file +tools/n64crc +.vscode/ +ctx.c +__pycache__/ diff --git a/diff_settings.py b/diff_settings.py new file mode 100644 index 00000000..54cdcaa2 --- /dev/null +++ b/diff_settings.py @@ -0,0 +1,9 @@ +#!/usr/bin/env python3 + +def apply(config, args): + config['baseimg'] = 'baserom.us.z64' + config['myimg'] = 'build/pilotwings64.us.z64' + config['mapfile'] = 'build/pilotwings64.us.map' + config['source_directories'] = ['./src','./include'] + config['objdump_flags'] = ['-M','reg-names=32'] + config['makeflags'] = ["KEEP_MDEBUG=1"] diff --git a/tools/diff.py b/tools/diff.py new file mode 120000 index 00000000..943db0cc --- /dev/null +++ b/tools/diff.py @@ -0,0 +1 @@ +asm-differ/diff.py \ No newline at end of file diff --git a/tools/sym_info.py b/tools/sym_info.py new file mode 100755 index 00000000..830e3f64 --- /dev/null +++ b/tools/sym_info.py @@ -0,0 +1,29 @@ +#!/usr/bin/env python3 + +import argparse +from pathlib import Path + +try: + import mapfile_parser +except ImportError: + print("Missing dependency mapfile_parser, install it with `python3 -m pip install 'mapfile-parser>=1.2.1,<2.0.0'`") + exit(1) + + +def symInfoMain(): + parser = argparse.ArgumentParser(description="Display various information about a symbol or address.") + parser.add_argument("symname", help="symbol name or VROM/VRAM address to lookup") + parser.add_argument("-e", "--expected", dest="use_expected", action="store_true", help="use the map file in expected/build/ instead of build/") + + args = parser.parse_args() + + BUILTMAP = Path("build/pilotwings64.us.map") + + mapPath = BUILTMAP + if args.use_expected: + mapPath = "expected" / BUILTMAP + + mapfile_parser.frontends.sym_info.doSymInfo(mapPath, args.symname) + +if __name__ == "__main__": + symInfoMain()