Commit Graph

3080 Commits

Author SHA1 Message Date
Jake.Stine d4d98d9f62 microVU:
* Removed a DevCon from one of the mVU dispatchers and replaced it with an assertion (minor speedup for Release builds).
 * minor refactoring, encouraging mVU toward using class members and away from using quite so many macros.

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@3648 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-08-17 04:18:39 +00:00
Jake.Stine 6afa5ba769 Ok the last fix for GCC exploited a bug in MSVC's handling of taking the address of templated functions (one I've run into before). So I gave up and reverted to non-template code.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@3647 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-08-17 01:52:12 +00:00
Jake.Stine 6a18d4f50a GCC/Linux compilation fix for VTLB code modifications made earlier. These thanks to two apparently separate bugs, one in GCC 4.0-4.4 and another related one in 4.5. Sigh.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@3646 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-08-17 01:37:19 +00:00
ramapcsx2 6798f27d4d Found and fixed the issue causing some FFX battles to hang since ~400 revs ago.
The same problem caused the hang in Phantasy Star 4 when pressing pause.

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@3645 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-08-16 18:04:05 +00:00
Jake.Stine a8e406523b Improved EE/VTLB memory management: Removes various psM/psR/psS/psH pointers and replaces them with a single unified eeMem pointer. Members of eeMem correspond to Main, Scratchpad, Hardware, etc. This simplifies the EE's memory allocation, improves compiler optimization, gets rid of some macro mess, and allows templated code to deduce the size of memory buffers automatically.
* Includes a minor tweak to DMAC.h - removed tDMA_TADR / tDMA_MADR / etc. and replaced them with a single tDMAC_ADDR class.

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@3644 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-08-16 15:57:01 +00:00
Jake.Stine 91851c6222 Trace Logging:
* Cleaned up trace logging and switched from C++ initializers to C-style const arrays.  Kinda mixed on which I like better, but decided to go with the general rule of thumb that a bit less C++ weirdness is probably a good thing.
 * Removed __assume() feature from pxFail and pxFailDev, due to the likeliness of unwanted/unexpected compiler behavior (MSVC only).  To hint the compiler that code should be unreachable, explicitly use pxAssume(false).

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@3643 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-08-16 15:01:13 +00:00
ramapcsx2 cad4158283 GSdx:
Added Haunting Ground to the list of games that get their post processing automatically removed.
The game still shows a badly blended fog but is otherwise nicely playable now.

Hacks are from an unknown coder. Thanks for figuring it out! ;)

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@3642 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-08-15 14:48:07 +00:00
ramapcsx2 d05dcc48f7 Fix a typo in the wait loop detection hack.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@3641 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-08-14 23:47:44 +00:00
arcum42 699e623998 zzogl-pg: Work on GetRectMemAddress.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@3639 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-08-14 08:15:19 +00:00
arcum42 e4eec943de Get rid of extraneous line breaks on the console output(Linux).
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@3638 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-08-13 19:35:32 +00:00
gregory.hainaut 2544f4c320 zzogl: update the size of the default advance panels. Avoid resizing every times.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@3637 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-08-13 16:00:52 +00:00
ramapcsx2 a0f3f4b904 Re-fix Def Jam Fight for NY.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@3636 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-08-12 19:58:19 +00:00
arcum42 a586d8364e pcsx2: Get Linux compiling.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@3635 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-08-12 11:28:22 +00:00
refraction 09b52156d7 Im sure this got in there by error back when the OPH stuff revert went on.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@3634 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-08-11 09:49:57 +00:00
refraction 45b7a18c8b Missed a couple of bits :P
Small OPH/APATH clear which shouldn't have been there.

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@3633 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-08-11 09:48:43 +00:00
refraction 81dc6726d0 VIF MFIFO:
- Proper fix for FF7 DoC. 
- Changed the handlng of .inprogress to be cleared/set with ANDs and ORs (could probably change this to a structure later), it could have interfered with MFIFO functionality.
-Un-bool'd a function in MFIFO which really didnt need to be bool'd, causing pointless passing around of data.

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@3632 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-08-11 09:16:12 +00:00
ramapcsx2 e97c68e832 Added a minor hack to MFIFO interrupt timing. Fixes FF7 DoC.
Long interrupt delays are always bad, no matter how true it is to actual console behavior.
(Issue with running code in block slices.)
Also removed outdated hacks for Devil May Cry PAL :p

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@3629 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-08-10 10:04:17 +00:00
gregory.hainaut fa793cca25 cmake:
* move machine optimization in the global setup. In same time use i686 instead of i486
* Also build the debug with fvisibility=hidden No reason to use it only on devel. (actually same as codeblock)


git-svn-id: http://pcsx2.googlecode.com/svn/trunk@3628 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-08-09 19:05:02 +00:00
gregory.hainaut df436f1583 zzogl copyright:
* common.h is mostly based on multiple file in ffmpeg. So apply the same licence as the original files
* Others zerofrog's file: add a note on the missing copyright notice.


git-svn-id: http://pcsx2.googlecode.com/svn/trunk@3627 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-08-09 18:57:00 +00:00
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