Lioncash
d00e7d5a75
SI: Collapse interrupt generation check in UpdateInterrupts()
...
We can simplify this by storing the result of the test into a variable
instead.
2021-09-13 11:25:03 -04:00
Lioncash
ca24c32cbf
SI: Eliminate trivial sign conversion cases in RegisterMMIO()
...
Previously differently signed types were being used to create addresses
and bit offsets.
2021-09-13 11:24:59 -04:00
Lioncash
e68b9de62c
SI: Migrate bitfields to Common::BitField
2021-08-31 16:26:07 -04:00
Lioncash
ed0aa5928f
Gekko: Remove unused UReg_PTE
...
PTEs are only ever operated on in terms of their halves in our code
currently, so this can be removed.
2021-08-31 12:18:31 -04:00
Lioncash
029aff0741
MMU: Remove now-unused defines
...
Now that we're using register unions where applicable, we can remove
these defines, since they're now unused.
2021-08-31 12:18:28 -04:00
Lioncash
7a6b63b309
MMU: Don't truncate 64-bit values when calling Memcheck()
...
Previously in Read_U64 and Write_U64 the value that was read or written
would be truncated to a 32-bit value before being passed off to the
memcheck handler, which can result in incorrect values being logged out.
2021-08-31 11:39:13 -04:00
Lioncash
a8ebca4fc6
MMU: Invert conditionals in Memcheck()
...
Lets us unindent code a little bit.
2021-08-31 11:30:57 -04:00
Lioncash
ee40b640d3
MMU: Make use of UPTE_Lo and UReg_SR in TranslatePageAddress()
...
Allows us to get rid of a bit of masking in exchange for stating the
bits being accessed or written to directly.
2021-08-31 10:52:52 -04:00
Lioncash
e687569e02
Gekko: Add union for segment registers
...
Will be used in the following commit.
2021-08-31 10:45:12 -04:00
Lioncash
75840f62ff
MMU: Make use of UReg_SDR1 in SDRUpdated()
...
Lets us simplify SDRUpdated() a little bit.
This also fixes the layout of UReg_SDR1. Turns out this struct has been
incorrect (from a little-endian perspective) the entire time and went
unnoticed, since the union was never used.
2021-08-31 10:20:56 -04:00
Lioncash
1c776d8c1a
MMU: Move invalidation logic into the TLBEntry struct
...
Puts the invalidation logic in one place and lets us tidy up
InvalidateTLBEntry a little.
2021-08-31 10:04:44 -04:00
Lioncash
3216040bfe
MMU: Remove implicit sign conversions and truncation in UpdateTLBEntry
...
These are trivial to resolve.
Converting the structure member into a u32 results in no increase in
structure size, as it's making use of the three extra padding bits in
the structure.
2021-08-31 10:00:18 -04:00
Lioncash
c008b1c335
MMU: Move UPTE1/UPTE2 unions into Gekko.h
...
Keeps the register definitions in one spot and lets us remove a comment
about them.
2021-08-31 09:45:28 -04:00
Lioncash
65e131ef5f
MMU: Convert PTE unions over to Common::BitField
2021-08-31 09:36:13 -04:00
Lioncash
dbf8e27d7f
Gekko: Convert UReg_PTE over to using Common::BitField
2021-08-29 06:16:55 -04:00
Lioncash
e4e1b6064d
Gekko: Convert UReg_THRM3 over to using Common::BitField
2021-08-29 06:16:55 -04:00
Lioncash
11e76e1f67
Gekko: Convert UReg_THRM12 over to using Common::BitField
2021-08-29 06:16:55 -04:00
Lioncash
12b87922fb
Gekko: Convert UReg_BAT_Lo over to using Common::BitField
2021-08-29 06:16:54 -04:00
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
Lioncash
3c0d4b7d8f
NetKDTime: Eliminate implicit sign conversions
...
Silences compiler warnings and also makes the conversions here explicit
to the reader.
2021-08-24 12:04:04 -04:00
Lioncash
caba81ad3b
NetKDTime: Move internal IOCtl values into IOCtl function
...
These are only ever used here, so they can be turned into an internal
implementation detail.
2021-08-24 12:04:04 -04:00
Lioncash
6268ee44a1
NWC24Config: Provide name for unk_04 config member
...
According to WiiBrew this is a version number (thanks to Awesomebing1
for documenting this!)
2021-08-24 12:04:04 -04:00
Lioncash
a60af199d8
NWC24Config: Move array length constants into the private part of the class
...
These are only used internally and not intended to be used outside of
the class itself.
2021-08-24 12:04:04 -04:00
Lioncash
bc939df69c
NWC24Config: Make creation stage an enum class
...
Makes the enum strongly typed instead of interacting with a raw u32
value. While we're at it, we can add helpers to the NWC24Config to make
using code poke at the internals of the class a little bit less and also
make the querying a little nicer to read.
2021-08-24 12:04:04 -04:00
Lioncash
82371b89fc
NetKDRequest: Remove unused include
2021-08-24 12:04:04 -04:00
Lioncash
e65363f05f
NetKDRequest: Make use of constexpr arrays containing pairs instead of maps
...
Currently we were using heap allocating maps that last for the entire
duration of the emulator running.
Given the size N of both of these maps are very small (< 20 elements),
we can just make use of an array of pairs and perform linear scans. This
is also fine, given this code isn't particularly "hot" either, so this
won't be run often.
2021-08-24 12:04:01 -04: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
Lioncash
b49bd76d91
NetKDRequest: Fix typo in IOCtl enum names (schedular -> scheduler)
2021-08-24 08:28:14 -04:00
Lioncash
3a38e99001
NetKDRequest: Make hardware model enum strongly typed
...
Makes it a distinct type instead of decaying to an ambiguous u8.
2021-08-24 07:46:53 -04:00
Lioncash
1e27880014
NetKDRequest: Make private member functions completely internal
...
These functions don't touch any class state, so they can be turned into
internal helper functions.
While we're at it, we can move the enumerations as well.
2021-08-24 07:45:56 -04:00
Lioncash
ff3947a1b9
NetKDRequest: Minor adjustments to NWC24MakeUserID
...
- Make use of std::array
- Move helper functions inside it as lambdas
- Eliminate sign-conversions that were occurring (promotion of u8 to int)
2021-08-24 07:13:08 -04: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
Mai M
17a01c894b
Merge pull request #10044 from AdmiralCurtiss/invalidate-icache-lines-fix
...
PowerPC: Fix for calling InvalidateICacheLines() with a count of 1 causing a (harmless) second invalidation.
2021-08-19 19:23:11 -04:00
Lioncash
b7b45eb111
Interpreter: Make signedness and narrowing conversions explicit
...
Makes our conversions between the different signs explicit to indicate
that they're intentional and also silences compiler warnings when
compiling with sign conversion or stricter truncation warnings enabled.
2021-08-18 09:56:00 -04:00
Mai M
33154de614
Merge pull request #10039 from OatmealDome/spdx-leftovers
...
Fix some missed items from SPDX transition
2021-08-17 23:02:32 -04:00
Mai M
6863b7ae9e
Merge pull request #10036 from JosJuice/jitarm64-psq-x
...
JitArm64: Implement indexed paired loadstore instructions
2021-08-17 23:00:57 -04:00
Mai M
437b475254
Merge pull request #10037 from OatmealDome/min-macos-bump
...
Bump minimum macOS to 10.13 High Sierra
2021-08-17 22:59:43 -04:00
Mai M
62c3c1a23b
Merge pull request #10034 from JosJuice/jitarm64-w
...
JitArm64: Fix paired loadstore instruction decoding
2021-08-16 17:08:43 -04:00
Mai M
d48d6f280a
Merge pull request #10033 from Pokechu22/dsp-jit-table-masking
...
DSP/Jit: simplify opcode table by masking
2021-08-16 17:08:18 -04:00
Mai M
35c64d1f57
Merge pull request #10031 from Pokechu22/dsp-int-less
...
DSPInterpreter: Fix IsLess
2021-08-15 22:50:02 -04:00
Mai M
fd8a818a93
Merge pull request #10027 from shuffle2/remove-wa
...
revert workaround for msvc arm64 ICE in WIABlob
2021-08-14 16:16:22 -04: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
Mai M
67c06cfc55
Merge pull request #10001 from JosJuice/pte-1
...
PowerPC: Fix bad copypaste in LookupTLBPageAddress
2021-08-06 12:53:49 -04:00
Mai M
857d1c399d
Merge pull request #9999 from JosJuice/jit-dcbx-masking
...
Jit: Re-add dcbx masking
2021-08-06 09:35:17 -04:00
Mai M
37115f04ac
Merge pull request #9997 from JosJuice/jitarm64-store-w8
...
JitArm64: Fix W8 slowmem store
2021-08-05 12:37:08 -04:00
Mai M
627832355e
Merge pull request #9973 from JosJuice/jit-fma-negation-order
...
Jit: Use accurate negation order for FMA instructions
2021-07-31 20:18:49 -04:00
Mai M
7c365349ee
Merge pull request #9977 from JosJuice/jitarm64-mtfsfx
...
JitArm64: Implement mtfsfx
2021-07-31 17:54:48 -04:00
Mai M
bef1fdb4cb
Merge pull request #9974 from JosJuice/jitarm64-mtfsfix
...
JitArm64: Implement mtfsfix
2021-07-31 03:56:51 -04:00
Mai M
b6bd3fc430
Merge pull request #9976 from Tilka/ax
...
DSPHLE: include compressor state in save states
2021-07-31 03:56:27 -04:00
Mai M
c86c02e46b
Merge pull request #9960 from JosJuice/jitarm64-mtfsb1x
...
JitArm64: Implement mtfsb1x
2021-07-28 20:46:09 -04:00
Mai M
28ee0af9a3
Merge pull request #9970 from JosJuice/jit64-fmaddxx-accurate-nan
...
Jit64: Fix fmaddXX with accurate NaNs
2021-07-28 20:45:00 -04:00
Mai M
1fa527f44c
Merge pull request #9943 from JosJuice/android-dsp-recommendations
...
Android: Adjust DSP selection names
2021-07-23 12:22:38 -04:00
Mai M
f380c23fda
Merge pull request #9890 from JosJuice/jitarm64-mtfsb0x
...
JitArm64: Implement mtfsb0x
2021-07-22 21:41:01 -04:00
Mai M
971f110b99
Merge pull request #9937 from Techjar/netplay-split-save-sd-write
...
NetPlay: Split save and SD card write settings
2021-07-22 21:40:31 -04:00
Mai M
4f87821f21
Merge pull request #9938 from Pokechu22/e-reader-context-menu-item
...
GBA: Add "Scan e-Reader Card(s)" context menu item
2021-07-22 21:39:10 -04:00
Mai M
885a4646f8
Merge pull request #9941 from JMC47/dsprecommendations
...
AudioPane: Adjust DSP selection names
2021-07-22 21:37:49 -04:00
Mai M
c080fc75f2
Merge pull request #9940 from JMC47/deblob2defer
...
GameINI: Fix de Blob 2 visual issues.
2021-07-22 21:37:16 -04:00
Mai M
6229aa1e4e
Merge pull request #9942 from Pokechu22/memory-viewer-junk-column
...
MemoryViewWidget: Remove unnecessary column
2021-07-22 21:37:00 -04:00
Mai M
88cc20ffd0
Merge pull request #9918 from JMC47/IMGDDv35ini
...
INI Settings for Paper Mario: Thousand-Year Door Demo Disc
2021-07-19 22:01:50 -04:00
Mai M
6ed201ca94
Merge pull request #9913 from Tilka/postprocess
...
PostProcessing: fix lens distortion shader for HLSL
2021-07-19 22:00:53 -04:00
Mai M
6e7698a354
Merge pull request #9910 from Tilka/postprocess
...
PostProcessing: fix shader compilation failures
2021-07-18 13:58:16 -04:00
Mai M
47d847d468
Merge pull request #9911 from JMC47/summonerini
...
INI: Fix Summoner Invalid Reads
2021-07-18 13:57:01 -04:00
Mai M
ffdc8538a1
Merge pull request #9862 from delroth/spdx-tags
...
Use SPDX for Dolphin licensing info
2021-07-06 01:02:57 -04:00
Mai M
be2ec728e4
Merge pull request #9836 from JosJuice/android-getemulationactivity
...
Android: Don't use getEmulationActivity in GCAdapter/Wiimote code
2021-06-22 11:59:25 -04:00
Mai M
a904cb846a
Merge pull request #9835 from JosJuice/android-hardcoded-strings
...
Android: Clean up some hardcoded strings
2021-06-22 11:57:41 -04:00
Mai M
5470aceb63
Merge pull request #9786 from Tilka/dsp
...
DSP: small cleanup
2021-06-06 00:48:28 -04:00
Mai M
7b2b05cc21
Merge pull request #9760 from JosJuice/jitarm64-msvc-warning
...
JitArm64: Fix MSVC warnings
2021-05-28 23:29:24 -04:00
Mai M
52a388af9a
Merge pull request #9754 from JosJuice/netplay-memcard-region
...
NetPlay: Check that memory card region is valid
2021-05-26 20:57:58 -04:00
Mai M
e32cf29f76
Merge pull request #9755 from phire/dump_xfb_gui
...
Port Dump XFB Target option to Qt UI.
2021-05-26 20:57:19 -04:00
Mai M
ff08b85740
Merge pull request #9750 from JosJuice/android-jstringarraytovector
...
Android: Use DeleteLocalRef more in AndroidCommon
2021-05-24 16:50:55 -04:00
Mai M
4f4b3367b5
Merge pull request #9744 from Techjar/fix-general-pane-netplay
...
Qt/GeneralPane: Refresh widget state on config change
2021-05-23 03:19:40 -04:00
Mai M
95aadff0e7
Merge pull request #9737 from Techjar/fix-textureinfo-hasmips
...
VideoCommon/TextureInfo: Restore old mipmap detection logic
2021-05-22 19:39:52 -04:00
Mai M
213ddc56ab
Merge pull request #9739 from phire/GetFakeVMemMask
...
Use Correct mask for Fake VMem
2021-05-22 14:10:44 -04:00
Mai M
77e5d79354
Merge pull request #9736 from Techjar/bbox-pixel-quads
...
VideoCommon: Account for pixel quads in bounding box calculation
2021-05-22 13:14:07 -04:00
Mai M
031bef0ad9
Merge pull request #9738 from JosJuice/interpreter-fctiwx
...
Interpreter: Fix fctiwx rounding
2021-05-22 13:07:36 -04:00
Mai M
7d8c3ff7d2
Merge pull request #9732 from JosJuice/avoid-including-scmrev
...
Avoid including scmrev.h except in Version.cpp
2021-05-21 11:25:38 -04:00
Mai M
bc89df897e
Merge pull request #9731 from JosJuice/perf-queries-slow
...
Fix perf query regression
2021-05-21 10:14:51 -04:00
Mai M
1d175e7e13
Merge pull request #9728 from JosJuice/android-get-shader-list
...
Android: Use JNI for getting post-processsing shaders
2021-05-20 11:16:08 -04:00
Mai M
9312e45cbe
Merge pull request #9687 from Dentomologist/fix_config_descriptions_grammar
...
Fix config descriptions grammar
2021-05-20 11:15:25 -04:00