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
skidau
5cd8a80553
Merge pull request #1893 from skidau/GCKeyboard
...
Added GameCube Keyboard support.
2015-01-21 12:43:49 +11:00
Ryan Houdek
32bfccce32
[AArch64] Fix bugs in floating point loadstores.
...
The Backpatching routines didn't correctly understand where to find the real VFP register from, so in most cases it was using D0.
Fixes bugs in the slowmem loadstore routines as well.
2015-01-20 19:11:04 -06:00
Benjamin Przybocki
a25b07ec56
Change Order of Some Hotkeys
2015-01-20 18:16:36 -06:00
Ryan Houdek
e3cff625cb
Merge pull request #1906 from jefflongo/patch-1
...
Update NetPlayServer.cpp
2015-01-20 17:13:13 -06:00
Benjamin Przybocki
9291d61d98
Fix Default Freelook Hotkey to Match Description (For Real This Time)
2015-01-20 16:46:38 -06:00
Ryan Houdek
67f2ff2e18
[AArch64] Move the 64bit floating point instructions to scalar.
...
Instead of doing vector operations and throwing away the top 64bits of each operation, let's instead use scalar operations.
On Cortex-A57 this saves us three cycles per vector operation changed to scalar, so this saves 3-9cycles per instruction emulated.
Also puts one less micro-op in to the vector pipeline there.
On the Nvidia Denver I couldn't see any noticeable performance difference, but it's a quirky architecture so it may be noticing we are throwing away
the top bits anyway and optimizing it. The world may never know what's truly happening there.
2015-01-20 16:35:08 -06:00
Ryan Houdek
7f68a357ad
Merge pull request #1914 from Sonicadvance1/AArch64_minor_improvements
...
[AArch64] Minor Improvements and bug fix.
2015-01-20 16:33:17 -06:00
Ryan Houdek
cb967a6ff2
Merge pull request #1911 from Sonicadvance1/AArch64_paired_loadstores
...
[AArch64] Implements paired loadstores
2015-01-20 16:33:08 -06:00
Ryan Houdek
4262d2199a
[AArch64] Implements paired loadstores.
2015-01-20 13:57:14 -06:00
skidau
84848b52e0
Fixed the emulated wiimote speaker's ADPCM sample rate. Patch by hk.konpie.
2015-01-21 00:11:54 +11:00
Tillmann Karras
873902b4a3
VertexLoader: remove non-JIT SSE code
2015-01-20 01:51:07 +01:00
Ryan Houdek
38cb9bbfae
Merge pull request #1889 from magumagu/remove-hle-end
...
Remove HLE_HOOK_END.
2015-01-19 18:16:47 -06:00
jefflongo
6b64c309df
Update NetPlayServer.cpp
...
Update NetPlayServer.cpp
2015-01-19 12:13:23 -08:00
Ryan Houdek
98d99a9eef
[AArch64] Optimize loadstores address calculation.
...
For offsets that fit in the instruction encoding then we should just put it in the instruction encoding.
Saves an instruction in a large amount of loadstores.
2015-01-18 16:45:42 -06:00
Ryan Houdek
cfd4348b7a
[AArch64] Fully implement cmpl and cmpli.
2015-01-18 16:45:00 -06:00
Ryan Houdek
4547b64959
[AArch64] Fixe a bug in constant propagated ComputeRC.
...
Must not have been thinking, we do want to sign extend when the highest bit is set.
2015-01-18 16:44:33 -06:00
Ryan Houdek
44405e2ec2
Expose the JIT quantize and dequantize arrays to all the JITs.
...
Removes the ARMv7 arrays that were being used, and lets it use the common one instead.
2015-01-18 16:20:26 -06:00
Tillmann Karras
e80b657cf4
Move MOVBE wrappers directly into XEmitter class
2015-01-18 13:29:34 +01:00
Tillmann Karras
eb13aa43fe
XEmitter: overload MOVBE()
2015-01-18 12:59:33 +01:00
skidau
37a770bb9f
Merge pull request #1896 from johnwchadwick/asmcommon-larger-codespace
...
Increase AsmCommon code space to fix crashes on Linux systems.
2015-01-18 15:22:31 +11:00
skidau
a2d98ced67
Merge pull request #1892 from magumagu/backpatch-padding
...
JIT: Fix the return pointer for backpatched operations.
2015-01-18 14:20:03 +11:00
JosJuice
ace060748b
Don't read from disk when checking volume type
...
Should be faster than relying on the OS to cache the magic words.
Also gets rid of the odd recursive call in VolumeDirectory.
2015-01-17 13:21:02 +01:00
John Chadwick
390ec6977c
Increase AsmCommon code space to fix crashes on Linux systems.
...
Revision b058bbd
was causing the AsmCommon routines to overrun the code
buffer allocated for it. According to Fiora, it happens only on Linux
because of the fact that Linux has more caller-save registers than other
platforms.
2015-01-17 01:36:45 -05:00
skidau
5dedf88922
Escaped the backslash character and relabelled the = key to EQUALS so that it gets saved in the ini profile.
2015-01-17 11:46:56 +11:00
skidau
5e8ab05cc0
Added GameCube Keyboard support.
2015-01-17 09:36:05 +11:00
magumagu
c09e41d652
JIT: Fix the return pointer for backpatch trampolines.
...
The key change is that for stores less than 5 bytes, the correct
place for the trampoline to return is immediately after the backpatched jump,
not somewhere inside it.
2015-01-15 19:30:59 -08:00
magumagu
e92e1e5873
Remove HLE_HOOK_END.
...
It isn't used, it isn't implemented in interpreter, and the implementation
in JIT is wrong.
2015-01-15 11:54:20 -08:00
Tillmann Karras
904a1c5558
Jit64: fix psq_l/st regression
2015-01-14 23:36:24 +01:00
Stevoisiak
f31b688cf5
More minor consistency changes
2015-01-12 22:28:12 -05:00
Stevoisiak
cb86db7b68
Minor consistency changes
...
Mostly small changes, like capitalization and spelling
2015-01-12 15:18:18 -05:00
Matthew Parlane
cf8333abd2
Merge pull request #1876 from Parlane/is_dir_fileio_fix
...
Don't open a file handle for a directory in FileIO
2015-01-13 08:29:23 +13:00
magumagu
213eb730d0
For idle loops, don't explicitly call CoreTiming::Advance.
...
This is more consistent with the way Dolphin behaves with idle skipping off.
2015-01-11 20:42:08 -08:00
skidau
7105e5a8f0
Merge pull request #1863 from magumagu/dma-efb
...
Allow locked L1 DMA to write to the EFB
2015-01-12 12:03:46 +11:00
Matthew Parlane
729a827372
Don't open a file handle for a directory in FileIO
2015-01-12 13:25:39 +13:00
magumagu
90d0096653
JIT: cleanup instrction merging for idle loop and dcbst.
...
Use MergeAllowedNextInstructions where appropriate, and read from the
instruction buffer rather than poking directly into memory.
2015-01-11 12:53:23 -08:00
Fiora
d5e342f229
JIT: fix regression in non-fastmem for psq_st
2015-01-11 11:20:58 -08:00
Fiora
e8cfcd3aeb
JIT: make instruction merging generic
...
Now it should be easier to merge more than 2-instruction-long sequences.
Also correct some minor inconsistencies in behavior between instruction
merging cases.
2015-01-11 09:11:18 -08:00
Ryan Houdek
074f246c69
Merge pull request #1868 from rohit-n/sign-compare
...
Fix -Wsign-compare warnings.
2015-01-11 07:08:55 -06:00
Ryan Houdek
83a415198d
Merge pull request #1852 from Sonicadvance1/AArch64_Recompiler_Improvements
...
Implements a large portion of the recompiler for AArch64
2015-01-11 07:08:16 -06:00
Rohit Nirmal
577af09d1b
Fix -Wsign-compare warnings.
2015-01-11 01:38:06 -06:00
Pierre Bourdon
394257f33b
Merge pull request #1798 from FioraAeterna/overclock
...
Support overclocking and underclocking the Gamecube CPU
2015-01-11 06:12:27 +01:00
magumagu
9b0bf34d00
Allow locked L1 DMA to write to the EFB.
...
I wouldn't have guessed that anyone would do this, but apparently people
who write video codecs love doing weird stuff with the locked L1 cache.
2015-01-10 15:08:21 -08:00
Fiora
8237004448
JIT: optimize for the common case of unquantized psq_l/st
...
Optimistically assume used GQRs are 0 in blocks that only use one GQR, and
bail at the start of the block and recompile if that assumption fails.
Many games use almost entirely unquantized stores (e.g. Rebel Strike, Sonic
Colors), so this will likely be a big performance improvement across the board
for games with heavy use of paired singles.
2015-01-10 14:14:43 -08:00
Fiora
c2c950108d
Support overclocking and underclocking the Gamecube CPU
...
Won't work with all games, but provides a nice way to spend extra CPU to make
a variable framerate game faster (e.g. Spyro or The Last Story), or to make
a game use less CPU at the cost of a lower framerate (e.g. Rogue Leader).
2015-01-10 10:46:38 -08:00
comex
e32d63c43d
Merge pull request #1865 from magumagu/getpointer-break
...
Add missing "break" in Memory::GetPointer.
2015-01-10 02:46:42 -05:00
magumagu
5bd3123b2a
Add missing "break" in Memory::GetPointer.
2015-01-09 22:47:45 -08:00
Ryan Hitchman
1bd01469c2
WiimoteReal/Linux: log connect failures at WARNING level
2015-01-09 22:45:03 -08:00
Ryan Hitchman
09f71b25b4
WiimoteReal: retry failed connections quickly
...
Retry a failed connection after a short delay -- hardware sometimes needs some
time to settle, or other Bluetooth programs are attempting to query the
device as well (e.g. blueman-manager).
2015-01-09 22:38:16 -08:00
Ryan Hitchman
c1b391d08b
WiimoteReal: fix Linux Bluetooth connectivity on Linux >= 3.5
...
An uninitialized struct member "l2_bdaddr_type" was making most connect calls
fail with "Invalid argument". The connection could succeed if the unitialized
memory happened to have a zero byte in the appropriate location.
2015-01-09 22:38:11 -08:00
skidau
27300d5d59
Merge pull request #1848 from skidau/si-devices-id
...
Fixed the GC Steering Wheel and Dance Mat identification.
2015-01-10 12:16:36 +11:00
skidau
c1962ac9a6
Merge pull request #1842 from magumagu/hle-crash
...
OSREPORT: Fix out-of-bounds string access.
2015-01-10 12:15:57 +11:00
Fiora
55b509b739
Interpreter: fix slwx
2015-01-09 11:39:41 -08:00
Ryan Houdek
5a28883f9e
[AArch64] Implements 15 floating loadstores.
2015-01-08 19:56:47 -06:00
Ryan Houdek
7370473eb3
[AArch64] Implement 19 floating point instructions
2015-01-08 19:56:47 -06:00
Ryan Houdek
6dff4421d3
[AArch64] Implement 24 paired instructions.
2015-01-08 19:56:47 -06:00
Ryan Houdek
602702fdcb
[AArch64] Implement three system register instructions.
2015-01-08 19:56:47 -06:00
Ryan Houdek
0dd3804cf7
[AArch64] Implement 13 integer instructions.
2015-01-08 19:56:47 -06:00
Ryan Houdek
be0d552d54
[AArch64] Enable the full range of integer loadstores.
2015-01-08 19:56:47 -06:00
Ryan Houdek
b1169a9773
[AArch64] Flush FPRs if they won't be used be used the rest of the block.
2015-01-08 19:56:47 -06:00
Ryan Houdek
3fe0b5b969
[AArch64] Add floating point backpatching support.
2015-01-08 19:56:47 -06:00
Ryan Houdek
f1443bec1e
[AArch64] Add a memory dump routine.
...
Allows me to easily disassemble a block of code from the Nexus 9 by dumping it to logcat.
2015-01-08 19:56:47 -06:00
Ryan Houdek
b3201be95f
[AArch64] Add some static_asserts.
...
Makes sure we have a few PPCState values within range of STRB's range.
2015-01-08 19:56:47 -06:00
Ryan Houdek
74de345b51
[AArch64] Fix loads with update.
...
Update register wasn't being loaded in to the cache prior pushing the address in to it.
Adds float push and pop routines around the calls that need it as well.
2015-01-08 19:56:47 -06:00
Ryan Houdek
52a532370a
[AArch64] Implement FPR Cache.
2015-01-08 19:56:47 -06:00
skidau
25c6f6e6a1
Merge pull request #1782 from FL-dolphinemu/master
...
Issue 7968: Added keybinds for increasing, decreasing, and muting audio.
2015-01-08 14:09:18 +11:00
Tillmann Karras
4d1face540
Fix indentation
2015-01-07 21:51:47 +01:00
skidau
99ca789b97
Fixed the GC Steering Wheel and Dance Mat identification.
2015-01-07 23:40:41 +11:00
skidau
0d952534c7
Corrects the origin in the case where a GC Controller has been set in the controller properties, but a controller has not been plugged into the adapter.
2015-01-07 17:12:30 +11:00
skidau
ab87309917
Merge pull request #1838 from JosJuice/clearcoverinterrupt-timing
...
DVDInterface: Use default delay for DVDLowClearCoverInterrupt
2015-01-07 12:41:21 +11:00
skidau
c0ff677674
Merge pull request #1763 from skidau/GC-Adapter-error-recovery
...
Added an error recovery mechanism for the GC Adapter.
2015-01-07 12:40:14 +11:00
magumagu
f1420472c8
OSREPORT: Fix out-of-bounds string access.
2015-01-06 17:12:31 -08:00
Dolphin Bot
89b7f1057f
Merge pull request #1804 from FioraAeterna/fastermmu2_master
...
MMU: various improvements, bugfixes, optimizations
2015-01-07 00:49:58 +01:00
Markus Wick
a2ec4d5f51
Merge pull request #1836 from FioraAeterna/catchillegalinst
...
JIT: catch illegal instruction errors
2015-01-06 23:10:46 +01:00
JosJuice
5162ed4d5f
DVDInterface: Use default delay for DVDLowClearCoverInterrupt
...
The old delay was probably a hack to make up for the incorrect
disc speeds. Using it with the new disc speeds made
Resident Evil Archives: Resident Evil Zero freeze when starting.
2015-01-06 21:25:17 +01:00
Markus Wick
f63361ad26
Merge pull request #1810 from Stevoisiak/FreelookDefaultHotkeyFix
...
Changed default freelook hotkey to match description
2015-01-06 20:52:00 +01:00
Markus Wick
09a10622dd
Merge pull request #1621 from FioraAeterna/pscleanup
...
JIT: cleanups/optimizations for ps loadstore
2015-01-06 20:12:50 +01:00
Fiora
8f7c799794
JIT: catch illegal instruction errors
...
Still crash, but at least give a message informing the world that it happened.
2015-01-06 11:06:49 -08:00
Markus Wick
25fac0282c
Merge pull request #1764 from Armada651/safe-exclusive
...
D3D: Only try to apply exclusive mode when the renderer is in focus.
2015-01-06 11:00:47 +01:00
Markus Wick
d8d4c94e07
Merge pull request #1819 from Tilka/cmake
...
CMake: simplify some expressions
2015-01-06 09:27:59 +01:00
Fiora
e85f0ff179
MMU: fix problems with blocks that cross vmem page boundaries
...
In rare cases, this can result in a violation of the JIT block cache constraint
that blocks must end in the same place. This can cause instability, lockups,
due to blocks not properly being invalidated properly.
l Please enter the commit message for your changes. Lines starting
2015-01-05 10:46:04 -08:00
Fiora
b058bbd223
JIT: move mfcr code to JitAsmCommon
...
It's like 80+ instructions, so inlining it on every use of mfcr is probably
not the best for the icache.
2015-01-05 10:46:03 -08:00
Fiora
821db9798c
Memmap: clean up function argument names.
...
To be more consistent overall.
2015-01-05 10:46:02 -08:00
Fiora
3d2492627f
Fastmem: increase the size of trampoline cache in MMU mode, check space
...
Fastmem in MMU mode generates way more trampolines than normal, so we need
a bunch more space too, lest we run out of room.
2015-01-05 10:46:01 -08:00
Fiora
1ee83e332e
MMU: optimize PTE lookup code
...
Pull out calculation of PTE1 instead of comparing the separate parts.
2015-01-05 10:46:01 -08:00
Fiora
16e756cb39
MMU: fix TLB behavior on setting C bit
...
We shouldn't be updating the TLB when setting the C bit.
Bug reported by tueidj.
2015-01-05 10:45:59 -08:00
Fiora
8903df7300
MMU: simplify code to restore original data register after failed load
...
Instead of passing the value around constantly, just store it in the regcache,
note where it is, and restore it on the exception path.
This saves a whole bunch of pushing and popping and gives a ~5% speed boost
in Rebel Strike. It's a bit ugly, but it simplifies a lot of code and is
faster, too.
2015-01-05 10:45:59 -08:00
Fiora
53b44ccb3a
x64ABI: enhance MOVTwo to take an offset
...
This lets us merge displacements into MOVTwo in trampolines.
2015-01-05 10:45:58 -08:00
Fiora
2a8936312e
Fastmem: jump to trampolines instead of calling them
...
Should be slightly faster, and also lets us skip the nops on the way back.
Remove the trampoline cache, since it isn't really useful anymore with this.
2015-01-05 10:45:54 -08:00
Fiora
9923d705df
JIT: simplify and optimize memcheck macros
...
Instead of jumping over update code and similar, just jump directly to the
handler.
This avoids redundant exception checks in the case where we can't do fastmem
memory operations (e.g. paired loadstore).
2015-01-05 10:34:59 -08:00
Fiora
6dc7cf29f3
JIT: implement crset special case
...
Rebel Strike seems to use this one.
2015-01-05 10:34:59 -08:00
Fiora
0ff6ad5734
MMU: handle exception checks in fastmem
...
Inspired by a patch by magumagu.
2015-01-05 10:34:58 -08:00
Fiora
190312e1a6
MMU: enable fastmem stores
2015-01-05 10:34:58 -08:00
Fiora
8e1c92f2e7
MMU: remove goto in MMU fast past check
...
Split into a separate patch to avoid rebasing conflicts and to split from
functional changes.
2015-01-05 10:34:57 -08:00
Fiora
6f028257d7
MMU: remove code that looks totally wrong
...
I don't think this affects any games (who puts PTEs in MEM2?) but it didn't
make any sense.
2015-01-05 10:34:57 -08:00
Fiora
dde8b24d00
MMU: small simplification of TLB structure
...
We only need one "recent" per set, not NUM_WAYS recents. Slightly faster.
Breaks savestate compatibility.
2015-01-05 10:34:56 -08:00
Fiora
a0e5c76a1f
Memmapfunctions: more refactoring and optimizations
...
Try to clean up some redundant code, simplify a few checks, and simplify
page accesses.
2015-01-05 10:34:56 -08:00
Fiora
c2ed29fe0d
MemmapFunctions: various MMU optimizations
...
Small TLB lookup optimizations: this is the hot path for MMU code, so try to
make it better.
Template the TLB lookup functions based on the lookup type (opcode, data,
no exception).
Clean up the Read/Write functions and make them more consistent.
Add an early-exit path for MMU accesses to ReadFromHardware/WriteToHardware.
2015-01-05 10:34:55 -08:00
Fiora
ea23ce2726
MMU: fix rollback in DSIs on page-crossing stores
...
I don't know if this affected anything, but it was subtly wrong.
Also reorganize the loads to match, for consistency.
2015-01-05 10:34:55 -08:00
skidau
519970c003
Added a callback option instead of using a thread to read the GC adapter.
2015-01-05 12:43:26 +11:00
skidau
8e9ff68352
Set the GC pad origin using the real hardware origin instead of the virtual hardware.
2015-01-05 12:27:36 +11:00