Commit Graph

6192 Commits

Author SHA1 Message Date
Admiral H. Curtiss 92447fb052 Config: Add a boolean for PAL60, like the Progressive Scan one.
This decouples the Dolphin PAL60 option from the currently set value in the Wii SYSCONF file.
2015-06-13 02:09:19 +02:00
Ryan Houdek bcc8c78e4a Merge pull request #2582 from Sonicadvance1/aarch64_fix_thp_videos
[WIP] [AArch64] Clamp quantized store ranges.
2015-06-12 18:07:24 -05:00
degasus 9f929c8593 Hotkeys: Fix translation array 2015-06-12 19:32:50 +02:00
degasus c375111076 Options: merge SCoreStartupParameter into SConfig 2015-06-12 19:07:45 +02:00
degasus b9a9fcd26d Hotkeys: Fix missing hotkey strings 2015-06-12 13:59:22 +02:00
skidau 5ae1c07cd4 Merge pull request #2570 from Papermanzero/patch-1
Correction of emulated wiimote initialisation
2015-06-12 12:39:02 +10:00
skidau a2b3541160 Merge pull request #2559 from AdmiralCurtiss/wind-waker-pal60-fix
Fix issue with Wind Waker not displaying boot display options.
2015-06-12 11:58:37 +10:00
Admiral H. Curtiss 33f5aaf956 GameCube Config: Add option to override the NTSC auto language change.
Some NTSC games have translations on the game disc that can be accessed via the system language byte.
2015-06-11 18:40:41 +02:00
Admiral H. Curtiss ffe25da78a Boot: Automatically temporarily set GameCube language to 0 when booting NTSC games.
NTSC GameCubes have no Language setting, so the language byte in SRAM is always 0. Some NTSC games do react oddly and display unfinished translations and similar when the byte is set to a nonzero value that corresponds to a non-English language on a PAL GameCube. See issue 7731: https://code.google.com/p/dolphin-emu/issues/detail?id=7731.
2015-06-11 18:39:44 +02:00
Tillmann Karras d329147871 Interpreter: use std::isnan(x) instead of x != x 2015-06-10 14:31:08 +02:00
Tillmann Karras c7544719e2 Interpreter: optimize NaN checks
NaNs always propagate, so we can get away with only checking for NaN
inputs in the rare case that the result is NaN (as already done in
Jit64::HandleNaNs()).
2015-06-10 14:23:43 +02:00
Ryan Houdek 113c2dcd74 [AArch64] Clamp quantized store ranges.
Fixes block dots in THP videos.
Nintendo's THP video uses paired U8 stores to write their THP videos after decoding with floating point operations.
Paired stores clamp the range to the minimum and maximum values(0 - 255 in this case).
In some instances the resulting float will be larger than what a U8 can fit(Typically white) and results in black dots due to how AArch64 handles
quantizing.
2015-06-09 18:11:27 -05:00
Rohit Nirmal 46bad5291b Silence -Wreorder warning. 2015-06-09 11:35:53 -05:00
Matthew Parlane 39155007c7 Merge pull request #2545 from Tilka/accurate_nans
Jit64: optionally accurate NaNs
2015-06-09 17:53:28 +10:00
degasus d31bed8b79 Fifo: Rewrite SyncGpu
The new implementation has 3 options:
 SyncGpuMaxDistance
 SyncGpuMinDistance
 SyncGpuOverclock

The MaxDistance controlls how many CPU cycles the CPU is allowed to be in front
of the GPU. Too low values will slow down extremly, too high values are as
unsynchronized and half of the games will crash.
The -MinDistance (negative) set how many cycles the GPU is allowed to be in
front of the CPU. As we are used to emulate an infinitiv fast GPU, this may be
set to any high (negative) number.

The last parameter is to hack a faster (>1.0) or slower(<1.0) GPU. As we don't
emulate GPU timing very well (eg skip the timings of the pixel stage completely),
an overclock factor of ~0.5 is often much more accurate than 1.0
2015-06-08 23:16:24 +02:00
Papermanzero 47ea0e1089 Update WiimoteEmu.cpp
Should fix Issue 8209: Emulated Wiimote tilt is incorrect since 4.0-4543. 
Original changes can be looked at the link below and discussion about the issue can be followed within Issue 8209 at googlecode.
http://pastebin.com/yKA2nuGp

Thanks to hk.konpie for the fix.
2015-06-08 13:22:55 +02:00
Tillmann Karras aec38466d9 Jit64: optionally accurate NaNs
When AccurateNaNs is enabled, NaNs are handled accurately by checking
for NaN results and choosing the correct input NaN or replacing x86's
generated -QNaN with +QNaN.
2015-06-08 11:14:52 +02:00
Ryan Houdek 59e2225f7d Remove ARMv7 support. 2015-06-07 22:44:13 -05:00
Ryan Houdek 9969273994 Merge pull request #2557 from AdmiralCurtiss/gc-sram-checksum
GameCube SRAM: Recalculate checksums after setting language.
2015-06-07 23:24:06 -04:00
Ryan Houdek e8ae0f8c3c Merge pull request #2562 from Sonicadvance1/aarch64_optimize_gatherpipe
[AArch64] Optimize gatherpipe stores
2015-06-07 23:23:11 -04:00
Ryan Houdek 8c2e5e2860 Merge pull request #2555 from Sonicadvance1/aarch64_rebase_ppsspp_emitter
[AArch64] Upstream PPSSPP's emitter changes.
2015-06-07 23:23:04 -04:00
Ryan Houdek 444d112df5 Merge pull request #2563 from Sonicadvance1/aarch64_disable_psql
[AArch64] Disable psq_l again.
2015-06-07 23:12:50 -04:00
Ryan Houdek c8068e26fb Merge pull request #2527 from Sonicadvance1/aarch_multi_loadstore
[AArch64] Implement lmw/stmw.
2015-06-07 23:12:42 -04:00
Ryan Houdek d29fd84249 [AArch64] Disable psq_l again.
Still causing issues with games.
Disable it again until I can spend enough time debugging it.
2015-06-07 19:55:27 -05:00
Ryan Houdek 46c3a11d01 [AArch64] Optimize gatherpipe stores
This can be even more optimized in the future when the register cache supports constant caching.
2015-06-07 19:53:40 -05:00
Ryan Houdek 05b72c5d31 [AArch64] Upstream PPSSPP's emitter changes.
Requires a minor change to in the JIT to make sure everything still works.
2015-06-07 19:50:21 -05:00
comex 5c7caf1f22 Merge pull request #2517 from comex/netplay-timebase-rb
[rebased] Compare timebase of netplay users to detect desyncs.
2015-06-07 17:47:53 -07:00
Admiral H. Curtiss 63064aeaaa GameCube SRAM: Add a struct for the "flags" parameter. 2015-06-08 02:40:02 +02:00
Admiral H. Curtiss 78903884e5 GameCube SRAM: Recalculate checksums after setting language.
This fixes a minor bug where the IPL thinks the SRAM has been corrupted and forces you to re-set date/time and settings when you change language in Config -> GameCube while not skipping the IPL on boot.
2015-06-08 02:40:02 +02:00
Admiral H. Curtiss 350f2fb40e Fixes issue with PAL Wind Waker not displaying PAL60 option. 2015-06-08 02:29:35 +02:00
Markus Wick e987383f6d Merge pull request #2537 from degasus/master
Config: Add SyncOnSkipIdle GameIni option
2015-06-07 23:02:12 +02:00
Tillmann Karras 3513dd454f Revert "Jit64: add FMA4 support to fmaddXX"
This reverts commit 794a311b11.
2015-06-07 13:03:16 +02:00
Matthew Parlane cf8f049c4d Merge pull request #2518 from degasus/hotkeys
Hotkeys: Drop old GUI
2015-06-07 20:10:10 +10:00
Lioncash 8707d68ddb Merge pull request #2542 from JosJuice/how-to-not-print-variables
DVDInterface: Fix newFileName variable not being printed correctly
2015-06-06 16:20:49 -04:00
JosJuice 23f9ccf59b DVDInterface: Fix newFileName variable not being printed correctly 2015-06-06 21:29:43 +02:00
flacs d3e47dfcf5 Merge pull request #2496 from Tilka/fma4
Jit64: add FMA4 support to fmaddXX
2015-06-06 17:31:55 +02:00
degasus 12b469b417 Config: Add SyncOnSkipIdle GameIni option 2015-06-06 11:19:58 +02:00
comex 9c63b78397 Fix indeterminism in GPU thread mode. 2015-06-06 02:14:06 -04:00
comex f2631a835e Simplify and improve.
Note - I removed a SleepCurrentThread(1) the patch added which seemed to
be unrelated to the actual job at hand.  If there was a real need for it
(which sounds like it would be an enet-related bug - enet_host_service
is supposed to *sleep*), that needs to be dealt with...
2015-06-06 01:28:01 -04:00
comex 95d682dfd5 Merge pull request #2519 from JosJuice/volume-type-enum
Volume: Return volume type as an enum
2015-06-06 01:23:52 -04:00
Rachel Bryk 04ca54623c Compare timebase of netplay users to detect desyncs. 2015-06-06 00:52:02 -04:00
skidau 2f577e147b Merge pull request #2520 from AdmiralCurtiss/wii-pal60
Properly set default video mode for PAL Wii games.
2015-06-06 10:42:42 +10:00
Lioncash aca7c948d5 EXI_DeviceEthernet: Convert a volatile bool to an atomic 2015-06-05 09:37:14 -04:00
Admiral H. Curtiss a2ca4841e9 Properly set default video mode for PAL Wii games.
See https://github.com/dolphin-emu/dolphin/pull/2520 for a more detailed explanation.
2015-06-05 14:35:48 +02:00
Ryan Houdek 7b9565c4e6 [AArch64] Implement lmw/stmw. 2015-06-04 23:54:50 -05:00
flacs 2f2e514b54 Merge pull request #2524 from lioncash/aarch64
Arm64: Make some functions const.
2015-06-05 04:52:14 +02:00
Lioncash 97382ec90a Merge pull request #2526 from lioncash/silly
WII_IPC_HLE: Remove a silly volatile usage
2015-06-04 22:27:48 -04:00
Rohit Nirmal cd5142ddeb Fix building with PCH disabled. 2015-06-04 21:05:10 -05:00
Lioncash 630e0375b1 WII_IPC_HLE: Remove a silly volatile usage 2015-06-04 21:35:21 -04:00
Lioncash de2e84344d Core: Convert volatile bools to atomics
Converts over bools that are typically used as loop checks into atomics.
2015-06-04 21:21:11 -04:00
Lioncash fe77505d4d Jit: Make IsInCodeSpace() const 2015-06-04 20:52:53 -04:00
Lioncash d9e1bf139f JitArm64_RegCache: Make some functions const 2015-06-04 20:40:36 -04:00
Lioncash 6f3598eee4 PPCAnalyst: Remove extra whitespace from CodeBuffer 2015-06-04 19:13:29 -04:00
Lioncash 293c3bae6f PPCAnalyst: Mark some functions as const
Also removes the redundant inline specifier, as functions defined in a class/struct definition are inline by default.
2015-06-04 19:11:38 -04:00
comex 0c23283049 Merge pull request #2522 from lioncash/ref
Core: Pass several parameters by const reference
2015-06-04 16:15:11 -04:00
Lioncash e37b643096 Merge pull request #2521 from lioncash/unused
Interpreter: Remove unused function prototype
2015-06-04 14:32:31 -04:00
Lioncash d9b51f74be Core: Pass several parameters by const reference 2015-06-04 14:19:25 -04:00
Lioncash bc0e61cb7c Interpreter: Remove unused function prototype 2015-06-04 13:53:53 -04:00
JosJuice 0ed3118141 Volume: Return volume type as an enum
ISOFile and GameFile were using IsWiiDisc() and IsWadFile() to set
an enum value. The volume might as well return an enum directly.

