Commit Graph

7620 Commits

Author SHA1 Message Date
comex 18abc33306 2x banner images! 2013-09-25 03:06:27 -04:00
Ryan Houdek 624c92f97e [ARM] fresx/fnmaddsx/fselx/frsqrtex/fnmaddx implementations. 2013-09-25 03:00:57 +00:00
Ryan Houdek ae75f92b2a [ARM] psq_lx/psq_lux/psq_stx/psq_stux implementations. Four more instructions that JIT64 doesn't have. 2013-09-25 02:22:52 +00:00
Ryan Houdek cd646d89e2 [Android] The issue with the dynamic UBO access on Adreno platforms was fixed with v41 of the video drivers. v41 and above of the video drivers fix the spiky polygon problems that are noticed ingames. 2013-09-25 01:50:02 +00:00
Ryan Houdek 357a7707a6 [ARM] ps_cmpu0/ps_cmpu1/ps_cmpo0/ps_cmpo1 implementations. 2013-09-24 21:13:33 +00:00
Ryan Houdek 74bc855f20 [ARM] ps_res implementation. 2013-09-24 21:00:50 +00:00
Ryan Houdek 3b1b0d3fb5 [ARM] ps_div implementation. 2013-09-24 20:46:57 +00:00
Ryan Houdek 94a731b49d [ARM] fctiwx implementation. 2013-09-24 20:37:10 +00:00
Ryan Houdek 482170c3ea [ARM] Implement subfic with optimizations stolen from JIT64. 2013-09-24 19:01:03 +00:00
Ryan Houdek 405aa30cb8 [ARM] Fix fastmem... 2013-09-24 18:03:06 +00:00
Ryan Houdek 8e2e5a4e70 [ARM] Have both fastmem and non-fastmem paths for floating point loadstores because fastmem is completely broken garbage on Android at this point in time. 2013-09-24 17:40:12 +00:00
Ryan Houdek 5866859ff0 Screw you comex, this doesn't even make any damn sense. 2013-09-24 17:25:13 +00:00
Ryan Houdek eb6ed3e42a [ARM] Change all floating point loadstores to fastmem implementations except lfs since all floating point accesses tend to be to RAM space. lfs tends to get used to write quickly to the gatherpipe and other places, look at the JIT64 implementation to see how to make it quicker. 2013-09-24 05:41:58 +00:00
comex 29dc253fde Improve context structure handling on non-Windows.
Instead of copying data into and out of a fake CONTEXT structure with
only a few entries, use the platform specific structure directly with a
typedef and macros.  This is needed because fastmem writes need to be
able to access any register from BackPatch.  It adds a fair number of
repetitive defines, but it's better than the alternative.
2013-09-24 01:38:27 -04:00
comex 4cdce55615 Don't define _M_IX86 on ARM(!).
Also define _M_* in a common location, and clean up code that these
changes break (including DSPJit files that assume X86 yet are compiled
on ARM for some reason...)
2013-09-24 01:30:41 -04:00
comex a7f2160a0f Remove "educational purposes only" from about message.
Dolphin is obviously not marketed as being for educational purposes
only, and claiming otherwise in the about screen would not have any
legal weight, so don't insult everyone's intelligence.
2013-09-24 01:14:56 -04:00
comex 2f384c75d2 Only include scmrev.h from Version.cpp.
This way less code has to be rebuilt whenever that file gets
regenerated.
2013-09-24 01:14:56 -04:00
comex 1bf2c03a99 Fix my stupid attempt to depend on the entire Data/Sys directory.
Instead, if SKIP_POSTPROCESS_BUNDLE is on, just use a symlink, and if
it's off, always run the install.
2013-09-24 01:14:56 -04:00
Scott Mansell 0696fc93b2 Merge branch 'fix-field-ordering'
Fixes 6387
Closes 6635
2013-09-24 13:47:20 +12:00
Ryan Houdek 41ab4a2275 Nevermind the previous commit, SafeLoadToEAX already calls in to UnsafeLoadToEAX if fastmem is enabled. This one just tidys up the code. 2013-09-24 01:40:19 +00:00
Ryan Houdek aa41978834 Enable fastmem for the lfs instruction for unix and OSX as well. 2013-09-24 01:34:08 +00:00
Ryan Houdek 3fe8134f3b [ARM] lfsux/lfdx/lfdux/stfsx/stfsux/stfdx/stfdux implementations. 2013-09-24 01:17:24 +00:00
comex f81df136c2 Add an explicit error message for outdated GCC, and remove some commented out code. 2013-09-23 15:01:38 -04:00
Rachel Bryk 1745bfdc45 Fix crash in gc games in netplay. 2013-09-23 11:07:15 -04:00
comex 299421a02a Don't call into wx in static initializers - crashes on Windows. 2013-09-23 02:58:04 -04:00
Rachel Bryk 0bdef3932f Automatically connect the appropriate wiimotes in netplay. Extensions must still be set manually. 2013-09-23 02:56:17 -04:00
Ryan Houdek 96a77f9feb [Android] Fix the ability to stop the game and start another. 2013-09-23 01:43:18 -05:00
Scott Mansell 440353a3a1 Remove all refrences of field ordering from video backends.
They were unused.
2013-09-23 18:29:31 +12:00
Scott Mansell 4d3c41c8a2 Fixed issues with feild ordering.
This commit fixes issues with PAL games which use the incorrect feild
ordering.
We move all code that deals with indivudal fields from the indivudal
video plugins and VideoCommon and make VideoInterface always pass in
the start address of the whole XFB into VideoCommon.
2013-09-23 16:31:27 +12:00
comex c8c83f7b8a Remove FifoQueue iterator and RemoveThreadsafeEvents.
No point making a whole iterator class for the sake of a function that
doesn't need to exist.
2013-09-22 23:14:42 -04:00
Rachel Bryk 0a093cf1b9 Why do compilers assume i don't know order of opperations? :( 2013-09-22 22:01:25 -04:00
comex e82c9e616d operator= is a function too! std::forward is still appropriate.
Fix the potentially unsafe use of std::move I added to FifoQueue.
2013-09-22 21:15:58 -04:00
degasus 573dbfd494 ogl: drop glsl120 support 2013-09-22 23:45:14 +02:00
Rachel Bryk 12e7c22006 Fix recording netplay with wiimote. 2013-09-22 17:32:11 -04:00
comex 80b14e80b5 Fix crash when a player leaves in NetPlay.
The player ID was being written as int and read as PlayerId (u8).
2013-09-22 16:12:16 -04:00
comex 229b35bb6d When hosting, don't try to connect if listening failed.
If another instance of the server is running on the same computer, this
would cause Dolphin to confusingly connect to it.
2013-09-22 16:11:47 -04:00
comex 17e753faf3 Fix FifoQueue's atomicity on ARM.
Theoretically.
2013-09-22 16:08:09 -04:00
comex c3b9f3556f Make CoreTiming's threadsafe events lock-free.
Not sure if this actually helps in practice, but might help in
pathological cases, and almost certainly can't hurt.
2013-09-22 16:08:01 -04:00
comex 7fe440340f Improve Atomic.h:
- For GCC, use intrinsics that will work on ARM.
- Add AtomicExchangeAcquire.
- Make Atomic{Load,LoadAcquire,Store,StoreRelease} work for any suitable type.
2013-09-22 16:07:45 -04:00
comex 6209067daa Fix stack misalignment fix. 2013-09-22 15:48:27 -04:00
Rachel Bryk 9a6f28fce4 Revert "Fix stack misalignment issues."
This reverts commit d334a9bc23.

