Pokechu22
b2ddffeeb1
BS2Emu: Set HID0/1/2/4 and MSR with correct default values
...
These values were obtained by setting a breakpoint at a game's entry point, and then observing the register values with Dolphin's register widget.
There are other registers that aren't handled by this PR, including CR, XER, SRR0, SRR1, and "Int Mask" (as well as most of the GPRs). They could be added in a later PR if it turns out that their values matter, but probably most of them don't.
This fixes Datel titles booting with the IPL skipped (see https://bugs.dolphin-emu.org/issues/8223 ), though when booted this way they are currently missing textures. Due to somewhat janky code, Datel overwrites the syscall interrupt handler and then immediately triggers it (with the `sc` instruction) before they restore the correct one. This works on real hardware due to icache, and also works in Dolphin when the IPL runs due to icache, but prior to this change `HID0.ICE` defaulted to 0 so icache was not enabled when the IPL was skipped.
2022-06-25 14:27:29 -07:00
JMC47
6173ba1d9c
Merge pull request #10785 from Pokechu22/dsp-halt-mail-initialize
...
DSPHLE: Properly reflect initial halt state in mail handler
2022-06-25 17:27:02 -04:00
Pokechu22
9675faa232
DSPHLE: Properly reflect initial halt state in mail handler
...
DSPHLE::Initialize sets the halt and init bits to true (i.e. m_dsp_control.Hex starts as 0x804), which is reasonable behavior (this is the state the DSP will be in when starting a game from the IPL, as after `__OSStopAudioSystem` the control register is 0x804).
However, CMailHandler::m_halted defaults to false, and we only call CMailHandler::SetHalted in DSPHLE::DSP_WriteControlRegister when m_dsp_control.DSPHalt changes, so since DSPHalt defaults to true, if the first thing that happens is writing true to DSPHalt, we won't properly halt the mail handler.
Now, we call CMailHandler::SetHalted on startup. This fixes Datel titles when the IPL is skipped with DSP HLE (though this configuration only works once https://bugs.dolphin-emu.org/issues/8223 is fixed).
2022-06-25 14:06:55 -07:00
JMC47
b30e1c5bb9
Merge pull request #10784 from AdmiralCurtiss/mail-handler-state
...
DSPHLE: Add variables in CMailHandler to savestate.
2022-06-25 14:42:26 -04:00
Admiral H. Curtiss
caf0e5b3e8
DSPHLE: Add variables in CMailHandler to savestate.
2022-06-25 19:15:21 +02:00
Admiral H. Curtiss
ec7bf7d1ec
Merge pull request #10782 from Pokechu22/dsp-hle-asnd-fix
...
DSPHLE: Add HLE version of libasnd ucode and fix build error
2022-06-25 04:40:43 +02:00
Pokechu22
52f32e61dc
DSPHLE: Fix build error in the libasnd uCode
...
This was a conflict between 8a144a735f
and b063f15dcc
.
2022-06-24 19:29:31 -07:00
JMC47
75943a7a2c
Merge pull request #10763 from Pokechu22/dsp-hle-asnd
...
DSPHLE: Add HLE version of libasnd ucode
2022-06-24 21:51:27 -04:00
Pokechu22
1faca4bfc7
Merge pull request #10752 from tellowkrinkle/BetterShaderNames
...
VideoCommon: Better shader names
2022-06-24 15:50:48 -07:00
JMC47
76f890f6b0
Merge pull request #10761 from Pokechu22/dsp-halt-mail
...
DSPHLE: Handle mail more accurately
2022-06-24 18:46:20 -04:00
JMC47
ffa3bf86fb
Merge pull request #10760 from tellowkrinkle/std430
...
VideoCommon: Fix SSBO layout and remove associated "bug"
2022-06-24 18:40:47 -04: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
Pierre Bourdon
5151552a8e
Merge pull request #10773 from Zopolis4/clankerformat
...
Replace Cpp11 with Latest in .clang-format
2022-06-22 12:28:57 +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
JosJuice
57750f3d8f
Translation resources sync with Transifex
2022-06-21 21:51:57 +02:00
Admiral H. Curtiss
ab52c9dab6
Merge pull request #10770 from Pokechu22/memory-view-widget-elide
...
Qt/MemoryViewWidget: Don't elide text
2022-06-21 04:01:38 +02: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
Admiral H. Curtiss
4e095582b3
Merge pull request #10769 from JosJuice/chipmunk-lint
...
Re-run code formatting after update to Android Studio 2022.2
2022-06-21 01:24:02 +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
Admiral H. Curtiss
8274886cc2
Merge pull request #10764 from shepgoba/master
...
Rename FPS_REFRESH_INTERVAL in VideoCommon/FPSCounter
2022-06-18 15:18:08 +02: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
Pierre Bourdon
f50db76426
Merge pull request #10759 from shuffle2/arm64-update
...
updater: use new platform id for win-arm64
2022-06-17 07:04:35 +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