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
- 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
- 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
- Fixed the resource issue I had, so the new options are now also available in the old config dialog.
- Added some code that hides the hack options completely when they're disabled. By Bositman :p
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2619 96395faa-99c1-11dd-bbfe-3dabce05a288
- Hide the hacks from users, unless "allowHacks" is written to the GSdx.ini first.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2609 96395faa-99c1-11dd-bbfe-3dabce05a288
- Found out that the blur detection filter was busted for some time now.
It worked by chance, due to the pixel crop hack.
Disabled that hack now and made PCSX2's GS frame handle that functionality instead.
This is a somewhat nicer method, although users of 4:3 and 16:9 aspect ratios might get flickering pixels on the borders again.
I'll see if I can think of something for those cases, should there be demand for it.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2608 96395faa-99c1-11dd-bbfe-3dabce05a288
- Added multi sample anti aliasing options to the gui. Remember those aren't tested much, and we have reports of memory leaking with it enabled. Those could be outdated by now though.
- Removed the "enable output merger blur effect option", since I can't imagine anyone wanting to enable it anyway. :p
- Cropped one more pixel on the final output image, should fix some issues with msaa enabled.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2607 96395faa-99c1-11dd-bbfe-3dabce05a288
- Finally made some user hacks available in the configuration dialog.
There are no warnings yet, and I don't like the placement either, but that'll have to wait.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2606 96395faa-99c1-11dd-bbfe-3dabce05a288
- 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
- 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
- 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
- Added a hack that changes how alpha is handled.
This can be used to fix stuff like too bright blending, bad effect leftovers or "ghost layers".
Enable via ini > UserHacks_AlphaHack = 1
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2594 96395faa-99c1-11dd-bbfe-3dabce05a288
- Fix SPR interrupts to a delay of 4 cycles always. Makes sure they're handled first.
(Fixes Obscure2 and Alone in the Dark FMV.)
GSdx:
- One more CRC :p
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2584 96395faa-99c1-11dd-bbfe-3dabce05a288
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
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
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
Modified unplugged device behavior to match PadNull. May work better with unplugged pads, may not. No clue, just know the old behavior didn't work that well.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2552 96395faa-99c1-11dd-bbfe-3dabce05a288
- 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
- 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
PCSX2: Added an optional PS2EsetEmuVersion callback for plugins, so that plugins (like GSdx) can alter behavior based on the version of emulator calling them.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2530 96395faa-99c1-11dd-bbfe-3dabce05a288
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
- Depth texture removal hack can now be configured via gamefix_skipdraw = x. (Front Mission 5)
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2423 96395faa-99c1-11dd-bbfe-3dabce05a288
- Converted an upscale hack to the format I plan to use from now on. (Also makes this hack work better :p)
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2422 96395faa-99c1-11dd-bbfe-3dabce05a288
- 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
Changes: Implemented PADupdate and PADsetSettingsDir, added thread sync mutexes.
Note! This is based on v1.6 of SSSPSX, since we don't currently have v1.7 in the repository. I did just realize that 1.7 comes with sources online, so I'll upgrade the repository to 1.7 shortly.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2378 96395faa-99c1-11dd-bbfe-3dabce05a288
* Enable word wrapping on the console window (maybe could make it an option... hmm).
* Slight bugfixes to main window/console focus linking (windows only)
* Fix linux compilation error in ZeroGS.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2374 96395faa-99c1-11dd-bbfe-3dabce05a288
- Added a macro that disables any upscale hacks.
- More work on the dx10 renderer upscale hacks.
PCSX2:
- Changed a warning so it reads more like a notice :p
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2366 96395faa-99c1-11dd-bbfe-3dabce05a288
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
- Decrease upscale glitches in dx10 (dx9 later) by hacking the UV coordinate system in borderline cases.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2348 96395faa-99c1-11dd-bbfe-3dabce05a288
DevNote: Moved jNO_DEFAULT from the Pcsx2Defs.h, since it's too dependent on the Common libraries. It's now in Assertions.h. Plugins can use __assume(0); directly instead or roll their own.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2326 96395faa-99c1-11dd-bbfe-3dabce05a288
- Let's use dx10 software rendering for the F9 renderer switch, if it's available.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2307 96395faa-99c1-11dd-bbfe-3dabce05a288
I don't have DX10 so this is (as usual!) untested. I'll be adding support for it to PCSX2 soon.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2301 96395faa-99c1-11dd-bbfe-3dabce05a288
- Re-enable the D3D10_CREATE_DEVICE_SINGLETHREADED flag, since it seems to be stable again.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2283 96395faa-99c1-11dd-bbfe-3dabce05a288
* Disable GSdx's internal AspectRatio setting when using GSOpen2 (pcsx2 0.9.7 controls aspect ratios internally now)
* DX10 should be able to startup in fullscreen mode now, without needing to hit alt-enter (legacy 0.9.6 versions only)
* Added some comments for a failed attempt to disable DX10's default Alt-Enter behavior. If someone knows how to do that properly, please feel free to submit a patch because DX10/Com breaks my mind. (see GSDevice10.cpp)
* Remove DX11 for now since it's entirely unfinished anyway.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2279 96395faa-99c1-11dd-bbfe-3dabce05a288
DevNotes: The main change here was to turn WndProcEater into a class and create multiple instances of it, so that it could manage the WndProcs for multiple windows concurrently. The "frame" (top-level window) gets a WndProc that sets title and handles screensaver/alt-enter hacks. The "viewport" (provided by PCSX2) gets the usual keyboard input handler WndProc. Config buttons also have their own WndProc that avoid fuzzy logic conflicts with the other two.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2277 96395faa-99c1-11dd-bbfe-3dabce05a288
- Removed the outer pixel cropping, it causes blur in some games. (I knew I should've done it elsewhere :p )
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2248 96395faa-99c1-11dd-bbfe-3dabce05a288
- Remove the silly upscale hacks from an earlier commit
- Replace them with a less silly version in CreateSource() :p
- Remove a few of the outer pixels from the visible area, as they often contain glitches
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2241 96395faa-99c1-11dd-bbfe-3dabce05a288
- 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
* ... 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
Gave up on the smart m_width / m_height adjustments for now. This just won't work the way I imagined it :/
Using a "common" size of 640*512 instead. This means some odd games might use a wrong output surface again (they always did this on the normal upscaler).
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2190 96395faa-99c1-11dd-bbfe-3dabce05a288
- Reduced the overhead of the new scaler. Instead of just using 1024*1024 blindly, it tries to adapt to games native resolutions.
- Yet another change to IncAge(), since it seems to be (mis)used to do texture invalidation. (Fixes Disgaea 2 when booting through the BIOS)
- Added some comments
Note:
Before working on the texture cache GetDisplayRect(),GetFrameRect() and GetDeviceSize() really need fixing. It's useless to try and find surfaces when not knowing the real size of things.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2174 96395faa-99c1-11dd-bbfe-3dabce05a288
- Added some sad attempt to fix small upscale annoyances. It's very hackish but better than nothing :p
- Small cleanups
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2169 96395faa-99c1-11dd-bbfe-3dabce05a288
This means cdvdGigaherz builds will no longer work on older versions of pcsx2 from before I integrated the detection code into the emu.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2155 96395faa-99c1-11dd-bbfe-3dabce05a288
- Bring back IncAge() for textures to avoid excessive memory usage by some games.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2140 96395faa-99c1-11dd-bbfe-3dabce05a288
- Fixed many flickering scene change transitions (FF12, Gust games, etc).
- Found more info on how games do some special effects. Preliminary code included, but disabled.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2101 96395faa-99c1-11dd-bbfe-3dabce05a288
* 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
- More work on the configuration, preparing for some reorganization.
- 8 Bit textures default to off again, since there are issue reports (mainly from ATI users).
- Add a gamefix that allows users to set an amount of "bad" frames to be skipped.
Add gamefix_skipdraw = x to the GSdx.ini to enable. (More work on this soon)
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2085 96395faa-99c1-11dd-bbfe-3dabce05a288
- Worked on the configuration dialog, bringing in the scaler option
- Changed the DeviceSize code to use Jake's kinda better method. Fixes some odd resolution games :)
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2061 96395faa-99c1-11dd-bbfe-3dabce05a288
- The Xenosaga fix was wrong, this is better.
- Disabled the pitch conversion code, it's too broken to be used :/
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2058 96395faa-99c1-11dd-bbfe-3dabce05a288
Added a somewhat more accurate upscale option via GSdx.ini. Not tested much! :p
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2055 96395faa-99c1-11dd-bbfe-3dabce05a288
Fix Xenosaga 2 and 3 fog effect, not sure it's handled correctly but at least it's handled.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2050 96395faa-99c1-11dd-bbfe-3dabce05a288
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
Ideally this should be reverted one time, it really made a difference in fps for some DX calls heavy games.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2019 96395faa-99c1-11dd-bbfe-3dabce05a288
* Plugged up some various thread sync issues with the sector cache (caused problems mainly on startup.init and during disc change detection)
* Added a thread sleep to the ReadThread when the dvd tray is empty or open (speedup).
* Replaced a thread sleep with an Event when waiting on pending events (speedup).
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2007 96395faa-99c1-11dd-bbfe-3dabce05a288
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
* 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
* Re-enabled function-level linking in the shared properties sheets (applies to debug and devel builds, and is ignored in release builds). Can't remember why it got disabled in the first place, but whatever errors it was causing seem to be gone now.
* Removed the wxWidgets 2.9/3.0 copy of wxScopedPtr (wx/scopedptr.h), since we have a new superior implementation of our own.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1949 96395faa-99c1-11dd-bbfe-3dabce05a288
* 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
Currently anything below deadzone is mapped to 0. deadzone and above are mapped as if the control's true zero is 0 and 1/sensitivity is fully down (As opposed to deadzone being zero). May change in the future.
Modified precompiled header to fix no-CRT build.
List of bindings noew automatically jumps to new bindings.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1914 96395faa-99c1-11dd-bbfe-3dabce05a288
Just changed the config dialog a bit to prevent performance seeking users from disabling timestretching (and then posting threads about bad sound :p ).
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1909 96395faa-99c1-11dd-bbfe-3dabce05a288
New method of ensuring thread safety. Device update code should always run in GS thread, even if the emulator really doesn't want to let me (Basically ancient versions of Pcsx2...Or any 3rd party emulators with their own version of MTGS). Updates on PADpoll, PADkeyEvent, or PADupdate, if one is called in the right thread. Updates in thread's WndProc otherwise. Overkill, perhaps, but I prefer to keep things compatible.
Removed "Update in GS thread" option.
Windows Messaging/Raw Input keyboard event queuing should work a little better.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1896 96395faa-99c1-11dd-bbfe-3dabce05a288
Projects: Removed FrameworkVersion descriptor, don't think it matters for C++ code. Removed all translation files, since they're grossly out-dated and need to be remade anyway.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1894 96395faa-99c1-11dd-bbfe-3dabce05a288
Also, just for kicks, made pausing while pressing "escape" check the pause button in the menu.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1891 96395faa-99c1-11dd-bbfe-3dabce05a288
Removed the keyboard disabled option, as using two different pad plugins is really just a bad idea. Also finally got sick of people saying "I have keyboard disabled, and the keys don't work! I urgently need help!"
Also will no longer let you enter config mode (And thus crash the program) when emulator is running.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1889 96395faa-99c1-11dd-bbfe-3dabce05a288
* Implemented proper shader management, fixes several bugs where video would be lost or crash, and is a small speedup.
* Retains GS state across open/close, same as every other PS2E plugin now.
* Implemented GSopen2(), which is used by wx-pcsx2 to bind the GS output to a window handle of pcsx2's choosing.
* Retained full backwards compat with the current legacy gui. :)
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1871 96395faa-99c1-11dd-bbfe-3dabce05a288
Scroll rate is very inconsistent, but that's just wxWidgets doing what it does best (worst?)...
Also fixed a minor bug in LilyPad version labeling.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1853 96395faa-99c1-11dd-bbfe-3dabce05a288
Changed intermediate debug build directory, for consistency.
Added another LilyPad-only build option, to compile without CRT dependencies, as manifests are evil.
Finally nuked the VC 2005 project.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1850 96395faa-99c1-11dd-bbfe-3dabce05a288
* Removed GSTextureFX classes
* Built shaders right into GSState classes, using GSStateDX as an interface, so that all shader caches get auto-destroyed along with GSState.
In addition to being a bit of a code cleanup, it should be a bit more efficient too since all of the extra dereferences to GSState from GSTextureFX have been removed. :)
git-svn-id: http://pcsx2.googlecode.com/svn/branches/GSopen2@1849 96395faa-99c1-11dd-bbfe-3dabce05a288
* Software mode seems to work fine. Suspend and resume emulation work nicely, without flaws.
* Hardware DX9 mode suspends but displays only black after resuming.
* Hardware DX10 status is unknown.
git-svn-id: http://pcsx2.googlecode.com/svn/branches/GSopen2@1842 96395faa-99c1-11dd-bbfe-3dabce05a288
* Lots of crashfixes and threading rules compliance (like using wxYield instead of ProcessPendingEvents)
* Killed off some memory corruption
* Better error handling and reporting
* Much speedier suspend/resume during emulation
* Revamped entire savestate system to use a RIFF-style file format (untested, will work on it soon)
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1832 96395faa-99c1-11dd-bbfe-3dabce05a288
Still have issues with DS3 rumble - looks like only one motor can be enabled per communication (Otherwise, always lose connection to the device and have to re-enable it), and enabling one kills the other. Not sure what to do about this, currently just flip between the two.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1821 96395faa-99c1-11dd-bbfe-3dabce05a288
(note: Patch.cpp/Patch.h is still the odd child out in this commit, as it's destiny is to become a plugin)
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1804 96395faa-99c1-11dd-bbfe-3dabce05a288
* Fixed a deadlock in thread cancellation.
* Muted some folder warnings when running pcsx2 for the first time.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1778 96395faa-99c1-11dd-bbfe-3dabce05a288