This breaks single core.
2013-09-22 14:29:35 -04:00
Rachel Bryk f3469c16a5 Merge branch 'wiimote-netplay'
Conflicts:
	Source/Core/Core/Src/NetPlayClient.cpp
	Source/Core/Core/Src/NetPlayClient.h
	Source/Core/Core/Src/NetPlayProto.h
	Source/Core/Core/Src/NetPlayServer.cpp
	Source/Core/Core/Src/NetPlayServer.h
	Source/Core/DolphinWX/Src/NetWindow.cpp
	Source/Core/DolphinWX/Src/NetWindow.h
2013-09-22 14:27:52 -04:00
Rachel Bryk 75129dc3a7 Merge branch 'to-merge-after-4.0' 2013-09-22 10:58:24 -04:00
Pierre Bourdon 323ecdb772 Ship vcomp100.dll with Dolphin 2013-09-22 16:00:56 +02:00
Pierre Bourdon 1f95a294cd Add the new 'Clean' themes from MaJoR and default to Clean by changing the name of the config key (yes, hack) 2013-09-22 16:00:56 +02:00
Pierre Bourdon 196953c50a Use the new Dolphin icon 2013-09-22 16:00:39 +02:00
Scott Mansell 4758ef9a9e Merge commit 'fa8a4cdbb57e' 2013-09-22 15:25:10 +12:00
Pierre Bourdon 91c0e02609 Don't require running Dolphin in the directory that contain Languages/ on Windows 2013-09-21 21:17:47 +02:00
Glenn Rice d321aa7e7a Pull in translations from Transifex. 2013-09-21 11:24:33 -05:00
Scott Mansell 1fb373f439 Stop dolphin from loading help.png
It was never used, just wasting time and resources.
This patch simply deletes two lines of code.
2013-09-21 06:34:50 +02:00
Rachel Bryk d2c3222fcc Fix copying Sys/Wii to User/Wii on startup.
Fixes issue 6621.
2013-09-21 00:34:19 -04:00
comex d334a9bc23 Fix stack misalignment issues.
- Call ABI_AlignStack even on x86-64.

- Have ABI_AlignStack respect the difference in current alignment
  between the root JIT function, which has a prolog, and
  ProtectFunction thunks, which do not.  This was causing many games
  to crash on start on OS X.  Since this might otherwise mean changing
  the stack pointer before every call...

- Have one prolog/epilog function rather than two (one of which
  definitely did not do what it was thought to do), and make it
  actually work like a normal one, so that the stack frame shows up
  properly in the debugger.  There should be no performance impact.
