blob: e05d1cf9f313edcacaa7eb7d9551da14863288fe (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
|
import sys
if len(sys.argv) != 2:
raise ValueError("Rom file must be specified as first argument")
rom_filename = sys.argv[1]
rom_file = open(rom_filename, 'r+b')
rom_file.seek(0x0134)
header = rom_file.read(0x19)
header_checksum = 0
for b in header:
header_checksum = (header_checksum - int(b) - 1) & 0xff
print("HEADER CHECKSUM =", hex(header_checksum), file=sys.stderr)
rom_file.seek(0x014d)
rom_file.write(bytes(bytearray([header_checksum])))
rom_file.close()
|