00a5f99b6b
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.) |
||
---|---|---|
.. | ||
templates | ||
tests | ||
util | ||
.gitignore | ||
ConsoleHelper.h | ||
dsp_interface.cpp | ||
dsp_interface.h | ||
dspregs.h | ||
DSPSpy.vcproj | ||
DSPSpy.vcxproj | ||
DSPSpy.vcxproj.filters | ||
gba.txt | ||
main_spy.cpp | ||
Makefile | ||
mem_dump.h | ||
README.md | ||
real_dsp.cpp | ||
real_dsp.h |
DSPSpy
DSPSpy is a homebrew tool for experimenting with the GameCube/Wii DSP. It can also be used to dump the DSP ROMs.
Building
DSPSpy is built using devkitPPC; see the devkitPro getting started page for more information. DSPSpy also requires DSPTool to be built.
First, run DSPTool to generate dsp_code.h
, for instance from tests/dsp_test.ds
. The following commands assume an x64 Windows setup running in the DSPSpy directory:
../../Binary/x64/DSPTool.exe -h dsp_code tests/dsp_test.ds
To use the ROM-dumping code, run this:
../../Binary/x64/DSPTool.exe -h dsp_code util/dump_roms.ds
DSPTool can also generate a header for multiple DSP programs at the same time. First, create a file (in this example, it was named file_list.txt
) with the following contents:
tests/dsp_test.ds
tests/mul_test.ds
tests/neg_test.ds
Then run:
../../Binary/x64/DSPTool.exe -h dsp_code -m file_list.txt
After dsp_code.h
has been generated, simply run make
to generate dspspy_wii.dol
, which can be loaded by normal means.
Dumping DSP ROMs
Build DSPSpy with util/dump_roms.ds
. When launched, DSPSpy will automatically create files dsp_rom.bin
and dsp_coef.bin
on the SD card (only SD cards are supported); DSPSpy can be exited immediately afterwards.