Commit Graph

12728 Commits

Author SHA1 Message Date
ca10e92ab9 Core: Abide by COM MTA requirement for cubeb on Windows. Partially based on https://github.com/dolphin-emu/dolphin/pull/8920#discussion_r459746604
Co-authored-by: Michael M <mchtly@gmail.com>
2022-11-26 05:05:56 +01:00
4273d3754c CoreTiming: Move static variables into Core::System. 2022-11-26 04:22:32 +01:00
86f17511fc CoreTiming: Move the 'Globals' instance into Core::System. 2022-11-26 04:22:32 +01:00
70f353fb37 Merge pull request #11283 from AdmiralCurtiss/netplay-save-sync-log
Netplay: Add more logging to save syncing.
2022-11-26 03:53:17 +01:00
d189c70d4d Merge pull request #11230 from AdmiralCurtiss/gci-filenames
GCMemcardDirectory: GCI filename cleanup and fixes.
2022-11-26 03:52:43 +01:00
dd2282324b Debugger BreakpointWidget: Allow editing breakpoints 2022-11-26 03:38:25 +01:00
Mai
7be4c90f67 Merge pull request #11166 from AdmiralCurtiss/mmio-system
HW: Pass System to MMIO handlers.
2022-11-24 00:58:45 +00:00
cc5640245c Fix build errors related to formatting non-scoped enums 2022-11-23 13:45:43 -08:00
0a6fdb9c13 HW: Pass System to MMIO handlers. 2022-11-23 05:52:21 +01:00
Mai
0ef6d30a0d Merge pull request #11165 from AdmiralCurtiss/audiocommon-pass-system
AudioCommon: Pass Core::System to AudioCommon functions.
2022-11-23 04:49:31 +00:00
Mai
a47ed2124f Merge pull request #11253 from AdmiralCurtiss/core-timing-events-pass-system
CoreTiming: Pass Core::System to Events.
2022-11-23 04:46:11 +00:00
Mai
677121bdbc Merge pull request #11292 from JosJuice/jit64-imm-ra-update
Jit64: Use MOV instead of ADD for updating imm Ra
2022-11-23 04:42:46 +00:00
Mai
e573a0bbc2 Merge pull request #11294 from JosJuice/jitarm64-movpage2r
Arm64Emitter: Add MOVPage2R utility function
2022-11-23 04:41:31 +00:00
edb2c90b38 Improve FPS/VPS Counting and Revamp Appearance 2022-11-23 00:11:47 +01:00
19b6251a3c Merge pull request #11291 from JosJuice/gba-tas-input
DolphinQt: Add GBA TAS input window
2022-11-22 23:49:43 +01:00
c18d6c3deb Config: Use JPN for custom GCI folder paths. 2022-11-22 17:53:20 +01:00
86d01c3399 Config: Add option to use JPN as the Japanese region directory in GetDirectoryForRegion().
See https://bugs.dolphin-emu.org/issues/13076 for motivation for this.
2022-11-22 17:53:19 +01:00
1089d3cab6 GCMemcardDirectory: Compare GCI files in GetFileNamesForGameID() by their identity instead of their default filename. 2022-11-22 10:54:11 +01:00
4b0312ecf8 GCMemcardDirectory: Decode and strip strings for GCI filenames. 2022-11-22 10:54:11 +01:00
c517e92719 GCMemcardDirectory: Use HasSameIdentity() in LoadGCI().
This is cheaper and more accurate than comparing default GCI filenames.
2022-11-22 10:54:11 +01:00
b31b2db5fa GCMemcard: Remove unused methods. 2022-11-22 10:54:10 +01:00
2132e005c3 Core: Add config setting for base GCI folder path. 2022-11-22 10:48:37 +01:00
d64c3dc267 Arm64Emitter: Add MOVPage2R utility function
This new function is like MOVP2R, except it masks out the lower 12 bits,
returning them instead of writing them to the register. These lower
12 bits can then be used as an offset for LDR/STR. This lets us turn
ADRP+ADD+LDR sequences with a zero offset into ADRP+LDR sequences with
a non-zero offset, saving one instruction.
2022-11-21 23:24:06 +01:00
40571cf13c DolphinQt: Add GBA TAS input window
When emulated GBAs were added to Dolphin, it was possible to control them
using the GC TAS input window. (Z was mapped to Select.) Unaware of this,
I broke the functionality in b296248.