2013-09-20 16:46:48 -04:00
LPFaint99 95aac4ff68 if a memcard is set to read only, fail more gracefully by reporting when writes to the file fail instead of saying that the file does not exist. 2013-09-20 12:08:58 -07:00
Lioncash 86d70cee15 Turns out CVTSD2SI in x64Emitter.cpp should actually use 64 bits instead of 32. Thanks for pointing that out hk.konpie. 2013-09-20 14:50:27 -04:00
Ryan Houdek 85f067780a [ARM] Reenable flush per instruction with FPR cache. Something is still very wrong. 2013-09-19 02:08:20 +00:00
Ryan Houdek 930f997f04 [ARM] Fix and optimize mtcrf. 2013-09-19 02:08:19 +00:00
Ryan Houdek 1b1b5d2100 [ARM] MicroOps in the branching instructions. 2013-09-19 02:08:19 +00:00
Ryan Houdek 5158aea4dc [ARM] Fix misuse of RBIT in crXXX, meant to use MVN. 2013-09-19 02:08:19 +00:00
Rachel Bryk dc73222bfc Remove suggestion to restart dolphin if a wiimote movie desyncs, since it's no longer necessary. 2013-09-18 21:51:37 -04:00
comex ae607ea1e9 Fix missing md5thread.detach() 2013-09-18 21:48:23 -04:00
Ryan Houdek 452fd84bbd [ANDROID] Fix ARM JIT. Is due to Android using softfp instead of hardfp. 2013-09-18 17:21:22 -05:00
Ryan Houdek 6fc2117503 [ARM] Enable VMOV to move from double VFP reg to two ARM registers. 2013-09-18 17:21:22 -05:00
Lioncash af951f467e [InputCommon] Fix a bug in ControllerInterface::UpdateOutput() in ControllerInterface.cpp. The variable ok_count was never incremented, which caused the function to always return false. 2013-09-18 10:09:32 -04:00
Lioncash d03fb11188 Fix an incorrect opcode for an SSE instruction in x64Emitter.cpp. CVTSD2SI should write 0x2D, not 0xF2.
Also format the NormalSSEOps enum.
2013-09-18 07:43:31 -04:00
Pierre Bourdon 86f6e8cc1e Better fix for issue 6614: ISOProperties should store integer settings for PHack booleans. INIFile is stupid, please kill it with fire. 2013-09-18 12:33:57 +02:00
Pierre Bourdon 7aa98a3830 Fix loading of the 'projection hack enabled' gameini setting
Fixes issue 6614.
2013-09-18 12:23:46 +02:00
Ryan Houdek 24a44ecfb8 [ANDROID] Add two new DriverDetails bugs for Adreno. V45 of the driver has broken shader compilation with UBOs in the shaders, this is most likely fixed with V53 found in the Nexus 5. Add a bug for issue surrounding on screentext and doing a glClear after swap causes screen swizzling and zero frames rendered respectively. On the Java side, pass in the dimensions of the screen swapped since there is an issue with Adreno where it rotates the output 90 degrees for some reason. Disable the GLSL shader cache on Android for now due to the inability to cleanly exit the emulator, this tends to cause the cache to get corrupted. All this together fixes rendering with Adreno 3xx GPUs with driver version v14 and above. In particular my Galaxy S4 still resets with this without the root commands, but my HTC Droid DNA and LG G2 is fine. This must be due to particular 'enhancements' that the Samsung kernel has over the other ones. The speed on Adreno has yet to be optimized, so it will most likely be slow still. Faster than the software rasterizer in any case. The ARMJIT is still broken in at this point, so not much fun can be had. 2013-09-18 02:37:10 -05:00
Lioncash 197b317357 Fix indentation in function PSO_MakeSaveGameValid() in GCMemcard.cpp.
Also move the iterator variable for a for loop into the loop statement in function CARD_GetSerialNo()
2013-09-17 21:27:37 -04:00
Ryan Houdek 39a8645ffc [ARM] Fix the FPR cache to not have to dump registers after every instruction. Add mullwox instruction. 2013-09-17 22:08:23 +00:00
Ryan Houdek 06062d5744 [ARM] Fix VSQRT/VCMP/VCMPE/VCMPE0/VCMP0 emitters when using the high 16 double registers. 2013-09-17 22:08:23 +00:00
Pierre Bourdon ec9c395f4f Add WBFS to the file extensions supported by Dolphin on OSX 2013-09-17 16:50:44 +02:00
Pierre Bourdon e34d8aee1d Add * to the characters leading a verbatim line (used in Gecko codes comments) 2013-09-17 16:50:44 +02:00
Rachel Bryk 47ce3dd09d Really fix reading projection hacks from game inis. 2013-09-17 10:44:47 -04:00
Rachel Bryk e3d01de01d Fix reading projection hack from game inis in ISOProperties. 2013-09-17 10:40:12 -04:00
Rachel Bryk ec5cf60f5e Set L/R buttons in tas input, instead of just the analog triggers.
Fixes issue 6613.
2013-09-17 09:56:45 -04:00
Ryan Houdek 302e9c891b [ARM] crand/crandc/creqv/crnand/crnor/cror/crorc/crxor/mcrf/mfcr/mtcrf/mtsr/mcrxr/mfsr implementations. 2013-09-17 11:00:16 +00:00
Ryan Houdek dcf74ef2b3 [ARM] Renables load instructions with update. 2013-09-17 11:00:15 +00:00
Lioncash 38c7d38800 Fix two wrong opcodes in the x64Emitter. PEXTRW and PINSRW were actually writing PCMPGTB opcodes. Thanks for the help Sintendo. 2013-09-16 15:59:31 -04:00
Ryan Houdek 1529bb48c8 [ARM] Flush the fpr cache between every instruction. Do this until I figure out what is destroying the FPR register states. 2013-09-16 15:44:41 +00:00
Ryan Houdek 9b9526fba2 [ARM] Add dcbt/dcbtst/dcba noops. 2013-09-16 15:13:37 +00:00
degasus 75f2738f5c VideoCommon: fix ogl lighting bug which happens because of NaN emulation
attn is sometimes very big (eg 1e27), so attn*attn doesn't fit into a float.
So the funny part here is: 0.0 * (1e27*1e27) = 0.0 * Inf = NaN

As the shader compiler is allowed to change the order of multiplications,
this issue isn't fixed completely.
2013-09-16 17:10:19 +02:00
Ryan Houdek 98fb4c146e [ARM] ps_sel implementation. 2013-09-16 14:05:50 +00:00
Ryan Houdek cba2dd01bc [ARM] Remove extraneous BKPT from ps_rsqrte. 2013-09-16 13:39:02 +00:00
Ryan Houdek a0a0c526ae [ARM] ps_rsqrte implementation. 2013-09-16 12:59:34 +00:00
Ryan Houdek 7d410ec95c [ARM] VRSQRTE NEON emitter. 2013-09-16 12:58:20 +00:00
Ryan Houdek 5a9cb84ae2 [ARM] ps_nmadd/ps_nmsub implementations. 2013-09-16 12:03:08 +00:00
Ryan Houdek b7f47bc2e1 [ARM] rlwnmx implementation. 2013-09-16 11:53:22 +00:00
Ryan Houdek 43f2313ef9 [ARM] Implement ps_msub. Minor optimizations. 2013-09-16 11:53:21 +00:00
Ryan Houdek 0bcc20ca5b [ARM] fcmpo/fcmpu implementations. 2013-09-16 08:57:51 +00:00
Ryan Houdek c56ecce840 [ARM] fctiwzx implementation. This isn't implemented in JIT64 and it is unstandeable why it isn't. 2013-09-16 07:49:16 +00:00
Ryan Houdek beb41a8f56 [ARM] Add NEON VORR and fix encoding on NEON VEOR. Remove VMRS_APSR because it is the same as VMRS(PC) 2013-09-16 07:49:16 +00:00
Pierre Bourdon f0fc611f15 Add a hacky check for text file size in ReadFileToString. Fixes issue 6455. 2013-09-16 06:57:44 +02:00
LPFaint99 a7e1fb81b1 Merge branch 'wad_gamenames' 2013-09-15 21:38:31 -07:00
Pierre Bourdon 037199c326 Look for portable.txt in the exe directory and activate portable mode if it exists 2013-09-16 05:46:07 +02:00
Pierre Bourdon 2c350a5e6b Fix INIFile ignoring the last line of files 2013-09-16 05:28:14 +02:00
Rachel Bryk b4c082f1b3 No, i don't check what i committed before pushing to master, one week before a release.
Fixes a mistake from  550c855ae6.
2013-09-14 22:58:32 -04:00
Rachel Bryk 550c855ae6 Create blank ini file before editing it, if it doesn't already exists. This prevents the editor from prompting to create it. 2013-09-14 20:30:42 -04:00
LPFaint99 5d202ae9ea proper fix for issue 6206 2013-09-14 15:09:58 -07:00
Pierre Bourdon 24e9aedc14 Merge branch 'global-user-directory'
Please read https://wiki.dolphin-emu.org/index.php?title=Controlling_the_Global_User_Directory
for documentation about this feature.

