35433 Commits

Author SHA1 Message Date
Lioncash
b4496e6653 Gekko: Convert UReg_BAT_Up over to using Common::BitField 2021-08-29 06:16:51 -04:00
Lioncash
1e4ecfe3d4 Gekko: Convert UReg_DMAL over to using Common::BitField 2021-08-27 11:20:37 -04:00
Lioncash
474e09c239 Gekko: Convert UReg_DMAU over to using Common::BitField 2021-08-27 11:19:21 -04:00
Lioncash
a126821d5e Gekko: Convert UReg_WPAR over to using Common::BitField 2021-08-27 11:18:03 -04:00
Lioncash
8ac079a647 Gekko: Convert UReg_MMCR1 over to using Common::BitField 2021-08-27 11:16:41 -04:00
Lioncash
300f7c10bd Gekko: Convert UReg_MMCR0 over to using Common::BitField 2021-08-27 11:15:15 -04:00
Lioncash
1ec3768b84 Gekko: Convert UReg_SDR1 over to using Common::BitField
Also fixes a typo in the struct name, since it was referring to SPR1
instead of SDR1. Given this isn't used anywhere yet, it's a painless
change.
2021-08-27 11:12:30 -04:00
Lioncash
9e183e63f1 Gekko: Convert UReg_HID4 over to using Common::BitField 2021-08-27 11:10:22 -04:00
Lioncash
6ab2e5ab16 Gekko: Convert UReg_HID2 over to using Common::BitField 2021-08-27 11:08:14 -04:00
Lioncash
02ec9c3b50 Gekko: Convert UReg_HID0 over to using Common::BitField 2021-08-27 11:05:51 -04:00
Lioncash
4591246608 Gekko: Convert UReg_FPSCR over to using Common::BitField 2021-08-27 11:01:32 -04:00
Lioncash
4ecdcc9d78 Gekko: Convert UReg_MSR over to using Common::BitField 2021-08-27 10:54:49 -04:00
Lioncash
1863212d94 Gekko: Convert UReg_XER over to using Common::BitField 2021-08-27 10:46:38 -04:00
Mai M
4816195366
Merge pull request #10054 from JosJuice/android-game-cache-lock
Android: Reduce gameFileCache lock contention
2021-08-27 10:15:25 -04:00
Mai M
7d88354659
Merge pull request #10061 from JosJuice/jitwidget-div-zero
DolphinQt: Fix divide by zero in JITWidget::Update
2021-08-27 10:13:52 -04:00
Mai M
df32a43e8f
Merge pull request #10062 from krnlyng/twi_flags
Interpreter_Tables: specify FL_IN_A for twi.
2021-08-27 10:13:05 -04:00
Franz-Josef Haider
9cd878218c Interpreter_Tables: specify FL_IN_A for twi.
rGPR[inst.RA] is an input to twi.
2021-08-27 16:59:02 +03:00
JosJuice
f17584fc06 DolphinQt: Fix divide by zero in JITWidget::Update
I ran into this while fiddling with the debugger.
2021-08-27 10:30:18 +02:00
Tilka
559de262a1
Merge pull request #10059 from JosJuice/wia-segment-t
docs: Fix incorrect reference to wia_exception_t
2021-08-26 10:31:33 +01:00
JosJuice
b3d57eb25f docs: Fix incorrect reference to wia_exception_t 2021-08-26 11:24:56 +02:00
JosJuice
719930bb39 Android: Add fast path to addOrGet
This path isn't really any faster in the normal case,
but it does let us skip waiting for the lock to be available,
which makes a huge difference if the lock is already taken.
2021-08-24 15:35:40 +02:00
JosJuice
fb265b610d Android: Don't hold gameFileCache lock during updateAdditionalMetadata
It seems like we spend a lot of the game list scanning time in
updateAdditionalMetadata, which I suppose makes sense considering
how many different files that function attempts to open.

With the addition of just one little atomic operation, we can make
it safe to call updateAdditionalMetadata without holding a lock.
2021-08-24 15:35:39 +02:00
JosJuice
bba33c7ced Android: Don't hold gameFileCache lock while finding games
FindAllGamePaths may take a little while, and holding the
gameFileCache lock isn't actually necessary until it's time to
put the results returned by FindAllGamePaths into gameFileCache.

