diff --git a/res/boot/boot_dump.py b/res/boot/boot_dump.py
index 202b1abc62f7f82b51777dfde9830040b1100eea..35cacb0a8e007c40ee2ca3445a43729dde709f5c 100644
--- a/res/boot/boot_dump.py
+++ b/res/boot/boot_dump.py
@@ -3,19 +3,35 @@
 
 import sys
 
-def print_buffer(filename):
+
+def print_buffer(filename, mode="buffer"):
     file = open(filename, "rb")
-    try: data = file.read()
-    finally: file.close()
+    try:
+        data = file.read()
+    finally:
+        file.close()
+
+    if mode == "buffer":
+        buffer = [str(ord(byte)) for byte in data]
+        buffer_s = ", ".join(buffer)
+
+        print("[%s]" % buffer_s)
 
-    buffer = [str(ord(byte)) for byte in data]
-    buffer_s = ", ".join(buffer)
+    elif mode == "hex":
+        counter = 0
+        for byte in data:
+            print("[0x%04x] 0x%02x" % (counter, ord(byte)))
+            counter += 1
 
-    print("[%s]" % buffer_s)
 
 if __name__ == "__main__":
     if len(sys.argv) < 2:
         print("Missing arguments")
         exit(1)
 
-    print_buffer(sys.argv[1])
+    mode = "buffer"
+
+    if len(sys.argv) > 2:
+        mode = sys.argv[2]
+
+    print_buffer(sys.argv[1], mode=mode)