PCSX2 Playground v1.0.0395 and new forums!
[ Posted by Bositman 10:30 on 12 12 08 ]
After a really long period of silence,we´re back with a bang!
Today we are announcing the release of Pcsx2
Born as a ´playground´ test-bed for Pcsx2
modifications and code, the Playground project evolved into much more, over a period of about 4 months.
Created by Air (aka Jake Stine),arcum42,cottonvibes,drkIIRaziel,rama and tested by Krakatos,the team would like to thank:
- Thanks to the original Pcsx2
development team, to the betatesters and to everyone that helped them. Without their work, Pcsx2
would not exist, and neither would the Playground project!
- Thanks to the pcsx2
team once more for graciously hosting our forums.
- Thanks to the Pcsx2
team once again for providing hosting space Smile
- Thanks to Gigaherz for the render used in the playground logo
- Thanks to all the people who tried the various Playground revisions over these months, providing us with helpful feedback
- Thanks to everyone else who supported Playground, without you all this would have not been possible!
team decided to support this project by having the official beta testers also test it and hosting their binary and forum,since they´ve been doing some great job Smile
You can grab the new binary which includes a plugin pack (and a heavily modified SPU2Ghz for your sound pleasure!) in our download section here
For more information,check the dedicated forum here
Also,today we open our new official forums,hosted right here at pcsx2.net Smile We would like to thank Bobbi and the NGemu network for hosting our forums for so long!
Our new forum is totally dedicated to PCSX2
and has sections for the official release,the public beta,plugins and the playground build Smile
We hope you enjoy it,you can visit by clicking here
Note: Your verification mail might end up in junk mail,please check there!
rev 417: minor FPU opcode change.
rev 416: minor changes
rev 415: some FPU Compare opcode fixes. might fix some games that ´hang´ waiting for certain conditions that never happen.
rev 414: fixed the other FTOI opcodes. they should all work perfectly now.
rev 413: more recVUMI_FTOI0 changes. should now return proper saturation. too tired to fix the other FTOI opcodes today.
rev 412: Change most of the macros in MMI.c over to functions.
rev 411: Sync with r410 for Linux. Give that GIF Warning that I get to see over and over again on the console a line break.
rev 410: A couple minor GUI
- DaZ mode is now disabled for SSE1 CPUs, preventing a crash when trying to OK the setting or run the Emulator with default settings.
- Emulator no longer tries to run games when a BIOS hasn´t been configured (usually led to a crash).
--fixed recCVT_W opcode saturation: now it gets correct results and its faster:p
--fixed recVUMI_FTOI0/recVUMI_FTOI4/recVUMI_FTOI12/recVUMI_FTOI15: it does saturation now, but its still not 100% correct.Returns 0x7FFFFF80 instead of 0x7FFFFFFF.
rev 408: --svn:eol-style=native, part2
rev 407: --Added svn:eol-style=native on svn properties
rev 406: SPU2Ghz: Readjusted initial volumes. These give correct volume levels for fmv, ingame sounds and speech. Boost volume is still not recommended but the default volume seems loud enough already :)
rev 405: SPU2Ghz: Second part of the volume quirks update. Thanks to Gigaherz for fixing the core reset functions.
The plugin is now louder by default, so check your volume boost setting and disable it. If the game is still too quiet, you can re-enable it again :)
rev 404: Much to Guesseous distress, I have once again overlooked something small and obvious in my last commit. If I were using a table saw I´d be missing my arm at the elbow by now. //OWNED; u really should read comments from rev 402 to this one//
rev 403: SPU2ghz: Minor tweaks to the mixer that should help get rid of overflow problems. This is the first part of a 2 part commit that should help correct some old-timey volume inaccuracies in the plugin.
rev 402: Dah! A little snippet of debugging code made it into the last commit, which would have most assuredly broken any attempts at running the emulator. -_-
rev 401: Bugfix: SIO´s DMA-Out cycle timing was way off the mark, and sometimes caused games to "lose" some SIO-related interrupts.
rev 400: Move various things that should be in Mdec.h there, rework the defines in VUflags.c to functions, put in 64 bit versions of the Interlocked functions I previously #if 0ed, some cleaning, and, not least, make it so Linux compiles after r399.
rev 399: MTGS now force-freezes all XMM/MMX registers prior to kernel calls (Sleep/SetEvent), because some versions of Windows and drivers like to muck with them.
FreezeMMXRegs / FreezeXMMRegs now track freezes and thaws, so that nested freezes won´t end up unfreezing registers too early anymore. Plus several code cleanups and ugly macro removals to a handful of other modules.
rev 398: Minor Linux code cleanups.
rev 397: something drk||Raziel found that I forgot to commit. not very important, only effects non-MTGS/DC modes.
rev 396: Don´t try to close non-existant threads. Prevents a crashing bug in Linux
rev 395: Temporarily block out two functions that are not being used that cause the debug version not to compile.
rev 394: --Fixed some problems on the win32 threading code, handle can be NULL, the errorvalue is INVALID_HANDLE_VALUE.
--Don´t call GS_SETEVENT from CSRwrite, because it calls SetEvent and thats a kernel function that sometimes corrupts the contents of the xmm regs. Since CSRwrite is called directly from the dynarec context without flushing the xmm regs that can lead to register corruption :p.Fixes PAL FFX on my pc [got broken on 376 and up]
rev 393: Major Fix: Found and fixed a big vmhack / COP0 bug. This should fix several games, including those in Issue 49, Issue 58, and possibly Issue 59 as well (testing of those issues and a confirmation is needed).
Code cleanup to iHw.c : Removed some rampant abuse of macros and quite a bit of unnecessary code bloat.
//little change in ´hacked´ folder; also new hardhacked version//
rev 392: Tweaked frameskipper slightly. Behaves better when using 4 or higher as a skip setting (frameskip settings 0,0,2,4 for example)
rev 391: Various Linux cleanups to match recent Windows commits.
rev 390: Fixed frameskipping when using a strict framerate setting (minfps==maxfps). The setting is ideal for users playing high-fps games as it allows you to disable the timestretching on your SPU2 plugin. :)
rev 389: Grr. .. accidentally left in a dud line of code that broke MTGS completely. :/
rev 388: Working on a special end case scenario with the frameskipper, when minfps==maxfps (using 50/50/0/0 as frameskip settings, fo r example). Previous versions would skip constantly. This version is better, but maybe could be improved yet.
Also: Changed default frameskip options to be a little more aggressive. When using zeros (defaults) skipping starts around 95% instead of 90%. (57fps NTSC and 48 fps PAL). This seems to work a lot better with the new frameskipper. :)
rev 387: Fixed frameskipping when using default framefate settings (it wouldn´t skip until games got REALLY slow, heh).
Win32: Fixed BIOS settings saving in the Configuration dialog. (rama)
rev 386: Stabilized the framelimiting part of the frameskipper.
rev 385: Repairing a minor foopah in my last commit.
rev 384: Improved frameskipper when running under MTGS mode, by moving it from the EE thread to the MTGS thread. Also got rid of some highly unnecessary recompiler code in iGS.cpp. Register writes to SMODE1/SMODE2 now fall back on the new
modeset code in GS.cpp. (that code is entirely *not* speed critical, and maintaining a bunch of rec code for it wasn´t my idea of a good time).
rev 383: SPU2ghz: Improved "on exit" stability of the XA2 driver on WinXP machines, by covering up for things the driver is *supposed* to do itself (but apparently does not, in WinXp at least).
Also fixed a Pcsx2
compilation error when trying to enable the experimental IPU speedhack.
//added new hacked version to hacked folder; pls don´t bitch about rev number//
rev 382: SPU2Ghz: New defaults
rev 381: [No functional changes] Just committing an IPU speedhack I found a while back, in case anyone wants to play with it. It´s disabled by default. Enable by uncommenting the #define in IPU.h -- might break some movies tho, I dunno.
rev 380: More cosmetic changes ><
rev 379: Updated about dialog
rev 378: Fix Linux build, and disable obsolete haxks / gamefixes in it.
rev 377: MTGS: Fixed yet another race condition. This one was most apparent on Digital Devil Saga and would cause the game to freeze at random intervals. May have caused small visual artifacts on other games as well. Also improved the Linux/pthreads code to remove compile errors.
Rolled back a previous accidental commit of experimental EE_WAIT_CYCLE values.
rev 376: Another MTGS fix. This one was a known bug that I was saving for last, and in fixing it I was able to roll back the hack-fix for in-game stalls from r375.
rev 375: MTGS: Fixed stalls in some games that sometimes did a lot of GS register manipulation. Also fixed a compilation error when using Debud/Release builds (stupid typo).
rev 374: Major code cleanups to the MTGS code, plus a new faster, friendlier, and more stable MTGS startup/shutdown system.
Fixed a bug where the emulator would become unstable if any plugins failed to init when starting a game. Users can now safely change out to a working plugin and try again without having to completely restart the emu anymore.
Ported MTGS code into pthreads and added linux-equivalent functions for missing InterlockedExchanges.
rev 373: New "nothing" button in speedhacks.
rev 372: Removed 2 obsolete hacks / gamefixes.
rev 371: Mostly unbreak Linux 64 and debug builds, though it still needs more testing. (With thanks to Jake)
rev 370: Apply some of the changes from r367 to Linux and 64 bit versions. Also add a ´Normal´ button to the (Linux) speedhack dialog.
rev 369: Added a few things previously missing from the EE/IOP reset code. Resetting games and the BIOS should be a lot more stable now.
rev 368: Fixed a minor bug in the psx counters that would have prevented Counter 1´s vsync gate from operating. I don´t know of a single game yet that uses IOP counter gates, so it probably won´t affect anything anyway. ;)
-Updates to the configuration dialogues
-Removed Fastbranches hack
rev 366: Oops! I accidentally left in a debug logging option in the last revision that would cause the pcsx2 console to be spammed 60 times a second in Debug and Release builds. >_<
rev 365: (no functional changes) Many code cleanups of the MTGS, and removed the PCSX2_PUBLIC define. I was stupid when I created it and didn´t realize the PCSX2_DEVBUILD define is basically the same thing.
rev 364: Made the MTGS run ~4% faster.
Important Info for Dual Core users only: This is MTGS only, and does not apply to DualCore mode. Additionally, basic MTGS mode is now as fast or faster than DualCore mode for many games.
- Improved the Frameskip and VUskip algorithms. Frameskip should no longer ´liberally´ skip frames for no good reason, and is now a bit more efficient for games that run "on the cusp" of full framerate (the old code would actually throttle the skipped frames to 60 fps, reducing the effectiveness of the skips).
- Changed the vRender/vBlank ratios back to 50%. Even though 75/25% should be more correct, many games run better with 50% (I´d love to understand why someday!)
- Rolled back EE_WAIT_CYCLES to 512 since there are still sync issues (but they aren´t IOP this time! It´s to do with the COP0 instead)
rev 362: EE Interpreter is (mostly) fixed now.
rev 361: Fixed a bug in the MTGS that caused very sporadic bad packets and crashes in some games.
rev 360: Better fix for the broken savestates in the previous version. NOTICE: Savestates created with r359 will *not* work and will *never* work in
the future (they are effectively bugged). All other saves created with any previous versions of pcsx2 playground or pcsx2 0.9.5 should function properly
rev 359: Some updates by Jake and 2 lines from me, hope this fixes savestates. Please test guys :)
rev 358: Fix for custom frame limit crashing pcsx2 on startup. Thanks to tmkkmac for spotting it ;)
rev 357: Small cleanup, thanks to the MTGS rewrite the optimize pragma isn´t needed for PGO anymore.
rev 356: Revert the bit of r326 that I believe was actually causing the Linux issues. (Should negate the need for 354 & 355.)
rev 355: Oops. Comment out debug message I left in.
rev 354: Horrible, nasty workaround to the Linux cpu sseMXCSR bug.
rev 353: Fixed the fix from rev339 (I hope) :p
rev 352: Applied patch from Issue 43 - GIF_LOG had bad/outdated calls for Reads.
rev 351: Fixed a dumb bug on my part that caused some games (FFXII) to crash when loading savestates.
rev 350: Fix latest Linux compile breakage.
rev 349: Resolved random crashing in MTGS modes, and added some handy debugging items to the MTGS code along the way.
rev 348: Even if it is broken, lets make the 64 bit build compilable as well.
rev 347: Fix compiling on Linux.
rev 346: Set cpuTestTIMR to be called every branch again, and made some tweaks to the MTGS code. These changes *appear* to fix Final Fantasy crashes in r345.
rev 345: New EE/IOP synchronization system -- found the root cause of many synchronization problems by issuing an IOP branch test after BIOS calls. That allowed me to get rid of the overly complicated adaptive EE_WAIT_CYCLES mess from r291 and replace it with a much cleaner and more efficient branching system. Also fixed a few bugs where-by the IOP would run waaaay ahead of the EE (leading to skippy sound, slowdowns, other things), and also a bug that caused crashes when resetting or starting new games.
Note: New IOP Counters code is a Work-in-Progress. Should be fine for most games, but if a game uses the IOP counter gates it might break. Will finish them soon!
rev 344: More MTGS improvements and cleanups. I actually changed some of how the MTGS ring buffer is managed this time, so it might introduce some bugs (lets hope not!).
Removed the SPU2timestretch auto-enable/disable code. Also added checks for frameskipping support to the F4 keypress (just in case).
rev 343: Clean up some nasty #ifdefs in a few functions, which involved somewhat of a rewrite of those particular functions.
rev 342: Revise the x84 / x32 separation on several functions so it´s more sane, remove an unneccessary def, and get rid of a bunch more places where variables were being assigned inside of if statements.
rev 341: Cleaned up some parts of the Multithreaded GS code (MTGS), and made some notes.
rev 340: Set a few of the IRQ handlers to __forceinline since they´re only called from one place (cpuBranchTest, psxBranchTest). Changed all uses of _inline to __forceinline as well, since _inline is a useless keyword [all modern compilers by default assume _inline status on everything].
Also a few code cleanups and fixme´s marking unused/unreferenced functions.
rev 339: "Fixed" the 2 games I have that suffer from the damage calculation bug by using the code of rpropMMI´s mult1. This fix isn´t final yet, but for the sake of testing... you know :p
rev 338: Update to bring this bug to attention. Finally found the bug that causes Soul Nomad damage calculations being wrong. I imagine it has a very high impact on game compatibility.
rev 337: Minor iCore.c changes. A few if/else statements are now case statements, a few compiler warnings are taken care of, a few variables are no longer assigned inside if statements, etc...
rev 336: Wee improvement to how the Win32 GUI handles Run->Execute. It´ll now resume the existing cpu state instead of starting a new one. The old code had a tendency to get desync´d because it didn´t complete the in-progress BranchTest execution (not good).
rev 335: Removed some redundant conditionals from the testINTC and testDMAC calls in the eeRecs.
rev 334: SPU2ghz: Fixed a memory corruption bug in the rolled back DMA write code. Hopefully this DMA write code will fix that bug without breaking Arc the Lad and similar games. //SPU2GHz update from this revision will be uploaded later//
rev 333: SPU2Ghz: Had to revert dma.cpp to rev244 for the most part. The dma cache system in DoDMAWrite() broke Arc the Lad dma audio. The auido starts to loop a bit in rev 264 and from there on it gets worse. Sorry for not finding this earlier, I hope the cache can get fixed so we can include it again.
rev 332: Changed the naming of the 2 SET_HWLOC´s to differentiate between IOP and EE.
rev 331: Turn a few defines into inlined functions, and remove a few unneeded comments.
rev 330: Comment out broken MTGS logging code. Disable Logging menu in Linux if not a devbuild. //corrected rev 327 comment//
rev 329: Reverted most changes from r326, the excessive code will get used later. Also removed some dead code that´s been in the eerec for ages.
rev 328: Minor Linux tweaks. Merge a patch in, make another easier to apply, and take a stab at the SpinButton issue...
rev 327: This should un-break the Linux build, yes some guys are using Linux! :p //this change affects windows version too - LIE; sry my bad, had too many tabs opened - I mistook changes from rev 327 with ones from 326; thanks for pointing that out, arcum42//
rev 326: A commit for review, there´s some unclear counters code. Also added a more precise NTSC vsync rate.
rev 325: Forgot this one, sorry :p
rev 324: This was supposed to be a bigger commit concerning loopy audio in Dawn of Mana FMV, but it looks like its not so easy to fix. So this here is some cleanup I did along the way
//SPU2GHz update from this revision will be uploaded later//
rev 323: Ok, so some people out there use windows, too. Fix pcsx2
on Windows... //lol´d//
rev 322: It´s log, it´s log, it´s big, it´s heavy, it´s wood...
rev 321: Bring the Linux Cpu dialog in line with the main project; Remove broken Linux vmbuild code.
rev 320: OMFG gigaherz is commiting something! RUN!
So rama made me notice the "sanity" checks on the TimeUpdate stuff, I read it, and it kinda scared me that it happily dropped the sync as soon as the audio was 0.002 seconds out of sync! I changed it so the "sanity recovery" code only kicks in when there´s over 0.1 seconds desync in clock numbers, which seems a LOT more reasonable.
rev 319: bugfix: Frameskip options in the CPU dialog didn´t save and load right. ( Issue 41 ) //gj//
rev 318: Match the Gui
changes in the last version in Linux, and clean up what gets sent to gcc a bit, so it doesn´t get the same flage multiple times.
rev 317: Big update; should fix most or all of the problems introduced in recent revisions. Extended summary follows:
New EE/IOP sync method: The EE can now "throttle" itself between high and low resolution wait cycles. High res cycles are engaged when certain time-critical ints and BIOS calls are done. Meanwhile, low-res mode uses much less cpu.
vs2008 project: Added a "PUBLIC" define to the ´Release (to Public)´ build type. It can be used to ifdef code that should only be excluded when creating official builds and releases.
Renamed INT() macro into CPU_INT() function. INT() is also a Win32 define so renaming helps alleviate confusion and lets VS IDE´s code database browser work better when trying to list references of the function.
Fixed some lingering inaccuracies in the EE h/vsync counters introduced at r246.
Removed the Use Fast Branches option (for now) as it´s not compatible with the new EE/IOP sync (yet).
Added fflush() to the emu log so that it doesn´t get cut off prematurely if the emulator crashes.
rev 316: Make Linux build compile, and mirror 32 bit changes to 64 bit.
rev 315: Added some compiler hints to help the IPU optimize a little better. It had several candidiates for forced inlining.
rev 314: Made a huge hack concerning the counter multipliers less buggy. Still needs proper fixing.
rev 313: Fixed the previous fix!
rev 312: Fixed bug where plugin configuration changes didn´t take effect until restart. Plus a few code cleanups.
rev 311: Remove some commented out code and inline a few defines.
rev 310: Include the svn revision in Linux, add an --enable-sse4, since it looks like it should have been in there, and disable the --enable-vmbuild flag, since I´m not sure it ever worked in Linux.
rev 309: Get rid of the worst of the defines in the Linux code.
rev 308: Replace half a dozen nearly identical functions with one in the Linux code.
rev 307: Port a few of the Windows cleanups to the Linux version, and correct a few warnings while I´m at it.
rev 306: Fixed some stack buffer overruns introduced by the new commandline options features in r294. They only happened when using one of the plugin override options (-spu or -gs, for example).
rev 305: SPU2ghz: Compiling without TortoiseSVN installed should work out-of-the-box now. The project will automatically fall back on the old-school behavior (no revision information inserted into the project info).
rev 304: SPU2ghz: XAudio 2 crash fix attempt, take #341. Action! *clip*
rev 303: SPU2ghz: Removing the Sleep() caused XP´s XAudio2 to crash again. But I found a note from Microsoft on one of their dev journals that said to put the Sleep() immediately after the FlushBuffers and before the DestroyVoice. Let´s cross some fingers and hope it works! (don´t you love beta libs from microsoft?)
rev 302: Ok, I lied. Here´s a fix. Linux is playable now. I´m going to bed...
rev 301: Make the Linux version compilable. It isn´t *usable*, but it´s compilable. I´m not sure I´ll have time to get it playable tonight...
rev 300: Reverted the IOP_WAIT_CYCLES since it was causing instability in some games. Eh, it was worth a try.
rev 299: Fixed bug in IOP counters.
rev 298: Removed Visual Studio 2003 project files > Obsolete
rev 297: SPU2Ghz: Commented out a Sleep() call in xaudio2. It made the GUI
not respond for several seconds when pressing escape to pause emulation
rev 296: SPU2ghz: Added quotes to the svnrev pre-build step; hoping it behaves better for users who have paces in the names of their project folders.
rev 295: Uploaded the new PathUtils.c file into the wrong location.
rev 294: Added a functional -cfg command line option (the help has listed it forever, but it never did anything).
Absolute paths via the command line or .ini file are supported now. That means you can specify "c:mystuffsomeplugin.dll" now without getting an error. Additionally, filenames with spaces are also supported. Pcsx2
now uses the working directory at startup to load the ini file, allowing it to be run from VStudio´s debug environment more easily. Expanded the console log depth to 2048. Plus many code cleanups and some extra error checking when handling strings and pathnames.
rev 293: SPU2ghz: Moved the svnrev additions to a new ´common´ folder which is shared by all projects (pcsx2
included). The common folder now includes the necessary utility, so it should build out-of-the-box now (no more path setup or program installs necessary)
rev 292: SPU2ghz: DLL
now "properly" exports functions. May fix some compilation/plugin detection problems? Plus another attempt at fixing the XAudio 2 crash-on-exit bug.
rev 291: Fixed stupid typo in r289´s EE counter that probably broke lots of things. Made a couple code cleanups of the IOP (no functional changes).
rev 290: Remove 2 SSE checks affecting Linux and 64 bit builds, respectively.
rev 289: Improved the EE/IOP counter optimization. It was causing branch tests to occur more frequently than needed.
rev 288: SPU2ghz: Fixed a couple rare odd-case XAudio2 crashes, and fixed a small glitch in in the over/underrun code when timestretching disabled.
rev 287: SPU2ghz: err... oops! This´ll stop it from crashing when you try to enter the PCSX2
plugin configuration screen.
rev 286: Fix non-dev builds.
rev 285: SPU2ghz: Rearranged the project files quite a bit. Solutions are now in the Plugins folder, and binaries are output to plugins/bin. This is in preparation for if/when we have more plugins as part of our repository, and will go hand-in-hand with a future change to how pcsx2
looks for plugins which should make
shared development a little easier for all of us (I hope).
I also deleted several *very* dated projects and solutions. They all still referenced FMOD, in fact, if it gives you an idea just how out-dated they were. New updated projects can be re-added in the future if a need still exists for any of them.
rev 284: SPU2Ghz: Fixed a problem in ADSR
handling as suggested by gigaherz.
rev 283: Few more SSE checks removed.
rev 282: Also removed SSE1 checks, see rev281 for explanation :p
rev 281: Removed support for CPU´s without SSE2. Now i know there´s the occasional AthlonXP user out there.. sorry. The SSE2 (and SSE1 too!) checks were very frequent and could´ve hurt performance a bit.
Note: This move was discussed with the team, we all support it.
Note 2: I tried very hard to avoid mistakes, but due to the many changes i could´ve overlooked something (especially in iR5900tables.c). I´d apreciate it if someone could look over the changes a bit ;)
rev 280: Applied the IOP counter optimization to the EE counters. Don´t expect any noticeable speedups though, since this doesn´t really affect the hsync/vsync counters which are the ones that end up doing 90% of the work. (but there´s always a chance that it´ll favor a game that likes to abuse the counters)
rev 279: SPU2ghz: Code cleanups, and conf now force-disable Effects Processing (for anyone who might have had it checked when Rama grayed out the option)
rev 278: SPU2ghz: Fixed potentially quirky volume handling in Linear Interpolation mode (quiet sounds would get cut off too soon or be completely inaudible). Also did a minor cleanup of the ADSR
rev 277: SPU2ghz: Reverted last change since it broke way more than it fixed. Will post another improved ADMA attempt later once I´ve got it figured out better.
rev 276: SPU2ghz: Fixed serious bug in AutoDMA code, basically it wasn´t working at all. Soul Calibur III //fixed to avoid misunderstanding// audio works now, and possibly many other games fixed too.
rev 275: SPU2Ghz: Disabled Effects Processing for now, you can still force it on via the .ini but it´s NOT recommended.
rev 274: Changed some GS-related #define macros into more type-safe inline´d functions.
rev 273: Revert changes in GS.h
rev 272: Break up the file structure of the Linux port a bit, to make it easier to make large changes.
rev 271: Convert Config.c & GtkGui.c to cpp. And remove a gcc 4.3 specific flag from my last commit.
rev 270: A few minor changes to GS.cpp & GS.h.
rev 269: Improved EE/IOP synchronization and also reduced the frequency of EE branch text executions (speedup!)
rev 268: SPU2ghz: Major optimization fix to the mixer code. VS2008 was not optimizing the MulShr32su function properly. It´s about 3-6x faster now. Also optimized the timestretch manager so that it can take full advantage of VC2008 SSE opts.
* XAudio 2 * Fixed potential crash bug on close (which only started happening after I upgraded my DXSDK).
rev 267: SPU2ghz: XAudio2 driver now initializes a 48khz output rate (was using the default of 44.1khz). This may help fix some of the XA2 crashing problems as well.
rev 266: SPU2ghz: Fixed DMA memory corruption bug introduced in r264 (and made the DMA code even faster!), and expanded SoundTouch´s working buffer by ~15ms (seems to help improve voice audio breakups when games slow down below 40 fps).
XAudio2 problems are still up in the air, as they may be related to version differences in DXSDK installations of people building the DLL
. Note to compilers: please update your DX SDK to the most recent version (Aug 2008) if you haven´t already.
rev 265: Nasty hack: Fix cpu detection on 32 bit Linux, by tricking the optimizer into thinking it needs the values of reg & ; which, in fact, it does.
rev 264: SPU2ghz: Re-optimized the DMA write code so that DMA writes don´t incur as much cache miss penalty anymore. Also made a couple minor tweaks to the timestretcher´s overrun handler (Which only affects people who like their games to run at 120 fps. ;)
rev 263 : Code cleanups for Linux builds (no functional changes)
rev 262: Fixes timings on PAL games. (no audio underruns after 15+ minutes of testing!)
rev 261: On Linux, when we say _forceinline, actually force it to inline.
rev 260: Fixes mild desync´ing in the IOP.
- Better IOP synchronization when using the X2 and X3 IOP hacks. Still not perfect, though (music may run a little behind or ahead of the games). I´ll look into it tomorrow first thing.
- IOP Counter optimizations. The IOP counter code now only updates counters actually being modified instead of blindly updating all counters.
rev 258: IOP Sync problems should be fixed now (yeah I said that 2 revisions ago too, I know). But this time I knew what to look for! spu2ghz stretch stats don´t seem to crap out now.
//btw this made my day:
"Comment by colepcsx2, Today (12 hours ago): Too many updates in one day people!!"
...with negative score to revision lol. Somebody got screwed hard by PP team with yesterday´s updates hehehe.//
rev 257: SPU2Ghz: Small change to underrun fill :p
rev 256: Reverted IOP_WAIT_CYCLES to 64.
rev 255: Last fix was ok, but this fix is better.
rev 254: Fixed a freeze up bug from r252. The IOP must run at least one branch test for every EE branch test, which was a problem with the extended-length IOP_WAIT_CYCLE.
rev 253: Clean up Patch.c a bit, and add a few fixmes to the code.
rev 252: Optimized the IOP´s branch test algo a wee bit.
rev 251: SPU2ghz: Removed SPU2ghz.aps since it´s a file generated by the client (it´s a VS2008 resource designer cache file, created when you open .rc files in the IDE).
rev 250: SPU2ghz: Cleaned up and optimized the SPU2write() code a bit.
rev 249: SPU2ghz: Added sanity checks to the XAudio2 driver, might be more stable now. If this doesn´t fix the crashing problems then I´ll have to look into making a special instance of spu2ghz.dll that dumps XAudio2 log data, and hope to solve it from that.
rev 248: minor update: in the CPU frame limiting dialog, i put a note that says F4 key switches the mode in-game.
rev 247: SPU2Ghz: Well, yet again another update from Jake.Stine :p This time around he improved the already great timestretcher to be even smarter. This and the fixed XAudio2 output module get even Vista users a near realtime sound. (Try a delay between 90 and 140ms). Read a bit more about this version in issue 31 :)
rev 246: Counters changes: reverted back to my counters code from svn241 and fixed the DMC1 bug as well as
alot of other stuff (including some of the problems Jake.Stine found out in Issue 32)
rev 245: SPU2Ghz: Adjusted default values for the worst case (Windows Vista... seriously, what did MS to the audio subsystem?) //MS ass-raepd it:P//
rev 244: SPU2Ghz: Lots of changes as described in issue 31, thanks again to Jake.Stine.
rev 243: reverted counters.c to official SVN´s code for now (my code was crashing Devil May Cry for some reason...)
rev 242: Cleanup various things g++ doesn´t like.
rev 241: forgot to change this...
rev 240: changed the counters algorithm again; some games didn´t like the algorithm from 228...
rev 239: Fix Linux compilation as of r237
rev 238: fixed some counters problems, should be more smooth and stable. one of the problems i´m having is that rcntUpdate() should be called more-often, but i don´t know where i should put it...
rev 237: Changed the Sleep() behavior as posted by Jake.Stine in Issue 29 . Improves smoothness in games running fullspeed, and lets pcsx2
use the cpu time it needs :)
(Note: You´ll see constantly 100% cpu usage now, but pcsx2
doesn´t do any "more" work.)
rev 236: Remove silly debug message I left in. :(
rev 235: Assorted cleanup on iCOP2.c, with a few minor tweaks.
rev 234: more counter changes. also found some cool speedhacks that i made into macros in Counters.h:
setting HBLANK_COUNTER_SPEED to ´3´, makes Kingdom Hearts II double FPS! (i was getting insane speed :p)
setting HBLANK_TIMER_SLOWDOWN to ´2´, makes God of War alot faster (FPS decreases, but game is faster)
the bad part is that setting one hack, makes some games faster, but other games slower. like HBLANK_COUNTER_SPEED makes KHII alot faster, but slows down God of War.
these 2 hacks are inverse to each other, so you shouldn´t set them both at the same time; and it depends on the game if it´ll run faster or slower.
because of the complex nature of these hacks, i´m not adding them to the speed hacks dialog. they also break the framelimiter... so use at your own risk!
rev 233: SPU2Ghz: More improvements and cleanup
rev 232: Small tweak to the auto-timestretch. It now turns off only after the game runs at stable fullspeed for a while.
rev 231: SPU2Ghz: Made the timestretcher automatically turn on/off based on game speed. This is possible thanks to recent changes by Jake.Stine :)
The way it works now, it makes it completely automatic for the user. If the buffers over/underflow the stretcher enables itself. Once it decides that game speed is fine again, it disables itself.
This works really great here, but please comment if it causes trouble for you.
rev 230: Hah! Since the last SPU2 update was so great I sent my local project files along the way :p
rev 229: Jake.Stine "completed" his work on SPU2Ghz, I tested a whole lot of games with this and it sounds great! Savestates work very well, the mixer is fast, even the dreaded buffer over/underflows are handled quite well (even without timestretch!).
All in all great additions which imo make SPU2Ghz the best SPU2 plugin to use now :)
rev 227: SPU2Ghz: Updated to include Jake.Stine´s latest work. Some issues still exist, but will be fixed soon. Also made the speedlimiter switch toggle timestretch for easier debugging and convenience :)
rev 226: SPU2Ghz: Disabled ZeroSPU2 compatibility mode for savestates. This should enable users to load savestates created with that plugin again. (compatibility mode was crashing too much)
rev 225: Fix the compilation break caused by a misplaced character in the last commit.
rev 224: Commit the patch listed in Issue 26, to fix compilation issues on some Linux systems, mine not included.
rev 223: reverted last counters change for now.
rev 222: counters.c optimizations
rev 221: Fix Atelier Iris 2/3 issue from r220, and devbuild issue from a few revisions ago.
rev 220: more accurate counters
rev 219: updated ZeroFrog´s change from the official PCSX2
rev 218: i think this was a big problem with freezexmmregs_()
rev 217: minor counters changes
rev 216: On Linux, use stdint.h for variable size if possible.
rev 215: Tweak the warnings a bit on gcc, so they don´t require gcc 4.3. :(
rev 214: Revert the windows project file, to prevent people from seeing how many 64 bit compatiblity problems pcsx2
rev 213: Assorted cleanup. Deleting and commenting out unused variables & code, and a few minor changes to the Linux code.
rev 212: Remove a few of the more irritating compiler messages, and clean up a few misc things on the Linux port.
rev 211: pretty sure this is what was meant. //see rev 209-211 comments for more info//
rev 210: Added "fixme" to some strange parts of code to find them faster.
rev 209: Comment out various code that appears to be unused.
rev 208: Working with real-time audio / buffers sucks :p Anyway, this gave me the least over/underflows. //SPU2GHz PP update//
rev 207: started working on Counters.c; still needs more work
rev 206: The arguments for fpuFloat, ClampValues, and Clampvalues2 really ought to have variable types... :)
rev 205: Cast to (uptr) rather then (u32) in various places where the functions were actually looking for a uptr. No difference for 32 bit systems, but a uptr is a u64 on 64 bit systems...
rev 204: Using this as a base now, it works very well for me. Thanks to Jake.Stine´s patch the plugin got a bit faster
I made a small mistake in the last 2 commits, its fine again. //SPU2GHz PP update//
rev 203: oO //SPU2GHz PP update//
rev 202: SPU2Ghz: Part one of a bigger update
rev 201: Change all occurrances of ´const static´ to ´static const´, to remove compiler warnings. //for linux. Windows version doesn´t care about it. At least VS does not give a damn about it while compiling. No release.//
rev 200: Last update for today, timestretch needs one more addition, then its perfect. The soundbuffer can (rarely) over/underflow (loop) and throw of the emergency stretch calculations. Will fix that soon
//SPU2GHz PP update//
rev 199: Turn on lots of compiler warnings, and get rid of some deprecated conversion from string constant warnings. (I´ll probably be doing more commits based on these warnings in the future...)
rev 198: A bit more work on SPU2Ghz. Removed old code, made timestretch code a bit more clear, etc.
rev 197: Add zerofrogs changes from the official svn, r393: changed qword to xmmword to fix gcc errors on newer distros //fixed typo in rev description//
rev 196: SPU2Ghz: Reverted a last-minute tryout in the output buffering, it broke more than it fixed.
rev 195: commented out some code i´m pretty sure isn´t needed. please report if any games break with this revision. (i don´t think any will)
rev 194: fixed some bad VU1 opcodes (some opcodes didn´t even return the correct register, so the correct result would end up in the wrong reg lol) also cleaned up some DMA code a tiny bit, and added FreezeXMMRegs() where it was needed.
rev 193: Adjusted spu2ghz project file (vs 2008)
rev 192: Added SPU2Ghz to the repository
rev 191: Fix a few spelling errors, make the Ok and Cancel buttons consistant in appearance on the gtk port, add some preliminary code for two dialogs, and get rid of the abomination that is a global variable named ´Window´.
rev 190: changed the functions 64bit was having trouble with, to be the same for 64bit and 32bit without using the 64hack macro. not sure yet why part of ADD32ItoM() was breaking 64bit, so i just commented that out.
rev 189: Change a few things in ix86.c to the way they were originally *if* you are running the 64 bit version. I´ve marked what each section breaks, if rama wants to look at it. I also fixed up the indentation in the file...
rev 188: Fix commit r186. Two header files weren´t under version control, so didn´t come over. :(
rev 187: Bring the changes made to iR5900-32.c over to iR5900-64.c, as well as correct an annoying typo. (Note: I suspect some of the non-playground changes aren´t in sync either, but I haven´t really had a chance to look at those).
rev 186: Add the Game Fix, Speed Hack, and Advanced Dialogs to the Linux port.
rev 185: this should fix Dark Cloud 2. please comment if it does/doesn´t work :p
rev 184: Magna Carta fix is now a toggable gamefix, since it broke Crash Bandicoot.
rev 183: fixed some potential EErec problems.
rev 182: formated and cleaned up counters.c a little bit.
rev 181: added some code to make the magna carta fix configurable by the macro SUPERVU_VIBRANCHDELAY2. when SUPERVU_VIBRANCHDELAY2 is defined, it uses the old way (the method that breaks Magna Carta) this is just for easier debugging.
rev 180: small mistake, my bad :p //wiki update//
rev 179: The intro sounded a bit like we rewrote all of the emulator. Until we actually do, its now a bit more honest
Also added a 4th FaQ. //wiki update//
rev 178: Just a reminder that counters don´t work 100% yet.
rev 177: Created wiki page through web user interface.
rev 176: Magna Carta now works. Please report if you have any new bugs with this.
rev 175: the document i was reading had incorrect information for the ORI opcode (said it should be a sign-extended immediate, but its really supposed to be zero-extended) took me hours to figure out the problem ><
anyways, I fixed the opcodes correctly...
rev 174: :O //don´t ask...//
rev 173: some EE rec and interpreter opcode fixes. theres still some possible problems with the rec opcodes, not sure how i´m going to fix it yet. anyways, should be alot better than it was before.
rev 172: very-minor spelling mistake change :O
rev 171: minor fpu changes
rev 170: some fpu interpreter changes...
rev 169: made the code i commented-out in r167 work correctly. games that had problems when the "disable underflow" speedhack was left Un-Checked, should now be fixed.
rev 168: nasty error... i was clamping incorrect reg-vectors in recUpdateFlags(), so this could have caused problems...
rev 167: commented out some code for now. now, i know why leaving "disable underflow speedhack" unchecked sometimes breaks games.
i´ll have to fix it later, but for now the speedhack is always on (this is more compatible)
rev 166: according to psxAuthor, branches wrap around when the result is less than zero; so i´m trying this. should fix some possible graphic problems/errors caused by incorrect VU branch addresses...
rev 165: forgot to change this...
rev 164: fixed possible allocation problems...
rev 163: fixed some possible allocation problems... Fixes rockstar games that were broken in the last revisions..
rev 162: very minor change...
rev 161: reverted something i commented-out along time ago.
rev 160: re-recoded the VU div opcode lol. now its more efficient, faster, and 1/6 the size :D
rev 159: fix for last revision.
rev 158: some cleanup... this file is a mess...
rev 157: optimized some retarded code...
rev 156: Corrected a bug in a memory write function. Thanks to drk||Razi for spotting this one.
rev 155: should fix x64 build compilation problems...
seems iR5900-64.c is pretty much a copy of iR5900-32.c just with a few x64 specific changes... so any code-change made to iR5900-32.c will have to be mirrored to iR5900-64.c... sigh pretty annoying...
rev 154: minor change: lets x64 build use FPU interpreter if the processor doesn´t
rev 153: major code clean-up for FPUs, removed alot of old/useless code, and organized stuff better. trying to clean-up pcsx2 a bit..
*note: FPU reg caching is always on now; which means you need a SSE processor to run the FPU recs, if not it will just run the interpreter code instead (not really a bad thing, the int-code isn´t much slower)
rev 152: minor fix for linux. btw, we have a new member on the team, drkIIRaziel
he´s one of the author´s of nullDC (a dreamcast emu) so this is good news :p
rev 151: One more inline hint and (hopefully) fixed Linux (again :p)
rev 150: messed around with some DMA functions, might fix DMA errors. GIFdma should also be faster, since now it only freezes MMX and XMM regs when it needs to. also did some very minor code cleanups.
p.s. GIFdma() is a mess, it needs to get cleaned-up in the future.
rev 149: more inlining hints, more speed :)
rev 148: forgot those
rev 147: SSE opcodes now all inlined. Changed all new inlining hints to _inline.
rev 146: Modified opcodes headers and files so all functions use __forceinline now. This brings a nice, free speedboost of about 5% in all games :)
rev 145: Changed pDsp so it *should* compile fine under Linux. (Can´t test this :p )
rev 144: better x64 fix //this also affects regular version//
rev 143: -Odd bug on PsxHw.c
-Added "FreezeXMMRegs" before recompiling psx code in places that had that
missing. (Fixes x64 builds a bit)
rev 142: Converted 64bit VS2k5 project files to VS2k8 and put the same optimizations as in the 32bit version.
rev 141: reverted last revisions to prevent possible syncing problems/crashes.
rev 140: The last update was too aggressive, some games didn´t save states anymore. This does nearly the same, but saves work again.
rev 139: Commented out gsWaitGS() code, which stops and syncs the gs when loading/saving savestates and also when some Vif counter is (supposedly) too big.
This helps regain audio after loading a savestate with ZeroSPU2 and a few games run faster (Dragonquest 8, Dawn of Mana, Final Fantasy 12).
rev 138: speedhacks now have "compatibility" and "speed" profiles to help avoid confusion.
compatibility mode: most games will work with this setting. speed mode: fast settings, will break games.
some games will still require manually tweaking the hacks. GT4 for example needs "Extra VU Overflow Checks" (greyed checkbox) but the majority of games should work with "compatibility" mode. there are also some odd games that will work better with "speed" mode, Rogue Galaxy for example.
anyways, hopefully these profiles will help avoid confusion.
rev 137: took me a while, but i managed to do some nice recupdateflag() optimizations :D
rev 136: minor change:
some "vu overflow checks" were only being called when "disable extra vu flags"
was disabled. the 2 speedhacks should be independent of each other.
rev 135: minor change: small optimization and fixed a typo.
rev 134: Corrected the UpdateVSyncRate functions to properly set a NTSC framerate of 59.94fps. When framelimiting is enabled on NTSC games, the SPU2 plugin now does not need to stretch constantly.
rev 133: very minor changes
rev 132: minor FPU changes
rev 131: Rule Of Rose now works with the FPU recs :D
rev 130: changed the way the slowdvd gamefix works. the slowdvd hack makes dvd reads at 1x instead of 4x speed. this is untested, i think it should help TOA just like the old method.
rev 129: Better "Slow DVD" hack. Now fixes ToA and Digital Devil Saga (one video only though :p)
rev 128: "Fixed" the slow FMV in games that use cd-read, also Xenosaga´s Intro FMV works again.
Note: dvd and cd readspeeds are not emulated correctly. Needs more fixing.
rev 127: ugly error, pcsx2 was reading cds as dvd´s sometimes. so it was reading them 9x faster than it should be lol.
rev 126: optimized the cd-read algorithm by removing extra un-needed variables.
it still does the same thing though :p
rev 125: minor change.
rev 124: fixed a possible zerorec branching error.
rev 123: Added hacks to VU interpreters, only accessible via source.
Note: these hacks are more like a reference, they help show what makes
interpreters so slow.
Most games break with these enabled, but my testing game is fine. Speedup in it
is about 30%.
Note2: I´ll remove these hacks, once interpreters are fast enough.
rev 122: small problem that always bugged me..
rev 121: some changes, should be a bit faster with "disable extra VU flags" checked
rev 120: different way to fix the pcsx2.ini crash.
rev 119: added default button to advance options dialog
rev 118: Fixed the pcsx2 startup crash when no pcsx2.ini is present.
rev 117: minor changes
rev 116: minor VU changes
rev 115: some VU changes
rev 114: Added a Tales of the Abyss gamefix "Slow DVD access", which fixes most of the
Note that the game still hangs from time to time, but its better now :)
Also fixed the hdloader hang when reading the DVD "TOC". Games can now be
installed on HDD.
rev 113: one more try for the Esc Hack.
works perfect with GSdx DX9. Fully exits fullscreen/windowed GSdx, and console.
(make sure you uncheck Lilypad´s ESC hacks!!!)
if it doesn´t work with dx10 gsdx, then just don´t use the hack. i don´t have
vista to test out the problem.
rev 112: this might fix ESC-key hack for vista users.
rev 111: tekken 5 works again with the gamefix.
that game is really picky :/
rev 110: added ESC-key hack by request (turn it on/off from the speedhacks menu)
turning it on lets you fully exit PCSX2 when running in fullscreen (so you don´t
have to press alt+f4)
rev 109: mostly some VU changes.
rev 108: fixed some errors from the last version i submitted, and also added extra
clamping support to the remainder of the opcodes.
the extra clamping i´ve been talking about is only enabled when you have Extra
FPU Overflow Checks On (when the FPU speedhack is grey).
rev 107: more FPU opcodes have extra clamping support.
just a few more FPU opcodes to go.
i also realized that VU extra clamping needs more work. i´m hoping this is where
God of War´s SPS comes from, i´ll start coding it as soon as i finish the rest
of the FPU opcodes.
rev 106: minor FPU changes
rev 105: Fixed tlb build in vs2k8, it had SSE2 compiler optimizations on. Very bad idea
rev 104: fixed the way the VU´s check for overflow in recUpdateFlags()
i would like to continue coding, but i have to study for an exam hehe :p
rev 103: forgot to change this :O
rev 102: found out why GT4 needed the hack, and fixed it correctly
no need for the Gamefix hack anymore :p
rev 101: more FPU opcodes have extra clamping support.
rev 100: some more FPU rec changes.
rev 99: recoded the FPU div opcode to set correct flags.
i thought this would eliminate the need for the GT4 hack, but sadly it didn´t
fix the problem.
rev 98: Small modification to the run sub-menu
rev 97: Small visual tweak to gamefixes dialogue, by Cole :)
rev 96: added a Tekken 5 fix to the gamefixes dialog thanks to rama finding the problem.
i also tweaked the GT4 gamefix a bit.
note: i haven´t tested the Tekken 5 fix. plz comment if it doesn´t work.
rev 95: recoded some more FPU opcodes, and added 2 new speedhacks: "disable extra VU
flags" and "disable extra FPU flags".
in the PS2, certain "flags" are set to indicate different statuses. There are
flags for overflow, underflow, invalid operation, divide by zero, is Zero, is
some of these flags are rarely checked by games; so what these speedhacks do is
not perform the extra code for flags that are rarely used by games.
rev 94: minor change suggested by intellect :p
rev 93: starting to recode the FPU rec opcodes to set correct flags.
rev 92: fixed something from the last revision.
rev 91: some more optimization
rev 90: This is still faster, please do some benches before recklessly reverting, k? :)
rev 89: minor fix, thanks again to intellq
rev 88: okay this took me a while, but i managed to make stuff a bit more organized.
-New "Advanced" dialog handles all CPU/VU roundmodes, denormals are zero, and
flush to zero options.
-Moved GT4 and GoW hacks to the "GameFixes" dialog.
-"Disable Underflow Checks" no longer controls DaZ, since the "Advanced" dialog
if you guys don´t know what to do in the Advanced dialog, just leave it at the
defaults (its called advanced for a reason :p)
Note: if you use Patches to change the roundmode, it will override the roundmode
set in the Advanced dialog.
rev 87: i accidentally deleted this line; thanks intellq!
rev 86: some roundmode fixes
rev 85: reverted some stuff for now, this should fix what r79 broke.
plz comment if it doesn´t fix the problems.
rev 84: optimized vumicro a bit.
rev 83: minor update to the game fixes dialog
rev 82: New "GameFixes" dialogue. Its intended to remove the need for patches.
This is my first dialogue, so please bear with me, k? :p
rev 81: vufloat2 is slower then vufloat.
Since both do the same this here helps speed ;)
rev 80: A few optimizations to ivumicro stuff
rev 79: modified the Check Overflow speedhacks.
now we have "disable VU Overflow checks" and "disable FPU Overflow checks".
they both do the same thing, but one is for the VU recs, and the other is for
the FPU recs.
heres how they work:
when Unchecked, pcsx2 performs overflow checks normally.
when Checked, pcsx2 doesn´t perform overflow checks, and thus gains a speed
when Greyed, pcsx2 performs additional checks which helps stop SPS (spikey
polygon syndrome; i.e. messed up polygons on screen)
Note: FPU recs need some work, they´re not setting correct flags. I´ll probably
implement this by the end of the week. Hopefully it will fix some games that use
rev 78: minor change, shouldn´t affect anything.
rev 77: my mistake; this should really fix it :p
rev 76: this should fix the roundmode patches crash introduced in r75... hopefully :p
rev 75: fixed a bug when using the "roundmode hacks" by patch files.
rev 74: modified the Denormals speed hack; now its "disable underflow checks".
-leaving it unchecked makes PCSX2 handle underflow like the real PS2 does.
-checking it disables underflow checks and is a bit faster.
-making it "grey" sets the DaZ flag, which is what causes the big speedup for
the funny thing is that leaving it checked (black) sometimes fixes games (fixes
minor graphic corruption in Initial D: Special Stage)
so try experimenting with it on/off/greyed to see if it fixes graphics for your
also, you no longer have to restart PCSX2 for the DaZ hack to work :p
rev 73: changing this back, since it wasn´t what caused GTA:VCS to break.
rev 72: okay GT4 should work fine now (for real :p)
there was a bug in my RSQRT opcode that messed up the game, i just reverted it
anyways, remember you need to check the Extra Overflow + FPU Clamp Hacks to run
rev 71: okay changed what the GT4 speedhack does.
use the Check Extra Overflow + FPU Clamp Hack when running GT4!
i might be able to fix the code to not need the hack in the future; but its
going to take some major changes :p
rev 70: forgot to revert this.
rev 69: this might fix a GTA:VCS crash
rev 68: reverted some minor changes;
note: SVN r4 is what breaks 64bit Linux builds, not entirely sure what the main
when reverting some files in the x86 folder, games semi-work on x64 linux, but
then crash at one point.
they also crash on x86 windows when reverting those files, so this needs some
rev 67: fpu´s RSQRT now has pre-opcode clamping if you enable Extra Overflow Speedhack; and fixed some stuff for linux GCC compiler, thanks Shanoah!
rev 66: Rockstar games shouldn´t have SPS anymore; also added 2 game-specific hacks, one for God of War, and one for Grand Turismo 4
the God of War hack brings back the SPS in the Rockstar games; so only turn it on for God of War.
hopefully we won´t need these hacks in the future, once stuff is handled properly :p
rev 65: Changed small logging code to something a little nicer :p
rev 64: -Added some checks to logs in various files so it can now be disabled in release to public builds.
-Disabled logging per default in those.
rev 63: Changed the "align" parameter from 0 to 1, since the docs say it has to be aligned.
rev 62: changed another opcode that might´ve had an allocation conflict...
rev 61: fixed the mgs3 missing texture bug! i think Dawn of Mana´s minor-texture problems are gone now as well
i´m still not entirely sure why the old code didn´t work, most-likely conflicting reg-allocations...
i might have to check some more opcodes in case they also have the allocation problems :x
rev 60: minor change
rev 59: reverted and changed some stuff that was causing compiling problems for linux; thanks again to Shanoah
rev 58: fixed some syntax errors that were causing Linux compiling problems; thanks shanoah!
i think theres still some more syntax bugs though...
rev 57: minor change, commented out some SysPrintf()´s on some VU Opcodes.
rev 56: optimization for the clamping methods in the FPU recs. ClampValues2() was using a hack to make infinities always become positive; the new code doesn´t do this since the real ps2 doesn´t do it.
rev 55: minor fixes
rev 54: some odd code on ir5900-32, and small cleanup
rev 53: Whops, this wasn´t supposed to be on the svn :p
rev 52: Added an optional "Enable / Disable timestretching" plugin interface.
If used correctly on a SPU2 plugin, helps to improve audio quality.
(At fullspeed the game shouldn´t require timestretching)
rev 51: dawn of mana didn´t like the clip optimization for some reason :x
rev 50: fixed a problem with VU CLIP, and optimized it a bit as well.
rev 49: Oh well, the new cdvd timing code breaks Shadow Hearts videos ><
rev 48: fixed a typo
rev 47: flush to zero will now only be enabled with the Denormals speed hack
rev 46: fixed some extra-overflow checks
rev 45: used vuFloat2() instead of vuFloat() where i could; should get a speed boost
rev 44: optimized vuFloat() a little bit...
rev 43: a few changes, some stuff is more optimized.
rev 42: Reverting the vufloat speedup
rev 41: Works this way, and is quite a bit faster
rev 40: recoded RSQRT opcode.
rev 39: optimized SQRT opcode a bit
rev 38: minor casting fix
rev 37: finally finished that monster opcode lol :D
rev 36: Loading times go overboard on some games :/
This will need to be a special game fix then, will do it later
rev 35: Another DIV update; this opcode is taking forever lol
rev 34: Finally found some decent values for cdvd timing, toa and dds work better
rev 33: another big update for the div opcode; still not done, but the stuff thats left only happens maybe 1% of the time.
rev 32: another update to the Div Opcode... still not done :O
rev 31: Bad casts on counters
rev 30: few more updates to the div opcode...
rev 29: almost done with the vu div opcode :p
rev 28: That couldn´t work :p
rev 27: More overflow checking made optional
rev 26: changed some overflow stuff.
rev 25: rama didn´t like Exiting with esc key :p
rev 24: a few fixes, and half-way done with the vuMicro DIV opcode.
rev 23: ^^
rev 22: hmm i found a way to speedup vuFloat() a bit; DMC1 went from 24 to 28 fps hehe... hopefully this doesn´t break games.
rev 21: small update; the next update should be a big one :p
rev 20: A few small lower opcode fixes/optimizations; Also aligned text in Speedhacks dialog to show correctly on my PC :p
rev 19: -New cdvd code by gigaherz + Tales of the Abyss fix (all commented out still)
-Removed non-used variable from counters.c
-Added a "restart emu" remark on the DaZ speedhack dialogue, since thats needed (oO)
rev 18: small change; might fix something :O
rev 17: fixed up some allocation errors in recUpdateFlags()
rev 16: finally completed recUpdateFlags() to fully support underflow/overflow checks; theres still some room for optimization that i might do later though.
rev 15: a few small optimizations and changes for the VU recs.
rev 14: updated this file to match zerofrog´s minor-change in the official sourceforge
rev 13: Fixed some lower VU micro instructions; mostly flag checking stuff...
rev 12: some small changes
rev 11: more ivumicro stuff, and a dialogue misunderstanding i had ^^
rev 10: Few tweaks to ivumicro, needs checking!
rev 9: A few more tips on the speedhacks
rev 8: eh looks like rama had more recent versions of these files too. so i´m reverting them. hopefully i didn´t miss anymore files :(
rev 7: some of the files i committed had old data; reverted a few files, and fixed others to include the data i was missing.
rev 6: Stuff that was changed:
- Fixed up pcsx2_2005.sln to not give errors for missing plugin files.
now exits properly with ESC key and GSdx :p
- Updated my VU Skip to the latest version I had.
- Added/Modified alot of speed hacks.
- Added a few SSE and x86 instructions coded by DiablosOf.
- Working on VUs: Added some code that fixes SPS in some games, but runs slow. Turn off this code with the speedhack "Disable Extra Overflow Checks" to get back the speed.
- Also regarding the VU´s, it seems MGS3 doesn´t like something I coded. But I´m not sure what it is yet; hopefully I´ll figure out the problem ^^
- Some other minor changes I probably forgot to mention :p
rev 5: Added cottonvibes vu and frameskip, also removed the annoying dvd read messages :p
rev 4: Lots of updates, mainly fixes for warnings, but also some optimizations
rev 3: removed plugins from the 2k8.sln
rev 2: Copied over the files from pcsx2
rev 1: Initial directory structure.
rev 403: change to allow compilation on latest linux. Only tested on xubuntu 8.10, 32 bit so far.
rev 402: updated GSSoft code to compile to help developing fpsbios under a virtualbox
vm. Does not work properly yet, but it compiles under xubuntu 8.10. Only useful for devs.
rev 401: Moving pcsx2v2 to branches
rev 400: Moving old pcsx2
src to tags
rev 399: -
rev 398: Using standard SVN folder structure
rev 397: -
rev 396: more asm fixes
rev 395: - //SVN moved to http://code.google.com/p/pcsx2
rev 394: !ZeroSPU2 update!: compilation problem
rev 393: changed qword to xmmword to fix gcc errors on newer distros
rev 392: got rid of abs error
rev 391: -
rev 390: commenting out unneeded rpsxBASIC
[ PS2 Emus
][ PS2 Plug-Ins