Zopolis4
5d2290ba3c
Removed unused variable MAX_MSGLEN in LogManager.cpp
2022-06-24 14:57:03 +10:00
Pokechu22
8a144a735f
DSPHLE: Add HLE version of libasnd ucode
2022-06-23 10:50:24 -07:00
Admiral H. Curtiss
0a2aabe6ec
Merge pull request #10753 from Pokechu22/dsp-hle-cdd1-constants
...
DSPHLE: Move CDD1 constants to UCodes.h
2022-06-23 13:43:57 +02:00
Pierre Bourdon
2bd72dfc6f
Merge pull request #10758 from shuffle2/x64-on-arm64
...
windows: detect and warn if running x64 dolphin on arm64
2022-06-23 07:34:34 +02:00
Pokechu22
f3c8e75666
DSPHLE: Move CDD1 constants to UCodes.h
...
These are used by *all* uCodes, though not all uCodes support MAIL_RESUME or MAIL_CONTINUE.
2022-06-22 22:01:13 -07:00
Shawn Hoffman
29ddd0e6f0
windows: detect and warn if running x64 dolphin on arm64
2022-06-22 15:33:12 -07:00
Pokechu22
a72fa4b9cc
DSPHLE: Don't generate new mail if the DSP is halted
...
This fixes booting Datel titles with DSPHLE (see https://bugs.dolphin-emu.org/issues/12943 ). Datel messed up their DSP initialization code, so it only works by receiving a mail later on, but if halting isn't implemented then it receives the mail too early and hangs.
2022-06-22 09:57:33 -07:00
Pokechu22
3aeafcc70b
DSPHLE: Return last mail with top bit cleared if there is no new mail
...
This is an accuracy improvement, though I don't think it matters for anything in practice.
2022-06-22 09:56:51 -07:00
Pokechu22
bdbb23fa1a
DSPHLE: Rename CMailHandler::m_Mails to m_pending_mails
2022-06-22 09:56:51 -07:00
Pokechu22
0fec8ffb3c
DSPHLE: Remove empty destructors
...
Most of these were made unnecessary by the previous commit.
2022-06-22 09:56:51 -07:00
Pokechu22
567f9bede4
DSPHLE: Remove unneeded calls to m_mail_handler.Clear()
...
It's cleared whenever the uCode changes, so there's no reason to clear it in a destructor or during initialization.
I've also renamed it to ClearPending.
2022-06-22 09:56:50 -07:00
Pokechu22
b063f15dcc
DSPHLE: Replace CMailHandler::IsEmpty with CMailHandler::HasPending
2022-06-22 09:56:50 -07:00
Pierre Bourdon
c8e716234e
Merge pull request #10732 from Pokechu22/dsp-init
...
Increase accuracy of DSP initialization process
2022-06-22 14:36:04 +02:00
Pierre Bourdon
6ddff87d42
Merge pull request #10755 from tellowkrinkle/DebugUID
...
VideoCommon: Don't add garbage to shader uids in debug builds
2022-06-22 14:33:23 +02:00
Pierre Bourdon
dc61f87fe4
Merge pull request #10772 from shuffle2/morepch
...
msbuild: add pch for dolphinqt
2022-06-22 14:27:44 +02:00
Pierre Bourdon
ceef02ed2a
Merge pull request #10750 from Pokechu22/hermes-test
...
Enhance DSPAssemblyTest, and fix various DSPTool bugs discovered while doing so
2022-06-22 14:26:50 +02:00
Pierre Bourdon
efcb9bec9c
Merge pull request #10774 from spotlightishere/bsd-determine-nameserver
...
IP/Top: Expand host nameserver usage
2022-06-22 13:02:05 +02:00
Spotlight
430c58cf27
IOS: Use host nameserver on more BSDs
2022-06-21 21:49:02 -05:00
Spotlight
a2530e3b93
IOS: Use first available IPv4 nameserver
2022-06-21 21:49:02 -05:00
Zopolis4
0dfd9d4b43
Replace Cpp11 (A Deprecated alias for Latest) in .clang-format
2022-06-22 08:57:32 +10:00
Shawn Hoffman
b39a11e23b
msbuild: add pch for dolphinqt
...
since this now includes Qt headers it's better than only using
the vanilla DolphinLib one alone (previous behavior before Qt6)
2022-06-21 13:35:14 -07:00
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
Admiral H. Curtiss
d524a92963
Merge pull request #10767 from Pokechu22/dsp-lle-dirq-zero-log
...
DSPLLE: Don't log when DIRQ is set to 0
2022-06-21 01:31:03 +02:00
JosJuice
fafc78b9b5
Re-run code formatting after update to Android Studio 2022.2
...
Android Studio 2022.2 "Chipmunk" changes the code formatting rules a
little. Let's apply the new formatting in this PR so that the lint bot
doesn't take it out on innocent PRs.
2022-06-20 17:41:41 +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
dec48ed7de
UnitTests: Remove unused include from DSPAssemblyTest
2022-06-14 13:07:14 -07:00
Pokechu22
5ea3efaedf
UnitTests: Fix license for HermesBinary.cpp
...
This is an assembled version of HermesText.cpp, so the same license applies to it.
2022-06-14 12:22:06 -07:00
Pokechu22
75ff89e8c7
UnitTests: Edit wait_for_dsp_mail in HermesText to match HermesBinary
...
I don't know what happened here, unfortunately. The version of dsp_mixer.s added to libogc on Nov 14, 2008 in c76d8b851f
uses andcf and jlz here, and the version we have matches the one from Feb 5, 2009 in ae5c3a5fb5
exactly (prior to the fixes in my previous commit). I can't see any reason why wait_for_dsp_mail would be changed like this.
ANDCF and ANDF were previously swapped and JNE/JEQ/JZR/JNZ became JNZ/JZ/JLNZ/JLZ on Apr 3, 2009 in 7c4e654253
, corresponding to a change Hermes made on Nov 10, 2008 in 2cea6d99ad
. But these predate the test being added.
The only other information I can find is that ASNDLIB 1.0 released on November 11, 2008, at https://web.archive.org/web/20120326145022/http://www.entuwii.net/foro/viewtopic.php?f=6&t=87 (but there aren't any surviving links from there).
2022-06-14 12:22:06 -07:00
Pokechu22
36769017c0
UnitTests: Update DSP test text for old renames
...
This change makes assembling DSPTestText match DSPTestBinary, though HermesText doesn't yet match HermesBinary.
The test data was originally added on April 18, 2009 in e7e4ef4481
. Then, set16 and set40 were swapped on April 22, 2009 89178f411c
, which updated the DSPSpy version of dsp_code, but not the version in DSPTool used for testing. So, when the test was made, the assembled data matched the text, but a few days after it no longer did.
Similarly, on Jul 7, 2009 in 1654c582ab
the conditional instructions were adjusted, and 0x1706 was changed from JRL to JRNC and 0x0297 was changed from JGE to JC.
For what it's worth, devkitPro made the same changes on May 31, 2010 in 8a65c85c9b
and updated their version of the asnd ucode (which is this ucode) on June 11, 2011 in b1b8ecab3a
(though this update also includes other feature changes). Note that at the time, they didn't reassemble the ucode unless they made changes to it; the assembled was stored in the repo until bfb705fe16
~...d20f9bdcfb43260c6c759f4fb98d724931443f93.
This fixes the following failures with Hermes:
!! 0015 : 8e00 vs 8f00 - set16 vs set40
!! 016f : 8e00 vs 8f00 - set16 vs set40
and with Hermes:
!! 0014 : 8e00 vs 8f00 - set16 vs set40
!! 0063 : 8e00 vs 8f00 - set16 vs set40
!! 019b : 1706 vs 1701 - jrnc $AR0 vs jrl $AR0
!! 01bf : 0297 vs 0290 - jc 0x01dc vs jge 0x01dc
!! 01d2 : 0297 vs 0290 - jc 0x01dc vs jge 0x01dc
Hermes has the remaining failures:
!! 027b : 03c0 vs 03a0 - andcf $AC1.M, #0x8000 vs andf $AC1.M, #0x8000
!! 027d : 029d vs 0294 - jlz 0x027a vs jnz 0x027a
2022-06-14 12:22:06 -07:00
Pokechu22
d52528a6f0
UnitTests: Add tests for assembling DSP code to expected binary
...
We already have the data for this, so this seems like a useful thing to do. However, neither of the new tests currently pass...
2022-06-14 12:22:06 -07: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
6a2ec825a2
UnitTests: Fail DSPAssemblyTest if the assembled code doesn't match the expected result
...
This reveals that both HermesText and HermesBinary fail. HermesBinary would have failed on master, too, if this had been implemented.
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
dc353ed84d
DSPTool: Exit with status 1 if binary comparison fails
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
Pokechu22
d8803a1298
UnitTests: Use fmt::print in DSPAssemblyTest
2022-06-14 12:22:05 -07:00
Pokechu22
8fac249581
UnitTests: Use fmt::print in PageFaultTest
2022-06-14 12:22:05 -07:00
Pokechu22
dd66dac5c1
UnitTests: Fix typo in DSPAssemblyTest
2022-06-14 12:22:05 -07:00
Pokechu22
3cb0976367
UnitTests: Use hermes.s as part of an actual test
...
Before, the file just existed as the source code for HermesBinary.cpp, but we can test that things assemble correctly too (compare DSPTestBinary.cpp and DSPTestText.cpp).
A bit of jank is needed due to MSVC limitations (see https://docs.microsoft.com/en-us/cpp/error-messages/compiler-errors-1/compiler-error-c2026?view=msvc-170 ).
2022-06-14 12:22:05 -07:00
Pokechu22
2193c8964e
DSPTool: Remove moved files from VS project file
...
These were moved into UnitTests in #5449 .
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
Jordan Woyak
1fc86cacd7
WiimoteEmu: Expose IMU pointing accelerometer weight setting.
2022-06-13 00:07:00 -05: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
Silent
7faf5ea170
Clear the UI after async shader compilation
2022-06-10 17:19:59 +02:00
Silent
dcad3ec892
Allow to interrupt shader precompilation by stopping emulation
2022-06-10 17:11:32 +02: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
Mai M
099aaf0037
Merge pull request #10724 from JosJuice/android-manifest-namespace
...
AndroidManifest.xml: Re-add package="org.dolphinemu.dolphinemu"
2022-06-06 23:59:22 -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
JosJuice
dd0485389e
AndroidManifest.xml: Re-add package="org.dolphinemu.dolphinemu"
...
Without this, debug builds of Dolphin fail to launch. The OS tries
to locate org.dolphinemu.dolphinemu.debug.DolphinApplication
but fails to find it because its actual name is
org.dolphinemu.dolphinemu.DolphinApplication.
Partially reverts 6b74907f9d
.
2022-06-06 21:57:21 +02: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
Dentomologist
2999cca41b
UnitTests: Fix -Wrange-loop-construct warnings
...
Don't use reference variable bound to a temporary value
2022-06-03 22:28:17 -07: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