I increased the Qt CACHE_REVISION because m_platform now is saved as u32
instead of int, but increasing the wx CACHE_REVISION is not necessary.
2015-06-04 16:26:36 +02:00
JosJuice 030d467d62 Use PanicAlert instead of PanicAlertT when appropriate
It means less work for the translators... But I'm not too sure
about this, because most of these have already been translated.
2015-06-04 13:25:17 +02:00
JosJuice 95a2abc1ce Use PanicAlertT instead of PanicAlert when appropriate
I tried to change messages that contained instructions for users,
while avoiding messages that are so technical that most users
wouldn't understand them even if they were in the right language.
2015-06-04 13:25:06 +02:00
degasus dfc951fbbb Hotkey: move some code into ParseHotkey 2015-06-04 10:44:20 +02:00
Jasper St. Pierre c84cefa990 Remove wx-based Hotkey stuff
The core InputCommon Hotkeys interface does all of this for us.
2015-06-04 10:44:20 +02:00
Markus Wick 1ed38e901e Merge pull request #2505 from degasus/hotkeys
Hotkeys fixes 2
2015-06-04 10:42:50 +02:00
Tillmann Karras 088668606d Interpreter: use the VERY_ACCURATE_FP code 2015-06-03 22:08:24 +02:00
Tillmann Karras 68eb83ea83 Interpreter: fix NaN handling in FMA 2015-06-03 22:08:24 +02:00
Tillmann Karras d4538c762f MemoryUtil: get executable pages near static data
and clean up a bit.
2015-06-03 21:44:31 +02:00
Tillmann Karras a0597f0d62 Jit64: turn 32 bit addresses into offsets 2015-06-03 21:44:31 +02:00
degasus eabda0efa5 Hotkeys: Implement default hotkeys
Also disable the default hotkeys of the old system.
2015-06-03 19:26:43 +02:00
comex 349f9d5493 Merge pull request #2484 from JosJuice/volume-return-types
Volume: Use more appropriate types for some returned values
2015-06-02 20:29:08 -04:00
comex 36b554613c Merge pull request #2494 from Sonicadvance1/common_disassembler
Break out the disassembler code from the WXWidgets UI.
2015-06-02 20:26:26 -04:00
comex f85db7a686 Merge pull request #2503 from sepalani/master
Fixed: NULL remoteHost in IOCTL_SO_INETATON
2015-06-02 20:23:39 -04:00
comex c0e567731a Merge pull request #2352 from JosJuice/scheduleevent-immediate-assert
CoreTiming: Add assert to ScheduleEvent_Immediate
2015-06-02 20:22:14 -04:00
comex 0c5aa54606 Merge pull request #2470 from degasus/syncgpu
Common: Blocking Loop (extracted from Fifo.cpp)
2015-06-02 20:19:00 -04:00
comex a3b3f0522b Merge pull request #1556 from comex/project-moration
Rudimentary version of Wii IPC determinism.  Ported from my old udpnet branch.
2015-06-02 18:38:19 -04:00
Sepalani f494d1f224 Removed: Unnecessary ternaries in IOCTL_SO_INETATON 2015-06-02 22:24:29 +02:00
Sepalani b95f18fc06 Fix a possible null pointer dereference 2015-06-02 21:09:03 +02:00
Sepalani 6985fd76b2 Merge remote-tracking branch 'upstream/master' 2015-06-02 20:24:54 +02:00
Sepalani 2ff5c451d0 Cleanup IOCTL_SO_INETATON 2015-06-02 20:15:05 +02:00
Tillmann Karras 794a311b11 Jit64: add FMA4 support to fmaddXX 2015-06-02 19:19:52 +02:00
Ryan Houdek 9407797d16 Merge pull request #2454 from Sonicadvance1/armv7_disable_loadstores
[ARMv7] Extend the life of the JIT Recompiler.
2015-06-02 10:42:06 -04:00
Sepalani 893ef20840 Fixed: NULL remotehost in IOCTL_SO_INETATON 2015-06-02 13:51:19 +02:00
Tillmann Karras d516e6bbf0 Jit64: swap XMM registers for later optimization
(BLENDVPD uses XMM0 as an implicit mask.)
2015-06-02 12:47:07 +02:00
Tillmann Karras b96f0fad57 WiimoteReal: fix multiple Wiimotes on OS X 2015-06-02 00:31:02 +02:00
Ryan Houdek 5ed3a5de22 [AArch64] Minor bugfix and optimization.
Fixes a bug in lfs where I was doing a rev64.16b when I needed to do a rev32.8b.
Change a ld1r.4s to a ld1r.2s.
Fix an issue where a fcvtl2 needed to be a fcvtl.
Re-enabled psq_l, issue with flickering can't be reproduced anymore, so whatever.
2015-05-31 22:03:36 -05:00
Ryan Houdek d0ae3f7d24 Break out the disassembler code from the WXWidgets UI.
This cleans up some of the code between core and UI for disassembling and dumping code blocks.
Should help the QT UI in bringing up its debug UI since it won't have to deal with this garbage now.
2015-05-31 18:16:59 -05:00
Markus Wick da97d77e08 Merge pull request #2489 from degasus/hotkeys
Hotkeys fixes
2015-05-31 23:28:26 +02:00
Ryan Houdek ac1f3ef099 Merge pull request #2492 from Sonicadvance1/fix_block_sizes
Fix JIT core's block sizes.
2015-05-31 16:49:47 -04:00
Ryan Houdek 1723217cc9 [AArch64] Don't disable tw{i,}
It's an endblock instruction, it shouldn't be disabled via the JITDISABLE macro.
2015-05-31 15:37:22 -05:00
Ryan Houdek 6c56cd0c30 Fix JIT core's block sizes.
Was causing disassembled blocks to be cut off by a few instructions at the end.
2015-05-31 14:59:17 -05:00
Ryan Houdek 210d7c4d54 Merge pull request #2486 from Tilka/x86_32
Jit64: drop more x86_32 left-overs
2015-05-31 13:06:19 -04:00
degasus bdfea96123 InputCommon: Change default hotkey for home and start.
We already use ALT + ENTER for toggling fullscreen.
But as ENTER is both home and start, this buttons will always
also be triggered on toggling fullscreen. Now we check for
those buttons if ALT is not pressed.
So now we're able to toggle fullscreen without pressing home or start.
2015-05-31 10:30:09 +02:00
Jasper St. Pierre 322c813cb6 HotkeyManager: Add missing hotkeys to the Hotkeys dialog 2015-05-31 09:27:04 +02:00
Tillmann Karras eb057d49a0 x64Emitter: drop duplicate enum & unused wrappers
Keep the more explicit version of the two SSECompare enums.

And the unused CMP* wrappers wouldn't exactly make the code more
readable anyway.
2015-05-31 08:32:31 +02:00
flacs 43ed19a663 Merge pull request #2481 from lioncash/reference
x64Emitter: Pass some OpArg parameters by const reference.
2015-05-31 08:22:55 +02:00
Tillmann Karras a6004f8274 Jit64: drop more x86_32 left-overs 2015-05-31 05:28:40 +02:00
Markus Wick c12f04eefa Merge pull request #2472 from degasus/master
AudioCommon: Remove lock on Pause state
2015-05-30 23:40:46 +02:00
degasus 02a3a063c3 Fifo: Extract syncing loop
It's now a new helper function within common.
2015-05-30 12:58:09 +02:00
JosJuice 301218a103 Volume: Use more appropriate types for some returned values
Disc number is changed from bool to u8, and revision is changed from
int to u16 (WADs can use all 16 bits, but discs can only use 8 bits).
2015-05-29 21:14:02 +02:00
Lioncash 0b8372e566 Jit_Util: Make some OpArg parameters const references 2015-05-29 01:13:45 -04:00
Lioncash e3a6191f02 x64Emitter: Pass some OpArg parameters by const reference
Considering OpArg is a struct, passing by value creates unnecessary copies.
2015-05-29 01:13:29 -04:00
Lioncash ac26f8e79f Pass strings by const reference where possible 2015-05-28 20:54:55 -04:00
comex 45b07cbdcd Fix determinism issues with Wiimote netplay.
- Change the Wiimote emulation SYSCONF R/W to use the temporary NAND if in use.
- Fix up SysConf API so this actually works.

Kind of a hack.  Like I said, this can be cleaned up when configuration
is synced...
2015-05-28 19:19:00 -04:00
comex 0d257b9e88 Don't randomly generate a serial number in deterministic mode. 2015-05-28 19:14:43 -04:00
comex 138d72313e Add a quick check to ScheduleEvent_Threadsafe to ensure it doesn't happen in deterministic mode. 2015-05-28 19:14:43 -04:00
comex dc91e8b607 Add a mode to use a dummy Wii NAND.
Eventually, netplay will be able to use the host's NAND, but this could
still be useful in some cases; for TAS it definitely makes sense to have
a way to avoid using any preexisting NAND.

