Commit Graph

45520 Commits

Author SHA1 Message Date
Jordan Woyak
3bc6815c8b
Merge pull request #14503 from Simonx22/android/convert-syncprogramsjobservice-to-kotlin
Android: Convert SyncProgramsJobService to Kotlin
2026-04-05 18:37:57 -05:00
Jordan Woyak
50fd4cca56
Merge pull request #14562 from JosJuice/gbplayer-pwm-u32
HW/GBPlayer: Use u32 in SampleToPWM
2026-04-05 18:36:44 -05:00
JMC47
28edd2fbb1
Merge pull request #14563 from jordan-woyak/gbplayer-trigger-bits
HW/GBPlayer: Fix swapped L/R triggers.
2026-04-05 19:28:16 -04:00
Jordan Woyak
798fff86fe HW/GBPlayer: Fix swapped L/R triggers. 2026-04-05 16:45:31 -05:00
JosJuice
b083ce5912 HW/GBPlayer: Use u32 in SampleToPWM
`value` contains 16 bits of data and `remainder` contains 11 bits of
data. When they're added together, we may end up with 17 bits of data,
so the result should be stored as u32 rather than u16.

This fixes `y` being set to 0 (minimum amplitude) when it should be set
to 32 (maximum amplitude).
2026-04-05 22:07:47 +02:00
Jordan Woyak
45358509a5
Merge pull request #14542 from jordan-woyak/gbacore-things
HW/GBACore: Improvements.
2026-04-05 12:28:47 -05:00
Jordan Woyak
cfc1609624
Merge pull request #14557 from jordan-woyak/sdl-version-bump
Externals: Update SDL to release-3.4.4.
2026-04-05 10:24:22 -05:00
Jordan Woyak
0cc5c787cc
Merge pull request #14555 from jordan-woyak/gbplayer-gba-detection
HW/GBPlayer: Fix GBA cart detection in GBI.
2026-04-05 10:19:24 -05:00
Jordan Woyak
63df2584d6
Merge pull request #14552 from JosJuice/gbplayer-pwm
Improve Game Boy Player audio conversion to PWM
2026-04-05 10:19:14 -05:00
JosJuice
ef997d0d82 Improve Game Boy Player audio conversion to PWM
In the PWM audio we output, instead of each group of 512 bits consisting
of a run of ones followed by a run of zeroes, now each group of 32 bits
consists of a run of ones followed by a run of zeroes. This gets rid of
noise that was previously present.

Doing this for every group of 8 bits instead makes the Game Boy Player
Start-Up Disc not start correctly for some reason. Game Boy Interface
works fine, though.

I also made us not discard the bottom 7 bits of each PCM sample.
According to Extrems, a real GBA doesn't actually output that many bits,
but doing it in this way makes the code simpler anyway.
2026-04-05 09:17:28 +02:00
Jordan Woyak
1f0237942d
Merge pull request #14556 from JosJuice/page-table-hole-misaligned-test
PageTableHostMappingTest: Fix copypaste error in misaligned+hole test
2026-04-04 22:25:29 -05:00
Jordan Woyak
92ba0f8f81 Externals: Update SDL to release-3.4.4. 2026-04-04 18:12:04 -05:00
JMC47
1ee93df287
Merge pull request #14550 from Tilka/import_nand
Improve NAND import progress dialog
2026-04-04 18:11:34 -04:00
Tillmann Karras
f06aef4f83 Improve NAND import progress dialog
Now with cancel button and an actual progress bar. For simplicity, we do
two passes on the progress bar, one for loading the NAND into memory and
one for extracting it. The user directory is likely on an SSD, making
the extraction pass invisibly fast.
2026-04-04 22:02:45 +01:00
JosJuice
4f0219d08c PageTableHostMappingTest: Fix copypaste error in misaligned+hole test
Because of this mistake, HoleInMaskMisalignedPageTable was testing the
same thing as MisalignedPageTable, which wasn't the intent.
2026-04-04 22:56:00 +02:00
JosJuice
3fe5df474b PageTableHostMappingTest: Fix alignment for misaligned+hole test
Mistakenly, MISALIGNED_HOLE_MASK_PAGE_TABLE_BASE was aligned and
MISALIGNED_HOLE_MASK_PAGE_TABLE_BASE_ALIGNED was misaligned. It should
be the other way around.

