Stenzek
e4a358cacb
Controller: Add Pop'n and Densha De Go Controllers
...
Variants of digital controller with different buttons grounded.
2024-10-19 16:23:01 +10:00
Stenzek
49134efe4e
Settings: Fix PGXP suboptions getting disabled
...
Regression from 005d48a387b24b2e65056b96cf8fabce19662911
2024-10-19 13:01:05 +10:00
Stenzek
76208f5f2d
System: Display localized trait names
2024-10-19 01:16:05 +10:00
Stenzek
57cf0f2643
System: Reload cheats/patches on safe mode toggle
2024-10-19 01:13:32 +10:00
Stenzek
baa9065d2e
System: Add taints to save states
...
This informs the user they are loading a save state that at some point
had potentially-game-breaking options enabled, and a reset is necessary
to clear them.
2024-10-19 01:13:32 +10:00
Stenzek
50d8bb091f
MemoryCard: Add RenameFile() and localize errors
2024-10-19 00:03:07 +10:00
Stenzek
86a28d5dc0
ImGuiOverlays: Move debug state to auxiliary windows
2024-10-18 20:48:30 +10:00
Stenzek
eb46142ee7
GPUDevice: Extract swap chain to separate class
2024-10-18 20:48:29 +10:00
Stenzek
005d48a387
System: Don't display setting warnings without game
2024-10-18 20:48:29 +10:00
Stenzek
e2cb54d233
Settings: Use uint getter/setter for more fields
2024-10-18 20:48:29 +10:00
Stenzek
d4f3e004cf
Host: Add missing SetBaseUIntSettingValue()
2024-10-18 20:48:29 +10:00
Stenzek
219e890da5
GPU/HW: Write through VRAM transfers
...
Reduces the chances of rendering nothing after device loss.
2024-10-14 18:20:48 +10:00
Stenzek
11c212260c
System: Only check controller changes when valid
2024-10-14 12:46:54 +10:00
Stenzek
4a57ccc3e8
Cheats: Strip leading * when importing old files
2024-10-14 12:44:23 +10:00
Stenzek
b3ae9cbe4a
Qt: Swap compatibility star image to SVG
...
Images originally provided by KamFretoZ, adjusted to better fit the
column width.
2024-10-13 17:08:56 +10:00
Stenzek
e0b6f6f1b2
Cheats: Rewrite cheat management system
2024-10-13 16:43:22 +10:00
Stenzek
d8fef6f22e
GameDatabase: Store strings as views
...
Saves duplicating everything in memory, and a ton of heap allocations.
2024-10-13 16:43:22 +10:00
Stenzek
6e26ba3e9e
Qt: Display language flags instead of region
2024-10-12 16:49:07 +10:00
Stenzek
ba0708a4ff
GameDatabase: Add parsing of Language field
...
Also speed up lookups through binary search.
2024-10-12 16:23:47 +10:00
Stenzek
83a1386d0b
FullscreenUI: Collapse macro button settings by default
2024-10-11 21:40:35 +10:00
Stenzek
407dccb1db
Qt: Move GDB server enable to advanced options
...
And expose the port as a setting.
2024-10-11 21:26:06 +10:00
Stenzek
26b6c704f0
MemMap: Support dynamic page size selection
...
i.e. 4K to 16K on ARM64.
2024-10-05 19:25:23 +10:00
Stenzek
0c2ab82252
System: Fix no-disc startup in later versions
2024-10-11 16:54:46 +10:00
Stenzek
32e96b02ca
FullscreenUI: Various fixes
...
- Fix mismatched X/Y in landing page.
- Fix mismatched X/Y submenus.
- Fix window padding on save state submenu.
- Fix pressing back/close on save state submenu closing list.
2024-10-07 12:51:27 +10:00
Stenzek
3fb5fb4c72
System: Fix saving of subimage index
2024-10-06 18:06:51 +10:00
Stenzek
c9f7ef5f9a
System: Fix reset when booting EXE
2024-10-06 13:36:46 +10:00
Stenzek
80971dac5a
AnalogController: Allow negative vibration bias
2024-10-05 16:07:33 +10:00
Stenzek
08bdffac64
GPU/HW: Fix toggling texture replacement settings
2024-10-05 13:50:36 +10:00
Stenzek
71bb953253
GPU/HW: Handle redundant texture window updates
...
Significantly reduces draw count in THPS2.
~150 draw calls per frame to ~70.
2024-10-05 13:06:45 +10:00
Stenzek
52389f48a6
GPU/HW: Fix force-round-coords with texture cache
2024-10-05 13:06:43 +10:00
Stenzek
2f331540b1
BIOS: Fix OpenBIOS initializer
2024-10-05 12:18:46 +10:00
Stenzek
a83b642a2d
Settings: Disable texture cache in safe mode
2024-10-04 14:49:42 +10:00
Stenzek
c740fd9e11
GPU/TextureCache: Disable bilinear page upscaling by default
...
And fix it.
2024-10-04 14:48:10 +10:00
Stenzek
887d588029
System: Further improve fastboot behaviour
...
Use fastboot when slowboot will fail.
2024-10-04 14:48:05 +10:00
Stenzek
4d5e0b6c54
Settings: Don't create dumps/audio in userdir
...
Was replaced by media capture.
2024-10-01 23:06:34 +10:00
Stenzek
7e72b9fb7b
GPU/TextureCache: Fix palette reduction in C4 mode
...
It was only looking at the first row...
2024-10-01 23:01:19 +10:00
Stenzek
51fefb36a0
System: Fix crash when toggling SW with interpreter
2024-10-01 22:41:01 +10:00
Stenzek
0730a361a3
GPU/HW: Fix batch shader compiling with GLSL ES
2024-10-01 21:14:58 +10:00
Stenzek
45c8f6ea56
BIOS: Make GetInfoForHash() public
...
And it should take a const span.
2024-10-01 21:14:43 +10:00
Stenzek
07f410bc6a
Achievements: Mirror whacky rcheevos header handling
2024-09-29 20:38:46 +10:00
Stenzek
6dc4fa5c75
CDROM: Physical => SubQ in variables
...
Better describes what it actually is.
2024-09-29 18:01:44 +10:00
Stenzek
060146a37a
CDROM: Add SubQ Skew option
...
Fixes corrupted boss sprites in Captain Commando.
One day I'll refactor things to fix this properly.
2024-09-29 17:11:52 +10:00
Stenzek
3081c4f5cd
Qt: Fix disabling of some texture dumping options
2024-09-29 16:19:20 +10:00
Stenzek
73fd97e770
GPUTextureCache: Fix reload replacements hotkey/menu action
2024-09-29 16:13:31 +10:00
Stenzek
d32143b319
ImGuiOverlays: Make escape close save state selector
2024-09-29 15:29:40 +10:00
Stenzek
e06f1f1002
GPU: Add hardware texture cache
2024-09-29 13:37:47 +10:00
Stenzek
4132b5ef3d
Settings: Remove 'Increase Timer Resolution' option
...
It's no longer needed since I switched to high-resolution waitable
timers, which are supported on Win10 1803+.
2024-09-28 23:50:44 +10:00
Stenzek
7d8ae9aa11
Packaging: Add SPEC and PKGBUILD
2024-09-28 22:07:14 +10:00
Stenzek
ca6b99401b
Common: Build fix when compiling with AVX2 march
2024-09-28 19:43:23 +10:00
Stenzek
036e11f7a8
Qt: Remove unused variable
2024-09-27 22:48:43 +10:00
Stenzek
615781be39
GPUBackend: Don't rely on g_settings
2024-09-27 20:59:04 +10:00
Stenzek
4e880280bd
Qt: Fix inconsistent multitap addressing
...
And remove multiple copies of the same variables while we're at it.
2024-09-27 20:59:04 +10:00
Stenzek
5995471de6
FullscreenUI: Disable rewind options unless enabled
2024-09-26 21:54:51 +10:00
Stenzek
df8e950e6e
Qt: Rename 'Disable All Enhancements' to 'Safe Mode'
...
And move it to the bottom of the dialog.
2024-09-26 21:54:51 +10:00
Stenzek
29da7f7211
System: Add 'Fast Forward Boot' option
2024-09-26 21:40:48 +10:00
Stenzek
b36e2ce6be
CPU/CodeCache: Don't create a branch block with no delay slot
...
Can't compile that.
2024-09-26 20:55:13 +10:00
Stenzek
c46ec398dc
GPU: Move software fill/write/copy into rasterizer namespace
2024-09-26 18:30:46 +10:00
Stenzek
495a0da8d4
Pad: Pack state in struct
2024-09-26 17:54:46 +10:00
Stenzek
58dc24cb0d
CDROM: Pack state in struct
...
Ensures locality, as with other subsystems.
2024-09-26 17:49:35 +10:00
Stenzek
a26c3e5620
System: Add new 'Type 1B' fast boot
...
This saves approximately 2 seconds of boot time, as it no longer copies
the shell from ROM to RAM. The actual byte reads only take in the order
of 75ms, but because the BIOS executes the memcpy() out of uncached ROM,
the repeated instruction fetches take it up to almost 2 seconds...
It would be faster to read it from the CD-ROM...
2024-09-26 16:28:47 +10:00
Stenzek
0e4ca9cd93
CDROM: Fix CDDA playback in some obscure edge cases
...
e.g. Roswell Conspiracies
2024-09-26 14:05:34 +10:00
Stenzek
4d74b203af
System: Don't try to read SYSTEM.CNF from Audio CD
2024-09-26 13:39:01 +10:00
Stenzek
991927151c
ImGuiOverlays: Fix scrolling offscreen with no-serial
2024-09-26 13:38:57 +10:00
Stenzek
fd8f97f4d3
GPU/HW: Fix adaptive downsampling
...
Also rewrite shaders to improve blurring around edges of 3D objects
(e.g. FF7).
As a trade-off, the background does blur slightly less, but (imo)
it looks better overall, since you'll notice the foreground being
blurred much more than the background.
2024-09-26 13:25:53 +10:00
Stenzek
114effd9a1
CDROM: Simulate backwards 1T jump on short seeks
...
Fixes hangs in LMA Manager, Nightmare Creatures PAL with Interpreter.
2024-09-25 01:37:07 +10:00
Stenzek
3808217298
SPU: Handle ignore loop address with IRQs on
...
This was actually the issue with World Cup 98, not anything to do with
disc timing. Which makes more sense.
Game has IRQs enabled, but because it wasn't keyed on, the condition
never held true, therefore the new repeat address was immediately
overwritten.
2024-09-25 01:37:07 +10:00
Stenzek
bfc914aaa9
CMake: Add DISABLE_SSE4 option
...
NOT recommended. Only if you ABSOLUTELY need it.
The SSE2/legacy build will be a separate download option, and
warn you if you try to run it on a CPU that supports SSE4.
2024-09-23 20:27:58 +10:00
Stenzek
d67b826033
CI/Flatpak: Improve install behaviour
...
Use "standard" install path.
2024-09-23 19:21:14 +10:00
Stenzek
bb3d27f153
GPU/SW: Drop dithering function specialization
...
Reduces the code size by roughly half, which may be beneficial on
icache-starved processors.
Also fixes too-bright values being fed into the blending equation.
2024-09-23 01:01:07 +10:00
Stenzek
23ec40d032
Settings: Set log level to none if no sinks enabled
2024-09-23 00:26:48 +10:00
Stenzek
c439de6364
Common: SSE2 backsupport for vector classes
...
shuffle8() sucks, the rest aren't _too_ bad.
2024-09-22 21:06:05 +10:00
Stenzek
e1c876671a
Misc: More iNN => sNN
2024-09-22 21:06:05 +10:00
Stenzek
986e207cff
GPU/HW: Make batch shaders independent on resolution
...
Almost a 6x reduction in *compressed* shader cache size.
2024-09-22 21:06:05 +10:00
Stenzek
f9941c3f68
GPU/HW: Reduce shader dependence on global constants
...
Step 1 of making resolution-independent shaders.
2024-09-22 21:06:05 +10:00
Stenzek
f169b892c1
GPU: Defer frame done if not running events
...
Prevents interruption/execution exiting if the frame was ticked over
by a MMIO access, e.g. reading GPUSTAT.
2024-09-22 21:06:05 +10:00
PugsyMAME
88bc3a2278
Fixed typo in F4 Cheat Type code ( #3300 )
...
Typo in my code, this fix will make it work properly on multiple find & replaces.
2024-09-22 21:05:44 +10:00
Stenzek
3dca598063
Log: Switch to enum class
...
Need to change the channel to a bitset too.. the string lookups are
horribly slow, and conflict when one is a prefix of another.
2024-09-21 22:26:06 +10:00
Stenzek
88381209b3
System: Fix crash when disabling runahead
2024-09-21 22:26:06 +10:00
Stenzek
1754ecf4f9
SPU: Get rid of second output stream
2024-09-21 22:26:05 +10:00
Stenzek
df17528b18
Qt: Move threaded rendering toggle to Debug tab
...
Frees up some space.
2024-09-21 22:26:05 +10:00
Stenzek
54e5d93165
GPU/SW: Enable SIMD path and make default
2024-09-21 22:26:05 +10:00
Stenzek
19698559c3
System: Drop IPC server
...
The one group using it switched to shared memory exports anyway.
2024-09-21 22:26:05 +10:00
Stenzek
ac8461a28b
System: Fix bogus SW thread CPU in OSD
2024-09-21 22:26:05 +10:00
Stenzek
e617f17294
System: Set GPU timing enable on init/destroy
...
It's really unrelated to the guest GPU.
2024-09-21 22:26:05 +10:00
Stenzek
e7aa0495ab
System: Not all setting changes need to interrupt
2024-09-21 22:26:05 +10:00
Stenzek
40670726b4
GPU/SW: Fix SSE4 path and add 256-bit AVX2 path
2024-09-21 22:26:05 +10:00
Stenzek
a7747c5be3
Common: Add 256-bit integer vector wrapper
2024-09-21 22:26:05 +10:00
Stenzek
5f80cb1188
GPU/HW: Fix inaccurate shader progress counter
2024-09-21 22:26:05 +10:00
Stenzek
b5df06a54a
GPU/HW: Rewrite automatic internal resolution selection
...
Make it aspect ratio aware, as well as updating when/if the game changes
resolution. Also include the padding area in the OSD/status resolution.
2024-09-21 22:26:05 +10:00
Stenzek
e056bcb5ff
AudioStream: Fix incorrect padding
2024-09-21 22:26:05 +10:00
Stenzek
0538b95d9b
GPU/HW: Reduce number of shaders/pipelines in default config
...
~3x speedup in shader compile time on a cold cache.
2024-09-19 22:18:58 +10:00
Stenzek
292c1e0f06
Misc: Normalize OSD message keys
2024-09-18 22:35:50 +10:00
Stenzek
401295ebdb
Common: Allow PRINTFLIKE to work on Clang
...
And thus clang-cl.
2024-09-18 21:31:06 +10:00
Stenzek
8ba85d62dc
Pad: Fix stuck inputs after loading mismatched state pad type
2024-09-18 21:21:57 +10:00
Stenzek
8b67ed8536
CPU: Display loadstore offsets in hex
...
Also add 0x prefix to logical immediate operands, since it is printed
in hex, and normalize arithmetic operands.
2024-09-15 17:29:33 +10:00
Stenzek
8fa406061a
CPU: Add SetBreakpointEnabled()
2024-09-15 17:15:38 +10:00
PugsyMAME
b5768266bb
Quality of Life changes to breakpoints ( #3297 )
...
1. Made it so that breakpoints are checked for a match on 28 bits rather than the full 32 bits. It's much simpler to use 12345 rather than 80012345 and risk getting the number of zeros wrong and also handles the mirror code/memory accesses using 00??????, 80?????? & A0??????.
2. Added bp.hit_count update to execution breakpoints.
3. Changed the Hit breakpoint message at the bottom of the debugger screen to include the hit count [see notes later].
4. Added bp.enabled check to the execution breakpoint (it uses it in the r/w breakpoints code already) [see notes later].
Notes:
3. I've added the hit count to the message as it's quicker to spot but it's also a partial workaround as the Hit Count in the Breakpoints tab doesn't seem to get refreshed.
4. I thought the checkbox in the Breakpoints tab would set the bp.enabled but it seems it has no affect on any type of breakpoint. The only way to stop a breakpoint is to delete it.
2024-09-15 07:17:08 +01:00
Stenzek
e03deb4928
System: Set realtime constraints on MacOS
...
Significantly improves frame timing/pacing, now it is a
flat line on my 2023 MBP like other platforms.
2024-09-13 20:23:57 +10:00
Stenzek
6f31e562a0
MetalDevice: Implement timed present
2024-09-13 15:19:29 +10:00
Stenzek
f2720b98dd
System: Reduce force-displayed-warning scope
...
Please don't make me regret this.
2024-09-10 23:53:39 +10:00