In terms of implementation: remove D_WIIUSER_IDX, which was just WIIROOT
+ "/", as well as some other indices which are pointless to have as
separate variables rather than just using the actual path (fixed, since
they're actual Wii NAND paths) at the call site.  Then split off
D_SESSION_WIIROOT_IDX, which can point to the dummy NAND directory, from
D_WIIROOT_IDX, which always points to the "real" one the user
configured.
2015-05-28 19:14:42 -04:00
comex f6c6822f71 The old g_want_determinism check in WiiSockMan missed a few cases. Move to net.cpp.
Specifically, things like GETHOSTBYNAME, GETHOSTID, etc. could be done
without creating a socket, which is what the old check blocked.  Now we
check at the ioctl and ioctlv handlers.  Might be possible to get a bit
more realistic behavior in future by filtering individual ioctls, but it
probably doesn't matter.
2015-05-28 19:14:42 -04:00
comex 3173d4dcbf Disable /dev/usb/hid too. 2015-05-28 19:14:42 -04:00
comex aae104ccb4 Disable some stuff in IPC_HLE when determinism is required.
This includes net, which is nonsensical to "sync" in netplay/replays
(could have the host do the Wii networking in future though...), and USB
keyboard, which just needs some love to do the same.
2015-05-28 19:14:42 -04:00
comex a225426510 Rewrite FileSearch and improve ScanDirectoryTree.
- FileSearch is now just one function, and it converts the original glob
  into a regex on all platforms rather than relying on native Windows
  pattern matching on there and a complete hack elsewhere.  It now
  supports recursion out of the box rather than manually expanding
  into a full list of directories in multiple call sites.

  - This adds a GCC >= 4.9 dependency due to older versions having
  outright broken <regex>.  MSVC is fine with it.

- ScanDirectoryTree returns the parent entry rather than filling parts
  of it in via reference.  The count is now stored in the entry like it
  was for subdirectories.

- .glsl file search is now done with DoFileSearch.

- IOCTLV_READ_DIR now uses ScanDirectoryTree directly and sorts the
  results after replacements for better determinism.
2015-05-28 19:14:42 -04:00
degasus 9a96e3c416 AudioCommon: Remove lock on Pause state
We had to lock audiocommon with the old asynchron HLE audio emulation,
now our Mixer is just a plain FIFO which may underrun.
Of course, this will stutter, but underruning the audio backend is likely worse.
2015-05-28 19:58:18 +02:00
Markus Wick 3318120632 Merge pull request #2422 from lioncash/core
DSPCore: Make the mailbox registers atomic.
2015-05-27 09:14:41 +02:00
Lioncash ec03196267 PixelEngine: Replace volatile usages with atomics
Also removes two unused volatile variables.
2015-05-27 02:39:55 -04:00
Lioncash 5db7d4d1d5 DSPCore: Make the mailbox registers atomic. 2015-05-27 00:58:52 -04:00
Rohit Nirmal c59bfd2b7f Fix building with PCH disabled. 2015-05-26 22:44:51 -05:00
Matthew Parlane 3135b4f3e4 Merge pull request #2461 from lioncash/barrier
Thread: Remove unused Barrier class
2015-05-27 13:21:14 +10:00
Lioncash 23c11b3f27 Thread: Remove unused Barrier class 2015-05-26 19:25:59 -04:00
Tillmann Karras 6ea49da5b9 Jit64: fix ps_sum
It's /always/ the register cache.
2015-05-26 19:00:42 +02:00
Ryan Houdek b038b61a29 [ARMv7] Extend the life of the JIT Recompiler.
Until loadstores are fully investigated, let's artificially extend the life of it by disabling all of them.
These instructions break in a very terrible way and eventually all loadstores end up attempting to access memory region (u32)-1.
Disable until someone has enough time to investigate further.
2015-05-25 23:36:28 -05:00
Ryan Houdek a4a8162fb5 Merge pull request #2188 from JosJuice/dol-cleanup
DOL loader cleanup with std::vector and safety checks
2015-05-25 23:51:40 -04:00
Ryan Houdek f4625e6383 Merge pull request #2398 from JosJuice/revert-854f6b8
Attempt at fixing issue 8544 (input recording desyncs)
2015-05-25 23:49:56 -04:00
Ryan Houdek 96ef0fce38 Merge pull request #2450 from lioncash/alloc
NetPlayClient: Remove unnecessary array allocation
2015-05-25 23:42:49 -04:00
Ryan Houdek 3817dd0f91 Merge pull request #2272 from phire/jitil-floatbug
JitIL: Fix a bug in floatpoint load/store instructions.
2015-05-25 23:17:56 -04:00
Ryan Houdek 7c04c76a26 Merge pull request #2421 from Tilka/jit_stuff
Jit64: fixes + less code
2015-05-25 23:08:24 -04:00
Ryan Houdek 0c5f5c4519 Merge pull request #2394 from Sonicadvance1/android_block_profiling_api
[Android] Block profiling JNI interface
2015-05-25 23:06:37 -04:00
Ryan Houdek 95f9096068 Merge pull request #2396 from Sonicadvance1/fix_racing_cpu_core
Fix a race condition when pausing the CPU core.
2015-05-25 23:06:18 -04:00
Ryan Houdek 99d9161e49 Merge pull request #2429 from Sonicadvance1/aarch64_block_profile
[AArch64] Implement block profiling.
2015-05-25 23:05:54 -04:00
Markus Wick 1fc3c8aa02 Merge pull request #2451 from degasus/master
DSP: Inline DSPControl into DSPState
2015-05-25 15:19:31 +02:00
Ryan Houdek 69963dc4b0 Merge pull request #2274 from degasus/disable_bbox
Disable bbox
2015-05-25 08:46:12 -04:00
Tillmann Karras 30ebb2459e Set copyright year to when a file was created 2015-05-25 13:22:31 +02:00
Tillmann Karras cefcb0ace9 Update license headers to GPLv2+ 2015-05-25 13:22:31 +02:00
Tillmann Karras 268f52e054 Add missing license headers 2015-05-25 13:11:47 +02:00
Tillmann Karras 6d9986846c Simplify some more license headers 2015-05-25 13:11:41 +02:00
degasus dd35f5df94 DSP: Inline DSPControl into DSPState
This was a struct with exactly one element, and
an overloaded constructor which matches the construtor
of this element. So there is no need for this stacked
structur.
2015-05-25 10:56:14 +02:00
degasus ac0e304159 Jitregister: fix common-core dependency 2015-05-25 09:33:34 +02:00
Lioncash b0075966af NetPlayClient: Remove unnecessary array allocation 2015-05-24 22:53:25 -04:00
Lioncash ac89d00718 DSPCaptureLogger: Add virtual destructor
Silences a warning.
2015-05-24 00:44:49 -04:00
Lioncash 1d2b29734a NetPlayClient: Rename time variables to be more self-explanatory 2015-05-23 23:07:52 -04:00
Lioncash 6dd10033d3 NetPlayClient: Fix reassembling of system time from packets
The shifts need to be swapped to correctly reassemble a 64-bit integer.
2015-05-23 23:06:30 -04:00
Lioncash 760a17abef WII_IPC_HLE_Device_net: Fix a leak with getaddrinfo 2015-05-22 13:15:27 -04:00
Tillmann Karras df34d43936 Jit64: merge ps_sign into fsign 2015-05-21 12:33:37 +02:00
Tillmann Karras 36d6a16559 Jit64: merge ps_maddXX into fmaddXX 2015-05-21 12:33:37 +02:00
Tillmann Karras c6147c5ed5 Jit64: merge ps_arith into fp_arith 2015-05-21 12:33:37 +02:00
Tillmann Karras 6d23b511a6 Jit64: merge tri_op into fp_tri_op 2015-05-21 12:33:37 +02:00
Tillmann Karras dc220fa13d Jit64: merge ps_sel into fselx 2015-05-21 12:33:36 +02:00
Tillmann Karras 05a55de08f Jit64: optimize ps_sum 2015-05-21 12:33:36 +02:00
Tillmann Karras ece0ef4ca8 Jit64: add packed optimization to frsp 2015-05-21 12:33:36 +02:00
Tillmann Karras 6b8ab5993a Jit64: make ForceSinglePrecision more versatile 2015-05-21 12:33:36 +02:00
Tillmann Karras 9792976ee9 Jit64: fix ForceSinglePrecisionS/P
This bug never broke anything because of how these functions are used.
Fixing it should avoid some false dependencies though.
2015-05-21 12:33:36 +02:00
Tillmann Karras a7d753922d Interpreter: fix instruction table flags of frsp
frsp overwrites both ps0 and ps1 so frD is not an input. Regardless of
whether that's what the hardware does, it's what we do.
2015-05-21 12:33:36 +02:00
Ryan Houdek eb94e742f1 [AArch64] Implement block profiling.
This is time based block profiling unlike the ARMv7 core.
I would like to add cycle counter based block profiling like the ARMv7 core, but it first requires writing a kernel module to enable the counters to userland applications
2015-05-20 22:23:59 -05:00
Tillmann Karras 1b01911c01 Jit64: indent far code because it looks nice 2015-05-14 19:12:58 +02:00
Tillmann Karras 6c5e5cc7b8 PowerPC: clean up instruction tables 2015-05-14 19:12:54 +02:00
Tillmann Karras accefbf0a5 JitBase: small cleanup 2015-05-14 19:08:07 +02:00
Tillmann Karras 5b023b83ec Jit64: rename twx to twX
We use the lower-case x to signal an optional Rc bit.
2015-05-14 19:08:07 +02:00
Tillmann Karras 2074abbe86 Jit64: drop unused argument from SetFPRFIfNeeded 2015-05-14 19:08:05 +02:00
Tillmann Karras 9723a4e2ed Interpreter: use IntDouble instead of casts 2015-05-14 18:59:05 +02:00
Rohit Nirmal df9b06d937 Fix building with PCH disabled. 2015-05-13 16:06:09 -05:00
skidau bdeb067597 Merge pull request #2402 from JosJuice/internal-title
Volume: Rename GetName to GetInternalName
2015-05-13 13:19:41 +10:00
skidau a6739c0960 Merge pull request #2386 from mathieui/irhotkeys
Add hotkeys to increase/decrease the IR
2015-05-12 13:05:53 +10:00
Ryan Houdek 0533ecde23 Merge pull request #2397 from Sonicadvance1/aarch64_disable_psq_l
[AArch64] Disable psq_l.
2015-05-11 19:21:53 -04:00
Lioncash 4f8b72ca8b WII_IPC_HLE_Device_hid: Fix a function name typo 2015-05-11 09:45:10 -04:00
JosJuice bad09fc358 Volume: Rename GetName to GetInternalName
This is intended to better separate it from GetNames and to clarify
that this name originally wasn't meant to be shown to users.
The ISOProperties GUI is also updated, mainly because labeling
the long banner name "short name" was confusing.
2015-05-11 11:19:30 +02:00
JosJuice b645547930 Revert "HW: Poll system input from system timers"
This reverts commit 854f6b8688.

Conflicts:
	Source/Core/Core/HW/GCPad.cpp
	Source/Core/Core/HW/Wiimote.cpp
	Source/Core/Core/State.cpp
2015-05-11 07:22:35 +02:00
Ryan Houdek 2d47a159ab [AArch64] Disable psq_l.
Causes flickering in games ever since PR #2172.
No idea why
2015-05-11 00:11:40 -05:00
skidau 294629fa9e Merge pull request #2368 from randomstuff/gdb-unix
GDB stub over UNIX socket
2015-05-11 14:42:34 +10:00
Ryan Houdek af305aa168 Fix a race condition when pausing the CPU core.
This affects enabling and disabling block profiling on the fly.
The block profiling pauses the CPU cores and then flushes the JIT's block cache and enables block profile.
The issue with this is that when we pause the CPU core, we don't have a way to tell if the JIT recompiler has actually left.
So if the secondary thread that is clearing the JIT block cache is too quick, it will clear the cache as a recompiler is still running that block that
has been cleared.
2015-05-10 21:00:54 -05:00
Ryan Houdek 379f9feebd Fix non-PCH build. 2015-05-10 20:16:05 -05:00
Ryan Houdek 0da086e389 Make sure the JitInterface's WriteProfileResults instruction pauses and resumes the CPU core. 2015-05-10 20:02:25 -05:00
mathieui ea709b6c12 Add hotkeys to increase/decrease the IR 2015-05-10 02:02:47 +02:00
Tillmann Karras c651906134 Jit64[IL]: remove some unused stuff 2015-05-09 17:17:49 +02:00
JosJuice 35c77abbc2 DOL loader cleanup with std::vector and safety checks 2015-05-09 16:49:18 +02:00
Lioncash 76bbd46829 Core: Remove some header inclusions in header files
Replaces them with forward declarations of used types, or removes them entirely if they aren't used at all. This also replaces certain Common headers with less inclusive ones (in terms of definitions they pull in).
2015-05-08 22:38:59 -04:00
Gabriel Corona 04cb6fccd6 GDB stub over UNIX socket
This is available with the `GDBSocket` option in
`~/.dolphin-emu/Config/Dolphin.ini`.

GDB can connect to it with:

    $ powerpc-eabi-gdb
    (gdb) target remote |socat STDIO UNIX:foo.sock

Because I don't like so much binding the GDB stub socket to 0.0.0.0.
On Linux, with a suitable umask, we can make sure that another local
user cannot connect to the socket.
2015-05-08 14:23:37 +02:00
skidau 9eaae880e5 Merge pull request #1793 from LPFaint99/memcard
GCI folder: flush 1 second after last block is written
2015-05-07 16:30:01 +10:00
Jonathan Dieter 3fe839d225 Avoid deadlock when adding Wiimotes (attempt #2)
Signed-off-by: Jonathan Dieter <jdieter@lesbg.com>
2015-05-06 21:53:53 +03:00
joewestcott 72956d59c8 Reverts pull request #2362, fixes issue 8542. 2015-05-06 05:36:37 +01:00
skidau a7e2425ffb Merge pull request #2367 from skidau/GCPad-Recalibrate-forced
Skipped the calibration of the GC controller if it has already been calibrated.
2015-05-06 12:42:29 +10:00
skidau 41f168373b Merge pull request #2362 from jdieter/master
Avoid deadlock when adding Wiimotes
2015-05-06 12:30:54 +10:00
comex 6414cdabb2 Merge pull request #2286 from JosJuice/wii-opening-bnr
Read opening.bnr to get names from Wii discs
2015-05-05 16:20:04 -04:00
skidau 06bca52d80 Skipped the calibration of the GC controller if it has already been calibrated. 2015-05-05 13:05:34 +10:00
Jonathan Dieter 4112794d4a Avoid deadlock when adding Wiimotes
Signed-off-by: Jonathan Dieter <jdieter@lesbg.com>
2015-05-03 18:47:15 +03:00
JosJuice df8e768b77 wx: Now that Wii doesn't support descriptions, rename Notes to Maker
I'm not sure if Maker is the best name (Developer? Publisher?
Company? Copyright?) but I went with it because it's
what the game properties window uses. For the sake of
backwards compatibility, the INI option wasn't renamed.
2015-05-03 16:13:55 +02:00
JosJuice 9851bd818d CoreTiming: Add assert to ScheduleEvent_Immediate
My PR with ScheduleEvent_Immediate and magumagu's PR with the asserts
were made around the same time, so this function never got an assert.
2015-05-01 12:17:39 +02:00
skidau 9348b2e1a6 Merge pull request #2330 from mathieui/background-gc-adapter-scan
Add a background thread to detect the GC adapter
2015-05-01 12:09:18 +10:00
JosJuice f7d20204bb Fix DOL crash caused by VolumeHandler removal
Similar to the WAD crash (0b44d7c) but in another part of the boot code.
2015-04-30 13:29:09 +02:00
mathieui ec7445d66b GCAdapter: Add a setting to toggle rumble 2015-04-30 11:35:16 +02:00
mathieui 57f458fe9b GCAdapter: Add a background thread to detect the adapter
This scanning thread either polls libusb or checks every 500ms for a
change depending on host capabilities. The GC Adapter can now be plugged
and unplugged at any time when dolphin is open, it will be used if the
direct connect option is set.
2015-04-30 11:35:16 +02:00
skidau 052162e6b9 Merge pull request #2332 from comex/fix-alerts-maybe
Fix some false positive ScheduleEvent alerts
2015-04-30 14:03:00 +10:00
Matthew Parlane 42ebf5b3bf Merge pull request #2333 from lioncash/virt
InputCommon/Core: Get rid of some virtual destructor warnings
2015-04-28 15:41:48 +12:00
Lioncash 9603fb6ccd Interpreter_LoadStorePaired: Silence uninitialized variable warnings 2015-04-27 22:54:58 -04:00
Lioncash d39b519850 InputCommon/Core: Get rid of some virtual destructor warnings
These classes have virtual methods, but no virtual destructor, which causes warnings on some compilers.
2015-04-27 21:41:59 -04:00
comex a9fe0ec0ab Fix some false positive ScheduleEvent alerts:
- CEXIETHERNET::SendComplete is always called from the main thread, so
  drop the _Threadsafe.

- Mark the FIFO player thread as the "CPU thread" so it can call
  ScheduleEvent without complaints.  I haven't actually tested this,
  since I don't know how to use the FIFO player; it might break
  something.
2015-04-27 21:19:28 -04:00
skidau 472e281445 Merge pull request #2316 from comex/fix-watch
Fix watchpoints ("memory breakpoints") with JIT
2015-04-27 19:42:13 +10:00
Rohit Nirmal fb46afd5c3 Silence -Wformat warnings in debug builds. 2015-04-26 13:45:06 -05:00
LPFaint99 c4ba7e51e5 GCI folder: flush 1 second after last block is written 2015-04-25 15:40:40 -07:00
magumagu 645aa5af8b Merge pull request #2323 from dolphin-emu/itym
ITYM PowerPC::Write_U{8,16}, not Memory::
2015-04-24 22:19:37 -07:00
comex 38a14b73a4 Merge pull request #2321 from JosJuice/wiimote-battery-fix
Fix emulated Wii Remote battery level being low when not configured
2015-04-24 22:43:05 -04:00
comex dea88ef5a1 ITYM PowerPC::Write_U{8,16}, not Memory::
PowerPC does exceptions and hardware and stuff, Memory doesn't.

I did not realize until a few minutes ago that there were two versions of these functions.  This is why namespaces suck.  Anyway, these were added by Mullin earlier this year.
2015-04-24 22:41:10 -04:00
comex 132e1068ce Remove checks that disable fastmem if debugging and ENABLE_MEM_CHECK are enabled.
They weren't sufficient and are made redundant by previous commits; they
also (on master) caused breakage due to Jit64::psq_stXX assuming writes
would be fastmem and not clobber a register under certain conditions.

That really needs to be refactored, but for now, this works.
2015-04-24 22:37:54 -04:00
comex 2264e7b087 Use a fake exception to exit early in case of memory breakpoints.
Change TMemCheck::Action to return whether to break rather than calling
PPCDebugInterface::BreakNow, as this simplified the implementation; then
remove said method, as that was its only caller.  One "interface" method
down, many to go...
2015-04-24 22:37:54 -04:00
comex dd7ab4812b On x86, disabling fastmem isn't enough actually.
Without fastmem, the JIT code still does an inline check for RAM
addresses.  With watchpoints we have to disable that too.  (Hardware
watchpoints would avoid all the slow, but be complicated to implement
and limited in number - I doubt most people debugging games care much if
they run slower.)

With this change and watchpoints enabled, Melee runs at no more than 40%
speed, despite running at full speed without them.  Oh well.  Better
works slowly than doesn't bloody work.

Incidentally, I'm getting an unrelated crash in
PowerPC::HostIsRAMAddress when shutting down a game.  This code sucks.
2015-04-24 22:37:54 -04:00
comex b84f6a55ab Automatically disable fastmem and enable memcheck when there are any watchpoints.
- Move JitState::memcheck to JitOptions because it's an option.
- Add JitOptions::fastmem; switch JIT code to checking that rather than
  bFastmem directly.
- Add JitBase::UpdateMemoryOptions(), which sets both two JIT options
  (replacing the duplicate lines in Jit64 and JitIL that set memcheck
  from bMMU).
  - (!) The ARM JITs both had some lines that checked js.memcheck
    despite it being uninitialized in their cases.  I've added
    UpdateMemoryOptions to both.  There is a chance this could make
    something slower compared to the old behavior if the uninitialized
    value happened to be nonzero... hdkr should check this.
- UpdateMemoryOptions forces jo.fastmem and jo.memcheck off and on,
  respectively, if there are any watchpoints set.
- Also call that function from ClearCache.
- Have MemChecks call ClearCache when the {first,last} watchpoint is
  {added,removed}.

Enabling jo.memcheck (bah, confusing names) is currently pointless
because hitting a watchpoint does not interrupt the basic block.  That
will change in the next commit.
2015-04-24 22:37:53 -04:00
JosJuice fe9fdd3244 Fix emulated Wii Remote battery level being low when not configured
All the multiplying and dividing by 100 in controller configs is
messy... An attempted solution to the problem was to not multiply
default_value by 100 in ControllerEmu::ControlGroup::LoadConfig,
but that broke other things instead, so I went with this.
2015-04-24 19:36:08 +02:00
comex b3aaa46d42 Merge pull request #2088 from Sintendo/diecmp
Emit 'TEST reg, reg' for 'CMP reg, 0' automatically
2015-04-23 16:34:23 -04:00
JosJuice 235ecfbed7 Return GetNames languages, to avoid hardcoded language lists in callers
This makes the code cleaner and also leads to some user-visible changes:

The wx game properties will no longer let the user
select WAD languages that don't have any names.

The Qt game list will now display names using the languages
set in the configuration instead of always using
English for PAL GC games and Japanese for WADs.

If a WAD doesn't have a name in the user's preferred language,
English is now selected as a fallback before Japanese.
2015-04-23 08:14:39 +02:00
comex ad95454d04 Merge pull request #2223 from phire/imm
Cleanup OpArg, make immediates more explicit.
2015-04-23 01:53:18 -04:00
Lioncash 8fb36228e5 Merge pull request #2311 from JosJuice/fix-wad-crash
Fix WAD crash caused by VolumeHandler removal
2015-04-23 00:23:42 -04:00
JosJuice 0b44d7c18a Fix Wii software crashing at boot if no disc is inserted
Boot_BS2Emu was trying to read from the inserted disc even when
nothing was inserted, and this happened to not crash (but not
work either) before VolumeHandler was removed. This commit adds
a check that restores the old behavior, so there is no longer a
crash, but the game ID still doesn't get set for WADs. I don't
know if/how it should be set, so this felt like the safest option.
2015-04-22 09:14:41 +02:00
Lioncash 56df9b7508 GPFifo: Remove unused parameters from Write[x] functions 2015-04-21 23:01:25 -04:00
Matthew Parlane 571eee8648 Merge pull request #2225 from JosJuice/remove-volumehandler
Get rid of VolumeHandler
2015-04-21 11:18:57 +12:00
Matthew Parlane a86f2fe2e7 Merge pull request #2199 from skidau/remove-controls-lock
Cleaned up the controller locking mechanism
2015-04-21 11:13:30 +12:00
Matthew Parlane 82bbada352 Merge pull request #2257 from RachelBryk/battery
Add an option for wiimote battery.
2015-04-21 11:12:12 +12:00
Lioncash d799446faf Core: Don't display on-screen messages via DisplayMessage until emulation has begun 2015-04-20 18:31:40 -04:00
Lioncash 9eb608c9da Merge pull request #2301 from lioncash/const
General: Apply the const specifier where applicable
2015-04-16 23:13:39 -04:00
Lioncash b0613bb1c8 General: Apply the const specifier where applicable 2015-04-15 02:04:03 -04:00
comex ba664b3293 Join the emu thread in Core::Stop. Get rid of Core::Shutdown which did that before.
Core::Shutdown was only called on app exit, yet the emu thread exits
whenever emulation stops; if you launched a new game it would just join
via the destructor when s_emu_thread was set to a new thread.
(Incidentally, the destructor also makes explicitly joining on app exit
rather pointless.)

Because the GUI thread wasn't waiting for the CPU thread to fully shut
down, Core::IsRunning would remain true briefly after CFrame::DoStop
which, given Dolphin's penchant for accessing variables belonging to
other threads, can only mean trouble... In my case, because the previous
commit caused UpdateGUI, which is called at the end of DoStop, to call
PauseAndLock, which checks IsRunning, pressing stop at the right time
would cause strange behavior.
2015-04-13 02:17:38 -04:00
comex e000aaaf5d Have the UI thread do PauseAndLock before messing with GetUsbPointer.
Since its lifetime is managed on the CPU thread, this (or a refactoring)
is absolutely required.  One of the functions with a PauseAndLock call
added is CFrame::UpdateGUI; this is fine now, since it's called only
after important events happen, so just make sure not to call it every
frame or something :)
2015-04-13 01:49:24 -04:00
mathieui 4c2d25eeaf Fix a warning
HotkeyManagerEmu.enabled is unused, as everything now uses
HotkeyManagerEmu.s_enabled.
2015-04-11 19:47:39 +02:00
Stevoisiak 7c1ab2911a Move down Country_World
The countries are sorted alphabetically. This should have been changed
when the variable was renamed from Country_International to
Country_World
2015-04-08 18:55:16 -04:00
JosJuice 76d0cfa8ac Fix terrible Speed Up Disc Transfer Rate mistake
I apologize.
2015-04-08 08:59:49 +02:00
skidau f8a4d4702c Merge pull request #2252 from mathieui/traversal-timeout
NetPlay: Don’t wait forever in the traversal client
2015-04-08 11:56:57 +10:00
skidau 5638ddaf6c Merge pull request #2263 from JosJuice/sudtr-not-instant
Make Speed Up Disc Transfer Rate not instant
2015-04-08 11:54:44 +10:00
Lioncash 4796dc80bf Merge pull request #2254 from SizzlingCalamari/remove-DSPLLE-cycle-mutex
Made cycle count atomic to avoid using a mutex
2015-04-07 08:27:38 -04:00
Lioncash 54cedf77f9 Merge pull request #2265 from lioncash/warn
ConfigManager: Fix a sign mismatch warning
2015-04-06 09:34:23 -04:00
degasus d2c62b1744 Fifo: only sleep once within every ms of emulated time 2015-04-06 12:35:35 +02:00
degasus b020ae1c5d Fifo: rewrite sync on idle skipping hack
Now it's done without a busy loop
2015-04-06 12:35:35 +02:00
Scott Mansell 9fdc713c87 While I'm here, Add some comments. 2015-04-05 21:19:56 +12:00
Scott Mansell e9459fb30a JitIL: Fix a bug in floatpoint load/store instructions.
The regBuildMemAddress function already clears the address register.
Not only is clearing it again pointless, regBuildMemAddress uses the
bits in IInfo slightly diffrently and the second clear can clear
the wrong registers causing bugs if something else actually needs to
use those registers.
2015-04-05 20:17:50 +12:00
JosJuice 4cd00e366c Get rid of VolumeHandler
VolumeHandler is basically just a wrapper around a single IVolume object.
This change moves that object to DVDInterface, moves the Read32
function to IVolume, and gets rid of the rest of VolumeHandler.
2015-04-05 10:09:48 +02:00
Lioncash 2211aead7f DSPInterpreter: Remove unused volatile variable and related function 2015-04-03 22:46:30 -04:00
Lioncash 7848876f99 ConfigManager: Fix a sign mismatch warning 2015-04-02 14:30:38 -04:00
JosJuice ee3d36af92 Make Speed Up Disc Transfer Rate not instant
The instant speed broke some games. SUDTR will now emulate
the transfer from the disc drive buffer to the main memory,
but not the speed of the disc drive itself.
2015-04-02 11:46:19 +02:00
JosJuice 0deb9f5e39 Revert "Merge pull request #2256 from RachelBryk/Dolphin-Pro"
This reverts commit ae0a090701, reversing
changes made to 6b6b5ed37f.
2015-04-01 22:30:57 +02:00
Pierre Bourdon ae0a090701 Merge pull request #2256 from RachelBryk/Dolphin-Pro
Limit Wiimote battery usage for Dolphin-lite users.
2015-04-01 21:07:22 +02:00
Rachel Bryk ba93b91565 Add an option for wiimote battery. 2015-04-01 05:29:45 -04:00
Rachel Bryk d39d89594d Limit Wiimote battery usage for Dolphin-lite users.
Wiimote batteries drain over time. The user must upgrade to Dolphin Pro for $19.95 to recharge them.
2015-04-01 04:31:03 -04:00
Jordan Cristiano 4051da75e4 Made cycle count atomic to avoid using a mutex 2015-03-31 04:09:33 -04:00
skidau 6b6b5ed37f Merge pull request #2249 from SizzlingCalamari/DSPLLE-thread-fix
Fixed dsp lle thread never starting
2015-03-31 12:25:59 +11:00
skidau 008200db4d Merge pull request #2244 from lioncash/find
DolphinWX/Common: Change some find_first_of usages to find
2015-03-30 21:07:42 +11:00
skidau 8c47c68a4f Merge pull request #2232 from JosJuice/savestate-exact-version
When loading incompatible savestate, display exact Dolphin version
2015-03-30 18:07:14 +11:00
JosJuice 85073675a5 When loading incompatible savestate, display which version created it 2015-03-30 09:02:43 +02:00
mathieui b1eb87e495 NetPlay: Don’t wait forever in the traversal client
With some specific, STUN-hostile routers, the netplay client can get
stuck forever while trying to connect to the stun server. This adds a
5 seconds (much more than should be necessary if it works) timer until
a failure is registered and the attempt stops.
2015-03-28 20:15:34 +01:00
skidau 4f965da4f1 Revert the recent changes related to updating hwnd 2015-03-28 11:08:25 +11:00
Jordan Cristiano e2060525bc Fixed dsp lle thread never starting because of dspjit initialization happening after the dsp thread check 2015-03-27 19:00:53 -04:00
skidau affa5c2e0b Merge pull request #2228 from Stevoisiak/FixISOPaths
Check for GCMPathes if ISOPaths is not found
2015-03-26 09:48:33 +11:00
Stevoisiak 4f1d74b2e1 Check for GCMPathes if ISOPaths is not found
The name of the settings were changed in 4.0-4003 with PR #1264.
2015-03-25 11:13:13 -04:00
Lioncash eacf741051 DolphinWX/Common: Change some find_first_of usages to find
It's unnecessary to use find_first_of when all you're searching for is a single character.
2015-03-24 08:32:44 -04:00
Lioncash bc1d62036b Core: Fix warnings related to HotkeyManager
These need to be marked static since they aren't used outside of this translation unit.
2015-03-23 08:40:21 -04:00
skidau a0138e19cc Merge pull request #2239 from mickdermack/pr-usbshu
GCAdapter: Don't destroy the libusb context before freeing the device list.
2015-03-23 12:37:05 +11:00
skidau cba34fa6f7 Merge pull request #2193 from magumagu/wii-disable-fakevmem
Disable FakeVMem in Wii mode.
2015-03-23 12:36:24 +11:00
Ryan Houdek 5dbfebcd30 Merge pull request #2216 from Sonicadvance1/aarch64_dirty_dirty
[AArch64] Implement dirty register tracking.
2015-03-22 11:32:43 -05:00
Sintendo c19482c9a3 Add function to emit CMP, or TEST when possible
Also, a spelling mistake.
2015-03-22 17:22:27 +01:00
Sintendo b35c34186c More minor DSP JIT optimizations 2015-03-22 17:14:38 +01:00
skidau 482ef964cf Updated the hwnd for hotkeys. 2015-03-21 21:56:19 +11:00
Michael Ehrenreich 905a663a96 Don't destroy the libusb context before freeing the device list. 2015-03-21 03:12:42 +01:00
skidau 63c4bd665e Merge pull request #2230 from skidau/Mouse-In-Separate-Window
Updated the input plugins reference of hwnd on game start.
2015-03-21 12:46:37 +11:00
Lioncash 1fc1880ca5 Interpreter/Jit Tables: Merge table31 and table31_2 2015-03-20 20:39:51 -04:00
Lioncash 1052863bb9 Interpreter/JIT: Add missing overflow variants into the tables. 2015-03-20 19:20:38 -04:00
skidau c3344eaa88 Preliminary update to the GameCube to GBA link cable emulation. Fixes Zelda Wind Waker's Tingle Tuner connection, Pac-Man Vs, Final Fantasy: Crystal Chronicles multiplayer, and most other Gamecube to GBA link cable games.
* Changed the SI buffer processing so that transfers do not have to be completed instantly
* Added a second socket at port 49420 (0xc10c) which sends clock information to the GBA slaves
* Handled disconnections from the GBA and GC
* Made the transfers asynchronous
* Blocks the socket before the connection times out