These variables are unused due to a separate mistake which is corrected
in the next commit.
2026-04-04 22:55:23 +02:00
Jordan Woyak
2b6ca92146
Merge pull request #14554 from akechi-haruka/silence-ra-leaderboards
Retroachievements: Hide leaderboard OSD messages if the leaderboard tracker is disabled
2026-04-04 14:32:20 -05:00
Jordan Woyak
415f8c1f8a HW/GBPlayer: Fix GBA cart detection in GBI. 2026-04-04 12:30:11 -05:00
JMC47
c4e99cef61
Merge pull request #14553 from JosJuice/gbi-pi
Core: Raise PI interrupt when accessing unmapped memory
2026-04-04 12:49:10 -04:00
JosJuice
f3adef75ed Core: Raise PI interrupt when accessing unmapped memory
Unmapped on the physical level, not the MMU level.

Fixes booting Game Boy Interface. Previously, Game Boy Interface thought
it was running on a Wii because accessing MEM2 didn't raise a PI
interrupt, and as a result tried to exit to the Homebrew Channel in a
way Dolphin's HLE doesn't recognize. (Dolphin's HLE catches jumps to
0x80001800, but GBI is running without address translation at this point
and therefore jumps to 0x00001800 instead.)
2026-04-04 17:45:17 +02:00
JosJuice
15dee871f3
Merge pull request #14548 from Dentomologist/tasinput_let_stickwidget_and_irwidget_shrink
TASInput: Let StickWidget and IRWidget shrink
2026-04-04 15:28:28 +02:00
Dentomologist
082c606761
Merge pull request #14520 from cristian64/breakpoints_widget_font_fixes
DolphinQt: Size adjustments in **Breakpoints** widget based on selected debug font.
2026-04-03 21:05:35 -07:00
Dentomologist
df37617975 TASInput: Let StickWidget and IRWidget shrink
Use `sizeHint` instead of `setMinimumSize` to increase the default size
of `StickWidget` and `IRWidget`.

0531286906 doubled the initial sizes of
`StickWidget` and `IRWidget`, but using `setMinimumSize` to do so
prevented users from shrinking the widgets manually.

Resolves bugs.dolphin-emu.org/issues/14019.
2026-04-03 11:36:30 -07:00
JMC47
02031e663a
Merge pull request #14544 from jordan-woyak/gba-always-on-thread
HW/GBACore: Make GBAs always run on dedicated threads in preparation for future improvements.
2026-04-03 13:54:58 -04:00
JMC47
798f581c38
Merge pull request #14140 from iwubcode/blurry_bloom
VideoCommon: add a graphics mod feature to modify EFBs with a custom material, enhance bloom
2026-04-03 13:38:04 -04:00
kyoubate-haruka
6c33270e57 Retroachievements: Hide leaderboard OSD messages if the leaderboard tracker is disabled 2026-04-03 14:09:06 +02:00
cristian64
a37404a304 DolphinQt: Size adjustments in **Breakpoints** widget based on selected debug font.
- Debug font is now used in the widget.
- Row height is now determined by the character height of the current
  font.
- A `OnDebugFontChanged()` slot has been connected to properly update
  the widget on debug font changes.