Thanks to neobrain and RachelB for their work on this change, and thanks to
everyone who helped test it.
2013-09-14 19:24:27 +02:00
Pierre Bourdon 4ef5624f1f Change the name of INI options for memcard paths and NAND path to make migrating User directory from non-global to global easier 2013-09-14 17:46:41 +02:00
Pierre Bourdon 501eafb407 Overlay local gameinis over global gameinis instead of copying.
Huge megacommit because a lot of things needed to be modified to make this
possible.
2013-09-14 17:46:41 +02:00
Ryan Houdek e56071f2be [ARM] slwx/srwx/srawx implementations. 2013-09-14 09:07:34 +00:00
Ryan Houdek 81d7986202 [ARM] Add LSRS emitters, and ASR{S} register emitters. Fixes encoding in LSR emitter. 2013-09-14 09:06:49 +00:00
Ryan Houdek 53498dafeb [ARM] fmaddsx and fmaddx implementations. 2013-09-14 05:52:09 +00:00
Ryan Houdek be4277e8a1 [ARM] stmw implementation. 2013-09-14 05:16:18 +00:00
Ryan Houdek c211d06ad2 [ARM] stfd and stfdu implementations. 2013-09-14 05:09:46 +00:00
Ryan Houdek 6fe86f1fd1 [ARM] cntlzwx implementation. 2013-09-14 04:29:37 +00:00
Ryan Houdek ef2ea31eac [ARM] ps_madds0 and ps_madds1 implementations. 2013-09-14 04:12:57 +00:00
Pierre Bourdon cf4c39d2be IniFile: Support extending the list of loaded keys and sections with data from other ini files.
Changes a lot of parsing code which previously was not aware of the notion of
key/value, and operated only with raw lines. Now key/value is the default and
lines are handled as raw only if they do not contain =, or they start with $ or
+ (for Gecko/AR compatibility).
2013-09-14 06:08:31 +02:00
NeoBrainX d1e96c7282 Display warning OSD messages when a game ini is overriding any settings. 2013-09-14 06:08:31 +02:00
Pierre Bourdon aa202c2e21 Move global gameinis from User to Sys. Get rid of SHARED_USER. 2013-09-14 06:08:30 +02:00
Pierre Bourdon 86e765f3eb Move Themes/ from User to Sys. Only Gameinis remain. 2013-09-14 06:08:30 +02:00
Pierre Bourdon 91a758b342 Move TextureDecoder.cl from User to Sys 2013-09-14 06:08:30 +02:00
Pierre Bourdon c3eec379df Move global User/Wii to Sys/Wii 2013-09-14 06:08:30 +02:00
Pierre Bourdon e7213ca4b1 Overlay the user Shaders/ over the shared one to avoid copying files 2013-09-14 06:08:30 +02:00
Pierre Bourdon 6bdb6585d6 Overlay the user Maps/ over the shared one to avoid copying files 2013-09-14 06:08:29 +02:00
Pierre Bourdon b587af3ea3 Change the initial user directory creation to stop special casing Windows 2013-09-14 06:08:29 +02:00
Rachel Bryk dfcef6890e Use global user directory on windows.
Can override by setting HKCU\Software\Dolphin-emu\LocalUserConfig to true.
2013-09-14 06:08:29 +02:00
Ryan Houdek 4512813cf9 [ARM] lfdu and stfsu implementations. 2013-09-14 04:00:40 +00:00
Ryan Houdek 0ae8fa964d [ARM] lfsu implementation. 2013-09-14 03:51:32 +00:00
Ryan Houdek aaf8e92f78 [ARM] Fixes srawix implementation. 2013-09-14 03:00:33 +00:00
Jasper St. Pierre f830b85d10 NetPlayServer: Drop all the pads for a client when she disconnects
This makes intuitive sense, and prevents issues with users stealing
up all the pads and requiring admin intervention to participate.
2013-09-13 21:33:11 -04:00
comex 0040e66282 Merge branch 'geckoos-fix'
Fixes issue 6551.
2013-09-13 18:18:51 -04:00
comex e15e30602c Fix HLE_HOOK_START in the interpreter. 2013-09-13 18:18:20 -04:00
comex e62bc44f15 Use d01f1bad for the gameid check in RunCodeHandler rather than the actual ID.
This avoids conflict with the icache hack.  codehandleronly.s does not
actually use the gameid, so it shouldn't matter.
2013-09-13 18:14:56 -04:00
comex e6cd3b3283 Fix placement of HLE::Patch to not get overwritten by HLE::PatchFunctions.
(This applies to the existing HBReload hook, which would be erased in
various circumstances depending on the type of file loaded.)
2013-09-13 15:31:51 -04:00
comex a316e2f182 Hook the Gecko codehandler to invalidate the icache.
The codehandler is broken and does not do this itself.  This is a hack,
but a lot simpler than the alternatives.
2013-09-13 15:31:51 -04:00
comex 354b205dec Return correct value to fix libogc's IOS launch sequence. 2013-09-13 15:31:50 -04:00
comex 1f8237c570 Fake ticket views for missing IOS title. 2013-09-13 15:31:50 -04:00
comex 868ab1918b Reset es_inuse upon Reset. 2013-09-13 15:31:50 -04:00
comex 39a524f47d Returning false from an IPC_HLE method should not produce an INFO_LOG.
It's commonly used to delay replying to a message and is in no way an
error.
2013-09-13 15:31:50 -04:00
Ryan Houdek 1680f27739 [ARM] Disable loadstorepaired instructions when fastmem is disabled. 2013-09-12 23:07:19 -05:00
Jordan Woyak ef1d33647f Improve the ArraySize function a bit now that c++11 isn't forbidden there. Error messages should be friendlier now. 2013-09-12 12:57:13 -05:00
Pierre Bourdon 44066326ff Hack the gettext detection a bit to fix translations not working on OSX buildbot builds 2013-09-12 18:22:31 +02:00
Ryan Houdek c1ddeacc9d [ARM] Removes extraneous fpr.Flush 2013-09-12 10:31:29 +00:00
Ryan Houdek aa8f0c2ca4 [ARM] Fixes ps_madd implementation. 2013-09-12 10:30:52 +00:00
Ryan Houdek 8882d27689 [ARM] Fixes the ps_merge00 and ps_merge10 implementations. They both had the potential to overwrite the source registers in the moves. 2013-09-12 10:17:27 +00:00
Ryan Houdek 749b62fcd9 [ARM] Fixes orcx implementation. 2013-09-12 09:55:55 +00:00
Ryan Houdek e1d510c2dc [ARM] Disables loadstores with update because they are broken. 2013-09-12 09:40:10 +00:00
Ryan Houdek 2c33bab1a6 [ARM] lfsx implementation. 2013-09-12 07:52:19 +00:00
Ryan Houdek fa5499e046 [ARM] Disable lmw when fastmem is disabled. 2013-09-12 02:51:38 -05:00
Glenn Rice acbdcc8ea0 Use the POLARSSL_LIBRARY variable to set the link library. This fixes a
possible linkage issue when multiple versions of the library are around.
2013-09-11 22:09:49 -05:00
comex b9c1af04ad Replace the one use of CompileTimeAssert with static_assert (already used elsewhere). 2013-09-11 20:58:47 -04:00
comex 9ee50a2730 Merge branch '6584'
Fix for XP and lifetime issues on Mac.  Fixes issue 6584.
2013-09-11 20:47:27 -04:00
Jordan Woyak fde3815d34 Replace ARRAYSIZE macro with another ugly macro. At least this will throw an error for a non-array and won't conflict with Windows macro names. 2013-09-11 19:19:36 -05:00
Jordan Woyak ce49964dfe Fix "modifier" button functionality et al. 2013-09-11 17:48:04 -05:00
degasus 3fcdf5e25b VideoCommon: use memcmp to compare shader uid 2013-09-11 17:34:23 +02:00
Jasper St. Pierre 2b10142b4f Remove a bunch of old HLE junk
This hasn't been used since 2008
2013-09-10 22:35:52 -04:00
comex 56686666d6 Fix ES_DECRYPT.
ES_DECRYPT is usually called with the in IV parameter equal to the out
IV parameter.  Dolphin was preemptively zeroing out the out buffer,
causing it to read zeroes for the IV.  (Also be more correct when those
parameters *aren't* equal.)

Dolphin now has the dubious honor of having an exploit (smashstack) work
in it.  It crashes in Project M, though.
2013-09-10 17:09:37 -04:00
Shawn Hoffman 484130049d On windows, ignore WM_QUERYENDSESSION and close upon WM_ENDSESSION.
The messages can come through CFrame::MSWWindowProc and the wxApp implementation, so make sure to catch both.
Fixes issue 6546.
2013-09-10 03:14:21 -07:00
Shawn Hoffman 2d492bdc4f Revert "Leak an object when quitting Dolphin to try and fix issue 6546"
This reverts commit 380b780dd1.

Revert "Move the CFrame::ClosePages call from ~CFrame to CFrame::OnClose"
This reverts commit e29de302a6.
2013-09-10 01:04:29 -07:00
comex 4add0f55e0 Fix SDIO HLE writing garbage to memory.
When servicing a write-register request, it wrote the contents to the
register offset plus 0x8d070000, which corresponds to the actual
hardware registers, presumably in case the application wanted to read
them directly rather than with a read-register request.  WriteToHardware
doesn't handle cached writes to registers, so it decided the address was
RAM, applied RAM_MASK, and happily wrote the register contents to
0x81070000, causing random corruption.  Since the PPC does not normally
have access to those registers, there is no reason to be doing this in
the first place.  Use a member to store these values instead.

(Also add a proper DoState.)
2013-09-09 23:57:51 -04:00
Pierre Bourdon e29de302a6 Move the CFrame::ClosePages call from ~CFrame to CFrame::OnClose 2013-09-09 18:49:10 +02:00
Pierre Bourdon 380b780dd1 Leak an object when quitting Dolphin to try and fix issue 6546 2013-09-09 18:44:21 +02:00
Rachel Bryk 0d341e9f28 [NetPlay] Fix copy and paste error. 2013-09-09 03:12:42 -04:00
Rachel Bryk 772046647a Revert "Revert "NetPlay: Use the correct pad mappings for rumble""
This reverts commit 06140e8083.
2013-09-09 03:09:45 -04:00
comex 06140e8083 Revert "NetPlay: Use the correct pad mappings for rumble"
This reverts commit 92c846de45.

It breaks NetPlay entirely for me.
2013-09-09 02:39:28 -04:00
degasus 3ec9f9b64a videoCommon: also reset logicOp on mode switch 2013-09-09 02:30:44 +02:00
comex fe0a450ee4 Don't request authentication (aka I should actually test before committing). 2013-09-08 19:32:14 -04:00
comex 22d9331b96 Improve IOdarwin -
Add requestAuthentication, which might help someone who can't sync, and
better error reporting.
2013-09-08 18:15:49 -04:00
Ryan Houdek 4146e1f3d6 [ARM] Implement psq_st. Optimizations in psq_l and fix all the remaining bugs...except clamping within the max value range of the value. Causes some minor visual effects mostly. 2013-09-08 21:56:17 +00:00
Ryan Houdek c1aa80cefa [ARM] Add support for double registers in VMOV(immediate). Add VEOR and VSTR1. Fix some minor encoding bugs. 2013-09-08 21:56:17 +00:00
NeoBrainX 3db2108dbb Add two buttons to the ISOProperties dialog so that we still meet string freeze deadline. 2013-09-08 21:04:03 +02:00
Jasper St. Pierre 92c846de45 NetPlay: Use the correct pad mappings for rumble
Rename the functions around so we don't get confused again, too.
2013-09-08 13:54:05 -04:00
Ryan Houdek ba0c52b104 [ARM] Optimization to psq_l, no need to push/pop regs anymore. Implement support for single float loading, gives a decent speedup to Ikaruga in menus and game. 2013-09-08 08:18:34 +00:00
Ryan Houdek e5b5713d70 [ARM] Optimize that fastmem load/stores minimally. 2013-09-08 07:37:03 +00:00
Ryan Houdek 2126f405e0 [ARM] 1 instruction optimization for psq_l 2013-09-08 07:25:59 +00:00
Ryan Houdek e6af4970d8 [ARM] Use NEON for loading the values from psq_l, gives a minimal performance increase. This change also begins a new NEONXEmitter for having cleaner support for NEON. 2013-09-08 07:07:15 +00:00
comex 8b4f0ef034 IODummy needs it too. 2013-09-07 16:17:00 -04:00
comex b31502893f Fix lifetime issues in IOWakeup. 2013-09-07 16:13:39 -04:00
comex f4586570ac Use SetEvent instead of CancelIoEx for XP compatibility. 2013-09-07 15:43:17 -04:00
Ryan Houdek 31b69c53f7 [ARM] Implement psq_l for 2x float loads. Couldn't find a game using quantized loads. Huge speed boost to Ikaruga and THP movies with this one. 2013-09-07 17:44:10 +00:00
Ryan Houdek 614a7c2081 [ARM] Clean up some host side register allocations I missed. 2013-09-07 17:44:10 +00:00
Glenn Rice cf09974d61 Merge branch 'translate-about' 2013-09-07 09:56:54 -05:00
Rachel Bryk 33fb1b562f Move some code from NetPlayClient.h to NetPlayProto.h, and only include that outside of NetPlay. 2013-09-07 00:27:35 -04:00
Rachel Bryk 2bc44f98c3 Disable gui controls for gc controllers and memory cards during netplay and movies. 2013-09-07 00:06:03 -04:00
Glenn Rice f1c6357750 Enable translation of the about dialog. 2013-09-06 21:02:11 -05:00
Matthew Parlane d25a8bb6cb Fix reply after shutdown error.
Fixes Issue 6577
2013-09-07 13:07:00 +12:00
Ryan Houdek 67c65831bc [ARM] Make fnabsx and ps_nabs quicker. Sleep deprivation got the better of me. 2013-09-07 00:35:12 +00:00
Ryan Houdek ef05a14757 [ARM] Clean up FPR cache. Rapid fire floating point instruction implementations. Adds 13 new instructions. 2013-09-07 00:19:32 +00:00
comex cd7b97f767 Make JITDISABLE not defeat grep. 2013-09-05 18:38:47 -04:00
Rachel Bryk 3baab41cf4 Allow input display to work with netplay even when not recording. 2013-09-05 16:09:56 -04:00
skidau b2657f6a9b Re-added the HLE code that creates the cdb.vff file on first launch of the Wii sysmenu.
Revert "Remove HLE_IPC_CreateVirtualFATFilesystem as it no longer takes 3 minutes to LLE like the comment says."

This reverts commit 5d47fd1dde.
2013-09-05 21:29:04 +10:00
comex 2fb0147967 Merge branch 'comex-wiimote-fixes'
Should fix issue 6574.
2013-09-05 06:13:33 -04:00
Ryan Houdek a7f244e96d Revert "Revert "[NetPlay] Make the Memory Card A/B setting sync across netplay.""
This reverts commit 5696da0b3e.

JMC messed up, it wasn't due to this commit.
2013-09-04 19:16:28 -05:00
Pierre Bourdon 7acee71c0c Move swapModeTable to a local variable, avoids shader uid generation writing to it 2013-09-04 23:23:29 +02:00
Pierre Bourdon 175707739e Move LightingUidData to the LightingShaderGen header 2013-09-04 23:23:29 +02:00
Lioncash 30da36dd1e Fix an incorrect sizeof in a memset in GDBStub.cpp 2013-09-04 09:01:44 -04:00
comex 8992f58720 Fix Wiimote thread wakeup on externally-triggered destroy. 2013-09-04 05:32:32 -04:00
comex dc87b6d431 Fix OS X code.
- Close the connection properly on destruction.

- Work around what seems like an Apple bug.
2013-09-04 05:32:13 -04:00
comex 872e9ce3da Add accidentally omitted code in last commit.
(m_wiimote_thread_run_loop was being used but not set, causing
Wiimote::IOWakeup to crash on OS X; todo rebase this)
2013-09-04 04:39:18 -04:00
Ryan Houdek 5696da0b3e Revert "[NetPlay] Make the Memory Card A/B setting sync across netplay."
This reverts commit e110f1049c.

This unfixes issue 6575. Reverted due to huge performance hit on behalf of JMC.
2013-09-04 02:55:13 -05:00
comex 02fc68ea5d While we're at it, explicitly wake up the Wiimote thread rather than using a 1s timeout.
This only matters if reads are not constantly being completed by
reports anyway, but seems like a good idea.
2013-09-04 03:25:05 -04:00
comex 906de748bd Refactor thread handling to fix OS X bug.
On OS X, openL2CAPChannelSync registers events on the current
thread's run loop, so Connect needs to be called on a thread that's
going to do CFRunLoopRun; this was causing all Wiimote input to be
ignored.  Easiest way to do that is to use the Wiimote thread, and
have Read call CFRunLoopRun to block on events, bringing OS X's
Wiimote event loop in line with every other platform's.  This also
means that the thread can't be stopped and recreated by Prepare,
so make Prepare notify it instead, which has the side effect of not
making the GUI block on Prepare.  (It would be nice if the GUI also
did not block on searching for devices, because blocking the GUI
is gross, but for now...)
2013-09-04 03:24:00 -04:00
Ryan Houdek d0d053a9f9 Fix for old libc version on bionic. Old versions would crash if the second argument was NULL. 2013-09-04 02:04:31 -05:00
comex 0e949afa57 Remove dubious retain on OS X.
Revert this if the claimed crash actually shows up - or better, figure
out the actual cause.
2013-09-04 01:11:04 -04:00
comex e0214b1a38 Fix syncing wiimotes on OS X.
IOdarwin.mm was assuming that scanning was complete when the run loop
was stopped (which the scan callback does), but somebody else was
stopping the run loop first, causing the scan to be aborted.  Wait until
the scan is actually complete.
2013-09-04 01:04:51 -04:00
comex 1ea8b93667 Fix typo in log message in WII_IOB.cpp. 2013-09-04 00:03:05 -04:00
Ryan Houdek 7e26aace9f [ARM] Reenable ps_add. Issue is due to something in the FPR cache. Still needs to be investigated. 2013-09-04 03:27:45 +00:00
Ryan Houdek 8684b7635a [ARM] Reimplement fastmem for the few loadstores that had it before. 2013-09-04 02:07:57 +00:00
Rachel Bryk e9ffba7ab8 Don't ever ever let CFrame::DoStop() run twice at the same time. 2013-09-03 18:53:23 -04:00
Justin Chadwick e110f1049c [NetPlay] Make the Memory Card A/B setting sync across netplay.
Fixes issue 6575.
2013-09-03 17:41:52 -04:00
Rachel Bryk 8ae10b3e12 [NetPlay] Allow recording movies during netplay.
Fixes issue 6207.
2013-09-03 15:50:41 -04:00
Ryan Houdek 39ad48dfa5 [ARM] lmw implementation. 2013-09-03 09:55:15 +00:00
Ryan Houdek 30cd436e86 [ARM] Merge load instructions in to one. Also rapid prototype 13 more load instructions. This disables fastmem currently for loads. 2013-09-03 09:22:43 +00:00
Ryan Houdek d4d6eb562e [ARM] Fix and enable fastmem for 32bit stores. 2013-09-03 05:05:10 +00:00
Ryan Houdek cc2fa4a003 [ARM] Merge all store instructions in to one. This disables fastmem on stores currently. Hit isn't noticeable since I've also implemented 5 more store instructions with this. 2013-09-03 04:11:25 +00:00
Ryan Houdek dfce0f3b0b [ARM] Merge all store instructions in to one. This disables fastmem on stores currently. Hit isn't noticeable since I've also implemented 5 more store instructions with this. 2013-09-03 04:08:15 +00:00
Justin Chadwick 6b1c8f9d17 [Netplay] Read dual core setting before syncing it with clients.
Fixes issue 6573.

Fixes issue 6535.
2013-09-02 19:55:25 -04:00
comex 5b9254a1cd fix android. 2013-09-02 17:30:31 -04:00
comex 50520c7c3d Make fastmem work under a debugger on OS X.
Not only do debuggers catch the expected SIGSEGV by default, I'm not
sure there's a working way to configure either gdb or lldb not to.  This
commit uses an OS X-specific mechanism to add an exception handler that
runs before the default one.
2013-09-02 17:26:32 -04:00
comex 4c3230bcde Remove accessType from BackPatch's signature in favor of getting it from DisassembleMov.
It isn't easily accessible with sigaction or Mach exceptions (well,
requires an additional system call in the latter), and isn't necessary.

