Commit Graph

2795 Commits

Author SHA1 Message Date
Stenzek
a6ba2b5e20 BIOS: Prioritize image enumeration
Launch console BIOS is de-prioritized due to bugs.
Late PAL is de-prioritized due to additional regional checks that break import booting without fast boot.
PS2 is de-prioritized due to requiring a dynamic fast boot patch.
PS2 PAL is further de-prioritized due to additonal region checks.
2024-08-13 15:09:13 +10:00
Stenzek
421bd23dc8 Bus: Add stub for SIO2 accesses
But only enable it when using a PS2 BIOS. I could put the check in the
handler registration, but realistically this is basically never going to
be called, so better to keep things simple.
2024-08-13 14:48:18 +10:00
Stenzek
e96320daf0 BIOS: Add Type 2 fastboot patch (PS2) 2024-08-13 14:47:40 +10:00
Stenzek
9e09f53566 Core: Add constexpr MIPS Encoder
From https://raw.githubusercontent.com/grumpycoders/pcsx-redux/main/src/mips/common/util/encoder.hh
2024-08-13 14:46:42 +10:00
Stenzek
71738d12e0 GPU: Clear RT before sending to media capture
Fixes junk in inactive areas on Mac.
2024-08-12 22:17:45 +10:00
Stenzek
5786f3a8c9 System: Fix loading state without media 2024-08-12 21:22:32 +10:00
Stenzek
ee07e9e0f1 Hotkeys: Move Toggle Media Capture to General 2024-08-12 16:29:03 +10:00
Stenzek
c30c4a5d0a GPU: Fix possible race in screenshot 2024-08-12 14:48:21 +10:00
Stenzek
9a58327cf2 GPU: Vectorize VRAM fills 2024-08-12 00:20:53 +10:00
Stenzek
abbb21ffec GPU: Approxiate texture cache reload time for P8/C16 sprites 2024-08-11 23:50:37 +10:00
Stenzek
db4e28f44c GPU: Add cycle penalty for reloading CLUT 2024-08-11 23:50:37 +10:00
Stenzek
00a58eb4e5 Bus: Fix sideloading EXEs without initial SP value 2024-08-11 23:50:37 +10:00
Stenzek
62eb557832 MediaCapture: Warning fix 2024-08-11 23:50:37 +10:00
Stenzek
af47eb6956 System: Add video capture feature 2024-08-11 21:06:58 +10:00
Stenzek
98b1a703f3 GPU/HW: Use texture instead of RTs for rewind/runahead w/o MSAA 2024-08-10 01:24:38 +10:00
Stenzek
55d095174f CDROM: Defer init completion until after seek
Reduces leaky reverb in some games.
2024-08-10 00:13:59 +10:00
Stenzek
d1f0669374 SPU: Ensure all samples are generated prior to DMA write 2024-08-09 12:36:24 +10:00
Stenzek
c97516b01d CDROM: Further improve seek timing
Fixes background music in World Cup 98, background noise in Idol
Promotion - Yumie Island, probably others.
2024-08-09 12:36:24 +10:00
Stenzek
b2ca23e9da GPU: Use full display rect for postfx calculations 2024-08-06 17:38:08 +10:00
Stenzek
4f16cb61b4 GPUDevice: Expose swap chain clear colour 2024-08-06 17:35:27 +10:00
Stenzek
aeb9d383ce System: Add save state compression mode options 2024-08-06 17:02:21 +10:00
Stenzek
70411783cd System: Make more functions static 2024-08-06 16:10:15 +10:00
Stenzek
e6a682f8d5 System: Reduce rewind/runahead memory usage w/o 8MB enabled 2024-08-06 16:02:18 +10:00
Stenzek
0517aef5bd CDROM: Don't allow deferred INT1 after Pause ACK 2024-08-06 13:34:11 +10:00
Stenzek
0c15c9eaa8 Qt: Fix bug where config-based RAIntegration occasionally failed 2024-08-04 21:03:42 +10:00
Stenzek
c3bf267936 System: Remove redundant remap 2024-08-04 21:03:39 +10:00
Stenzek
02fbfae6a0 System: Add advanced 'Export Shared Memory' option
Memory map is exported as duckstation_<pid>. Previously, this only
worked on Windows, now it is extended to Linux as well.
2024-08-04 20:28:07 +10:00
Stenzek
c538df317a GameDatabase: Add crop mode override 2024-08-04 18:59:21 +10:00
Stenzek
6c0a0e6203 GPU: Fix incorrect lightgun line with force progressive 2024-08-04 17:54:19 +10:00
Stenzek
ec5d8cb1d6 Achievements: Use badge IDs from server
Fixes icons not invalidating if they're changed/reassigned in the RA
database.
2024-08-04 17:00:08 +10:00
Stenzek
f9079b0151 CDROM: Display XA coding info in debug window 2024-08-04 16:30:04 +10:00
Stenzek
ee538ae0ea CDROM: Improve resampling quality of 18900hz XA 2024-08-04 16:21:35 +10:00
Stenzek
a2f98541b3 Misc: Slim down some header includes 2024-08-04 14:49:55 +10:00
Stenzek
143acca03b Core: Purge resources.cpp
Save around 64KB in binary size.
2024-08-04 14:13:15 +10:00
Stenzek
1b9b4699d9 Qt: Fix render-window-resize with 270deg rotation 2024-08-03 01:19:22 +10:00
Stenzek
9a626caad9 Qt: Reduce game list jank after shutting down VM
Prevents progress bar briefly appearing, and the list scrolling to the
top when you exit a game.
2024-08-03 00:50:04 +10:00
Stenzek
3a83c4265c Misc: Fix a bunch of code analysis warnings
Some of which were even actual errors.
2024-08-02 23:56:07 +10:00
Stenzek
33f6cc246e System: Use default compression level
I'd intended to make this an option.
2024-07-29 22:06:21 +10:00
Stenzek
e0911d7f54 GPU/HW: Fix spec violation with Vulkan fbfetch 2024-07-29 17:27:33 +10:00
Stenzek
6ce9e571ed Misc: Purge remaining ByteStream references 2024-07-29 17:27:32 +10:00
Stenzek
a6518ff9dc System: Rewrite save state I/O
No more ByteStream or virtual calls for every piece of data.
2024-07-29 17:27:32 +10:00
Stenzek
dd8bf2c9d9 MemoryCard: Purge use of ByteStream 2024-07-29 17:27:32 +10:00
Stenzek
b5009da2bc GameList: Purge use of ByteStream 2024-07-29 17:27:32 +10:00
Stenzek
7aaaf7c575 GameDatabase: Purge use of ByteStream 2024-07-29 17:27:32 +10:00
Stenzek
ab7a3e1934 BinaryReaderWriter: Add class for files as well as spans 2024-07-29 17:27:32 +10:00
Stenzek
6fe0c986fa System: Rewrite EXE override/loading
Relies on POST=7 as a kernel initialization indicator, instead of
patching the BIOS.

