summaryrefslogtreecommitdiff
path: root/romstr.py
diff options
context:
space:
mode:
Diffstat (limited to 'romstr.py')
-rw-r--r--romstr.py25
1 files changed, 25 insertions, 0 deletions
diff --git a/romstr.py b/romstr.py
new file mode 100644
index 0000000..9d50fce
--- /dev/null
+++ b/romstr.py
@@ -0,0 +1,25 @@
+class RomStr(str):
+ """ Simple wrapper to prevent a giant rom from being shown on screen
+ """
+
+ def length(self):
+ """len(self)"""
+ return len(self)
+
+ def __repr__(self):
+ return "RomStr(too long)"
+
+ def interval(self, offset, length, strings=True, debug=True):
+ """returns hex values for the rom starting at offset until offset+length"""
+ returnable = []
+ for byte in self[offset:offset+length]:
+ if strings:
+ returnable.append(hex(ord(byte)))
+ else:
+ returnable.append(ord(byte))
+ return returnable
+
+ def until(self, offset, byte, strings=True, debug=False):
+ """returns hex values from rom starting at offset until the given byte"""
+ return self.interval(offset, self.find(chr(byte), offset) - offset, strings=strings)
+