mirror of
https://github.com/mnaberez/py65.git
synced 2024-06-07 12:29:27 +00:00
Merge branch 'master' of https://github.com/mnaberez/py65
This commit is contained in:
commit
33b48ffbfb
|
@ -9,6 +9,9 @@
|
|||
allow the addresses of the ``getc`` and ``putc`` handlers to be
|
||||
changed. Patch by Mario Keller.
|
||||
|
||||
- Fixed a 65C02 bug where the TSB and TRB instructions did not set
|
||||
the Z flag correctly. Thanks to Kris Kennaway for reporting it.
|
||||
|
||||
0.24 (2015-03-31)
|
||||
|
||||
- Released as a universal wheel.
|
||||
|
|
|
@ -50,7 +50,7 @@ class MPU(mpu6502.MPU):
|
|||
m = self.memory[address]
|
||||
self.p &= ~self.ZERO
|
||||
z = m & self.a
|
||||
if z != 0:
|
||||
if z == 0:
|
||||
self.p |= self.ZERO
|
||||
self.memory[address] = m | self.a
|
||||
|
||||
|
@ -59,7 +59,7 @@ class MPU(mpu6502.MPU):
|
|||
m = self.memory[address]
|
||||
self.p &= ~self.ZERO
|
||||
z = m & self.a
|
||||
if z != 0:
|
||||
if z == 0:
|
||||
self.p |= self.ZERO
|
||||
self.memory[address] = m & ~self.a
|
||||
|
||||
|
|
|
@ -1218,7 +1218,7 @@ class MPUTests(unittest.TestCase, Common6502Tests):
|
|||
|
||||
# TSB Zero Page
|
||||
|
||||
def test_tsb_sp_ones(self):
|
||||
def test_tsb_zp_ones(self):
|
||||
mpu = self._make_mpu()
|
||||
mpu.memory[0x00BB] = 0xE0
|
||||
# $0000 TSB $BD
|
||||
|
@ -1227,11 +1227,11 @@ class MPUTests(unittest.TestCase, Common6502Tests):
|
|||
self.assertEqual(0xE0, mpu.memory[0x00BB])
|
||||
mpu.step()
|
||||
self.assertEqual(0xF0, mpu.memory[0x00BB])
|
||||
self.assertEqual(mpu.ZERO, mpu.p & mpu.ZERO)
|
||||
self.assertEqual(0, mpu.p & mpu.ZERO)
|
||||
self.assertEqual(0x0002, mpu.pc)
|
||||
self.assertEqual(5, mpu.processorCycles)
|
||||
|
||||
def test_tsb_sp_zeros(self):
|
||||
def test_tsb_zp_zeros(self):
|
||||
mpu = self._make_mpu()
|
||||
mpu.memory[0x00BB] = 0x80
|
||||
# $0000 TSB $BD
|
||||
|
@ -1240,7 +1240,7 @@ class MPUTests(unittest.TestCase, Common6502Tests):
|
|||
self.assertEqual(0x80, mpu.memory[0x00BB])
|
||||
mpu.step()
|
||||
self.assertEqual(0xE0, mpu.memory[0x00BB])
|
||||
self.assertEqual(0, mpu.p & mpu.ZERO)
|
||||
self.assertEqual(mpu.ZERO, mpu.p & mpu.ZERO)
|
||||
self.assertEqual(0x0002, mpu.pc)
|
||||
self.assertEqual(5, mpu.processorCycles)
|
||||
|
||||
|
@ -1255,7 +1255,7 @@ class MPUTests(unittest.TestCase, Common6502Tests):
|
|||
self.assertEqual(0xE0, mpu.memory[0xFEED])
|
||||
mpu.step()
|
||||
self.assertEqual(0xF0, mpu.memory[0xFEED])
|
||||
self.assertEqual(mpu.ZERO, mpu.p & mpu.ZERO)
|
||||
self.assertEqual(0, mpu.p & mpu.ZERO)
|
||||
self.assertEqual(0x0003, mpu.pc)
|
||||
self.assertEqual(6, mpu.processorCycles)
|
||||
|
||||
|
@ -1268,13 +1268,13 @@ class MPUTests(unittest.TestCase, Common6502Tests):
|
|||
self.assertEqual(0x80, mpu.memory[0xFEED])
|
||||
mpu.step()
|
||||
self.assertEqual(0xE0, mpu.memory[0xFEED])
|
||||
self.assertEqual(0, mpu.p & mpu.ZERO)
|
||||
self.assertEqual(mpu.ZERO, mpu.p & mpu.ZERO)
|
||||
self.assertEqual(0x0003, mpu.pc)
|
||||
self.assertEqual(6, mpu.processorCycles)
|
||||
|
||||
# TRB Zero Page
|
||||
|
||||
def test_trb_sp_ones(self):
|
||||
def test_trb_zp_ones(self):
|
||||
mpu = self._make_mpu()
|
||||
mpu.memory[0x00BB] = 0xE0
|
||||
# $0000 TRB $BD
|
||||
|
@ -1283,11 +1283,11 @@ class MPUTests(unittest.TestCase, Common6502Tests):
|
|||
self.assertEqual(0xE0, mpu.memory[0x00BB])
|
||||
mpu.step()
|
||||
self.assertEqual(0x80, mpu.memory[0x00BB])
|
||||
self.assertEqual(mpu.ZERO, mpu.p & mpu.ZERO)
|
||||
self.assertEqual(0, mpu.p & mpu.ZERO)
|
||||
self.assertEqual(0x0002, mpu.pc)
|
||||
self.assertEqual(5, mpu.processorCycles)
|
||||
|
||||
def test_trb_sp_zeros(self):
|
||||
def test_trb_zp_zeros(self):
|
||||
mpu = self._make_mpu()
|
||||
mpu.memory[0x00BB] = 0x80
|
||||
# $0000 TRB $BD
|
||||
|
@ -1296,7 +1296,7 @@ class MPUTests(unittest.TestCase, Common6502Tests):
|
|||
self.assertEqual(0x80, mpu.memory[0x00BB])
|
||||
mpu.step()
|
||||
self.assertEqual(0x80, mpu.memory[0x00BB])
|
||||
self.assertEqual(0, mpu.p & mpu.ZERO)
|
||||
self.assertEqual(mpu.ZERO, mpu.p & mpu.ZERO)
|
||||
self.assertEqual(0x0002, mpu.pc)
|
||||
self.assertEqual(5, mpu.processorCycles)
|
||||
|
||||
|
@ -1311,7 +1311,7 @@ class MPUTests(unittest.TestCase, Common6502Tests):
|
|||
self.assertEqual(0xE0, mpu.memory[0xFEED])
|
||||
mpu.step()
|
||||
self.assertEqual(0x80, mpu.memory[0xFEED])
|
||||
self.assertEqual(mpu.ZERO, mpu.p & mpu.ZERO)
|
||||
self.assertEqual(0, mpu.p & mpu.ZERO)
|
||||
self.assertEqual(0x0003, mpu.pc)
|
||||
self.assertEqual(6, mpu.processorCycles)
|
||||
|
||||
|
@ -1324,7 +1324,7 @@ class MPUTests(unittest.TestCase, Common6502Tests):
|
|||
self.assertEqual(0x80, mpu.memory[0xFEED])
|
||||
mpu.step()
|
||||
self.assertEqual(0x80, mpu.memory[0xFEED])
|
||||
self.assertEqual(0, mpu.p & mpu.ZERO)
|
||||
self.assertEqual(mpu.ZERO, mpu.p & mpu.ZERO)
|
||||
self.assertEqual(0x0003, mpu.pc)
|
||||
self.assertEqual(6, mpu.processorCycles)
|
||||
|
||||
|
|
Loading…
Reference in New Issue
Block a user