The downside of this change is that we have to do an extra
round of JNI in between FindAllGamePaths and Update,
but I don't think that's much of a problem.
2021-08-24 14:56:33 +02:00
Mai M
7688db3cd3
Merge pull request #10047 from Dentomologist/remove_windows_help_buttons
DolphinQt: Remove Windows dialog help buttons
2021-08-24 08:34:31 -04:00
Mai M
922f53e16e
Merge pull request #10049 from JosJuice/jitarm64-fault-to-handler
JitArm64: Make HandleFastmemFault less unsafe
2021-08-24 08:33:58 -04:00
Mai M
19f8e39929
Merge pull request #10051 from Pokechu22/dsp-jit-revert-acs-extension
Revert "DSPJit: Sign-extend acS.h to 32 bits"
2021-08-24 08:33:32 -04:00
Markus Wick
757985d4c2
Merge pull request #10052 from JosJuice/jitarm64-sbtm-attempt-2
JitArm64: Indexed paired loadstores workaround, attempt 2
2021-08-23 19:09:29 +02:00
JosJuice
6b8d17ce57 Revert "JitArm64: Disable indexed paired loadstore instructions"
This reverts commit f70ddebb402b9b626d81bfa039db5dc16f264d07.
2021-08-23 11:01:07 +02:00
JosJuice
3071a1d13b JitArm64: Indexed paired loadstores workaround, attempt 2
f70ddeb did not make the issue go away.
2021-08-23 10:46:28 +02:00
Pokechu22
1abaff758a Revert "DSPJit: Sign-extend acS.h to 32 bits"
This reverts commit dc2eab17789b39d8fcd6e32e98f8920078f08841.
2021-08-22 18:44:24 -07:00
Tilka
bc10412d24
Merge pull request #10045 from Pokechu22/dsp-lle-sr64
DSPLLE: Carry and overflow fixes
2021-08-23 01:12:44 +01:00
Pokechu22
779cd479bc DSPLLE: NEG can set the carry and overflow flags 2021-08-22 17:07:44 -07:00
Pokechu22
3ee605d699 DSPJit: Rework overflow and carry handling 2021-08-22 17:07:44 -07:00
Pokechu22
4508ca6734 DSPInterpreter: Rework overflow and carry handling 2021-08-22 17:07:44 -07:00
Pokechu22
7cd1b2c4d1 DSPJit: Fix xA and xB 2021-08-22 17:07:44 -07:00
Pokechu22
a30a186d30 DSPInterpreter: Replace IsConditionA with IsConditionB
Although it's not clear what the xA and xB conditions are intended to do, the pattern indicates that xB is the regular version and xA is the inverted version, so for consistency, IsConditionB should be the main function.
2021-08-22 17:07:44 -07:00
Pokechu22
e5d130c4b3 DSPLLE: O is the mnemonic for overflow, not 0 2021-08-22 17:07:44 -07:00
Pokechu22
4865b322d0 DSPInterpreter: Improve CMPAR variable names 2021-08-22 17:07:43 -07:00
Pokechu22
dc2eab1778 DSPJit: Sign-extend acS.h to 32 bits
Thus, the 40-bit accumulator is treated as properly sign-extended when read as a 64-bit number.  This affects e.g. overflow detection.
2021-08-22 17:07:43 -07:00
Pokechu22
74440c468f DSPInterpreter: Sign-extend acS.h to 32 bits
Thus, the 40-bit accumulator is treated as properly sign-extended when read as a 64-bit number.  This affects e.g. overflow detection.
2021-08-22 17:07:43 -07:00
Pokechu22
105d8860fb DSPAnalyzer: Disable update SR analysis
It doesn't work right in all situations, including in the cond_test hardware test.  It could definitely be fixed, but it would be a hassle to do so.
2021-08-22 17:07:43 -07:00
Pokechu22
464575702b DSPSpy: Replace less_test with cond_test
This new test covers all conditions, and also tests overflow, carry, logical zero, and the behavior of NEG
2021-08-22 17:07:41 -07:00
Tilka
67dce9f35d
Merge pull request #10038 from Pokechu22/dsp-rti-srs
DSPLLE: Split SRS into SRS and SRSH and implement conditional variants of RTI
2021-08-23 01:02:45 +01:00
Mai M
c227023375
Merge pull request #10050 from JosJuice/jitarm64-disable-psq-x
JitArm64: Disable indexed paired loadstore instructions
2021-08-22 19:11:16 -04:00
JosJuice
f70ddebb40 JitArm64: Disable indexed paired loadstore instructions
Since the merge of b24b79e, we've gotten reports that the
following games are broken on JitArm64:

* Sonic Heroes
* The SpongeBob SquarePants Movie
* Astérix & Obélix XXL
* The Incredibles: Rise of the Underminer

Disabling the register cache avoids the issue, so the cause
of the bug might not actually have anything to do with the
newly implemented instructions. Nevertheless, I don't want
to ship a beta with this problem present, so I would like to
disable these instructions for the time being.
2021-08-22 22:16:02 +02:00
JosJuice
0cf8405126 JitArm64: Make HandleFastmemFault less unsafe
HandleFastmemFault works correctly when faults only happen in
expected locations, but it does some things that are rather
dangerous for faults in unexpected locations, like decrementing
an iterator without checking whether it's equal to begin.

This change cleans up the logic by making m_fault_to_handler's
key be the end of the fastmem region instead of the start.
2021-08-22 19:51:21 +02:00
Pokechu22
44129dda4c dsp_rom: Add version numbers and hashes to VerifyRoms and readme 2021-08-22 10:49:46 -07:00
Pokechu22
a5e2a0d973 dsp_rom: Remove illegal use of AX with SRS 2021-08-22 10:49:46 -07:00
Tillmann Karras
c881f4db22 dsp_rom: add pseudo code and fix small accuracy issues
Doesn't fix anything, hence not upstreaming this.
2021-08-22 10:49:46 -07:00
Pokechu22
d0b40528e5 dsp_rom: Fix readme eols and trailing whitespace 2021-08-22 10:49:46 -07:00