Commit Graph

2886 Commits

Author SHA1 Message Date
refraction fb5b7a34e3 VIF: Modification to illegal IRQ's on NOP's Fixes #162 . Some games like Looney Tunes Back In Action use the lower 16 bits for special codes, so we only check the command info area (not the command itself of course, that would be silly). 2014-07-24 18:22:00 +01:00
Kingcom b23062c54a Check for alignment when accessing memory with the debugger 2014-07-19 01:05:41 +02:00
Pseudonym 455a20d852 Removed unnecessary #include after pull request #154. 2014-07-18 21:54:46 +01:00
Pseudonym a3498c506f Merge pull request #154 from from Kingcom/Debugger
Revert part of #140
2014-07-18 21:50:59 +01:00
Kingcom 2505291065 Revert part of #140 2014-07-18 22:17:41 +02:00
Forrest McDonald 81458912f9 pcsx2: remove template and pointer on overload function from wxGuiTools
Fixed clang build.

Note from Gregory:
C++ requests that at least 1 parameters is a class, an enumeration, or a
reference to those objects. Probably to avoid to screw basic type operation.
For example: *p += 4;

The realy buggy code was this one because T could be an int!
template T
f(*ptr, T)

To avoid any issue in the future the Team decide to drop all overload that use pointers.
2014-07-18 19:20:53 +02:00
Forrest McDonald da93a960af clang fix for narrowing 2014-07-18 19:14:41 +02:00
sudonim1 85bb789ffa Merge pull request #148 from Sonicadvance1/remove-dictionary
Remove most of HashTools.
2014-07-16 18:10:56 +01:00
Ryan Houdek ba7b0612dc Use the iterator to get the value from maps to avoid two look ups. 2014-07-16 12:00:50 -05:00
Kingcom 3db06d7426 Highlight arguments from disassembler selection 2014-07-16 16:20:03 +02:00
ramapcsx2 d6b042f9fe Merge branch 'master' of https://github.com/PCSX2/pcsx2 2014-07-16 12:32:51 +02:00
Ryan Houdek 391cf379ae Remove usages of HashTools::Dictionary/HashMap
Replace these usages with unordered_map since they are just as quick
2014-07-15 22:02:14 -05:00
Ryan Houdek 2c6188b73f Switch the GameDatabase from using a pxDictionary to a std::unordered_map.
Both implementations are about the same, which is hard to measure since we are limited in speed due to the hashing function.

Both implementations averaged ~220ms to load the full game database on my workstation.
2014-07-15 20:55:52 -05:00
sudonim1 80b22ca2be Merge pull request #140 from Kingcom/Debugger
Various debugger fixes and enhancements
2014-07-15 23:59:07 +01:00
Kingcom 53159a81cf -Add lq/sq preview
-fix potential memory access exceptions
-prevent the disassembly from changing positions when a breakpoint is toggled
-only use the status bar text from the current cpu
2014-07-16 00:51:53 +02:00
sudonim1 c21dd828d5 Merge pull request #137 from Sonicadvance1/vtlb-64bit
Fix vtlb compiling for x86_64.
2014-07-15 23:13:08 +01:00
Ryan Houdek 97bed8e710 Fix vtlb compiling for x86_64.
This has no functional change on x86_32, it's mostly just changing a few pointer to u32 conversions to uptr and sptr.

I can not yet confirm if this runs on x86_64, but compiling is enough of an issue currently.
2014-07-15 16:42:59 -05:00
sudonim1 aaf70d652b Merge pull request #138 from Sonicadvance1/yuv2rgb-64bit
Let non-x86_32 use the reference yuv2rgb conversion function.
2014-07-15 22:34:38 +01:00
sudonim1 91f23938b5 Merge pull request #136 from Sonicadvance1/gui-pointers
Fix two conversions of pointers to integer in the GUI.
2014-07-15 22:20:37 +01:00
Ryan Houdek 0af0db6593 Fix two conversions of pointers to integer in the GUI.
Use uptr instead of 32bit integers fixes the issue of compiling.
2014-07-15 16:18:24 -05:00
Ryan Houdek a143a8b1f6 Let non-x86_32 use the reference yuv2rgb conversion function.
The yuv2rgb_sse2 implementation is x86_32 only, so x86_64 can't take advantage of this optimized code path.

