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
Scott Mansell
4cb01673a0
Remove now useless NumFields Function which always returned 1.
2015-02-10 00:48:06 +13:00
Scott Mansell
8f416821ad
Remove VBeam Speedhack.
2015-02-09 23:10:30 +13:00
mr.greywater
a1f8c232b2
Fix warning message when loading german discs
...
Added COUNTRY_GERMANY as EUR_DIR so it will not show the warning message that the GCM/ISO is invalid. Also refactors the code to remove duplicate code.
2015-02-08 16:38:35 +01:00
Lioncash
537b9e507b
Merge pull request #1998 from FL-dolphinemu/align_g_HKData_struct
...
Vertical aligned all members of g_HKData struct.
2015-02-07 21:31:45 -05:00
Fiora
73d65f3ad3
Merge pull request #1874 from magumagu/remove-unchecked-reads
...
JIT: cleanup instrction merging for idle loop and dcbst.
2015-02-07 13:48:22 -08:00
skidau
8f4bcf3ec3
Merge pull request #2012 from lioncash/memswitch
...
Memmap: Fix switch fallthroughs
2015-02-06 21:47:24 +11:00
skidau
66d80b75e2
Merge pull request #1939 from Sintendo/dspjit_ccnits
...
Minor DSP JIT optimizations
2015-02-06 13:53:09 +11:00
JosJuice
3414f818cd
DVDInterface: Get rid of DVDCommandResult struct
...
It's only used in one place and is no longer necesssary.
2015-02-05 15:10:31 +01:00
JosJuice
af4f872dfe
DVDInterface: Schedule event in ExecuteCommand
2015-02-05 15:10:14 +01:00
mathieui
8e556603af
Fix issues with the GC adapter handling code
...
If we successfully detach the kernel driver from the interface, we
should continue instead of aborting the setup.
And we should not use libusb_handle_events(), as the API says it is only
for backwards compatibility. Additionally, if the adapter thread is not
active, dolphin will take 60 seconds to close because the
libusb_handle_events() timeout is hardcoded to 60 seconds. Instead, use
libusb_handle_events_timeout_completed() with a timeout of 1 second.
Also, cancel the libusb transfers before the join(), to be able to close
the usb device without libusb screaming in the background (and
potentially crashing).
And finally, split the Init() and Shutdown() functions to avoid having
to init and exit libusb every time we neeed to detect the adapter.
2015-02-05 10:03:21 +01:00
Sintendo
46df8a5358
Correct clobber comments
2015-02-04 22:26:40 +01:00
Sintendo
ca0790e9c9
Merge Update_SR_Register64_Carry functions
2015-02-04 22:26:40 +01:00
Sintendo
34afe08de9
Minor DSP JIT optimizations
2015-02-04 22:26:39 +01:00
degasus
68c70be960
HotKey: fix warnings
2015-02-04 20:19:16 +01:00
Lioncash
e07679114b
Use emplace_* functions where in-place construction is preferable
2015-02-04 11:39:08 -05:00
Lioncash
d7c6a7522d
Memmap: Fix switch fallthroughs
...
Fixes a bug where out of range MEM2 accesses would hit the locked cache.
2015-02-04 08:28:52 -05:00
skidau
3709a1ce3a
Fixed the crash which occurred when opening Wiimote configuration before a game was started.
2015-02-04 18:48:19 +11:00
skidau
b9fb6ad3e8
Initialised all controller interfaces together on CFrame construction to fix the crash that would occur if the controller config were opened before a game was started.
2015-02-04 18:05:22 +11:00
skidau
5e645732f2
Merge pull request #1949 from skidau/hotkey-input
...
Added the ability to map gamepad buttons to hotkeys.
2015-02-04 14:35:03 +11:00
skidau
4e7d2ab893
Merge pull request #1985 from CarlKenner/accelerometers
...
Fix accelerometer wiimote/nunchuk emulation.
2015-02-02 12:15:43 +11:00
FL.dolphinemu
4f65787888
Vertical aligned all members of g_HKData struct.
2015-02-01 10:07:22 +01:00
Ryan Houdek
f9c2d73970
Remove an old comment about stfiwx.
...
This instruction does exactly what it is supposed to. No need for this comment.
2015-02-01 00:30:53 -06:00
magumagu
30d15b3a32
Clean up usage of PowerPCState::Exceptions.
...
Accessing any member of ppcState from a thread other than the CPU thread
is not allowed; don't pretend that there's any exception to that rule.
2015-01-31 12:02:45 -08:00
skidau
3b07fe01a2
Merge pull request #1982 from skidau/AGP-hash
...
Advance Game Port (AGP) fixes
2015-01-31 12:34:01 +11:00
magumagu
5a3f75f5cf
Use faster CheckGatherPipe from JIT.
...
We don't need to profile explicit calls to CheckGatherPipe: we aleady know
where they are. Skip profiling, and explciitly insert an exception check.
While I'm here, get rid of unused code in JitIL.
2015-01-30 17:00:58 -08:00
magumagu
47be9d8e6b
Clean up usage of ScheduleEvent_Threadsafe.
2015-01-30 14:48:23 -08:00
Ryan Houdek
a277172b49
Merge pull request #1980 from Sonicadvance1/AArch64_more_optimizations
...
[AArch64] Minor optimizations
2015-01-30 08:33:19 -06:00
Ryan Houdek
7cd80200ed
[AArch64] Remove an extraneous nop in 8bit fastmem stores.
2015-01-30 08:30:17 -06:00
Ryan Houdek
4ff2f105cc
[AArch64] Implement MMIO Writes.
2015-01-30 08:30:11 -06:00
Lioncash
b1547b9c8b
Use unique_ptr for some IVolume instances
2015-01-29 21:33:19 -05:00
skidau
ccc1e9aa65
Changed the hash array to a CRC8 function.
2015-01-30 13:33:17 +11:00
CarlKenner
fb370110dc
Fix horribly broken accelerometer emulation.
...
It now emulates the least significant bits.
And it no longer treats maximum acceleration in one direction as being in the opposite direction.
2015-01-30 12:38:21 +10:30
skidau
855ad6f1d3
Fixed an overflow bug in Jit64.
2015-01-30 13:00:23 +11:00
skidau
a42fb80f6a
Added a hash key finder.
...
Fixed the memcard and AGP path parsing in Windows (the code is expecting '/' to be used as the DIR_SEP).
2015-01-30 13:00:23 +11:00
skidau
83a9f1b850
Merge pull request #1972 from lioncash/ref
...
EXI_DeviceAGP: Pass string by reference
2015-01-30 12:58:26 +11:00
Ryan Houdek
9b4a896353
Remove an old outdated comment that makes no sense.
...
This comment was left over from a long time ago. It is no longer true.
2015-01-29 09:40:22 -06:00
Ryan Houdek
631c8a981e
[AArch64] Minor performance improvements to paired stores.
...
We can combine these two ST1 calls in to a single ST1 call.
Saves a few cycles in paired stores
2015-01-29 06:07:00 -06:00
Ryan Houdek
235f6c2445
[AArch64] Don't flush VFP register to stack when not needed.
2015-01-29 06:07:00 -06:00
Ryan Houdek
c8c062fa96
[AArch64] Add support for MMIO loads.
...
Should give a small performance benefit.
2015-01-29 06:06:54 -06:00
Markus Wick
109fa8c2c8
Merge pull request #1800 from randomstuff/jit-register
...
Add support of more JIT-compiled code for profiling
2015-01-28 13:23:32 +01:00
Gabriel Corona
c3777bbd69
JitRegister: TrampolineCache
2015-01-28 10:41:45 +01:00
Gabriel Corona
329834f653
JitRegister: JitAsm
2015-01-28 10:41:03 +01:00
Gabriel Corona
3c14930a0a
JitRegister: JitAsmCommon
...
Allows profiling/debugging tools to know about JITed code.
2015-01-28 10:40:05 +01:00
Gabriel Corona
a957f93532
Use printf-like format in JitRegister::Register
...
The API is cleaner (no more magic default parameter) and more
extensible like this.
2015-01-28 09:47:08 +01:00
Tillmann Karras
257deb7886
CoreTiming: fix warning
2015-01-28 08:27:14 +01:00
Lioncash
7dc5bc622f
EXI_DeviceAGP: Pass string by reference
2015-01-27 10:15:27 -05:00
JosJuice
443d371fa3
DVDInterface: Don't use return for ExecuteReadCommand result
...
There's a small timing change here. If no disc is inserted, the
ticks_until_completion passed to ExecuteReadCommand will be used.
2015-01-27 09:47:02 +01:00
JosJuice
de86d539f2
DVDInterface: Move fast disc speed check to ExecuteReadCommand
...
This breaks the workaround used for Star Wars: Rouge Leader,
but that problem has gotten a more proper solution in 4.0-4889.
2015-01-27 09:46:58 +01:00
Markus Wick
43605f8716
Merge pull request #1948 from magumagu/remove-efb-cache
...
Remove EFB to RAM cache, and simplify code.
2015-01-27 09:42:15 +01:00
skidau
c20ef8bb8c
Merge pull request #1919 from skidau/AGP
...
Added support for AGP. Original patch by GreyRogue.
2015-01-27 13:25:14 +11:00
skidau
61c04de7ee
Added the ability to map gamepad buttons to hotkeys.
2015-01-27 12:24:47 +11:00
Ryan Houdek
983c7f4f21
[Android] Select the AArch64 recompiler core by default if shown to support ARMv8.
2015-01-26 00:50:25 -06:00
Ryan Houdek
5ba1319abb
Merge pull request #1953 from Sonicadvance1/AArch64_fix_paired_loadstores
...
[AArch64] Fix all of the paired store instructions.
2015-01-25 23:07:44 -06:00
Ryan Houdek
c340a324bc
Merge pull request #1947 from Sonicadvance1/AArch64_tu_tl_merge
...
[AArch64] Implement TU/TL merging.
2015-01-25 23:07:32 -06:00
Rohit Nirmal
51b27c5481
Fix building with PCH disabled.
2015-01-25 21:40:31 -06:00
Ryan Houdek
3274df7158
Merge pull request #1961 from Sonicadvance1/AArch64_game_fixes
...
[AArch64] Fix a load of games.
2015-01-25 18:26:42 -06:00
Ryan Houdek
b1fc18cbaa
Merge pull request #1958 from Sonicadvance1/Rearchitect_asmcommon
...
Rearchitect a bit of our AsmCommon routines.
2015-01-25 18:26:17 -06:00
Ryan Houdek
d291148016
[AArch64] Implement TU/TL merging.
...
Basically stolen from the x86 recompiler. Works well on AArch64 as well!
2015-01-25 18:05:33 -06:00
Ryan Houdek
f24c466e7e
[AArch64] Fix AArch64 instruction encoding.
2015-01-25 17:26:18 -06:00
Rohit Nirmal
d10b4d9b8b
Fix building with PCH disabled.
2015-01-25 11:34:22 -06:00
Ryan Houdek
e4e08b0596
[AArch64] Make sure to load the full destination register on float instructions.
...
With the float instructions that only affect the lower 64bits of the destination register, we need to make sure to load the full 128bit register.
This ensures that we aren't saving garbage in to the top 64bits.
2015-01-25 03:17:46 -06:00
Ryan Houdek
2483f7b359
[AArch64] Fix addcx.
2015-01-25 03:17:14 -06:00
Ryan Houdek
6791a808b6
[AArch64] Fix addzex.
2015-01-25 03:16:57 -06:00
Ryan Houdek
84b90ad1c6
[AArch64] Fix cmp
2015-01-25 03:16:29 -06:00
Ryan Houdek
12b9ada268
Rearchitect a bit of our AsmCommon routines.
...
JitCommon is becoming a cluster of x86 specific things and things that are common to multiple recompilers.
This overlap is beginning to cause us issues.
Begin by breaking out the common ASM arrays to have their own file and move the x86 specific routines to their own folder.
2015-01-24 20:06:15 -06:00
Benjamin Przybocki
4f324ad742
Clean Up
2015-01-24 17:10:21 -06:00
Tony Wasserka
43036af944
Merge pull request #1812 from phire/real_zfreeze
...
Add proper zfreeze support.
2015-01-24 13:29:57 +01:00
Ryan Houdek
93f3816eae
[AArch64] Fix all of the paired store instructions.
...
These had some minor errors in them that I discovered with the hardware test and Viewtiful Joe.
All work as they should now.
2015-01-23 23:18:49 -06:00
Dolphin Bot
4e9497cdb8
Merge pull request #1057 from phire/IsMMIOAddress2
...
Further improvements to IsMMIOAddress (Includes tests!)
2015-01-24 05:55:35 +01:00
Scott Mansell
fe28d1476a
Make the IsMMIOAddress function easier to read, add tests.
...
This also makes IsMMIOAddress more restrictive.
2015-01-24 17:24:40 +13:00
Ryan Houdek
088b6b2ec3
Merge pull request #1081 from phire/jitil-float-mem-opts
...
JitIL Float load/store optimizations.
2015-01-23 21:47:03 -06:00
Scott Mansell
5c34766809
Propagate elf loading failure up.
...
Also fix mistake in error message.
2015-01-24 16:28:34 +13:00
Scott Mansell
3106b20fbe
JITIL: Improve address calulation for float loads/stores.
...
For floating loads with a known address, this eliminates the pattern of:
mov r12d, 80001014
mov rdx, r12d
mov rdx, dword ptr [rbp+rdx]
and generates a nice simple:
mov rdx, dword ptr [rbp+00001014]
2015-01-24 16:08:50 +13:00
Scott Mansell
b7d4ff679a
IsWiiElf: Optimise inner loop.
...
Instead of swaping each word of the elf code section(s) looking
for a match to our pattern, we swap the pattern just once (at
compile time) and test against our swapped pattern.
2015-01-24 15:41:32 +13:00
Scott Mansell
2bf052d8b9
ElfReader: Clean up elf loader code.
...
* Don't claim to support any features we don't, like relocation
* Actually zero-out BSS sections, as memory might not be already
zeroed.
* Deleted commented out code.
* Removed GetPointer, updated to more modern interface methods.
* Updated pointer types style from "u32 *x" to "u32* x"
2015-01-24 15:41:32 +13:00
Scott Mansell
1e5762b163
BootUp: Clean up elf BootUp code.
...
* The file already exsists, otherwise we wouldn't have gotten
this far in the boot.
* We have already checked if it's a Wii or GameCube elf,
besides, it's too late to change our minds now anyway.
* On Wii - Don't call EmulatedBS2, it can never succeed as
it knows nothing about booting elfs. Just call the
SetupWiiMemory directly if needed.
* On GameCube - We still call EmulatedBS2_GC, but we stop
it from running Apploader, which might boot something
unexpected from the default iso or DVD root folder.
2015-01-24 15:41:28 +13:00
Scott Mansell
2642c3f73b
BootElf: Use unique_ptr<u8 []> instead of vectors.
2015-01-24 15:32:38 +13:00
skidau
f1a4b98d36
Merge pull request #1879 from magumagu/idle-exception-check
...
For idle loops, perform an exception check before CoreTiming::Advance.
2015-01-24 12:28:44 +11:00
skidau
7dafad5a8b
On DCBZ, mask the memory address to ensure that the address is within physical memory. The AGP disc DCBZ's against an out of bounds physical address.
2015-01-24 12:19:33 +11:00
skidau
8a561b57c3
Added EEPROM saving to file.
2015-01-24 12:15:48 +11:00
skidau
a7299a7fff
Added support for AGP. Original patch by GreyRogue.
2015-01-24 12:13:23 +11:00
skidau
18cee2dcc7
Added second parameter for the eject disc via StopMotor DI command. The AGP disc expects the disc to still be readable after sending an eject command.
2015-01-24 12:13:23 +11:00
magumagu
6659c15bed
Remove EFB to RAM cache, and simplify code.
2015-01-23 10:48:15 -08:00
skidau
0b1d8fae1b
Merge pull request #1926 from skidau/emu-wiimote-speaker-adpcm-sample-rate
...
Fixed the emulated wiimote speaker's ADPCM sample rate. Patch by hk.konpie
2015-01-23 12:31:20 +11:00
Ryan Houdek
db690a1862
Merge pull request #1936 from lioncash/kb
...
Minor keyboard-related cleanups.
2015-01-22 16:23:34 -06:00
Ryan Houdek
bff230fe2e
Merge pull request #1945 from skidau/GCPad-Init
...
Fixed the GCPad and GCKeyboard getting initialised four times each.
2015-01-22 10:41:43 -06:00
Scott Mansell
e88c02dece
Ensure that ZSlopes save/restore state correctly.
...
Had to re-do *ShaderManager so they saved their constant arrays
instead of completly rebuilding them on restore state.
2015-01-23 03:32:31 +13:00
skidau
6ad5d4681a
Fixed the GCPad and GCKeyboard getting initialised four times each.
2015-01-23 00:06:54 +11:00
Ryan Houdek
85754c63ca
[AArch64] Implement mfspr/mtspr XER routines.
...
These were fairly simple to implement.
2015-01-21 16:56:27 -06:00
Ryan Houdek
e7f2a04699
Merge pull request #1938 from CarlKenner/paddedfunctions
...
Skip zeroes that sometimes pad function to 16 byte boundary (eg. Donkey Kong Country Returns).
2015-01-21 15:17:31 -06:00
Ryan Houdek
80e6367e46
Merge pull request #1869 from Stevoisiak/GeneralConsistency
...
Minor consistency changes
2015-01-21 13:46:53 -06:00
Ryan Houdek
f9fc9d47c0
Merge pull request #1895 from JosJuice/isvolumewiidisc
...
Don't read from disk when checking volume type
2015-01-21 13:45:28 -06:00
Ryan Houdek
4c9fd63562
Merge pull request #1932 from Buddybenj/freelook
...
Fix Default Freelook Hotkey to Match Description (For Real This Time)
2015-01-21 13:41:29 -06:00
Ryan Houdek
b8b537d96e
Merge pull request #1934 from Buddybenj/change-order
...
Change Order of Some Hotkeys
2015-01-21 13:38:10 -06:00
Ryan Houdek
41dd0667ed
Merge pull request #1930 from Sonicadvance1/AArch64_scalar_ops
...
[AArch64] Move the 64bit floating point instructions to scalar.
2015-01-21 13:28:53 -06:00
Ryan Houdek
d86eaea393
Merge pull request #1935 from Sonicadvance1/AArch64_fix_fp_loadstore
...
[AArch64] Fix bugs in floating point loadstores.
2015-01-21 13:28:46 -06:00
CarlKenner
0ab1517134
Skip zeroes that sometimes pad function to 16 byte boundary (eg. Donkey Kong Country Returns).
...
This fixes function detection in the debugger, and prevents functions showing up as four bytes inside another function.
2015-01-22 02:00:35 +10:30
Lioncash
52e74a5070
GCKeyboardEmu: Use range-based for loops for iterating the key arrays
2015-01-20 21:28:40 -05:00
Lioncash
b1c1a2cc6f
Core: Add the GCKeyboard source files to the GCKeyboard VS filter
...
Was previously in the GCPad filter.
2015-01-20 21:19:51 -05:00
Lioncash
566a7a4829
SI_DeviceKeyboard: Remove superfluous virtual specifiers.
...
Removes an unnecessary memset as well.
2015-01-20 21:03:58 -05:00