speed up write_bytes

This commit is contained in:
Fabian Dill 2020-04-16 10:38:18 +02:00
parent 770f3c305a
commit 5c2c3041a7
1 changed files with 7 additions and 7 deletions

10
Rom.py
View File

@ -83,12 +83,11 @@ class LocalRom(object):
self.patch_base_rom(extendedmsu) self.patch_base_rom(extendedmsu)
self.orig_buffer = self.buffer.copy() self.orig_buffer = self.buffer.copy()
def write_byte(self, address, value): def write_byte(self, address: int, value):
self.buffer[address] = value self.buffer[address] = value
def write_bytes(self, startaddress, values): def write_bytes(self, startaddress: int, values):
for i, value in enumerate(values): self.buffer[startaddress:startaddress + len(values)] = values
self.write_byte(startaddress + i, value)
def write_to_file(self, file): def write_to_file(self, file):
with open(file, 'wb') as outfile: with open(file, 'wb') as outfile:
@ -150,7 +149,8 @@ def write_int32s(rom, startaddress, values):
for i, value in enumerate(values): for i, value in enumerate(values):
write_int32(rom, startaddress + (i * 4), value) write_int32(rom, startaddress + (i * 4), value)
def read_rom(stream):
def read_rom(stream) -> bytearray:
"Reads rom into bytearray and strips off any smc header" "Reads rom into bytearray and strips off any smc header"
buffer = bytearray(stream.read()) buffer = bytearray(stream.read())
if len(buffer) % 0x400 == 0x200: if len(buffer) % 0x400 == 0x200: