From 3b75495d728ab762771237bb749ac3e8aebdc889 Mon Sep 17 00:00:00 2001 From: Elliot Nunn Date: Fri, 16 Aug 2019 12:02:59 +0800 Subject: [PATCH] Getting started --- swap68 | 37 +++++++++++++++++++++++++++++++++++++ 1 file changed, 37 insertions(+) create mode 100755 swap68 diff --git a/swap68 b/swap68 new file mode 100755 index 0000000..1765775 --- /dev/null +++ b/swap68 @@ -0,0 +1,37 @@ +#!/usr/bin/env python3 + +import struct + + +def command_line(): + import argparse + can_do_list = sorted(l[4:] for l in globals() if l.startswith('Swap')) + + parser = argparse.ArgumentParser(description=''' + Move Managers from one Mac 68k ROM image to another. Supported: + ''' + ' '.join(can_do_list)) + + parser.add_argument('dest', help='Recipient MainCode image') + parser.add_argument('base', help='Base MainCode image') + parser.add_argument('donor', help='Donor MainCode image') + parser.add_argument('swap', nargs='*', choices=can_do_list, metavar='mgr', help='Which Managers? (listed above)') + + args = parser.parse_args() + + base = open(args.base, 'rb').read() + donor = open(args.donor, 'rb').read() + + dest = base + + for s in args.swap: + dest = globals()['Swap' + s](dest, donor) + + open(args.dest, 'wb').write(dest) + + +def SwapGoNative(base, donor): + print('GoNative does not actually work') + return base + + +command_line()