Commit Graph

129 Commits

Author SHA1 Message Date
sudonim1 ea766db4ce I guess I should've tried this from the beginning. Actually, I did, but it wasn't quite the same code and rama benchmarked it instead of me. Other optimisations are irrelevant, speed is now within measuring error of r2634, I feel like an idiot.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2638 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-02-25 07:32:55 +00:00
sudonim1 a564d4bbae Runaway voices should be faster with this. My previous ideas for optimising this were based on the principles that there's no way a game could rely on this feature other than requiring interrupts to fire when the muted voice hits the interrupt address. Well... Fatal Frame 2 proved me wrong. SPU2 interrupts aren't even enabled. I have no idea what it's doing.
Rougher granularity than this probably doesn't break anything, this is the finest that should have observable effects.

Not running voices when they're in a special sentinel block may also help games... but not Fatal Frame 2.  It resets the loop register constantly.  I really have no idea what it's playing at and it's driving me crazy.

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2637 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-02-25 07:04:28 +00:00
ramapcsx2 155c96c0aa SPU2-X:
- Pseudonym made the voice free-run system a bit faster. Also fixes some odd sound skips introduced with the first version of this fix.

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2636 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-02-25 05:32:51 +00:00
ramapcsx2 b13e917eb2 SPU2-X:
- Continue voice processing even if the voice is off, as per SPU2 specs.
This fixes Fatal Frame 2 (and likely 3 as well). A really long standing bug we had :) 

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2635 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-02-25 01:18:27 +00:00
arcum42 f86876f9fe Spu2-x: Hack in some ini file support for Linux.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2630 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-02-23 13:45:36 +00:00
ramapcsx2 5dba50645b SPU2-X:
- Added a configurable reverb volume boost, sounds nice in some games :)

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2620 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-02-21 17:44:48 +00:00
arcum42 df39878a9e Spu2-X: And we have sound in Linux! (Uses PortAudio; Absolutely no configuration right now. Not even in an ini file.)
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2618 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-02-21 08:33:49 +00:00
arcum42 5a564ab7b6 Clean up the last commit a bit.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2617 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-02-21 08:18:25 +00:00
arcum42 dcb76739c8 Hack at spu2-x until it compiles in Linux, and is usable as a null plugin. (No, no sound yet, or configuration dialogs. It's a step in the right direction, though.)
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2616 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-02-21 08:04:45 +00:00
ramapcsx2 42cb1c4bb1 SPU2-X:
- Ok, that interrupt commit in r2600 was silly. The "special register write" is a simple set audio to max volume. We don't interrupt those :p
NEW IOP DMAC:
- Make the adma interrupts happen early, as in the previous commit for old dmac.

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2602 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-02-17 22:37:13 +00:00
ramapcsx2 f6119e02f0 SPU2-X:
- Don't delay the adma irq callbacks, call them directly.
Should finally fix all those sound dropouts that only happened with this plugin :)

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2601 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-02-17 21:12:02 +00:00
ramapcsx2 8d7971466d SPU2-X:
- Added an interrupt call on a special register write, which mimics peops spu2 behavior.
This lets Silent Hill Origins get further when booting up.
Note that it's not complete and hackish, need someone with spu2 experience to make it right :p
- Also added various logging stuff

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2600 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-02-17 17:35:06 +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
arcum42 cc585042ce Spu2-x: A few quick changes to get it compiling in Linux again.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2562 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-02-05 03:59:19 +00:00
gigaherz 8ef8958e2d Forgot to check if my changes compiled with the new dmac stuff disabled. Thanks Pashifika.kasuru for pointing it out.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2560 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-02-04 21:04:48 +00:00
gigaherz 7090edf371 Chagne a few thigns around for the spu2-x Irq flagging. If this breaks anything please tell.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2559 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-02-04 18:39:15 +00:00
gigaherz 34e44e4956 Experimental sliced transfer stuff for spu2-x in the new dmac code. Probably doesn't make anything better, and it could slow down the iop a tiny bit while doing DMAs.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2558 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-02-04 18:17:41 +00:00
gigaherz b05733a8fb "giga: PlainDMAWrite((u16*)data,bytesLeft); << not bytesLeft/2 ? Fixes sound in many games" whoops.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2557 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-02-04 16:59:48 +00:00
gigaherz 06db5bba38 Hackfix a problem with sio2 in the new dmac. It needs some changes to the dmac system (possibly a dmaStart function with more accurate information) to be implemented properly but for now, this will do.
Also make the autodma messages work like before so they are configurable again.

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2555 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-02-03 03:59:21 +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
ramapcsx2 909a7de4f6 SPU2-X:
- Ok, skip the whole runtime reset, since we don't know (yet) what vars need to be reset, and more importantly, when.
- Makes it possible to disable the specific BIOS hack we had. :)


