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
skidau
cd4e0399ec
Added an error recovery mechanism for the GC Adapter.
2015-01-05 12:27:36 +11:00
Tillmann Karras
fffd890be3
SI_GCAdapter: properly clean up libusb
2015-01-05 01:31:54 +01:00
Stevoisiak
2f47faf016
Changed default freelook hotkey to match description
2015-01-04 17:07:43 -05:00
Jules Blok
b7e056c74d
Host: Add Host_RendererIsFullscreen().
2015-01-04 17:09:56 +01:00
skidau
b06a3fb144
Merge pull request #1809 from magumagu/simplify-isi
...
JIT: simplify ISI handling.
2015-01-04 20:31:16 +11:00
Fiora
33b03fab81
JIT: cleanups/optimizations for ps loadstore
...
I'm not quite sure why the float paired stores were written how they were,
but it should be more consistent now.
Also get rid of the use of a psTemp global that wasn't really needed.
Add some comments.
2015-01-03 10:30:13 -08:00
Tillmann Karras
6bcdb10eee
CMake: simplify some expressions
2015-01-03 13:17:57 +01:00
Pierre Bourdon
c3d52e0476
Merge pull request #1789 from Tilka/memleak
...
DSPHLE: fix an unimportant memory leak
2015-01-03 01:50:16 +01:00
skidau
3738d27b24
Merge pull request #1776 from JosJuice/cleanrip-wii-discs
...
Fix CleanRip reading Wii discs
2015-01-03 10:42:51 +11:00
skidau
598dc033f2
Merge pull request #1739 from JosJuice/wii-di-timing
...
Accurate loading times for Wii games
2015-01-03 10:41:18 +11:00
magumagu
1e370550c4
JIT: simplify ISI handling.
...
When we try to JIT from a block which doesn't exist, don't JIT any code;
just update the PPC state to indicate an ISI. This is a little simpler,
and avoids abusing the JIT block cache.
2015-01-01 19:25:48 -08:00
Fiora
92a0716f65
Memory: forceinline read/write hardware functions, TLB/page functions
...
MSVC wasn't actually inlining these. Should give a nontrivial performance boost
in MMU-heavy games.
2014-12-30 18:04:21 -08:00
skidau
5d55bceeb3
Merge pull request #1773 from FioraAeterna/fixcarryearlyblockend
...
JIT: fix carry optimization on blocks that end early
2014-12-30 11:15:45 +11:00
Tillmann Karras
a00ae4ad79
DSPHLE: fix an unimportant memory leak
2014-12-29 18:39:24 +01:00
Ryan Houdek
a09d854636
Merge pull request #1760 from rohit-n/shadow
...
DSPLLE: Silence -Wshadow warning and conform more to style.
2014-12-28 16:43:08 -06:00
Markus Wick
c5a0b6bf50
Merge pull request #1432 from randomstuff/linux-perf
...
Add Linux perf JIT support (/tmp/perf-$pid.map)
2014-12-28 23:12:52 +01:00
Ryan Houdek
15f074dd21
Merge pull request #1766 from Armada651/enable-stereo
...
Enable stereoscopy settings.
2014-12-28 15:14:53 -06:00
FL.dolphinemu
78f8bf7423
Issue 7968: Added keybinds for increasing, decreasing, and muting audio.
2014-12-28 22:03:21 +01:00
Rohit Nirmal
fd0d19aa82
DSPLLE: Silence -Wshadow warning and conform more to style.
2014-12-28 09:52:31 -06:00
JosJuice
bb93336ecf
DiscIO: Replace "raw" functions with "decrypt" parameters
...
This is intended to make decryption look less implicit in the code.
2014-12-28 10:35:48 +01:00
Fiora
354e255827
JIT: fix carry optimization on blocks that end early
...
I don't know if this shows up currently, but e.g. if you force blocks to be
under a certain length, this problem (a crash) shows up.
2014-12-27 23:20:05 -08:00
JosJuice
72f8f243c7
Never decrypt data when using DI command 0xA8
...
CleanRip relies on this when ripping Wii discs.
2014-12-27 13:49:25 +01:00
Ryan Houdek
1dbd8c0b96
Merge pull request #1745 from degasus/remove_gpu_sync
...
VideoCommon: Make GPU syncing hack optional
2014-12-27 04:26:17 -06:00
Ryan Houdek
339383b8dd
Merge pull request #1756 from JosJuice/eslaunch-regression
...
Fix 4.0-4724 ES_Launch and System Menu regressions
2014-12-26 08:02:39 -06:00
Pierre Bourdon
b3bae9eef7
Merge pull request #1473 from phire/cleanHLE
...
Clean up debug string functions in OS_HLE.
2014-12-26 13:49:59 +01:00
Jules Blok
70b898e2c6
VideoConfig: Rename Separation to Depth and update descriptions.
...
More accurate since it's not a real IPD and Nvidia also calls it depth.
2014-12-24 23:28:23 +01:00
JosJuice
329af1aea3
Always read 0x20 bytes of disc ID
2014-12-23 13:25:04 +01:00
JosJuice
61da252858
Mark cover as open when no disc is inserted
2014-12-23 09:43:51 +01:00
skidau
e396286361
Merge pull request #1751 from FenrisulfrX/master
...
AR: Fix Memory Copy Without Pointer Support
2014-12-23 12:39:48 +11:00
JosJuice
14ff0004b5
Check if there is a disc for all disc reads
2014-12-22 16:34:18 +01:00
JosJuice
867bd2eb34
Only use bounds check for DVDLowUnencryptedRead
2014-12-22 15:01:55 +01:00
Pierre Bourdon
c5c10fe48b
Merge pull request #1757 from JosJuice/gc-ipl-regression
...
Fix 4.0-4724 GC IPL regression
2014-12-22 13:03:08 +01:00
JosJuice
c1ad4055a3
Fix 4.0-4724 GC IPL regression
...
Apparently the IPL actually writes to address 0.
2014-12-22 11:38:44 +01:00
FenrisulfrX
e70baf43d4
AR: BugFix to Memory Copy Without Pointer
...
Using ReadUncheked to avoid changing the state of the emulation
2014-12-22 06:22:01 -02:00
skidau
a00aa1a770
Merge pull request #1746 from skidau/dsp-thread-lock
...
Added lock guards around the DSP LLE cycle count updating.
2014-12-22 17:45:06 +11:00
skidau
4ede885702
Added lock guards around the DSP LLE cycle count updating.
...
Changed the isRunning flag to a Common::Flag.
2014-12-22 16:40:01 +11:00
Ryan Houdek
0d744cddf6
Merge pull request #1729 from Sonicadvance1/AArch64_compare_me
...
[AArch64] Add partial support for cmp* instructions.
2014-12-21 20:56:49 -06:00
Ryan Houdek
d35f7231dc
Merge pull request #1727 from Sonicadvance1/AArch64_conditional_continue
...
[AArch64] Adds support for conditional continue.
2014-12-21 20:56:36 -06:00
Ryan Houdek
47b67fe527
Merge pull request #1744 from Buddybenj/google-code
...
Update Outdated Google Code References
2014-12-21 20:55:56 -06:00
Ryan Houdek
02aea1b4c5
[AArch64] Adds support for conditional continue.
...
Requires PR #1723 prior to merging.
2014-12-21 20:48:40 -06:00
Ryan Houdek
1da6995d5b
Merge pull request #1728 from Sonicadvance1/AArch64_BindToRegister
...
[AArch64] Adds support for BindToRegister to the integer instructions.
2014-12-21 20:48:24 -06:00
Ryan Houdek
bd4fa951a9
Merge pull request #1726 from Sonicadvance1/AArch64_flush_if_not_needed
...
[AArch64] Flush registers from register cache if they won't be used again.
2014-12-21 20:46:38 -06:00
Ryan Houdek
4fad742da4
Merge pull request #1723 from Sonicadvance1/AArch64_loadstores
...
[AArch64] Implements loadstores with AArch64
2014-12-21 20:46:23 -06:00
Ryan Houdek
5cf79fd3b1
Merge pull request #1724 from Sonicadvance1/AArch64_dispatcher_optimization
...
[AArch64] Optimization in the dispatcher.
2014-12-21 20:08:40 -06:00
Ryan Houdek
e423939c9f
Merge pull request #1754 from FioraAeterna/mmulogspam
...
Eliminate some spammy log messages in MMU mode
2014-12-21 20:05:07 -06:00
Ryan Houdek
4247506c00
[AArch64] Implements loadstore instructions in the JIT recompiler.
...
These instructions are all implemented with fastmem support.
Currently loads with update are disabled due to an issue that I've yet to figure out.
I'm sure I'll figure that out later.
2014-12-21 19:43:59 -06:00
Ryan Houdek
17a4208fe5
[AArch64] Adds backpatching routines.
...
Currently supports only integer loadstores. Floating point loadstores will come later.
This system is semi based on the ARMv7 backpatching routine, where we need to initialize our backpatch routine sizes prior to actually using them so
we know we won't be overwriting any memory.
2014-12-21 19:40:29 -06:00
Fiora
e7a49ae5f3
Eliminate some spammy log messages in MMU mode
...
dcbz: just don't use GetPointer, that can't be right anyways
ppcanalyst: don't print "instruction hex 0" messages in MMU mode, where ISIs
are expected.
2014-12-21 12:41:44 -08:00
Fiora
3b7d7da1ac
JIT: Fix redundant MOVs in x86 trampolines
...
Fixes spammy log messages about redundant MOVs.
2014-12-21 12:06:07 -08:00
FenrisulfrX
46e74782a7
AR: Fix Memory Copy Without Pointer Support
...
Fix a bug when using AR codes with "Memory Copy Without Pointer Support"
code type which would write more data than it should.
2014-12-21 16:45:50 -02:00
degasus
7e12fec7c3
VideoCommon: Make GPU syncing hack optional
...
This hack is there for quite a long time, and lots of games crashes if it's disabled.
But it's still a hack, so it shouldn't be enabled hard coded. This commit create a new
ini option for this hack which is enabled by default.
Maybe some games does still run very fine without this hack.
2014-12-21 11:54:53 +01:00
Benjamin Przybocki
fba3c48ec4
Update Outdated Google Code References
2014-12-20 21:17:51 -06:00
Ryan Houdek
ab2b499fa6
[ARMv7] Minor integer fastmem optimization.
...
This is a one instruction optimization for integer loadstores.
Makes sure to enable nop padding in some cases where a fault can still happen and cause us to overwrite other instructions that aren't meant to be.
2014-12-20 19:41:33 -06:00
Ryan Houdek
c22e750f74
[AArch64] Add partial support for cmp* instructions.
...
This support is as far as ARMv7's support for these instructions.
Requires PR #1728 prior to merging.
2014-12-20 19:41:04 -06:00
Ryan Houdek
6f0fbac68f
[AArch64] Adds support for BindToRegister to the integer instructions.
...
This requires PR #1723 prior to merging.
2014-12-20 19:40:14 -06:00
Ryan Houdek
73542ce93e
[AArch64] Flush registers from register cache if they won't be used again.
...
This requires PR #1705 and #1723 prior to merging.
2014-12-20 19:38:34 -06:00
Ryan Houdek
360cf761d2
[AArch64] Optimization in the dispatcher.
...
Align our dispatcher to a page so we can jump to it with a ADRP+BR pair instead of ADRP+ADD+BR.
Also make sure to save /all/ of our callee saved registers that we are supposed to save.
Requires PR #1705 prior to merging.
2014-12-20 19:37:45 -06:00
Ryan Houdek
13b70c2fbd
[AArch64] Add an exception exit function with the exit location already in PC.
...
This will be used with idle skipping later.
2014-12-20 19:36:48 -06:00
Ryan Houdek
32eb0a9d68
[AArch64] Removes CODE_SIZE variable.
...
This is in a global location now which conflicts with this one.
2014-12-20 19:36:48 -06:00
Ryan Houdek
edfbb6ab9a
[ARM] Adds a ArmCommon folder.
...
Moves the backpatch flags and struct to a common location for ARM.
I'm sure there will be more things that use this common ARM location in the future.
2014-12-20 19:36:48 -06:00
Ryan Houdek
eaf17b7d7b
[AArch64] Register cache improvements.
...
Adds the ability to flush the cache and maintain state.
Adds the BindToRegister ability.
Sorts register usage as callee saved used first, reduces dumping pressure when jumping to external routines/interpreter.
Adds a function to store a register, for use when flushing a register that won't be used during the rest of a block.
2014-12-20 19:36:48 -06:00
JosJuice
34a37cc30d
WII_IPC_HLE: Fix timing weirdness
...
The reply delay of a command shouldn't be ignored just because the
previous command isn't done yet. DI is way too fast without this change.
2014-12-20 22:07:30 +01:00
JosJuice
be9789f2c6
WII_IPC_HLE_Device_DI: Use the new accurate timing
2014-12-20 22:07:28 +01:00
JosJuice
a7296681ff
WII_IPC_HLE: Return delay time instead of using GetCmdDelay
2014-12-20 22:07:15 +01:00
Pierre Bourdon
cee4a85a12
Merge pull request #1633 from JosJuice/dvd-speed-tweak
...
DVDInterface: Tweak speeds
2014-12-20 16:46:22 +01:00
Pierre Bourdon
24a2ca4d28
Merge pull request #1703 from FioraAeterna/saveregs
...
JIT: free up a register by eliminating RCODE_POINTERS
2014-12-20 16:45:08 +01:00
Pierre Bourdon
e7eb4c06e2
Merge pull request #1634 from JosJuice/disc-drive-unification-lite
...
Make WII_IPC_HLE_Device_DI call DVDInterface
2014-12-20 16:41:52 +01:00
JosJuice
d1c8a8bd9f
Make WII_IPC_HLE_Device_DI call DVDInterface
2014-12-20 13:02:04 +01:00
Matthew Parlane
6a785af280
Merge pull request #1704 from phire/wii_ssl_segfault
...
De-memsetify Wii_SSL and fix segfault.
2014-12-20 21:16:55 +13:00
skidau
f913cb6ab6
Removed redundant code from the GC Adapter interface.
2014-12-20 09:44:35 +11:00
skidau
9eecfca71d
Corrected the buffer that is used by the GCAdapter thread.
2014-12-20 09:44:35 +11:00
degasus
5f322cc9e8
Jit: move constants out of class
...
This fixes a linking issues on debug builds.
2014-12-17 23:42:10 +01:00
skidau
5313dd1b8c
Merge pull request #1702 from CarlKenner/DebugSymbols
...
Fix many bugs with the Symbols menu (when run with -d argument).
2014-12-17 22:04:56 +11:00
CarlKenner
6e7eb52211
Rename menu items, stop using PanicAlertT, remove -d when running from visual studio.
...
I accidentally committed my addition of the -d option that I used for testing, now it's fixed.
2014-12-17 01:12:33 +10:30
CarlKenner
84ae817c18
Remove white space at ends of lines.
2014-12-17 01:12:08 +10:30
CarlKenner
cd5d354acc
Load 4 column map files like in American Mensa Academy.
...
Unfortunately the map files in American Mensa Academy don't correspond to the release version.
But at least now if other games use those map files we will be able to load them.
2014-12-17 01:12:03 +10:30
CarlKenner
dfd915eb53
Merge bad map file loading into the original function.
2014-12-17 01:11:58 +10:30
CarlKenner
e246aaf419
Add "Load bad map file" option for map files on disc that don't quite match.
...
Currently it is very simple and naive, but filters out most of the bad matches.
2014-12-17 01:11:41 +10:30
CarlKenner
f54d9e33c2
Fix many bugs with the Symbols menu (when run with -d argument).
...
The Symbols menu is now fully useable.
2014-12-17 01:11:36 +10:30
skidau
ce8b3d83a8
Merge pull request #1693 from magumagu/memcheck-fastmem
...
JIT: use fastmem loads in MMU mode.
2014-12-16 13:07:53 +11:00
Scott Mansell
950ca267bb
De-memsetify Wii_SSL and fix segfault.
...
Fixes #7917
The first memset was clearing the delicate bits of the std::string
in the struct, causing segfaults.
I also removed the rest of the memsets because they were paranoid,
unneeded and waseful. We shouldn't be managing the ssl libraries
structs for it.
I checked and the ssl library's functions were already memsetting
those structs as needed.
2014-12-15 18:17:00 +13:00
Fiora
76ca42b758
JIT: free up a register by eliminating RCODE_POINTERS
...
Also use shorter code in the dispatcher if we can get away with it (e.g. on
Windows where the relevant memory is in the low 2GB).
2014-12-14 18:19:37 -08:00
skidau
d02eb3ca59
Merge pull request #1640 from rohit-n/switch-default
...
Silence some -Wswitch-default warnings.
2014-12-13 19:47:06 +11:00
magumagu
e479606b07
JIT: simplify code using MOVTwo.
2014-12-12 22:29:49 -08:00
magumagu
43d56febc4
JIT: use fastmem loads in MMU mode.
...
Even in games that require MMU mode, loads outside the area specified by
the BAT are rare, so fastmem is a substantial improvement.
All of the interesting changes are in the backpatch handler, to make it
generate DSI exceptions correctly.
2014-12-12 22:08:46 -08:00
skidau
6fb89e3b77
Fixed the Y button (typo) on the GC adapter.
2014-12-13 16:14:18 +11:00
skidau
1f41c3c2d5
Fixed the non-responsive d-pad on the GC Adapter.
...
Fixed -Wmissing-declarations and -Wshadow warning (thanks rohit-n).
2014-12-13 15:04:03 +11:00
Pierre Bourdon
4747cc7a15
Fix DSP CMPAR disassembly
...
Previously the two operand register selection bits were inverted, causing "CMPAR AC1, AX0.H" to be disassembled as "CMPAR AC0, AX1.H".
DSP RE is always fun: on the one hand Nintendo does a lot of stupid shit, so anything weird could be a legitimate bug of the UCode that is not supposed to make any sense. On the other hand, Dolphin *also* does a lot of stupid shit, so there's always that doubt.
Note: completely untested change - done with the GH text editor, just to show you how much I care :) . These operand descriptions are only used for disassembly, so no real behavior change is expected.
2014-12-13 04:14:51 +01:00
skidau
297ef16745
Merge pull request #1678 from skidau/GC-Adapter
...
Added GameCube Adapter support
2014-12-13 12:06:17 +11:00
Rohit Nirmal
b030d29067
Silence some -Wswitch-default warnings.
2014-12-11 22:23:05 -06:00
skidau
aaa2dca554
Merge pull request #1684 from skidau/mmu-blocklink
...
Enable block-linking with MMU
2014-12-12 13:51:39 +11:00
skidau
110d079c1e
Enable block-linking with MMU. Blocks that cause an ISI exception are not linked.
2014-12-12 13:25:51 +11:00
Lioncash
815c29f6f4
Merge pull request #1682 from JosJuice/volumehandler-return
...
VolumeHandler: Return success value
2014-12-11 20:38:43 -05:00
skidau
fe67230663
Merge pull request #1670 from lioncash/array
...
FifoRecorder: Use std::vector for m_Ram and m_ExRam
2014-12-11 14:26:09 +11:00
skidau
30b34f3b2e
Moved the GC Adapter processing under "Standard Controller" as it appears the adapter does not work with controllers other than the standard controller (pads, bongos, some dance mats).
2014-12-11 14:06:35 +11:00
skidau
8fdd04e647
Fixed wireless GC controller detection.
...
Made the controller update thread-safe.
Added pad origin to wired and wireless pads only.
2014-12-11 11:15:36 +11:00
JosJuice
16f3970c79
VolumeHandler: Return success value
2014-12-10 22:25:02 +01:00
skidau
344c43cc74
Retrieved the endpoint addresses of the GC Adapter via the descriptor.
2014-12-10 21:35:30 +11:00
skidau
8d4a47d40c
Added GameCube Adapter support.
...
The libusb driver must be installed on the adapter (e.g. zadig can be used to install the driver in Windows). GameCube pad controllers are supported and will override the current input device assigned to the port. GameCube controller buttons are auto-configured and cannot be re-assigned. Rumble is supported. Hotplug is supported while playing a game. If a controller is unplugged from the adapter, Dolphin will fallback to using the host input device on that port. If a port on the adapter is unused, Dolphin will use the host input device for that port, allowing a mixture of host input devices and controllers connected to the adapter.
The adapter support can be disabled in the Controllers config if the OS driver is preferred (allowing the pad buttons to be reconfigured).
One adapter per system is supported.
2014-12-10 20:45:45 +11:00
Fiora
92aad1140e
JIT: fix MOVD_xmm typoes in ConvertDoubleToSingle
...
Ordering, plus MOVQ instead of MOVD
2014-12-09 04:19:44 -08:00
skidau
1ce3696e8b
Merge pull request #1623 from FioraAeterna/fixppcfp
...
JIT: fix PPC_FP snan/qnan handling
2014-12-09 14:25:23 +11:00
Lioncash
faf962d528
FifoRecorder: Use std::vector for m_Ram and m_ExRam
...
No need to delete/recreate the arrays every time a new recording happens. Just zero it out.
2014-12-07 18:13:53 -05:00
Tillmann Karras
6e928d08a0
Jit64: clean up casts in memory operands
2014-12-07 20:23:27 +01:00
Ryan Houdek
81cc177c44
Merge pull request #1477 from magcius/nunchuk-cleanup
...
Nunchuk cleanup
2014-12-07 01:29:59 -06:00
Ryan Houdek
d9d0e285c9
Merge pull request #1560 from magcius/pad-cleanup-1
...
Pad cleanup 1
2014-12-07 01:22:03 -06:00
Ryan Houdek
6d6b425061
Merge pull request #1647 from magumagu/mmu-flag-cleanup
...
Cleanup: remove unnecessary uses of the bMMU flag
2014-12-07 01:08:30 -06:00
Ryan Houdek
dec2f9f89b
Merge pull request #1596 from Tilka/wiimote
...
WiimoteReal: use inheritance instead of #ifdef
2014-12-07 01:03:08 -06:00
Ryan Houdek
b9c6ee93b6
Merge pull request #1661 from FioraAeterna/fixloadstorebind
...
JIT: fix possible panicalert in loadstore
2014-12-07 00:54:59 -06:00
Fiora
68972da1e5
JIT: fix possible panicalert in loadstore
...
Didn't bind address register tcorrectly in a very rare case.
2014-12-06 16:09:13 -08:00
Fiora
3d12849967
JIT: fix snan/qnan handling in float loads/stores
...
Also simplify the conversion code with some suggestions by flacs; might even
be slightly faster now despite handling more cases.
2014-12-06 13:07:24 -08:00
Rohit Nirmal
fa501e9d8d
Fix -Wshadow warning.
2014-12-05 20:33:24 -06:00
skidau
f7a16eca84
Merge pull request #1437 from skidau/Remove-DSP-thread-option
...
Removed the DSP LLE on separate thread option.
2014-12-06 10:54:53 +11:00
skidau
d485acdb51
Stored a copy of the PTE in the TLB like the real hardware does.
...
Updated PTE.R bit on Write and Instruction fetch.
Added code to read the PTE from MEM2 if the PTE is stored there.
Refactored the two hash functions to reduce code duplication.
Updated save state version.
2014-12-06 10:28:34 +11:00
skidau
997681b65a
Removed the tag check in InvalidateTLBEntry. All four TLB entries are always cleared on each invalidate command.
...
Initialised the TLB cache to start from a consistent state on reset.
2014-12-05 19:56:45 +11:00
skidau
693f413364
Updated C bit on TLB cache hits.
...
Added TLB state to the save state file.
2014-12-05 14:29:13 +11:00
Tillmann Karras
8d9a30b370
WiimoteReal: use inheritance instead of #ifdef
2014-12-05 00:16:41 +01:00
Tillmann Karras
94197b604e
WiimoteReal: inline unnecessary function
2014-12-04 17:09:12 +01:00
Tillmann Karras
d087cb95cd
WiimoteReal: shuffle code around
2014-12-04 17:09:12 +01:00
Tillmann Karras
a1e974fedf
WiimoteReal: add m_ prefix to member variables
2014-12-04 17:09:12 +01:00
skidau
b1b7ae9f6a
Merge pull request #1644 from FioraAeterna/fixtlb
...
TLB: fix backwards exception check
2014-12-04 13:19:03 +11:00
Ryan Houdek
d8cb976bba
Merge pull request #1639 from Sonicadvance1/aarch64_improvements
...
Aarch64 improvements
2014-12-03 19:15:55 -06:00
Lioncash
c715a4f8ef
Jit: Remove unnecessary include
2014-12-03 17:30:57 -05:00
magumagu
6b34b1b0d0
JIT: remove unnecessary uses of MMU flag.
2014-12-03 14:06:06 -08:00
magumagu
c3b36de51e
HLE code replacement: remove unused code.
2014-12-03 14:05:05 -08:00
Lioncash
241c94d337
Merge pull request #1645 from magumagu/jit-unused-flag
...
JIT: remove unused flag.
2014-12-03 16:13:31 -05:00
Fiora
a4c6cf85e9
TLB: fix backwards exception check
2014-12-03 06:00:23 -08:00
skidau
b9b3277fb5
Merge pull request #1618 from JosJuice/dvd-low-open-partition
...
Fix Wii disc partitions
2014-12-03 21:24:56 +11:00
Ryan Houdek
71e4e67ae1
[AArch64] Only flush registers that are needed with interpreter fallback.
...
We try to keep as many registers as possible in callee saved registers, so if we have guest registers in the correct registers and the interpreter
call we are falling back to doesn't need the registers then we can dump just those ones. Which means we don't have to dump 100% of our register state
when falling to the interpreter.
2014-12-02 21:08:38 -06:00
Ryan Houdek
71b77f3173
[AArch64] Makes some integer instructions more clear what they're doing.
...
ComputeRC was a bit unclear by using 64bit registers for setting the immediate and then calling SXTW on a 6b4it register which is just a bit obscure.
When the source register is an immediate in cntlzwx, just use the built in GCC function instead of our own implementing for counting leading zeros.
2014-12-02 21:08:38 -06:00
Ryan Houdek
8dfb8d8ad5
[AArch64] Implements HLE function injection
2014-12-02 21:08:38 -06:00
Ryan Houdek
51ad798105
[AArch64] Implements block linking.
...
Before block linking was enabled but it wasn't ever implemented.
Implements link blocks and destroy block functions and moves the downcount check in the WriteExit function so it doesn't get overwritten when linking.
2014-12-02 21:08:38 -06:00
Ryan Houdek
ca04601b14
[AArch64] Fixes the dispatcher
...
Changes the dispatcher to make sure to we are saving the LR(X30) to the stack. Also makes sure to keep the stack aligned.
AArch64's AAPCS64 mandates the stack to be quad-word aligned.
Fixes the dispatcher from infinite looping due to a downcount check jumping to the dispatcher. This was because checking exceptions and the state
pointer wouldn't reset the global conditional flags. So it would leave the timing/exception, jump to the start of the dispatcher and then jump back
again due to the conditional branch.
2014-12-02 21:08:38 -06:00
Ryan Houdek
c3c80e9440
[AArch64] Improves the register cache.
...
Removes the REG_AWAY nonsense I was doing. I've got to get the JIT more up to speed before thinking of insane register cache things.
Also fixes a bug in immediate setting where if the register being set to an immediate already had a host register tied to it then it wouldn't free the
register it had. Resulting in register exhaustion.
2014-12-02 21:08:38 -06:00
Ryan Houdek
08660c89ad
Fix register usage detection in PPCAnalyst.
...
lmw/stmw weren't properly setting input and output registers since they use multiple registers.
dcbz was just missing a flag in the instruction tables.
2014-12-02 16:12:33 -06:00
Fiora
863fb91cad
JIT: fix profiler call
...
Sometimes this seems to require a 64-bit offset, so use CallFunction instead
2014-12-02 10:17:58 -08:00
JosJuice
bbd7370d82
DVDInterface: Tweak speeds
2014-12-02 12:27:03 +01:00
Lioncash
54f1e3a3c1
Merge pull request #1630 from lioncash/unused
...
WII_IPC_HLE_Device_fs: Remove unused macro constant
2014-12-01 21:49:07 -05:00
skidau
b34c80d138
Merge pull request #1626 from kamiyo/fix-wiimote-volume-divisor
...
Fix Wiimote speaker divisor for format 0x00
2014-12-02 12:51:15 +11:00
Lioncash
11e6d75ea6
WII_IPC_HLE_Device_fs: Remove unused macro constant
2014-12-01 19:33:53 -05:00
Lioncash
af5b1063bf
Merge pull request #1619 from FioraAeterna/removepxor
...
JIT: remove unnecessary pxor in paired stores
2014-12-01 15:50:31 -05:00
kamiyo
e8c393b00f
Fix wiimote speaker divisor.
...
Playing with the wiimote volume in the Wii menu in-game, I found that the range for m_reg_speaker.volume is 0 -127, not 0 - 64.
2014-12-01 13:06:53 -05:00
Ryan Houdek
4946c6876d
Merge pull request #1607 from Sonicadvance1/armv7-optimizations
...
A whole bunch of ARMv7 optimizations and minor fixes.
2014-11-30 15:48:27 -06:00
Fiora
644a661bf1
JIT: remove unnecessary pxor in paired stores
...
I don't think this is necessary anymore?
2014-11-30 08:11:45 -08:00
magumagu
4bb48d09dd
DiskIO: Clean up GetTMD() API.
2014-11-30 16:38:13 +01:00
magumagu
b1df4e5986
Make DVDLowOpenPartition actually change partitions.
2014-11-30 16:01:05 +01:00
Ryan Houdek
cd13d2d66f
[ARM32] Fix a couple bugs in the paired loadstore routines.
...
This code was obviously wrong, we were sign extending 8 bit unsigned values and loading from the wrong offset as well.
This fixes a bug in Muramasa where some colours were going insane.
2014-11-30 04:10:17 +00:00
Ryan Houdek
b848365f78
[ARM32] Minor optimization in paired loadstores.
...
When the offset can fit in the instruction encoding make sure to do so.
2014-11-30 04:10:16 +00:00
Ryan Houdek
52c6fb180b
[ARM32] Moves loadstore extend flag to backpatch code.
2014-11-30 04:10:16 +00:00
Ryan Houdek
32dc105aa3
[ARM32] Eat a register to store our memory base.
...
This saves at least two instructions per fastmem operation.
2014-11-30 04:10:16 +00:00
Ryan Houdek
e2f8286415
[ARM32] Adds unsigned compares.
...
Superscedes PR #1131 .
Optimizes cmpi a bit.
2014-11-30 04:10:16 +00:00
Ryan Houdek
581ab9edec
[ARM32] cntlzwx optimization if source is immediate
2014-11-30 04:10:16 +00:00
Ryan Houdek
9c82adb14f
[ARM32] negx optimization if source is immediate
2014-11-30 04:10:15 +00:00
Ryan Houdek
1dbb39f791
[ARM32] srawix optimization when source is an immediate.
2014-11-30 04:10:15 +00:00
Ryan Houdek
fca0fd9dd5
[ARM32] rlwimix and rlwnmx optimizations.
2014-11-30 04:10:15 +00:00
magumagu
c693cf46e9
JIT: remove unused flag.
2014-11-29 12:41:36 -08:00
Fiora
72c96c20d3
JIT: more optimizing of float ops based on known input characteristics
...
If the inputs are both float singles, and the top half is known to be identical
to the bottom half, we can use packed arithmetic instead of scalar to skip
the movddup.
This is slower on a few rather old CPUs, plus the Atom+Silvermont, so detect
Atom and disable it in that case.
Also avoid PPC_FP on stores if we know that the output came from a float op.
2014-11-29 11:33:11 -08:00
Fiora
4e0591cdf1
JIT: float instruction attribute fixes, fix binding mistakes
...
These instructions modify only the bottom halves of the output register,
so the output register needs to be treated as an input too.
2014-11-29 11:30:52 -08:00
Fiora
8d039a77af
JIT: minor cleanup, avoid MOVSD where MOVAPD will do
...
Avoids false dependencies.
2014-11-29 11:30:51 -08:00
Fiora
7df50b0710
JIT: skip weird fmul rounding if the input is known to be single precision
2014-11-29 11:30:51 -08:00
Ryan Houdek
f588a82b9a
Merge pull request #1294 from FioraAeterna/noaccuratefcmp
...
JIT: remove "accurate fcmp" option
2014-11-28 22:48:11 -06:00
Ryan Houdek
1aed2542c7
Merge pull request #1602 from FioraAeterna/fixforce25bitimprecise
...
JIT: fix Force25BitPrecision with accurate single precision mode off
2014-11-28 22:42:44 -06:00
Ryan Houdek
5003618587
Merge pull request #1605 from FioraAeterna/fixcrormerge
...
JIT: fix fcmp+cror merging bug
2014-11-28 22:39:13 -06:00
Ryan Houdek
1a85df0459
Merge pull request #1603 from FioraAeterna/nofastinterrupts
...
JIT: remove "fast interrupts" option set and then used nowhere
2014-11-28 22:37:52 -06:00
Ryan Houdek
ec3d6da7b5
[ARM32] Remove conditional execution from store instructions.
2014-11-29 02:44:17 +00:00
Ryan Houdek
6c399ce9ae
[ARM32] Removes a block of conditional execution in the dispatcher.
2014-11-29 02:42:30 +00:00
Ryan Houdek
e358696d46
[ARM32] Removes conditional execution from ARMv7's Jit function.
2014-11-29 02:42:22 +00:00
Fiora
d42305aba0
JIT: fix fcmp+cror merging bug
...
Destination CR bit needs to be cleared if it's not one of the sources.
2014-11-28 16:11:04 -08:00
Jasper St. Pierre
854f6b8688
HW: Poll system input from system timers
...
Rather than playing terrible hacks to determine the start of input
frames, just update system input periodically. Specifically, every
60th of a second.
2014-11-28 10:56:11 -08:00
Jasper St. Pierre
f3b739341e
HW: Remove UpdateOutput
...
All of the rumble interfaces are now immediate mode.
2014-11-28 10:54:04 -08:00
Jasper St. Pierre
1cee3b8cc6
WiimoteEmu: Hardcode acceleration calibration values
...
Now we don't have any runtime calibration at all.
2014-11-28 10:51:30 -08:00
Jasper St. Pierre
5f6cfd67b7
Nunchuk: Hardcode Nunchuk accelerometre calibration values as well
2014-11-28 10:51:30 -08:00
Jasper St. Pierre
211eafc130
Nunchuk: Hardcode Nunchuk stick calibration values
...
The game can never change these, so there's no reason to make it
dynamic. Just put the constants in the code.
While we're at it, take the time to clean up the code and also
and document several of the hacks we're doing inside to make the code
clearer to understand.
2014-11-28 10:51:30 -08:00
Jasper St. Pierre
64014d1dcd
Nunchuk: Use the accel_cal struct directly in nu_cal
2014-11-28 10:51:30 -08:00
Jasper St. Pierre
cd95002356
WiimoteHid: Remove unused structs
2014-11-28 10:51:30 -08:00
Jasper St. Pierre
fca9b491cc
WiimoteEmu: Remove Spy method
...
This is the only use for a lot of unused methods and structs, and it's a
poorly written mess that doesn't even compile. Just remove it so we can
clean up the rest of a lot of code.
2014-11-28 10:51:30 -08:00
Jasper St. Pierre
e43ad58a3a
GCPad: Clean up Motor/Rumble interfaces
...
Remove the duplication here and just have one Rumble interface that
takes a single strength parameter.
2014-11-28 10:50:45 -08:00
Jasper St. Pierre
6aa1a59ee8
SI: Clean up controller-like devices with subclassing
...
This takes the giant mess of controller-like devices (dance mat and
steering wheel) down to something more manageable, similar to how
the Donkey Konga bongo controller works.
Based-on-a-patch-by: comex <comexk@gmail.com>
2014-11-28 10:50:45 -08:00
Ryan Houdek
ce059769f6
Merge pull request #1439 from Armada651/ogl-stereo-3d
...
OGL: Stereoscopic 3D Support
2014-11-28 11:45:38 -06:00
Fiora
41f5ef3304
JIT: remove "fast interrupts" option set and then used nowhere
2014-11-28 06:42:40 -08:00
Fiora
3e893913dd
JIT: fix Force25BitPrecision with accurate single precision mode off
...
Doesn't affect anything now, but it's more correct (and should make setting
AccurateSinglePrecision to false work properly now).
2014-11-28 06:39:47 -08:00
Fiora
561e96b080
JIT: clear FIFO write addresses when block cache is cleared
...
Fixes a spurious FIFO write check which caused a flags locking assert in
Splinter Cell: Double Agent.
2014-11-27 17:15:01 -08:00
Rohit Nirmal
84b060d313
Fix building with PCH disabled.
2014-11-26 10:21:04 -06:00
skidau
b806680eac
Merge pull request #1522 from jcowgill/sfml-2.1
...
Update / Port to SFML 2.1
2014-11-26 12:33:03 +11:00
skidau
69bd1562e2
Merge pull request #1561 from comex/10.9
...
Update OS X Requirement to 10.9 + fixes
2014-11-26 12:31:28 +11:00
Fiora
3be31ca2c8
JIT: remove "accurate fcmp" option
...
This doesn't seem to be necessary anymore now that FPRF is implemented in the
JIT. Technically, this isn't the same as before, since the JIT doesn't
implement the fcmp exception semantics, but as far as testing has shown, this
doesn't seem necessary.
This should make games that use FPRF a few percent faster (e.g. F-Zero GX)
since fcmpx no longer has to be fallbacked.
2014-11-25 09:54:40 -08:00
Lioncash
aa92797f93
Merge pull request #1582 from Stevoisiak/newImprovedFormatting
...
More formatting and consistency fixes
2014-11-25 12:41:32 -05:00
James Cowgill
a93f86330e
Port dolphin to SFML 2.1
2014-11-25 16:44:38 +00:00
comex
e631f68c1b
Switch from deprecated Carbon idle tickling to Cocoa power assertions.
...
Also, this avoids keeping the system awake if a game is not being
played.
Frankly, I don't know what the point of precisely tracking these things
is, but that's how the API works. Feel free to add analogous
functionality on other platforms.
2014-11-25 00:27:13 -05:00
Gabriel Corona
5b9aeaa686
Use CLI argument for Linux perf JIT support
2014-11-24 23:30:29 +01:00
Gabriel Corona
9722ae2a5d
Move the JIT registration logic in its own file
...
Move the JITed function/basic-block registration logic out of the CPU
subsystem in order to add JIT registration to JITed DSP and
Video/VertexLoader code.
This necessary in order to add /tmp/perf-$pid.map support to other
JITed code as they need to write to the same file.
2014-11-24 23:18:18 +01:00
Gabriel Corona
cdce5ace25
Add Linux perf JIT support (/tmp/perf-$pid.map)
...
'perf' is the standard builtin tool for performance analysis on recent
Linux kernel. Its source code is shipped within the kernel repository.
'perf' has basic support for JIT. For each process, it can read a file
named /tmp/perf-$PID.map. This file contains mapping from address
range to function name in the format:
41187e2a 1a EmuCode_804a33fc
with the following entries:
1. beginning of the range (hexadecimal);
2. size of the range (hexadecimal);
3. name of the function.
We supply the PowerPC address of the basic block as function name.
Usage:
DOLPHIN_PERF_DIR=/tmp dolphin-emu &
perf record -F99 -p $(pgrep dolphin-emu) --call-graph dwarf
perf script | stackcollapse-perf.pl | grep EmuCode__ | flamegraph.pl > profile.svg
Issue: perf does not have support for region invalidation. It reads
the file in postprocessing. It probably does not work very well if a
JIT region is reused for another basic block: wrong results should be
expected in this case. Currently, nothing is done to prevent this.
2014-11-24 23:18:18 +01:00
Stevoisiak
6da394a4d0
More formatting and consistency fixes
2014-11-24 17:16:59 -05:00
Rohit Nirmal
4d931c16ad
Silence a few "zero as null pointer" warnings.
2014-11-24 12:36:46 -06:00
Jules Blok
6e62dd3415
Add stereoscopy hotkeys.
2014-11-23 14:30:12 +01:00
Ryan Houdek
e84999386b
Merge pull request #1579 from Sonicadvance1/armv7-fastmem-rewrite
...
Rewrites ARMv7 fastmem entirely.
2014-11-21 14:54:05 -06:00
Ryan Houdek
bfbbddd76f
Rewrites ARMv7 fastmem entirely.
...
This is a fairly lengthy change that can't be separated out to multiple commits well due to the nature of fastmem being a bit of an intertangled mess.
This makes my life easier for maintaining fastmem on ARMv7 because I now don't have to do any terrible instruction counting and NOP padding. Really
makes my brain stop hurting when working with it.
This enables fastmem for a whole bunch of new instructions, which basically means that all instructions now have fastmem working for them. This also
rewrites the floating point loadstores again because the last implementation was pretty crap when it comes to performance, even if they were the
cleanest implementation from my point of view.
This initially started with me rewriting the fastmem routines to work just like the previous/current implementation of floating loadstores. That was
when I noticed that the performance tanked and decided to rewrite all of it.
This also happens to implement gatherpipe optimizations alongside constant address optimization.
Overall this comment brings a fairly large speedboost when using fastmem.
2014-11-21 05:21:57 -06:00
Matthew Parlane
1f7dbbef07
Merge pull request #1567 from comex/remove-android-ndk-hack
...
Remove Android <ucontext.h> hack.
2014-11-21 19:56:28 +13:00
Matthew Parlane
21e4e035cc
Merge pull request #1281 from Stevoisiak/RenameEuRGB60
...
Renamed EuRGB to PAL60
2014-11-21 19:09:42 +13:00
skidau
15e7a8c247
Merge pull request #1573 from kamiyo/fix-wiimote-speaker
...
Fix wiimotespeaker emulation affecting real wiimote
2014-11-21 13:13:21 +11:00
skidau
2968cb138c
Fixed the fast disc speed option (immediately service the interrupt instead of going through the scheduler).
2014-11-20 18:23:05 +11:00