summaryrefslogtreecommitdiff
path: root/Source/DSPSpy
AgeCommit message (Collapse)Author
2026-07-24Remove Visual Studio Projects and Solutions in favor of CMakeJoshua Vandaële
2026-01-17Fix various typos and spelling mistakesSintendo
2025-05-10DSPSpy: Make RealDSP `final` and make `overide` explicitDr. Dystopia
2025-04-25DSP tests: update DSP MMIO labelsTillmann Karras
2025-04-25DSP tests: clean up unused codeTillmann Karras
2025-04-25Fix DSP loop test init order, add DSP pcm testxperia64
2025-04-25Update ACDRAW/ACDSAMP reg names in DSPTables and DSPSpy testsxperia64
2025-04-25Add accelerator raw d3 testxperia64
2024-10-07Simplify `std::fill` with `std::fill_n`mitaclaw
2022-09-30DSPSpy: Add st3 BLOOP{,I} tests.Vincent Pelletier
2022-09-30DSPSpy: Unhide stack registersVincent Pelletier
The screen real-estate is already reserved, the values are dumped and restored by the on-DSP code, why not make something out of these values ? Allows following: - where exactly send_back was called from ($st1) - the boundaries and progress of the innermost BLOOP{,I} ($st0, 2 and 3) up to send_back's call
2022-06-05DSP LLE Recompiler: Fix LOOP and BLOOP when the counter is between 0x8001 ↵Pokechu22
and 0xFFFF
2022-06-02Merge pull request #10692 from Pokechu22/dsp-manual-set40-and-write-backlogMai M
docs/DSP: Add sections on 16-bit and 40-bit modes and on main and extended opcode writing to the same register
2022-06-01DSPSpy: Add 40-bit mode testsPokechu22
2022-06-01DSPSpy: Fix incomplete result dumpsPokechu22
The current code expects new mail almost immediately after the last map was sent for it to be saved properly. However, I have a test program that ends up looping for 32768 iterations before it sends more mail; this resulted in an incomplete result dump. I've changed it to wait a frame between checking for mail, which solves that issue. This does slow down dumping, but the end speed matches the speed at which the UI updates the registers so this isn't a big deal (the UI waits a frame between mail normally). (Theoretically, it could take even longer for dumping to finish, so this is not a perfect solution. However, for tests that take that long to run, it would be better to save the existing results instead of re-running the test and saving that; that'd be something to do with later improvements.)
2022-05-29Merge pull request #10694 from Pokechu22/dsp-assembler-error-messages-etcTilka
DSPAssembler: Rework errors and warnings, and related cleanup
2022-05-27DSPSpy: Add CMPAXH testPokechu22
2022-05-23DSP: Fix assembling x8/x9/xA/xB conditionsPokechu22
The assembler upper-cases the mnemonic internally, so it never would match the lower-case x.
2022-05-23DSPSpy: Add missing jumps to end_of_testPokechu22
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-04-27msbuild: use default Project attrsShawn Hoffman
maybe it makes the xml less scary :D
2021-08-22DSPSpy: Replace less_test with cond_testPokechu22
This new test covers all conditions, and also tests overflow, carry, logical zero, and the behavior of NEG
2021-08-22DSPLLE: Implement conditional variants of RTIPokechu22
2021-08-22DSPLLE: Split SRS into SRS and SRSHPokechu22
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-22DSPSpy: Require user to specify a test_main labelPokechu22
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-21DSPSpy: Split main dsp_base logic from interrupt handlersPokechu22
This is so that interrupt handlers can be manually specified in tests that need them.
2021-08-21DSPSpy: Fix hang when using the free DSP romPokechu22
2021-08-21DSPSpy: Create README.mdPokechu22
2021-08-21DSPSpy: Remove build.sh and sbuild.shPokechu22
This also removes the emu folder from the Makefile, and the Config.h file. I'm not entirely sure what build.sh was for, but my best guess is that it was some kind of tool to run emulated DSP code at the same time as the actual DSP code and compare the results. I don't know if it ever worked, but it certainly doesn't work now.
2021-08-21DSPSpy: Create .gitignorePokechu22
2021-08-21docs/DSP: Document behavior of LRS/SRS/SI with CRPokechu22
2021-08-16DSPLLE: Handle cr, sr, and prod.h maskingPokechu22
2021-08-16DSPSpy: Handle modified wr0 and cr registers correctlyPokechu22
2021-08-15DSPInterpreter: Fix IsLessPokechu22
`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 e651592ef56521f6db71f8a671fe8c20b948d338. 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-07-25DSPSpy: fix $prod printingTillmann Karras
2021-07-05treewide: convert GPLv2+ license info to SPDX tagsPierre Bourdon
SPDX standardizes how source code conveys its copyright and licensing information. See https://spdx.github.io/spdx-spec/1-rationale/ . SPDX tags are adopted in many large projects, including things like the Linux kernel.
2020-06-08DSPSpy: sync Makefile with current devkitPro templateTillmann Karras
2020-06-08DSPSpy: save and restore $sr properlyTillmann Karras
2020-06-08DSPSpy: show register names instead of numbersTillmann Karras
also print summed $prod and individual $sr bits
2020-05-31DSPSpy: fix register editing using GC pad on WiiTillmann Karras
2019-12-30DSPSpy: Remove unused stubsLéo Lam
The whole thing was commented out, and nothing is actually using it
2017-09-22DSPSpy: Add a test for accelerator loopLéo Lam
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-22DSPSpy: Print ACCOV mailsLéo Lam
2017-09-22DSPSpy/Base: Handle ACCOV exceptionsLéo Lam
This allows dspspy to show that an ACCOV happened, and to resume accelerator reads after an ACCOV (by refreshing the YN2 register).
2017-09-22DSPSpy/Base: Clean up trailing whitespaceLéo Lam
2017-09-04DSPSpy: Add test for accelerator masking behaviourLéo Lam
2016-06-24Reformat all the things. Have fun with merge conflicts.Pierre Bourdon
2015-07-19DSPSpy: support dumping to SD Gecko in slot B on GameCubeStreetwalrus Einstein
2015-05-25Set copyright year to when a file was createdTillmann Karras
2015-05-25Update license headers to GPLv2+Tillmann Karras
2015-05-25Simplify some more license headersTillmann Karras