diff options
Diffstat (limited to 'Source/UnitTests/AudioJitTests.cpp')
| -rw-r--r-- | Source/UnitTests/AudioJitTests.cpp | 217 |
1 files changed, 216 insertions, 1 deletions
diff --git a/Source/UnitTests/AudioJitTests.cpp b/Source/UnitTests/AudioJitTests.cpp index cfabaeeb6c..4cef5931fa 100644 --- a/Source/UnitTests/AudioJitTests.cpp +++ b/Source/UnitTests/AudioJitTests.cpp @@ -28,6 +28,15 @@ void nx_nr() tester.Report(); } +void nx_mv() +{ + DSPJitTester tester(0x8000, 0x0010); + tester.AddTestData(DSP_REG_ACL0); + tester.AddTestData(DSP_REG_AXL0); + tester.TestAll(true); + tester.Report(); +} + void dar() { DSPJitTester tester(0x0004); @@ -81,14 +90,205 @@ void nx_s() { DSPJitTester tester(0x8000, 0x0020); tester.AddTestData(DSP_REG_AR0); + tester.AddTestData(DSP_REG_WR0); tester.AddTestData(DSP_REG_ACL0); tester.TestAll(true); tester.Report(); } + +void nx_sn() +{ + DSPJitTester tester(0x8000, 0x0024); + tester.AddTestData(DSP_REG_AR0); + tester.AddTestData(DSP_REG_WR0); + tester.AddTestData(DSP_REG_IX0); + tester.AddTestData(DSP_REG_ACL0); + tester.TestAll(true); + tester.Report(); +} + +void nx_l() +{ + + DSPJitTester tester(0x8000, 0x0040); + tester.AddTestData(DSP_REG_AR0); + tester.AddTestData(DSP_REG_WR0); + tester.AddTestData(DSP_REG_AXL0); + tester.TestAll(true); + tester.Report(); +} + +void set16_l() +{ + + DSPJitTester tester(0x8e00, 0x0070); + tester.AddTestData(DSP_REG_SR, 0); + tester.AddTestData(DSP_REG_SR, SR_40_MODE_BIT); + tester.AddTestData(DSP_REG_AR0); + tester.AddTestData(DSP_REG_WR0); + tester.AddTestData(DSP_REG_ACM0); + tester.TestAll(true); + tester.Report(); +} + +void nx_ln() +{ + DSPJitTester tester(0x8000, 0x0044); + tester.AddTestData(DSP_REG_AR0); + tester.AddTestData(DSP_REG_WR0); + tester.AddTestData(DSP_REG_IX0); + tester.AddTestData(DSP_REG_AXL0); + tester.TestAll(true); + tester.Report(); +} + +void nx_ls() +{ + DSPJitTester tester1(0x8000, 0x0080); + tester1.AddTestData(DSP_REG_ACM0); + tester1.AddTestData(DSP_REG_AR0); + tester1.AddTestData(DSP_REG_WR0); + tester1.TestAll(true); + tester1.Report(); + + DSPJitTester tester2(0x8000, 0x0080); + tester2.AddTestData(DSP_REG_ACM0); + tester2.AddTestData(DSP_REG_AR3); + tester2.AddTestData(DSP_REG_WR3); + tester2.TestAll(true); + tester2.Report(); +} + +void nx_lsn() +{ + DSPJitTester tester1(0x8000, 0x0084); + tester1.AddTestData(DSP_REG_ACM0); + tester1.AddTestData(DSP_REG_AR0); + tester1.AddTestData(DSP_REG_WR0); + tester1.AddTestData(DSP_REG_IX0); + tester1.TestAll(true); + tester1.Report(); + + DSPJitTester tester2(0x8000, 0x0084); + tester2.AddTestData(DSP_REG_ACM0); + tester2.AddTestData(DSP_REG_AR3); + tester2.AddTestData(DSP_REG_WR3); + tester2.TestAll(true); + tester2.Report(); +} + +void nx_lsm() +{ + DSPJitTester tester1(0x8000, 0x0088); + tester1.AddTestData(DSP_REG_ACM0); + tester1.AddTestData(DSP_REG_AR0); + tester1.AddTestData(DSP_REG_WR0); + tester1.TestAll(true); + tester1.Report(); + + DSPJitTester tester2(0x8000, 0x0088); + tester2.AddTestData(DSP_REG_ACM0); + tester2.AddTestData(DSP_REG_AR3); + tester2.AddTestData(DSP_REG_WR3); + tester2.AddTestData(DSP_REG_IX3); + tester2.TestAll(true); + tester2.Report(); +} + +void nx_lsnm() +{ + DSPJitTester tester1(0x8000, 0x008c); + tester1.AddTestData(DSP_REG_ACM0); + tester1.AddTestData(DSP_REG_AR0); + tester1.AddTestData(DSP_REG_WR0); + tester1.AddTestData(DSP_REG_IX0); + tester1.TestAll(true); + tester1.Report(); + + DSPJitTester tester2(0x8000, 0x008c); + tester2.AddTestData(DSP_REG_ACM0); + tester2.AddTestData(DSP_REG_AR3); + tester2.AddTestData(DSP_REG_WR3); + tester2.AddTestData(DSP_REG_IX3); + tester2.TestAll(true); + tester2.Report(); +} + +void nx_sl() +{ + DSPJitTester tester1(0x8000, 0x0082); + tester1.AddTestData(DSP_REG_ACM0); + tester1.AddTestData(DSP_REG_AR0); + tester1.AddTestData(DSP_REG_WR0); + tester1.TestAll(true); + tester1.Report(); + + DSPJitTester tester2(0x8000, 0x0082); + tester2.AddTestData(DSP_REG_ACM0); + tester2.AddTestData(DSP_REG_AR3); + tester2.AddTestData(DSP_REG_WR3); + tester2.TestAll(true); + tester2.Report(); +} + +void nx_sln() +{ + DSPJitTester tester1(0x8000, 0x0086); + tester1.AddTestData(DSP_REG_ACM0); + tester1.AddTestData(DSP_REG_AR0); + tester1.AddTestData(DSP_REG_WR0); + tester1.AddTestData(DSP_REG_IX0); + tester1.TestAll(true); + tester1.Report(); + + DSPJitTester tester2(0x8000, 0x0086); + tester2.AddTestData(DSP_REG_ACM0); + tester2.AddTestData(DSP_REG_AR3); + tester2.AddTestData(DSP_REG_WR3); + tester2.TestAll(true); + tester2.Report(); +} + +void nx_slm() +{ + DSPJitTester tester1(0x8000, 0x008a); + tester1.AddTestData(DSP_REG_ACM0); + tester1.AddTestData(DSP_REG_AR0); + tester1.AddTestData(DSP_REG_WR0); + tester1.TestAll(true); + tester1.Report(); + + DSPJitTester tester2(0x8000, 0x008a); + tester2.AddTestData(DSP_REG_ACM0); + tester2.AddTestData(DSP_REG_AR3); + tester2.AddTestData(DSP_REG_WR3); + tester2.AddTestData(DSP_REG_IX3); + tester2.TestAll(true); + tester2.Report(); +} + +void nx_slnm() +{ + DSPJitTester tester1(0x8000, 0x008e); + tester1.AddTestData(DSP_REG_ACM0); + tester1.AddTestData(DSP_REG_AR0); + tester1.AddTestData(DSP_REG_WR0); + tester1.AddTestData(DSP_REG_IX0); + tester1.TestAll(true); + tester1.Report(); + + DSPJitTester tester2(0x8000, 0x008e); + tester2.AddTestData(DSP_REG_ACM0); + tester2.AddTestData(DSP_REG_AR3); + tester2.AddTestData(DSP_REG_WR3); + tester2.AddTestData(DSP_REG_IX3); + tester2.TestAll(true); + tester2.Report(); +} + void AudioJitTests() { DSPJitTester::Initialize(); - dar(); iar(); subarn(); @@ -99,7 +299,22 @@ void AudioJitTests() nx_ir(); nx_dr(); nx_nr(); + nx_mv(); + + set16_l(); + nx_s(); + nx_sn(); + nx_l(); + nx_ln(); + nx_ls(); + nx_lsn(); + nx_lsm(); + nx_lsnm(); + nx_sl(); + nx_sln(); + nx_slm(); + nx_slnm(); } //required to be able to link against DSPCore |