To make it possible to control emulated GBAs using TAS input again,
I'm adding a proper TAS input window for GBAs, with a real Select button
and no analog controls.
2022-11-21 19:16:30 +01:00
22bcf134bf Merge pull request #11139 from JosJuice/jit64-nans-no-freg
Jit64: Don't use fregsIn in HandleNaNs
2022-11-20 13:47:02 -05:00
4b6bad2f9e Jit64: Use MOV instead of ADD for updating imm Ra
The old code would first MOV the old imm into Ra and then do an ADD.
We can skip the ADD and just MOV the new imm.
2022-11-20 10:50:25 +01:00
5d03577189 Memmap: Fix initialization of PhysicalMemoryRegion. 2022-11-18 06:57:54 +01:00
f1c9774159 Merge pull request #11240 from noahpistilli/es_v1_ticket
IOS/ES: Add support for V1Ticket
2022-11-18 00:25:47 +01:00
2fd9852ca8 IOS/ES: Add support for V1Ticket 2022-11-17 17:54:06 -05:00
f0b0fcbb95 Netplay: Add more logging to save syncing. 2022-11-16 04:00:43 +01:00
43e90ca023 Merge pull request #11105 from vpelletier/si_ignore_setGameId
SI: Ignore non-standard setGameID command
2022-11-16 02:08:39 +01:00
d7593dd721 Merge pull request #11243 from Sintendo/arm64mul
JitArm64: Optimize multiplication
2022-11-15 04:05:49 +01:00
c9e74801ed Merge pull request #11269 from vabold/dolphindevice-get-time
Add DolphinDevice::GetSystemTime to allow for accurate Unix timestamp generation
2022-11-15 03:48:57 +01:00
09c0321997 Merge pull request #11184 from Lobsterzelda/save-all-nand-files-to-save-state
HostFileSystem: Set all NAND folders to be saved in save states
2022-11-15 03:42:26 +01:00
2a81fa6c26 Merge pull request #11015 from TryTwo/Conditional_Breakpoints
Conditional breakpoints
2022-11-13 01:06:52 +01:00
083b8172e0 Replace std::time with std::chrono::system_clock 2022-11-12 05:36:49 -05:00
ff1c71cc38 Fix inaccurate function name, add old function 2022-11-12 05:36:49 -05:00
296959ec58 GCKeyboardEmu: Eliminate unused Options group. 2022-11-11 01:59:09 -06:00
ed54e1905a HostFileSystem: Set all NAND folders to be saved in save states when a movie is active 2022-11-10 14:02:29 -05:00
37a51f1d09 VideoCommon: Add an option to disable mipmaps
Needed by M1 fifoci to work around a minor non-determinism bug
2022-11-07 22:18:56 -06:00
a36a5c1308 CoreTiming: Pass Core::System to Events. 2022-11-06 17:54:58 +01:00
db679ab620 Merge pull request #11249 from JosJuice/load-dol-elf-after-mem
Boot: Load DOL/ELF after memory setup
2022-11-06 05:40:54 +01:00
e1f5eb3d8d Merge pull request #11233 from AdmiralCurtiss/netplay-split-save-sync-function
NetPlay: Split SyncSaveData() into two parts.
2022-11-06 05:39:26 +01:00
1c63349984 AudioCommon: Pass Core::System to AudioCommon functions. 2022-11-06 02:13:58 +01:00
e9caa09f7b NetPlay: Split SyncSaveData() into two parts.
This allows the 'save collection' part to run even if no clients are connected. Fixes issue 13095.
2022-11-06 01:51:01 +01:00
fb916a4c33 Boot: Load DOL/ELF after memory setup
I recently talked to a homebrew developer who was trying to add exception
handlers at link time but found out that Dolphin was overwriting their
exception handlers. I figure that's not the usual way to do exception
handlers, but... making us load the executable after setting up memory
rather than before is easy, and matches what we do when booting discs,
so I suppose there's no reason not to do it. It also matches the intent
of why Dolphin is writing default exception handlers – we're writing
them because some homebrew relies on exception handlers being left
around from whatever program was running before it (see 3dd777be70).
2022-11-05 13:55:17 +01:00
8b4e315fb7 Merge pull request #11242 from Sintendo/arm64cmp
JitArm64: Optimize cmp
2022-11-04 23:13:09 +01:00
274e34ddf1 JitArm64: MultiplyImmediate - Handle -(2^n) + 1
Let's take advantage of ARM64's input register shifting one last time,
shall we?

Before:
0x1280005b   mov    w27, #-0x3
0x1b1b7f18   mul    w24, w24, w27

After:
0x4b180b18   sub    w24, w24, w24, lsl #2
2022-11-02 21:53:19 +01:00
7073a135c6 JitArm64: MultiplyImmediate - Handle -(2^n)
ARM64's flexible shifting of input registers also allows us to calculate
a negative power of two in one instruction; shift the input of a NEG
instruction.

Before:
0x128001f7   mov    w23, #-0x10
0x1b1a7efa   mul    w26, w23, w26
0x93407f58   sxtw   x24, w26

After:
0x4b1a13fa   neg    w26, w26, lsl #4
0x93407f58   sxtw   x24, w26
2022-11-02 21:53:19 +01:00
1c87f040a3 JitArm64: mulli - Only allocate reg when necessary
If the destination register doesn't equal the input register, using it
to temporarily hold the immediate value is fair game as it'll be
overwritten with the result of the multiplication anyway. This can
slightly reduce register pressure.

Before:

0x52800659   mov    w25, #0x32
0x1b197f5b   mul    w27, w26, w25

After:
0x5280065b   mov    w27, #0x32
0x1b1b7f5b   mul    w27, w26, w27
2022-11-02 21:53:19 +01:00