degasus
74cb692591
Jit64: Only activate dcbz fastpath with fastmem.
...
The code is safe not to create memory errors, but it accesses the fastmem area.
2019-12-28 13:41:57 +01:00
degasus
c6019f9814
PowerPC/Jit: Create fastmem arena on init.
2019-12-28 13:41:57 +01:00
degasus
ccbadf6e72
Core: Refactor fastmem arena construction.
...
This shall be called by the Jit, not by the emulation start itself.
2019-12-28 13:41:57 +01:00
degasus
9d88180df7
MMU: Use the Memory helpers for physical memory.
...
physical_base is a fastmem helper. Its access is unsafe and might not be available without a Jit.
2019-12-28 12:57:51 +01:00
Stenzek
d744c5a148
Compile fixes for Windows-on-ARM64
2019-12-28 19:20:41 +10:00
Stenzek
6fcb1c6c46
Add an ARM64 target to Visual Studio projects
2019-12-28 19:20:41 +10:00
Anthony
0755f92979
Merge pull request #8534 from JosJuice/netplay-index-empty-strings
...
Properly check for missing netplay session name/region
2019-12-25 21:52:22 -08:00
Pierre Bourdon
0341288af2
Merge pull request #8525 from Techjar/axwii-ub
...
HW/DSPHLE: Fix struct aliasing undefined behavior in AX ucode
2019-12-24 08:35:28 +01:00
JosJuice
8e278b8053
Check presence of name and region in NetPlayServer
2019-12-23 23:14:13 +01:00
Techjar
eae959238e
HW/DSPHLE: Fix struct aliasing undefined behavior in AX ucode
...
This fixes Old AX Wii games having no audio when compiled under VS2019.
This also includes some minor code cleanup and moving a function to
avoid duplication.
2019-12-22 14:48:47 -05:00
Connor McLaughlin
74dedc57fd
Merge pull request #8519 from JosJuice/setupwiimemory-region-override
...
Boot: Optionally allow preserving region settings in setting.txt
2019-12-19 20:47:56 +10:00
Shawn Hoffman
e3a30fbdf2
update minilzo to 2.10
2019-12-18 22:20:11 -08:00
Léo Lam
3cf2857aac
Merge pull request #8520 from lioncash/analyst-tidy
...
PowerPC/PPCAnalyst: Remove unimplemented LogFunctionCall prototype
2019-12-15 12:07:38 +01:00
Lioncash
7c12081693
PowerPC/PPCAnalyst: Remove unimplemented LogFunctionCall prototype
...
This doesn't have an implementation, so it can be removed.
2019-12-15 00:23:32 -05:00
JosJuice
208c6a3011
Boot: Optionally allow preserving region settings in setting.txt
...
See the discussion in https://bugs.dolphin-emu.org/issues/11930 .
(This probably doesn't really fix that issue, but it's something
I thought would make sense anyway.)
2019-12-14 19:03:20 +01:00
Léo Lam
6cd2f5a76d
Merge pull request #8501 from lioncash/byteswap
...
GCMemcard: Remove byteswapping functions and macros
2019-12-14 14:28:01 +01:00
Léo Lam
49fcc71565
Merge pull request #8506 from lioncash/cache
...
PPCCache: Make arrays constexpr where applicable
2019-12-14 14:25:06 +01:00
Stenzek
e5485ca499
Core: Reset wiimotes/rumble on emu thread instead of main thread
...
This was causing a race which was crashing the FifoCI runners. The main
thread called Stop() which in turn called ResetAllWiimotes() while the
emu thread was still exiting, also shutting down the Wiimote class.
By shifting the reset to the emu thread, all cleanup operations happen
on the same thread where they were initialized.
2019-12-09 20:07:00 +10:00
Stenzek
c602cb2e2f
Core: Reset memory watcher on same thread which allocates it
2019-12-09 20:06:14 +10:00
rlnilsen
965781ea9d
Motion Input: Add nunchuk support.
2019-12-04 23:21:26 +01:00
Lioncash
474e210cd5
PPCCache: Make arrays constexpr where applicable
...
Two of these arrays were stored within the save state when the exact
same data is constructed all the time.
We can just build this into the binary rather than the save state,
shrinking a little bit of the save state's overall size.
2019-12-03 04:05:09 -05:00
Lioncash
1d5ce4708f
PPCCache: Make use of std::array where applicable
...
Allows simplifying a bunch of initialization and filling code.
2019-12-03 04:05:05 -05:00
Connor McLaughlin
15fc71cfcf
Merge pull request #8498 from stenzek/update-vs2019
...
Update VS projects/solutions to VS2019
2019-12-03 13:03:49 +10:00
Stenzek
52e2e32193
Core: Only reset wiimotes in Wii mode
...
This was causing the FifoCI runners to crash, as the Wiimotes were not
initialized in the first place.
2019-11-30 15:41:38 +10:00
Stenzek
dd23a1ee79
Update VS projects/solutions to VS2019
2019-11-30 13:42:52 +10:00
Lioncash
c792961000
Common: Unify logging namespace with Common
...
Previously the logging was a in a little bit of a disarray. Some things
were in namespaces, and other things were not.
Given this code will feature a bit of restructuring during the
transition over to fmt, this is a good time to unify it under a single
namespace and also remove functions and types from the global namespace.
Now, all functions and types are under the Common::Log namespace. The
only outliers being, of course, the preprocessor macros.
2019-11-28 05:13:21 -05:00
Lioncash
e33c366502
GCMemcard: Remove byteswapping macros
...
We can just specify the functions directly instead of relying on
preprocessor textual replacement.
2019-11-27 23:15:31 -05:00
Lioncash
1f1a02151e
GCMemcard: Replace ByteSwap with std::swap
...
There's already a standard library function that does what this function
is doing.
2019-11-27 23:15:26 -05:00
Anthony
c2c8a14966
Merge pull request #8348 from JosJuice/mmu-setting
...
Disable full MMU by default and add it to global config GUI
2019-11-27 16:04:40 -08:00
Anthony
e33acc07f9
Merge pull request #8332 from CookiePLMonster/dsp-lle-deadlock
...
DSPLLE: Put DSP thread in idle state when it's paused
2019-11-27 15:34:34 -08:00
JosJuice
45ba745bc8
Merge pull request #8320 from CookiePLMonster/cpu-lock-yield-fix
...
Do not yield to UI from PauseAndLock
2019-11-24 20:12:04 +01:00
Silent
5be9505ab3
Signal DSP thread after unlocking DSP mutex
2019-11-22 23:00:42 +01:00
Silent
e30ff7c327
DSPLLE: Put DSP thread in idle state if it's paused to prevent a deadlock
...
DSP thread is considered "idle" when it signals s_ppc_event and waits for s_dsp_event,
without putting it in this state when m_dsp_thread_mutex is locked it was possible to
create a deadlock between a DSP thread, emulation thread and Qt thread by accessing
Config menu immediately after booting up the game
2019-11-22 22:07:41 +01:00
JosJuice
a9cf8670e0
Merge pull request #8224 from Pokechu22/wiimote-eeprom
...
Write the entirety of the Wiimote EEPROM, in a per-Wiimote file
2019-11-20 22:03:53 +01:00
JosJuice
d66050375c
Merge pull request #8347 from hosaka-corp/frame-advance-alignment
...
Align frame advance and movies to full field boundaries
2019-11-19 19:26:35 +01:00
meta
9c5c3c055e
Align frame advance and movies to full field boundaries
2019-11-18 15:05:06 -06:00
Pokechu22
4d4a095c76
Reset Wiimotes on force stop and when starting MIOS
2019-11-17 12:20:26 -08:00
Pokechu22
a23609562d
Replace magic disconnect channel number with a constant
2019-11-17 12:20:25 -08:00
Pokechu22
5477409847
Write the entirety of the Wiimote EEPROM, in a per-Wiimote file
...
Previously, only Mii data was written. Additionally, the file containing mii data was shared for all Wiimotes, which made it a lot less useful.
Additionally, the file was read/written on each Wiimote read, even though the whole EEPROM was kept in memory. This was bad for performance and not particularly necessary (it did enforce that the data was properly shared between all Wiimotes, but that's not something I want).
2019-11-17 12:20:19 -08:00
Léo Lam
97f9f252cc
Merge pull request #8464 from jordan-woyak/wm-emu-errorcode
...
WiimoteEmu: Minor accuracy fixes.
2019-11-17 10:39:18 +01:00
Léo Lam
bc1aa3640b
Merge pull request #8302 from AdmiralCurtiss/gcmemcard-comments
...
GCMemcard: Read comments, banners, and icons via logical data offsets instead of physical ones.
2019-11-17 10:34:06 +01:00
Admiral H. Curtiss
3b67d0d90a
GCMemcard: Read icons according to logical data offsets instead of physical data offsets. Also gets rid of some undefined behavior.
2019-11-17 01:42:26 +01:00
Admiral H. Curtiss
110d6c1da3
GCMemcard: Read banners according to logical data offsets instead of physical data offsets. Also gets rid of some undefined behavior.
2019-11-17 01:42:26 +01:00
Admiral H. Curtiss
2f119bd206
GCMemcard: Move Icon and Banner constants to the GCMemcard header.
2019-11-17 01:42:26 +01:00
Admiral H. Curtiss
58f21830bd
GCMemcard: Read file comments according to logical data offsets instead of physical data offsets.
2019-11-17 01:42:26 +01:00
Admiral H. Curtiss
770605bc80
GCMemcard: Add method to read an arbitrary block of bytes from a save file.
2019-11-17 01:42:26 +01:00
Léo Lam
b712cc106b
Merge pull request #7909 from LAGonauta/dplii-quality-slider
...
Add slider to change DPLII decoder quality
2019-11-16 18:13:58 +01:00
Léo Lam
a77108236e
Merge pull request #8418 from lioncash/core-fmt
...
Core: Replace usages of StringFromFormat with fmt where applicable
2019-11-16 18:09:58 +01:00
JosJuice
fe39e1e6d8
Merge pull request #8440 from rlnilsen/motion-input-tweaks
...
Motion Input enhancements
2019-11-15 14:08:45 +01:00
Lioncash
cfbabd4c41
SI_Device: Provide proper insertion/extraction operators for SIDevices enum
...
Allows the enumeration to be safely used with our type parsing
functions.
2019-11-11 07:33:01 -05:00
Lioncash
febd1c3dba
Core: Replace usages of StringFromFormat with fmt where applicable
...
Migrates usages of StringFromFormat over to using fmt.
2019-11-11 07:32:57 -05:00
LAGonauta
08787ebc4a
Centralize logic to detect when the DPL2 decoder should be used.
2019-11-11 08:03:36 -03:00
Jordan Woyak
4d24f160e3
WiimoteEmu: Minor accuracy fixes.
2019-11-10 20:38:21 -06:00
Connor McLaughlin
913cb08066
Merge pull request #8456 from jordan-woyak/input-gate-race-fix
...
InputCommon: Make the "input gate" not racy.
2019-11-11 10:59:49 +10:00
Pierre Bourdon
df32e3fdfd
Merge pull request #8445 from Leseratte10/master
...
Add /dev/dolphin for homebrew to get information about Dolphin
2019-11-10 17:34:07 +01:00
Jordan Woyak
e85e51e5ce
HW/WiimoteReal: Replace invalid select call with poll.
2019-11-09 19:22:58 -06:00
Jordan Woyak
59ebaed81c
HW/WiimoteReal: Remove an old comment. We block infinitely now.
2019-11-09 18:45:09 -06:00
Léo Lam
eebc64aaf8
Merge pull request #8460 from jordan-woyak/evdev-motion-data
...
InputCommon: Detect when evdev exposes acceleration/gyroscope data.
2019-11-09 23:34:51 +01:00
JosJuice
9e0b09ddf4
Disable full MMU by default and add it to global config GUI
...
Requested by JMC.
2019-11-09 23:26:55 +01:00
Léo Lam
f4e12f85bc
Merge pull request #8393 from CookiePLMonster/long-paths
...
Support Windows 10 long paths
2019-11-09 21:10:16 +01:00
Léo Lam
6cb60f8d36
Merge pull request #8385 from iwubcode/pathes-update
...
DolphinQt: Add ability to override ResourcePack and Load directory
2019-11-09 20:39:15 +01:00
Jordan Woyak
1180c231a6
InputCommon: Detect when evdev exposes acceleration/gyroscope data.
2019-11-09 13:34:29 -06:00
Florian Bach
2d55a6b0b7
Add /dev/dolphin for homebrew to get information about Dolphin
...
Adds a /dev/dolphin interface that can be used by
Dolphin-aware software to get information like the
real system time and the Dolphin version.
2019-11-09 15:31:51 +01:00
Connor McLaughlin
9db1ce8ef9
Merge pull request #8436 from JosJuice/vi-wii-freeloader
...
VideoInterface: Don't crash when running Wii Freeloader
2019-11-08 10:56:25 +10:00
Connor McLaughlin
28ce9330a8
Merge pull request #8444 from booto/vi-fields
...
VI: Adjust start/end of ACV region for fields
2019-11-08 10:51:32 +10:00
Jordan Woyak
85ceb37ccd
InputCommon: Make the "input gate" not racey.
2019-11-06 16:31:02 -06:00
JosJuice
c007dd1852
Android: Replace emulation rotation crash workaround with proper fix
...
The workaround was added in 0446a58
.
The underlying problem is that we must not destroy the surface
while the video backend is initializing, otherwise the video
backend may reference nullptr.
I've also cleaned up the logic for when to destroy the surface.
Note that the comment in EmulationFragment.java about only being
able to destroy the surface when emulation is running is not true
anymore (due to de632fc
, it seems like).
2019-11-05 09:28:40 +01:00
rlnilsen
f7a50545e3
Motion Input: Add "enable" checkbox for motion controlled cursor.
2019-11-03 11:56:01 +01:00
iwubcode
490fd0c3b3
DolphinQt: Add way to override "ResourcePack" folder that controls the location of resource packs
2019-11-02 13:42:40 -05:00
iwubcode
876a1ccc3e
DolphinQt: Add way to override "Load" folder that controls the location of custom textures
2019-11-02 13:30:44 -05:00
booto
371e3f1021
VI: Adjust start/end of ACV region for fields
...
This wasn't changed when halfline counts were changed to 0-based. Also
included is a diagram showing an understanding of how the values in the VI
timing registers maps to the video signal.
2019-10-31 21:04:22 -04:00
Connor McLaughlin
d3ee0a4535
Merge pull request #8379 from stenzek/mali
...
Vulkan: Optimizations for Mali with EFB2RAM on
2019-10-31 22:44:19 +10:00
rlnilsen
da1f153b47
Rename all instances of "CemuhookUDPServer"/"UDPServer" to "DualShockUDPClient"/"DSUClient".
2019-10-27 16:05:22 +01:00
JosJuice
090f04e01c
VideoInterface: Don't crash when running Wii Freeloader
...
Datel's Wii Freeloaders set m_PictureConfiguration.WPL to 0 for
a while. Not sure if the fix in this commit is a proper fix or
just a hack, since I'm not very familiar with this code.
With this change, it's possible to run a Wii Freeloader if you
are running an old enough version of the Wii Menu, but the
"coloured bars" that Datel reference in their documentation
never show up. The screen just freezes for a few seconds instead.
2019-10-27 15:46:33 +01:00
rlnilsen
4cb3baba5c
Add support for motion controllers via the CemuHook controller input protocol.
...
This is done by:
1) Implementing said protocol in a new controller input class CemuHookUDPServer.
2) Adding functionality in the WiimoteEmu class for pushing that motion input to the emulated Wiimote and MotionPlus.
3) Suitably modifying the UI for configuring an Emulated Wii Remote.
2019-10-26 02:19:53 +02:00
LAGonauta
3c9eb37381
Allow user to change DPLII decoding quality
2019-10-22 22:55:15 -03:00
Mat M
6282b0d83e
Merge pull request #8326 from lioncash/fmt
...
ActionReplay: Make use of fmt where applicable
2019-10-20 07:30:20 -04:00
Jordan Woyak
9e8181e80e
Core/HW: Fix some explicitly defaulted but implicitly deleted warnings.
2019-10-19 16:35:03 -05:00
JMC47
4a613dad20
Merge pull request #8304 from AdmiralCurtiss/memcard-manager-icon-fix
...
Qt/GCMemcardManager: Fix icon animations displaying incorrectly.
2019-10-17 18:03:21 -04:00
Anthony
6a15de58f4
Merge pull request #8403 from jordan-woyak/netplay-wiimote-buffer-fix
...
NetPlay: Allow Wii Remote buffer size to decrease
2019-10-16 16:20:53 -07:00
Anthony
a21b7b1bdd
Merge pull request #8390 from jordan-woyak/wiimote-emu-tilt-fix
...
WiimoteEmu: Tilt fixes.
2019-10-16 16:14:42 -07:00
Jordan Woyak
24a36eb027
NetPlay: Allow Wii Remote buffer size to decrease by dropping reports.
2019-10-13 13:03:57 -05:00
Jordan Woyak
443af3fabd
WiimoteEmu: Fix outdated comment.
2019-10-09 16:12:18 -05:00
Silent
45890c20cf
Remove obsolete "Windows compatibility" macros
2019-10-07 22:46:37 +02:00
Jordan Woyak
b794737bcf
WiimoteEmu: Disable simulation of centripetal acceleration.
2019-10-06 09:56:41 -05:00
Jordan Woyak
260cefd60b
WiimoteEmu: Expose maximum tilt acceleration.
2019-10-06 09:56:39 -05:00
JMC47
b6545ea285
Merge pull request #8370 from sepalani/fix-hle-patch
...
HLE: Fix patching functions with the same name
2019-10-06 05:07:54 -04:00
Connor McLaughlin
9a68eaaa24
Merge pull request #8292 from Pokechu22/ir-calibration
...
Use valid IR calibration data
2019-10-06 17:31:50 +10:00
Connor McLaughlin
dba7f3304d
Merge pull request #8361 from ligfx/remove_xaudio2
...
Remove XAudio2
2019-10-06 17:24:48 +10:00
Stenzek
ae83d02e54
Drop 3D Vision Support
2019-10-04 13:40:21 +10:00
Stenzek
ecdf21a988
Config: Also set CommandBufferExecuteInterval to 0 by default on Android
2019-10-02 22:44:19 +10:00
JMC47
d3a9104cee
Merge pull request #8355 from phire/qt_fix_fifo_range
...
QtFifoPlayer: handle FIFO load before window creation
2019-09-30 00:34:39 -04:00
JMC47
bec433cb40
Merge pull request #8333 from CookiePLMonster/screenshot-timestamp
...
Core: Generate screenshot name with timestamps
2019-09-30 00:32:07 -04:00
Sepalani
d8a3218726
HLE: Fix patching functions with the same name
2019-09-28 17:38:43 +04:00
Admiral H. Curtiss
ff90a5855d
Qt/GCMemcardManager: Fix animation frame order and speed.
2019-09-23 01:55:46 +02:00
Pokechu22
3efa3d7a42
Fix 2 DTK bugs
...
Bug 1: subcommand 1 of 0xE1 does not actually reset the current position; it just stops playback. 0xE2 returns the same value it would have before stopping playback (other than reporting that the stream is stopped).
Bug 2: subcommand 3 of 0xE2 was incorrectly dividing the length by 4; while this makes sense for positions (which are multiplied by 4 earlier to get a byte offset), it is not correct for lengths.
2019-09-14 21:05:33 -07:00
Michael M
0f3695a14b
Remove XAudio2
...
Audio on Windows is provided by the cubeb (shared mode) and WASAPI
(exclusive mode) backends, both of which exhibit lower latency.
2019-09-14 14:08:13 -07:00
Scott Mansell
677a0903a1
FifoPlayer: Use std::move for saving callbacks
2019-09-09 11:38:21 +12:00
Scott Mansell
46f4f69cfd
QtFifoPlayer: handle fifo load before window creation
...
Fixes a bug where if you loaded a fifo before opening the fifo
player window (which you can do by dragging a .dff onto dolphin's
main window) then the player's widgets wouldn't be initilized
correctly.
Importantly, the object range widgets would be broken.
2019-09-09 10:36:31 +12:00
JMC47
c144cde825
Revert "DSP: ARAM cleanup experiments"
2019-09-02 01:47:50 -04:00