Commit Graph

10402 Commits

Author SHA1 Message Date
Jake.Stine 6583b1623b Linux: Experimental fix for exception propagation out of the recompiler; this version is based on the theory that the cause is GCC optimizing out exception handling because it sees the inline asm "call DispatcherReg;" as a no-throw(). So I removed the asm and replaced it with a direct C++ invocation. This should work since the new rec never exits except via catch() clauses anyway, so pushing/popping clobbered registers isn't needed.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1973 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-10-07 02:44:37 +00:00
arcum42 8de443878a Don't believe we really need an xml parser in pcsx2. I've moved it to 3rd party, in case we want it at some point. Removed the xml loader code as well.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1971 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-10-06 10:22:52 +00:00
arcum42 436638af5b Still doing register stuff.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1970 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-10-06 09:08:36 +00:00
Jake.Stine ed444cb876 More MSVC/Win32 buildsystem fixes: Made is so you can now optionally unload all 3rdparty libs (after building at least once!) and still build the rest of PCSX2 and plugins without linker errors. This is useful for reducing the memory overhead of working in the MSVC IDE, and reduces the size of the .ncb file and the bugs that come with it.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1969 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-10-06 01:52:22 +00:00
arcum42 6a52fa119d More Vif register stuff.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1968 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-10-05 21:24:22 +00:00
Jake.Stine 036004d9cf Win32: Improved batch files for clean_msvc and preBuild, using %~dp0 to fetch the folder/location of the command script.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1967 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-10-05 20:20:54 +00:00
Jake.Stine eff929cf09 Minor buildsystem changes (remove some warnings and add function level linking option to all 3rdparty libs)
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1966 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-10-05 14:40:46 +00:00
Jake.Stine 278d43a5a7 Fix win32 compilation error, and fix Linux FMVs and (hopefully) some segfaults too, likely caused by not saving EBP.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1965 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-10-05 12:04:19 +00:00
Jake.Stine b71b837efa Linux: Added more correct __asm__ qualifiers and conditions; including __volatile__ on a lot of asm code (it should really be the default behavior and non-vlatile the specifier, but whatever >_<), and added register clobber specifiers. Might help unbreak some of GCC 4.4's optimization problems, although VIFdma's uber-hack SSE optimization looks like a real problem.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1964 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-10-05 11:05:11 +00:00
arcum42 a8b55baa38 Fix Linux. (While things in [] in inline assembly in gcc may look like variable names, they are actually labels that I've set to look like the variable names to ease readability. Unfortunately, labels can't have periods in them...)
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1963 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-10-05 10:58:38 +00:00
cottonvibes fbd1268e64 Added a gamefix that should fix the messed up camera views in Gundam games like "Mobile Suit Gundam Seed Destiny: Rengou vs. ZAFT II Plus" and the other ones that had this problem.
No need to set roundmode to nearest anymore, just use the gamefix.

also i think i also have to add this fix to iFPUD.cpp stuff, i'll do it tomorrow.

