Commit graph

236 commits

Author SHA1 Message Date
hrydgard
a88e09edc2 DSPLLE: followup to last change: bugfix + remove extraneous exception checks
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5542 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-05-29 21:43:46 +00:00
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
hrydgard
659d5705c9 DSPLLE: Some cleanup. Possibly very small speed increase.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5535 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-05-29 18:22:50 +00:00
Soren Jorvang
00758fcafb Uninitialized variables.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5501 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-05-26 21:16:03 +00:00
Marko Pusljar
a0c44df6c0 misc stuff
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5468 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-05-23 08:41:58 +00:00
Marko Pusljar
f6ce87765f DSPLLE - AR decrement fixed, +other small fixes
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5437 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-05-07 19:32:16 +00:00
nakeee
757285f7d0 DSP jit more work
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5419 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-04-27 18:15:08 +00:00
nakeee
a443ec7d8d DSP Jit annoying shifts
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5406 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-04-25 14:35:13 +00:00
nakeee
64447eab2c DSP Jit more minor fixes
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5405 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-04-25 14:24:55 +00:00
nakeee
de081d0900 DSP jit: fixed some crash by pop/push (close to bhaal's solution)
If it breaks 64bit you know what to uncomment :-)



git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5400 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-04-23 08:15:00 +00:00
nakeee
219e8beb6d DSP Jit 2 small fixes
one from bhaal and one from skidau


git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5398 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-04-22 18:43:24 +00:00
nakeee
026450006a DSP jit shift fix
Please tell me if 'mv still crashes


git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5392 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-04-20 10:52:28 +00:00
nakeee
d86167961c DSP Jit enable ls* and sl* in jit.
Anyone feel like helping with the unit test?


git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5390 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-04-19 13:29:05 +00:00
nakeee
282cf6c6b5 DSP jit: 'mv 's 'sn are now jitted. Added
void pushExtValueFromReg(u16 dreg, u16 sreg);
	void popExtValueToReg();
instead of the backlog.
Someone might want to add it to the Unit test


git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5389 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-04-19 13:02:24 +00:00
nakeee
7bc2887f34 Compile fix
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5386 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-04-18 18:42:59 +00:00
nakeee
26a8556c82 DSP jit: a bit more work
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5385 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-04-18 18:39:54 +00:00
nakeee
3fb80c52af DSP LLE: trying to clean up exception handling. Hopefully it didn't break anything
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5381 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-04-17 20:42:39 +00:00
j4ck.fr0st
060eed80c1 Moved ToMask hashing into utility func, changed J_CC end to a short jump
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5377 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-04-16 13:32:13 +00:00
nakeee
ebac492716 DSP Jit some code cleanup
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5376 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-04-16 10:50:52 +00:00
j4ck.fr0st
01fc261c2f DSP Jit: rewrite dsp_increase_addr_reg a couple of times, only to find that int was wrong - credits to LordMark for finding that.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5374 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-04-15 20:01:44 +00:00
nakeee
26b082d384 DSP Jit code cleanup
Unit Test nr/dr/ir need AR0 not ACC0


git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5364 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-04-14 06:19:07 +00:00
skidau
122d5e7b4e Fixed the crash in DSP LLE JIT on x64 by aligning the stack.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5357 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-04-13 10:18:05 +00:00
nakeee
0b45b3c7a1 More jit fixes (Thanks ector)
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5347 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-04-12 16:06:02 +00:00
nakeee
e7dc6c26ce UnitTests compiles on non win32
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5343 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-04-12 05:33:17 +00:00
nitsuja-
22551a0a8a a few minor code fixes.
also added a user file that should simplify running from VS for newcomers

git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5338 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-04-12 02:00:15 +00:00
Glenn Rice
ba853e682c Build fix.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5335 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-04-12 01:26:57 +00:00
nakeee
d0e7e03c78 DSP Jit: Some small fixes to SR set functions
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5333 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-04-11 20:03:38 +00:00
Shawn Hoffman
db78c01ee1 buildfix
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5332 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-04-11 19:14:20 +00:00
nakeee
d950726041 DSP Jit: Jit some more AR action and added compile SR which suppose to hold the status for
flags such as S40 which we can use to optimize compile.



git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5331 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-04-11 18:06:29 +00:00
nakeee
524a6dd2bb DSP jit: a so people can review commit
(that for ector, bhaal, skidau)


git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5330 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-04-11 16:36:00 +00:00
j4ck.fr0st
945f8089b8 Removed a stray MOV in increase_addr_reg, fixed decrease_addr_reg. NR should work now.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5329 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-04-11 14:06:46 +00:00
j4ck.fr0st
800595980e Fixed a small bug in J_CC when emitting jumps that exceed 0x80 in range (only used by DSP NR yet).
Add back a CMP nakee missed in his last commit

git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5328 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-04-11 12:27:27 +00:00
nakeee
7c35138435 DSP JIT reenable nr with a small fix
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5327 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-04-11 12:14:51 +00:00
j4ck.fr0st
ab76cbf2fc set eol-style native
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5307 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-04-09 19:28:18 +00:00
j4ck.fr0st
57a3c87815 DSPJit: disabled NR again until we fix DSPEmitter::increase_addr_reg.
And to help test things like that: DSPJitTester (use with caution on x64, most likely fails there; r5250 might be why)

git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5306 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-04-09 19:18:50 +00:00
nakeee
0c1baa888a DSP Jit: Forgot include
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5303 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-04-09 15:32:10 +00:00
nakeee
91c6f5acba DSP Jit removed useless push/pop (at least I hope they were useless).
enabled nr in jit after getting skid_au's help in writing the inscrease_addr_reg.
ector can you please take a look and see if the loop code makes sense? it seems
no one it really sure how loops suppose to work in jit 


git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5301 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-04-09 15:11:02 +00:00
nakeee
eada74b74e windows compile fix (thanks lordmark)
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5289 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-04-07 15:35:10 +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
XTra.KrazzY
a8865d21b3 DSPLLE: Opcode LUT Cleanup
ABI: Far Call --> Call (thanks to correct vcproj settings)

git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5250 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-03-29 01:18:05 +00:00
Marko Pusljar
6bcae13ff8 DSPLLE - small idleskip improvment for zelda
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5248 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-03-28 17:10:36 +00:00
Marko Pusljar
095f81e2f9 DSPLLE - 5 new conditions added (not used atm), 4 used ones are now correct
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5231 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-03-24 14:51:04 +00:00
nakeee
2e622c17dc Remove the UDSP union
functions are passed by value rather than by reference
This is part of a bigger change so please report if it broke compile


git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5228 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-03-24 05:05:25 +00:00
Marko Pusljar
cac8fa8afc DSPLLE - small fix
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5221 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-03-22 16:32:48 +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
Shawn Hoffman
020ff8c62b forgot to remove the check that would detect proper DSCR setting during DMA as an error
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5218 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-03-20 21:18:41 +00:00
Shawn Hoffman
e94229cba0 small cleanup in dsp lle
I wonder if we should bother making DMAs take time?

git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5217 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-03-20 20:56:33 +00:00
Marko Pusljar
503bf545a3 DSPLLE - 0xa100 figured out = abs(), small mul fix, cleaning, some extra comments
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5216 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-03-19 21:53:41 +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
d9714c3c9d DSPLLE - tons of bugs fixed... try Zelda ucode games under LLE now (like Luigi Mansion :)
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5211 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-03-18 00:18:36 +00:00