This requires the architecture defines to be working fully, so this can't be merged until it is fixed on the Windows side of things.
2014-07-15 15:31:07 -05:00
Ryan Houdek a1d6ca2298 Fix microVU converting pointers to u32.
Convert them to uptr instead to make it architecture independent.
2014-07-15 15:04:08 -05:00
David Quintana 69f57351b2 Merge pull request #109 from Sonicadvance1/windows_arch_defines
Support _ARCH_32/64 defines on Windows
2014-07-15 17:04:21 +02:00
Ryan Houdek 6b1ee680a2 Support _ARCH_32/64 _M_X86[_32/_64] defines on Windows
This defines the correct define depending on architecture build target.
Currently Windows doesn't support a x86_64 build target, but once it does the define will be in place.
2014-07-15 09:16:37 -05:00
sudonim1 86a0d3faff Merge pull request #124 from lioncash/array-bounds
sVU_zerorec.cpp: Correctly guard against invalid indexes in SuperVUDestroy
2014-07-15 11:27:53 +01:00
ramapcsx2 3daff15f34 Merge branch 'master' of https://github.com/PCSX2/pcsx2 2014-07-15 11:56:55 +02:00
Lioncash a1080f4853 sVU_zerorec.cpp: Correctly guard against invalid VU indexes
recVUHeaders and recVUBlocks are both arrays of size 2. Prior to this, it would allow an index of 2, which is out of range.
2014-07-14 22:44:31 -04:00
Lioncash 673bac12a6 COP0: Fix indentation for function TLBR 2014-07-14 22:07:02 -04:00
Forrest McDonald b24d4cce8d Clang doesn't support some flags that GCC does, so conditionally check the compiler and add them if we are doing a GCC build 2014-07-14 13:54:31 +02:00
ramapcsx2 0121366f65 Merge branch 'master' of https://github.com/PCSX2/pcsx2 2014-07-12 20:23:01 +02:00
Gregory Hainaut 7318814474 pcsx2: remove/disable brace warning 2014-07-12 16:04:07 +02:00
Gregory Hainaut afc4f3386a pcsx2: be sure that variables are initialized 2014-07-12 16:03:06 +02:00
Gregory Hainaut c6c6171841 pcsx2: don't hide base function
As far as I understand you can't mix virtual (select at runtime) and
overloading (select at compile time).
2014-07-12 16:01:21 +02:00
ramapcsx2 58b63cb58c Merge branch 'master' of https://github.com/PCSX2/pcsx2 2014-07-12 14:41:50 +02:00
Gregory Hainaut 4fdfd04d3c partially revert c5d2343f51
Parameter name can help to understand the code so let's keep them.
Clang warning was disabled in previous commit
2014-07-12 13:30:34 +02:00
Gregory Hainaut c73ce3d02d pcsx2: don't use 0&& to remove code
It works but compiler is not happy because it is still parsing the full line.
2014-07-12 12:59:23 +02:00
Gregory Hainaut f3d03b025a pcsx2: reorder init of member in constructor
Init must be done in the order of declaration
2014-07-12 12:59:23 +02:00
Gregory Hainaut a1ac59a48a pcsx2: add various default case statement
Note: add a note on some case note handled properly not sure how to fix them.
Actually there are potentially invalid case.
2014-07-12 12:59:23 +02:00
Gregory Hainaut f401f817ed cmake: sdl opt typo + clean warning management
Add back a lots of warning in the core!
2014-07-12 12:59:23 +02:00
ramapcsx2 a3d5d9112a Merge branch 'master' of https://github.com/PCSX2/pcsx2 2014-07-07 09:38:54 +02:00
ramapcsx2 b56d9c9e31 Merge pull request #96 from lioncash/unused-vars
Core: Remove some unused variables
2014-07-05 20:58:12 +02:00
ramapcsx2 a48369dc41 Merge branch 'master' of https://github.com/PCSX2/pcsx2 2014-07-05 20:48:52 +02:00
ramapcsx2 6800753f09 bla 2014-07-05 20:48:45 +02:00
ramapcsx2 5907bbea6e Merge pull request #89 from lioncash/array-bounds
Fix a possibility for out of bound accesses in logging within Cache.cpp
2014-07-05 20:34:56 +02:00
Lioncash 6dff0b13a4 Core: Remove some unused variables 2014-07-04 22:11:13 -04:00
Gregory Hainaut c5d2343f51 pcsx2/common: fix tons of warning spamming on clang
* Don't use parameter name to avoid unused parameter
* Set a default for various case
2014-07-05 00:08:48 +02:00
Pseudonym f4cb9de8d9 mVU: Corrected a typo in the branch in branch delay slot handling which prevented using the simpler code in the case of the delay slot being that of an unconditional branch. Now hopefully the code in question actually works for that case, since I'm not sure this has been tested. 2014-07-04 12:38:14 +01:00
Pseudonym 6f19551a77 Quick fix for undefined behaviour in the R3000A disassembler. 2014-07-04 12:35:00 +01:00
Lioncash ffa216d958 Fix a possibility for out of bound accesses in logging within Cache.cpp 2014-07-03 00:24:16 -04:00
refraction 0ddb77c048 VIF: Ignore interrupts caused by obviously bogus NOP and NULL codes. Fixes Onimusha Blade Warriors. 2014-06-30 18:56:10 +01:00
Gregory Hainaut f998b72e99 sigh I do the mistake every time 2014-06-20 18:55:25 +02:00
Gregory Hainaut fe30f2e48e pcsx2: tlb fix
* pc is incremented before execution of the instruction => must be
    decremented before exception