Requires VBA-M SVN 1235 or later.
2015-03-20 12:43:55 +11:00
magumagu 337f89959b Merge pull request #2226 from magumagu/restore-wpar-mask
Restore masking to gather pipe address checks.
2015-03-19 11:02:45 -07:00
skidau 98dce11f8c Updated the input plugins reference of hwnd on game start. Fixes the emu wiimotes mouse IR when rendering the game to a separate window. 2015-03-19 21:31:05 +11:00
skidau 7d800b6180 Merge pull request #2224 from gerikkub/AutoFocus
Pause the emulator based on mouse focus
2015-03-19 12:48:03 +11:00
mathieui e0ef8fc03f NetPlay: Make the enet interrupts work
Otherwise, it would work but any async sending would be delayed by 4ms or
wait until the next packet was received.

Also increase the client timeout to 250ms, since enet_host_service is now
really interrupted.
2015-03-18 10:16:11 +01:00
mathieui 8ee402863d NetPlay: Remove RunOnThread and add SendAsync methods
Add std::unique_ptr<sf::Packet> objects to a queue instead of functions,
makes things easier to read, and avoids headaches while checking the
lifetime of the concerned objects.
2015-03-18 10:16:11 +01:00
mathieui 44d7207a1c NetPlay: add a Common/ENetUtil namespace
Move WakeupThread in it
2015-03-18 09:23:44 +01:00
mathieui 603fe25349 NetPlay: use a workaround from comex’s dc-netplay to interrupt enet 2015-03-18 09:23:44 +01:00
skidau 0ac8fd0214 Merge pull request #2183 from RachelBryk/netplay-time
Use system time for start time in netplay.
2015-03-18 13:52:17 +11:00
magumagu 627b77e982 Restore masking to gather pipe address checks.
Apparently it's necessary. Issue 8386.
2015-03-17 12:01:37 -07:00
Scott Mansell 858ff69c01 Make OpArg.offset and operandReg private.
Also cleaned up WriteRest function.
2015-03-17 18:49:30 +13:00
Scott Mansell 6262a9bcbe Make immediates more explicit
Instead of just casting OpArg::offset when needed, add some
accessor functions.

