Commit Graph

33 Commits

Author SHA1 Message Date
hrydgard 1d1b08a091 Core audio system work (Watch for regressions please!):
* Restore Audio Throttle to function properly, broken by Ayuanx many hundreds of revisions back. 
* Simplify DSPLLE JIT dispatcher in preparation for an asm rewrite
* Remove hack that made DSPLLE JIT seem faster than it was by running fewer cycles, but resulting in bad sound. This shows off how mysteriously slow it is - I don't understand why it's not faster. Use the DSPLLE interpreter for now if you want to use DSPLLE.
* Made "DSPLLE on Thread" work properly with correct-ish timing - although the speed benefit is really small now.

If it seems like this change slows anything non-LLE down, try turning off Audio Throttle and use the frame limiter in options instead.

git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5541 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-05-29 21:34:34 +00:00
nakeee 499936561a DSP LLE Jit, joined work with XK and skidu.
VERY EXPERIMENTAL DON'T EXPECT HIGH PERFORMANCE!.



git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5288 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-04-07 15:04:45 +00:00
Marko Pusljar 11a215567b DSPLLE - idleskip-ing improved a little (it still fails totaly for zelda type games (exp7))
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5220 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-03-22 13:46:00 +00:00
XTra.KrazzY 14bb53dcc6 DSPLLE: Run the threaded mode a bit differently and with respect to idle loops.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5212 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-03-18 06:20:52 +00:00
Marko Pusljar 34d1d7a41e DSPLLE - AX PCM16 fix
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5191 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-03-13 02:28:21 +00:00
Marko Pusljar 70a712c065 DSPLLE - flags&stuff,xar->subarn,0x80 kinda figured out,... (experimental)
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5174 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-03-08 21:25:35 +00:00
Marko Pusljar 10fb287311 DSPLLE stuff - no real progress, mostly useful as a reference for HLE improvement, Pikmin 1 has sound in intro though (can't be sure if its ok, because its too slow)
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4496 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-11-04 12:49:26 +00:00
XTra.KrazzY 99b4b04705 DSP LLE on Thread with LLE now boots, but no sound. The mail connection appears to be incomplete in the on thread mode, but it's much faster than on the CPU thread.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4022 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-08-20 21:38:10 +00:00
Shawn Hoffman 873190d148 fix a few issues with actually using the dsp lle debugger: stepping/reg updates/etc should behave better
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@3879 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-07-24 02:15:04 +00:00
nakeee 90f595bada DSPLLE: added lsrnr (based on lordmark and luigi suggestions) Still somethings seems wrong as it didn't fix the zelda problem:(
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@3800 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-07-15 15:12:42 +00:00
nakeee c6b3c6a69b DSPLLE minor cleanup nothing important
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@3789 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-07-14 08:30:23 +00:00
nakeee ce6e8ed798 DSPLLE: More minor clean up, some log mistake fixes and revert the +1 loop (it seems to got
zelda ucode stuck for some weird reason)


git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@3694 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-07-06 19:19:03 +00:00
nakeee c44dabfe8b DSPLLE: comments and logging clean up
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@3693 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-07-06 18:15:01 +00:00
nakeee df3abc6a2a DSPLLE: small loop fix (ector pls take a look)
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@3679 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-07-05 10:17:52 +00:00
hrydgard cc38e72dc3 DSPLLE: Setting breakpoints and stepping through code now works in the (still rather basic) DSP debugger. Decided not to share the breakpoints code between PPC and DSP because it can be done much more efficiently for the DSP case due to the very limited memory space.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@3575 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-06-28 17:18:52 +00:00
hrydgard 04105baf4e DSPLLE: sort of semi-working breakpoints and stepping, if you flip an #ifdef. more work to do, for some reason it gets very slow when you enable it atm
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@3573 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-06-28 16:23:40 +00:00
hrydgard 7c92dada85 added an AX disasm with (few) comments. Moved some code around to prepare to share some breakpoint code between the ppc and dsp
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@3566 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-06-28 11:47:39 +00:00
hrydgard 5c7fc8ed7b DSP: build fixin', more movin', some comments.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@3564 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-06-28 10:24:44 +00:00
hrydgard e89af68f4d DSPLLE: Split the huge DSPInterpreter.cpp into separate files for the different categories of ops. Minor cleanups.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@3134 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-05-02 16:15:52 +00:00
hrydgard 732562325d DSP: Document in a comment what CLR15/SET15 appears to do. (unsigned multiplication)
minor fix in op table.

git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@3133 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-05-02 14:57:26 +00:00
hrydgard 474f1343f7 DSPLLE: Wrapping behaviour for single increments/decrements of address registers implemented. It made little/no difference as far as I can tell :P
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@3129 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-05-01 22:17:22 +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
nakeee 89178f411c DSP switched mode 16 and 40
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@3045 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-04-22 19:08:13 +00:00
nakeee cf5b6efba0 DSP change condition code in accordance to latest finding
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@3027 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-04-21 08:53:36 +00:00
hrydgard b4c22390ac More DSPSpy findings - nakee's "TSTAXL" isn't test. Not sure what it is though.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@3003 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-04-18 21:35:21 +00:00
hrydgard 10989fda06 DSP: Comment some new discoveries.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@3001 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-04-18 20:44:42 +00:00
hrydgard 8716a58ae3 First DSPSpy results. cleanup and commenting.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@2999 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-04-18 19:26:06 +00:00
hrydgard e7e4ef4481 DSP: More work on dsptool. Minor bugfixes. Add some testdata for dsptool.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@2993 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-04-18 11:31:37 +00:00
nakeee 42726a7576 Trying clr15/set15, this is an educated guess after looking at ucodes. Please test it and tell me if you see any
real difference in sound beside on hermes' demo


git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@2985 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-04-16 21:46:55 +00:00
nakeee 508b32b94f dsp: small disasm fix
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@2983 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-04-16 16:02:54 +00:00
nakeee 19cdbb3e15 Reverting the change that made logical function update logical zero
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@2977 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-04-15 22:29:16 +00:00
nakeee 99e29c82fd DSP: make all logical operations set the logical SR_LOGIC_ZERO flag instead of the arithmetic flags
assumed 0x20 is a mistake and suppose to be the logical zero flag
Couldn't see any change whatsoever.


git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@2975 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-04-15 22:04:44 +00:00
hrydgard e8b9e93465 DSP: Move the LLE core to a library. Added DSP assembler from gdtool, start cleaning it up. Create a new program called "DSPTool" which will become a more up to date replacement for gdtool from the devkitpro, automatically incorporating all our findings as we make them. This program depends on the new library. It can *ALMOST* roundtrip (asm->disasm->asm) hermes' DSP mixer at this point. Sorry about the unfinished Sconscript work - I'll fix it soon if nobody else does it first.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@2955 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-04-12 10:21:40 +00:00