Léo Lam
bfaed2b0b1
GameINI: Fix file path for RZDK01 INI
2021-04-20 01:43:02 +02:00
Léo Lam
34348fad1d
Merge pull request #9658 from lioncash/fallthrough
...
BlockingLoop/Jit64: Indicate explicit fallthrough where applicable
2021-04-20 00:28:13 +02:00
Léo Lam
cf80ed7f2d
Merge pull request #9653 from JosJuice/android-import-nand
...
Android: Add "Import BootMii NAND Backup"
2021-04-19 21:57:40 +02:00
Léo Lam
ec5fbeb0d6
Merge pull request #9654 from JosJuice/android-12-early
...
Android: Early changes to adapt for Android 12
2021-04-19 21:25:18 +02:00
Léo Lam
045c5a1fdc
Merge pull request #9655 from PPLToast/ztp-korea-ini
...
GameINI: Add speed hack for Korean TP
2021-04-19 19:58:22 +02:00
Léo Lam
e7f68cf850
Merge pull request #9634 from skylersaleh/xcode_strict_aliasing
...
Build: Fix -fno-strict-aliasing on Xcode builds
2021-04-17 22:24:52 +02:00
Léo Lam
a12d365d60
Fix PCH when building with CMake + Ninja + MSVC on Windows
...
fmt/format.h is included in the PCH, so we need to make sure fmt is
actually in the include path.
Not sure how Visual Studio + CMake manages to build without this.
2021-04-17 17:48:47 +02:00
Léo Lam
cc32fa91af
FifoPlayer: Copy data with memcpy instead of one byte at a time
...
Copying with memcpy/std::copy is a lot faster than writing one byte
at a time. And the behavior should be fully equivalent.
2021-04-17 16:02:43 +02:00
Léo Lam
336518049d
WiiUtils: Add helper functions to get emulated/real Bluetooth device
...
This adds a function to get the emulated or real Bluetooth device for
an active emulation instance. This lets us deduplicate all the
`ios->GetDeviceByName("/dev/usb/oh1/57e/305")` calls that are currently
scattered in the codebase and ensures Bluetooth passthrough is being
handled correctly.
This also fixes the broken check in WiimoteCommon::UpdateSource.
There was a confusion between "emulated Bluetooth" (as opposed to
"real Bluetooth" aka Bluetooth passthrough) and "emulated Wiimote".
2021-04-12 18:16:56 +02:00
Léo Lam
136f59b434
DolphinQt: Fix latent build error on Windows
2021-04-12 18:16:56 +02:00
Léo Lam
3b6fdb74f6
Merge pull request #9628 from Dentomologist/wiiutils_fix_reference_to_temporary_subobject
...
WiiUtils: Remove reference qualifier
2021-04-07 01:46:45 +02:00
Léo Lam
f18743ab89
Merge pull request #9576 from Pokechu22/invalid-gfx-reg-quirk
...
Add game quirks for unknown BP/CP/XF commands
2021-04-07 01:46:21 +02:00
Léo Lam
c1617460a1
Merge pull request #9480 from leoetlino/saturating-cast
...
MathUtil: Add SaturatingCast to cast floats more safely
2021-04-07 01:43:39 +02:00
Léo Lam
2c537e341f
Merge pull request #8937 from Pokechu22/icache-disable
...
Disable ICache emulation for some games
2021-04-07 01:41:12 +02:00
Léo Lam
1a9e72c9bb
DiscIO: Use MathUtil::SaturatingCast
2021-04-06 23:27:23 +02:00
Léo Lam
8d21fa56a1
UnitTests: Use MathUtil::SaturatingCast to avoid UB
...
[conv.fpint]/1:
> A prvalue of a floating-point type can be converted to a prvalue of
> an integer type. The conversion truncates; that is, the fractional
> part is discarded. The behavior is undefined if the truncated value
> cannot be represented in the destination type.
2021-04-06 23:27:23 +02:00
Léo Lam
48712168b8
MathUtil: Add SaturatingCast to cast floats more safely
2021-04-06 23:27:23 +02:00
Léo Lam
49edd5f482
MMU: Remove a bunch of useless swaps
...
The swaps are confusing and don't accomplish much.
It was originally written like this:
u32 pte = bswap(*(u32*)&base_mem[pteg_addr]);
then bswap was changed to Common::swap32, and then the array access
was replaced with Memory::Read_U32, leading to the useless swaps.
2021-04-06 18:25:29 +02:00
Léo Lam
960d957f4f
MMU: Fix SDR updates being silently dropped in some cases
...
While 6xx_pem.pdf §7.6.1.1 mentions that the number of trailing
zeros in HTABORG must be equal to the number of trailing ones
in the mask (i.e. HTABORG must be properly aligned), this is actually
not a hard requirement. Real hardware will just OR the base address
anyway. Ignoring SDR changes would lead to incorrect emulation.
Logging a warning instead of dropping the SDR update silently is a
saner behaviour.
2021-04-06 18:25:09 +02:00
Léo Lam
ac250f7c20
Merge pull request #9623 from Techjar/pauseandlock-fix
...
Core: Fix PauseAndLock segfaulting under certain circumstances
2021-04-06 12:45:35 +02:00
Léo Lam
d96874a4db
Merge pull request #9622 from skylersaleh/fix_zstd_headers
...
Check that zstd headers can be found before using a shared zstd library
2021-04-06 12:42:44 +02:00
Léo Lam
e89ae71cec
Merge pull request #9388 from JosJuice/default-locale
...
Set console's default language/country/region based on computer settings
2021-04-06 12:34:58 +02:00
Léo Lam
a1ee6ace71
Merge pull request #9620 from Dentomologist/convert_gamelist_col_to_enum_class
...
Convert GameList col enum to enum class
2021-04-06 12:08:15 +02:00
Léo Lam
ccc99ebfe3
Merge pull request #9517 from NoraTheGamer/master
...
Mario Party Cheats Update
2021-04-04 22:37:33 +02:00
Léo Lam
6d1eb6ae5a
Merge pull request #9621 from Pokechu22/cassert
...
Replace uses of cassert with Common/Assert.h
2021-04-03 12:46:21 +02:00
Léo Lam
06439a2d40
Merge pull request #9610 from CookiePLMonster/fix-shortcut-creation
...
Fix shortcut creation
2021-03-30 17:30:37 +02:00
Léo Lam
8d2b0fff8a
Merge pull request #9545 from leoetlino/es-launch-timings
...
IOS: Improve timing accuracy for title launches (both ARM and PPC)
2021-03-27 01:47:28 +01:00
Léo Lam
8fab253212
Merge pull request #9609 from Pokechu22/fix-WriteVertexArray
...
Fix PanicAlert when recording FIFOs
2021-03-27 01:39:53 +01:00
Léo Lam
da534c7d75
Merge pull request #9571 from JosJuice/netplay-sync-more-settings
...
NetPlay: Sync more settings
2021-03-27 01:38:33 +01:00
Léo Lam
cd0db58dc5
Merge pull request #9589 from Dentomologist/fix_no_objc_exceptions_warning
...
CMake: Fix unused compiler flag warning
2021-03-27 01:36:58 +01:00
Léo Lam
c915b780cf
Merge pull request #9596 from Minty-Meeo/apply-moar-RunAsCPUThread
...
Apply More Core::RunAsCPUThread
2021-03-27 01:11:34 +01:00
Léo Lam
cd6ee13320
Merge pull request #9608 from Bonta0/swapucode
...
DSPHLE: Don't restore the last UCode when the crc doesn't match
2021-03-27 01:02:47 +01:00
Léo Lam
f29c8b83c0
Merge pull request #9597 from Pokechu22/alt-enter
...
Open the properties window when alt+enter is used on the game list
2021-03-27 00:39:42 +01:00
Léo Lam
f44f20560d
Merge pull request #9573 from JosJuice/volumeverifier-cancel-crash
...
VolumeVerifier: Fix potential crash when cancelling
2021-03-16 11:10:47 +01:00
Léo Lam
b7f931fc6b
Merge pull request #9570 from JosJuice/wia-partial-exception-list
...
DiscIO: Fix reading certain WIA chunks with many exceptions
2021-03-16 11:10:12 +01:00
Léo Lam
c8d8f9ef85
Merge pull request #9577 from JosJuice/di-unknown-size-hack
...
DVDInterface: Make the WBFS/CISO hack only affect WBFS/CISO
2021-03-16 11:03:36 +01:00
Léo Lam
3fcc018fa7
Merge pull request #9588 from JosJuice/jitarm64-srawx-a-s
...
JitArm64: Improve srawx special case carry calculation
2021-03-16 10:40:10 +01:00
Léo Lam
f36b1cbb2a
Merge pull request #9541 from InusualZ/detecting-rso
...
Symbols: Fix RSO Modules detection algorithm
2021-03-16 10:33:58 +01:00
Léo Lam
b980dd1385
Merge pull request #9580 from MetroidPrimeModding/redundant-update-trigger-check
...
[Updater] Check whether we've already had an update triggered
2021-03-16 10:19:54 +01:00
Léo Lam
646bdc9459
Merge pull request #9583 from michaelszubartowicz/master
...
Fix loading save states with bluetooth passthrough
2021-03-16 10:12:49 +01:00
Léo Lam
9a3e752021
Merge pull request #9558 from iwubcode/dsu-multi-server-avoid-blocking
...
InputCommon: block on DSU servers collectively instead of individually
2021-03-16 10:12:32 +01:00
Léo Lam
5cea85f008
Merge pull request #9579 from Dentomologist/fix_open_containing_folder
...
Gamelist: Fix 'Open Containing Folder'
2021-03-16 09:52:46 +01:00
Léo Lam
e6d8af3188
Merge pull request #9553 from sepalani/ghidra-tools
...
Tools: Dolphin symbol map ghidra scripts added
2021-03-16 09:47:03 +01:00
Léo Lam
064a00634e
Merge pull request #9590 from JosJuice/android-recreate-main
...
Android: Fix recreating main activity
2021-03-16 09:42:31 +01:00
Léo Lam
13f79321f7
Merge pull request #9574 from Pokechu22/enumformatter-warnings
...
EnumFormatter: fix signed/unsigned comparison warnings
2021-03-16 09:39:42 +01:00
Léo Lam
3b0b221fcf
Merge pull request #9567 from Dentomologist/fix_various_warnings
...
Fix various build warnings
2021-03-16 09:33:01 +01:00
Léo Lam
61198541a0
Merge pull request #9562 from sepalani/dis-icons
...
Breakpoints: Change icon when disabled
2021-03-07 12:14:12 +01:00
Léo Lam
ac687bc364
Merge pull request #9568 from JosJuice/android-delay-save-tab
...
Android: Don't save settings immediately after switching platform tab
2021-03-07 12:03:46 +01:00
Léo Lam
a5555c6300
Merge pull request #9569 from JosJuice/android-mainpresenter-skip-scan
...
Android: Move "skip scanning" logic to MainPresenter
2021-03-07 11:51:03 +01:00
Léo Lam
5f7d935b0a
Merge pull request #9533 from sepalani/mmu-is-ram
...
MMU: Fix IsRAMAddress not working
2021-03-05 11:49:55 +01:00
Léo Lam
adcdeda372
Merge pull request #9565 from sepalani/qt-blocker
...
BreakpointWidget: Use QSignalBlocker
2021-03-05 10:44:44 +01:00
Léo Lam
a4de2502c5
Merge pull request #9550 from endrift/gba-flush
...
SI/DeviceGBA: Ensure data socket isn't backed up
2021-03-05 10:38:55 +01:00
Léo Lam
de30559862
Merge pull request #9564 from sepalani/bp-del
...
BreakpointWidget: Fix delete deleting both MBP and BP at address
2021-03-05 10:28:48 +01:00
Léo Lam
1e3e5680db
Merge pull request #9561 from sepalani/fix-watches
...
Watches: Fix Save and Load from strings
2021-03-05 00:57:40 +01:00
Léo Lam
19c5a19629
Merge pull request #9529 from JosJuice/android-broadcast-before-metadata
...
Android: Broadcast update before updating additional metadata
2021-03-05 00:48:04 +01:00
Léo Lam
5efd563b03
Merge pull request #9555 from JosJuice/android-jni-cleanup
...
Android: Some JNI cleanup
2021-03-05 00:47:36 +01:00
Léo Lam
6c23e163e1
Merge pull request #9563 from sepalani/bp-changed
...
BreakpointWidget: Emit BreakpointsChanged to update views
2021-03-04 20:49:54 +01:00
Léo Lam
aef0760efe
IOS/ES: Emulate /sys/launch.sys for more accurate timings
...
Also gets rid of one static variable
2021-03-04 18:41:13 +01:00
Léo Lam
bdaac718ac
IOS/FS: Expose some more ioctls for internal Dolphin use
2021-03-04 18:41:13 +01:00
Léo Lam
93f0d122c0
IOS: Hang PPC when reloading IOS for a PPC title launch
...
The PPC is supposed to be held in reset when another version of IOS is
in the process of being launched for a PPC title launch.
Probably doesn't matter in practice, though the inaccuracy was
definitely observable from the PPC.
2021-03-04 18:41:13 +01:00
Léo Lam
19667cb801
Fix symbol map being loaded too early during title changes
...
We should only try to load a symbol map for the new title *after* it
has been loaded into memory, not before. Likewise for applying HLE
patches and loading new custom textures.
In practice, loading/repatching too early was only a problem for
titles that are launched via ES_Launch. This commit fixes that.
2021-03-04 18:41:13 +01:00
Léo Lam
a658cbce16
IOS: Emulate IOS boot timings
2021-03-04 18:41:13 +01:00
Léo Lam
820c4836d7
IOS: Simplify IPC initialisation
...
The extra IPC ack is triggered by a syscall that is invoked in ES's
main function; the syscall literally just sets Y2, IX1 and IX2 in
HW_IPC_ARMCTRL -- there is no complicated ack queue or anything.
2021-03-04 18:41:13 +01:00
Léo Lam
0da5ea86a3
IOS: Emulate ES boot timings
2021-03-04 18:41:13 +01:00
Léo Lam
688bd6141a
IOS: Emulate BootstrapPPC syscall delays
...
Reading the boot content from the NAND takes a non-negligible amount of
time and the PPC should be held in reset while the DOL is being read.
2021-03-04 18:41:12 +01:00
Léo Lam
011f7789e0
IOS: Clear 0-0x3fff when setting up low MEM1 constants
...
Low MEM1 is cleared by IOS before all the other constants are written.
This will overwrite the Gecko code handler but it should be fine
because HLE::Reload (which will set up the code handler hook again)
will be called after a title change is detected.
2021-03-04 18:41:12 +01:00
Léo Lam
be500a98e2
Merge pull request #8779 from sepalani/open-dump
...
NetworkWidget: Reorganise SSL options group box
2021-03-04 13:37:10 +01:00
Léo Lam
2aa1ff51bd
Merge pull request #9493 from nolange/stricter_compiler_flag_check
...
Stricter test for compiler flags
2021-03-04 12:47:33 +01:00
Léo Lam
794e093223
Merge pull request #9530 from JosJuice/android-loading-indicator
...
Android: Use SwipeRefreshLayout in MainActivity
2021-03-04 12:42:20 +01:00
Léo Lam
511e9dcd2f
Merge pull request #9542 from InusualZ/toggle-bp
...
BreakpointWidget: Allow breakpoints to be toggled between enable/disable
2021-03-04 12:34:03 +01:00
Léo Lam
48a5846aee
Merge pull request #9548 from AdmiralCurtiss/fastmem-active-regions
...
Core/Memmap: Memory mapping logic fixes.
2021-03-04 12:18:59 +01:00
Léo Lam
06a77493a4
Merge pull request #9547 from PatrickFerry/ini-fixes-1
...
Some Gameini Changes
2021-03-04 12:16:09 +01:00
Léo Lam
9c6c77351f
Merge pull request #9556 from JosJuice/cmake-msvc-latest
...
CMake: Build with -std:c++latest for MSVC
2021-03-04 12:12:06 +01:00
Léo Lam
00db622d50
Merge pull request #9560 from JosJuice/cmake-msvc-wil
...
CMake: Include WIL headers
2021-03-04 12:08:05 +01:00
Léo Lam
6bcef87f82
Merge pull request #9554 from Dentomologist/remove_unused_lambda_capture
...
DolphinQt: Removed unused this capture in lambda
2021-03-03 23:03:08 +01:00
Léo Lam
7712f0831f
Merge pull request #9535 from sepalani/threads-freeze
...
DebugInterface: Check visited addresses in GetThreads
2021-03-02 16:38:02 +01:00
Léo Lam
59f4164411
Merge pull request #9539 from iwubcode/dynamic_input_tex_more_optimizations
...
InputCommon: dynamic input textures more optimizations
2021-03-02 02:53:22 +01:00
Léo Lam
0c9f11af47
Merge pull request #9537 from AdmiralCurtiss/fastmem-error-messages
...
Core/Memmap: Give more detailed error messages if memory mapping fails.
2021-03-02 02:47:12 +01:00
Léo Lam
010279f4e6
Merge pull request #9513 from leoetlino/info-ios-version-qt
...
Qt: Re-add IOS version to the game info tab
2021-03-01 11:44:26 +01:00
Léo Lam
858f00b641
Merge pull request #9492 from nolange/fix_norandr_build
...
Cleanup X11 and XRANDR Macros
2021-03-01 11:36:39 +01:00
Léo Lam
26f0bf8f34
Merge pull request #9538 from JosJuice/qt-sw-gameid
...
DolphinQt: Fix <game_id> tag in SoftwareRendererWidget.cpp
2021-03-01 11:34:53 +01:00
Léo Lam
9d0983c9c9
Merge pull request #9536 from Filoppi/config_fixes
...
Don't call OnConfigChanged() unless config actually changed
2021-02-26 01:56:01 +01:00
Léo Lam
0920097614
Merge pull request #9534 from AdmiralCurtiss/chase-pointer-fix
...
Core/MemoryWatcher: Use appropriate memory read function in ChasePointer().
2021-02-26 01:51:31 +01:00
Léo Lam
1fe0953bd5
Merge pull request #9524 from InusualZ/master
...
Debugger: Fix issue were loaded memory breakpoints were not being triggered (break)
2021-02-21 15:49:24 +01:00
Léo Lam
c040b0151d
Merge pull request #8759 from sepalani/so-connect
...
IOS/NET: Add timeout on blocking connect
2021-02-21 15:26:59 +01:00
Léo Lam
6f71a1ec50
Merge pull request #9526 from leoetlino/units
...
Core: Fix time base unit mixup
2021-02-20 16:10:56 +01:00
Léo Lam
985ede9ca0
Core: Fix time base unit mixup
...
And add a strongly typed integer type so that making this kind of
mistake is more difficult
2021-02-20 14:18:21 +01:00
Léo Lam
93f9d67d2f
Merge pull request #9511 from leoetlino/es-content-timings
...
IOS: Emulate FS timings for ES content IPC commands
2021-02-19 16:08:24 +01:00
Léo Lam
9957d6c106
Merge pull request #9516 from iwubcode/dynamic_input_textures_improved
...
InputCommon: move some dynamic input texture logic and add specification option
2021-02-19 16:06:13 +01:00
Léo Lam
34c9e0dece
Merge pull request #9521 from sepalani/watches
...
Debugger: Fix "Add to watch" not working
2021-02-19 01:30:14 +01:00
Léo Lam
e3bf5fca93
IOS: Deduplicate IPC_OVERHEAD_TICKS timing constant
2021-02-18 21:10:55 +01:00
Léo Lam
f750208aa3
IOS/ES: Emulate FS timings for content wrapper IPC commands
...
Filesystem accesses aren't magically faster when they are done by ES,
so this commit changes our content wrapper IPC commands to take FS
access times and read operations into account.
This should make content read timings a lot more accurate and closer
to console. Note that the accuracy of the timings are limited to the
accuracy of the emulated FS timings, and currently performance
differences between IOS9-IOS28 and newer IOS versions are not emulated.
Part 1 of fixing https://bugs.dolphin-emu.org/issues/11346
(part 2 will involve emulating those differences)
2021-02-18 18:53:33 +01:00
Léo Lam
5eca82a6f2
IOS/ES: Allow various utility functions to return timing info
2021-02-18 18:53:33 +01:00
Léo Lam
f214df5d2c
IOS/FS: Allow IPC interface to be used internally from IOS HLE
...
This makes it more convenient to emulate timings for IPC commands that
perform internal IOS <-> IOS IPC, for example ES relying on FS
for filesystem access.
2021-02-18 18:53:32 +01:00
Léo Lam
1073463d35
IOS/ES: Log content reads for debugging
...
We log FS reads already, might as well log ES content reads.
2021-02-18 18:52:35 +01:00
Léo Lam
41e2fab54c
IOS/ES: Log content ID and index when opening contents for debugging
...
The content ID/index is what actually matters..
2021-02-18 18:52:35 +01:00
Léo Lam
5e79b6acb7
Merge pull request #9515 from leoetlino/fs-timings-redux
...
IOS/FS: Implement timings for older IOS versions as well
2021-02-18 18:50:15 +01:00
Léo Lam
9d94a31eae
Merge pull request #9518 from JosJuice/jitarm64-gcc-ice
...
JitArm64: Workaround for GCC ICE
2021-02-16 13:14:12 +01:00
Léo Lam
d0c91380c7
IOS/FS: Implement timings for older IOS versions as well
...
According to hwtests, older versions of IOS are slower at performing
various filesystem operations:
https://docs.google.com/spreadsheets/d/1OKo9IUuKCrniz4m0kYIaMP_qFtOCmAzHZ_zAmobvBcc/edit
(courtesy of JMC)
A quick glance at IOS9 reveals that older versions of IOS have a
simplistic implementation of memcpy that does not optimize large copies
by copying 16 bytes or 32 bytes per chunk, which makes cached reads
and writes noticeably slower -- the difference was significant enough
that the OoT speedrunning community noticed that IOS9 (the IOS that
is used for the OoT VC title) was slower.
2021-02-15 18:41:22 +01:00
Léo Lam
7097a7b3af
Qt: Re-add IOS version to the game info tab
...
This was accidentally removed during the Qt migration:
https://github.com/dolphin-emu/dolphin/pull/4734
2021-02-15 18:34:09 +01:00