This commit is contained in:
Irmen de Jong 2020-02-21 01:46:34 +01:00
parent 31962d083f
commit cd00191dcf
5 changed files with 41 additions and 26 deletions

View File

@ -6,7 +6,7 @@ import razorvine.ksim65.components.UByte
/**
* The 6510's IO port located at $00/$01
* Controlling the memory layout, and cassette port (not processed at all).
*
* TODO: there are a few functional tests that still fail. Is this not implemented correctly yet?
*/
class CpuIoPort : MemMappedComponent(0x0000, 0x0001) {

View File

@ -1409,7 +1409,7 @@ open class Cpu6502 : BusComponent() {
// unofficial/illegal 6502 instructions
// see http://www.ffd2.com/fridge/docs/6502-NMOS.extra.opcodes
// or https://github.com/quietust/nintendulator/blob/master/src/CPU.cpp (search for LogBadOps)
// TODO: actually implement the illegal opcodes
// TODO: some of these may be implemented incorrectly / are not finished yet
private fun iAhx(): Boolean {
@ -1438,6 +1438,7 @@ open class Cpu6502 : BusComponent() {
}
private fun iAxs(): Boolean {
// TODO may not be correct
val oldA = regA
regA = regA and regX
regP.C = false

View File

@ -1 +1 @@
version=1.8-SNAPSHOT
version=1.8

View File

@ -232,17 +232,20 @@ class Test6502TestSuiteC64Specific {
}
@Test
@Disabled("io port implementation is not correct enough")
fun testCpuport() {
runTest("cpuport")
runTest("cpuport") // TODO fix?
}
@Test
@Disabled("io port implementation is not correct enough")
fun testMmu() {
runTest("mmu")
runTest("mmu") // TODO fix?
}
@Test
@Disabled("io port implementation is not correct enough")
fun testMmufetch() {
runTest("mmufetch")
runTest("mmufetch") // TODO fix?
}
}

View File

@ -1,3 +1,4 @@
import org.junit.jupiter.api.Disabled
import org.junit.jupiter.api.parallel.Execution
import org.junit.jupiter.api.parallel.ExecutionMode
import kotlin.test.*
@ -7,26 +8,11 @@ import kotlin.test.*
@Execution(ExecutionMode.CONCURRENT)
class Test6502TestSuiteIllegalInstructions: FunctionalTestsBase() {
@Test
fun testAlrb() {
runTest("alrb") // TODO fix?
}
@Test
fun testAncb() {
runTest("ancb")
}
@Test
fun testAneb() {
runTest("aneb") // TODO fix?
}
@Test
fun testArrb() {
runTest("arrb") // TODO fix?
}
@Test
fun testAsoa() {
runTest("asoa")
@ -222,11 +208,6 @@ class Test6502TestSuiteIllegalInstructions: FunctionalTestsBase() {
runTest("lsezx")
}
@Test
fun testLxab() {
runTest("lxab") // TODO fix something?
}
@Test
fun testRlaa() {
runTest("rlaa")
@ -298,31 +279,61 @@ class Test6502TestSuiteIllegalInstructions: FunctionalTestsBase() {
}
@Test
@Disabled("this illegal instruction is probablyt not implemented correctly yet")
fun testAlrb() {
runTest("alrb") // TODO fix?
}
@Test
@Disabled("this illegal instruction is probablyt not implemented correctly yet")
fun testAneb() {
runTest("aneb") // TODO fix?
}
@Test
@Disabled("this illegal instruction is probablyt not implemented correctly yet")
fun testArrb() {
runTest("arrb") // TODO fix?
}
@Test
@Disabled("this illegal instruction is probablyt not implemented correctly yet")
fun testLxab() {
runTest("lxab") // TODO fix something?
}
@Test
@Disabled("this illegal instruction is probablyt not implemented correctly yet")
fun testSbxb() {
runTest("sbxb") // TODO fix?
}
@Test
@Disabled("this illegal instruction is probablyt not implemented correctly yet")
fun testShaay() {
runTest("shaay") // TODO fix?
}
@Test
@Disabled("this illegal instruction is probablyt not implemented correctly yet")
fun testShaiy() {
runTest("shaiy") // TODO fix?
}
@Test
@Disabled("this illegal instruction is probablyt not implemented correctly yet")
fun testShsay() {
runTest("shsay") // TODO fix?
}
@Test
@Disabled("this illegal instruction is probablyt not implemented correctly yet")
fun testShxay() {
runTest("shxay") // TODO fix?
}
@Test
@Disabled("this illegal instruction is probablyt not implemented correctly yet")
fun testShyax() {
runTest("shyax") // TODO fix?
}