Commit Graph

3111 Commits

Author SHA1 Message Date
Jake.Stine 20adde44a6 PCSX2/EEcore:
* Now using SSE for all hardware register reads and writes (mainly MFIFO stuff) [don't expect a speedup, really -- its more of a code simplification in this case].
 * [refactoring] Changed the EE Memory (vtlb) to use the u128 type instead of u64 for the 128-bit loads/stores (see mem128_t typedef)

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@3626 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-08-09 15:42:13 +00:00
arcum42 c425ece009 'static' and 'extern' do not mix.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@3625 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-08-09 09:19:50 +00:00
Jake.Stine 8375b0a989 Refactoring:
* Added __fi and __ri, which are abbreviations for __forceinline and __releaseinline.
 * Added some static qualifiers to functions in mVU, MMI ops, and others where appropriate.
 * Removed some unnecessary __fastcall qualifiers (since GCC gets funny sometimes when you combine __fastcall and inlining).
 * Made _1mb, _16mb, _1gb values common to all emulation code (moved from newVif/mvu to Common.h) -- they're useful! :)

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@3624 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-08-09 04:10:38 +00:00
ramapcsx2 dceb9a78bb GSdx:
- Few more CRCs

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@3623 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-08-08 20:14:06 +00:00
ramapcsx2 aa8c007af3 Pseudonym found missing register allocation flushes in our recompiler loads / stores.
This is fixed now.
(Devil May Cry 1 fixed)

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@3622 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-08-08 18:05:16 +00:00
Jake.Stine 8160056911 Bugfix: EE and IOP consoles were piping through printf formatting, causing occasional crashes (introduced in r3609)
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@3621 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-08-08 16:19:37 +00:00
sudonim1 d7a09fa4d7 IOP: Deleted micro-optimisation in what's already not a speed critical recompiler which was corrupting code in experimental modifications.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@3620 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-08-07 13:47:02 +00:00
arcum42 5cb169be42 GSnull: Add a function back in.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@3619 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-08-07 08:25:10 +00:00
arcum42 4cccc7a3b1 Apply the same visibility flags from CMake to CodeBlocks. GSnull: Remove some legacy gif code. Hook up the register code.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@3618 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-08-07 05:46:25 +00:00
arcum42 02403e4c6d GSnull: Add preliminary register code.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@3617 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-08-06 22:58:30 +00:00
Jake.Stine 4528621d5c Enable IOP stdout and Kprintf HLE intercepts in Release mode builds.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@3616 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-08-06 19:15:43 +00:00
Jake.Stine e6e8992218 GSnull: Fix compilation errors in Win32 and Debug builds.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@3614 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-08-06 13:24:10 +00:00
gregory.hainaut 527b589f79 USBnull, CDVDiso, dev9null and FWnull: Same jobs as previous rev.
Note: zzogl is the only left (well zero plugins also) but I will wait that we port CALLBACK to EXPORT_C_ 


git-svn-id: http://pcsx2.googlecode.com/svn/trunk@3612 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-08-06 12:13:05 +00:00
gregory.hainaut 04e6c5ab02 Spu2null, padnull, gsnull, CDVDnull, onepad, spu2x:
Add 2 attributes to the interfaces functions
 - externally_visible: avoid gcc to remove the function when lto is enabled 
 - visibility("default"): default == public... Allow to hide all others symbols: see http://gcc.gnu.org/wiki/Visibility for details

onepad:
* Remove __cplusplus define, everythings is in C
* define 2 interfaces functions with EXPORT_C_ instead of CALLBACK.

cmake:
* add recent added .h files
* add fvisibility optimization. Plugins size was reduced of ~10% much more than expected :)


