Commit graph

30242 commits

Author SHA1 Message Date
Pokechu22
3b4bc9852f DSPInterpreter: Fix sign extension of accumulators
The extension needs to happen in SetLongAcc, not GetLongAcc, as the extension needs to always be reflected in acS.h.

There is no functional difference with the write handler for acS.h, but it is more readable than 4 casts in a row.
2021-08-16 15:09:20 -07:00
Pokechu22
858d0675b9 DSPLLE: Handle cr, sr, and prod.h masking 2021-08-16 15:09:20 -07:00
Pokechu22
3d6ff60a96 DSPSpy: Handle modified wr0 and cr registers correctly 2021-08-16 09:51:16 -07:00
Pokechu22
14119c86a4 DSPInterpreter: Fix IsLess
`IsLess` would incorrectly return true if both `SR_OVERFLOW` and `SR_SIGN` are set, as `(sr & SR_OVERFLOW) != (sr & SR_SIGN)` becomes `SR_OVERFLOW != SR_SIGN` which is true as the two masks are different.  This broke in e651592ef5.

This issue only affected the DSP LLE Interpreter, and not the DSP LLE JIT.

I've also included a simple test case for this.  `ax0.l` (on the top left) is set to 0 if the instruction following `IFL` does not execute and to 1 if it is executed.
2021-08-15 19:45:44 -07:00
Tillmann Karras
f9d2d42a4c VideoCommon: report games that set bits in XFMEM_CLIPDISABLE
The SDK only exposes the lowest bit. The Nintendo Channel intro is currently
broken because we don't implement this (see issue 12562).
2021-08-15 04:41:49 +01:00
Shawn Hoffman
4ef87194a4 revert workaround for msvc arm64 ICE in WIABlob 2021-08-14 03:57:53 -07:00
Shawn Hoffman
f3031e2be2 bump msvc required version to align wth vs 16.11 2021-08-14 03:57:25 -07:00
Mai M
891726e924
Merge pull request #10013 from OatmealDome/wsd-thanos-snap
WiimoteReal: Remove WiimoteScannerDarwin
2021-08-13 13:24:38 -04:00
Mai M
82969db7de
Merge pull request #10018 from JosJuice/code-allow-name-line
DolphinQt: Allow $ line when entering AR/Gecko code
2021-08-13 13:22:25 -04:00
Mai M
e2ccad7f95
Merge pull request #10017 from JosJuice/qt-gecko-notes-lf
DolphinQt: Don't add trailing newline to Gecko notes
2021-08-13 13:21:07 -04:00
Mai M
c43f451da8
Merge pull request #10022 from MerryMage/codesign-debug
DolphinQt: Add entitlement to allow debugger to attach in Debug builds
2021-08-13 13:19:59 -04:00
Mai M
7cc8437050
Merge pull request #10023 from JosJuice/qt-breakpoint-focus
DolphinQt: Set default focus for NewBreakpointDialog
2021-08-13 13:18:58 -04:00
JosJuice
6c908f8ddb DolphinQt: Set default focus for NewBreakpointDialog
I found it a little bit annoying that you can't start typing
the desired address immediately after opening the window.

Also getting rid of the window's ? button while I'm at it.
2021-08-13 10:56:11 +02:00
Merry
ec2c10887f DolphinQt: Add entitlement to allow debugger to attach in Debug builds 2021-08-12 15:08:17 +01:00
Tilka
a27dbe58a6
Merge pull request #10020 from K0bin/d3d12-state-fix
D3D12: Transition compute textures to UAV state
2021-08-12 00:04:25 +01:00
Léo Lam
bfbbed8308
Merge pull request #10019 from JosJuice/port-enable-cheats
Port Enable Cheats to the new config system
2021-08-11 21:20:10 +02:00
JosJuice
fa0525f826 Port Enable Cheats to the new config system 2021-08-11 18:07:43 +02:00
Robin Kertels
40dcf1c2e2
D3D12: Transition compute textures to UAV state 2021-08-11 00:17:04 +02:00
JosJuice
cda442d2d8 DolphinQt: Allow $ line when entering AR/Gecko code
When you come across a cheat code in a place like the Dolphin
wiki, it's often posted like this:

$16:9 Widescreen
0441187C 3FE38E39