* PS2 support 48 tlb => mask need 6 bits
2014-06-20 13:52:05 +02:00
Gregory Hainaut a00b8ecc55 pcsx2: tlb: goemon implement a preload hack tlb
Tlb mapping is stored @0x3d5580 (GoemonTlb[150])
The function that will populate the tlb is around pc = 0x356250, ra = 0x33ad48

The idea is to add a callback on 0x33ad48 block that will populate the tlb based on
ee mem content.

Note: The hack is based on previous Virtual PS2 => Physical PS2 LUT
2014-06-20 13:52:05 +02:00
Gregory Hainaut 9452444a9f pcsx2: tlb: add a new lut (Virtual PS2 to Physical PS2)
note: automatic gamefixes are done after done after the init that why code was splitted.
note2: The LUT is 4MB and only used for only 1 game. So I only allocate it when the gamefix is
    enabled
2014-06-20 13:51:33 +02:00
Gregory Hainaut 2e8f56fc86 pcsx2: tlb: add a new gamefix hack for goemon 2014-06-20 13:17:59 +02:00
refraction 81dd3b46c5 Modified behavior of the Delay VIF1 Stall hack to work with Spy Hunter. This is another one of those games which relies on a FIFO which we won't implement because it will just slow things down. 2014-06-06 22:29:33 +01:00
refraction fd8161c523 Removed a hack which broke Midnight Club in r3285 to fix Batman Begins. Doesn't seem to be needed anymore. 2014-05-29 00:11:04 +01:00
Gregory Hainaut 8775e51ebd Merge pull request #28 from Kingcom/Breakpoints
If a memcheck or breakpoint is triggered in a delay slot, stop on branch
2014-05-24 10:59:04 +02:00
Gregory Hainaut 0bf7a35a53 pcsx2: improve the GS read fifo API
1/ initReadFifo will be first called on the GS thread
    (openGL can only be done on the GS thread)

