1448 Commits

Author SHA1 Message Date
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 75aa52ab06dea891b21ae9f618d56d52247dd313.
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
Connor McLaughlin
e804fdfdba GPU: Use floating point coordinates for lightgun 2020-12-19 17:02:01 +10:00
Connor McLaughlin
4860313bef NamcoGuncon: Add an option to scale X coordinates
Fixes what appears to be curvature correction at the edges of the
screen.
2020-12-19 17:02:01 +10:00
Connor McLaughlin
fad3d79895 NamcoGuncon: Add button to shoot offscreen 2020-12-19 17:02:01 +10:00
Connor McLaughlin
076a2ca307 Qt/CheatManager: Default to unsigned/hex/halfword 2020-12-19 02:44:46 +10:00
Connor McLaughlin
ca61f989fc DMA: Don't panic on invalid device read/write 2020-12-19 02:44:46 +10:00
Connor McLaughlin
7c7145d1c5 MDEC: Handle invalid commands
Fixes panic in Formula 1.
2020-12-19 02:44:46 +10:00
Connor McLaughlin
9e1987063d System: Add a libcrypt game list, and check serials
Nag the user if they're missing a sbi file.
2020-12-18 03:03:22 +10:00
Connor McLaughlin
b3edcc5841 CDROM: Don't reset audio decoder state on file/channel change
Star Wars Jedi Power Battles sends constant Setfilter commands, while
playing.
2020-12-18 03:03:21 +10:00
Connor McLaughlin
d2c98639a8 Cheats: Add extension 32-bit instructions variants 2020-12-18 03:03:21 +10:00
Connor McLaughlin
3b23542ec9 CPU: Provide debugger/breakpoint/step functionality 2020-12-17 11:57:47 +10:00
Connor McLaughlin
a8af0f7ecb HostInterface: Add debugger message callbacks 2020-12-17 11:57:47 +10:00
Connor McLaughlin
fa0f177e51 HostInterface: Move PauseSystem from common to base 2020-12-17 11:57:47 +10:00
Connor McLaughlin
e044858953 CPU: Add additional instruction decoder helpers 2020-12-17 11:57:46 +10:00
Connor McLaughlin
9fd1d606d7 Bus: Add memory region access helpers 2020-12-17 11:57:46 +10:00
Connor McLaughlin
a4b6df3e7d
Merge pull request #1239 from ggrtk/analog-controller
AnalogController: Fix config mode 0x4C response
2020-12-17 11:36:58 +10:00
Connor McLaughlin
9d7b63923a
Merge pull request #1235 from valadaa48/CRTCTicksToSystemTicks_optimization
Small optimization to GPU::SystemTicksToCRTCTicks
2020-12-17 11:36:21 +10:00
Connor McLaughlin
bd8613b120
Merge pull request #1227 from ggrtk/auto-aspect-ratio
GPU: Add auto aspect ratio and various fixes
2020-12-17 11:35:48 +10:00
Albert Liu
b7bccac71d AnalogController: Fix config mode 0x4C response 2020-12-16 15:11:53 -08:00
Connor McLaughlin
47f0720b93 Controller: Always preserve internal state when loading/resuming
Fixes analog mode getting disabled when loading state.
2020-12-17 01:20:06 +10:00
Connor McLaughlin
7b6d30a994 GPU/HW: Fix possible VRAM corruption when live switching resolutions
Mask bit was getting lost based on guest state.
2020-12-17 01:20:06 +10:00
Albert Liu
de8f03bd75 GPU: Add auto (game native) aspect ratio 2020-12-16 02:40:33 -08:00
valadaa48
f5f12fd76d Small optimization to GPU::SystemTicksToCRTCTicks 2020-12-15 22:31:34 -05:00
Albert Liu
b4fb1e20d8 Settings: Remove unused variables 2020-12-14 19:28:59 -08:00
Albert Liu
2c76ad204a GPU: Fix operator warning 2020-12-14 19:28:59 -08:00
Albert Liu
1c8a896a55 GPU: Wrap display VRAM coordinates properly 2020-12-14 19:28:59 -08:00
Albert Liu
866cbdca4b GPU: Prevent potential overflow in CRTC visible area calculation 2020-12-14 19:28:59 -08:00
Albert Liu
78e42d9b4c GPU: Clean up CRTC variable naming 2020-12-14 19:28:59 -08:00
Albert Liu
b8abf2df95 GPU: Don't apply display offsets when not cropping 2020-12-14 19:28:58 -08:00
Connor McLaughlin
d0e68c7163 GPU: Mask Y coordinates of VRAM transfers to 9-bits
Fixes GPU error and crash in hardware renderers in Remote Control
Dandy.
2020-12-14 01:35:53 +10:00
Connor McLaughlin
5164840c25 CPU/CodeCache: Don't choke on indirect branches in delay slot
Fixes emulator crash/memory usage explosion in Shadow Master.
2020-12-14 01:35:53 +10:00
Connor McLaughlin
7e5410fc44 CPU/AArch64: Use scratch register for unfitting intermediate values
Should fix crashes with icache emulation enabled.
2020-12-13 00:36:09 +10:00
Albert Liu
def9a98cb9 GameSettings: Disable analog mode forcing instead of forcing digital controller 2020-12-11 19:50:43 -08:00
Albert Liu
8716c33f41 AnalogController: Clarify option for forcing analog mode 2020-12-11 19:50:43 -08:00
Connor McLaughlin
420525e672 DigitalController: MSVC warning fix 2020-12-12 11:37:38 +10:00
Albert Liu
191e6b0496 DigitalController: Add option to force as Pop'n Controller 2020-12-09 23:39:11 -08:00
Connor McLaughlin
50bcdc0abb MDEC: Adjust 16bpp timing
Fixes jittery movement in Parasite Eve II opening.
2020-12-09 20:29:32 +10:00
Connor McLaughlin
59c338f461 Cheats: Support double conditional D0/D1/D2/D3/E0/E1/E2/E3/D4 2020-12-09 20:22:43 +10:00
Connor McLaughlin
98766a490f Log: Change success to verbose and move down in ordering 2020-12-09 01:03:32 +10:00