Connor McLaughlin
3c012ec6ef
SPU: Consider partial ticks when generating pending samples
...
Fixes hitches in opening FMV in Soul Blade (Europe).
2021-01-20 12:05:06 +10:00
Connor McLaughlin
a927bfbe50
GPU/HW: Flush after each primitive for B-F transparency
...
Slow, but necessary for some games such as Suikoden II, where it draws
multiple polygons to the same area on screen with different transparency
modes.
2021-01-20 01:08:36 +10:00
Connor McLaughlin
d4f52f1ec7
GTE: Force inline a few of the helper functions
...
Tiny performance improvement.
2021-01-19 00:07:26 +10:00
Connor McLaughlin
914b9bf738
SPU: Drain transfer FIFO when cancelling transfer
...
The busy bit got stuck on otherwise, which broke the Spanish translation
of Vagrant Story.
2021-01-18 20:43:10 +10:00
Connor McLaughlin
699d599d00
GPU: Clear display when disabling DAC and interlaced
...
Fixes old output showing up briefly when it's re-enabled.
2021-01-18 03:28:14 +10:00
Connor McLaughlin
29690c4635
GPU/SW: Fix interlaced output getting corrupted when size changes
...
Fixes glitches in screen when tilting table in Pro Pinball.
2021-01-17 02:45:13 +10:00
Connor McLaughlin
e81df6bddd
Settings: Disable host refresh rate sync by default
2021-01-16 02:56:04 +10:00
Connor McLaughlin
02948f988d
CDROM: Return 0x00 on response FIFO overread
...
Fixes CyberSled hanging on boot.
2021-01-14 01:51:01 +10:00
Connor McLaughlin
ffa3744b3b
Settings: Add 20:9 display aspect ratio
2021-01-14 00:45:46 +10:00
Connor McLaughlin
d44de3a9dc
System: Use SetWaitableTimer() for throttling on Windows
2021-01-14 00:40:25 +10:00
Connor McLaughlin
93959a9d88
CPU: Fix crash with some block cycle counts on ARM
...
Fixes crash in Capcom vs SNK Pro.
2021-01-13 20:19:24 +10:00
Connor McLaughlin
2b5cfb272c
Qt: Add dump VRAM and SPU RAM actions
2021-01-13 19:24:41 +10:00
Connor McLaughlin
b5ffbfe826
Qt: Fix audio sliders not applying correctly
2021-01-13 02:37:04 +10:00
Connor McLaughlin
a0a24c7752
GPU/Vulkan: Only update sample texture when render area dirty
...
Fixes crash when using Show VRAM in some games with Vulkan.
2021-01-12 02:19:23 +10:00
Connor McLaughlin
13cba122ef
HostDisplay: Move Windows fallback for refresh rate query to HostInterface
2021-01-11 15:24:38 +10:00
Connor McLaughlin
fd166a4485
ShaderCache: Add a data version field
...
We can increment this to prevent people's shader caches from growing too
large with shader changes.
2021-01-11 15:24:38 +10:00
Connor McLaughlin
97971464d1
GPU/ShaderGen: Remove texcoord offset
...
Doesn't seem to be needed anymore, and causes issues in some games (e.g.
flickering polygons in Evil Dead)
2021-01-11 15:12:16 +10:00
Connor McLaughlin
43d01776dc
HostInterface: Add "Sync To Host Refresh Rate" option
2021-01-11 03:50:44 +10:00
Connor McLaughlin
bb572741ae
HostDisplay: Add GetHostRefreshRate() function
...
Only implemented in Windows for now.
2021-01-11 03:50:13 +10:00
Connor McLaughlin
ce965e89ca
Qt/Android: Add help text for resampling, turn on by default
2021-01-11 02:27:14 +10:00
Connor McLaughlin
54f5563321
Qt: Add turbo speed setting
2021-01-11 01:57:10 +10:00
Connor McLaughlin
a5f9aa11e1
Settings: Add audio resampling when running at non-standard speed
2021-01-11 01:14:32 +10:00
Connor McLaughlin
54c7fc6b08
AudioStream: Support resampling input
2021-01-11 01:14:32 +10:00
Connor McLaughlin
19032750b4
CDROM: Don't treat no-region discs as audio CDs
...
Fixes some homebrew games not booting.
2021-01-11 01:05:21 +10:00
Connor McLaughlin
11992bde4e
TimingEvents: Use function pointers instead of std::function
2021-01-10 01:45:07 +10:00
Connor McLaughlin
15652b4c1f
SPU: Fix a few cases where SPU interrupts weren't firing
2021-01-10 01:39:21 +10:00
Connor McLaughlin
df98a0b04e
CPU/Recompiler: Fix incorrect speculative byte/halfword reads
...
Fixes crash on boot in Monkey Magic.
2021-01-10 01:38:35 +10:00
Albert Liu
5ff3299384
Controller: Add method for reading analog input bytes
2021-01-07 15:04:23 -08:00
Connor McLaughlin
419726f4cc
Remove libretro core - core will now be maintained by libretro
...
libretro have agreed to take over maintenance of the core.
Please see their fork at https://github.com/libretro/duckstation if you
wish to continue to use it.
2021-01-08 01:37:59 +10:00
Connor McLaughlin
24c373245e
MemoryCard: Make formatting OSD message translatable
2021-01-07 12:15:57 +10:00
Connor McLaughlin
f832dca975
Bus: Don't force inline EXP1/EXP2 access
2021-01-06 01:02:30 +10:00
Connor McLaughlin
f3cdfe97a7
Bus/EXP2: Support openbios putc address
2021-01-06 00:56:35 +10:00
Connor McLaughlin
845cd37835
DMA: Determine slice size based on whether pad is transmitting
...
Plenty of games seem to suffer from this issue where they have
a linked list DMA going while polling the controller. Using a
too-large slice size will result in the serial timing being off,
and the game thinking the controller is disconnected. So we
don't hurt performance too much for the general case, we reduce
this to equal CPU and DMA time when the controller is
transferring, but otherwise leave it at the higher size.
2021-01-06 00:15:42 +10:00
Connor McLaughlin
98a4e59f52
Qt: Fix some strings not being translatable
2021-01-06 00:15:42 +10:00
Connor McLaughlin
a6e1b3c4ad
Merge pull request #1389 from ggrtk/ps3-bios-size
...
BIOS: Add check for older BIOS from PS3
2021-01-05 17:59:57 +10:00
Connor McLaughlin
cdefcf7359
HostInterface: Log when all enhancements are disabled by config
2021-01-05 17:58:55 +10:00
Albert Liu
79012d5288
BIOS: Add check for older BIOS from PS3
...
Same revision number as newer PS3, but different file size and 512KB
hash.
2021-01-04 23:54:42 -08:00
Connor McLaughlin
8f5c20bdf5
BIOS: Improve robustness of BIOS searching
...
Always prefer a known BIOS image over an unknown image. Hopefully this
will stop people getting crashes on startup due to other files in the
BIOS directory confusing it.
2021-01-05 12:22:18 +10:00
Connor McLaughlin
5cd261a5b2
BIOS: Only match PS1 and PS2 BIOS images exactly
2021-01-05 12:22:13 +10:00
Connor McLaughlin
73f6521452
SPU: Check voice addresses on IRQ re-enable
...
NASCAR 2001 music depends on the IRQ firing multiple times, when the
voice address is still set to the IRQ address.
2021-01-05 00:46:41 +10:00
Connor McLaughlin
e3262fc0a4
CPU: Compile fix for debug builds
2021-01-05 00:46:41 +10:00
Connor McLaughlin
35fdae0d95
Merge pull request #1372 from ggrtk/analog-controller-refactor
...
AnalogController: Refactor data transfer implementation
2021-01-05 00:45:37 +10:00
Connor McLaughlin
affffca3da
GPU/HW: Set max resolution scale to 32
...
The UI is intentionally left at 16x. Going too high **will** make you
run out VRAM and your system will start acting strangely. But for those
people who really want to do it, you can go 32x in Vulkan with the SDL
frontend, or by setting it in the ini.
2021-01-04 03:11:14 +10:00
Connor McLaughlin
9ff8130e40
fixup! CPU: Make trace-to-file toggleable at runtime and in release builds
2021-01-04 03:11:14 +10:00
Connor McLaughlin
bf1d51b5d8
CPU: Make trace-to-file toggleable at runtime and in release builds
2021-01-04 03:11:14 +10:00
Albert Liu
04884257d6
AnalogController: Refactor data transfer implementation
2021-01-03 09:09:49 -08:00
Connor McLaughlin
0de34d7bf7
DMA: Increase precision for large transfers
...
Also gets rid of the delay on the GPU side for writing to VRAM (doesn't
make sense), and it's not needed since we slice the block transfers now.
Fixes palette corruption in Vigilante 8, and missing rider in
Championship Motocross 2001 featuring Ricky Carmichael.
2021-01-03 16:11:42 +10:00
Connor McLaughlin
c9ef3ec1a3
DMA: Clear state on shutdown
...
Fix a rare crash where the GPU starting after a second boot accesses
uninitalized DMA fields.
2021-01-03 14:48:02 +10:00
Connor McLaughlin
2ec26e54b7
GPU/HW: Disable downsampling when using 24-bit display
...
It's dropped to 1x first anyway.
2021-01-03 12:18:21 +10:00
Connor McLaughlin
40257e5b20
GPU/HW: Don't set m_pgxp_depth_buffer when PGXP is disabled
...
Fixes text corruption in Castlevania when PGXP is disabled and depth
buffer is enabled.
2021-01-01 17:49:20 +10:00
Connor McLaughlin
c9240eea72
CPU/Recompiler: Use PGXP interpreter for fallback
...
Fixes holes in geometry with PGXP enabled in Threads of Fate.
2021-01-01 17:16:55 +10:00
Connor McLaughlin
4e87b30b40
System: Skip throttler phase reset when running at <100%
2021-01-01 14:08:09 +10:00
Connor McLaughlin
04a187afb2
CDROM: Fix read error/unlicensed flag getting set on all discs
...
Regression from 75aa52ab06
.
2021-01-01 03:00:16 +10:00
Connor McLaughlin
75aa52ab06
CDROM: Fail reads immediately for audio/unlicensed CDs
...
Fixes first track being unavailable on audio CDs in Vib-Ribbon.
2021-01-01 01:38:14 +10:00
Connor McLaughlin
9294bf6be3
CDROM: Keep target location even after failed seeks
2021-01-01 01:37:51 +10:00
Connor McLaughlin
187de65f50
CDROM: Reset disc position to start after switching discs
2021-01-01 00:01:13 +10:00
Connor McLaughlin
5690aef057
CDROM: Send seek error when read+seeking to audio sector
...
Fixes hang in Vib-Ribbon when using an audio CD.
2020-12-31 03:19:51 +10:00
Connor McLaughlin
f911e90e17
CDROM: Hopefully fix crash in debug window when reading lead-out
2020-12-31 02:10:49 +10:00
Connor McLaughlin
02377b1a92
CPU/CodeCache: Fix possible crash on invalidate->recompile->overflow
2020-12-31 02:10:49 +10:00
Connor McLaughlin
3cb2cd8235
GPU: Add adaptive and box downsampling modes
2020-12-30 17:41:39 +10:00
Connor McLaughlin
59e8363075
D3D11: Support mipmaps in wrapper textures
2020-12-30 17:39:40 +10:00
Connor McLaughlin
68ce959d70
Settings: Add option to temporarily disable all enhancements
2020-12-30 17:39:29 +10:00
Connor McLaughlin
40f241dde3
PlaystationMouse: Fix incorrect translation context for help
2020-12-30 17:03:59 +10:00
PugsyMAME
3284a18ad3
Add new Cheat Type F4, Find & Replace Bytes ( #1345 )
...
* Add new Cheat Type F4, Find & Replace Bytes
Also knows as 'AOB' apparently. Information about how it works will be in the next chtdb.txt header or you can read/ask about it on the discord channel.
* Add new Cheat Type F4, Find & Replace Bytes
Also knows as 'AOB' apparently. Information about how it works will be in the next chtdb.txt header or you can read/ask about it on the discord channel.
* Added error trapping for cheat type F4
As suggested
2020-12-30 00:55:49 +10:00
Connor McLaughlin
a894b295b6
CPU/CodeCache: Fix assertion failure when patching in double branch
2020-12-29 22:49:52 +10:00
Albert Liu
11fbf26045
HostDisplay: Use floats internally for draw rectangle calculation
2020-12-29 01:33:41 -08:00
Albert Liu
e0f3a4f17b
HostDisplay: Calculate draw rectangle in terms of horizontal scale
2020-12-29 01:33:40 -08:00
Albert Liu
b824844043
HostDisplay: Fix framebuffer screenshot scaling
2020-12-29 01:33:40 -08:00
Albert Liu
d9096ca12d
BIOS: Prevent patching incompatible BIOSes
2020-12-27 16:14:28 -08:00
Albert Liu
0e2276fc7a
BIOS: Add support for loading PS2 BIOSes
2020-12-27 15:32:41 -08:00
Albert Liu
4db29f9399
HostInterface: Check all console regions when looking for any BIOS
2020-12-27 15:32:41 -08:00
Connor McLaughlin
f9ac25f2b8
CDROM: Actually fix playing tracks 10+
2020-12-28 01:40:38 +10:00
Connor McLaughlin
c04d6f9ef8
CDROM: Play command track should be BCD
...
Fixes tracks >= 10 in BIOS CD player, maybe games?
2020-12-28 01:17:41 +10:00
Connor McLaughlin
8bb5ff47eb
PlaystationMouse: Add option to use relative mode
2020-12-28 00:37:04 +10:00
Connor McLaughlin
ca42d027ac
Qt: Implement relative mouse mode
2020-12-28 00:37:04 +10:00
Albert Liu
2a1bf9925a
Qt: Make Auto (Game Native) aspect ratio string translatable
2020-12-27 00:57:55 -08:00
Connor McLaughlin
cbcbb675d6
System: Fix pause on start
2020-12-27 00:54:53 +10:00
Connor McLaughlin
3cd3d1c09d
Qt: Fix opening debugger when system already paused
2020-12-27 00:54:53 +10:00
Connor McLaughlin
702ed21207
HostDisplay: Add threaded presentation for Vulkan renderer
...
Can add a significant speedup for fast forward. Automatically disabled
when vsync is enabled.
2020-12-27 00:54:53 +10:00
Connor McLaughlin
68dc052432
Bus: Don't leak shared memory when starting->stopping->starting
2020-12-27 00:50:08 +10:00
Connor McLaughlin
e71f6aa80a
GPU/HW: Improve round-trip accuracy of RGBA5551->RGBA8
...
Fixes smudging in some games with true colour rendering enabled.
2020-12-27 00:50:08 +10:00
Connor McLaughlin
84181e2a1d
CheatS: Support importing/parsing EPSXe cheat files
2020-12-27 00:45:34 +10:00
Connor McLaughlin
cc9c3ea41f
Cheats: Fix assertions tripping on unicode characters
2020-12-27 00:45:34 +10:00
Albert Liu
12bc7a7805
MemoryCardImage: Fix multi-block file reads
2020-12-25 20:01:21 -08:00
Connor McLaughlin
a69474ea97
TextureReplacements: Use x86 dispatch for xxhash
2020-12-26 00:47:24 +10:00
Connor McLaughlin
af3b2b0e15
Build: Fix xxhash on non-Windows
2020-12-26 00:47:24 +10:00
Connor McLaughlin
d187c8b08d
GPU/HW: Fix a potential case where depth isn't cleared on viewport change
2020-12-26 00:47:03 +10:00
Connor McLaughlin
a385573672
Qt: Add texture replacement options to advanced settings
2020-12-26 00:47:03 +10:00
Connor McLaughlin
8db961042a
GPU: Support replacing VRAM writes with new textures
2020-12-26 00:47:03 +10:00
Connor McLaughlin
ecbfff3c60
HostDisplay: Fix incorrect extension check for other formats
2020-12-26 00:47:03 +10:00
Michael Forney
64c0ca14a3
System: Fix some bugs in GetTitleForPath
...
The previous implementation had a few issues in certain edge cases:
- If the path contained no '/' or '\', then the string_view constructor
is called with a count that exceeds the length of the string
(effectively `title_end - (char *)0`, which is undefined behavior,
at least in C).
- If the only '/' was the filesystem root, the last character of
the title was truncated, and the '/' remained. For example,
"/title.bin" resulted in "/titl".
- At least in C, it is undefined behavior to use the the < operator
with a null pointer, which is done in std::max if the path did
not have both '/' and '\'.
The first issue results in a std::bad_alloc exception on my machine.
2020-12-26 00:47:02 +10:00
Connor McLaughlin
3f410ebbac
Cheats: Add additional code types from @PugsyMAME
2020-12-26 00:47:02 +10:00
Jean-Baptiste Boric
abd2399aaf
Core: Implement GDB protocol
2020-12-26 00:47:02 +10:00
Jean-Baptiste Boric
9b40c8ffa6
Settings: Add GDB server settings
2020-12-26 00:47:02 +10:00
PugsyMAME
c0cc0a371b
Fixed Slide Code cheat type
...
Address increment is a u8 and value increment is a u16. The changes will make this work correctly:-
50000AA4 FFFF
801CC760 0400
which is a example slide code representing:-
801CC760 0400
801CC804 03FF
801CC8A8 03FE
801CC94C 03FD
801CC9F0 03FC
801CCA94 03FB
801CCB38 03FA
801CCBDC 03F9
801CCC80 03F8
801CCD24 03F7
2020-12-25 13:53:28 +10:00
Connor McLaughlin
aa1543271e
GPU: Support emulating a depth buffer from PGXP depth values
2020-12-23 01:39:49 +10:00
Connor McLaughlin
ca84925ff8
HostDisplay: Support screenshotting 16-bit display formats
2020-12-22 03:24:51 +10:00
Albert Liu
189656cbc4
CommonHostInterface: Fully clear controller section before loading profile
2020-12-22 03:24:51 +10:00
Connor McLaughlin
d5d9cb623d
GPU/Vulkan: Fix possible framebuffer destroy-while-in-use
2020-12-22 00:56:55 +10:00
Margen67
b7534015e0
Use proper 21:9 aspect ratio, add 32:9
2020-12-20 19:57:15 -08:00