Commit Graph

5516 Commits

Author SHA1 Message Date
marcosvitali 104603467b This commit fix games hanging because of my prior Revision c2e6fdf09f
The external exceptions in dolphin are checking frequently but is different to real HW, so sometime the game is in a loop checking GPU STATUS, the exceptions doesn't checked, and the game hang.\
For solve this I need a trick: still waiting for the exception handler be linked but if CommandProcecsor is reading the GPStatus, resume this.

This fixed "TimeSplitters: Future Perfect" broken in the Revision c2e6fdf09f and surely others games.
2012-03-09 18:58:23 -03:00
marcosvitali 41652d6b1f I've fixed Metroid Prime 3 and 2 desync. And other games with desync because of FIFO Reset.
That happens because  FIFO_RW_DISTANCE_HI must be written first, for checking fifo.CPReadWriteDistance == 0, so some fifo resets was not managed in the right way.
I didn't test Metroid 2 desync reported in Issue 4336 but I think is the same.
About the flickering in MP2, I don't know for my is not related or yes, but you can test anyway.

Fixed Issue 3902

Well now the FIFO is 99.99% finished :)
2012-03-09 01:33:29 -03:00
marcosvitali c2e6fdf09f - I've fixed possibles random hangs in DC mode.
- I've fixed hangs in DC mode in (Simpsons, Monkey Island, Pokemon XD, etc)
- I've implemented accurate manage of Pixel Engine Interrupts, now the GPU loop is stopped when a PE Interrupt needs to be managed and resume when Pixel Engine finish,
I think now, the Fifo in DC mode is more accurate than SC mode. :)

Time to close the big fifo Issue 3694 (snif), please if you have a possible fifo issue report this like a game issue.

I was working with Skid_AU together, especially thanks for him.

Test a lot all games, and compare the performance with the master maybe this accuracy has a cost (not a lot).
I think now the fifo is very stable, overflow fixed, random hang fixed, if you have a game with a hang with this rev and not in master please report this.
2012-03-08 02:47:55 -03:00
LPFaint99 6fc8cdf12d revert r90a2096a24f4 behavior changes in PixelEngine.cpp. Thanks to Autoran1 for finding the responsible commit. Fixes Scrubbing Serena Beach Countdown in both SC and DC.
Fixes issue 1498.
2012-03-07 20:08:14 -08:00
Matthew Parlane 880992b10f Fixed DoState and removed unneeded class variable. 2012-03-07 00:22:55 +13:00
Matthew Parlane 53d2d9718f Fixes issue 2917 and possibly others like 5232 2012-03-06 23:32:13 +13:00
Matthew Parlane e8e2c241d7 delroth pointed out that it should be "starts with" not "contains". Unlikely this has ever affected anyone.... 2012-03-06 23:31:59 +13:00
Matthew Parlane 614c43029f fixed files so they can have more than one handle opened at a time. 2012-03-06 23:31:48 +13:00
marcosvitali b0f75f17ae This release still fixed the hangs produced by fifo overflow without sacrifice performance.
For example you can test Tutorial moves at the beginning of The last history now is fluid 30/60.
Shuffle2: I've delete the hacky line, I think is not necessary anymore. Additional some clean in CommandProcessor.
Please test The Last Story and others games affected in the previous commits and give me a feedback.
2012-03-05 02:40:10 -03:00
skidau a53916ff5d Changed the detection of FIFO write addresses to writes at the gather pipe boundary. This speeds up games which frequently write to the gather pipe like the pre-rendered movies in The Last Story.
Added some code to unlink invalidated blocks so that the recompiled block can be linked (speed-up).
2012-03-04 23:42:33 +11:00
skidau 5de8366db2 Made the invalidation of the FIFO write JIT blocks more selective (efficient). Fixes the slowdown in the House of the Dead: Overkill cutscenes. 2012-03-04 08:10:46 +11:00
Henrik Rydgard f5d4fe0bfe Fix some minor bugs pointed out by PVS Studio (thanks!) 2012-03-03 20:07:20 +01:00
skidau 874e17e504 Added the corresponding change from r9e649ce79850 to JITIL. 2012-03-03 15:41:55 +11:00
skidau 9e649ce798 Added additional checks to ensure that only a FIFO breakpoint exception is handled. This fixes the hangs in games like de Blob, Xenoblade and Super Mario Galaxy introduced by r9e398fd41802. 2012-03-03 14:26:39 +11:00
skidau 9e398fd418 Added an external exception check when the CPU writes to the FIFO. This allows the CPU time to service FIFO overflows. Fixes random hangs caused by FIFO overflows and desyncs like in "The Last Story" and "Battalion Wars 2". Thanks to marcosvitali for the research.
Fixes issue 5209.
Fixes issue 5150.
Fixes issue 5055.
Fixes issue 4889.
Fixes issue 4061.
Fixes issue 4010.
Fixes issue 3902.
2012-03-02 18:53:41 +11:00
Jordan Woyak ee09def802 Merge branch 'cpp11' 2012-02-28 00:28:13 -06:00
Jordan Woyak 38823b6371 Add comment here so people know what's up. 2012-02-28 00:27:16 -06:00
NeoBrainX c3293b1a1c Improvement to revision b8bef29bcc .. :P 2012-02-25 10:59:00 +01:00
skidau b8bef29bcc Fixed a divide by zero error in the hash functions 2012-02-25 20:36:49 +11:00
Jordan Woyak f92d1e1e93 fix some clang compilation errors 2012-02-24 14:25:02 -06:00
Jordan Woyak 8a8dc77ef1 enable c++11 compilation in cmakelists 2012-02-24 14:19:24 -06:00
Jordan Woyak f15aeb26b3 Use an auto typed variable in IniFile.cpp 2012-02-24 19:20:17 -06:00
NeoBrainX 3a9fed0ba2 PixelShaderGen: Fix a bug introduced in revision 9adc119e3c.
D3D11: Fix shader constant mapping.
2012-02-21 12:51:41 +01:00
NeoBrainX 9adc119e3c PixelShaderGen: For custom textures and scaled EFB copies, use correct texel to pixel mapping when sampling textures
(D3D9 only)

This is basically the same as revision e58692653a, just for scaled textures and with a LOT more work...
2012-02-20 20:32:08 +01:00
NeoBrainX e58692653a PixelShaderGen: Use correct texel to pixel mapping when sampling textures
(D3D9 only)

Fixes issue 2068.
Fixes issue 5158.
2012-02-17 17:09:17 +01:00
parlane bea635d1d5 Fixes issue 5214 for real! 2012-02-15 20:56:50 +00:00
LPFaint99 643770bff9 more work towards correct file importing
Signed-off-by: LPFaint99 <lpfaint99@gmail.com>
2012-02-12 14:40:53 -08:00
LPFaint99 e68b892cc6 more changes from u8[] to u16/u32
Signed-off-by: LPFaint99 <lpfaint99@gmail.com>
2012-02-12 14:40:45 -08:00
LPFaint99 ebdab914cb Change UpdateCounter to u16
Signed-off-by: LPFaint99 <lpfaint99@gmail.com>
2012-02-12 14:40:34 -08:00
LPFaint99 0aeb94d3be disable changing a dentry to "broken file" before removing it, the ipl does not always do this
Signed-off-by: LPFaint99 <lpfaint99@gmail.com>
2012-02-12 14:40:18 -08:00
LPFaint99 3d20c57458 Update directorys and BlockAllocs correctly, use the most uptodate directory/bat instead of always the first
Signed-off-by: LPFaint99 <lpfaint99@gmail.com>
2012-02-12 14:40:03 -08:00
LPFaint99 1fe67e19ab use BAT for block locations instead of assuming nonfragmented blocks *untested*
Signed-off-by: LPFaint99 <lpfaint99@gmail.com>
2012-02-12 14:39:45 -08:00
LPFaint99 8355363dcd change the data section from a plain array to a vector of blocks (arrays of 0x2000)
Signed-off-by: LPFaint99 <lpfaint99@gmail.com>
2012-02-12 14:39:23 -08:00
LPFaint99 dfe890e8f1 pass by reference instead of pointer in several places,
return std::strings instead of filling a buffer,
move gci filename generation to a function inside gcmemcard instead of the gui code
 change all functions that do not modify the object to const

