Commit Graph

68 Commits

Author SHA1 Message Date
Pierre Bourdon e81dd53b7e Remove an obsolete documentation file 2013-03-17 18:56:01 +01:00
Pierre Bourdon 9a404ca6d4 Ship by default a free DSP ROM that can handle most games with LLE
At the end of July 2011, LM published a free DSP ROM that works with games
using the Zelda UCode. His ROM only has the code to handle UCode loading and a
few utility functions, the rest is missing. This includes the four large sound
mixing functions used by the AX UCode and the DROM containing coefficients used
for polyphase resampling in AX.

This is an improved, updated version of this ROM, which changes the following:

- We now have a free DROM that works for polyphase resampling by "emulating"
  linear interpolation. The coefficients contained in the DROM are normally a
  list of { c1, c2, c3, c4 } which are used to interpolate a sample value from
  four previous samples:
    out_sample = prev1 * c1 + prev2 * c2 + prev3 * c3 + prev4 * c4

  The coefficients are chosen depending on the fractional part of the current
  position (basically, our position between the previous and the next sample).
  We can use this fact to generate (c1, c2, c3, c4) for each possible
  fractional part so that:
    out_sample = prev3 * curr_pos + prev4 * (1 - curr_pos)

  Which is the formula for linear interpolation between prev3 and prev4. Linear
  interpolation is not as good as polyphase resampling but it still works very
  well and I couldn't really hear any difference between the two. If someone
  wants to generate real polyphase filter coefficients, they are welcome to
  submit a patch.

- The IROM now contains the 4 mixing functions used by the AX UCode: mix_add,
  mix_add_two, mix_add_ramp, mix_add_ramp_two. They are large, inlined
  functions (probably for performance reasons) in the official DSP IROM, our
  version prefers to use a loop. This *should* be more performant with our DSP
  JIT implementation, but I did not benchmark that.

Because the new DSP ROM is working just as well as the official ROM in 95% of
cases, it is now shipped by default with Dolphin and will be used with DSPLLE
if you don't have an official DSP ROM in User/GC. It will still display a panic
alert at every boot to notice you that you are using a non official DSP ROM
made by us, which is not perfect.

Games using the CARD, IPL or GBA UCodes are still broken. I don't know what
games this actually impacts, but this is a very small proportion compared to
what works.
2013-03-16 23:54:55 +01:00
Marko Pusljar bcd019889c legal minimal dsp irom replacement, good enough for zelda ucode games only (useful for gc/wii owners, who are unable to dump their irom and would like to use dolphin DSPLLE)
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@7689 8ced0084-cf51-0410-be5f-012b33b47a6e
2011-07-31 18:34:02 +00:00
Shawn Hoffman e480ab2b10 drop vs2008 projects in favor of vs2010
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@7129 8ced0084-cf51-0410-be5f-012b33b47a6e
2011-02-11 15:43:05 +00:00
Marko Pusljar 8dc01b685f dsp stuff - the same ucode hash under lle and hle now (had to rename couple of dissasms), ucode dumping under hle (debug only), small dsp:read32 change (needed for some homebrew)
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6059 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-08-05 17:00:32 +00:00
Shawn Hoffman 0a3c150f69 allow "swapping" of hle'd ucodes
hle the gba ucode

git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6046 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-08-04 11:44:06 +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 80d303222b code cleanup, focusing on dsp hle
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5143 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-02-28 18:21:22 +00:00
Shawn Hoffman 63827c71c6 Move MemCheck functionality into the virtual DebugInterface class from the more general MemView class.
Give DSP LLE Debugger a wxAUI facelift and add memory view to dsp debugger.

git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5080 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-02-18 12:06:13 +00:00
Shawn Hoffman b6aa5d91c0 add another dsp ucode to RE...woo!
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5055 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-02-14 05:40:04 +00:00
Marko Pusljar fbdf721e0e ROM dissasm "refresh" + RE + small fixes
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4938 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-01-24 00:31:20 +00:00
Shawn Hoffman d558c534d2 Merge SrcSelect.c, AX.c, Crazy Taxi.txt, and DSP_UC_AX1.txt into new and improved disasm -> DSP/DSP_UC_6A696CE7.txt
Goal is complete/near complete RE of DSP_UC_6A696CE7 (GC AX), and hopefully ROM.
From there, seeing the additional changes in other GC AX versions (there are only 4 others, with minor differences), should be "simple".

git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4818 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-01-13 04:43:18 +00:00
luigi2us f9106f4e6f Some more AXWii RE.
Long time I didn't commit to Dolphin, by the way.

