diff options
| author | uvok | 2026-01-15 16:34:53 +0100 |
|---|---|---|
| committer | uvok | 2026-01-15 16:35:00 +0100 |
| commit | e23699bad1fd35ff37bc51802490f41a45c25782 (patch) | |
| tree | 3a319474b8e9b0baf0f41c57712599c6c7da5503 | |
| parent | 86277605087e8527b1f28831e39f64d9d55af485 (diff) | |
Fix issues, linting, use argparse, with other py exes
| -rwxr-xr-x | nandgame/assembler/createbin_main.py | 6 | ||||
| -rwxr-xr-x | nandgame/assembler/disas_ins_main.py | 4 | ||||
| -rw-r--r-- | nandgame/assembler/disas_main.py | 26 | ||||
| -rwxr-xr-x | nandgame/assembler/tparse_main.py | 4 |
4 files changed, 24 insertions, 16 deletions
diff --git a/nandgame/assembler/createbin_main.py b/nandgame/assembler/createbin_main.py index e2497cd..a2e21f3 100755 --- a/nandgame/assembler/createbin_main.py +++ b/nandgame/assembler/createbin_main.py @@ -6,7 +6,9 @@ or rather, 15-bit, to have valid nandgame instructions, skip reserved bits. """ -# ENDIANNESS = 'big' +import sys + +# endianness = 'big' endianness = "little" @@ -28,8 +30,6 @@ def main(): f.write(ins.to_bytes(2, byteorder=endianness)) -import sys - if __name__ == "__main__": if len(sys.argv) == 2: if sys.argv[1] in ["little", "le"]: diff --git a/nandgame/assembler/disas_ins_main.py b/nandgame/assembler/disas_ins_main.py index c2417d5..adbaa72 100755 --- a/nandgame/assembler/disas_ins_main.py +++ b/nandgame/assembler/disas_ins_main.py @@ -2,9 +2,7 @@ import sys -from py_nand_ass.disas import ( - print_decoded, -) # pyright: ignore[reportImplicitRelativeImport] +from py_nand_ass.disas import print_decoded if __name__ == "__main__": if len(sys.argv) != 2: diff --git a/nandgame/assembler/disas_main.py b/nandgame/assembler/disas_main.py index 05ce466..d9d314f 100644 --- a/nandgame/assembler/disas_main.py +++ b/nandgame/assembler/disas_main.py @@ -1,24 +1,34 @@ +import argparse import sys import py_nand_ass.disas as dass # pyright: ignore[reportImplicitRelativeImport] def main(): - if len(sys.argv) != 2: - print(f"Usage: {sys.argv[0]} [filename]") - sys.exit(1) - - filename = sys.argv[1] + arg_parser = argparse.ArgumentParser( + prog="disas_main.py", description="Nandgame disassembler" + ) + + g = arg_parser.add_mutually_exclusive_group() + g.add_argument("--le", action="store_true") + g.add_argument("--be", action="store_true") + arg_parser.add_argument("filename") + args = arg_parser.parse_args() + endianness = "little" + if args.be: + endianness = "big" + + filename = args.filename try: with open(filename, "rb") as f: while True: insb = f.read(2) if not insb: break - ins = int.from_bytes(insb, byteorder=ENDIANNESS) - if ENDIANNESS in ["big", "be"]: + ins = int.from_bytes(insb, byteorder=endianness) + if endianness in ["big", "be"]: raw_ins = f"{insb[0]:02x} {insb[1]:02x}" - elif ENDIANNESS in ["little", "le"]: + elif endianness in ["little", "le"]: raw_ins = f"{insb[1]:02x} {insb[0]:02x}" else: raw_ins = f"?? ??" diff --git a/nandgame/assembler/tparse_main.py b/nandgame/assembler/tparse_main.py index 09f5e8e..c74036f 100755 --- a/nandgame/assembler/tparse_main.py +++ b/nandgame/assembler/tparse_main.py @@ -2,7 +2,7 @@ import sys -from py_nand_ass.parser import parser # pyright: ignore[reportImplicitRelativeImport] +from py_nand_ass.parser import parse_text # pyright: ignore[reportImplicitRelativeImport] if len(sys.argv) != 2: sys.exit(-1) @@ -10,4 +10,4 @@ if len(sys.argv) != 2: with open(sys.argv[1], "rb") as f: data = f.read() data2 = data.decode("ascii") - parser.parse(data2, tracking=True) + parse_text(data2) |