Also add some safety asserts to catch any mistakes.
2015-03-17 18:49:26 +13:00
Gerik Kubiak 341e7e9d8f Added the ability to pause the emulator by moving the mouse outside the window. 2015-03-16 20:28:17 -07:00
magumagu ff6ae8a677 Disable FakeVMem in Wii mode.
I'm assuming nobody thought of this when FakeVMem was turned on by
default; FakeVMem doesn't make any sense in Wii mode.
2015-03-16 17:52:56 -07:00
magumagu 629fb8fb49 Merge pull request #2222 from Tilka/fix_warnings
Fix warnings
2015-03-16 17:41:46 -07:00
skidau b103aa7122 Merge pull request #2189 from magumagu/paired-loadstore-cleanup
Fix paired loadstore to use correct load/store calls.
2015-03-17 11:26:01 +11:00
skidau b170173aca Merge pull request #2196 from magumagu/ipchle-gethostbyname
Fix IPCHLE for gethostbyname.
2015-03-17 11:19:51 +11:00
magumagu adb8bbed90 Merge pull request #2217 from shuffle2/quiet-warnings
quiet some warnings which appear on vs2015.
2015-03-16 11:50:42 -07:00
Tillmann Karras f82afd1b2f Fix warnings 2015-03-16 19:02:30 +01:00
magumagu fd15cad1ca Remove useless volatile from ProcessorInterface.
These values are only accessed/used from the CPU thread.
2015-03-15 20:33:41 -07:00
Shawn Hoffman ad64336137 quiet some warnings which appear on vs2015.
quieted warnings include shadowed variable names and integer extensions.
2015-03-15 19:28:47 -07:00
Ryan Houdek 3e946b1bf7 [AArch64] Implement dirty register tracking.
Using BindToRegister from the register caches causes the register bound to be marked dirty.
Using the regular R() function from the register caches loads the registers without being dirty.

