Commit Graph

44 Commits

Author SHA1 Message Date
Pseudonym 1668392988 SPU2-X: Mass reverb register renaming. Hopefully I didn't screw up the
cross-channel reflection registers.
2016-10-22 19:16:11 +01:00
Pseudonym 9a51820dec SPU2-X: Experimental reverb based on Dr. Hell's
http://drhell.web.fc2.com/ps1/ and/or Martin Korth's
http://problemkaputt.de/psx-spx.htm reverse engineering.
Negate final reverb output (don't know why but it's an
improvement when comparing the waveform).
2016-10-22 19:16:11 +01:00
Clang Format 604d3bac3c clang format: set SpacesBeforeTrailingComments to 1 2016-10-16 21:42:31 +02:00
Clang Format 039573b133 clang-format spu2x
Note: it doesn't play well with define around forceinline (might need to fix the inline btw)
And a single macro in RegTable.cpp
2016-10-10 20:41:24 +02:00
Robert 36631f2270 remove a useless define
cosmetics

more cosmetics

some more cosmetics? sure!

whitespaces

whiterspaces
2016-10-09 20:10:53 +02:00
Robert Neumann 1ec70f1df3 psxmode: Spu2x now working correctly. Kudos to pseudonym. Took him 30 minutes to fix this! 2016-10-09 15:52:46 +02:00
Robert 3aabc1adbf spu2x work 1 2016-10-09 15:52:05 +02:00
sudonim1@gmail.com 8d07fdf165 SPU2-X: Update effects engine indexers when the effects area is moved and kept the same size. Not doing so caused SPU2 memory corruption in Sphinx and the Cursed Mummy and maybe others.
Save state compatibility broken.

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5426 96395faa-99c1-11dd-bbfe-3dabce05a288
2012-10-02 17:43:21 +00:00
sudonim1@gmail.com f1cffa6f7f SPU2-X: Delay starting voices for 4 SPU2 cycles after key on. No idea if this is right, but there must be a reason some register writes aren't effective for a few cycles after key on, and this seems likely. Fixes DQ5 adventure log music and Le Mans 24 Hours everything.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5418 96395faa-99c1-11dd-bbfe-3dabce05a288
2012-09-21 15:17:16 +00:00
sudonim1@gmail.com 4d9e07b311 SPU2-X: Removed the temporary "TDA" variable from the core structure. Breaks state compatibility.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5416 96395faa-99c1-11dd-bbfe-3dabce05a288
2012-09-21 13:05:04 +00:00
sudonim1@gmail.com d4e4abfe82 SPU2-X: TDA is a fake internal register (which should probably be nuked), so reading from the FIFO (or whatever 1AC is) certainly shouldn't use it. Also fixed up related code a little. We don't know of any games which actually use this though. Actually I don't know if we know that reading this register does anything, this could all be the product of an overactive imagination.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5399 96395faa-99c1-11dd-bbfe-3dabce05a288
2012-09-02 22:07:11 +00:00
ramapcsx2 b26f787e22 SPU2-X:
Removed the fake reverb since the real stuff started to work :)

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@4767 96395faa-99c1-11dd-bbfe-3dabce05a288
2011-06-25 13:24:22 +00:00
sudonim1@gmail.com c509e2afb7 SPU2-X: Testing showed that writing effect area registers is not entirely ineffective as previously assumed while effect area writing is enabled on that core. The new assumption is that internal registers reflect the values of the external ones while effect area writing is disabled. Also increased logging level of these registers.
Save state compatibility broken.

