Pokechu22
a334883c47
Qt/MemoryViewWidget: Don't elide text
...
Before, the Hex 32 display would get truncated on Linux.
2022-06-20 18:53:23 -07:00
Admiral H. Curtiss
f441e3ab98
Merge pull request #10723 from Pokechu22/dsp-lle-unsigned-loop-counter
...
DSP LLE Recompiler: Fix LOOP and BLOOP when the counter is between 0x8001 and 0xFFFF
2022-06-21 02:01:13 +02:00
Pokechu22
c317f7fd22
DSPLLE: Don't log when DIRQ is set to 0
...
No interrupt is generated in this case. The homebrew liband uCode writes zero fairly frequently, so logging it results in spam.
2022-06-19 10:46:41 -07:00
Braxton Anderson
2b2b8e932d
Rename FPS_REFRESH_INTERVAL in VideoCommon/FPSCounter
2022-06-17 20:11:53 -06:00
TellowKrinkle
f79ac768d8
VideoCommon:ShaderCache: Add const to some local variables
2022-06-17 20:14:32 -05:00
Admiral H. Curtiss
23ed611077
Merge pull request #10729 from Pokechu22/libusb-error-wrap
...
Improve libusb error logging
2022-06-17 16:01:46 +02:00
Admiral H. Curtiss
b199108964
Merge pull request #10520 from AdmiralCurtiss/resource-pack-init-crash
...
ResourcePack: Avoid crashes on invalid packs during Init().
2022-06-17 13:55:16 +02:00
Admiral H. Curtiss
efbf5a450b
ResourcePack: Avoid crashes on invalid packs during Init().
2022-06-17 03:49:05 +02:00
TellowKrinkle
26529a31ab
VideoCommon: Fix SSBO layout and remove associated "bug"
2022-06-16 20:26:11 -05:00
Shawn Hoffman
896d5454f0
updater: use new platform id for win-arm64
2022-06-16 14:55:51 -07:00
Pokechu22
053b3e725b
DSPHLE: More accurately handle initialization behavior
...
This improves timing, but does not fix Datel titles.
2022-06-16 12:18:05 -07:00
Pokechu22
072913bbad
DSPLLE: More accurately handle initialization behavior
2022-06-16 12:18:05 -07:00
Pokechu22
c38c2b1aaa
DSPLLE: Fix debug logging in ReadMailboxLow
...
The # option means that 0x is prepended already, so the old code resulted in 0x0xDEADBEEF instead of the intended 0xDEADBEEF. WriteMailboxLow was already correct.
2022-06-16 12:18:05 -07:00
Pokechu22
3ceda1df8c
DSPLLE: Rename cr to control_reg
...
Before, there were two distinct fields called cr and r.cr, which is needlessly confusing (see the comment in DSPCore.h).
2022-06-16 12:18:05 -07:00
TellowKrinkle
c7892d7371
VideoCommon: Name ubershaders
2022-06-16 02:08:45 -05:00
TellowKrinkle
23c1721fbd
VideoCommon: Reduce duplicates of non-palette-requiring texture decode shaders
2022-06-16 02:08:45 -05:00
JosJuice
107a928452
Merge pull request #10748 from tellowkrinkle/SDL22Fun
...
InputCommon: SDL 2.0.22 init crash workaround
2022-06-15 18:02:59 +02:00
Admiral H. Curtiss
ac3920a0da
Qt/GameCubePane: Fix swapping memory cards mid-emulation.
2022-06-15 10:42:14 +02:00
TellowKrinkle
3fe1a1a3d7
VideoCommon: Don't add garbage to shader uids in debug builds
...
There wasn't anything stopping compilers from doing it in release builds either, but most optimizations would make the padding zero
2022-06-14 21:51:58 -05:00
TellowKrinkle
994210e369
InputCommon: SDL 2.0.22 init crash workaround
...
See https://github.com/libsdl-org/SDL/pull/5598
2022-06-14 21:02:45 -05:00
JMC47
431d757151
Merge pull request #10743 from tellowkrinkle/LargeBlockRVZ
...
Fix creation of rvz with > 2mb chunk size
2022-06-14 16:17:24 -04:00
JMC47
8a8e9c5ef6
Merge pull request #10742 from tellowkrinkle/Xcode
...
Improve incremental build time for Xcode projects
2022-06-14 16:14:54 -04:00
Pokechu22
41939eeaf9
DSPDisassembler: Fix disassembly of LSR and ASR
...
Before, both 1441 and 147f would disassemble as `lsr $acc0, #1`, when the second should be `lsr $acc0, #-1`, and both 14c1 and 14ff would be `asr $acc0, #1` when the second should be `asr $acc0, #-1`. I'm not entirely sure whether the minus signs actually make sense here, but this change is consistent with the assembler so that's an improvement at least.
devkitPro previously changed the formatting to not require negative signs for lsr and asr; this is probably something we should do in the future: 8a65c85c9b
This fixes the HermesText and HermesBinary tests (HermesText already wrote `lsr $ACC0, #-5`, so this is consistent with what it used before.)
2022-06-14 12:22:06 -07:00
Pokechu22
2d774010c3
DSPCodeUtil: Include the PC and hex in the "Extra code words" section
...
It's included in the section before, so it's helpful to supply here too.
2022-06-14 12:22:06 -07:00
Pokechu22
087d89225c
DSPCodeUtil: Give better output when comparing instructions with large immediates
2022-06-14 12:22:06 -07:00
Pokechu22
cad9801ded
DSPDisassembler: Fix out-of-bounds read when the last word is an instruction with a large immediate
...
For instance, ending with 0x009e (which you can do with CW 0x009e) indicates a LRI $ac0.m instruction, but there is no immediate value to load, so before whatever garbage in memory existed after the end of the file was used.
The bounds-checking also previously assumed that IRAM or IROM was being used, both of which were exactly 0x1000 long.
2022-06-14 12:22:06 -07:00
Pokechu22
693a29f8ce
DSPCodeUtil: Use fmt::print instead of logging in DSP::Compare
2022-06-14 12:22:05 -07:00
JMC47
9315ac7071
Merge pull request #10587 from AdmiralCurtiss/memcard-path-unify
...
Raw Memory Card Path handling unification and consistency fixes.
2022-06-13 20:18:36 -04:00
JMC47
f96e91119a
Merge pull request #10735 from CasualPokePlayer/audio_dump_volume_fix
...
Have audio dumps apply volume
2022-06-13 17:09:58 -04:00
Tillmann Karras
59dfc43949
Common: replace std::aligned_storage_t with alignas
...
C++23 deprecates std::aligned_storage_t while alignas works since C++11.
This fixes issue 12925.
2022-06-13 00:06:19 +01:00
OatmealDome
3e5f1a4f99
MemTools: Always provide a valid pointer in send_msg for mach_msg_overwrite
...
This cannot be nullptr in macOS Ventura and iOS 16.
2022-06-12 00:19:09 -04:00
TellowKrinkle
7cf5547b97
CMake: Make bundled MoltenVK optional
...
Adds ~20s to incremental build time in Xcode projects
2022-06-11 16:34:33 -05:00
TellowKrinkle
26fc167a44
DiscIO: Fix creation of rvz with > 2mb chunk size
2022-06-11 16:10:32 -05:00
TellowKrinkle
e4614067b3
CMake: Respect SKIP_POSTPROCESS_BUNDLE
2022-06-11 15:46:38 -05:00
CasualPokePlayer
ad892176d0
have audio dumps apply volume (fixes cases of audio dumps being "too loud" and in game audio controls having no effect)
2022-06-10 21:27:10 -07:00
Pokechu22
27772e01d9
GCAdapter: Compare with LIBUSB_SUCCESS instead of 0
2022-06-08 15:30:22 -07: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
Tillmann Karras
79a7bf02eb
CMake: rename minizip to minizip-ng
...
minizip-ng is the new name used by the upstream project as well as all
distros other than Fedora (but it looks like it will be renamed there).
2022-06-06 14:21:43 +02: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
4fd18cf207
DolphinQt: Unify handling of raw memory card path.
2022-06-05 21:48:13 +02:00
Admiral H. Curtiss
deb9964333
Core: Unify handling of raw memory card path.
2022-06-05 21:43:48 +02:00
Admiral H. Curtiss
b1d1f2aa06
Common/StringUtil: Add convenience function for converting paths to use forward slashes on Windows.
2022-06-05 21:24:45 +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
Admiral H. Curtiss
9fb17b5a48
Merge pull request #10718 from shuffle2/hotkeys
...
qt: unregister Settings' DevicesChanged callback during shutdown
2022-06-03 13:48:28 +02:00
Shawn Hoffman
b16711f2af
qt: fix wiipane usb list layout
2022-06-02 23:58:13 -07:00
Shawn Hoffman
27dd2c4aa4
qt: unregister Settings' DevicesChanged callback during shutdown
...
fixes a crash on close
2022-06-02 23:32:21 -07:00
Pokechu22
6823b4d7a0
GCAdapter: Use LibusbUtils::ErrorWrap in log messages
2022-06-02 19:39:36 -07:00
Pokechu22
457fcbaf5e
LibusbUtils: Create ErrorWrap
2022-06-02 19:39:36 -07:00
Pokechu22
0d8772ccbe
GCAdapter: Make local variables const where possible
2022-06-02 19:39:36 -07:00
Pokechu22
cd9edeacda
GCAdapter: Merge Read logic
2022-06-02 19:39:36 -07:00
Pokechu22
9ec65baf46
GCAdapter: Have the read thread control the write thread
...
This was done for Android in 6cc40b1235
.
2022-06-02 19:39:36 -07:00
Pokechu22
0fa92694d1
GCAdapter: Exit early if the adapter fails to open on Android
...
This is only so that indentation is consistent with the non-android code.
2022-06-02 19:39:36 -07:00
Pokechu22
749a4ad1ef
GCAdapter: Remove check on write size on android
...
It was removed for non-android in 56239d1ae1
, and android already uses a separate thread, so presumably this isn't needed anymore.
2022-06-02 19:39:36 -07:00
Pokechu22
27947046af
GCAdapter: Harmonize read/write thread variable names
2022-06-02 19:39:36 -07:00
Pokechu22
279888da8c
GCAdapter: Remove unused includes
2022-06-02 19:39:36 -07:00
Pokechu22
3ae775e574
GCAdapter: Use determinism hack on Android
...
This hack was added in 8f0cbefbe5
, and the part of it in SI_DeviceGCAdapter is present on Android already, so I don't see any reason why this part doesn't apply to Android.
2022-06-02 19:39:36 -07:00
Pokechu22
55922e6d17
GCAdapter: Convert ControllerType to an enum class
2022-06-02 19:39:36 -07:00
Pokechu22
682d86f4da
GCAdapter: Fix rumble enabled config on Android
...
I believe the setting already existed in the UI; it just wasn't implemented in GCAdapter_Android.cpp.
2022-06-02 19:39:36 -07:00
Pokechu22
36d4ee0939
GCAdapter: Use std::array for controller read and write payloads
2022-06-02 19:39:36 -07:00
Pokechu22
dd6592698e
GCAdapter: Merge GCAdapter.cpp and GCAdapter_Android.cpp
...
This is mostly a brainless merge, #ifdef-ing anything that doesn't match between the two while preserving common logic. I didn't rename any variables (although similar ones do exist), but I did change one log that was ERROR on android and NOTICE elsewhere to just always be NOTICE. Further merging will follow.
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
Mai M
84944625df
Merge pull request #10714 from OatmealDome/macos-mojave-bump
...
BuildMacOSUniversalBinary: Bump minimum macOS to 10.14
2022-06-02 20:20:52 -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
Admiral H. Curtiss
a58bb2aa24
Merge pull request #10701 from TryTwo/PR_Memory_Widget_Connections
...
Debugger MemoryWidget: Navigate to memory from breakpoint widget and cheat search.
2022-06-02 20:50:44 +02: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
OatmealDome
803a0de5a4
VKMain: Remove check for macOS 10.14
2022-06-01 22:57:56 -04:00
OatmealDome
1cb3058abe
MemoryUtil: Remove __builtin_available for macOS 10.14
2022-06-01 22:57:56 -04:00
OatmealDome
6e2febd404
VideoBackendBase: Remove __builtin_available for macOS 10.14
2022-06-01 22:57:51 -04:00
TryTwo
177dae6a1a
Add options for BreakpointWidget, WatchWidget, and CheatSearches to send address to Memory Widget
2022-06-01 01:53:15 -07:00
Dentomologist
e0c9ae16b9
FileUtil: Refactor CreateSysDirectoryPath()
2022-05-31 16:18:08 -07:00
Dentomologist
c2be78079c
FileUtil: Remove GetSysDirectory log spam
...
Create and log path the first time GetSysDirectory is called, then just
return the path on future calls.
2022-05-31 16:18:08 -07:00
Dentomologist
4d563ce4d1
Android: Ensure File::s_android_sys_directory is set only once
2022-05-31 16:18:08 -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
OatmealDome
09875c6403
DolphinQt: Copy qt.conf into Binaries output folder on Steam builds for Linux
2022-05-29 13:50:32 -04:00
OatmealDome
5c4122ec2a
DolphinQt: Copy Sys into Binaries output folder on Steam builds for Linux
2022-05-29 13:50:32 -04:00
OatmealDome
77fb5fa7dc
DolphinQt: Copy all Qt libraries into Binaries output folder on Steam builds for Linux
2022-05-29 13:50:32 -04:00
OatmealDome
6b05f5cca8
DolphinQt: Set the executable's rpath to a lib directory in $ORIGIN on Steam builds for Linux
...
We will store our Qt shared libraries here.
2022-05-29 13:50:32 -04:00
OatmealDome
e679502a5d
GLX: Guard against redefinition of PFNGLXSWAPINTERVALEXTPROC
...
This type is already declared in glxext.h in the Steam Runtime.
2022-05-29 13:50:32 -04:00