When implementing new instructions make sure to BindToRegister registers that become dirty.
2015-03-15 20:09:30 -05:00
Ryan Houdek 5e0b9179db Merge pull request #2186 from Sonicadvance1/aarch64_optimize_paired_slowmem
[AArch64] Optimize slowmem paired stores.
2015-03-15 14:37:21 -05:00
Ryan Houdek bcc434095d Merge pull request #2212 from Sonicadvance1/fix_user_paths
Fix user directories at times doing stupid things.
2015-03-15 09:45:02 -05:00
Ryan Houdek aaf04aeaca Fix user directories at times doing stupid things.
With my previous changes Dolphin would fail to create the user directory if it didn't exist, and would dump all the configuration options in to the cwdir.
This was a bit more complicated to fix in a clean fashion, so I took to moving around code concerning user directories.
Instead of having GetUserPath serve a dual purpose of both getting and setting our user directories, break out to a new SetUserPath function.

GetUserPath will know only get the configured user path.
SetUserPath will set our user paths and setup the internal user path state.

This ending up being a lot cleaner overall, which is nice. Also less mind bending when attempting to read the code.

So now we won't dump all of our configuration in to the cwdir if ~/.dolphin-emu isn't found.

Fixes issue 8371.
2015-03-15 09:19:48 -05:00
Ryan Houdek 5e6d49d96b Merge pull request #2209 from magumagu/remove-hle-opcode
Remove remnants of old fake opcodes.
2015-03-15 07:13:07 -05:00
Rohit Nirmal 48ec42d4a0 Core: Change NULLs to nullptrs. 2015-03-14 20:20:41 -05:00
magumagu 87dcda5785 Remove remnants of old fake opcodes.
These are illegal opcodes, and should be treated as such.
2015-03-14 16:59:12 -07:00
Markus Wick ec8a074690 Merge pull request #2153 from degasus/enet
enet: Search for shared library
2015-03-14 17:23:27 +01:00
mathieui b9af0c4d12 GC Adapter: Do not abort if some libusb functions are not supported
Also remove a typo.
2015-03-13 18:05:09 +01:00
mathieui 88ab6352dd GC Adapter: do not proceed with the input read if the thread isn’t running
If the Init() call does not work in the fallback path, then abort.
2015-03-13 18:05:09 +01:00
mathieui 5a10be7fef GC Adapter: fix a crash on exit
s_detected is better for detecting that a thread is actually running.
Also make sure the claim_interface is always called when we detect an
adapter.
2015-03-13 18:05:09 +01:00
mathieui ebedc80545 GC Adapter: never call libusb_reset_device()
There should be no need to do this, and performing a reset breaks things
on any other software using the device (e.g. another dolphin instance).
2015-03-13 18:05:09 +01:00
mathieui ad49de7740 GC Adapter: don’t stop scanning after failing to claim an adapter
Only call Shutdown() after all devices have been tested.
2015-03-13 18:05:09 +01:00
mathieui 5f5cc963cf GC Adapter: stop searching adapters after one has been added 2015-03-13 18:05:09 +01:00
skidau 2c6eaf9c76 Cleaned up the controls lock that is not needed with 780eef68f6 2015-03-12 23:33:30 +11:00
Rachel Bryk e7d237f199 Use system time for start time in netplay. 2015-03-11 23:21:14 -04:00
skidau f3bb30f17f Merge pull request #2180 from RachelBryk/netplay-quit
Fix crash when server's client disconnects.
2015-03-12 13:28:38 +11:00
magumagu b523e7d3d3 Fix IPCHLE for gethostbyname.
It turns out that the offsets of the data in the return buffer matter: the
offset 0x340 is hardcoded into the code that uses the result.

With that fixed, get rid of the completely wrong 0x80000000 hack.
2015-03-11 17:08:15 -07:00
magumagu dda5e610eb Fix paired loadstore to use correct load/store calls.
psq_st performs one store, and psq_ld one load, from the perspective of the
MMU; getting this wrong leads to potentially incorrect behavior (incorrect page
faults, weirdness with the gather pipe, etc.).  Fix this, and stop masking
the address when checking for gather pipe writes.

Also a bunch of cleanup.
2015-03-11 17:06:18 -07:00
Dolphin Bot 647cd3c8e0 Merge pull request #2171 from JosJuice/nonmodal-regression
Fix 4.0-5689 regression (AR codes, patches)
2015-03-11 08:15:02 +01:00
skidau d7e54c36f1 Calibrated the GCPad even if the game does not explicitly do so. 2015-03-09 17:07:15 +11:00
skidau d92efc4a3e Merge pull request #2190 from skidau/wiimote-profiles
Fixed the wiimote profiles not taking effect.
2015-03-09 11:30:33 +11:00
magumagu a1dbe8e463 Merge pull request #2166 from MoochMcGee/master
Add various loads and stores to JitIL
2015-03-08 17:12:52 -07:00
magumagu 859c1123ba Fix typo in usage of IsOptimizableMMIOAccess. 2015-03-08 16:20:17 -07:00
skidau b200e83b02 Fixed the wiimote profiles not taking effect. 2015-03-09 08:32:14 +11:00
Ryan Houdek 7f50cc0873 [AArch64] Optimize slowmem paired stores.
This came up from the discussion we were having prior about dumping half of a kilobyte of VFP registers to the stack is insanity.
This was due to me basically copying exactly what I did on ARMv7's paired loadstores, where the impact is less since we only use the bottom 64bits of
the VFP registers.