Conflicts:

	Source/Core/Core/Src/HW/GCMemcard.cpp
	Source/Core/DolphinWX/Src/MemcardManager.cpp

Signed-off-by: LPFaint99 <lpfaint99@gmail.com>
2012-02-12 14:39:10 -08:00
LPFaint99 d5c393fe96 initial work on displaying, exporting, and deleting from
memory cards that have gaps in the fst

Conflicts:

	.gitignore
	Source/Core/DolphinWX/Src/MemcardManager.cpp

Signed-off-by: LPFaint99 <lpfaint99@gmail.com>
2012-02-12 14:38:55 -08:00
LPFaint99 98993bfbd3 fix the twocardsloaded settings, correctly disables the copy functions when only one card is loaded
Signed-off-by: LPFaint99 <lpfaint99@gmail.com>
2012-02-12 14:38:44 -08:00
Andrew de los Reyes c9dfcf8cf7 Add Support for Wii Motion Plus INSIDE Wii Remotes on Mac OS X.
This patch makes a few changes necessary for support for the new Wii
Remotes:

- For all OSes:
  - Adds a new bool member variable m_motion_plus_inside to identify
    the new Wii Remotes.
  - If we have a new Wii Remote, use a head byte of 0xa2. We could
    just change this behavior for all Wii Remotes, but an existing
    comment suggests that would break 3rd party Wii Remotes.

- On Mac OS X:
  - Expand the search criteria for the bluetooth scan. This is
    necessary because the new Wii Remote identifies with minor class
    kBluetoothDeviceClassMinorPeripheral2Gamepad, but the old Wii
    Remotes use minor class
    kBluetoothDeviceClassMinorPeripheral2Joystick (1).
  - Send commands on the interrupt channel, not the control
    channel. The new Wii Remotes require this; old ones are compatible
    with this. Note: 3rd party Wii Remots are untested with this
    change; the hope is they are still functional.
  - Get the name of the bluetooth device and see if it ends in
    "-TR". If so, set a member variable so we know it's the new kind
    of Wii Remote.

