1
0
mirror of https://github.com/mnaberez/py65.git synced 2024-11-19 06:31:08 +00:00

Memory and pc start can be given in constructor.

Signed-off-by: Mike Naberezny <mike@naberezny.com>
This commit is contained in:
Oscar Lindberg 2009-04-01 07:17:03 +08:00 committed by Mike Naberezny
parent b4046663ce
commit 2e87735fdc

View File

@ -15,7 +15,7 @@ class MPU:
ZERO = 2
CARRY = 1
def __init__(self):
def __init__(self, memory=None, pc=0):
# config
self.debug = False
@ -26,8 +26,13 @@ class MPU:
self.processorCycles = 0
self.internalCycleDelay = 0
if not memory:
memory = 0xFFFF * [0x00]
self.memory = memory
self.start_pc = pc
# init
self.clearMemory()
#self.clearMemory()
self.reset()
def __repr__(self):
@ -48,17 +53,19 @@ class MPU:
return self
def reset(self):
self.pc=0
self.sp=255
self.a=self.x=self.y=0
self.flags=32
self.breakFlag=False
self.processorCycles=0
self.pc = self.start_pc
self.sp = 255
self.a = 0
self.x = 0
self.y = 0
self.flags = 32
self.breakFlag = False
self.processorCycles = 0
def clearMemory(self, start=0x0000, end=0xFFFF):
self.memory = []
for addr in range(start, end + 1):
self.memory.insert(addr, 0x00)
#def clearMemory(self, start=0x0000, end=0xFFFF):
#self.memory = []
#for addr in range(start, end + 1):
#self.memory.insert(addr, 0x00)
def ByteAt(self, addr):
return self.memory[addr]