Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 4 additions & 4 deletions m6502/memory.py
Original file line number Diff line number Diff line change
Expand Up @@ -13,9 +13,9 @@ def __init__(self, size: int = None) -> None:
"""
if size is None:
size = 0xFFFF
if size < 0x0200:
elif size < 0x0200:
raise ValueError("Memory size is not valid")
if size > 0xFFFF:
elif size > 0xFFFF:
raise ValueError("Memory size is not valid")
self.size = size
self.memory = [0] * self.size
Expand All @@ -27,7 +27,7 @@ def __getitem__(self, address: int) -> int:
:param address: The address to read from
:return: The value at the specified address
"""
if 0x0000 < address > 0xFFFF:
if 0 > address or address > 0xFFFF:
raise ValueError("Memory address is not valid")
return self.memory[address]

Expand All @@ -39,7 +39,7 @@ def __setitem__(self, address: int, value: int) -> int:
:param value: The value to write to the address
:return: None
"""
if 0x0000 < address > 0xFFFF:
if 0 > address or address > 0xFFFF:
raise ValueError("Memory address is not valid")
if value.bit_length() > 8:
raise ValueError("Value too large")
Expand Down
4 changes: 3 additions & 1 deletion m6502/processor.py
Original file line number Diff line number Diff line change
Expand Up @@ -234,7 +234,9 @@ def execute(self, cycles: int = 0) -> None:
"""
while (self.cycles < cycles) or (cycles == 0):
opcode = self.fetch_byte()
eval("self.ins_" + self.OPCODES[opcode] + "_" + self.ADDRESSING[opcode] + "()") # noqa: PLW0123
name = f"ins_{self.OPCODES[opcode]}_{self.ADDRESSING[opcode]}"
method = getattr(self, name)
method()

def ins_nop_imp(self) -> None:
"""
Expand Down