Commit Graph

8205 Commits

Author SHA1 Message Date
3679f9ba60 Don't push registers before pairedStoreQuantized, that's dumb.
And fix some stuff up.  It would probably be good to unify the stack
handling some more rather than having ABI_PushRegistersAndAdjustStack do
part of it and ABI_AlignStack the rest, causing unnecessary subtract
instructions on Linux x86 (only).
2013-10-04 15:48:06 -04:00
8c103a8dee ChooseMemcardPath bugfix: check for a directory separator before converting an absolute path to a relative path.
if the exe directory and the save directory had the same prefix, .../dolphin emulator/... and .../dolphin/... the path would previously have been incorrectly changed
2013-10-04 11:31:22 -07:00
a91469ffa5 Fix stfd, which was broken in the fastmem writes commit. 2013-10-03 18:22:35 -04:00
5e4665301b Finish replacing ThunkManager with ABI_PushRegistersAndAdjustStack.
As part of that, change SafeLoadToEAX to SafeLoadToReg, and have JitIL
use that, which should fix fastmem on JitIL.

This should also fix a potential stack corruption issue with x86.
2013-10-03 18:22:35 -04:00
a53dc6f981 Remove profiled re-JIT support in JitIL.
It's extremely unsafe, unused (not exposed in the GUI and not present in
any gameconfigs), and mostly obviated by fastmem.  Although this type of
thing could theoretically be useful someday for fastmem support with
MMU, it's probably not the best way to do it, the existing
implementation is way too simplistic, and it can always be dug up to
provide support for a new implementation if needed.

Not like it's a big deal to keep it working, but it really seems
pointless.
2013-10-03 18:22:12 -04:00
3b0c0e2500 Trap to the debugger properly after BackPatch failure. 2013-10-03 18:21:29 -04:00
fe3d0c9aa2 [ARM] Disable subfic, it prevents Wind Waker from booting into a save game. 2013-10-03 06:43:16 +00:00
cb3afe8f70 Warning fixes:
- Don't use %lu for size_t; they're different on Linux x86.

- has_warned_about_drivers is only used on win32, so only declare it
  there to avoid a unused variable warning.
2013-10-02 20:48:37 -04:00
1ec4894bc5 [Common] Abstract out the decode5A3Image and decodeCI8Image functions in BannerLoaderGC, BannerLoaderWii, and GCMemcard into ColorUtil.cpp. Makes for less copied code and remains functionally the same. 2013-10-02 18:18:54 -04:00
cd99e5e3a6 mtspr fall through to interpreter not needed for basic SPRs 2013-09-30 23:43:11 +13:00
d261dfaf46 Upgrade libusb to 1.0.16 2013-09-30 18:36:54 +13:00
3c53f2e5e0 [Android] Fix Fastmem on Android 4.2 2013-09-29 20:53:32 -05:00
1a008b9e62 Fix use of ABI_GetAlignedFrameSize. 2013-09-29 16:36:26 -04:00
ccbf2ac21a Match ABI_AlignStack with ABI_RestoreStack properly.
The relevant function is entirely unused, so it shouldn't have any
effect.
2013-09-29 14:59:13 -04:00
b0200219dd Add literally a million blank inputs in netplay when a wiimote changes reporting mode, just to make nsmbw sync. 2013-09-28 23:39:29 -04:00
853392b790 Use a separate section for enabled Gecko codes, like AR.
This properly fixes default gecko codes.

It makes perfect sense to have two separate cheat windows and two
separate code paths for the different code formats, right?
2013-09-28 23:38:40 -04:00
f57ff0a569 Support a gcm revision-specific game ini for cheats + partially fix gecko codes in default ini.
The local ini is not revision-specific because it would require renaming
everything.  Meh.
2013-09-28 23:38:25 -04:00
1ed06f1dc4 Reset wxTAB_TRAVERSAL.
Fixes issue 3903.
2013-09-28 23:00:56 -04:00
9c53a21c18 Allow setting DSP settings via game ini. 2013-09-28 08:31:28 -04:00
785171abb4 Change iTLBHack to a bool.
It is only used as a bool.

Fixes issue 6668.
2013-09-28 08:07:23 -04:00
cbd366236a Allow loading save states via drag and drop. 2013-09-27 08:38:12 -04:00
9a2c7df8dc Added a small disc access delay to fix the missing music in Super Monkey Ball 2. 2013-09-27 20:35:27 +10:00
bea76ac129 No need to std::move a return value. Thanks Billiard. 2013-09-26 21:15:35 -04:00
4542b9fcbb [Core] Fix a memory leak in NetPlayServer.cpp in function OnData(). 2013-09-26 15:42:22 -04:00
e37cb1fc76 Implement CR1 for the intepreter. To be honest I have no idea why this was never done previously, all it is is copying four bits from the FPSCR register to CR1. This fixes issue 2390. 2013-09-26 18:09:25 +00:00
4efc3e6c8f Quick build fix. 2013-09-26 07:50:24 +00:00
feaf65f2ae [Android] The dynamic UBO access isn't actually fixed, contrary to what rev cd646d8e236 said. I presumed it fixed with v4x drivers, but I didn't have the LG G2 with me to test 100% at the time. This won't afflict any Adreno device with v4x drivers since UBOs are disabled for them since they are _broken_. 2013-09-26 07:46:56 +00:00
ecca0045a9 Fix Imm8 check.
(I blame whoever made it take a u8 despite logically being a s8.)
2013-09-25 14:29:17 -04:00
691f76b826 [ARM] Implement CR1 setting for the few floating point instructions that I have setting the flags. For the rest, drop to interpreter if it sets CR1. At that point it'll spam a panic alert. I don't quite understand why Interpreter and JIT64/IL don't do this yet, it's a simple 4 bit copy. 2013-09-25 18:17:05 +00:00
54843ad1e8 Need to reload from XMM0 in this case. 2013-09-25 14:16:20 -04:00
74ee85aaac Fix linux, attempt 2. 2013-09-25 06:22:11 -04:00
f77b3ccf8a Fix linux, probably. 2013-09-25 06:13:44 -04:00
93f7622e16 Fix changing wiimotes when starting netplay.
AccessWiiMote() crashed for some users. Not sure why...
2013-09-25 05:44:16 -04:00
ebe4448749 Save only the registers that need to be saved rather than going through ProtectFunction. 2013-09-25 03:15:53 -04:00
2a339c926e Fastmem writes for x86-64. 2013-09-25 03:15:53 -04:00
18abc33306 2x banner images! 2013-09-25 03:06:27 -04:00
624c92f97e [ARM] fresx/fnmaddsx/fselx/frsqrtex/fnmaddx implementations. 2013-09-25 03:00:57 +00:00
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
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
357a7707a6 [ARM] ps_cmpu0/ps_cmpu1/ps_cmpo0/ps_cmpo1 implementations. 2013-09-24 21:13:33 +00:00
74bc855f20 [ARM] ps_res implementation. 2013-09-24 21:00:50 +00:00
3b1b0d3fb5 [ARM] ps_div implementation. 2013-09-24 20:46:57 +00:00
94a731b49d [ARM] fctiwx implementation. 2013-09-24 20:37:10 +00:00
482170c3ea [ARM] Implement subfic with optimizations stolen from JIT64. 2013-09-24 19:01:03 +00:00
405aa30cb8 [ARM] Fix fastmem... 2013-09-24 18:03:06 +00:00
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
5866859ff0 Screw you comex, this doesn't even make any damn sense. 2013-09-24 17:25:13 +00:00
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
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
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