So I decided to think about how to improve upon this since I got called out on my terrible code.
The solution I have come up with is instead of jumping to the common ASM routine and having that check if it needs to take the fastmem or slowmem
routes, just inline the check in to the JIT block and jump to either a fastmem or slowmem handler.
Fairly simple, and this allows us to only flush the registers that are required when doing so. Should give a reasonable increase in performance for
games that use the slowmem path quite a lot.
2015-03-08 16:12:49 -05:00
Ryan Houdek a9622c247b Merge pull request #2146 from Sonicadvance1/aarch64_optimize_fpr_push_pop
[AArch64] Optimize FPR pushing and popping.
2015-03-08 08:51:45 -05:00
skidau 3e12787cc8 Fixed a crash on launch which occurred if the hotkeys are not defined and the default hotkeys are loaded. 2015-03-08 20:27:14 +11:00
skidau 12ecc537e9 Renamed the Menu Accelerators to Key Shortcuts.
Cleared the default mapping of hotkeys as they were conflicting with the key shortcuts.
Removed the Open, Change Disc, Refresh List and Exit hotkeys as they work only when driven from the menu.
2015-03-08 20:27:13 +11:00
skidau 780eef68f6 Fixed the crash that would occur when the Refresh button was pressed in the controllers config.
- Simplified the locking mechanism when controllers were updated
- Reloaded the config of the controls instead of re-initialising the control plugins
- Fixed controls being unresponsive after the Refresh button was pressed
- Disables the hotkeys while the controller config is open
2015-03-08 20:27:13 +11:00
skidau a83d27b9c2 Increased the performance of the hotkey code by:
* Halving the number of hotkeys checked for (there were extra for future use)
* Gets the controller status once before parsing hotkeys
* Checks for the GUI lock once before parsing hotkeys
* Removed some redundant memsets
2015-03-08 20:27:12 +11:00
magumagu 9c045e2496 Merge pull request #2094 from lioncash/flags
Interpreter: Flag cleanups/fixes.
2015-03-07 17:38:00 -08:00
Rachel Bryk 3df51e553f Fix crash when server's client disconnects. 2015-03-07 04:40:24 -05:00
JosJuice 4a41ab1715 Fix 4.0-5689 regression (AR codes, patches)
CreateCodeTab, ARCodeAddEdit and PatchAddEdit
need to be able to modify arCodes/onFrame.
2015-03-06 12:26:40 +01:00
magumagu 92ba677371 Merge pull request #2174 from skidau/warning-fix-gc-adapter
Warning fix
2015-03-05 14:56:19 -08:00
skidau ef3fd68603 Warning fix 2015-03-06 09:34:38 +11:00
Tillmann Karras 45dbcf0ed2 Jit64: use MRegSum where appropriate 2015-03-05 21:58:28 +01:00
Tillmann Karras e27fae22d8 Jit64: drop a FIXME that has been fixed for years
See 6cdb40a194.
2015-03-05 21:58:28 +01:00
Lioncash b7514955e5 Merge pull request #2113 from Stevoisiak/VolumeCleanup
Basic volume code cleanup
2015-03-05 12:18:53 -05:00
skidau 203c64e66d Changed the GC Adapter rumble command to work like other controllers. 2015-03-05 23:57:18 +11:00
skidau 4cf4cee30e Removed the GC Adapter "Use Thread" option as it was not useful. 2015-03-05 23:30:43 +11:00
skidau e5277a5f49 Ignore invalid rumble data sent over Netplay to the GC Adapter 2015-03-05 23:11:48 +11:00
skidau dee6a04980 Moved the gcpad calibration from construction to runtime 2015-03-05 23:06:19 +11:00
Lioncash a11bbe6fea PPCTables: Remove FL_OUT_S.
This is unused, and since it had the same value as FL_OUT_D, it was unnecessarily setting the rS register as an output, even on instructions that only have FL_OUT_D set.
2015-03-03 16:23:28 -05:00
Lioncash 139dbcb8e2 Interpreter_Tables: Fix wrong flags and add missing ones 2015-03-03 16:23:21 -05:00
Darius Goad f4750804ab Add various loads and stores to JitIL 2015-03-03 11:17:25 -06:00
Ryan Houdek 81242dd4a7 [AArch64] Allow the other FPR push/pop routines to use a temporary register. 2015-03-02 21:38:09 -06:00
Tillmann Karras a5ea6c6e93 enet: fix Visual Studio files 2015-03-02 22:20:37 +01:00
Ryan Houdek f1a9db9bdc [AArch64] Stop violating the AAPCS64 so much. 2015-03-02 11:21:15 -06:00
skidau 939159cd71 Cleared the status of the GC Adapter before populating it with new data 2015-03-02 11:08:26 +11:00
Tillmann Karras 88264f5712 Fix -Wswitch warning 2015-03-01 16:17:32 +01:00
skidau 4dd0813dcf Merge pull request #2133 from randomstuff/hotkeys
Fix hotkeys for Linux
2015-02-28 10:59:18 +11:00
Markus Wick 4f9fcbaba9 Merge pull request #2120 from JosJuice/show-default-gameini
ISOProperties: Allow opening region-free INIs with "Show Defaults" button
2015-02-27 17:58:42 +01:00
skidau 2a41ac4072 Merge pull request #2123 from RachelBryk/nonmodal-isoprops
Make iso properties non modal.
2015-02-27 13:25:46 +11:00
skidau 85359d5169 Merge pull request #2124 from RachelBryk/framelimit-hotkeys
Fix order of some hotkeys
2015-02-27 13:24:32 +11:00
Stevoisiak 06cb85991e De-capitalized CountryCode 2015-02-26 16:57:31 -05:00
Ziek a629555e6b Added Gui elements in Netplay Setup Diag so a person can choose a traversal server
Fixed bug with UPnP so that it will grab the proper address and protocal
Fixed bug that caused dolphin to freeze when host codes were to large
2015-02-25 18:28:26 -08:00
Ziek 1dea3780a7 Fixed issue where players were not disconnecting correctly 2015-02-25 18:28:26 -08:00
Ziek 074d688884 Change netplay initial gctime to be determined by the hosts initial time 2015-02-25 18:28:26 -08:00
Ziek 4cdc307b87 Moved Traversal Client code over from old netplay
Moved over gui code for copying host code
added gui to netplay diag setup to switch between direct and traversal connection
2015-02-25 18:28:25 -08:00
Ziek 461a54338b Switched tcp over to enet 2015-02-25 18:17:50 -08:00
Gabriel Corona 1cae151c9c Avoid conflicts between hotkeys and global keybindings for Linux
Alt+foo are usually used as global keybindings.
2015-02-26 01:40:06 +01:00
Gabriel Corona 13d43c0cde Fix linux hotkeys
Backticks are necessary when the key is not /^[A-Za-Z]*$/.
2015-02-26 01:29:52 +01:00
Lioncash 7408de7e79 Merge pull request #2058 from Stevoisiak/Codemaid-Cleanup-Take2
Basic Formatting/Whitespace Cleanup
2015-02-25 18:07:56 -05:00
Stevoisiak 93b16a4a2d Formatting/Whitespace Cleanup
Various fixes to formatting and whitespace
2015-02-25 10:48:21 -05:00
Rachel Bryk 2c54ca0f84 Fix order of some hotkeys 2015-02-25 00:42:40 -05:00
skidau f4e42b394c Merge pull request #2106 from magumagu/elf-translation-registers
Correctly set up MSR and BAT registers for ELF loading.
2015-02-25 12:42:48 +11:00
Rachel Bryk 2df8190e1a Make iso properties non modal. 2015-02-24 19:11:03 -05:00
degasus 967eaad8df VideoCommon: rename efb2tex and efb2ram 2015-02-24 23:10:13 +01:00
degasus 1313d3461f VideoCommon: always enable efb copy 2015-02-24 23:01:01 +01:00
JosJuice a1f0f60a79 CoreParameter: Refactor game INI code 2015-02-24 20:01:11 +01:00
Ryan Houdek 28e55d29f2 Fix a crash with fastmem disabled.
When the core is busy shutting down only uninstall the exception handler if fastmem is actually enabled.
We only install when fastmem is enabled, so only uninstall when it is as well.

Fixes a crash I was getting on ARMv7.
2015-02-24 04:52:37 -06:00
skidau bd0d5c1a22 Merge pull request #2102 from magumagu/ipchle-net-regression
Fix crash in Wii games using IPCHLE networking.
2015-02-24 13:14:48 +11:00
skidau bf61abf22b Merge pull request #2093 from magumagu/gc-bios-hack
Hack around our terrible GC BIOS emulation.
2015-02-24 13:11:25 +11:00
Tillmann Karras f298f00e1b Clean up the intrinsics #ifdef mess 2015-02-24 01:02:36 +01:00
Ryan Houdek 7a61bd5519 Merge pull request #2107 from Sonicadvance1/aarch64_fix_lha
[AArch64] Fix fastmem lha/lhax.
2015-02-23 15:08:42 -06:00
magumagu b9157c5a36 Merge pull request #2090 from magumagu/jit-gatherpipe-address
Refactor gather-pipe address checking.
2015-02-23 12:46:04 -08:00
magumagu 0ff7e20829 Merge pull request #2109 from lioncash/cr
Interpreter: Fix Helper_UpdateCR1
2015-02-23 11:23:21 -08:00
Lioncash 6fe59d82e1 Interpreter: Fix Helper_UpdateCR1
This previously shifted off-by-one
2015-02-23 06:56:01 -05:00
Ryan Houdek 859eeb6d5b [AArch64] Fix fastmem lha/lhax.
When the fastmem loadstore would fail, we would disassemble a few instructions to determine if lhbrx or lhz*
This was failing since I was checking the REV16 instruction that appears after the LDRH. Fixed it to make sure it was checking the correct instruction
which is SXTH.

Fixes an issue where homebrew wouldn't load with fastmem enabled.
2015-02-22 22:58:10 -06:00
magumagu fca5e176b3 Correctly set up MSR and BAT registers for ELF loading. 2015-02-22 20:51:50 -08:00
skidau 793abccb5e Merge pull request #1942 from Buddybenj/No-Intro
Replace Country Names With No-Intro Names
2015-02-23 12:56:28 +11:00
Lioncash 1a913138d5 Interpreter: Uncomment code related to cmp and cmpl
This is actually correct. Also cmpli has this uncommented as well.
2015-02-22 19:07:09 -05:00
magumagu b5020b1675 Fix crash in Wii games using IPCHLE networking.
Address passed from IOS to PowerPC should be in the 0x90000000 range, not
0x10000000.

Issue 8264.
2015-02-22 14:07:05 -08:00
Dolphin Bot 03ffab4249 Merge pull request #2098 from Tilka/fix_warning
Fix -Wmissing-variable-declarations warning
2015-02-22 20:16:11 +01:00
Tillmann Karras 8d19f62b69 Fix -Wmissing-variable-declarations warning 2015-02-22 20:08:28 +01:00
magumagu 917a900ccb Refactor gather-pipe address checking.
The implementation of IsOptimizableGatherPipeWrite is extremely simple
now, but it will get a bit more complicated with dynamic-bat.
2015-02-22 11:01:42 -08:00
magumagu 18ada7a0f5 Merge pull request #2033 from magumagu/mmio-fix-addresses
Fix the addresses of MMIO registers.
2015-02-22 10:58:25 -08:00
Fiora c54a8c54fb Merge pull request #1994 from Tilka/vtune
JitRegister: fix VTune integration
2015-02-22 07:58:12 -08:00
Lioncash bfa5dcc891 Interpreter: Set the FPCC bits correctly for ordered/unordered FP compares
Setting the whole FPRF is slightly incorrect, this should only modify the FPCC bits; the class bit should be preserved.
2015-02-22 02:19:13 -05:00
magumagu 97b7f26d58 Hack around our terrible GC BIOS emulation.
Fixes a crash launching F-Zero GX.
2015-02-21 20:07:54 -08:00
Lioncash 09319a1e11 Interpreter: Rearrange ordered/unordered compares
Comparing floating point numbers with == can trigger warnings (and have static analysis tools complain). So we make it the else case.
This also more closely resembles the Gekko manual.
2015-02-21 22:26:23 -05:00
Lioncash 70e1121b29 Interpreter_Tables: srawix only uses rS, not rS and rB.
srawix's input/output is defined as rA, rS, SH, where SH is an immediate for the shift amount.
2015-02-21 21:20:43 -05:00
Lioncash 7c244766dc Interpreter: Use correct destination for psq_l, psq_lx, psq_lu, and psq_lux.
Gekko manual defines these as storing to rD, not rS.

