mirror of
https://github.com/mnaberez/py65.git
synced 2024-11-19 06:31:08 +00:00
Merge branch 'master' of git@github.com:mnaberez/py65
This commit is contained in:
commit
114c81660b
@ -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]
|
||||
|
@ -1,7 +1,5 @@
|
||||
import re
|
||||
import select
|
||||
import termios
|
||||
import fcntl
|
||||
import os
|
||||
|
||||
class AddressParser:
|
||||
@ -140,6 +138,8 @@ def getch(stdin):
|
||||
""" Performs a nonblocking read of one byte from stdin and returns
|
||||
its ordinal value. If no byte is available, 0 is returned.
|
||||
"""
|
||||
import termios
|
||||
import fcntl
|
||||
|
||||
fd = stdin.fileno()
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user