Commit Graph

56 Commits

Author SHA1 Message Date
Tilka
3dbc18060b
Merge pull request #10694 from Pokechu22/dsp-assembler-error-messages-etc
DSPAssembler: Rework errors and warnings, and related cleanup
2022-05-29 00:16:23 +01:00
Pokechu22
8d880cd86e DSPSpy: Add CMPAXH test 2022-05-27 18:22:38 -07:00
Pokechu22
8b52c7315b DSP: Fix assembling x8/x9/xA/xB conditions
The assembler upper-cases the mnemonic internally, so it never would match the lower-case x.
2022-05-23 19:36:47 -07:00
Pokechu22
c34a738b4c DSPSpy: Add missing jumps to end_of_test
Without this, execution continues beyond the end of the function, into the great unknown (probably eventually falling into either code left from a previous test, or the start of the DSP ROM). end_of_test is just an infinite loop to stop executing until the DSP is reset.
2022-05-23 19:36:47 -07:00
Pokechu22
464575702b DSPSpy: Replace less_test with cond_test
This new test covers all conditions, and also tests overflow, carry, logical zero, and the behavior of NEG
2021-08-22 17:07:41 -07:00
Pokechu22
9b1d370478 DSPLLE: Implement conditional variants of RTI 2021-08-22 10:49:46 -07:00
Pokechu22
f9e36bfa67 DSPLLE: Split SRS into SRS and SRSH
Hardware testing indicated that SRS uses a different list of registers than LRS (specifically, acS.h can be used with SRSH but not LRS, and SRS does not support AX registers, and there are 2 encodings that do nothing).
2021-08-22 10:49:46 -07:00
Pokechu22
51c26d82a5 DSPSpy: Require user to specify a test_main label
This makes the point where execution starts more obvious compared to a start_of_test label at the end of the include, and allows putting other functions at the start of the file.  This change also modifies the existing tests to build with this change.
2021-08-22 10:49:46 -07:00
Pokechu22
5f7c852d22 DSPSpy: Split main dsp_base logic from interrupt handlers
This is so that interrupt handlers can be manually specified in tests that need them.
2021-08-21 20:10:42 -07:00
Pokechu22
87dc668522 DSPSpy: Fix hang when using the free DSP rom 2021-08-21 20:10:42 -07:00
Pokechu22
408623b6e9 docs/DSP: Document behavior of LRS/SRS/SI with CR 2021-08-21 17:07:14 -07:00
Pokechu22
858d0675b9 DSPLLE: Handle cr, sr, and prod.h masking 2021-08-16 15:09:20 -07:00
Pokechu22
3d6ff60a96 DSPSpy: Handle modified wr0 and cr registers correctly 2021-08-16 09:51:16 -07:00
Pokechu22
14119c86a4 DSPInterpreter: Fix IsLess
`IsLess` would incorrectly return true if both `SR_OVERFLOW` and `SR_SIGN` are set, as `(sr & SR_OVERFLOW) != (sr & SR_SIGN)` becomes `SR_OVERFLOW != SR_SIGN` which is true as the two masks are different.  This broke in e651592ef5.

This issue only affected the DSP LLE Interpreter, and not the DSP LLE JIT.

I've also included a simple test case for this.  `ax0.l` (on the top left) is set to 0 if the instruction following `IFL` does not execute and to 1 if it is executed.
2021-08-15 19:45:44 -07:00
Tillmann Karras
fb041f75e5 DSPSpy: save and restore $sr properly 2020-06-08 04:21:41 +01:00
Léo Lam
7c01127ac6 DSPSpy: Add a test for accelerator loop
This adds a test ucode that can be used to check the accelerator loop
behaviour with various start/end addresses.

It's actually more of a test template than a ready to use test.
2017-09-22 20:17:38 +02:00
Léo Lam
e569d3bc4a DSPSpy/Base: Handle ACCOV exceptions
This allows dspspy to show that an ACCOV happened, and to resume
accelerator reads after an ACCOV (by refreshing the YN2 register).
2017-09-22 20:17:38 +02:00
Léo Lam
05cdbccc38 DSPSpy/Base: Clean up trailing whitespace 2017-09-22 20:17:38 +02:00
Léo Lam
09544d748f DSPSpy: Add test for accelerator masking behaviour 2017-09-04 00:30:23 +02:00
Marko Pusljar
12c38d3afa llejit - fix for flag generation code + dspspy jit workaround
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@7459 8ced0084-cf51-0410-be5f-012b33b47a6e
2011-04-15 13:04:20 +00:00
Shawn Hoffman
4a0c8fc0c9 Hg:
enable newline normalization
get revision number via `hg svn info` for svnrev.h
ignore incremental/generated binary files (windows/VS at least)
leave a comment if some files need native eol set in svnprops

git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5637 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-06-09 01:37:08 +00:00
Soren Jorvang
664cea45c7 Meta:
Using Unix tools to operate on a tree containing filename with spaces in them
is really annoying, so rename the handful of instances where there were spaces.

