mirror of
https://github.com/irmen/ksim65.git
synced 2024-06-18 07:29:30 +00:00
ver 1.8
This commit is contained in:
parent
31962d083f
commit
cd00191dcf
|
@ -6,7 +6,7 @@ import razorvine.ksim65.components.UByte
|
||||||
/**
|
/**
|
||||||
* The 6510's IO port located at $00/$01
|
* The 6510's IO port located at $00/$01
|
||||||
* Controlling the memory layout, and cassette port (not processed at all).
|
* 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) {
|
class CpuIoPort : MemMappedComponent(0x0000, 0x0001) {
|
||||||
|
|
||||||
|
|
|
@ -1409,7 +1409,7 @@ open class Cpu6502 : BusComponent() {
|
||||||
// unofficial/illegal 6502 instructions
|
// unofficial/illegal 6502 instructions
|
||||||
// see http://www.ffd2.com/fridge/docs/6502-NMOS.extra.opcodes
|
// 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)
|
// 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 {
|
private fun iAhx(): Boolean {
|
||||||
|
@ -1438,6 +1438,7 @@ open class Cpu6502 : BusComponent() {
|
||||||
}
|
}
|
||||||
|
|
||||||
private fun iAxs(): Boolean {
|
private fun iAxs(): Boolean {
|
||||||
|
// TODO may not be correct
|
||||||
val oldA = regA
|
val oldA = regA
|
||||||
regA = regA and regX
|
regA = regA and regX
|
||||||
regP.C = false
|
regP.C = false
|
||||||
|
|
|
@ -1 +1 @@
|
||||||
version=1.8-SNAPSHOT
|
version=1.8
|
||||||
|
|
|
@ -232,17 +232,20 @@ class Test6502TestSuiteC64Specific {
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
|
@Disabled("io port implementation is not correct enough")
|
||||||
fun testCpuport() {
|
fun testCpuport() {
|
||||||
runTest("cpuport")
|
runTest("cpuport") // TODO fix?
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
|
@Disabled("io port implementation is not correct enough")
|
||||||
fun testMmu() {
|
fun testMmu() {
|
||||||
runTest("mmu")
|
runTest("mmu") // TODO fix?
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
|
@Disabled("io port implementation is not correct enough")
|
||||||
fun testMmufetch() {
|
fun testMmufetch() {
|
||||||
runTest("mmufetch")
|
runTest("mmufetch") // TODO fix?
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,3 +1,4 @@
|
||||||
|
import org.junit.jupiter.api.Disabled
|
||||||
import org.junit.jupiter.api.parallel.Execution
|
import org.junit.jupiter.api.parallel.Execution
|
||||||
import org.junit.jupiter.api.parallel.ExecutionMode
|
import org.junit.jupiter.api.parallel.ExecutionMode
|
||||||
import kotlin.test.*
|
import kotlin.test.*
|
||||||
|
@ -7,26 +8,11 @@ import kotlin.test.*
|
||||||
@Execution(ExecutionMode.CONCURRENT)
|
@Execution(ExecutionMode.CONCURRENT)
|
||||||
class Test6502TestSuiteIllegalInstructions: FunctionalTestsBase() {
|
class Test6502TestSuiteIllegalInstructions: FunctionalTestsBase() {
|
||||||
|
|
||||||
@Test
|
|
||||||
fun testAlrb() {
|
|
||||||
runTest("alrb") // TODO fix?
|
|
||||||
}
|
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
fun testAncb() {
|
fun testAncb() {
|
||||||
runTest("ancb")
|
runTest("ancb")
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
|
||||||
fun testAneb() {
|
|
||||||
runTest("aneb") // TODO fix?
|
|
||||||
}
|
|
||||||
|
|
||||||
@Test
|
|
||||||
fun testArrb() {
|
|
||||||
runTest("arrb") // TODO fix?
|
|
||||||
}
|
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
fun testAsoa() {
|
fun testAsoa() {
|
||||||
runTest("asoa")
|
runTest("asoa")
|
||||||
|
@ -222,11 +208,6 @@ class Test6502TestSuiteIllegalInstructions: FunctionalTestsBase() {
|
||||||
runTest("lsezx")
|
runTest("lsezx")
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
|
||||||
fun testLxab() {
|
|
||||||
runTest("lxab") // TODO fix something?
|
|
||||||
}
|
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
fun testRlaa() {
|
fun testRlaa() {
|
||||||
runTest("rlaa")
|
runTest("rlaa")
|
||||||
|
@ -298,31 +279,61 @@ class Test6502TestSuiteIllegalInstructions: FunctionalTestsBase() {
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@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() {
|
fun testSbxb() {
|
||||||
runTest("sbxb") // TODO fix?
|
runTest("sbxb") // TODO fix?
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
|
@Disabled("this illegal instruction is probablyt not implemented correctly yet")
|
||||||
fun testShaay() {
|
fun testShaay() {
|
||||||
runTest("shaay") // TODO fix?
|
runTest("shaay") // TODO fix?
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
|
@Disabled("this illegal instruction is probablyt not implemented correctly yet")
|
||||||
fun testShaiy() {
|
fun testShaiy() {
|
||||||
runTest("shaiy") // TODO fix?
|
runTest("shaiy") // TODO fix?
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
|
@Disabled("this illegal instruction is probablyt not implemented correctly yet")
|
||||||
fun testShsay() {
|
fun testShsay() {
|
||||||
runTest("shsay") // TODO fix?
|
runTest("shsay") // TODO fix?
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
|
@Disabled("this illegal instruction is probablyt not implemented correctly yet")
|
||||||
fun testShxay() {
|
fun testShxay() {
|
||||||
runTest("shxay") // TODO fix?
|
runTest("shxay") // TODO fix?
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
|
@Disabled("this illegal instruction is probablyt not implemented correctly yet")
|
||||||
fun testShyax() {
|
fun testShyax() {
|
||||||
runTest("shyax") // TODO fix?
|
runTest("shyax") // TODO fix?
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue
Block a user