aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--scripts/signrom.py12
1 files changed, 4 insertions, 8 deletions
diff --git a/scripts/signrom.py b/scripts/signrom.py
index 313ee28a17..9be5dab1cf 100644
--- a/scripts/signrom.py
+++ b/scripts/signrom.py
@@ -1,3 +1,5 @@
+#!/usr/bin/env python3
+
from __future__ import print_function
#
# Option ROM signing utility
@@ -44,14 +46,8 @@ fout.write(data)
checksum = 0
for b in data:
- # catch Python 2 vs. 3 differences
- if isinstance(b, int):
- checksum += b
- else:
- checksum += ord(b)
-checksum = (256 - checksum) % 256
-
-# Python 3 no longer allows chr(checksum)
+ checksum = (checksum - b) & 255
+
fout.write(struct.pack('B', checksum))
fin.close()