Fixes issue 796, grandia 3 noise before squenix logo.

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@4759 96395faa-99c1-11dd-bbfe-3dabce05a288
2011-06-24 18:41:56 +00:00
sudonim1@gmail.com 629a6826d2 SPU2-X: Quality fix (?): take crest value to mean the electronics definition and clamp modulated pitch to [0,0x3fff] on the basis that the SPU2 probably is incapable of decoding two words of samples for each voice in each tick. Honestly this is still guessing, we only really know that it was wrong.
Test FFX tone when it's your turn to act, FFX underwater music?, xenosaga movie skipping sound effect, god knows what else.

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@4754 96395faa-99c1-11dd-bbfe-3dabce05a288
2011-06-22 02:27:39 +00:00
sudonim1@gmail.com f423da573f SPU2-X: Completely removed the concept of core resets. We were unable to find any evidence supporting their existence.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@4720 96395faa-99c1-11dd-bbfe-3dabce05a288
2011-06-08 20:14:14 +00:00
ramapcsx2 695b3ba900 SPU2-X:
- Replaced the reverb boost control with a selector for normal reverb or a new mode we call "fake reverb".
- This new mode (coded by gigaherz) is intended as an alternative for the only partially working "normal reverb".
- The new mode will have to be tuned yet to sound good.

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@4662 96395faa-99c1-11dd-bbfe-3dabce05a288
2011-05-21 17:47:33 +00:00
ramapcsx2 6f1b8c23af SPU2-X: Further tweaks and additions to the debugger.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@4218 96395faa-99c1-11dd-bbfe-3dabce05a288
2011-01-16 02:10:19 +00:00
gigaherz 1e2dbc6a22 SPU2-X: Some improvements to the developer debug window.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@4215 96395faa-99c1-11dd-bbfe-3dabce05a288
2011-01-15 23:41:22 +00:00
arcum42 c7c64ee7f1 spu2-x: Remove Decoder.cpp.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@3886 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-10-07 09:17:50 +00:00
gregory.hainaut@gmail.com 393333456c PCSX2 VU: Linux compilation fix and force 16 bytes alignement for VURegs
Spu2x: Use a standard destructor (POD safe stuff). Fix various segmentation faults (Issue 846)


git-svn-id: http://pcsx2.googlecode.com/svn/trunk@3702 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-08-30 20:39:04 +00:00
ramapcsx2 15782fefdd SPU2-X:
- Some preliminary work on better resets. Also some commented out yet changes.

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@3318 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-06-27 00:44:00 +00:00
sudonim1 61f7a4ddab SPU2-X: Double IRQ prevention found on real hardware. Only affects developers who didn't read the SDK documentation properly, like me. Nothing fixed as far as we know.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@3294 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-06-25 01:49:26 +00:00
Jake.Stine 7461f83414 UI / Cmdline:
* Fullscreen mode should be remembered/applied properly now.
 * implemented --fullscreen and --windowed options
 * Made the --help popup a lot prettier

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@3249 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-06-21 04:04:32 +00:00
ramapcsx2 c996934a1e SPU2-X:
- Clamp requested pitch values to 0x3fff. Fixes games that set a too big pitch, run that voice and expect it to hit an IRQA (Romancing Saga).
- Gigaherz and Pseudonym worked out better modulation support. Should make some sounds better (FFX battle sound, etc).

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@3242 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-06-19 14:52:37 +00:00
gigaherz c6ad0e52b5 Remove the AutoDMA buffer hack, using its own allocated space as it's supposed to.
If there's any regression we should look at what CAUSES it, instead of hacking it back.

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@3214 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-06-16 20:15:33 +00:00
Jake.Stine 581d17e282 SPU2-X: Remove antiquated use of __fastcall, from a time long ago when I was paranoid and overly in-love with fonction prototype red tape. (should fix linux/gcc compilation errors).
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@3173 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-06-05 15:59:59 +00:00
Jake.Stine 30cf31b7bc SPU2-X: added some safety checks to the savestate code to catch (and ignore) situations where PCSX2 tries to save or load states while the plugins are shut down.
(and fixed compile errors from prev rev -- woops)

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2988 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-05-12 14:18:40 +00:00
sudonim1 4457fe40fc Removed all trailing whitespace in *.c *.cpp *.h because it irritates me.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2897 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-04-25 00:31:27 +00:00
gigaherz cdb5de009b Experimental stuff, "newly discovered" flag from some old ps1 source code (so yeah not new, just I had never seen it) which appears to indicate the status of the spu's internal transfer queue (both dma and non-dma transfer styles).
Only applied for DMAs, and only in the new dmac code. Please tell if it breaks anything! and also if it fixes anything!


