optimize bytearray creation time and ram use

This commit is contained in:
Fabian Dill 2020-01-22 17:50:00 +01:00
parent 6fb732f4b9
commit 515716a71d
2 changed files with 3 additions and 3 deletions

4
Rom.py
View File

@ -96,7 +96,7 @@ class LocalRom(object):
@staticmethod @staticmethod
def fromJsonRom(rom, file, rom_size = 0x200000): def fromJsonRom(rom, file, rom_size = 0x200000):
ret = LocalRom(file, True, rom.name, rom.hash) ret = LocalRom(file, True, rom.name, rom.hash)
ret.buffer.extend(bytearray([0x00] * (rom_size - len(ret.buffer)))) ret.buffer.extend(bytearray([0x00]) * (rom_size - len(ret.buffer)))
for address, values in rom.patches.items(): for address, values in rom.patches.items():
ret.write_bytes(int(address), values) ret.write_bytes(int(address), values)
return ret return ret
@ -109,7 +109,7 @@ class LocalRom(object):
logging.getLogger('').warning('Supplied Base Rom does not match known MD5 for JAP(1.0) release. Will try to patch anyway.') logging.getLogger('').warning('Supplied Base Rom does not match known MD5 for JAP(1.0) release. Will try to patch anyway.')
# extend to 2MB # extend to 2MB
self.buffer.extend(bytearray([0x00] * (0x200000 - len(self.buffer)))) self.buffer.extend(bytearray([0x00]) * (0x200000 - len(self.buffer)))
# load randomizer patches # load randomizer patches
with open(local_path('data/base2current.json'), 'r') as stream: with open(local_path('data/base2current.json'), 'r') as stream:

View File

@ -109,7 +109,7 @@ def make_new_base2current(old_rom='Zelda no Densetsu - Kamigami no Triforce (Jap
with open(new_rom, 'rb') as stream: with open(new_rom, 'rb') as stream:
new_rom_data = bytearray(stream.read()) new_rom_data = bytearray(stream.read())
# extend to 2 mb # extend to 2 mb
old_rom_data.extend(bytearray([0x00] * (2097152 - len(old_rom_data)))) old_rom_data.extend(bytearray([0x00]) * (2097152 - len(old_rom_data)))
out_data = OrderedDict() out_data = OrderedDict()
for idx, old in enumerate(old_rom_data): for idx, old in enumerate(old_rom_data):