This should fix issue 5011 for Mac OS X:
http://code.google.com/p/dolphin-emu/issues/detail?id=5011
2012-02-09 11:42:42 -08:00
skidau 25eae39b7c Rearranged the SSE detection. Patch by lordlyhobo.
Fixes issue 5172.
2012-02-06 20:51:24 +11:00
skidau 8f83a89416 Removed the busy-wait from DSP LLE on thread. Reduces the CPU usage in this scenario by around a third. 2012-02-05 17:18:11 +11:00
skidau c53283185d Added an error check for invalid contents in ES_OPENCONTENT. Fixes Jungle Speed and Doc's Punch Out.
Fixes issue 3035.
2012-02-05 16:16:33 +11:00
NeoBrainX 0bbb112298 Merge branch 'texcache-preload'
For further info, see revision 56ccfc5d9d4defb308e02a71d201aee9eef0a76e.
2012-02-04 13:19:48 +01:00
NeoBrainX 439613b833 TextureCacheBase: Remove a superfluous TODO (texture hashing takes care of that stuff) 2012-02-04 13:01:52 +01:00
skidau ea2e0e9063 Added the HID2.WPE condition to dcbz. Fixes issue 5114. 2012-02-04 13:25:04 +11:00
NeoBrainX eb01a110c9 Implement texture preloading 2012-02-03 21:21:13 +01:00
NeoBrainX dabb35afce Prepare texture preloading support 2012-02-03 21:20:34 +01:00
NeoBrainX 20a4735b4d Update some license headers. 2012-02-02 14:02:39 +01:00
LPFaint99 5cfb03da26 Merge branch 'variousSmallFixes' 2012-02-01 16:50:09 -08:00
LPFaint99 d6de53f235 convert name, notes and creator to wxstring using *wxConvCurrent instead of FromAscii. fix issue 5069 2012-02-01 00:09:24 -08:00
LPFaint99 a78c5f984f download codes for virtualconsole titles 2012-02-01 00:09:23 -08:00
LPFaint99 a0d6d68243 sysconf SetArayData use the minimum of the buffersize or the dataLength 2012-02-01 00:04:18 -08:00
LPFaint99 8e332948bf less log noise from CNandContentLoader 2012-02-01 00:04:06 -08:00
LPFaint99 c3e46d5b45 partial fix for issue 4742 2012-02-01 00:03:57 -08:00
LPFaint99 60594c079d allow just ejecting the disc by canceling the file dialog 2012-02-01 00:03:49 -08:00
LPFaint99 303d1b83eb minor cleanup to /dev/es, fix for grabbing titleid from the disc, and es_gettitledir 2012-02-01 00:03:41 -08:00
LPFaint99 3fb42f6bb6 split adding the ticket to its own function (installing a wad) 2012-02-01 00:03:16 -08:00
NeoBrainX d1605abfa9 Add license header for TextureCacheBase files 2012-01-31 19:52:02 +01:00
NeoBrainX 1446fb33d5 TextureCacheBase: Replace the efbcopy_state member variable of texture cache entries with a more general "texture type" 2012-01-31 19:52:02 +01:00
NeoBrainX cf899781f9 TextureCacheBase: Update and improve documentation for EFB copies 2012-01-31 19:52:02 +01:00
NeoBrainX b34b6e47f2 TextureCacheBase: Remove a redundant variable 2012-01-31 19:52:02 +01:00
NeoBrainX 9fed10fc75 Remove SaveTexture declaration in VideoCommon since it's only actually defined in OpenGL 2012-01-31 19:52:02 +01:00
NeoBrainX 3b38295cbd TextureCacheBase: De-uglify hybrid EFB copies (documentation needs updating though)
TextureCacheBase: Fixed dynamic EFB copies being set to normal textures.
2012-01-31 18:09:35 +01:00
NeoBrainX 67129404dd TextureCacheBase: Small bugfix
Added documentation for hybrid EFB copy stuff
2012-01-31 18:09:35 +01:00
NeoBrainX 5239ba88c9 TextureCache: Remove unsafe texture cache 2012-01-31 18:09:35 +01:00
NeoBrainX 8c2d87f668 TextureCacheBase: Move around stuff, add some TODOs 2012-01-31 18:09:35 +01:00
NeoBrainX 93dbd93a8d TextureCacheBase: More cleanup... 2012-01-31 18:09:35 +01:00
NeoBrainX 0c1e015ec3 TextureCacheBase: Small change 2012-01-31 18:09:35 +01:00
NeoBrainX f68ee87e0e TextureCacheBase: De-uglify texcache entry lookup even more + documentation 2012-01-31 18:09:35 +01:00
NeoBrainX dcf18fbaaf TextureCacheBase: Force autogenerating mipmaps if custom textures are used 2012-01-31 18:09:35 +01:00
NeoBrainX 8bc9e443fd TextureCacheBase: De-uglify entry lookup a bit 2012-01-31 18:09:35 +01:00
NeoBrainX 9c39952c34 TextureCacheBase: Kill deprecated entry member isNonPow2
TextureCacheBase: Add a TODO about a potential bug
2012-01-31 18:09:35 +01:00
NeoBrainX 94a8536b8c TextureCacheBase: Simplify texture cache entry initialization 2012-01-31 18:09:34 +01:00
NeoBrainX c5008fe9de TextureCache: Renaming some variables
OGL: Fix a possible bug at texture dumping
OGL: Add a TODO about a possible bug
2012-01-31 18:09:34 +01:00
LPFaint99 04a7e33f0b proper unicode literal and wstring to wxstring conversions.
Fixes issue 5156.
2012-01-27 00:30:52 -08:00
calc84maniac fd616ccb0c [Jit64] Register-based shift instructions optimized on 64-bit processors 2012-01-22 21:54:39 -05:00
calc84maniac a7f3f61598 [Jit64] Constant unsigned division and constant multiplication optimizations. Also, signed division can now be recompiled. 2012-01-22 19:58:59 -05:00
NeoBrainX 2d6d73df95 [maintenance] Add a note explaining why we aren't emulating CP clear register writes.
For further reference, see also r700f5eabc752.
2012-01-21 14:58:29 +01:00
NeoBrainX ad1a4d7ce3 FifoPlayer: Add a search function for the analyzer tab.
Also some tiny fixes.
2012-01-21 13:49:24 +01:00
NeoBrainX ecb616f7ff FifoPlayer: Make sure that we actually display "Yes" if some variable is true...
FifoPlayer: More consistency of output (display "0x" in front of hex numbers, write hex numbers in capital letters)
2012-01-21 13:49:24 +01:00
NeoBrainX 5eb24a51cf FifoPlayer: Add a description label for the currently selected object command.
Requires adding such descriptions for all BP/CP/XF registers. For now, I added descriptions for EFB copy related BP registers.
2012-01-21 13:49:24 +01:00
NeoBrainX 8c62a56c71 FifoPlayer: Show full data of XF register loads (Did I do this correctly?) 2012-01-21 13:49:24 +01:00
NeoBrainX 700123c55b FifoPlayer: Add an "Analyzer" tab which allows browsing through all rendered objects per frame and through all register setting commands per object 2012-01-21 13:49:24 +01:00
LPFaint99 96d56cd8ef fix for memcard manager using sjis for ascii encoded string
thanks to gerbilsoft for finding my mistake, fixes issue 5148
2012-01-18 22:41:35 -08:00
Shawn Hoffman bef3d7229e Ensure comment strings in CBannerLoaderWii::SWiiBanner are null-terminated. Fixes issue 5012.
Signed-off-by: Shawn Hoffman <godisgovernment@gmail.com>
2012-01-17 23:59:48 -08:00
calc84maniac 79ca43226c Added SHRD/SHLD x86 emitters, further optimized srawx 2012-01-09 00:10:13 -05:00
nitsuja 31ff1907a4 added an option to log to the attached Windows debugger (so e.g. NOTICE_LOG messages can show up in Visual Studio's output window) 2012-01-07 23:04:18 -08:00
nitsuja 1603bbb5f4 fixed and reenabled and slightly optimized the JIT version of fcmpo/fcmpu. 2012-01-07 22:23:59 -08:00
nitsuja 9ab69febe5 fix for stack corruption caused by certain DSP LLE JIT ABI calls.
if you were getting crashes or freezes as a result of using the "DSP LLE on Thread" option, this might fix that.
2012-01-07 20:46:41 -08:00
nitsuja 2368d88c65 slightly more precise speed percent display (this is really minor) 2012-01-07 20:24:11 -08:00
nitsuja daefb3b550 a small thread synchronization speedup for dual core mode.
it's most noticeable in games where the CPU is running behind compared to the GPU.
2012-01-07 20:22:48 -08:00
calc84maniac 8fb1a02f6b Fixed small error for instructions with overflow enabled 2012-01-05 22:39:17 -05:00
calc84maniac 5a15d58964 Added emitters for BT/BTR/BTS/BTC x86 instructions, optimized extended arithmetic PowerPC instructions 2012-01-05 22:36:27 -05:00
calc84maniac a7a6a1859e subfex optimization when RD==RA 2012-01-05 19:07:31 -05:00
calc84maniac 60cddf0823 Fixed some BindToRegister calls (removing unnecessary MOV instructions for speedup) 2012-01-05 18:27:04 -05:00
calc84maniac ecc63651c7 srawx/srawix optimizations 2012-01-04 14:06:19 -05:00
nitsuja 57d1c87a2d Merge branch 'determinism-fixes' 2012-01-04 01:49:31 -08:00
nitsuja 39613a95a8 initialize the uninitialized 2012-01-04 01:36:09 -08:00
nitsuja 81a1efab8e fixed an issue where the CPU sometimes single-steps an extra time after pausing 2012-01-04 01:33:38 -08:00
nitsuja ced8ca7219 better support for RTC when recording 2012-01-04 01:33:35 -08:00
nitsuja c6ce58ab64 fixed a wii recording desync
(some remote init code was running in playback but not recording)
2012-01-04 01:17:11 -08:00
nitsuja fe5a82357a fix potential wiimote playback desync 2012-01-04 01:16:45 -08:00
nitsuja 88df9d25a1 fixed potential crash in wii fileio 2012-01-04 01:13:46 -08:00
calc84maniac 363cf39ca9 Got rid of no-longer-valid assert 'W T F !!!' 2012-01-04 02:27:04 -05:00
calc84maniac 415aad3b03 Fixed some GCC compiler warnings 2012-01-03 10:57:58 -05:00
calc84maniac f9f9bb9870 Merge branch 'master' of https://code.google.com/p/dolphin-emu 2012-01-03 10:05:08 -05:00
calc84maniac b23a3df5e8 More x86 shift fixing 2012-01-03 10:03:12 -05:00
skidau ebca41e78b Merge branch 'Wiimote' 2012-01-03 22:23:45 +11:00
calc84maniac b88d0aa53f x86 shift of 0 doesn't update flags, check the value manually 2012-01-03 01:24:21 -05:00
skidau a812e3bd3d Removed the "Reload MemCard on load state" hack as it is no longer needed with the new save states system.
Fixes issue 4898.
2012-01-03 01:24:20 -05:00
skidau 32755aa48c Reordered the safe write path of the stfd instruction. 2012-01-03 01:24:19 -05:00
skidau daf7e96521 Fixed the safe write path of the stfd instruction in the JIT. Fixes issue 4001. 2012-01-03 01:24:18 -05:00
skidau b9547a07f5 Updated the Gecko code handler to the latest version from Gecko OS 1.9.3.1.
Added a check to ensure that the number of codes fits in memory (maximum 231 codes).
Store a copy of codehandler.bin in the Sys directory.
2012-01-03 01:24:17 -05:00
skidau 318d3cff02 Added a note to try the native code handler in the error message window.
Added copyright notices.
2012-01-03 01:24:16 -05:00
skidau 69b2d4ddc1 Changed the Gecko code handling to the native code handler. This provides full compatibility with all Gecko codes.
To use the native code handler, place the kenobiwii.bin file into the Sys directory.  Dolphin will silently fall-back to the emulated code handler if the file is not there.

Fixes issue 4561.
2012-01-03 01:24:14 -05:00
calc84maniac 2c3a714e49 Merge branch 'master' of https://code.google.com/p/dolphin-emu 2012-01-03 00:44:41 -05:00
calc84maniac aa47a8c690 x86 shift of 0 doesn't update flags, check the value manually 2012-01-03 00:37:43 -05:00
skidau ca287e7957 Removed the "Reload MemCard on load state" hack as it is no longer needed with the new save states system.
Fixes issue 4898.
2012-01-03 15:36:32 +11:00
calc84maniac 6ecae3e556 srwx and slwx optimizations 2012-01-02 19:45:28 -05:00
calc84maniac 9c4106027c Erp, some changes were not committed 2012-01-02 19:45:27 -05:00
calc84maniac ff6d0d056a rolwinmix and rlwnmx optimizations, another Rc/RC typo fixed 2012-01-02 19:45:26 -05:00
calc84maniac 9530bd0292 rlwimix optimizations 2012-01-02 19:45:25 -05:00
calc84maniac a6d041bfa9 Removed an extraneous FlushLockX, further optimized simultaneous handling of carry/overflow. 2012-01-02 19:45:24 -05:00
calc84maniac 4cb1af0f13 Fixed a bad typo. Why are there different inst.Rc and inst.RC variables? >_> 2012-01-02 19:45:23 -05:00
unknown ab54000d73 Fixed and streamlined overflow detection, improved subtraction methods, general flag-based optimizations including GenerateRC() which uses the sign/zero flag of the last operation 2012-01-02 19:45:21 -05:00
skidau d399e6b26d Reordered the safe write path of the stfd instruction. 2012-01-03 10:20:20 +11:00
calc84maniac f575c2c3be srwx and slwx optimizations 2012-01-02 18:00:28 -05:00
calc84maniac 42cdda42c9 Erp, some changes were not committed 2012-01-02 17:34:07 -05:00
calc84maniac ce80772007 rolwinmix and rlwnmx optimizations, another Rc/RC typo fixed 2012-01-02 17:30:54 -05:00
calc84maniac 7d262ff1f4 rlwimix optimizations 2012-01-02 15:07:36 -05:00
calc84maniac a2bd91b726 Removed an extraneous FlushLockX, further optimized simultaneous handling of carry/overflow. 2012-01-02 11:50:01 -05:00
skidau 67e38fb6c6 Fixed the safe write path of the stfd instruction in the JIT. Fixes issue 4001. 2012-01-03 01:17:52 +11:00
calc84maniac 8d67354179 Fixed a bad typo. Why are there different inst.Rc and inst.RC variables? >_> 2012-01-02 04:00:47 -05:00
unknown d6bf166694 Fixed and streamlined overflow detection, improved subtraction methods, general flag-based optimizations including GenerateRC() which uses the sign/zero flag of the last operation 2012-01-02 03:42:00 -05:00
skidau 6b0d21efa7 Merge branch 'Gecko' 2012-01-02 15:21:58 +11:00
skidau f4d8e527b5 Updated the Gecko code handler to the latest version from Gecko OS 1.9.3.1.
Added a check to ensure that the number of codes fits in memory (maximum 231 codes).
Store a copy of codehandler.bin in the Sys directory.
2012-01-02 15:14:30 +11:00
skidau 96600ef48d Added a note to try the native code handler in the error message window.
Added copyright notices.
2012-01-02 13:53:39 +11:00
Pierre Bourdon 008fd446f5 Replace some printfs from the PPC Interpreter code by Dolphin logger calls 2012-01-02 00:59:37 +01:00
Pierre Bourdon 59e93bff78 Fix a crash at startup with Dolphin on Linux compiled in debug mode
Use the clobber list instead of the stack to save rbx when executing the cpuid
instruction with inline assembly. This avoids breaking GCC assumptions about
the stack pointer location.
2012-01-02 00:59:37 +01:00
nitsuja 0d9e87da18 prevent CLogWindow::UpdateLog from constantly burning through timer objects, because it was allocating memory a lot and making it hard to debug some things. I think this should be faster even in release builds, but any speedup is probably too tiny to measure. 2012-01-01 14:28:21 -08:00
nitsuja f0d7b8122f increased fault tolerance of shader cache files.
more specifically: if the emulator stops unexpectedly, it is quite possible that one of the shader cache files will have some bytes near the end that never got their values filled in. this change adds an index number at the end of each entry as extra verification that the entry is valid, so that invalid entries can be ignored (and eventually overwritten) instead of causing crashes.
2012-01-01 14:28:20 -08:00
nitsuja 6f1b2d7748 name all audio threads (that I know how to) for debugging, as suggested in response to revision d00b719966. 2012-01-01 14:28:19 -08:00
skidau ba545ec1e9 Build fix 2012-01-01 18:09:39 +11:00
skidau e4b4a65346 Merge branch 'PowerPC' 2012-01-01 16:17:52 +11:00
skidau 5a914744a2 Added some support for the OE flag. Thanks to j4ck.fr0st for the tip. 2012-01-01 16:12:53 +11:00
skidau c53593a40a Moved the Audio Throttle option to the Framelimit drop-down. The Audio Throttle should never be used alongside the frame limiter as that can cause audio sync issues. 2012-01-01 14:32:54 +11:00
skidau 80504efcdf Changed the Gecko code handling to the native code handler. This provides full compatibility with all Gecko codes.
To use the native code handler, place the kenobiwii.bin file into the Sys directory.  Dolphin will silently fall-back to the emulated code handler if the file is not there.

Fixes issue 4561.
2011-12-31 15:18:48 +11:00
skidau cfee6d8473 Stubbed the /dev/usb/oh1 path. Fixes issue 4936. 2011-12-31 09:51:41 +11:00
skidau f7ef58ff9a Removed the VID/PID validation for Wiimotes allowing Dolphin to detect third party wiimotes with a VID/PID that is different to Nintendo's.
Checked for timeouts reported by the bluetooth stack.
Added RVL-CNT-01-TR detection.
2011-12-29 21:18:35 +11:00
skidau 1df7af35e9 Reset errno to zero before testing it after the strtoul call. Fixes issue 5078. 2011-12-29 12:05:36 +11:00
Pierre Bourdon af8a866afc Implement what was done by r9a627e89 using a stub device
This is arguably better then using the slot0 device for slot1, because it maps
the real hardware better (nothing can be mounted on slot1 on a Wii AFAICT).
This also makes Kirby: Return to Dreamland work properly and fixes some of the
SD card problems (libs do not expect to have the same SD card mounted two times
in RW...).
2011-12-25 01:55:25 +01:00
Pierre Bourdon 070c933088 Revert "Add unimplemented device map for sdio/slot1 and slot2. Fixes #4932."
This reverts commit 9a627e89fb.

The attempted Kirby: Return to Dreamland fix does not work properly and while
it fixes this particular game, it completely breaks SD card support on Dolphin.
BTW, I've never head of /dev/sdio/slot2 before...
2011-12-25 00:03:45 +01:00
LPFaint99 d389f7139b restore wii sorting order by using the ascii string from the banner instead of the iso file 2011-12-22 15:53:41 -08:00
LPFaint99 ca8af741b8 Merge branch 'unicode_gamelist' 2011-12-22 14:29:47 -08:00
LPFaint99 825e2ea4df fix an ascii/wxstring in gamelistctrl, replace fromascii("") with wxemptystring, don't push_back 0 at the end of wstrings 2011-12-22 14:28:12 -08:00
LPFaint99 8f6c25a5aa cleanup: merge handling of ntsc/pal games in gamelist/isoproperties 2011-12-20 02:19:46 -08:00
LPFaint99 e4c4602d9e use windows-1252 for gamename/description, fixes copyright/tm symbol in the gamelist & isoproperties 2011-12-20 02:10:40 -08:00
LPFaint99 9ddb67d4a9 fix shift-jis conversion on linux, and check for the codepage on windows in the memorycard manager like everywhere else 2011-12-20 01:35:12 -08:00
nitsuja 33f0f9fd9f fix ZWW intro music crackling with DSPHLE 2011-12-19 21:52:47 -08:00
nitsuja 3006d0696c fix the read-only menu item being disabled when emulation is paused (the hotkey was fine but I guess some people still use the menu) 2011-12-19 16:38:07 -08:00
nitsuja 3e773f093d fixed a freeze on emu shutdown in windows build 2011-12-19 15:13:26 -08:00
LPFaint99 de4e3e7462 add wstring name(s)/description to the cachefile, use when available in gamelist and properties window 2011-12-18 22:01:46 -08:00
LPFaint99 7f4efa094e add the function to read the game name and description from the banner as unicode 2011-12-18 21:56:13 -08:00
LPFaint99 a73ad3554c add the function to read all unicode gamenames from a wad file 2011-12-18 21:42:20 -08:00
nitsuja 567e90bbd5 fix for an un-threadsafe call to UpdateGUI (oops) 2011-12-18 20:38:54 -08:00
nitsuja 4a88d5ae93 fix for wiimote dying if you use savesetates too fast
(by dying I mean all wiimote slots permanently disconnecting until emulation reset)
2011-12-18 19:47:11 -08:00
Glenn Rice 4ecb48eaf8 Update a few more translations and add Farsi. 2011-12-18 14:03:57 -06:00
Pierre Bourdon b20c26f0b7 Adding more drama to the git history. 2011-12-18 13:58:44 +01:00
kostamarino@hotmail.com 9829beab42 Gameini database update, mainly changes to the emulation issues lines (make them shorter, with more substance and less bla bla, update outdated stuff). The emulation issues lines can be further improved(this is a start).
Also re - implement the emulation issues column that was reverted, make it a bit bigger since sentences need more words and delete the issues portion of the emustate tooltip since it is unnecessary now.
2011-12-18 14:52:40 +02:00
nitsuja d00b719966 give the audio thread a name (this doesn't really matter, but it was bugging me) 2011-12-18 02:25:50 -08:00
nitsuja d44fc0c820 small fixes for some recording-related menu items 2011-12-18 02:23:59 -08:00
nitsuja c88e4a097e update ui after savestate load (because loading a savestate can affect whether certain items should be grayed out in the menu) 2011-12-18 01:15:59 -08:00
nitsuja cfad00d6e0 added missing ExpansionInterface data to savestates, and related fixes (for savestate robustness) 2011-12-18 00:23:12 -08:00
nitsuja e5286e0406 improve the movie savestate load verification a bit more 2011-12-18 00:22:57 -08:00
nitsuja c6ea5f31f5 remove some suspect code in PowerPC::DoState which I think has already been supplanted by more correct code in CoreTiming::DoState 2011-12-18 00:22:31 -08:00
nitsuja 1e4e05fdc3 made ucode saving more reliable (especially for the case of loading across boundaries where the ucode changes). I think this is related to the occasional memory corruption I was seeing upon loading a savestate. 2011-12-18 00:22:21 -08:00
nitsuja c68c8c388c made savestate loads less fragile by adding some markers and rolling back on a mismatch.
This should make it so if you try to load an incompatible save, it simply doesn't load, instead of crashing dolphin. (I can't guarantee no crash but it's much less likely now)
2011-12-18 00:22:06 -08:00
Jordan Woyak 98d22d0e03 Revert the latest GUI change (Emulation Notes column). We don't care for it. 2011-12-17 23:44:09 -06:00
Maarten ter Huurne ed1bfdf293 Merge branch 'cmake-osx2' 2011-12-17 16:30:02 +01:00
Maarten ter Huurne 83bf5790a6 Copy translation files into OS X bundle. 2011-12-17 16:26:52 +01:00
kostamarino@hotmail.com a58c46be81 Gui change and an update to the gameini database.
The "Notes" column is gone and in it's place an "Emulation Notes" column is placed (it contains the emulationissues lines from the game inis). Notes that contain useful info about the game can be seen with just a glance this way.

Fixes issue 5043.
2011-12-16 21:01:10 +02:00
nitsuja d2f61fa155 some movie playback fixes 2011-12-15 09:22:16 -08:00
nitsuja 1ad05f7440 Merge branch 'master' of https://code.google.com/p/dolphin-emu 2011-12-14 21:34:55 -08:00
nitsuja 9470f9545f many movie fixes (mainly for readonly mode), and some wii input display support 2011-12-14 21:26:42 -08:00
Maarten ter Huurne 4c7c29b8b6 Let "make install" on OS X copy the bundle to /Applications.
The "dsptool" executable is not included in the bundle.
The "tester" executable is not included in the bundle and it no longer
installed on other platforms, since it is neither expected nor useful
to install unit tests.
2011-12-14 02:50:36 +01:00
Jordan Woyak b44918d1ed Merge branch 'fix-real-gcpad-sticks' 2011-12-12 23:25:32 -06:00
Jordan Woyak 09d2301fed detect input at 55% to catch silly c-stick range 2011-12-12 23:24:10 -06:00
Maarten ter Huurne 27bda2c054 Fixed range check on TryParse() for u32, again.
The code from 748be364e5 incorrectly accepted -0x100000000 on x86_64.

Also if ERANGE is returned by strtoul(), reject the parsed value regardless
of what that value is. This fixes invalid values being returned when compiling
with Visual C++. Thanks to "cotton" for testing this.
2011-12-13 02:08:34 +01:00
nitsuja f3325036be fixed hotkeys getting ignored after tab is pressed 2011-12-11 21:54:50 -08:00
nitsuja 2c2ef9a961 made frame advance act normal (so it advances 1 frame each time instead of waiting for further unpause commands), and did some minor improvements to the read-only command (making the UI behavior a little nicer, no actual changes to what read-only does at this point) 2011-12-11 21:08:26 -08:00
Maarten ter Huurne ee5a29e6f2 For CPUID, save EBX on the stack instead of in a register.
This fixes GCC running out of registers when compiling for x86
in release mode.

Thanks to kiesel.
2011-12-12 02:14:56 +01:00
Maarten ter Huurne d75f45979b Copy data files into OS X application bundle. 2011-12-12 01:30:42 +01:00
Maarten ter Huurne 7423c74deb Force the "ebx" argument to be mapped to a register (not necessarily EBX).
Fixes crash on x86 under OS X.
Thanks to kiesel for the fix and to shuffle2 for remembering the problem.
2011-12-12 00:43:23 +01:00
Maarten ter Huurne 344ca5d360 Applied compile and link flags from SCons build for OS X to CMake build.
The following changes were made:
Restricted the "-march=core2" option to i386 because the first Intel Macs
had Intel Core CPUs, not Core2.
Removed the "-mdynamic-no-pic" flag as GCC lists it as a PPC specific flag.
Removed "-Wl,-read_only_relocs,suppress" because it seems to be related
to "-mdynamic-no-pic" and I see no need for it.
Removed "-Wextra-tokens -Wnewline-eof" because they are GCC specific and
not OS X specific.
2011-12-11 21:27:06 +01:00
Maarten ter Huurne 780e5e7244 Use a custom template to generate the Info.plist for the OS X bundle.
This allows us to add keys that don't exist in the CMake template.
I added the keys from the Info.plist that was generated by our SCons build
to the new template.
2011-12-11 16:54:37 +01:00
Maarten ter Huurne c1cf4f80cf Added bundle version and copyright string to OS X bundle info. 2011-12-11 16:21:17 +01:00
Maarten ter Huurne 9d2f589f01 Create application bundle on OS X. 2011-12-11 16:07:59 +01:00
Shawn Hoffman b0ffa72e37 Merge branch 'large-mram' 2011-12-10 18:48:35 -08:00
Shawn Hoffman 62858c8c14 Small logging changes. Pause core if Jit64 tries to compile at 0. 2011-12-10 18:42:49 -08:00
NeoBrainX 3d9c35f58e VideoCommon: Fix upper and lower depth bytes being switched when performing Z16L EFB copies (EFB to texture only).
Fixes issue 4989.
Fixes issue 5056.
2011-12-10 16:08:26 +01:00
Maarten ter Huurne f9133a7376 Link to the required OS X frameworks.
Previously, there was just one list of frameworks regardless of which part
of the code depended on which frameworks. Now we keep separate lists for
the Dolphin core, the Dolphin GUI and internal use by wxWidgets.
2011-12-07 08:26:44 +01:00
Maarten ter Huurne c04c3bd9d3 Use "unsigned int" instead of "unsigned".
By request of hrydgard.
See commit 045eb924d9.
2011-12-07 07:10:31 +01:00
Maarten ter Huurne 8a75351674 Link against OpenGL using the info gathered by the FindOpenGL module. 2011-12-05 06:18:04 +01:00
Maarten ter Huurne 958891b4eb Compile with OpenAL support on OS X. 2011-12-05 05:49:08 +01:00
Maarten ter Huurne d440dfe9b2 Link against systemwide LZO using the info gathered by check_lib(). 2011-12-05 05:33:35 +01:00
Maarten ter Huurne bb182d88b7 Link against systemwide OpenCL on OS X. 2011-12-05 05:26:28 +01:00
Maarten ter Huurne 748be364e5 Fixed range check on TryParse() for u32.
On x86-64, "unsigned long" is 64 bits wide, so it is possible for a number
to not trigger a range error on strtoul() but still not fit inside an u32.
An extra check is added to ensure that 32-bit and 64-bit builds will accept
the same numbers.
2011-12-02 02:24:43 +01:00
Maarten ter Huurne 045eb924d9 Changed type of GetTicksPer(Line|Frame) to unsigned.
Avoids a GCC warning about comparing signed and unsigned values
in Source/Core/Core/Src/State.cpp.
2011-12-02 00:33:45 +01:00
Maarten ter Huurne f50ea590ce Don't use the same name for two different local variables.
This avoids a warning when compiling with GCC.
2011-12-02 00:06:49 +01:00
Maarten ter Huurne 51127c1243 Added newlines at end of file.
This avoids warnings when compiling with GCC.
2011-12-01 23:30:28 +01:00
Maarten ter Huurne 29865e6366 Avoid virtual memory range collision between JIT and emulated RAM.
Passing MAP_FIXED to mmap causes already mapped pages in the requested
region to be replaced. On Mac OS X this caused pages for JIT-generatd
code to appear in the memory range previously auto-allocated for the RAM
of the emulated machine. This led to a hang at boot time. The same problem
can probably occur on FreeBSD, but not on Linux since MAP_32BIT is used
there instead of MAP_FIXED.

The solution is to not use MAP_FIXED, but instead rely on the OS honoring
the hinted address which is below 4 GB: we don't need an exact match,
just a low address.
2011-11-30 00:37:57 +01:00
Shawn Hoffman b62cac2ca9 Allow modifying main ram size at compile time by changing Memory::REALRAM_SIZE. 2011-11-27 19:52:05 -08:00
Glenn Rice e5d051a4e9 Update linux libav frame dump code for recent api changes. 2011-11-22 19:24:05 -06:00
skidau cc6f90c7d5 Enabled memory breakpoints under JIT in the debugger. 2011-11-05 19:42:06 +11:00
skidau 9eaf20cc44 Fixed the slowdown that occurred under JIT32. Fixes issue 4969. 2011-11-05 13:04:46 +11:00
skidau 2ee79e7057 Added the missing "table31" instructions into the JITIL tables. 2011-11-04 23:11:43 +11:00
skidau 38a97fb9d7 Added some missing "table31" instructions to the table. The instructions themselves are not properly implemented as they do not handle the OE case.
Allows ANIMA Ark of Sinners to go in-game.
2011-11-04 21:26:56 +11:00
skidau 4c3a799f08 Added a check for HID0.DCFA before proceeding to dcbz. Allows Rubik's Puzzle Galaxy: RUSH to go in-game. 2011-11-04 19:07:09 +11:00
skidau 3d2a2abb49 Made the JIT bypass the icache when it is executing the external interrupt
exception handler.

Fixed by comwiz.k
2011-11-03 20:55:47 +11:00
Pierre Bourdon 7f055d6b56 UI: refactor the game list sorting code 2011-11-02 02:45:51 +01:00
skidau 1387da7900 Merge branch 'JitCache' of https://skidau@code.google.com/p/dolphin-emu/ 2011-11-01 20:45:50 +11:00
Pierre Bourdon 8f31968466 Revert "Merge branch 'zcomploc-support'"
This reverts commit 9dad9ebe89, reversing
changes made to e76bc71efe.
2011-11-01 01:37:54 +01:00
skidau 78b74101b0 Added code to invalidate the JIT cache on dcbf. This fixes Monster House and Scooby Doo: Mystery Mayhem. 2011-10-29 17:21:20 +11:00
crudelios dd551814c9 Bounding Box bugfixes.
- Fixes all (I hope) BBox-related unknown pointer crashes.
- Fixes wrong BBox values with Frame Skip on (and the resulting unknown pointer crashes).
- Fixes a small oversight on the change I made to the ISO Properties dialog.

This should also be a (very very little) bit faster than the previous version.
2011-10-28 21:12:12 +01:00
skidau e03fd9a942 Added code to invalidate the JIT cache on dcbi and writes to memory. 2011-10-27 21:08:35 +11:00
Brad Gearon 9a627e89fb Add unimplemented device map for sdio/slot1 and slot2. Fixes #4932. 2011-10-26 14:28:57 -05:00
crudelios 852fe9c4be Added proper Bounding Box support.
Should fix most graphical issues with Paper Mario: TTYD and Super Paper Mario. Fixes issue 360.

Since only those two games seem to require BBox support, and as per ector's suggestion, BBox is only enabled for those two games.

BBoxes and Display List Caches don't get along too well, causing Paper Mario: TTYD to hang during certain effects where BBoxes are used. For now, I disabled DList Cache for the Paper Mario games, hopefully both will be compatible in the future.
2011-10-26 01:19:10 +01:00
Shawn Hoffman 105e7e4eb4 Added TaruKonga (DK Bongos) support.
Separated SI Device IDs from the enums used for config/gui since quite a few device types all have the gc controller SI ID.
2011-10-23 07:01:17 -07:00
Shawn Hoffman ba119e8c05 Set the correct bit for "trap" program exception. Fixes http://wiibrew.org/wiki/Descent 2011-10-23 02:53:31 -07:00
skidau 3cdcdba25f Merge branch 'SaveStates' 2011-10-22 16:18:02 +11:00
skidau 599c3ccd7b Fixed save states for games which use the MMU Speed Hack 2011-10-22 16:14:34 +11:00
kostamarino@hotmail.com 8d9061ac39 Possible fix for random crashes with plenty of games(like Mario Galaxy) and issue 4568 (please test).
Gameini database changes that affects Black & Bruised, BLOODY ROAR(R): PRIMAL FURY, CASPER, Karaoke Revolution Party, Wii Music, TMNT.
2011-10-19 21:03:08 +03:00
skidau 5b2c5c9ce3 Removed the icache invalidation code as it is causing frequent code clearing. 2011-10-19 02:36:30 +11:00
Shawn Hoffman 3fc5d8d7cf Merge branch 'gc-mic'
Added GameCube Microphone support.  Uses your default audio recording device.  The Microphone is selectable from the Slot A/Slot B pulldowns under the GameCube tab.  The Microphone button can be set under GCPad configuration for pad 1 and 2. Thanks to MooglyGuy and skidau.
2011-10-17 03:21:11 -07:00
Shawn Hoffman 45eb9f0e7a fix some logic errors in the mic code and decrease latency a bit. emulate the buffer_overflow bit. 2011-10-17 03:14:20 -07:00
Shawn Hoffman c528978608 use callback model instead of blocking read/write.
fixes delay on linux.
currently not implementing the overflow bit, not sure it's needed since we manage our own buffer now.
2011-10-16 23:20:37 -07:00
Shawn Hoffman 1d6bd3248c It is safe to call Pa_Initialize and Pa_Terminate more than once. 2011-10-16 13:29:10 -07:00
skidau 18d9a275e7 Invalidated a wider range in the JIT cache to force recompile updated code in the ICache. This fixes the crashes in Mario Power Tennis and the remaining games in Mario & Sonic at the Olympic Winter Games.
Fixes issue 2102.
Fixes issue 2751.
2011-10-16 23:23:17 +11:00
Shawn Hoffman 46afefb14f Merge branch 'master' into gc-mic 2011-10-16 02:22:21 -07:00
Shawn Hoffman 676822891d ups, exi slots are on whole different channels... 2011-10-16 02:08:51 -07:00
skidau f6b9ae534e Merge branch 'master' of https://skidau@code.google.com/p/dolphin-emu/ into SaveStates 2011-10-16 17:51:41 +11:00
skidau c0498ca831 Synchronised the JIT cache with the ICache by invalidating the JIT block when the ICache is updated. This fixes Mario & Sonic at the Olympic Winter Games. Thanks to DimitriPilot3 for the tip.
Fixes issue 1610.
2011-10-16 16:43:32 +11:00
skidau 5d14bb5e70 Changed the save state system to load/save only after the screen has been drawn. This should help stabilise the save states. 2011-10-15 22:19:42 +11:00
skidau da9bd95a68 Renamed the "Disable Wiimote Speaker" option to "Alternate Wiimote Timing". 2011-10-09 22:10:47 +11:00
skidau 0ceb3cba36 Adjusted the system timing as DKCR was still getting disconnects with DSP HLE. 2011-10-09 22:10:46 +11:00
skidau 58cbe9cbd9 Adjusted the System Timing of the IPC HLE period for Wiimotes when used with DSP HLE. 2011-10-09 22:10:45 +11:00
skidau a09e859b3a Adjusted IPC HLE period to allow for four emulated wiimotes. 2011-10-09 22:10:45 +11:00
Shawn Hoffman 3556069f9f Also allow JitIL to update EXI exceptions much more frequently.
At this point, the mic branch is ready for testing by windows people at least. cmake/scons may work already, not sure.
2011-10-09 03:41:31 -07:00
Shawn Hoffman 41424d98e8 Make the mic button respect which slot it's plugged into.
*You need to open the Gamecube config page and reselect the devices in slot A and B after this commit*

Just jitil left...
2011-10-09 03:18:15 -07:00
Jordan Woyak ceef98b882 Added mic button to gcpad 1 and 2 diags. Both mic slots use gcpad 1 currently. Totally untested. 2011-10-09 04:27:43 -05:00
Shawn Hoffman 3790a16ece billliarrddd...here is how to set the button bit 2011-10-09 01:11:49 -07:00
Shawn Hoffman ade9485aac ok...just need to update the button... 2011-10-09 01:11:48 -07:00
Shawn Hoffman a751b627fd remove a now-unneeded comment 2011-10-09 01:11:44 -07:00
Pierre Bourdon 59072adc32 Align stack variables on a 16-bytes boundary in SSSE3 functions
Fixes issue 4450. Thanks to pholklore1 for his patch.
2011-10-08 17:36:01 +02:00
LPFaint99 03b65f3d89 Merge branch 'GCMemcardUpdates' 2011-10-04 13:18:22 -07:00
LPFaint99 5316c6d97b Move GCMemcard from DolphinWX/Memorycards to Core/HW 2011-10-04 13:14:18 -07:00
LPFaint99 8d91f1e0c1 EXI_Memcard: HLE memcard Formatting, GCMemcard: Add static format function, cleanup checksums code 2011-10-04 13:14:17 -07:00
LPFaint99 86950e7cce fix gcmemcard format broken by 5f9591cf9d
small cleanup to format, now works for slot a and b and any memcard size
2011-10-04 13:14:17 -07:00
Shawn Hoffman 5dc866bfc9 Fix gamecube microphone (button not implemented, yet :p).
Calls ExpansionInterface::UpdateInterrupts just before checking exceptions now.
2011-10-03 23:46:00 -07:00
Shawn Hoffman 856972f808 remove hacky old MicButton stuff 2011-10-03 23:46:00 -07:00
Shawn Hoffman d8def74dd1 add portaudio headers and windows static libs to Externals, enable by default in windows build. 2011-10-03 23:45:59 -07:00
Shawn Hoffman b4d751e43c Merge branch 'fix-icc-unsafe-string' 2011-10-03 23:44:35 -07:00
Jordan Woyak a65385d995 Merge branch 'fix-3rd-party-wiimote' 2011-10-04 01:36:10 -05:00
Pierre Bourdon 9dad9ebe89 Merge branch 'zcomploc-support'
zcomploc is a feature of the BP which switch depth test from before the alpha
test to after the alpha test. This way, transparent fragments are written to
the depth buffer too.

The current implementation is quite hacky and does not cover all cases but is
enough to fix problems in a lot of game. A complete implementation would
require a multipass rendering method and is attempted in the
zcomploc-experimental branch.

According to testers feedback, fixes bugs in the following games:
- Baten Kaitos
- Baten Kaitos Origins
- 007: Everything or Nothing
- Ty the Tasmanian Tiger
- Tony Hawk's Pro Skater 3

And probably other games too.

Conflicts (because of new-shadercache-uids):
	Source/Core/VideoCommon/Src/PixelShaderGen.cpp
2011-10-04 07:56:13 +02:00
Jordan Woyak 15d6c6e9fc fix 3rd party wiimotes, patch by pholklore 2011-10-01 21:36:16 -05:00
Jordan Woyak d3e639a397 fix build issue with intel compiler and fix some unsafe string usages, patch by FilthyMonkey 2011-10-01 21:31:43 -05:00
skidau e76bc71efe Fixed the controller config so that it lists DInput controllers with special characters (like the Registered (R) sign) in their name. UTF8 is used to match the encoding used by the Wx GUI. 2011-10-01 21:50:15 +10:00
Pierre Bourdon 266cafb82d Add a call to VertexManager::Flush() when changing TC gen settings
In previous revisions of Dolphin, changing texture generation settings (via
GX_SetTexCoordGen for example) did not regenerate the vertex shader and flush
the vertices. Adding this flush should fix texture problems in a few game, for
example in Superman: Shadow of Apokolips:

Before: http://i.imgur.com/mHmfb.jpg
After: http://i.imgur.com/2ThES.png
2011-10-01 02:36:03 +02:00
NeoBrainX 0e1383b788 Bump disk cache version. 2011-09-29 22:55:28 +02:00
NeoBrainX 81c614fa07 Clean up various things. 2011-09-29 23:32:39 +02:00
NeoBrainX ddfe219293 Fixup line endings. 2011-09-29 23:32:39 +02:00
NeoBrainX ca7e8a9e88 Fix pixel lighting. 2011-09-29 23:32:39 +02:00
NeoBrainX cfba35f7e5 Only link against libav if it's available. 2011-09-29 23:32:38 +02:00
NeoBrainX f041eee23b Compile fix. 2011-09-29 23:32:38 +02:00
NeoBrainX c710ea33f9 Merge some frame dumping code to VideoCommon, fixes a memory leak in D3D9 and OpenGL if emulation is stopped while dumping frames.
Breaks D3D11 frame dumping for some weird reason (memory corruption or whatever?).
2011-09-29 23:32:38 +02:00
NeoBrainX bd4a5b5ef6 Implement frame dumping in D3D11.
Fixes issue 4831.
2011-09-29 23:32:38 +02:00
NeoBrainX 5dcb212fc7 Fix Windows build. 2011-09-29 23:32:38 +02:00
NeoBrainX 8c691767da Various changes which improve FreeBSD support.
Patches by martymac, all credits go to him ;)
2011-09-29 23:32:38 +02:00
NeoBrainX 5d075ce507 - D3D9: pass the correct API type to ValidatePixelShaderIDs
- don't load shader cache from disk in d3d9/11 if shader debugging is enabled (we won't have any info about the source shader code otherwise, etc)
- dump shader source codes on safe UIDs mismatch

