Commit graph

7377 commits

Author SHA1 Message Date
Pierre Bourdon
1cecbaedce Fix MixAdd with volume. The previous volume formula completely failed with volumes >= 1.0 (0x8000). Fixes Tomb Raider Legends (GC) music. 2012-12-18 07:01:22 +01:00
Pierre Bourdon
faaaa97c9e Added a utility function to dump an AX PB for debugging 2012-12-18 07:00:24 +01:00
Pierre Bourdon
1abbfd4b15 Remove some useless 'inline' attributes from the AX HLE voice mixing functions 2012-12-18 07:00:04 +01:00
Pierre Bourdon
70b3980f46 Fix AX HLE command 12 arguments: takes 4 u16, not 1 2012-12-18 06:58:47 +01:00
Pierre Bourdon
ed59f8ff1d Remove UCode_AX_ADPCM.h, now useless (incorporated into UCode_AX_Voice.h) 2012-12-18 05:55:40 +01:00
Pierre Bourdon
3ca77cf077 Fix samples clamping and interlacing in the OUTPUT command. Shouldn't have assumed previous AX HLE was doing something right. 2012-12-01 00:54:25 +01:00
Pierre Bourdon
04b1ee0016 Implemented command 01 (download data and mix to MAIN/AUXA/AUXB with volume control). Fixes missing weapon sounds in Metroid Prime 2. 2012-11-28 15:22:02 +01:00
Pierre Bourdon
4cf2856284 Improve savestates support in AX and AXWii 2012-11-28 03:31:46 +01:00
Pierre Bourdon
f11a40f858 Command 13 should upload only AUXA LRS, not MAIN LRS + AUXA LRS. Fixes more GC EA games sound/music (including FIFA 06, Madden 08). 2012-11-28 01:48:27 +01:00
Pierre Bourdon
1a129abe0d AUX return data should be mixed to main buffers, not AUX buffers. Fixes a regression introduced by r954c55e35afb, now EA games sound works again. 2012-11-27 21:48:59 +01:00
Pierre Bourdon
9270b62830 Rewrite MixAUXSamples to make it more clean 2012-11-27 20:36:34 +01:00
Pierre Bourdon
2120f536d5 Implement command 07 in GC AX (download data to main LR and reset main surround) 2012-11-27 20:36:14 +01:00
Pierre Bourdon
9b1a66245e Fix an AUX mixing issue introduced when implementing AXWii. Now FIFA 06 sounds great with AX HLE. 2012-11-27 00:03:40 +01:00
Pierre Bourdon
706939e632 Implement command 10, used by FIFA 06 and linked to AUXB mixing. Sound still broken in that game. 2012-11-27 00:03:02 +01:00
Pierre Bourdon
fb1ecd90b0 Implemented command 13 in GC AX, used in some EA games (FIFA 06 now has broken sound, which is still better than no sound) 2012-11-26 23:34:18 +01:00
Pierre Bourdon
9d85052a66 Implement Wiimote audio output in AXWii. Not very useful yet as no sound is currently being mixed to the wiimote channels. 2012-11-20 11:34:49 +01:00
Pierre Bourdon
affdf08fd6 Real fix for the crashes on Windows with AXWii 2012-11-20 09:49:27 +01:00
Pierre Bourdon
e858835c7e Fixing the hack fix (I can't multiply 32x32) 2012-11-20 04:26:07 +01:00
Pierre Bourdon
0d3c3f6339 Fix a crash in AXWii with SRC ratio > 4 (which I thought was impossible, but AXWii changed the SRC algorithm) 2012-11-20 04:18:48 +01:00
Pierre Bourdon
321e3a8421 Add global volume handling for AUX mixing and L/R output in AXWii 2012-11-20 03:32:29 +01:00
Pierre Bourdon
ae85159a94 Add surround sound support to GC AX HLE 2012-11-20 03:22:24 +01:00
Pierre Bourdon
954c55e35a New AXWii now working properly in some games I tested 2012-11-20 03:13:55 +01:00
Pierre Bourdon
e750bed2a9 Rename NewAX -> AX and remove the old code. Time to work on AXWii. 2012-11-19 22:03:56 +01:00
Pierre Bourdon
4f88fee560 Added a small TODO list of things missing in NewAX 2012-11-19 20:25:57 +01:00
Pierre Bourdon
3541d33c25 Support both versions of the mixer_control bitfield. Fixes Skies of Arcadia music being muted (and sounds being mixed only on the left audio channel), this time without a hack. 2012-11-19 20:10:37 +01:00
Pierre Bourdon
c8b2ba1bc6 Implement the MORE command (0D) used to read more commands from the CPU 2012-11-16 07:51:19 +01:00
Pierre Bourdon
5a2d8661d7 Add comments explaining how the voice processing works 2012-11-15 16:57:33 +01:00
Pierre Bourdon
aa90f799b7 Re-implementation of the AX voice mixing algorithm. Now with 100% less WTF. 2012-11-15 16:30:05 +01:00
Pierre Bourdon
531cc6aaf3 Fixed AUXB_NOWRITE command number and implemented UPLOAD_LRS command (06) 2012-11-14 18:08:29 +01:00
Pierre Bourdon
f84f15c5bf Oops, forgot a memset which removed all AUX effects 2012-11-14 18:03:55 +01:00
Pierre Bourdon
a630357c9e Add AUX mixing support as well as a send&return effect implementation 2012-11-14 17:55:16 +01:00
Pierre Bourdon
61c1fab2c6 Fix Windows support again: std::thread can't take a member pointer with StdThread.h from Common 2012-11-14 12:13:19 +01:00
Pierre Bourdon
db46ccd175 More accurate mixing buffers initialization using parameters from command 00 2012-11-14 12:08:41 +01:00
Pierre Bourdon
24d430eba0 Add NewAX to the VC++ project files 2012-11-14 11:32:57 +01:00
Pierre Bourdon
6a1241c03e Make a hack optional to fix 48KHz output mode with NewAX 2012-11-14 11:25:27 +01:00
Pierre Bourdon
0b275c20af Added output support to NewAX. Now working fine with Tales of Symphonia. 2012-11-14 11:20:54 +01:00
Pierre Bourdon
18f3630af5 PBs processing is now done, just need the output to be able to test 2012-11-14 06:53:36 +01:00
Pierre Bourdon
7535c6d903 Parse the AX command list in the AX thread 2012-11-14 06:15:55 +01:00
Pierre Bourdon
9e813502ac Create a new thread for AX and make it handle the command lists 2012-11-14 05:33:04 +01:00
Pierre Bourdon
3195916744 Basic infrastructure for the new AX HLE, currently not doing anything besides answering mails 2012-11-14 05:08:04 +01:00
Pierre Bourdon
e4d18e3a8b Bound the iteration on the PB list when processing updates.
Fixes freezes introduced in 3.0-807 with DSPHLE on some AX games.

Apparently logic doesn't apply inside the HW/DSPHLE/UCodes directory.
2012-11-13 16:50:42 +01:00
Pierre Bourdon
16060290c2 Fix missing notes in musics with DSPHLE.
Tales of Symphonia and Skies of Arcadia Legends now have working musics with
DSPHLE. Some other games with the same symptoms (missing instruments) should
probably be fixed by that change too.
2012-11-13 09:37:44 +01:00
rog
8eb6f9002e Fixes interpreter when not recording or playing back a movie. 2012-11-12 20:20:34 -05:00
Rog
e8c0fea16e Retain dsp JIT setting when switching to HLE. Fixes issue 5691. 2012-11-09 12:08:56 -05:00
NeoBrainX
6f21f5eb34 Video_Software: Implement texture preloading 2012-11-03 15:41:41 +01:00
Pierre Bourdon
d13163380d Bye mamario, you won't be missed 2012-11-02 02:48:55 +01:00
sulokuTDCmago
d032c40a58 - Added a new wilcard for importing savegames, which basically shows all saves (gci, gcs and sav). This is set as default (I really got frustrated of having to change the type every single time when making tests for GCMM, and I think it makes more sense at user level to just show all saves regardless the format)
- In icon retrieving I removed the "format check" as it shouldn't really matter to have mixed icon formats. Also removed the "Time splitters hack" as there's no reason for it since we are only checking the last 3 bits and I'm pretty sure having bits 1 and 2 set is the same as having them unset.
- Icon retrieving uses AnimSpeed as stop signal (every icon must have an speed set, the first speed that is 0 means there are no more icons)
- Also, in icon retrieving I added support for "blank frames"(Luigi's Mansion and Pikmin that I know of). With this the base for icon animation is complete.
- Fixed PSOIII savegame patch which was wrong before.

Signed-off-by: LPFaint99 <lpfaint99@gmail.com>
2012-10-29 21:02:59 -07:00
Sonicadvance1
5dd49edaec Badaboom. Add in Memory include to CDUtils.cpp 2012-10-30 02:45:42 +00:00
skidau
303b0f6b6d Test the audio loop with aligned addresses. Fixes the high pitched squeal in Muramasa. 2012-10-29 14:03:28 +11:00
skidau
882d5161f8 Merge branch 'Capcom-Music-Loop'
* Capcom-Music-Loop:
  Removed the fake DMA wait time as it is no longer needed after the aram-dma-fixes branch is merged.  This fixes the Resident Evil 2/3 cutscene audio in DSP LLE mode.  Fixes issue 2723.
  Changed the loop end address detection to an exact match with the current address for ADPCM audio.  Fixes the non-looping music in PN03.
2012-10-28 13:36:34 +11:00