2/ readFifo will be called on the EE thread. It is not safe too access eeMem from GS
 because of memory is virtual

Fix "recent" regression (crash) on Kingdom heart and others game too.

v2: add a len check on GSState::InitReadFIFO
2014-05-06 20:28:18 +02:00
Gregory Hainaut 3a46634f4a gcc: fix a couple of gcc warning (sign compare)
My gosh, they're like rabbit :p
2014-05-06 09:25:00 +02:00
Kingcom 67f7eaabc7 If a memcheck or breakpoint is triggered in a delay slot, stop on the branch 2014-05-05 23:50:37 +02:00
Avi Halachmi (:avih) d28669761f gzip-iso: Speedup some cases by using more memory.
Significant speedup on some cases by using roughly another index size
in ram. The ram usage is now up to roughly cache size plus 2x index size.

This patch adds another index-like direct access point for each span we've
visited. This replaces the single z-state which was used for
sequential extraction, and does the same, but now it can continue
sequentially on most previously visited spans instead of only from
the last read.
2014-05-05 15:07:48 +03:00
Avi Halachmi (:avih) 8684596d66 gzip-iso: bugfix in zstate setup, cosmetic refactoring 2014-05-05 14:58:44 +03:00
Gregory Hainaut 460ee7f5de Merge branch 'Mirrors' of git://github.com/Kingcom/pcsx2 2014-05-05 09:39:35 +02:00
Gregory Hainaut 22b65489e2 gcc warning: constify const string 2014-05-03 10:18:27 +02:00
Gregory Hainaut 4d78b6be31 pcsx2/plugin: sign compare mismatch extra 2014-05-03 10:18:27 +02:00
Gregory Hainaut 4d6d5c870c pcsx2: remove useless volatile
Volatile is only useful as argument not the returned value
2014-05-03 10:18:26 +02:00
Gregory Hainaut dd8666036c pcsx2: sign compare mismatch 3/3 2014-05-03 10:18:26 +02:00
Gregory Hainaut 27a4bc5a39 pcsx2: sign compare mismatch 2/3 2014-05-03 10:18:26 +02:00
Gregory Hainaut 88f4d1e3a7 pcsx2: sign compare mismatch 1/3 2014-05-03 10:18:26 +02:00
Gregory Hainaut c6d8b52d26 pcsx2: try to ensure better sync with FIFO read call
First wait will ensure correctness of GS register.
2nd wait will ensure that the GS fifo read call is finished

(If I understand MTGS correctly)
2014-05-01 16:43:12 +02:00
Avi Halachmi 14efa6fbda gzip-iso: update VS2010/2012 projects (2012 untested) 2014-04-30 13:21:08 +03:00
Avi Halachmi (:avih) e859d3f3d1 gzip-iso: change zlib_indexed.c to .h 2014-04-29 23:33:28 +03:00
Avi Halachmi (:avih) 0f26be85b5 gzip-iso: fix compiler warning/error 2014-04-29 23:23:07 +03:00
Avi Halachmi (:avih) 49505ab93f gzip-iso: optimal small chunks sequential access 2014-04-29 11:26:35 +03:00
Avi Halachmi (:avih) 86a6fcddc0 gzip-iso: Better cache, more cpu for quicker extract 2014-04-29 02:41:30 +03:00
Gregory Hainaut c92de149a2 pcsx2: quick linux fix of recent addition 2014-04-27 22:45:28 +02:00
Avi Halachmi (:avih) 36fe83afcc Gzip ISO: add cache (50 chunks of 4M) 2014-04-27 22:51:58 +03:00
Avi Halachmi (:avih) 5771e6eae8 Indexed gzipped ISO support (slow - no caching) 2014-04-27 19:58:20 +03:00
Avi Halachmi (:avih) 7d491cb230 Adding zlib example files 2014-04-27 01:33:37 +03:00
Gregory Hainaut c37d9c10f7 cmake: git compilation issue + useless warning message
* avoid compilation failure when git -C isn't supported
* don't print missing dependency when EXTRA_PLUGINS isn't activated
* sed /endif(.*)/endif/ because I don't like it
2014-04-17 20:26:16 +02:00
Kingcom 42651c1500 Check mirrors in breakpoints and memchecks 2014-04-13 18:37:42 +02:00
Gregory Hainaut 17eb468f38 win build fix: set utf8-bom 2014-04-13 10:05:26 +02:00
Gregory Hainaut 75c64e12aa license: add missing header
Still miss lots of copyright header but we are better
2014-04-12 19:42:41 +02:00
Gregory Hainaut 37b1d3ae42 codeblock: remove build file => linux is cmake only
They are completely out-dated. And nobody have time to update them.
2014-04-11 09:18:31 +02:00
Gregory Hainaut f984339404 pcsx2: reduce gamefix panel size
Move 2 sentences into the tooltip. Reduce both box and the useless empty space.