Thanks to LordMark and [SS] for reporting those to me ;)
2011-09-10 03:10:28 +02:00
NeoBrainX a021dd7b79 Small fix to the previous commit. 2011-09-09 21:45:11 +02:00
NeoBrainX 5c14a24ce1 Make shader ID validation optional by adding a gfx setting called "EnableShaderDebugging".
Setting this to True will enable additional checks if the shader cache misses any relevant register changes.
2011-09-09 21:34:46 +02:00
NeoBrainX b28348066e Improve the shader UID debugging stuff and merge it to VideoCommon, effectively enabling it in D3D9 and D3D11 as well. 2011-09-09 00:32:04 +02:00
NeoBrainX 349a3ae91d Merge remote-tracking branch 'remotes/origin/master' into new-shadercache-uids 2011-09-08 02:14:18 +02:00
NeoBrainX 6c7bda6851 Various fixes and cleanups. 2011-09-08 02:09:44 +02:00
NeoBrainX 98b62d8362 Track alpha blending paramaters in the pixel shader UID. 2011-09-07 21:15:14 +02:00
NeoBrainX 3939f9595a Add runtime checks to make sure we aren't overoptimizing the pixel shader cache. 2011-09-07 21:15:09 +02:00
NeoBrainX 4702de591e Added safe pixel shader UIDs for debugging purposes. 2011-09-07 21:10:06 +02:00
NeoBrainX 231c13d6ce Added safe vertex shader UIDs for debugging purposes. 2011-09-07 21:03:10 +02:00
NeoBrainX df4e337ac9 Fix various pixel shader compilation errors caused by the Direct3D shader compiler going nuts due to uninitialized (and unused) shader variables.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@7693 8ced0084-cf51-0410-be5f-012b33b47a6e
2011-09-06 18:37:01 +02:00
NeoBrainX 17fcd406fc Merge some scissor rect related code to VideoCommon. 2011-09-05 22:04:28 +02:00
Shawn Hoffman b867c21fea apply to dx9 and dx11 backends as well 2011-09-05 12:19:11 -07:00
Shawn Hoffman 95517a9741 vs2010: Disable LTCG for realz 2011-09-05 09:43:23 -07:00
Pierre Bourdon d3ecf98213 Include the zcomploc bit in the shader UID
Fixes issues with switching zcomploc on/off during execution.
2011-09-04 05:38:32 +02:00
Pierre Bourdon 0bdf8646f0 Proof of concept zcomploc implementation
Fixes a few depth related graphics bugs. Example in Baten Kaitos (GKBEAF):