(and get rid of the enum, because it's only used once, and the comments
are more expressive than enum names)
2013-09-02 16:55:22 -04:00
Ryan Houdek a7f3264fed [ARM] Merge a bunch of arithmetic JIT instructions and rapid prototyping of a bunch more. 2013-09-02 14:15:37 +00:00
degasus 1b1cc82e5b rename vertex streaming hack tooltip
String is copyed from issue 6552.
2013-09-02 13:33:36 +02:00
Ryan Houdek 2897619ddb Removal of my terrible idea. 2013-09-02 05:31:48 -05:00
Ryan Houdek e7157e7c52 [Android] Fix fastmem and enable. 2013-09-02 04:10:21 -05:00
Ryan Houdek 831963616f [Android] Make texture loading/deleting/drawing backend non-specific by making them happen in the backend instead of somewhere else. Just a clean up commit really. 2013-09-02 01:40:05 -05:00
Lioncash 0219049c03 Fix an accidental duplicate if-statement handling of 0x1007 in WII_IPC_HLE_Device_net.cpp 2013-09-02 01:28:48 -04:00
comex 35b8dfbe0c A few more warnings. 2013-09-01 23:33:35 -04:00
comex 2630169229 More warnings: mark/avert truncating conversions from float. 2013-09-01 22:59:35 -04:00
comex 4f5729dd59 MSVC warnings. 2013-09-01 22:59:32 -04:00
comex de0a5fdfbb More trivial warning fixes. 2013-09-01 22:59:18 -04:00
comex c08f06f8c9 Fix IOCTLV_SO_GETADDRINFO.
It tried to cast incoming pointers to native ones.  The values are
required to be null anyway, so it doesn't really matter, but it fixes a
warning at least.
2013-09-01 22:58:40 -04:00
comex 186527544b Fix use of deprecated APIs in IOdarwin.mm. 2013-09-01 22:58:38 -04:00
comex 403744dee8 Fix use of deprecated screen resolution API.
(This is currently pointless, as the code in question is not used on OS
X anyway, but I'd like to see that option come back.  In any case, fixes
the warning)
2013-09-01 22:58:35 -04:00
comex fd7cf5bb71 A bunch of trivial changes to fix clang warnings. 2013-09-01 22:58:33 -04:00
comex 71fde876df A fix to my fix to my fix. Sorry.
(Avoid uninitialized m_pFile when loading WADs.)
2013-09-01 17:15:16 -04:00
Ryan Houdek b03ff7a86b [Android] Fix the game thread never leaving. 2013-09-01 01:10:40 -05:00
comex a6f6695ecd Work around MSVC bug, and make it less likely to happen again. Ew.
MSVC insisted on using a copy assignment where a move was intended and
ought to be used.  This would have been caught, because the class in
question inherits from NonCopyable, which declares a move assignment
operator, which is supposed to delete the implicitly declared copy
assignment operator, but of course MSVC didn't do that either, causing a
class that should have been safe to be unsafe.
2013-09-01 00:04:50 -04:00
comex 5209abeb03 Better error reporting for ES / NANDContentLoader. 2013-08-31 23:49:29 -04:00
Jasper St. Pierre 3e049a130b NetPlay: bump proto
As it changed with the pad mapping change.
2013-08-31 23:29:12 -04:00
Matthew Parlane ffe710b4e8 Recvfrom tidy and store laste error. 2013-09-01 15:15:55 +12:00
Matthew Parlane 1c106abf13 Fix sendto.
This fixes Opera, sorry [SS]
2013-09-01 14:30:07 +12:00
Matthew Parlane b11f14c6f7 Fix setsockopt. 2013-09-01 14:03:03 +12:00
Jasper St. Pierre 22f57cf07a NetPlay: Don't bother with the host's controller settings
Use the pad mapping to calculate the number of devices
we want, and add them on each client when we get the
message.
2013-08-31 21:18:14 -04:00
comex b187a38433 Fix inability to boot NAND contents caused by 04c41c1d38.
Might be nice to refactor this code to decrease duplication, but for now
just a fix.
2013-08-31 15:06:00 -04:00
Pierre Bourdon 751c2e69f6 Add a link to our documentations guides in Dolphin 2013-08-31 10:31:43 +02:00
Matthew Parlane 676d78ec41 Fixes accept.
Tested with network demo from devKitPPC :)
2013-08-31 18:47:19 +12:00
comex 11cffddbf7 Fix a trivial bug in b6728c1405. 2013-08-31 01:54:57 -04:00
comex 04c41c1d38 Fix loading DLC using IOCTL_ES_OPENTITLECONTENT & /dev/es state save.
(Intertwined enough that's it's easier to do in one patch.)

