JosJuice
63283dcc72
JitArm64: Refactor EmitBackpatchRoutine parameters, part 2
2022-06-09 19:51:36 +02:00
JosJuice
27ed2a99a0
JitArm64: Refactor EmitBackpatchRoutine parameters, part 1
2022-06-09 19:51:36 +02:00
Pokechu22
83afaba785
IOS/USB: Use LibusbUtils::ErrorWrap and LIBUSB_SUCCESS
2022-06-08 15:29:11 -07:00
Pokechu22
5d301cc206
BTReal: Log warnings when libusb calls fail
2022-06-08 15:29:11 -07:00
Pokechu22
eeab51e3a4
Log warnings when LibusbUtils::MakeConfigDescriptor fails
2022-06-08 15:29:11 -07:00
Pokechu22
15cbb5c8f9
Log warnings when LibusbUtils::GetDeviceList fails
2022-06-08 15:29:11 -07:00
Pokechu22
91a7c4bdf2
LibusbUtils: Log warnings when libusb_set_option or libusb_handle_events_timeout_completed fail
2022-06-08 13:18:31 -07:00
Sepalani
d7135daff5
Socket: Fix some errors related to non-blocking connect
2022-06-08 19:06:42 +04:00
Sepalani
c53a4c8c1a
Socket: Keep track of the socket connection progress
...
Workaround for mbedtls handshake issues with partially connected sockets
2022-06-08 19:06:42 +04:00
Sepalani
cbadc6e81a
NetworkCaptureLogger: Move ErrorState struct to Common/Network
2022-06-08 19:06:42 +04:00
Sepalani
41ce3a83d5
Socket: Refactor WiiSockMan::Convert
2022-06-08 19:06:42 +04:00
JMC47
daf8e3ddde
Merge pull request #10462 from OatmealDome/steam-runtime
...
DolphinQt: Add support for a Steam Runtime build
2022-06-06 20:18:06 -04:00
Pokechu22
d03b277403
DSP LLE Recompiler: Fix LOOP and BLOOP when the counter is between 0x8001 and 0xFFFF
2022-06-05 19:34:31 -07:00
Admiral H. Curtiss
deb9964333
Core: Unify handling of raw memory card path.
2022-06-05 21:43:48 +02:00
Admiral H. Curtiss
2081e2f2a1
Config: Move ToGameCubeRegion(), GetDirectoryForRegion(), and GetBootROMPath() to new config system namespace.
2022-06-05 21:24:45 +02:00
JMC47
664663e8de
Merge pull request #10604 from Pokechu22/gcadapter-refactor
...
Refactor GCAdapter, part 1
2022-06-04 16:30:25 -04:00
Admiral H. Curtiss
96f9d1000d
Merge pull request #10721 from Dentomologist/fix_warnings_on_generic_builder
...
Fix warnings on generic builder
2022-06-04 21:51:58 +02:00
Dentomologist
92af703f29
DSPAssembler: Fix -Wswitch warning
2022-06-04 12:08:09 -07:00
Tilka
d7cda67462
Merge pull request #10716 from Pokechu22/dsp-lle-loop-saturation
...
DSP LLE: Apply saturation to LOOP and BLOOP with $ac0.m and $ac1.m
2022-06-04 15:30:06 +01:00
Pokechu22
457fcbaf5e
LibusbUtils: Create ErrorWrap
2022-06-02 19:39:36 -07:00
Pokechu22
279888da8c
GCAdapter: Remove unused includes
2022-06-02 19:39:36 -07:00
Mai M
f7f47d3cd0
Merge pull request #10692 from Pokechu22/dsp-manual-set40-and-write-backlog
...
docs/DSP: Add sections on 16-bit and 40-bit modes and on main and extended opcode writing to the same register
2022-06-02 20:26:31 -04:00
Mai M
c8ab236e0a
Merge pull request #10709 from Pokechu22/dsp-lle-update-sr-16
...
DSP LLE JIT: Fix Update_SR_Register16_OverS32
2022-06-02 20:22:36 -04:00
Pokechu22
0fc1fb023f
Merge pull request #10678 from Dentomologist/skip_pagefault_test_if_no_exception_handler
...
UnitTests: Skip PageFaultTest if exception handlers aren't supported
2022-06-02 16:21:21 -07:00
Pokechu22
4bc42ded80
DSP LLE Interpreter: Remove OpReadRegisterAndSaturate
...
Instead, saturate in OpReadRegister, as all uses of OpReadRegisterAndSaturate called OpReadRegister for other registers (and there isn't anything that writes to $ac0.m or $ac1.m without saturation).
2022-06-01 22:01:49 -07:00
Pokechu22
928f745e36
DSP LLE Interpreter: Fix typo in 'LS
...
This was introduced in fc1db5eaa0 .
2022-06-01 22:01:49 -07:00
Pokechu22
e7f78379ec
DSP LLE Recompiler: Apply saturation to LOOP and BLOOP with $ac0.m and $ac1.m
2022-06-01 22:01:49 -07:00
Pokechu22
bc206b7a27
DSP LLE Interpreter: Apply saturation to LOOP and BLOOP with $ac0.m and $ac1.m
2022-06-01 22:01:49 -07:00
Pokechu22
f88b7ab6b3
DSP LLE JIT: Fix Update_SR_Register16_OverS32
...
There were 3 bugs here:
- The input register for the full register wasn't actually being used; it was read into RCX but RCX wasn't used by Update_SR_Register16_OverS32 (except as a scratch register). The way the DSP LLE recompiler uses registers is in general confusing, so this commit changes a few uses to have a variable for the register being used, to make code a bit more readable. (Default parameter values were also removed so that they needed to be explicitly specified).
- Update_SR_Register16 was doing a 64-bit test, when it should have been doing a 16-bit test. For the most part this doesn't matter due to sign-extension, but it does come up with e.g. `ORI` or `ANDI`.
- Update_SR_Register16_OverS32 did the over s32 check, and then called Update_SR_Register16. Update_SR_Register16 masks $sr with ~SR_CMP_MASK, clearing the over s32 bit. Now the over s32 check is performed after calling Update_SR_Register16 (without masking a second time). No official uCode cares about the over s32 bit.
2022-05-30 20:10:55 -07:00
Pokechu22
7c63bd1893
docs/DSP: Fix inconsistency with ADDI and CMPI
...
We don't have anything called $amD, though we do have $acsD. However, these instructions affect flags based on the whole accumulator, so it's better to just use $acD.
2022-05-29 15:00:09 -07:00
Pokechu22
baf2c710ff
DSP: Fix typo with TST
2022-05-29 15:00:09 -07:00
Pokechu22
4dc7208195
docs/DSP: Fix typo with arithmetic instructions that take a 16-bit immediate
...
These instructions used an 'r' in their bit list, but a 'd' in the operands.
2022-05-29 15:00:09 -07:00
Pokechu22
b349254ff4
docs/DSP: Document the behavior when main and extended opcodes both write to the same register (the write backlog)
...
For more information, ApplyWriteBackLog, WriteToBackLog, and ZeroWriteBackLog were added in b787f5f8f7 and the explanatory comment was added in fd40513fed , although it did not mention the specific instructions that could trigger this edge case. The statements about which registers can be written by main opcodes and extension opcodes are based on my own checking of all instructions in the manual.
2022-05-29 15:00:09 -07:00
OatmealDome
df22439826
FS: Reshuffle Rename to fix steamrt unit test failure
2022-05-29 13:50:32 -04:00
Tilka
e17a4f49f5
Merge pull request #10668 from Dentomologist/convert_pointerwrap_mode_to_enum_class
...
Convert PointerWrap::Mode to enum class
2022-05-29 00:57:43 +01:00
Tilka
3dbc18060b
Merge pull request #10694 from Pokechu22/dsp-assembler-error-messages-etc
...
DSPAssembler: Rework errors and warnings, and related cleanup
2022-05-29 00:16:23 +01:00
Pokechu22
d307c34af1
DSP LLE: Rename CMPAR to CMPAXH
2022-05-27 18:22:38 -07:00
Dentomologist
c8e20c569b
Convert PointerWrap::Mode to enum class
2022-05-25 13:16:46 -07:00
Dentomologist
f6b9acccfc
Common: Refactor PointerWrap
2022-05-25 13:06:41 -07:00
Pokechu22
2341ff00ab
NetPlay: Make messages about non-matching games clearer
2022-05-24 23:20:45 -07:00
Pokechu22
ea9b0bff08
NetPlay: Delete NetPlayClient::GetPlayerList
...
It's been unused since DolphinWX was removed in 44b22c90df . Prior to that, it was used in Source/Core/DolphinWX/NetPlay/NetWindow.cpp. But the new equivalent in Source/Core/DolphinQt/NetPlay/NetPlayDialog.cpp uses NetPlayClient::GetPlayers instead. Stringifying (or creating a table, as is done now) should be done by the UI in any case.
2022-05-24 14:44:28 -07:00
Pokechu22
bd3173e344
DSPAssembler: Rework errors and warnings
...
Among other things, this trims trailing newline characters. Before (on windows) the \r would corrupt the output and make them very hard to understand (as the error message would be drawn over the code line, but part of the code line would peek out from behind it).
2022-05-23 20:27:17 -07:00
Pokechu22
db3d457e5f
DSPDisassembler: Remove redundant definition of CW
...
CW is used as a fallback to write a full instruction as hex, but we already declare it in DSPTables.h for the assembler.
2022-05-23 19:36:47 -07:00
Pokechu22
b06d38389b
DSP: Remove some magic numbers for register IDs
2022-05-23 19:36:47 -07:00
Pokechu22
8b52c7315b
DSP: Fix assembling x8/x9/xA/xB conditions
...
The assembler upper-cases the mnemonic internally, so it never would match the lower-case x.
2022-05-23 19:36:47 -07:00
Pokechu22
e7f6e19c61
DSPAssembler: Slightly improve readability of AssemblePass
...
This should result in no behavior differences.
2022-05-23 19:36:47 -07:00
Admiral H. Curtiss
b18fd3d3ce
Core/State: Make memory layout of StateHeader more explicit.
2022-05-24 03:04:52 +02:00
JMC47
3a3357444e
Merge pull request #8067 from endrift/hsp
...
Preliminary HSP support
2022-05-22 13:42:27 -04:00
Admiral H. Curtiss
8d0f52032b
IOS/DI: Fake the error 001 read when running DirectoryBlobs or Riivolution-patched games.
2022-05-22 04:22:41 +02:00
Admiral H. Curtiss
0e948f3e21
Merge pull request #10620 from phire/cmake_win_fixes
...
Various fixes for msvc/cmake builds
2022-05-22 03:08:17 +02:00
Vicki Pfau
6a26b0ce8a
HW: Initial HSP implementation with ARAM expansion
2022-05-21 17:05:49 -07:00
Admiral H. Curtiss
580c721c82
cmake: Don't use PCH with Qt6.
2022-05-22 01:19:44 +02:00
Tillmann Karras
d7da4aca19
DSPHLE: handle crc of Pikmin 1 GC US Demo
...
The DSP code only has minor differences to the final release.
2022-05-21 16:48:34 +01:00
Pokechu22
863cb591fe
MainSettings: Make MAIN_CUSTOM_RTC_VALUE default value less magical
2022-05-20 20:35:53 -07:00
Pokechu22
151119cece
DSPInterpreter: Fix typo in isOverflow comment
2022-05-19 16:36:39 -07:00
Mai M
a98d0367d8
Merge pull request #10677 from Pokechu22/no-printf-log
...
Remove printf-style logging
2022-05-19 17:55:17 -04:00
Pokechu22
35cb5c8f75
EXI_DeviceEthernet: Replace INFO_LOG with INFO_LOG_FMT
2022-05-19 12:41:58 -07:00
Pokechu22
2f5e69a94e
JitArm64: Replace WARN_LOG with WARN_LOG_FMT
2022-05-19 12:41:57 -07:00
Pokechu22
0faf0b80ad
TAPServer_Apple: Use fmt logging
2022-05-19 12:41:57 -07:00
Dentomologist
6ffd938f98
UnitTests: Skip PageFaultTest if exception handlers are not supported
...
Page faults should only occur on architectures that support exception
handlers, so skip the test on other architectures to avoid spurious test
failures.
2022-05-19 12:26:41 -07:00
Pokechu22
8df55b492c
Show a panic alert if the CP matrix indices don't match the XF matrix indices
...
This almost certainly never happens, but if it does we want to know.
2022-05-18 14:43:14 -07:00
Pokechu22
38a75f6a49
Show a panic alert if the CP vertex config doesn't match the XF vertex config
...
This probably isn't triggered by real games, but it's possible to accidentally do it with libogc (which results in freezes on real hardware).
2022-05-18 14:43:14 -07:00
Mai M
4085d463a1
Merge pull request #10661 from Tilka/ax_init
...
AX: refactor buffer initialization
2022-05-16 14:23:13 -04:00
Admiral H. Curtiss
b10808d815
Merge pull request #8763 from JosJuice/panic-alert-deadlock-gpu
...
DolphinQt: Fix the panic alert deadlock, dual core edition
2022-05-16 02:21:14 +02:00
Tillmann Karras
ac7aeeece6
AX: refactor buffer initialization
2022-05-15 00:24:38 +01:00
Pokechu22
b8cca8f598
ProcessorInterface: Implement PI_FIFO_RESET
...
Fixes unknown opcodes 0x0f and 0xff when resetting titles, e.g. https://bugs.dolphin-emu.org/issues/12492
2022-05-13 14:20:14 -07:00
Tillmann Karras
855dbf88ca
AX: handle DPL2 mixer control in old GameCube titles
...
This fixes the audio test in Rogue Squadron 2 (issue 12902).
2022-05-13 00:18:24 +01:00
Tillmann Karras
8438e647f2
AXWii: handle mixer control more precisely
...
On GameCube, a ramp bit has no effect if its corresponding channel is
inactive. On Wii however, enabling just the ramp implicitly also enables
the channel. AXSetVoiceMix() never does that, so this commit should have
no impact on games unless they fiddle with the mixer control value
directly.
2022-05-12 21:21:03 +01:00
Tilka
333659cefa
Merge pull request #10643 from Tilka/ax_cleanup
...
AX: fix missing ramp of main surround channel
2022-05-12 21:12:04 +01:00
Tilka
a768dc6f80
Merge pull request #10374 from Pokechu22/slots-unused-warning
...
Work around false SLOTS defined but not used warning on GCC
2022-05-09 22:28:59 +01:00
Pokechu22
61a144ba06
Show a panic alert if movie is missing its starting savestate
2022-05-09 13:32:38 -07:00
Tilka
5ef17e60d0
Merge pull request #10633 from Minty-Meeo/generate-from-address-fix
...
Index SymbolDB when generated from address
2022-05-09 19:38:25 +01:00
Admiral H. Curtiss
02ef946e81
HW/Memmap: Refuse to load savestate if memory settings are different.
2022-05-08 11:06:27 +02:00
Mai M
997754bf3b
Merge pull request #10642 from JosJuice/refactor-mmu-read
...
PowerPC: Refactor ReadFromHardware
2022-05-07 17:18:17 -04:00
JosJuice
b6b7030482
PowerPC: Add HW_PAGE_MASK constant
2022-05-07 19:37:44 +02:00
Tillmann Karras
e6e283a11c
AX: rename main depop fields and mixer flags
2022-05-07 18:30:32 +01:00
Tillmann Karras
048469f7c2
AX: fix missing ramp of main surround channel
2022-05-07 18:20:48 +01:00
JosJuice
ed40b43960
PowerPC: Reorder code in ReadFromHardware
...
This refactorization is done just to match the order that I made
WriteToHardware use in 543ed8a . For WriteToHardware, it's important that
things like MMIO and gather pipe are handled before we reach a special
piece of code that only should get triggered for writes that hit memory
directly, but for ReadFromHardware we don't have any code like that.
2022-05-07 15:52:35 +02:00
JosJuice
3b3c60dc4c
PowerPC: Check page crossing for non-translated reads
...
This fixes a problem where Dolphin could crash if a non-translated
read crossed the end of a physical memory region.
The same change was applied to WriteToHardware in ecbce0a .
2022-05-07 15:41:21 +02:00
Mai M
9858a79974
Merge pull request #10640 from JosJuice/jitarm64-low-dcbz
...
JitArm64: Implement low DCBZ hack
2022-05-07 09:39:49 -04:00
JosJuice
16eb188f1d
JitArm64: Implement low DCBZ hack
...
JitArm64 port of 76228fa .
2022-05-07 15:37:50 +02:00
Tillmann Karras
f65b7066f5
AX: put each volume and its ramp delta into a dedicated struct (NFC)
2022-05-07 13:19:15 +01:00
Tillmann Karras
83858e68d4
AX: clarify main LRS channel names (NFC)
2022-05-07 13:19:15 +01:00
OatmealDome
baabd63f81
WiiUtils: Change default NUS Shop URL to Dolphin's fake NUS
2022-05-05 15:21:02 -04:00
OatmealDome
8c669efe76
MainSettings: Add setting to control Wii NUS Shop URL for system updates
2022-05-05 00:35:53 -04:00
Minty-Meeo
8fec3224fc
Index SymbolDB when generated from address
...
Otherwise every function will be the same color in the code view widget.
2022-05-03 21:20:00 -05:00
Tillmann Karras
aee547aa0e
AX: prevent undefined behavior
...
u16 gets promoted to s32 where changing the uppermost bit is UB.
2022-05-03 22:17:24 +01:00
JMC47
c0488de482
Merge pull request #10251 from Pokechu22/negative-scissor
...
Rework scissor handling
2022-04-24 15:00:42 -04:00
JosJuice
6abf367676
Merge pull request #10588 from JosJuice/jitarm64-psq-stxx-q0
...
JitArm64: Always lock Q0 in psq_stXX
2022-04-24 10:37:45 +02:00
JosJuice
14f9ffeb02
JitArm64: Add documentation comment for EmitBackpatchRoutine
2022-04-23 11:37:52 +02:00
Admiral H. Curtiss
ef760ee012
Common/PointerWrap: Prevent reads/writes past the end of the buffer.
2022-04-18 23:48:00 +02:00
Admiral H. Curtiss
853cf4f818
Common/PointerWrap: Hide internals.
2022-04-18 03:41:14 +02:00
Pokechu22
f3eff70e2f
Implement ImGui window for scissor rectangles
...
This is mainly for debugging, and is only exposed by manually editing the configuration.
2022-04-16 12:35:00 -07:00
Pokechu22
4595b89ad8
VideoCommon: Remove bSupportsOversizedViewports
...
I think this is a relic of D3D9. D3D11 and D3D12 seem to work fine without it. Plus, ViewportCorrectionMatrix just didn't work correctly (at least with the viewports being generated by the new scissor code).
2022-04-16 10:26:11 -07:00
JosJuice
2ef2d4778d
JitArm64: Always lock Q0 in psq_stXX
...
Q0 is used as a scratch register by EmitBackpatchRoutine.
Fixes a vertex explosion in Spider-Man 2 that was uncovered by 20b2300 .
2022-04-16 13:22:36 +02:00
Scott Mansell
c5c4169bc8
Merge pull request #10255 from Pokechu22/sw-zfreeze
...
Software: Fix zfreeze with CullMode::All
2022-04-15 11:12:49 +12:00
Admiral H. Curtiss
3fdc6cbffe
Merge pull request #10486 from ttttcrngyblflpp/negative-axis-scaling
...
Make pos/neg analog axes symmetrical
2022-04-13 12:18:41 +02:00
Mai M
e932a1bfb7
Merge pull request #10571 from AdmiralCurtiss/ffmpeg-custom-pix-fmt
...
VideoCommon/FrameDump: Allow user to specify a pixel format.
2022-04-09 14:19:39 -04:00
Pokechu22
3a742e99bb
Software: Remove config to disable ZComploc and ZFreeze
...
These aren't particularly useful, and make the code a bit more confusing. If for some reason someone wants to test what happens when these functions are disabled, it's easier to just edit the code that implements them. They aren't exposed in the UI, so one would need to restart Dolphin to do it anyways.
2022-04-08 20:05:32 -07:00
Pokechu22
f6ab317374
Fix typo (GFX_HACK_VERTEX_ROUDING -> GFX_HACK_VERTEX_ROUNDING)
2022-04-08 18:30:59 -07:00
Admiral H. Curtiss
3382408b8e
VideoCommon/FrameDump: Allow user to specify a pixel format.
2022-04-09 00:45:49 +02:00
Pokechu22
120208ae03
Merge pull request #10543 from Minty-Meeo/initmmio-combine
...
Combine InitMMIO and InitMMIOWii
2022-04-08 14:35:03 -07:00
Admiral H. Curtiss
23508cafb2
Merge pull request #7675 from TryTwo/Debugger_Code_Features
...
Debugger: Get target memory in load/store instructions
2022-04-08 05:28:22 +02:00
Minty-Meeo
fbc9bf2342
Combine InitMMIO and InitMMIOWii
2022-03-29 01:21:17 -05:00
Admiral H. Curtiss
b466b9ef85
Merge pull request #10464 from Zarklord/override-wii-boot-ios
...
Add Override for Boot IOS for Wii Titles
2022-03-22 03:01:44 +01:00
Zachary Lockwood
9130ad8fbe
Add support for overriding the IOS that boots with a wii game
2022-03-20 09:47:06 -04:00
TryTwo
53cf78d413
Gekko constistancy changes. Add context item to codeview to show or copy a load/store target memory address from instructions at or near PC when paused.
2022-03-17 12:53:38 -07:00
Léo Lam
c883ec1c53
Merge pull request #10512 from stblr/device-change
...
USBv5: Fix racy device change behavior
2022-03-15 15:45:40 +01:00
Techjar
302dedbd24
NetPlay: Introduce constant for peer timeout
2022-03-15 01:26:55 -04:00
Pablo Stebler
7e7b0971ab
USBv5: Fix racy device change behavior
...
This prevents the device changes happening between 2 GETDEVICECHANGE
calls from being missed by the application.
2022-03-14 22:32:30 +01:00
Techjar
b1122ec94f
NetPlay: Add timeout to traversal code path
...
Amendment to 600c816 as I missed the traversal case.
2022-03-14 00:19:54 -04:00
JosJuice
905e86d754
Merge pull request #10451 from JosJuice/skip-redundant-flushes
...
Jit: Skip redundant flushes
2022-03-12 12:32:02 +01:00
JosJuice
7a3c719739
Merge pull request #10453 from JosJuice/output-in-use
...
PPCAnalyst: Count outputs as being in use
2022-03-12 12:31:42 +01:00
Léo Lam
d32c72038a
Merge pull request #10467 from Dentomologist/fix_scalar_initializer_braces_warning
...
Debugger: Fix warning on Debian builder
2022-03-02 12:56:09 +01:00
Tony Gong
c95c43bfb6
Make pos/neg analog axes symmetrical
...
Currently, the axes for the main and C sticks range from 0-255, with
128 being the mid-point; but this isn't symmetrical: the negative axis
has 128 values not including 0, while the positive axis has 127 values
not including 0.
Normalizing so that the range is 1-255 makes the positive and negative
axes symmetrical. The inability to yield 0 shouldn't be an issue as a
real GC controller cannot yield it anyway.
2022-02-27 09:58:21 -08:00
JosJuice
90c576e075
Use config changed callback to detect SD insertion/ejection
...
This saves the GUI from having to manually call SDIO_EventNotify.
With that out of the way, we can let users change the
"Insert SD Card" setting on Android while a game is running.
2022-02-20 10:55:55 +01:00
Dentomologist
d20f3c9e64
Debugger: Fix warning on Debian builder
...
Fix "braces around scalar initializer [-Wbraced-scalar-init]" warning
2022-02-19 08:50:15 -08:00
Léo Lam
bb7475ee2a
Merge pull request #10429 from Zopolis4/mapurge
...
Remove the Maps folder from the Sys directory
2022-02-18 21:40:09 +01:00
Léo Lam
0c78167404
Merge pull request #10443 from JosJuice/port-wiimote-source
...
Port Wiimote source settings to the new config system
2022-02-18 21:38:02 +01:00
JosJuice
aff45c91fc
Port Wiimote source settings to the new config system
...
This lets us finally get rid of BootManager's ConfigCache!
2022-02-18 21:27:10 +01:00
JosJuice
35b436bd6b
Merge pull request #10377 from Pokechu22/warning-fixes-jan-2022
...
Fix several compile warnings on GCC
2022-02-18 21:05:42 +01:00
Léo Lam
92455f7cef
Merge pull request #10446 from AdmiralCurtiss/unbreak-shift
...
HotkeyManager: Change defaults for GBA hotkeys so they don't conflict with common keyboard mappings.
2022-02-18 19:09:36 +01:00
Mai M
8b0c6af75a
Merge pull request #10459 from Dentomologist/convert_movie_playmode_to_enum_class
...
Movie: Convert PlayMode to enum class and move to cpp file
2022-02-18 10:00:33 -05:00
Mai M
1e126d23e6
Merge pull request #10457 from Pokechu22/movie-no-pause-menubar-desync
...
Fix menu bar becoming desynced when Pause at End of Movie is disabled
2022-02-18 09:59:32 -05:00
Dentomologist
f56251168e
Movie: Convert PlayMode to enum class and move to cpp file
2022-02-16 16:04:36 -08:00
Merry
be81fe86e1
JitRegister: Use fmt
...
Prefer fmt to printf-style formatting.
2022-02-16 20:09:38 +00:00
Pokechu22
a81b44f697
Fix menu bar becoming desynced when Pause at End of Movie is disabled
...
Previously, when Pause at End of Movie was disabled, the game would continue running as it should, but the menu bar would think the game was paused, showing the play button instead of the pause button. To make things worse, clicking the play button would then restart the game, instead of pausing or doing nothing. F10 paused/unpaused as normal, though.
The old behavior was essentially to enable stepping/pause mode (via `CPU::Break()`) and then if Pause at End of Movie was disabled, to un-pause on the host thread (via `CPU::EnableStepping(false)`). For reasons which aren't entirely clear to me, the first one notified the menu bar (through the `Host::UpdateDisasmDialog` callback, not the `Settings::EmulationStateChanged` one), and the second did not. In any case, this approach does not particularly make sense; I don't see any reason to pause and unpause if Pause at End of Movie is disabled; instead, we should only pause when Pause at End of Movie is enabled.
This behavior was probably introduced in c1944f623b , though I haven't tested it.
2022-02-16 11:07:12 -08:00
Zopolis4
5e4d1f732d
Remove the Maps folder from the Sys directory
...
It only had two out of date and game-specific maps from decades ago
2022-02-16 12:32:25 +11:00
JosJuice
20b2300ce1
PPCAnalyst: Count outputs as being in use
...
In a code block where a guest register is accessed at least twice and the
last access is a write and the register is not discardable immediately
after the second-to-last instruction (perhaps there is an instruction
in between that can cause an exception), currently Dolphin's JITs will
flush the register after the second-to-last instruction.
It would be better if we replaced the flush after the second-to-last
instruction with a flush that only happens if the exception path is
taken. This change accomplishes that by marking guest registers as
"in use" not just when they are used as inputs but also when they are
used as outputs, preventing the loop in DoJit from flushing the
register until after the last access.
2022-02-14 22:09:21 +01:00
JosJuice
fd511a689f
Jit: Skip redundant flushes
...
This makes codegen faster (by perhaps 10-20% in the case of Jit64,
I didn't measure too closely), which helps speed up NBA Live 2005
a little. But the game still has serious performance issues.
2022-02-14 19:17:59 +01:00
Pokechu22
d2ebbfb91a
GDB Stub: Make s_socket_context static
2022-02-13 14:38:59 -08:00
Pokechu22
50d9349926
Fix integer sign difference comparison warnings
2022-02-13 14:38:59 -08:00
Pokechu22
5f9e04be1d
DSPJit: Suppress offsetof conditionally-supported warnings
...
The DSP JIT only applies on x64, so if it doesn't work on esoteric compilers then that's not a problem. (And if it fails to compile, then it'll still produce an error on that platform, just no warnings on other platforms)
2022-02-13 14:38:59 -08:00
Pokechu22
a6d516dc94
Fix shadowing variables in labmdas
...
GCC generates warnings about these, although the variable being shadowed is not captured by the lambda.
2022-02-13 14:38:59 -08:00
Pokechu22
0e23dfbb25
FifoDataFile: Stop ignoring size
...
The size variable started to be unused when I created std::array variants of ReadArray, but we should follow it in case any files have fewer registers stored than they should (otherwise the remaining registers would end up with garbage data from later in the fifolog). Though, there probably aren't many fifologs where this is relevant.
2022-02-13 14:38:59 -08:00
Pokechu22
a720596771
GDB Stub: Fix typo mixing ppcState.spr and ppcState.sr
...
This resulted in an out-of-bounds array access, since sr is only 16 entries long and SPR_IBAT0U evaluates to 528.
2022-02-13 14:38:59 -08:00
Pokechu22
edec1d5e3a
Work around false SLOTS defined but not used warning on GCC
...
See https://gcc.gnu.org/bugzilla/show_bug.cgi?id=80351
2022-02-13 14:38:53 -08:00
Pokechu22
1c74867c71
GPFifo: Make s_gather_pipe size new constant GATHER_PIPE_EXTRA_SIZE
2022-02-12 23:38:19 -08:00
Pokechu22
ce52ea35ec
Jit: Replace magic 32 with GPFifo::GATHER_PIPE_SIZE
2022-02-12 16:14:05 -08:00
JMC47
9214174bb3
Merge pull request #10435 from AdmiralCurtiss/savestate-crash
...
Core/State: Add some multithreading protections.
2022-02-11 06:28:46 -05:00
JMC47
9d69ca8850
Merge pull request #10386 from JosJuice/gba-save-dir-cond
...
Don't create GBA saves dir when building without mGBA
2022-02-11 06:27:43 -05:00
Admiral H. Curtiss
af36b6c055
HotkeyManager: Change defaults for GBA hotkeys so they don't conflict with common keyboard mappings.
2022-02-10 17:30:23 +01:00
Admiral H. Curtiss
73311694b0
Core/State: Guard g_save_thread with a mutex.
2022-02-05 21:50:37 +01:00
Admiral H. Curtiss
56ea1c1d74
Core/State: Guard SaveAs() and LoadAs() with a mutex.
2022-02-05 21:50:34 +01:00
Admiral H. Curtiss
ff071f8b75
Core/BaseConfigLoader: Disallow loading the MAIN_MEMORY_CARD_SIZE from the global config INI.
2022-01-29 22:32:19 +01:00
Admiral H. Curtiss
63df67b7c8
Merge pull request #10395 from AdmiralCurtiss/memcard-size-setting
...
Port memory card size override setting to new config system.
2022-01-29 22:32:00 +01:00
Admiral H. Curtiss
36cfcb530f
IOFile: Make origin parameter to Seek() an enum class.
2022-01-29 06:49:21 +01:00
JosJuice
90f7565fcc
Merge pull request #10385 from shuffle2/arm-buildfix
...
msvc/arm64: fix shadowed variable warning
2022-01-27 18:00:33 +01:00
Admiral H. Curtiss
407aefb6b9
Netplay: Get memory card size override setting from config system instead of manually parsing INI.
2022-01-26 00:57:44 +01:00
Admiral H. Curtiss
b88507a3ed
Core: Port memory card size override setting to new config system.
2022-01-25 23:50:03 +01:00
JosJuice
b237c7479e
Merge pull request #10371 from lynxnb/android-ir
...
Android: add two QoL settings to IR pointer
2022-01-24 18:25:13 +01:00
lynxnb
b4edd16f24
Android: add an option to recenter IR after every pointer interaction
2022-01-24 12:03:51 +01:00
lynxnb
fe9ac4ed1d
Android: add IR pointer modes to InputOverlayPointer
...
* Disabled: disables the overlay pointer
* Follow: default behaviour, IR pointer follows touch position
* Drag: IR pointer moves relative to the initial touch event position
2022-01-24 12:03:51 +01:00
JMC47
237947e2f1
Merge pull request #10369 from Simonx22/android-online-system-update-2
...
Android: Add online system update functionality
2022-01-22 14:46:42 -05:00
JosJuice
a3f5d09a54
Don't create GBA saves dir when building without mGBA
...
Currently, disabling mGBA when building gets rid of the ability to
change the GBA saves directory in DolphinQt, but it doesn't actually
get rid of Dolphin loading and storing the setting and creating the
folder. If the setting is set to a path you don't want to use
(perhaps you are trying to turn Dolphin portable), this is annoying.
To avoid accidentally making mistakes like this in the future,
I'm gating the existence of the setting behind an ifdef.
2022-01-22 16:05:21 +01:00
shuffle2
4ce9944cc5
remove redundant Unlock
2022-01-22 05:58:32 -08:00
Shawn Hoffman
acf6e24586
msvc/arm64: fix shadowed variable warning
2022-01-22 03:31:50 -08:00
OatmealDome
19e1809cdf
WiiUtils: Add function to convert UpdateResult to jint
2022-01-21 17:16:23 -05:00
JosJuice
7b8e846d0a
Merge pull request #10367 from Pokechu22/fmt-8.1.1
...
Update to fmt 8.1.1
2022-01-20 21:14:41 +01:00
Pokechu22
6e5f4125e3
Use Common::ToLower and Common::ToUpper
2022-01-16 17:00:12 -08:00
Pokechu22
65788290f6
Raise a panic alert if a movie is recorded with memcards but no memcards are inserted
2022-01-16 14:21:33 -08:00
Pokechu22
777bb4d82c
Use Slot in EXI devices
2022-01-16 14:21:28 -08:00
Pokechu22
3f0b23ed2b
Create Slot enum class for EXI slots
2022-01-14 20:24:53 -08:00
Pokechu22
fefde0481d
Use EnumFormatter to generate names for EXI devices
...
This simplifies the code in GameCubePane, and allows us to use the EXIDeviceType enum in error messages.
2022-01-14 20:24:53 -08:00
Pokechu22
d354163fbe
Replace TEXIDevices with an enum class
2022-01-14 20:24:53 -08:00
Léo Lam
83c5446d85
Fix static initialisation order fiasco issue for Version variables
...
Fixes a crash that could occur if the static constructor function for
the MainSettings.cpp TU happened to run before the variables in
Common/Version.cpp are initialised. (This is known as the static
initialisation order fiasco.)
By using wrapper functions, those variables are now guaranteed to be
constructed on first use.
2022-01-14 00:04:22 +01:00
JosJuice
3367e5e026
DolphinQt: Fix the panic alert deadlock, GPU thread edition
...
The fix in ef77872 worked for panic alerts from
the CPU thread, but there were still problems with
panic alerts from the GPU thread in dual core mode.
This change attempts to fix those.
2022-01-13 22:19:54 +01:00
Pokechu22
fd04f4f32d
Replace use of of unsigned char* with fmt
...
Using unsigned char* or signed char* results in a deprecation warning, which is treated as an error. It needs to be casted to regular char* for it to work.
2022-01-13 11:11:08 -08:00
Pokechu22
29d6dd609c
Fix non-constexpr format strings
2022-01-13 11:11:08 -08:00
Pokechu22
18cf8ac767
Create EnumFormatter for WD Command enums
2022-01-13 11:11:08 -08:00
Pokechu22
1a92699455
Cast to int for enums that are not formattable
2022-01-13 11:11:08 -08:00
Pokechu22
0cc211d1ef
Use fmt::format_string
2022-01-13 11:11:08 -08:00
Léo Lam
21b9e6a34f
Merge pull request #10355 from Pokechu22/fifo-player-config
...
FifoPlayer: Store early memory updates option in the config and allow changing loop option at runtime
2022-01-13 14:36:48 +01:00
Mai M
1cea399e9c
Merge pull request #10345 from jordan-woyak/modifier-range
...
InputCommon: Re-enable "Modifier" "Range" settings.
2022-01-13 08:32:15 -05:00
JMC47
ca96421f42
Merge pull request #10365 from JosJuice/missing-ini-section
...
Config: Add missing legacy game INI mappings
2022-01-11 19:12:58 -05:00
JosJuice
2ca37922dc
Config: Use "Controls" section for PadType in game INIs
...
This matches BootManager.cpp's old behavior.
Note: The other settings of the "Controls" section (WiimoteSource
and WiimoteSourceBB) are still handled in BootManager.cpp.
2022-01-11 22:38:37 +01:00
JosJuice
5283a1dcc6
Config: Add "DSP" to GetINIToSectionMap
...
The "DSP" game INI section name was supported by BootManager.cpp
before the section was ported to the new config system.
For backwards compatibility, we should keep supporting it.
Should fix https://bugs.dolphin-emu.org/issues/12792
2022-01-11 22:37:02 +01:00
JMC47
c18abfaecc
Merge pull request #10356 from AdmiralCurtiss/config-port-core-4
...
Config: Port remaining Core settings to new config system (the rest).
2022-01-11 16:08:19 -05:00
JMC47
d32b13fb36
Merge pull request #10363 from JosJuice/systemtimers-dma-period
...
SystemTimers: Refactor, get rid of s_audio_dma_period
2022-01-11 09:30:41 -05:00
Pokechu22
ca9bf3174f
Use HRWrap in remaining locations
...
Note that D3DCommon can't use DX11HRWrap or DX12HRWrap since it's shared between them.
2022-01-09 12:44:55 -08:00
Pokechu22
558de04cfc
Common/Assert: Actually use the ASSERT_MSG's log type parameter
...
Since it was unused, nonexistent values were used in a few places. I've replaced them.
2022-01-09 12:44:14 -08:00
Pokechu22
bab3ff0157
Common/MsgHandler: Remove non-format variants of PanicAlert
...
They're no longer used.
2022-01-09 12:44:14 -08:00
Pokechu22
161c627466
Treewide: Remove unused inclusions of <cinttypes>
...
Most of these became unneeded when fmt was introduced.
2022-01-09 12:43:11 -08:00
Pokechu22
44e93e91d7
Common/Assert: Switch to fmt
2022-01-09 12:43:11 -08:00
Admiral H. Curtiss
c82b2dccb5
Config: Port SyncGPU settings to new config system.
2022-01-09 21:29:12 +01:00
Admiral H. Curtiss
d8b67bc15f
Config: Port BBDumpPort setting to new config system.
2022-01-09 21:29:12 +01:00
Admiral H. Curtiss
92d2fd9d5f
Config: Port MMU setting to new config system.
2022-01-09 21:29:12 +01:00
Admiral H. Curtiss
d8825f5635
Config: Port dual core setting to new config system.
2022-01-09 21:29:11 +01:00
JosJuice
e5ef597642
Merge pull request #10172 from JosJuice/reorder-exception
...
PPCAnalyst: Less strict interrupt checks in CanSwapAdjacentOps
2022-01-09 19:41:16 +01:00
JosJuice
bcd1831339
Merge pull request #9815 from JosJuice/jitarm64-fmaless
...
JitArm64: Implement FMA-less path for FMA instructions
2022-01-09 19:40:54 +01:00
JosJuice
aa57eb57b1
SystemTimers: Refactor, get rid of s_audio_dma_period
...
This static variable was only used within one function,
so we can get rid of it.
2022-01-09 12:02:22 +01:00
Admiral H. Curtiss
5c325eef38
Config: Port SI device settings to new config system.
2022-01-08 20:08:21 +01:00
Admiral H. Curtiss
a0a0bfc5ca
Config: Port EXI device settings to new config system.
2022-01-08 19:57:58 +01:00
Pokechu22
29df17d422
FifoPlayer: Allow changing loop option at runtime
...
This option has always existed since it's used by FifoCI, but now it can be changed at runtime. Looping is something that should almost always be on, but it can be useful to turn it off when frame-dumping is enabled so that hundreds of copies of the same frame aren't created. Before, turning it off required restarting Dolphin.
2022-01-06 19:08:16 -08:00
Pokechu22
575062a612
FifoPlayer: Store early memory updates option in the config
...
Now, early memory updates is persisted across runs, and can be toggled before starting a fifolog.
2022-01-06 19:02:13 -08:00
Admiral H. Curtiss
ed1a1c1fae
Config: Port WiimoteControllerInterface setting to new config system.
2022-01-06 16:13:57 +01:00
Admiral H. Curtiss
2354fb4466
Config: Port WiimoteEnableSpeaker setting to new config system.
2022-01-06 16:13:57 +01:00
Admiral H. Curtiss
8c554d2e64
Config: Port WiimoteContinuousScanning setting to new config system.
2022-01-06 16:13:57 +01:00
Admiral H. Curtiss
b2da738c81
Config: Port WiiKeyboard setting to new config system.
2022-01-06 16:13:57 +01:00
Admiral H. Curtiss
f19cf1753b
Config: Port WiiSDCard setting to new config system.
2022-01-06 16:13:56 +01:00
Admiral H. Curtiss
2aa44b10ba
Config: Port TimingVariance setting to new config system.
2022-01-06 16:13:56 +01:00
Admiral H. Curtiss
dc7e7d08ad
Config: Port Fastmem setting to new config system.
2022-01-06 16:13:56 +01:00
Admiral H. Curtiss
88d725c918
Config: Port SyncOnSkipIdle setting to new config system.
2022-01-06 16:13:56 +01:00
Admiral H. Curtiss
e613cbf395
Config: Port FastDiscSpeed setting to new config system.
2022-01-06 16:13:55 +01:00
Admiral H. Curtiss
7184983ee8
Config: Port DisableICache setting to new config system.
2022-01-06 16:13:55 +01:00
Admiral H. Curtiss
d98c6b0b1d
Config: Port GPUDeterminismMode setting to new config system.
2022-01-06 16:13:55 +01:00
Admiral H. Curtiss
68688e7903
Config: Port PerfMapDir setting to new config system.
2022-01-06 16:13:55 +01:00
Admiral H. Curtiss
fb47035f97
Config: Port emulation speed setting to new config system.
2022-01-06 16:13:54 +01:00
Mai M
6939fd9f18
Merge pull request #10348 from AdmiralCurtiss/config-remove-compare-server-client
...
Config: Remove CompareServer and CompareClient settings.
2022-01-06 03:59:48 -05:00
Techjar
600c8169d5
Core/NetPlay: Extend enet peer timeout
...
This extends the timeout to 30 seconds, so users who have brief
connection issues won't be so swiftly disconnected, allowing the
NetPlay session to continue.
2022-01-06 02:13:19 -05:00
Admiral H. Curtiss
032f0da35e
Config: Remove CompareServer and CompareClient settings.
2022-01-05 21:26:17 +01:00
JMC47
bc14485489
Merge pull request #10340 from AdmiralCurtiss/config-port-core-1
...
Config: Port remaining Core settings to new config system (partial).
2022-01-05 04:53:04 -05:00
Admiral H. Curtiss
0bfffe4095
Config: Port GC Adapter settings to new config system.
2022-01-05 03:25:19 +01:00
Admiral H. Curtiss
e08171fa24
Config: Port remaining Core settings to new config system (partial).
2022-01-05 00:54:15 +01:00
Jordan Woyak
78a9bdf04a
InputCommon: Use value of "Modifier" button "Range" setting rather than always applying 50%.
...
Make "Clear" button reset "Modifier" "Range" settings to 50%.
2022-01-04 14:09:50 -06:00
JMC47
9a914d33d5
Merge pull request #9414 from DevJPM/master
...
Fix CPU Core Count detection and Enable Parallel Shader Compilation
2022-01-04 10:15:12 -05:00
Léo Lam
04a25818b2
Merge pull request #10330 from aldelaro5/gdb-stub-add-hostinfo
...
GDB Stub: add support for lldb's qHostInfo
2022-01-03 12:43:57 +01:00
aldelaro5
d705a5fe9b
GDB Stub: add support for lldb's qHostInfo
2022-01-02 19:58:31 -05:00
Léo Lam
0de008da11
Merge pull request #10332 from AdmiralCurtiss/config-port-general
...
Config: Port remaining General settings to new config system.
2022-01-03 01:40:37 +01:00
Léo Lam
4ee20368f8
Merge pull request #10336 from aldelaro5/gdb-stub-fix-first-packet
...
GDB Stub: do not send a packet when we just connected
2022-01-03 01:40:16 +01:00
Léo Lam
cbd1c4969d
Merge pull request #10309 from aldelaro5/gdb-stub-fix-watchpoints
...
Gdb stub: fix watchpoints
2022-01-03 01:33:49 +01:00
Léo Lam
27a2df410a
Merge pull request #10308 from aldelaro5/gdb-stub-fix-unkown-pointer
...
GDB Stub: validate the address exists before reading/writting to it
2022-01-03 01:33:21 +01:00
Léo Lam
f5a24ac7b9
Merge pull request #10300 from aldelaro5/gdb-stub-fix-thread-reports
...
GDB Stub: fix thread report requests
2022-01-03 01:32:31 +01:00
aldelaro5
4b131bf1ce
GDB Stub: do not send a packet when we just connected
2022-01-02 04:35:55 -05:00
aldelaro5
bfa675cb9d
GDB Stub: validate the address exists before reading/writting to it
2022-01-01 22:00:13 -05:00
aldelaro5
051197b83c
GDB Stub: fix thread report requests
...
We are always reporting thread 1 existing and also fix an issue with a wrong memcmp size
2022-01-01 17:38:25 -05:00
aldelaro5
9c784ca8ab
GDB Stub: correctly define the breakpoint type values
...
Read only and Write only were reversed, now they are properly defined.
2022-01-01 17:18:32 -05:00
aldelaro5
70b7e16d6c
GDB Stub: properly check for wrong breakpoint type
...
Fix dolphin erroring out on requests to remove access watchpoints.
2022-01-01 17:18:30 -05:00
Pokechu22
3d5b46615c
NetPlayClient: Use fmt::join for MD5Sum
2022-01-01 11:52:53 -08:00
Pokechu22
301bc49efe
Common: Remove MD5.h
...
It uses DiscIO, and Common shouldn't depend on DiscIO. Instead, put this code in NetPlayClient.cpp.
2022-01-01 11:52:53 -08:00
JosJuice
ab8b2f9fe0
PPCAnalyst: Less strict interrupt checks in CanSwapAdjacentOps
...
When these checks were originally added, we didn't have the nice
canCauseException attribute. Now we do, so let's use it.
2022-01-01 20:25:04 +01:00
Pokechu22
0c19f895d3
Replace remaining uses of zlib crc32 with Common/Hash.h
2022-01-01 10:36:38 -08:00
Pokechu22
2652aed85c
Common: Merge CRC32.h into Hash.h
...
This makes it easier to find the relevant functions.
2022-01-01 10:36:38 -08:00
Admiral H. Curtiss
d590aa88a4
Config: Port remaining General settings to new config system.
2022-01-01 19:02:45 +01:00
Léo Lam
dc7ea16705
Merge pull request #10284 from JosJuice/no-blr-cr
...
PPCAnalyst: Don't treat blr as writing to CR
2022-01-01 17:39:59 +01:00
Léo Lam
379ab16e1b
Merge pull request #10301 from RA-Kooi/BBAFix
...
BBA: Fix TAP detection
2022-01-01 16:39:41 +01:00
Léo Lam
9a61514073
Merge pull request #10241 from AdmiralCurtiss/user-dir-consistency
...
Ensure user paths are stored in a consistent manner.
2022-01-01 02:32:24 +01:00
Admiral H. Curtiss
b3a3ecd2b4
PPCAnalyzer: Most member functions can be const.
2021-12-31 17:46:45 +01:00
Admiral H. Curtiss
d6331c1e71
Config: Port remaining Interface settings to new config system.
2021-12-31 17:40:04 +01:00
Admiral H. Curtiss
247f5d823f
Config: Port USBPassthrough setting to new config system.
2021-12-31 01:15:38 +01:00
Admiral H. Curtiss
526887899e
Config: Port BluetoothPassthrough settings to new config system.
2021-12-30 23:17:19 +01:00
Admiral H. Curtiss
810dcfa0f6
Config: Port Debug settings to new config system.
2021-12-30 22:28:05 +01:00
Admiral H. Curtiss
9c4b2b65b4
Config: Port Input setting to new config system.
2021-12-30 21:50:36 +01:00
Admiral H. Curtiss
aa437d9805
Config: Port Movie settings to new config system.
2021-12-30 20:16:17 +01:00
JMC47
1112b2a19e
Merge pull request #10307 from AdmiralCurtiss/config-port-autoupdate
...
Config: Port AutoUpdate settings to new config system.
2021-12-30 14:12:36 -05:00
JMC47
de91afaff3
Merge pull request #10298 from aldelaro5/gdb-stub-fix-registers
...
GDB Stub: Fix the id of the registers returned by p and P packets
2021-12-29 21:02:31 -05:00
JMC47
01f180217b
Merge pull request #10299 from aldelaro5/gdb-stub-add-query-packets
...
GDB Stub: add support for various query packets
2021-12-29 19:37:28 -05:00
JMC47
1c8a7f1867
Merge pull request #10277 from AdmiralCurtiss/memarena-cleanup
...
MemArena: Cleanup & interface changes for safer memory mapping.
2021-12-29 19:06:47 -05:00
aldelaro5
b369d822b1
GDB Stub: add support for various query packets
...
These tends to get requested from either pure GDB or Ghidra. They reduce the verbosity of the communications. The QSupported packet is also important to implemnent for future proofing too.
2021-12-28 23:34:33 -05:00
aldelaro5
beabd56ff8
GDB Stub: Fix the id of the registers returned by p and P packets
...
The stub was made with the assumption that the GDB architecture is rs6000:6000, but the closest is actually powerpc:750 which features much more SPR that the gekko supports, but it also has slightly different ID. This commit now assumes the more proper powerpc:750.
2021-12-28 19:27:34 -05:00