| Before | After |
| --- | --- |
| <img alt="Breakpoints widget (before)" title="Breakpoints widget (before)" src="https://github.com/user-attachments/assets/fdde293a-b1fd-4a1d-85e2-e16bc859eb9e" /> | <img alt="Breakpoints widget (after)" title="Breakpoints widget (after)" src="https://github.com/user-attachments/assets/cf4f1d59-c235-429b-bcb1-cae36065e805" /> |
2026-04-03 11:00:30 +01:00
Dentomologist
d3b89b4c39
Merge pull request #14298 from SuperSamus/achivements-hash-qol
AchievementManager: APPROVED_LIST_HASH quality of life improvements
2026-04-02 23:36:11 -07:00
OatmealDome
5e95d5e7f5
Merge pull request #14492 from OatmealDome/apple-discard-bug-fixed-3
VideoBackends/Vulkan: Drop BUG_BROKEN_DISCARD_WITH_EARLY_Z workaround
2026-04-02 23:55:16 -04:00
Jordan Woyak
26583fd026 HW/GBACore: Remove the GBA "Threads" setting. Make GBAs always run on dedicated threads in preparation for future improvements. 2026-04-02 18:11:29 -05:00
Dentomologist
0531286906
Merge pull request #14428 from StavrosKosmas0/master
DolphinQt: Updated TAS Qt UI elementes
2026-04-02 12:25:27 -07:00
JMC47
4d74a93375
Merge pull request #14541 from JosJuice/jit64-dcbz-dcache
Jit64: Use dcbz slow path with accurate dcache
2026-04-02 14:28:14 -04:00
JMC47
f11d535d3e
Merge pull request #14540 from jordan-woyak/hsp-cleanups
HW:HSP: Change read/write interface to use std::span and other cleanups.
2026-04-02 13:40:16 -04:00
Jordan Woyak
3263a0ebf1 HW/GBACore: Clean up includes and whitespace. 2026-04-02 11:02:17 -05:00
Jordan Woyak
c05cb75d6c HW/GBACore: Use mCoreSync to make runLoop exit sooner than what setting earlyExit does, particularly when not in GBA mode. 2026-04-02 11:02:06 -05:00
Jordan Woyak
38674f5152 HW/GBACore: Flush audio buffer on sample rate change and don't dynamically allocate intermediary buffer. 2026-04-02 10:51:49 -05:00
Jordan Woyak
c19faa8a32
Merge pull request #14534 from Dentomologist/generalpane_rename_updater_variables
GeneralPane: Change BETA to RELEASE in updater variable names
2026-04-02 09:32:34 -05:00
JosJuice
f7b9c1f034 Jit: Move dcbx ENABLE_IF
INSTRUCTION_START is supposed to be before anything else in the
function. The difference only matters if INSTRUCTION_START gets
redefined, though.
2026-04-02 11:14:39 +02:00
JosJuice
904ed4b785 Jit64: Use dcbz slow path with accurate dcache
Jit64::dcbz's fast path bypasses the dcache, so we shouldn't use it if
accurate dcache is turned on. This fixes the graphical corruption that
would occur in Mario Kart Wii's menu FMVs with accurate dcache.

JitArm64 never had this problem, because it implements dcbz in a
different way. It calls EmitBackpatchRoutine, which already has a check
for accurate dcache.
2026-04-02 11:06:28 +02:00
Dentomologist
864ba85a50 GeneralPane: Change BETA to RELEASE in updater variable names
Rename `AUTO_UPDATE_BETA_INDEX` to `AUTO_UPDATE_RELEASE_INDEX` and
`AUTO_UPDATE_BETA_STRING` to `AUTO_UPDATE_RELEASE_STRING`.

Add a comment explaining that `AUTO_UPDATE_RELEASE_STRING = "beta"` for
backward compatibility reasons.
2026-04-01 10:58:12 -07:00
Jordan Woyak
858d50732a
Merge pull request #14539 from jordan-woyak/gb-fixes2
GameSettings: Set SafeTextureCacheColorSamples to 2048 for Game Boy Player.
2026-04-01 12:27:02 -05:00
Jordan Woyak
9410094d9f HW/HSP: Change Read/Write interface to use span<u8, 32> instead of four calls with swapped u64 values. 2026-04-01 12:26:26 -05:00
Jordan Woyak
187fcfa7dc HW/HSP: Ensure an IHSPDevice object always exists to remove null checks as a micro optimization. 2026-04-01 10:53:37 -05:00
Jordan Woyak
207fe1f5de HW/HSP: Make IHSPDevice::GetDeviceType a virtual function to eliminate m_device_type. 2026-04-01 10:53:37 -05:00
Jordan Woyak
237efc6148 GameSettings: Set SafeTextureCacheColorSamples to 2048 for Game Boy Player to more reliably fix partial frame updates. 2026-04-01 10:48:05 -05:00
JMC47
e20f52ce7c
Merge pull request #14536 from JosJuice/gbacore-android-content
Don't call OpenModeToAndroid in GBACore
2026-04-01 11:39:47 -04:00
JMC47
900aa0cb78
Merge pull request #14537 from jordan-woyak/gb-fixes
HW/GBACore: Fix integrated game boy clock speeds and enable colors.
2026-04-01 11:39:08 -04:00
JMC47
9d78302f47
Merge pull request #14538 from JosJuice/gbp-safe-texture-cache
GameSettings: Set medium texture cache accuracy for Game Boy Player
2026-04-01 03:32:31 -04:00
JosJuice
c00808e52b GameSettings: Set medium texture cache accuracy for Game Boy Player
Some games are showing frame flickering, e.g. Pokémon games when only
the text at the bottom of the screen is updating. GB/GBC games are
apparently especially affected, presumably due to the extra border.
2026-04-01 09:03:18 +02:00
Jordan Woyak
6d38ccb9a6 HW/GBACore: Fix integrated game boy clock speeds and enable colors. 2026-04-01 01:48:16 -05:00