git-svn-id: http://pcsx2.googlecode.com/svn/trunk@3611 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-08-06 11:43:21 +00:00
arcum42 cfc4c9b3ec GSnull: Work on the GifTransfer functions, to bring them up to date, and straighten them out. Now enabled by default.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@3610 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-08-06 09:30:36 +00:00
Jake.Stine 912872af80 Introducing a mostly revamped Tracelog and Console log system. Various console log sources can now be toggled on/off on the fly, allowing end users to enable more verbose logging when they encounter problems. Both console and trace sources can be given automatic prefixing.
DevNotes:  DevCon logs are now available in *Release* builds as well as Devel builds, and can be enabled from the Console window's "Sources" menu.  They are disabled by default in Release builds, and are always enabled regardless of the ini setting in devel builds.  Debug logs are still strictly available in debug builds only.

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@3609 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-08-06 05:46:09 +00:00
Jake.Stine 411454c03c GSdx: bugfix for corrupted titlebar info, and possible crashes, when running from the legacy gui. (fixes Issue 826)
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@3608 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-08-05 14:06:57 +00:00
Jake.Stine 28ba6d7520 More GCC fixes for SafeArray (changes to the BoundsCheck macro fix some meaningless warnings, not really important otherwise).
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@3607 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-08-05 12:48:49 +00:00
Jake.Stine 6531640844 Yay! TlsVariable fixed properly. >_<
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@3606 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-08-05 12:21:19 +00:00
arcum42 24aac1f1f2 After 4 attempts, I suppose it's my turn...
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@3605 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-08-05 09:54:59 +00:00
Jake.Stine cfc3944a90 GCC/TlsVariable compile fix attempt #4: randomly throwing darts at members of the C++ standards committee.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@3604 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-08-05 05:03:52 +00:00
Jake.Stine 892eb3f2c6 Dreaded IPU bug FOUND and SQISHED! -- this is the bug that was corrupting memory for all these years. ;)
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@3603 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-08-05 03:25:25 +00:00
Jake.Stine d88cf47adb Linux: Likely fix for gcc errors compiling SafeArray
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@3602 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-08-05 01:39:31 +00:00
Jake.Stine d231c537b9 Linux fix for TlsVariable.inl (I hope). SafeArray fix will have to come later.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@3601 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-08-04 19:36:15 +00:00
Jake.Stine c439d1bef2 Minor refactoring; doing this just to help minimize the changelog spam of the next commit (not that it'll help much)
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@3600 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-08-04 19:10:41 +00:00
Jake.Stine 70e8c3cf41 SPU2-X: Communication error. We didn't want to remove the option; just make it a little more clear that *most* of the time it sucks and shouldn't be enabled.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@3599 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-08-04 17:18:40 +00:00
sudonim1 f022819747 IPU: Fixed bad IPU_CMD handling (using the same memory for read and write values).
Unlikely to help any games, just spotted this when rama was debugging one with an unrelated problem.

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@3598 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-08-04 16:56:25 +00:00
ramapcsx2 181836b5d4 SPU2-X:
- Remove the DSound output module hardware buffer option which caused more harm than good.

Also fixed that IOPx2 hack leftover.

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@3597 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-08-04 16:14:37 +00:00
Jake.Stine e5f87e068b Changed the FastFormatString functions into nifty little classes that use TLS for their buffer workspaces. Result: a fully concurrent printf with zero malloc/free overhead. Use the pxsFmt macro for them -- which is a fully working alternative to wxsFormat().
(pxsFmt has been applied to console/logging only for now.  Will apply it to more later, once the code is confirmed stable)

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@3596 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-08-03 22:18:19 +00:00
ramapcsx2 c2e687ad27 Removed the IOPx2 cycle hack. It's been superseded by the Wait Cycle Detection hack anyway.
Replaced the empty space with a (imo :p) more useful "Fast CDVD access" hack. 
This one will enable users to cut loading times in most games but there
are some incompatibilities as well.
HDLoader compatibility lists will list incompatible games with a "needs MODE 1" (or similar).

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@3595 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-08-03 18:12:22 +00:00
Jake.Stine 6ab55020bd Improved TlsVariable; going to be putting it to good use soon.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@3594 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-08-03 04:36:48 +00:00
Jake.Stine 31e957c5b3 wxWidgets/MSW: Disable validators. We don't use 'em.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@3593 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-08-03 04:26:14 +00:00
gregory.hainaut 9987f673b3 IPU (linux): mangle asm label. Need for inlining (if link time optimization works one day).
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@3592 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-08-02 17:14:51 +00:00
gregory.hainaut e1b8da387c IPU (linux): fix pointer variable. Linux compilation is now fine.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@3591 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-08-02 12:52:42 +00:00
gregory.hainaut 7b05db1351 IPU (linux):
* fix asm constraint. X86 have only 6 registers...
* move some pointer to ecx and edx like windows asm


git-svn-id: http://pcsx2.googlecode.com/svn/trunk@3590 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-08-02 12:49:48 +00:00
gregory.hainaut 76cc1bcd37 cmake: Fix include path issue with gtk > 2.21.3 (ubuntu 10.10)
Note: last gtk version moves the gdk-pixbuf module into another place.
Technically cmake needs an update of the FINDGTK2 module. For the moment I add a small work-around.


git-svn-id: http://pcsx2.googlecode.com/svn/trunk@3589 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-08-02 07:33:11 +00:00
Jake.Stine 9c0ce26e42 Minor linux compilation fix to yuv2rgb_sse2
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@3588 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-08-01 23:39:30 +00:00
Jake.Stine 61a4b537c4 IPU:
* Savestate mega-fix!  Removed all the old direct pointer types from decoder_t, which should fix the oddball random savestate crashes when IPU is active.
 * Moved iq/niq into decoder_t.
 * Moved all macroblocks into decoder_t (mb8, mb16, rgb16, rgb32).
 * Turned decoder.stride into a constant, since IPU can only decode in strides of 16 bytes only.
 * Added sanity checking to the ipu0_fifo stuff (was formerly g_nIPU0Data, etc).
 * Added some SSE moves to the Idct (very minor optimization).  There's a completely SSE from-ground-up implementation provided by newer versions of libmpeg2 that we should probably look into later, rather than rolling our own.

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@3587 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-08-01 21:50:59 +00:00
arcum42 63a2d9c228 pcsx2: Fix macroblocking in Linux videos.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@3586 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-08-01 09:17:36 +00:00
Jake.Stine 9d57fee7d4 Removed some unneeded code from our vu memory handlers (was an attempted optimization from long ago, but VU memory isn't accessed directly from the EE enough for it to matter).
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@3585 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-07-31 22:42:24 +00:00
Jake.Stine fa14e157c6 IPU: Minor tweaks to casts and static vars while looking for potential GCC issues.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@3584 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-07-31 14:29:59 +00:00
gregory.hainaut 844bfd297a SPU2null, PADNull, CDVDNull: remove useless gtk include
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@3583 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-07-31 09:01:41 +00:00
arcum42 2e77e2f9c8 zzogl-pg: Reworked Linux configuration dialog.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@3582 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-07-31 00:29:49 +00:00
arcum42 7d5dbc64fc zzogl-pg: More minor changes to the Liux config code.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@3581 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-07-30 09:52:34 +00:00
arcum42 7b522ea680 zzogl-pg: I seem to have overlooked this somewhere along the way.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@3580 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-07-30 09:26:23 +00:00
ramapcsx2 17465d1302 GSdx:
Move the dx11 check to GSInit, didn't like it only getting called on renderer changes in the middle of emulation.

PCSX2:
Report the savestate version as hex if loading an incompatible state. Looks better than -19793434481 :p

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@3579 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-07-28 19:00:42 +00:00
ramapcsx2 275bd2f629 Savestate version increase.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@3578 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-07-28 17:49:05 +00:00
gregory.hainaut c4eeb9de9a cmake: Upgrade cmake requierement to 2.8. (there is some incompatible change in foreach arguments...)
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@3577 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-07-28 14:51:02 +00:00
gregory.hainaut 5e3f568849 debian: minor change, nothing to see
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@3576 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-07-27 06:09:24 +00:00
Jake.Stine 8984e80c24 Add an SPU2reset callback to SPU2 plugins, needed to put a stop to SPU2 sound generation when resetting the PS2 VM. If a plugin doesn't implement it directly, it automatically falls back on a manual soft reset using the SPU2's builtin software Core0/1 register writes.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@3575 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-07-27 03:41:18 +00:00