diff options
Diffstat (limited to 'romstr.py')
-rw-r--r-- | romstr.py | 25 |
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) + |