1.1 --- a/upload.py Tue Jan 20 22:24:19 2015 +0100
1.2 +++ b/upload.py Tue Jan 20 22:51:05 2015 +0100
1.3 @@ -62,24 +62,11 @@
1.4 value = ord(data[i])
1.5 addr = (sector << 14) | i
1.6
1.7 - while 1:
1.8 - writeToPort("P%04x%02x\n" % (addr, value))
1.9 - resp = readFromPort()
1.10 - if resp != "P":
1.11 - print >>sys.stderr, "Program of location %04x failed: %s" % (addr, resp)
1.12 - closePort()
1.13 - sleep(5)
1.14 - openPort()
1.15 - writeToPort("R%04x\n" % addr)
1.16 - resp = readFromPort()
1.17 - if resp == ("%X" % value):
1.18 - break
1.19 - print >>sys.stderr, "Read from location %04x failed: %s" % (addr, resp)
1.20 - closePort()
1.21 - sleep(5)
1.22 - openPort()
1.23 - else:
1.24 - break
1.25 + writeToPort("P%04x%02x\n" % (addr, value))
1.26 + resp = readFromPort()
1.27 + if resp != "P":
1.28 + print >>sys.stderr, "Program of location %04x failed: %s" % (addr, resp)
1.29 + return False
1.30
1.31 i += 1
1.32
1.33 @@ -91,8 +78,14 @@
1.34 if "-i" in sys.argv:
1.35 console()
1.36 elif len(sys.argv) > 1:
1.37 - for sector, filename in enumerate(sys.argv[1:]):
1.38 - upload(filename, sector)
1.39 + if len(sys.argv) > 3 and sys.argv[1] == "-s":
1.40 + base = int(sys.argv[2])
1.41 + i = 3
1.42 + else:
1.43 + base = 0
1.44 + i = 1
1.45 + for sector, filename in enumerate(sys.argv[i:]):
1.46 + upload(filename, sector + base)
1.47 else:
1.48 print >>sys.stderr, sys.argv[0], "-i | <filename>..."
1.49 sys.exit(1)