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:
parent
b4046663ce
commit
2e87735fdc
@ -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]
|
||||
|
Loading…
Reference in New Issue
Block a user