git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2551 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-02-02 06:28:50 +00:00
ramapcsx2 300717df6c SPU2-X:
- Don't the whole core on a core reset. Fixes sound in Silver Surfer, Silent Hill Shattered Memories and prolly others.
(SH becomes playable with this. ;) Still needs GSdx software though. )

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2548 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-02-02 04:50:51 +00:00
Jake.Stine e747337d63 A big old crapload of UI and thread management changes. Recoded the EventSource/EventListener system to be more C++ and less hacky C. Probably breaks Linux!
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2474 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-01-22 15:22:01 +00:00
arcum42 cbb2000400 Commit a modified copy of the CMake files from issue 513. (Note: work in progress. Not currently for general use. Builds made using cmake are currently not supported, and unlikely to work properly.)
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2464 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-01-21 15:12:50 +00:00
gigaherz c1cd29a534 Started implementing configuration support for PortAudio. Since PortAudio doesn't have any kind of "Unique ID" for the listed devices, I have to rely on the "host api" name and the descriptive name of the device, but it doesn't seem to be 100% reliable. In case the device name can't be found, it will try to use the default device for the specified API. If no api is specified, then it will fall back to using whatever default device PortAudio provides.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2445 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-01-17 16:46:28 +00:00
gigaherz f878a438ff Fetched a snapshot of the source from portaudio site, and embedded it into the project. I might have missed something, so this will need some more work before it's fully stable.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2441 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-01-17 01:04:46 +00:00
gigaherz ce396272d1 SPU2-X: Experimental PortAudio module. No config dialogs. Will use the system default output device & whatever the default "api" is in portaudio. Requires user-compiled portaudio lib, might commit later.
Widnows users probably don't have any interest in this unless you want to play the audio through portaudio's ASIO driver. Arcum was interested so I commited.

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2439 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-01-16 17:59:00 +00:00
Jake.Stine 2f38decdab Fixing some more bone-headed project file compilation errors (my fault, don't know what I was thinking when I did this w32pthreads lib change int he first place)
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2393 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-12-24 02:36:58 +00:00
ramapcsx2 67b55648ae SPU2-X:
- Slight adjustment on the timestretcher, stops it from going to "emergency" mode too often (even on bigger buffers).

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2385 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-12-22 17:05:40 +00:00
Jake.Stine 9f41fc4793 (Most Plugins) Updated plugins to obey PCSX2's ini folder requests. This will fix problems with plugins failing to save settings on Vista/Win7 due to lack of Admin rights, and also ensures all the plugin inis show up where you would expect them to.
Fixed a couple UI bugs: FirstTime Wizard display bug and the "Configure..." button in the plugin control panel grays out when it should.

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2361 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-12-19 18:30:56 +00:00
Jake.Stine 2baa81c997 w32pthreads/spu2-x/gsdx: add proper "debug" build of w32pthreads, instead of both debug and release overwriting the same dll.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2319 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-12-06 15:33:20 +00:00
Jake.Stine 1dced84153 Linux compilation fixes and fix some signed/unsigned stuff in IsoReader.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2217 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-11-18 16:53:44 +00:00
ramapcsx2 d8c495b064 SPU2-X:
- Set the "latency" slider adjustment resolution to 1, so it's actually possible to set the value the user wants.

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2215 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-11-18 08:52:06 +00:00
Jake.Stine 2709f3c29c GSdx/SPU2-X: Perform SSE checks before entering Configuration dialog (prevents crashes on non-SSE2 machines)
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2213 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-11-18 08:13:28 +00:00
Jake.Stine 4f9cd96e50 * Added a 'master' toggle to the Speedhacks panel.
* ... more WIP stuff on the Video options panel.
 * Spent 12 hrs working on crap text wrapping and window sizing issues.
 * Moved several UI classes to utilities (lots of project changes, breaks linux)
 * Fixed stilly bug in SPU2-X that prevented it from working (at all).
 * Lots of code cleanups, and 1 or 2 bugfixes.

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2212 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-11-18 07:53:02 +00:00
Jake.Stine c942e3aaca * Implemented more support for on-the-fly CDVD source changes (not well tested, probably need work).
* Fix Reelease mode compilation errors. 
 * More misc bugfixes to the UI.

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2207 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-11-16 17:14:10 +00:00
Jake.Stine 40ed711445 SPU2-X: Implemented SPU2test - it now reports an error and returns failure on CPUs not supporting SSE2.
DevNote: SPU2-X now links against w32pthreads and x86emitter.

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2202 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-11-16 13:14:02 +00:00
Jake.Stine 4fc93dded4 SPU2-X: Minor fix for very rare cases of hang-on-suspend when using the XA2 driver.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2120 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-11-02 21:07:22 +00:00
Jake.Stine 4cb8e21f94 Much work on menus, gui features. Partially-working recent-isos menu list. Bugfix for some of the new console stuff that could have caused some funny bunny business, or crashes, in a few games. Why dat wascaly wabbit! >_<
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2100 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-10-31 10:03:07 +00:00
ramapcsx2 fdde56115c The Digital Devil Saga reverb fix "fixed" too much. It's gone :p
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2090 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-10-27 23:44:08 +00:00
Jake.Stine 1cc740a9c0 SPU2-X: Revert Neill's x4 buffer indexers -- Fixes feedback. Update savestate version to fix prev savestates.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2089 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-10-27 14:08:25 +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 6032a142dd SPU2-X: Slightly better algo for the new reverb. :)
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2084 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-10-26 08:58:07 +00:00
Jake.Stine 99c62c6501 SPU2-X: (experimental) New reverb implementation using a more correct downsampler, as borrowed from "sexypsf."
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2081 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-10-26 02:38:27 +00:00
Jake.Stine beed14bfee SPU2-X: Added SVN revision info to the SPU2-X name reported back to PCSX2, so that it shows up in the plugin lists. (previously only did so in dev/debug builds, now does it for release too).
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2068 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-10-24 19:18:44 +00:00
Jake.Stine b1fb7f80ae aligned_stack: sync with trunk; some bugfixes to the stack prep on entry; and re-enabled the esp/ebp integrity assertions.
git-svn-id: http://pcsx2.googlecode.com/svn/branches/aligned_stack@2032 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-10-18 14:56:48 +00:00
ramapcsx2 c3cbdaf016 SPU2-X:
New default values for soundtouch, fix the sound quality somewhat.
Also got rid of a small configuration dialog glitch.

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2021 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-10-17 17:49:33 +00:00
Jake.Stine 8b0cbe445a SPU2-X: Minor bugfix to suspend/shutdown code which caused SPU2-X to hang in very rare occasions.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1999 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-10-12 19:55:54 +00:00
Jake.Stine 28473c1436 Fixed: Savestate bug when saving caused erratic freezeups.
Fixed: More savestate slowness, and less savestate memory hogging.
SPU2-X: Fixed crash bug on using savestates while suspended.

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1994 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-10-09 17:28:17 +00:00
Jake.Stine e8e61a5cf8 Settings work again!
* Switched the SysCoreThread to a static (fully persistent) thread.
 * Added some listeners for when the CoreThread status changes
 * fixed some slowness in savestates, and the emu will now stall until savestates complete, if you try to exit too quick (avoids savestate corruption)

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1993 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-10-09 15:17:53 +00:00