Before: http://i.imgur.com/EDdVA.png
After: http://i.imgur.com/h6GuY.png

Still a few bugs in this implementation: zcomploc switching is not yet
implemented, and the color is wrong with this test: http://codepad.org/7GpxklOi
(red on Dolphin, gray on Wii).
2011-09-04 05:08:09 +02:00
Pierre Bourdon d710eda0c5 Clean up a bit the shader code generation for alpha test fails 2011-09-04 04:44:50 +02:00
Jordan Woyak 931a31deca Untested attempt to fix real gcpad sticks not being detected by the input configuration dialogs. 2011-08-31 20:46:04 -05:00
NeoBrainX bcb8d11c1b Reduced the number of redundant vertex shader compilations (possibly to zero).
That one was almost too easy ;P
2011-08-31 20:46:03 +02:00
NeoBrainX 4137f287fd Fix a critical bug which caused shaders to be redundantly recompiled when disabling per-pixel depth.
As a nice side effect, the number of redundant shader compilations is now next to zero ;)
2011-08-31 19:45:28 +02:00
NeoBrainX 7f01139d13 Replace the pixel shader UID generation algorithm with a better one which reduces the number of redundant shader compilations by around 30% (can be optimized even further though).
This should help some games which suffer from heavy stuttering like e.g. F-Zero GX or Red Steel 2.
2011-08-31 18:03:33 +02:00
NeoBrainX 08e06b2293 Partially revert revision d511b50612.
Slightly slows down emulation, but deobfuscates the pixel shader gen greatly...
2011-08-31 16:09:54 +02:00
NeoBrainX 8a17e15943 Various cleanups and TODOs. 2011-08-31 16:09:46 +02:00
Shawn Hoffman c0dd84cf7d buildfix ON MASTER!! :<
(I am sonic's babysitter)
2011-08-26 21:19:40 -07:00