#!/usr/bin/env python import sys def print_usage(): print "Compare two amiga disk images. They must be exactly 880 KiB long." print "" print "Usage: compareadfs [-t] disk1 disk2" print "" print " -t enables track compare mode (default is sector compare)" if len(sys.argv) == 1: print_usage() sys.exit(0) blocklen = 512 u = 'Sector' i = 1 while i < len(sys.argv): if sys.argv[i] == '-h' or sys.argv[i] == '--help': print_usage() sys.exit(0) elif sys.argv[i] == '-t': blocklen = 512 * 11 u = 'Track' i += 1 else: break f1 = open(sys.argv[i], 'r') f2 = open(sys.argv[i + 1], 'r') nblocks = 880 * 1024 / blocklen for i in xrange(nblocks): f1.seek(blocklen * i) f2.seek(blocklen * i) a = f1.read(blocklen) b = f2.read(blocklen) assert(len(a) == blocklen) assert(len(b) == blocklen) if a != b: sys.stdout.write('%s %d differs. Offset %d.\n' %(u, i, blocklen * i)) f1.close() f2.close()