Sometimes users try to paste this in its entirety into the Code
field, which leads to Dolphin reporting an error on the first line.
I think it would be nice to make this a little smoother by having
Dolphin accept having a first line that starts with $.
2021-08-10 19:19:34 +02:00
JosJuice
7eabd9e830 DolphinQt: Don't add trailing newline to Gecko notes
Also fixing a string mistake where the text for AR codes
was copypasted for Gecko codes.
2021-08-10 18:29:54 +02:00
OatmealDome
e9a11cdbfd WiimoteReal: Remove WiimoteScannerDarwin
For several reasons:
- It pegs the CPU at 95% for scanning even when Dolphin is idle
- WiimoteScannerHidapi works fine on macOS
- Less macOS code to maintain
2021-08-09 18:48:58 -04:00
Tilka
128e1029dd
Merge pull request #10010 from AdmiralCurtiss/jit-cache-translate-address-cleanup
PowerPC: Minor cleanup around JitCache_TranslateAddress().
2021-08-09 17:33:46 +01:00
Admiral H. Curtiss
116d1361d5 PowerPC: Let callers of JitCache_TranslateAddress determine whether the address was translated. 2021-08-09 18:25:35 +02:00
Admiral H. Curtiss
95fbd09691 PowerPC: Update variable name conventions and const-ness around calls to JitCache_TranslateAddress(). 2021-08-09 01:25:04 +02:00
Admiral H. Curtiss
3296d2fc1f PowerPC: Reorder members of TranslateAddressResult to reduce struct size. 2021-08-09 01:25:04 +02:00
Tillmann Karras
eda2035874 AudioCommon: rename isValid() to IsValid() 2021-08-08 03:05:03 +01:00
Tillmann Karras
b6d8c111bc AudioCommon: make SoundLoop() non-virtual and private 2021-08-08 00:15:05 +01:00
Tillmann Karras
d14b9a73b2 AudioCommon: get rid of Update(), it never does anything 2021-08-08 00:14:49 +01:00
Tillmann Karras
c2d396526b AudioCommon: fix "Error stopping stream" when emulation is paused 2021-08-08 00:14:24 +01:00
JosJuice
a4e5d233be
Merge pull request #9864 from PEmu2/wiimote
Change "Wiimote" to "Wii Remote" in interface
2021-08-07 12:44:55 +02:00
JosJuice
c79757618d
Merge pull request #9993 from Techjar/late-vi-output
VI: Implement post-scanout XFB output
2021-08-07 12:41:59 +02:00
Tilka
f2a77069b7
Merge pull request #10004 from Pokechu22/dff-read-error-handling
FifoDataFile: Improve error handling when reading
2021-08-07 02:15:01 +01:00
Pokechu22
59a1a603ff FifoDataFile: Improve error handling when reading 2021-08-06 15:55:50 -07:00
Admiral H. Curtiss
e3a784ffba PowerPC: Convert enum in TranslateAddressResult to enum class. 2021-08-07 00:07:46 +02:00
Tilka
ac6d008008
Merge pull request #10002 from OatmealDome/macos-nunchuk-shake
Nunchuk: Use correct middle click expression on macOS
2021-08-06 22:05:43 +01:00
Tilka
5cd2160d43
Merge pull request #9996 from OatmealDome/spirv-opsource
ShaderCompiler: Attach shader source code to SPIR-V
2021-08-06 21:48:31 +01:00
OatmealDome
fc4f6bb9b0 Nunchuk: Use correct middle click expression on macOS 2021-08-06 16:47:29 -04:00
JosJuice
37b218b344 PowerPC: Fix bad copypaste in LookupTLBPageAddress
Fixes https://bugs.dolphin-emu.org/issues/12611.
2021-08-06 18:03:54 +02:00
JosJuice
125af42e4b Jit: Re-add dcbx masking
When making 92d1d60, I checked whether the ~0x1f masking in dcbx
actually was necessary. I came to the conclusion that it wasn't,
so I removed it. However, I hadn't checked the second half of
InvalidateICache closely enough - the masking is actually needed.

This commit re-adds the masking, but this time in C++ code instead
of in jitted code in order to save icache. Though I suppose the
difference doesn't matter all that much, since this is in farcode
and all...

Hopefully fixes https://bugs.dolphin-emu.org/issues/12612.
2021-08-06 14:55:07 +02:00
JosJuice
e753455abb JitArm64: Fix W8 slowmem store
Regression from 12629be.
2021-08-05 10:57:41 +02:00
OatmealDome
d453390c48 ShaderCompiler: Attach source text to SPIR-V for debuggers like RenderDoc 2021-08-05 03:04:18 -04:00
Tilka
942545b7fc
Merge pull request #9964 from JosJuice/uncached-unaligned-writes
PowerPC: Implement broken masking for uncached unaligned writes
2021-08-04 22:23:07 +01:00
JosJuice
f333c0949f PowerPC: Implement PI interrupt for uncached unaligned writes 2021-08-04 23:09:43 +02:00
JosJuice
543ed8a97c PowerPC: Implement broken masking for uncached unaligned writes
This implements the behavior described in
https://bugs.dolphin-emu.org/issues/12565.

Thank you to eigenform, delroth, phire, marcan, segher, and Extrems
for all helping in one way or another with the efforts to reverse
engineer this behavior, and to Rylie for reporting the issue.
2021-08-04 23:04:02 +02:00
JosJuice
12629beff8 JitArm64: Call swap variants of memory write functions
Write_U16_Swap leaves the upper 32 bits alone. Reimplementing this
correctly in the JIT would require more than one instruction,
so let's just call Write_U16_Swap instead, like Jit64 does.
2021-08-04 23:04:02 +02:00
JosJuice
ecbce0a204 PowerPC: Pass on full 32-bit register contents for 8/16-bit writes 2021-08-04 23:04:02 +02:00
JosJuice
c56526d5f8 PowerPC: Keep track of write-through/cache-inhibited
One of the following commits will add emulation of a quirk
that only happens when writing to memory which is mapped as
write-through or cache-inhibited, so let's keep track of
which memory is mapped in this way.
2021-08-04 23:04:02 +02:00
Tilka
9c65519e79
Merge pull request #9986 from Pokechu22/partition-info
FilesystemWidget: Show more information about partitions
2021-08-04 21:54:07 +01:00
Léo Lam
28b7e2ef30
Merge pull request #9995 from AdmiralCurtiss/dcbx-virtual-address
Jit64: Always pass effective address to InvalidateICache() in dcbx.
2021-08-04 22:24:41 +02:00
Admiral H. Curtiss
0e76dabbbb Jit64: Always pass effective address to InvalidateICache() in dcbx. 2021-08-04 22:17:42 +02:00