Host.cpp has never been used.

Games tend to lookup the following directories that we don't yet have anything
to put in, so prepopulate them in Data/User/Wii:

title/00010001
title/00010002
title/00010003
title/00010004
title/00010005
title/00010006
title/00010007
meta
shared2/title
 
Set eol-style native on a number of text files which didn't already have it.


git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5572 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-06-02 18:00:22 +00:00
Shawn Hoffman
16b21f3790 oops, dsp assembler can't handle labels with whitespace before them :)
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5070 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-02-17 02:37:58 +00:00
Shawn Hoffman
e0e5a25bcd Update_SR_Register64 sets SR_TOP2BITS based on m, not h (does someone have tests saying otherwise?)
clean up dsp_base.inc a little, use some irom funcs where possible


git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5069 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-02-17 02:33:21 +00:00
Marko Pusljar
dc76856736 dspspy - small fix
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5068 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-02-16 21:12:50 +00:00
nakeee
eec7cba0af DSPLLE improved 'ld test
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@3871 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-07-22 20:36:16 +00:00
Shawn Hoffman
67a083db39 mainly UI updates for dspspy, make dsptool's -m flag obey the -f flag
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@3856 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-07-20 02:56:44 +00:00
Shawn Hoffman
d09b777de8 dsp_base.inc: mail the exception instead of wr3 (no idea why that was there anyways). DSPSpy will report the exception now.
DSPTool: incorporate printresult functionality. delete printresult.cpp
DSPSpy: fix dumping of results


git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@3852 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-07-19 20:14:09 +00:00
nakeee
ad440b9e47 Fix dspspy, typo in ld_Test
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@3843 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-07-19 07:21:29 +00:00
nakeee
9d90f1868c test for ld
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@3842 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-07-19 06:49:03 +00:00
Shawn Hoffman
89c55c32ec add a ucode to dspspy to dump rom areas from dsp to sd card
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@3834 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-07-18 16:34:11 +00:00
luigi2us
56d55f2d22 DSPSpy: added a test for opcode 0x3D80.
Ran this test on my Wii, with AC0.M = 0x0004 and AC1.M = 0x1234
Result: AC1.M = 0x2340 
This opcode is NOT andc'ls. It left-shifts ACC1 by value in ACC0.

git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@3796 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-07-15 10:09:48 +00:00
nakeee
10d854a02c remove the if tests, if you want to run them use the template
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@3699 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-07-07 10:07:33 +00:00
nakeee
37fe91bad1 Waiting for someone to run it:)
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@3603 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-06-29 20:31:41 +00:00
nakeee
e1e9d609ed few fixes for arith test
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@3599 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-06-29 17:13:21 +00:00
hrydgard
1ca874365b Unknown DSP opcode 0x02ca tested and figured out.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@3522 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-06-21 11:46:27 +00:00
luigi2us
0c4c35d732 Add a basic test that reads unknown regs (0xFF8X).
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@3452 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-06-15 17:00:32 +00:00
Shawn Hoffman
ff7f9020fe dsp: renamed R09 to WR1 in some tests, removed unused code in DSPTables.cpp, added showing of origin file in dspspy (please fix if [runningUcode - 1] is wrong)
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@3417 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-06-13 04:55:58 +00:00
nakeee
1a6b9d8174 Some clean up
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@3377 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-06-08 14:36:00 +00:00
nakeee
90ae2a8e55 fixed neg and added arith test
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@3140 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-05-02 22:47:13 +00:00
hrydgard
ae86ec4df6 DSP: heavily extend mul test. Seems that only MULX* family instructions support unsigned operation.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@3138 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-05-02 21:43:38 +00:00
nakeee
e7c7142c9d added test to make sure SR doesn't change from 2's to 1's
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@3137 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-05-02 20:19:37 +00:00
hrydgard
b5ea4ef9a8 DSP: update base test to match new register naming. add mul test.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@3132 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-05-02 13:19:20 +00:00
hrydgard
0d57b7f01a DSP: I hereby name R08-R11 WR0-WR3, standing for Wrap control Registers 0-3.
Kill "CR". 
Document decrements a little bit.

git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@3126 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-05-01 19:07:29 +00:00
hrydgard
9b642fa1f8 DSPSpy. test decrements too. Damn they are weird.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@3125 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-05-01 16:29:44 +00:00
XTra.KrazzY
c809110630 Fixed building of DSPSpy
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@3124 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-05-01 16:23:41 +00:00
hrydgard
cd50850bca DSPSpy: Add a test for looped addressing when using address increments. Delete unused old code.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@3123 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-05-01 16:18:46 +00:00
LPFaint99
4945d6e24c updated results and fixed if_test5.ds ifnlz to iflnz
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@3089 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-04-26 22:00:36 +00:00
LPFaint99
9dbd4c6715 fix include dir for if tests
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@3088 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-04-26 21:38:48 +00:00
nakeee
3e4f0d1fc7 DSP updating if tests
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@3086 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-04-26 21:21:15 +00:00