btw, this fix is untested because i don't have the time today to test it w/o working saved states.

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1961 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-10-05 06:25:56 +00:00
Jake.Stine 75d3c053ef Two minor cosmetic fixes from the __aligned switchover.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1960 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-10-05 02:25:54 +00:00
Jake.Stine 6412271470 Renamed PCSX2_ALIGNED to __aligned and removed the need for excess parenthesis and oddball qualifiers. Left the old macros in Pcsx2defs.h for now, just in case. Redid some of the storage organization of microVU and iFPU consts and temporaries while I was at it, using structs instead of naked vars -- should improve cpu cache behavior a wee bit.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1959 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-10-05 02:15:49 +00:00
Jake.Stine 5b92054923 Better fix for zmuldefs. Less warnings in MSVC and GCC both. :)
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1957 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-10-04 21:49:23 +00:00
Jake.Stine 4f6d7ca776 Linux: We don't need no stinkin' muldefs! (fyi, turns out the solution was to use the "inline" keyword on class member prototype definitions, yes that simple -_-)
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1955 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-10-04 20:28:08 +00:00
arcum42 291be6bc60 Minor fix to r1953.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1954 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-10-04 20:20:50 +00:00
Jake.Stine e1c89dacdb Bind the cdvd's newDiskCB properly when changing CDVD sources; and more jASSUME->pxAssert change-overs.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1953 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-10-04 15:34:40 +00:00
Jake.Stine db01c15977 Linux: Minor fixups!
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1952 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-10-04 09:00:07 +00:00
Jake.Stine 8ba39b71de SPU2-X: Fix CDDA playback, which got broken a few revs back; and remove regression test code (ReadInput is pretty well confirmed to be good now, anything still broken is because of something else).
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1951 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-10-04 08:47:43 +00:00
Jake.Stine 653d09e821 Lots of new code maintenance stuffs:
* Completely new assertion macros: pxAssert, pxAssertMsg, and pxFail, pxAssertDev (both which default to using a message).  These replace *all* wxASSERT, DevAssert, and jASSUME varieties of macros.  New macros borrow the best of all assertion worlds: MSVCRT, wxASSERT, and AtlAssume. :)
 * Rewrote the Console namespace as a structure called IConsoleWriter, and created several varieties of ConsoleWriters for handling different states of log and console availability (should help reduce overhead of console logging nicely).
 * More improvements to the PersistentThread model, using safely interlocked "Do*" style callbacks for starting and cleaning up threads.
 * Fixed console logs so that they're readable in Win32 notepad again (the log writer adds CRs to naked LFs).
 * Added AppInit.cpp -- contains constructor, destructor, OnInit, and command line parsing mess.

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1950 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-10-04 08:27:27 +00:00
Jake.Stine 638740b53d Win32 build system:
* 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
2009-10-03 16:51:27 +00:00
Jake.Stine 4efb1ed9ca Added some DebugBreak generation (INT3 / 0xcc) to the PsxRec, for catching null pxsRegs.pc assignments from the recompiler (enabled in DEBUG builds only). These are usually more context-useful breakpoints than the assert() check in psxRecompile.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1948 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-10-03 13:36:19 +00:00
Jake.Stine 910669f937 SPU2-X: Fixed some more major bugs and typos; most sound *should* be working again now. Added a hackfix for a crash in the BIOS cased by what *should* be correct handling of IRQAs.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1947 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-10-03 13:32:23 +00:00
gigaherz d386ce0ac6 Just a tiny cosmetic change in the plugin name string.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1946 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-10-01 15:24:28 +00:00
gigaherz bdb20ebe29 Unbreak Debug too.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1945 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-10-01 15:21:09 +00:00
gigaherz 4f19b1036d Fix error on release build.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1944 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-10-01 15:04:48 +00:00
gigaherz 0672d6c00b Remove custom settings from the vcproj which were already globally defined in the vsprops.
Fix a silly bug too, and silence a warning.

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1943 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-10-01 15:01:15 +00:00
gigaherz 7dde0087ad Properly add the project stuff so it "fits" with the build system used on all the other plugins.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1942 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-10-01 14:21:40 +00:00
gigaherz 985dd97aad Whoops missed 2 files.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1941 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-10-01 14:21:00 +00:00
gigaherz c440e41859 Undo my little mess. Fix it next commit
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1940 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-10-01 14:20:18 +00:00
gigaherz b6a19e6b2c Bring in cdvdGigaherz (step 1).
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1939 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-10-01 13:40:22 +00:00
arcum42 941296b63c Fix Dualshock.h on Linux.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1938 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-10-01 10:12:39 +00:00
arcum42 a45be47bea Fixed SPU2null.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1936 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-09-30 20:08:00 +00:00
Jake.Stine 0b027385b0 GIFpath: Making a note about the BIOS using the packed register address 0x7f, and disabling logging for that address, since it spams.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1935 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-09-30 12:35:40 +00:00
Jake.Stine 7b800cf290 wxWidgets (Win32): Disable debug trace logigng of Windows Messages, because it's really! slow. And not! useful.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1934 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-09-30 12:34:19 +00:00
Jake.Stine 03972b07de SPU2-X: Fixed a huge bug in my last commit that broke most everything except the bios -- Core indexes were set to -1 instead of 0 and 1 (heh). Also a Speedup: Switched to a lookup table for dispatching SPU hardware register writes.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1933 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-09-30 05:35:37 +00:00
arcum42 3d789c5da3 Not particularly tested, but fix Linux.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1931 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-09-29 22:05:21 +00:00
Jake.Stine 158b01b58d SPU2-X:
* Potential Bugfix: Core1's DMA IRQ trigger was being ignored in some instances; might fix some hangs.
 * Major code cleanups, using C++ structure member methods and functions.
 * Improved gui / plugin api / core emulation code separation -- hoping to switch to wxWidgets eventually.

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1930 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-09-29 19:18:50 +00:00
Jake.Stine 15d2824d1b (work in progress -- some of this stuff still doesn't quite work as it should)
* Rewrote Savestate code, fixed lots of stuff in PersistentThread, and renamed most "Emu"s to "Sys".
 * Removed wxScopedPtr and whipped up our own ScopedPtr that doesn't use boost's fail-style function names (and made it more thread-safe).
 * Handling exceptions across threads: Added Clone() and Rethrow() methods to BaseException, and added a Rethrow() to PersistentThread.
 * Go rid of AppInvoke macros (those were nasty!)

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1929 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-09-29 19:16:00 +00:00
Jake.Stine 893fcebf52 Implemented 64-bit writes for Counter registers -- Fixes uLaunchELF!
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1928 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-09-29 17:15:34 +00:00
Jake.Stine abf0cbde47 More explicit C++ style type definition for PSXCLK, to ensure compilers avoid mathematical overflows. :)
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1927 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-09-29 16:20:13 +00:00
Jake.Stine 44464b812a w32pthreads: add the missing project file. (thought for sure I added this >_<)
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1926 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-09-29 14:33:56 +00:00
Jake.Stine a628c163d5 w32pthreads:
* Implemented a combination static link and dynamic link system; threads still benefit from DLL-level thread management, but speed-critical actions (semaphore and mutex locks) can now inline their "accelerated" interlocks properly.  Should be a nice speedup.
 * Implemented a highly optimized pthread_testcancel(), that typically performs its test in a single cycle. :)
 * Disabled static mutexes.  They aren't needed in C++ code, and reduce mutex locking overhead nicely.
 * Use intrin.h for Interlocked functions, instead of pthreads' built in ones.
 * Reverted my previous commit, since TLS isn't safe in DLLs.  (oops!)
 * Disabled pthread_spin API, it's not entirely cross-platform and shouldn't be used anyway (bad threading model for modern computing)

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1925 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-09-29 14:21:12 +00:00
Jake.Stine 6c0afe7c48 w32pthreads: minor optimization using _declspec(thread) for internal thread handles, instead of TlsAlloc.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1924 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-09-29 05:04:55 +00:00
Jake.Stine 93d4f5a39c GSdx: Force the plugin to terminate via PostQuitMessage() when running GSReplay (fixes bug where GSdx would remain loaded in the background indefinitely).
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1923 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-09-28 11:13:40 +00:00
arcum42 c97498d1f6 Assorted header cleanup.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1921 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-09-27 00:11:09 +00:00
mattmenke c252b0f4df LilyPad: Default deadzone increased. Note that will only apply to new bindings, or ones from inis made before I added deadzone support. Hope it's high enough for most cases, but not high enough to break anything...
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1920 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-09-26 18:21:57 +00:00
mattmenke c82cb222d7 LilyPad: Less sensitive (Higher pre-set deadzone) for copying analog state to d-pad state when in digital mode.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1919 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-09-26 18:06:39 +00:00
mattmenke 2193e5aec6 LilyPad: Fix for non-pressure sensitive buttons with dead zone < 0.0625 or so.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1918 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-09-25 19:34:59 +00:00
mattmenke 8bc0ffaefb Workaround for bug in plugin loader with GS plugins that don't support GSopen2().
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1916 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-09-25 11:22:46 +00:00