git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4793 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-01-08 18:26:22 +00:00
Marko Pusljar 4d3620ace3 DSPHLE AXwii work
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4559 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-11-13 20:27:38 +00:00
XTra.KrazzY 4fbf138ed2 The beginning of another approach on Zelda HLE UCode: PB debugging and comparison
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4481 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-10-30 07:10:46 +00:00
Marko Pusljar 1285ba4401 Zelda RE + fixes
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4350 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-09-30 13:49:05 +00:00
XTra.KrazzY 48ed2ae852 Best of both worlds (or hacks...). Music continues to play, no sound breakage in Pikmin2/ZTP. Wind Waker still echoes weirdly in ZWW though.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4344 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-09-29 19:15:34 +00:00
luigi2us cad887c51d AXWii: more disasm; and send correct mail at end of AXList (DCD10002 instead of DCD10001), which makes the game send a CDD10003 as expected.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4336 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-09-27 15:18:20 +00:00
luigi2us 0423406a67 AXWii ucode: more comments.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4335 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-09-27 14:22:40 +00:00
nakeee b9422c7ed9 Some axwii disasm
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4328 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-09-27 08:25:08 +00:00
luigi2us d56e05a9ca Add a disassembly of AXWii ucode (taken from MKWii)
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4324 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-09-26 21:25:07 +00:00
XTra.KrazzY ebfceb16b9 Some leftover work from unfinished DX9 Access EFB. In DSP HLE, 0x0004,7,b,c are almost done, all that's left to do is resample from 0x50 to _Size.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4313 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-09-24 13:52:45 +00:00
XTra.KrazzY 47a1d2da9c DSP HLE: External ops oops (thanks, lordmark)
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4294 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-09-18 00:12:10 +00:00
XTra.KrazzY eb8ddbf3e5 A basic, un-resampled version of Zelda UCode cases 0x4,7,b,c. These are used a lot in Pikmin.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4293 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-09-17 22:53:36 +00:00
XTra.KrazzY 0ebb7376c8 More WaveTable (ucode case 0x4,0x7,0xb,0xc) work (thanks for noticing they're the same, LordMark!)
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4292 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-09-17 12:09:10 +00:00
XTra.KrazzY 4edf1ea837 Decoded the non-externalops part of 0x0007 zelda sound case
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4287 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-09-16 22:40:43 +00:00
hrydgard 0b5c993076 Misc : build fix for debug x64, assorted cleanup.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4127 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-08-31 22:42:10 +00:00
XTra.KrazzY 2e24e7db06 Pikmin 2 for the Wii now has correct sound thanks to LordMark. Too bad the mail stops coming after a while
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4064 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-08-25 19:48:38 +00:00
sl1nk3.s 689036c59c Forgot to upload ZTP Wii ucode, so here it is
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4043 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-08-24 04:10:45 +00:00
XTra.KrazzY 286f17b7de Pikmin 2 for the Wii also boots, with corrupt sound this time. Included its UCode, since it's so different from Pikmin 1's and contains the mysterious UnkZelda address. Also, potential run-stop-run bug has been fixed.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@3965 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-08-12 01:15:57 +00:00
XTra.KrazzY 5c1ab3b0c3 Added the latest Zelda UCode, seems to be longer and has a bit more ext ops. Fun!
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@3964 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-08-11 23:17:55 +00:00
nakeee 07617f757c DSPLLE added new LD code (please report games misbehaving)
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@3887 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-07-26 16:36:22 +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 2569ca60c0 Some RE on MP2 ucode
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@3860 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-07-20 19:12:39 +00:00
Shawn Hoffman cee69b24d0 start some RE on the memcard unlocking ucode
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@3857 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-07-20 11:27:49 +00:00
XTra.KrazzY e8c9101773 Minicommit: more cleanup
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@3791 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-07-14 19:08:44 +00:00
XTra.KrazzY e7a5f0fa3d Solved issue 1096 and issue 1098
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@3780 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-07-13 13:37:52 +00:00
hrydgard 0bdf6656c5 DSPHLE: Do the resampling correctly for PCM16 and AFC. Added linear interpolation (that works, this time :P)
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@3764 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-07-12 13:45:01 +00:00
hrydgard 304b34a451 DSPHLE: Some code reorg, now looks more like the ucode. DSPLLE: Rename a file.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@3763 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-07-12 12:22:39 +00:00
hrydgard b363b2ddc8 More UCode RE. Move MemoryView to DebuggerUICommon.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@3762 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-07-12 10:08:59 +00:00
hrydgard aa10f4d2e0 More zelda ucode RE...
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@3744 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-07-11 09:28:11 +00:00
hrydgard 4459f5b8c6 DSPLLE: attempt at RE of parts of the zelda volume code ...
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@3733 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-07-10 19:25:11 +00:00
XTra.KrazzY 25b77d4654 Zelda UCode: Synth fixes and some RE. (Why does it still sound awful?)
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@3707 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-07-08 01:08:43 +00:00
XTra.KrazzY 92e63e3ac4 Various changes: Fixed linux build, added some zelda ucode RE, added HLE mail logging features
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@3704 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-07-07 15:12:52 +00:00
XTra.KrazzY e7ec7d56d5 DSPHLE: Decoded most of 0x21. Added real conclusions to the switch case to signal the CPU that the voice has been played. More work on 0x20/0x21/Raw (and probably the end of it) this weekend.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@3683 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-07-05 19:14:10 +00:00
hrydgard 0008d5ef77 DSPHLE: Preserve fractional sample position between voice render calls. sounds slightly, slightly cleaner :P
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@3637 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-07-01 22:26:01 +00:00
Shawn Hoffman f6af7794cd transfer comments from dsp rom disasm to shiny new disasm
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@3636 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-07-01 20:55:45 +00:00
hrydgard c3547effe6 bit of zelda ucode re
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@3631 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-07-01 19:14:24 +00:00
XTra.KrazzY 7d7e2ec8a8 Added the Zelda UCode preliminary synthesizer. It's far from perfect, but it sounds like the exact pitch it should synth. I'd be glad if someone finished it.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@3630 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-07-01 18:05:54 +00:00