Also removed FL_OUT_FLOAT_S, since nothing uses it now.
2015-02-21 21:20:41 -05:00
Lioncash 7bc2830520 Interpreter: Use Helper_Get_EA_X() for eciwx and ecowx
Cleans up the functions a little.
2015-02-21 21:20:40 -05:00
Lioncash dc6cc909e5 Interpreter: Use FL_IN_A0B for ecowx
ecowx uses the value zero if rA is zero.
2015-02-21 21:20:39 -05:00
Lioncash a8199a1070 Interpreter: Use correct destination for eciwx
Gekko manual defines the destination as rD. Also, if rA is zero, the
value zero is used, so FL_IN_AB is changed to FL_IN_A0B.
2015-02-21 21:20:38 -05:00
Pierre Bourdon 860c889454 Merge pull request #2076 from tanishalfelven/optimize-IsCPUThread
IsCPUThread() Speed Up
2015-02-22 00:54:55 +01:00
Tanis 568f0dca78 In hope of speeding up ```IsCPUThread()``` got rid of id checking and instead implemented a TLS boolean...
Made initialization of s_tls_is_cpu_key threadsafe
2015-02-21 17:52:49 -06:00
magumagu 9e29154b08 Merge pull request #1988 from magumagu/fast-checkgatherpipe
Use faster CheckGatherPipe from JIT.
2015-02-21 15:07:59 -08:00
Pierre Bourdon e8f37bc3fe Merge pull request #2091 from magumagu/lmw-saved-regs
Fix registersInUse in Jit64::lmw.
2015-02-21 18:42:17 +01:00
magumagu 018a7f1ec9 Fix registersInUse in Jit64::lmw.
Doesn't fix any known issue at the moment, but I ran into this bug with
dynamic-bat.
2015-02-21 09:31:20 -08:00
Markus Wick 95c48b2be7 Merge pull request #2018 from JosJuice/gameini-region-wildcard
Support game INIs that match all regions
2015-02-21 15:47:57 +01:00
magumagu 0360e01eaf Merge pull request #2040 from magumagu/gc-memmap
Try to fix our memory map to match the GameCube.
2015-02-19 15:44:36 -08:00
magumagu 314b241220 Try to fix our memory map to match the GameCube.
This basically just restores the RAM mirroring that existed before PR1856
(address translation).
2015-02-19 15:02:51 -08:00
Pierre Bourdon fbbbad98e9 Merge pull request #2079 from lioncash/tables
PowerPC: Minor cleanups.
2015-02-19 22:51:34 +01:00
magumagu d0c675af83 Merge pull request #2080 from lioncash/interp
Interpreter: Remove unnecessary prototypes and includes
2015-02-19 11:19:20 -08:00
Lioncash 8401b5a1f2 Interpreter: Remove unnecessary prototypes and includes 2015-02-19 13:20:24 -05:00
Lioncash a60d3306b1 PowerPC: Get rid of magic numbers related to interp/JIT initialization. 2015-02-19 12:16:53 -05:00
Lioncash d32359c915 PPCTables: Simplify UsesFPU
We can just retrieve the op info and check if the FPU flag is present
2015-02-19 12:16:44 -05:00
Pierre Bourdon 6a14300c9c Merge pull request #2078 from lioncash/fwd
PPCTables: Remove an unnecessary forward declaration
2015-02-19 15:51:15 +01:00
Lioncash e4df6026c4 PPCTables: Remove an unnecessary forward declaration
This class name isn't used anymore.
2015-02-19 09:08:00 -05:00
Lioncash 0fc3166b2f PPCTables: Correct some flag descriptions 2015-02-19 08:56:18 -05:00
Lioncash c8c61041ba Merge pull request #2007 from lioncash/si
Core: Move several files into the correct VS directory filter.
2015-02-18 21:33:39 -05:00
Ryan Houdek 19f8524304 Fix mulli's flags in the instruction tables.
It doesn't set RC, so this flag is incorrect.
2015-02-18 16:26:12 -06:00
Shawn Hoffman f91e8e9423 make libusb vcxproj use standard dolphin template and don't compile strerror.c. 2015-02-18 13:29:39 -08:00
Pierre Bourdon 8cc6e5cff9 Merge pull request #1854 from JosJuice/read-disc-after-delay
DVDInterface: Read disc after delay, not before
2015-02-18 20:35:07 +00:00
Pierre Bourdon 042fcbcbca Merge pull request #2067 from magumagu/cputhread-assert
Disable an IsCPUThread() assert in Release builds.
2015-02-18 16:22:23 +00:00
Ryan Houdek ef2fba2e85 Merge pull request #2070 from lioncash/unused
PowerPC: Remove unused enum values
2015-02-17 23:42:46 -06:00
Lioncash 78d917b0b3 PowerPC: Remove unused enum values 2015-02-18 00:37:32 -05:00
Lioncash 0b3a2ae4ca PowerPC: Document the instruction table flags
Should make it easier for newcomers to get up to speed.
2015-02-18 00:17:51 -05:00
Buddybenj 265a21a565 Replace Country Names With No-Intro Names 2015-02-17 18:50:10 -06:00
Ryan Houdek 127e742992 Merge pull request #2046 from Mullin/Fix-unsigned/signed-stores
[ARMv7] Fix unsigned/signed stores
2015-02-17 14:38:36 -06:00
Mullin 39aa2432a6 Fix signed/unsigned stores 2015-02-17 21:29:01 +01:00
Fiora 53bf21e15a Merge pull request #2066 from lpereira/regcache-with-variadic-tpl
Jit64: Use variadic templates for RegCache locking
2015-02-17 08:53:07 -08:00
Lioncash 39e121e551 Merge pull request #2064 from magcius/fix-tilt
WiimoteEmu: Add back the calibrated accel data to the EEPROM
2015-02-17 11:14:09 -05:00
JosJuice 3ac0977bc6 DVDInterface: Read disc after delay, not before 2015-02-17 14:57:36 +01:00
Leandro Pereira 1162c5344b Jit64: Use variadic templates for RegCache locking 2015-02-17 10:01:42 -02:00
Ryan Houdek 3aa605236d Merge pull request #2041 from Sonicadvance1/AArch64_vertex_loader
[AArch64] Vertex loader and things
2015-02-17 00:51:51 -06:00
magumagu 77a0bfdd8f Merge pull request #2055 from magumagu/fakevmem-code
Allow executing code out of FakeVMEM.
2015-02-16 19:13:14 -08:00
magumagu cce503c879 Disable an IsCPUThread() assert in Release builds.
IsCPUThread is extremely slow at the moment, and this code runs
frequently.
2015-02-16 19:07:42 -08:00
Jasper St. Pierre e53268be1b WiimoteEmu: Add back the calibrated accel data to the EEPROM
It seems that games actually read this to determine how to act, which
isn't particularly strange. I was imagining it was more for the
Wiimote's internal normalization, but I was wrong.
2015-02-16 15:16:23 -08:00
Ryan Houdek f54a0d3ff4 [AArch64] Minor floating point loadstore improvements.
These use the Vector x Element FMUL instruction to improve speeds slightly.
Should give ~3cycle improvement per quantized loadstore done.
2015-02-16 16:51:39 -06:00
magumagu f316265973 Fix the addresses of MMIO registers.
MMIO registers are located at 0x0C000000 and 0x0D000000, not 0xCC000000.
The 0xCC000000 addresses are just an artifact of address translation.
2015-02-15 18:29:37 -08:00
magumagu 5b6a947e8f Merge pull request #2035 from magumagu/remove-bat-option
Remove the BAT checkbox/setting/implementation.
2015-02-15 17:27:18 -08:00
Markus Wick f38b3ace38 Merge pull request #2038 from magumagu/disable-thread-safety-checks
Disable thread safety assertions added in PR1987.
2015-02-15 10:33:19 +01:00
skidau d601657c99 Merge pull request #2045 from greyrogue/master
Add Datel AGP save commands for SRAM/FRAM.  Improve EEPROM.
2015-02-15 12:57:58 +11:00
greyrogue 2d4aa2a195 Add save commands for SRAM/FRAM. Improve EEPROM.
Handle possible endian file read issues at file access time instead of
using Swap64 on every access.
Code comments and clean up.
2015-02-14 20:36:26 -05:00
skidau 72e8e78ec8 Merge pull request #2037 from magumagu/illegal-inst-handling
Improve illegal instruction handling.
2015-02-15 12:34:08 +11:00
skidau 32d8f887fe Merge pull request #2032 from mathieui/update-libusb-externals
Update the libusb in externals to 1.0.19 (latest)
2015-02-15 12:32:10 +11:00
Pierre Bourdon 3500740dd4 Windows AVIDump: support "silent" frame dumping
When enabled, the silent option will avoid popping up dialog boxes for
overwrite confirmation or codec selection. The codec selection defaults to
uncompressed RGB.

This is required for FifoCI on Windows which needs to drive Dolphin from the
command line exclusively.
2015-02-14 23:38:14 +01:00
magumagu 001bf9152e Allow executing code out of FakeVMEM.
Fixes regression from PR1856 (address translation).
2015-02-14 14:08:46 -08:00
Lioncash e3b9be6dbb Core: Move several files into the correct VS directory filter 2015-02-13 20:57:23 -05:00
Tillmann Karras a7cc36e711 Movie: reintroduce a local variable 2015-02-14 02:27:15 +01:00
Rachel Bryk b66df8424a Remove an unneeded global variable from Movie.cpp. 2015-02-13 20:11:44 -05:00
Ryan Houdek b989c2fd8f [AArch64] Fix another assert in the JIT register cache. 2015-02-13 12:16:06 -06:00
Tillmann Karras d33e760c55 Jit64: turn short jmp into near jmp
Fixes a regression from #1856's ac54c6a.
2015-02-13 07:51:34 +01:00
magumagu f9e8ad39fc Fix typos from PR1856 (address translation). 2015-02-12 12:11:33 -08:00
magumagu 98b809a05e Disable thread safety assertions added in PR1987.
We do a whole bunch of non-threadsafe stuff, especially in the UI, and I'm
probably not going to get around to implementing a threadsafe framework
for interaction between the UI and the CPU thread anytime soon.  See issue
8220.
2015-02-12 11:54:17 -08:00
magumagu 985087c7e2 Make all unknown opcodes behave consistently.
Consistently fall back to the interpreter for unknown instructions, and
make sure GetOpInfo() always returns a non-null pointer.
2015-02-11 22:18:33 -08:00
magumagu e640ef9d7b Improve illegal instruction handling.
This should more reliably show an error message for illegal
instructions.
2015-02-11 21:01:00 -08:00
magumagu aa40f750d4 Remove the BAT checkbox/setting/implementation.
The current version of the setting is useless, and the real implementation
(PR1882) will be always-on, and won't use any of the existing code.
2015-02-11 20:24:51 -08:00
magumagu 49f223a211 Remove setting "BlockMerging".
It isn't hooked up to anything anymore, and it isn't the sort of thing we
want users messing with anyway.
2015-02-11 19:52:48 -08:00
Tillmann Karras 0ec48e0ec9 JitRegister: fix VTune integration 2015-02-12 02:14:49 +01:00
magumagu 0e0a196a1c Merge pull request #1856 from magumagu/correct-translation-disable-2
Make address translation respect the CPU translation mode
2015-02-11 17:04:12 -08:00
Tillmann Karras 4fa38f0c02 Externals: update libusb to version 1.0.19 2015-02-12 01:04:43 +01:00
magumagu 4193350d22 Memmap: add an explanation of Dolphin's memory layout. 2015-02-11 15:22:21 -08:00
skidau 4ff5ec7117 Merge pull request #1984 from mathieui/GCAdapter-fixes
Fix issues with the GC adapter handling code
2015-02-12 09:54:53 +11:00
magumagu aaee23d1b4 Fix ARM64 build for address translation changes. 2015-02-11 13:56:38 -08:00
magumagu e136c8a066 PowerPC: misc cleanup. 2015-02-11 13:56:36 -08:00
magumagu ac54c6a4e2 Make address translation respect the CPU translation mode.
The PowerPC CPU has bits in MSR (DR and IR) which control whether
addresses are translated. We should respect these instead of mixing
physical addresses and translated addresses into the same address space.

This is mostly mass-renaming calls to memory accesses APIs from places
which expect address translation to use a different version from those
which do not expect address translation.

This does very little on its own, but it's the first step to a correct BAT
implementation.
2015-02-11 13:56:22 -08:00
JosJuice f9d6c17c08 Use CoreParameter's game INI functions in more places 2015-02-11 19:01:05 +01:00
JosJuice e186104960 Don't use revision-specific unique ID strings outside of CoreParameter 2015-02-11 19:01:04 +01:00
JosJuice 47e67f9696 CoreParameter: Support game INIs that match all regions 2015-02-11 19:01:03 +01:00
JosJuice 8670f2a627 CoreParameter: Unify LoadDefaultGameIni and LoadLocalGameIni
A side effect of this is that user INIs now can specify revisions.
I don't think anyone will use it, but there's no reason to not allow it.
2015-02-11 19:01:03 +01:00
JosJuice d73a6ea3b7 Move some BootManager game INI code to CoreParameter 2015-02-11 19:01:02 +01:00
magumagu d9988ee9b5 Merge pull request #1987 from magumagu/thread-safety
Cleanup usage of atomic/threadsafe functions
2015-02-10 13:48:12 -08:00
magumagu 0f96a0104e Merge pull request #1752 from Buddybenj/clean-up
Clean Up
2015-02-10 11:39:14 -08:00
Lioncash 07556b4849 WiimoteEmu: Change define into a variable and move it to where it's used. 2015-02-10 11:46:04 -05:00
Markus Wick 2aef84d80c Merge pull request #2025 from phire/be-neobrain
Remove VBeam Speed Hack.
2015-02-09 12:55:58 +01:00