Fixes EXE loading with OpenBIOS and PS2 BIOS, and fast boot getting
baked into save states.
2024-07-28 19:05:56 +10:00
Stenzek
7b99fcbbf3 GPU: Fix edge bleeding with Bilinear Integer scaling 2024-07-28 14:08:28 +10:00
Stenzek
a3acb0c5db GPU/HW: Always allow shader blend with fbfetch 2024-07-27 19:52:08 +10:00
Stenzek
c2d24f436c CDROM: Re-enable error-on-seeking-pause behaviour
See the comments in the diff. This **will** cause lag in Final Fantasy
VII during preload areas, but that has also been confirmed on console.

Duke Nukem - Total Meltdown does this silly Read -> Pause command chain,
except it sets its data/INT1 callback on the read, but never clears it
after the pause. Therefore, if it doesn't receive at least one sector,
the callback never gets cleared, and when the next read happens, it
stores the "current" callback in the "backup" variable, which should be
null, but now has the callback from the dud read.

The result is any INT1 during XA playback running the dud callback,
which says "hey, I'm not expecting any data, so pause, and stops the
background music playback. Making sure at least one sector from that
silly chain is delivered ensures the callback is cleared, and this does
not happen.

Since the pause first mentioned above will now error out until the first
sector is delievered, the game spams pause until it eventually does
succeed after the INT1. This behaviour has also been verified on
hardware, thanks to rama for the xStation logs.
2024-07-27 14:24:23 +10:00
Stenzek
440e08cf3e Qt: Fix crash opening game compatibility report 2024-07-27 01:31:22 +10:00