Unfortunately, translation would need to updated too.

Thanks Avih for the idea
2014-04-11 09:18:30 +02:00
Gregory Hainaut 86895cbf45 pcsx2 license: add missing nice header on various files
Remains 3 files that I don't know the source
pcsx2/windows/DwmSetup.cpp: *No copyright* UNKNOWN
pcsx2/windows/SamplProf.cpp: *No copyright* UNKNOWN
pcsx2/windows/VCprojects/IopSif.cpp: *No copyright* UNKNOWN

Remains 1 files in common that I don't know the source
common/include/comptr.h: *No copyright* UNKNOWN

Remains too much files in plugins that I don't know the source :(
2014-04-11 09:18:30 +02:00
gigaherz 4362cc0e9a Fixed a few references to Googlecode, and a few mentions of the "svn" word in comments.
Other instances of "svn" in filenames and such remain, but they are not high priority and I didn't want to mess with updating all the project systems.
Closes #19.
2014-04-05 18:38:41 +02:00
Roel Aaij ec0f9e49c3 Fix segfault in non-dev build by adding extra check for NULL. 2014-03-30 16:59:28 +02:00
Gregory Hainaut 390245806a cmake: sed /PROJECT_SOURCE_DIR/CMAKE_SOURCE_DIR/
The former depends on the project command. Whereas the latter is the true absolute path
of the project
2014-03-30 16:36:02 +02:00
Gregory Hainaut 30ba964f9d fix visual studio compilation 2014-03-25 18:35:02 +01:00
Gregory Hainaut 0980591fa2 pcsx2 debugger: be more friendly with linux
* Fix a couple of gcc warning and replace deprecated function
* Fix the redraw of the memory zone
* Avoid a crash if we breakpoint before running
* Use %s on linux because %S isn't supported
* Properly check .result in recMemCheck. Add some code to print hit
  breakpoint.
* breakpoint window isn't properly resized so used a static size as a
  temporary workaround
2014-03-25 17:31:52 +01:00
Gregory Hainaut f78c39cc98 pcsx2: call GSReadFIFO from GS thread (was EE) 2014-03-25 16:36:29 +01:00
Kingcom e31afb5885 Fix VS2010 build 2014-03-25 16:15:21 +01:00
David Quintana 2fbac107ca Merge pull request #5 from Kingcom/master
More debugger enhancements and fixes
2014-03-25 14:42:59 +01:00
gigaherz f7c1b6e060 Git-based versioning. 2014-03-25 13:31:36 +01:00
Kingcom c25020765c Display memory view page when setting its position 2014-03-23 13:30:11 +01:00
Kingcom 10c3928eef Focus disassembly when a breakpoint triggered 2014-03-23 13:30:11 +01:00
Kingcom 100fe404a5 Load symbols from file 2014-03-23 13:30:10 +01:00
Kingcom 0ade0a44b5 Detect and skip padding nops at the end of functions 2014-03-23 13:30:10 +01:00