git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2566 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-02-06 01:35:36 +00:00
gigaherz 9ae807134e Experimental implementation of spu2 interface for the new iop dmac.
It's implemented only on SPU2-X and disabled by default.
FF12 and Atelier iris had working FMVs and bgm, other games might not
Try at your own risk.

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2554 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-02-03 03:37:55 +00:00
Jake.Stine da46df4d7c SPU2-X: More reverb work (mostly).
* Fixed some bugs from the prev rev that ended up disabling all reverb completely.
 * Expanded reverb buffers to x4, as per Neill Corlett's recommendation; this should give reverb a lot more "body"
 * Implemented what I suspect is correct behavior for EEA register handling.  When set to zero, effects are disabled.  This fixes nasty reverb and feedback loops in Digital Devil Saga.
 * Reverb down/up mix buffers are now processed even when effects disabled; fixes the reverb being cut off prematurely during the BIOS splash screen.
 * Fixed some silly clamping bugs (should fix distortion problems in some titles)

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2086 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-10-27 05:50:50 +00:00
Jake.Stine 8ba39b71de SPU2-X: Fix CDDA playback, which got broken a few revs back; and remove regression test code (ReadInput is pretty well confirmed to be good now, anything still broken is because of something else).
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1951 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-10-04 08:47:43 +00:00
Jake.Stine 910669f937 SPU2-X: Fixed some more major bugs and typos; most sound *should* be working again now. Added a hackfix for a crash in the BIOS cased by what *should* be correct handling of IRQAs.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1947 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-10-03 13:32:23 +00:00
Jake.Stine 03972b07de SPU2-X: Fixed a huge bug in my last commit that broke most everything except the bios -- Core indexes were set to -1 instead of 0 and 1 (heh). Also a Speedup: Switched to a lookup table for dispatching SPU hardware register writes.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1933 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-09-30 05:35:37 +00:00
Jake.Stine 158b01b58d SPU2-X:
* Potential Bugfix: Core1's DMA IRQ trigger was being ignored in some instances; might fix some hangs.
 * Major code cleanups, using C++ structure member methods and functions.
 * Improved gui / plugin api / core emulation code separation -- hoping to switch to wxWidgets eventually.

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1930 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-09-29 19:18:50 +00:00
Jake.Stine c1dbdd7b62 SPU2-X: Upgraded license to the LPGLv3; and changed some #ifdef mess to #pragma once.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1419 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-06-21 11:00:53 +00:00
Jake.Stine ef2e9e2093 SPU2-X: Fixes alignment condition for SSE2-dependent members of V_Core. I wanted to sneak this in quick since to do it later would have meant another savestate version.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@681 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-03-04 21:48:26 +00:00
Jake.Stine 7d00eb7ec6 SPU2-X: Resorted the mixer so that it's a little faster, and will be easier to apply some SSE2 opts in the future.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@680 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-03-04 21:32:48 +00:00
arcum42 1745eb2013 SPU2-X: These aren't the buildfiles you're looking for. Move along now.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@556 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-02-20 21:48:59 +00:00
Jake.Stine 0a24870600 SPU2-X: Squashed a bug that caused lots of crackle-pops on certain audio tracks (most obvious during the KH2 intro); LoopStartA apparently should *not* be set to NextA when KeyOn is issued.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@552 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-02-20 13:29:39 +00:00
Jake.Stine 0ca2f4d2be SPU-X: Major code cleanups across the board, and optimizations to the reverb effects generator (possibly buggy yet)
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@525 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-02-18 13:36:20 +00:00
Jake.Stine 09bb31aaa4 Missed an important bit of last night's build script update. >_<
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@517 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-02-17 10:52:18 +00:00
Jake.Stine 340db13caa SPU2-X: Added a lowpass filter to the reverb output, which should produce more correct audio (still experimental). Plus many code cleanups.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@509 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-02-16 20:00:31 +00:00
Jake.Stine 042e904a65 SPU2-X: Introducing the new SPU2-X! After some talk with Gigaherz, It was decided to branch and rename Playground's mod of SPU2ghz to SPU2-X. This commit isn't just a copy. It includes a series of significant revisions. The most notable features are:
* Working Reverb.  Yes, you heard right.  Fully and completely implemented reverb effects!
* Automatic 5.1 speaker expansion.
* Some more bugfixes to volumes.
* All new configuration panels.
* Improved/Bugfixed XAudio2 drivers.

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@497 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-02-15 05:15:39 +00:00