(1) /dev/es did not support state save, which could cause crashes and
    incorrect behavior after loading.

(2) NANDContentLoader tried to read all of a title's contents into
    memory when it was first opened.  Two issues:

- If any contents were missing, it bailed out.  However, with DLC,
  only some of the contents may be downloaded, as determined by the
  permission bits in the ticket.  Instead, return an appropriate error
  when a content is accessed that doesn't exist on the filesystem
  (don't bother checking the permission bits though).

- Everything was loaded into memory - even if it consisted of 3 GB of
  songs, which caused Dolphin to lag out for quite a while (and would
  fail on 32-bit).  Instead, open content on demand.
2013-08-31 01:38:52 -04:00
comex 4d6d4a97e4 Make NonCopyable use rvalue references.
This is required to be able to move objects that inherit from it.
(Note that this patch also #ifs out the class for the externals that
include it yet are compiled in pre-C++11 mode.  It shouldn't matter,
since those externals don't use it.)
2013-08-31 01:38:49 -04:00
Matthew Parlane c497d62836 Fix sysmenu test connection bug on Windows. 2013-08-31 16:44:53 +12:00
Lioncash 7ce3d846d5 Indent the code in the previous bug fix I did. Now there aren't braces on the same level as each other. Should have initially done this along with that commit. 2013-08-31 00:39:19 -04:00
LPFaint99 199c4e0d78 Merge branch 'wiiSaveExportFixes'
saves like super smash bros brawl, mario kart, etc which use simple copy restriction via the banner file are now able to be imported natively with the wii/wiiU system menu
save files which include subdirs are correctly packaged

NOTE: saves which include 'nocopy'/'nomove' folders will likely always require homebrew

adds feature to export all wii saves
2013-08-30 20:52:09 -07:00
Ryan Houdek df7b4da13b [ARM] Fastmem is back. Still disabled for Android. 2013-08-31 02:33:12 +00:00
Ryan Houdek 8b0a0daf10 Revert "[ARM] Remove Fastmem. It is buggy and may never have the potential to work correctly."
This reverts commit f485d96b0b.
2013-08-31 02:33:11 +00:00
Lioncash 93b0f46d34 Fix a tiny bug in CodeView.cpp. If statement with more than one line was missing braces. 2013-08-30 18:29:03 -04:00
comex b6728c1405 Avoid unnecessary bundle copies on OS X:
- Make "copy data into bundle" depend on the files actually being
  changed, rather than being run on every build.

- postprocess_bundle depends on system files and checking the Dolphin
  binary and all that, and would be iffy to try to avoid rerunning;
  but it's only needed to produce a redistributable bundle, so add
  SKIP_POSTPROCESS_BUNDLE to skip it for development.
2013-08-30 17:54:52 -04:00
Pierre Bourdon 6428137ca4 Set XAudio2 as the default audio backend 2013-08-30 19:12:46 +02:00
Ryan Houdek 710ac04084 [ARM] Fix the VMOV encoding to encode the destination VFP register correctly. 2013-08-30 05:13:43 -05:00