1912 Commits

Author SHA1 Message Date
Connor McLaughlin
e9db1d0f6f GPU/OpenGL: Use base class helper for filling VRAM copy uniforms 2020-07-22 14:47:09 +10:00
Connor McLaughlin
2dc62ab987 GPU/HW: Fix VRAM updates when Y >= 512 2020-07-22 14:46:52 +10:00
Connor McLaughlin
622e50fa73
Merge pull request #637 from jdgleaver/psp-660-bios
Finish adding support for PSX BIOS included in PSP firmware 6.60
2020-07-22 13:01:11 +10:00
Albert Liu
855fc9a31c CommonHostInterface: Prevent some potential null pointer dereferences 2020-07-21 17:14:11 -07:00
jdgleaver
49f9ddfa0e Finish adding support for PSX BIOS included in PSP firmware 6.60 2020-07-21 17:06:38 +01:00
jdgleaver
7478e75ed6 (libretro) Fix 'Fast Boot' option 2020-07-21 16:32:36 +01:00
Connor McLaughlin
f28ef01d24 CDROM: Move audio FIFO to CDROM class and skip sectors when unempty
Fixes cutscene audio in Nickelodeon Rugrats - Search for Reptar.
2020-07-22 00:05:52 +10:00
Connor McLaughlin
f9bbbbbaec Settings: Make auto-detect the default console region 2020-07-22 00:03:31 +10:00
Connor McLaughlin
9496c992f7 System: Add an option to preload CD image to RAM 2020-07-22 00:03:22 +10:00
Connor McLaughlin
3187d07d03 CDImage: Add memory CD image class 2020-07-22 00:03:07 +10:00
Connor McLaughlin
8b91bf5e57 Core: Add loading screen based progress callbacks 2020-07-22 00:03:01 +10:00
Connor McLaughlin
cf366d3fba CDImage: Fix crash reading subq from lead-in 2020-07-22 00:02:51 +10:00
Connor McLaughlin
03c3b10054 CDSubChannelReplacement: Use subq union directly 2020-07-22 00:02:44 +10:00
Connor McLaughlin
93528db388 System: Use existing CD media when loading state where possible 2020-07-22 00:02:37 +10:00
Connor McLaughlin
75a8a7fcca Settings: Make per-game memory cards for slot 1 the default 2020-07-21 20:15:52 +10:00
Connor McLaughlin
b2595a3b3b Qt: Fix volume slider slowing down emulation 2020-07-21 20:10:17 +10:00
Connor McLaughlin
2fb00faa67 Qt: Delay settings save by one second 2020-07-21 20:10:11 +10:00
Connor McLaughlin
68d98af497 Qt: Remove usage of QString where possible for settings 2020-07-21 20:10:06 +10:00
Connor McLaughlin
eb7da791ea CommonHostInterface: Fix command line help not printing on Windows 2020-07-21 20:09:54 +10:00
Connor McLaughlin
bddd098a66
Merge branch 'master' into qt-inisettings 2020-07-21 13:28:18 +10:00
Connor McLaughlin
f67862de5f
Merge pull request #622 from ggrtk/qt-gamelistsettings
Qt/GameListSettings: Use native path separators
2020-07-19 12:58:00 +10:00
Elizabeth
39917117d2
Disable Interlacing description "Unchecked"
As noted by Kurayami6, Disable Interlacing should show "Unchecked" as the default option for this enhancement.
2020-07-18 13:21:13 -04:00
Albert Liu
2853bf851a Qt/GameListSettings: Use native path separators
Fixes possible duplicate game list entries on Windows.
2020-07-17 18:43:30 -07:00
Connor McLaughlin
1069e12bff Qt: Add binding how-to text to hotkey page 2020-07-18 01:33:51 +10:00
Connor McLaughlin
389f452e10 Qt/GameListSettings: Use push button for all buttons 2020-07-18 01:33:36 +10:00
Connor McLaughlin
5c5ee17fa7 Qt: Fix widescreen hack option positioning 2020-07-18 01:28:35 +10:00
Connor McLaughlin
2702eb90bf libretro: Add widescreen hack option 2020-07-18 00:28:37 +10:00
Connor McLaughlin
1e6740762d Qt: Add widescreen hack option 2020-07-18 00:28:37 +10:00
Connor McLaughlin
8c3051ae14 SDL: Add widescreen hack option 2020-07-18 00:28:37 +10:00
Connor McLaughlin
5c1c467e38 GTE: Add widescreen hack 2020-07-18 00:28:37 +10:00
Connor McLaughlin
5f76140aa5 libretro: Expose main RAM to frontend 2020-07-18 00:28:37 +10:00
Connor McLaughlin
401ecfa872 Bus: Make memory map public 2020-07-18 00:28:37 +10:00
Albert Liu
a92fd98d7f Qt/GameListSettings: Fix QToolButtons staying highlighted after use 2020-07-17 03:50:02 -07:00
Albert Liu
79adabeb91 CommonHostInterface: Bump to settings version 3
This is required for phasing out QSettings usage because game paths were
being saved using the QSettings multi-value format, which is
incompatible with SimpleIni.
2020-07-16 20:35:49 -07:00
Albert Liu
97be6c922c Fix MSVC build 2020-07-16 20:35:49 -07:00
Albert Liu
4e2b3189b0 Qt: Replace QtSettingsInterface with INISettingsInterface 2020-07-16 20:35:49 -07:00
Albert Liu
9b2740b395 HostInterface: Save tweak/hack defaults to settings file
Fixes tweak/hack defaults not displaying correctly in Qt frontend.
2020-07-16 20:35:18 -07:00
Albert Liu
9d6325f828 QtHostInterface: Fix compiler warning 2020-07-16 20:32:42 -07:00
Connor McLaughlin
71cef1de3f GL/ContextGLX: Add additional logging 2020-07-15 15:50:30 +10:00
Connor McLaughlin
dd9a4191e6 AnalogController: Fix swapped rumble test
Fixes weak rumble test in MGS.

I should write some hardware tests for this at some point, particularly
for the large motor, which should have a variable intensity.
2020-07-15 02:38:16 +10:00
Connor McLaughlin
7ba1bed37b Settings: Leave interlacing on by default
Too many games break without it.
2020-07-14 01:27:57 +10:00
Connor McLaughlin
48be73be5a SDL: Fix crash when changing debug settings while running 2020-07-14 01:26:43 +10:00
Connor McLaughlin
6ed67468d2 CDROM: Prevent games which spam Reset from getting wedged 2020-07-14 01:26:37 +10:00
Albert Liu
91f51c2833 Settings: Add 1:1 pixel aspect ratio 2020-07-12 17:09:15 -07:00
Albert Liu
9e316e4502 Settings: Add 8:7 display aspect ratio
Requested by users for some 256-width 240p titles (effectively 1:1 PAR
at 256x224 when overscan cropping is turned on).
2020-07-12 17:08:28 -07:00
Connor McLaughlin
1ed57a9fdf Qt: Hook up mouse events to ImGui 2020-07-13 02:39:59 +10:00
Connor McLaughlin
dbce58e07d CDROM: Display paused position in debug window 2020-07-13 02:23:56 +10:00
Connor McLaughlin
35093818c6 libretro: Add resolutions up to 16x 2020-07-12 23:31:21 +10:00
Albert Liu
c44e74db80 GPU: Compute VRAM display width from GP1(06h) values
Fixes overpadding in some specific cases, e.g. when cropping overscan in
Captain Commando.
2020-07-11 10:57:23 -07:00
Connor McLaughlin
8febf5df04 D3D11HostDisplay: Fix reversed feature level order 2020-07-12 00:44:13 +10:00
Connor McLaughlin
113b0f57d6 libretro: Fix Vulkan context creation on Mali
We don't use the loader functions here anyway, so no need to try to
retrieve them.
2020-07-12 00:41:53 +10:00
Connor McLaughlin
3ad780b52e libretro: Fix logging breaking when retro_set_environment called twice 2020-07-12 00:41:09 +10:00
Connor McLaughlin
282f166e7a Vulkan/StagingBuffer: Don't try to invalidate unmapped buffer
Fixes crash on Mali.
2020-07-12 00:40:05 +10:00
Connor McLaughlin
fb6538da35 Vulkan/Context: Allocate SSBO descriptors in global set
Fixes vram write buffer creation failing on Mali.
2020-07-12 00:38:27 +10:00
Connor McLaughlin
50a25b63b1 CDROM: Track seek position when resetting
Fixes Blasto hanging after starting game.
2020-07-11 20:35:36 +10:00
Connor McLaughlin
d1a2ebd8f3 GPU/HW: Eliminate CPU round trip on oversized VRAM writes 2020-07-11 20:35:33 +10:00
Connor McLaughlin
86c6be41b3 SDL: Wayland support 2020-07-11 03:28:57 +10:00
Connor McLaughlin
4ce5f7e802 GLContext: Wayland support 2020-07-11 03:28:25 +10:00
Connor McLaughlin
eab70546c8 CDROMAsyncReader: Only log warning when waiting time exceeds 1ms 2020-07-11 03:21:05 +10:00
Connor McLaughlin
c5e8327e7a CDROM: Seek to LBA 0 when resetting
Fixes Love & Destroy.
2020-07-10 20:55:15 +10:00
Connor McLaughlin
71157b171e CDROM: Use partial seek position when re-seeking 2020-07-10 20:55:00 +10:00
Connor McLaughlin
4d1880091e GPU: Ignore display start bit 0 instead of reducing width 2020-07-10 20:31:58 +10:00
Connor McLaughlin
93abf8e53d GPU: Drop least significant bit of display start address
Fixes extra column in some games, e.g. Nascar Thunder 2004,
U.S. Navy Fighters.
2020-07-10 20:23:27 +10:00
Connor McLaughlin
604ff20b0d AnalogController: Treat rumble as binary on/off
Fixes vibration in Final Fantasy 8.
2020-07-10 20:15:46 +10:00
Connor McLaughlin
d6ec1fd84e Build fix 2020-07-10 14:46:44 +10:00
Connor McLaughlin
c01854e9d1 Define LIBRETRO macro when building core, skip swap chain 2020-07-10 14:02:45 +10:00
Connor McLaughlin
a5fe740e30 Fix a bunch of compiler warnings 2020-07-09 13:30:16 +10:00
Connor McLaughlin
60a739e305 D3D11HostDisplay: Add __has_include check for dxgi1_5.h 2020-07-09 13:24:56 +10:00
Connor McLaughlin
9685be9064 D3D11/ShaderCache: Remove feature level 12 enum usage
It's not used anyway.
2020-07-09 13:00:44 +10:00
Connor McLaughlin
5984f977ca D3D11HostDisplay: Ensure we only get feature level 10-11 2020-07-09 13:00:31 +10:00
Connor McLaughlin
46dfccef81 Common/DimensionalArray: Don't break clang 2020-07-08 15:40:08 +10:00
Connor McLaughlin
532c2a0c15 cmake: Drop msbuild-based libretro dll in top-level dir too 2020-07-08 15:18:49 +10:00
Connor McLaughlin
a68bbb3e85 Common/DimensionalArray: Work around VC2017 issue 2020-07-08 15:04:47 +10:00
Connor McLaughlin
068b244303 libretro: Do SET_CORE_OPTIONS unconditionally 2020-07-08 12:48:57 +10:00
Connor McLaughlin
57cf40d1ae Bus: Work around VS2017 bug with std::array 2020-07-08 12:45:53 +10:00
Connor McLaughlin
6ae5caa23b Common/StringUtil: Add missing include 2020-07-08 12:45:49 +10:00
Connor McLaughlin
209d7c67e9 GPU/OpenGL: Prefer SSBOs over small texel buffers+subimage 2020-07-08 02:05:36 +10:00
Connor McLaughlin
922003ba50 libretro: Ignore renderer changes
RetroArch does not support hot swapping renderers.
2020-07-08 02:05:36 +10:00
Connor McLaughlin
97a946bd62 CommonHostInterface: Implement frame step hotkey 2020-07-08 02:05:36 +10:00
Connor McLaughlin
01287cb7da build: Support building libretro core for Android 2020-07-07 20:27:14 +10:00
Connor McLaughlin
c242d4707f build: Drop Linux libretro core in current directory too 2020-07-07 20:27:14 +10:00
Connor McLaughlin
089b1d465f build: Drop libretro DLL in build directory 2020-07-07 19:09:14 +10:00
Connor McLaughlin
9a631ff52c build: Don't build unit tests for libretro core 2020-07-07 18:54:02 +10:00
Connor McLaughlin
729e1b3392 GLContext: Fix Android context creation 2020-07-07 00:59:49 +10:00
Connor McLaughlin
da180a1c4f Vulkan: Fix crash when device creation fails 2020-07-07 00:59:42 +10:00
Connor McLaughlin
1d4b5e22cb Vulkan: Fall back to geometryShader when fillModeNonSolid unsupported 2020-07-07 00:59:35 +10:00
Connor McLaughlin
d1eae288bf GameList: Add EntryCompatibilityRatingToString 2020-07-07 00:59:28 +10:00
Connor McLaughlin
5274fa32ac Qt: Pump events on main thread when waiting for init 2020-07-06 02:47:33 +10:00
Connor McLaughlin
76cb52407b SDLControllerInterface: Init joystick API as well 2020-07-06 02:47:33 +10:00
Connor McLaughlin
547e8b239b libretro: Reduce base width/height
Stops the window opening so large.
2020-07-06 02:47:33 +10:00
Connor McLaughlin
11c0601a67 libretro: Work around hw render interface pointer being freed 2020-07-06 02:47:33 +10:00
Albert Liu
e42d5fed75 GPU: Adjust 4-pixel boundary alignment formula
Fixes missing edge in Tenchi wo Kurau II: Sekiheki no Tatakai.
2020-07-05 06:00:36 -07:00
Albert Liu
000a51298a GPU: Don't round screen size to 4-pixel multiple 2020-07-05 06:00:36 -07:00
Albert Liu
e2b1158514 GPU: Report CRTC padding as signed in debug window 2020-07-05 06:00:36 -07:00
Connor McLaughlin
67bc14dac9 CI: Use libretro core naming convention 2020-07-05 13:15:12 +10:00
Connor McLaughlin
511c3133f1 GPU: Let GPU catch up before handling GP1 reset commands
Fixes trashed VRAM writes in some homebrew.
2020-07-05 02:25:56 +10:00
Connor McLaughlin
b0b3901722 libretro: Fix DualShock analog mode auto-enable 2020-07-05 00:05:14 +10:00
Connor McLaughlin
c76bb5eb6a libretro: Fix display aspect ratio 2020-07-04 22:33:07 +10:00
Connor McLaughlin
343e3ba3b7 libretro: Better handle resolution changes 2020-07-04 22:14:07 +10:00
Connor McLaughlin
e15fafe428 libretro: Reduce OSD message durations 2020-07-04 22:14:07 +10:00
Connor McLaughlin
8408d3b6bf libretro: Disable shader cache
Can't seem to see somewhere we can save shader blobs. It wasn't working
anyway because it would generate invalid paths.
2020-07-04 22:14:07 +10:00
Connor McLaughlin
f9622b2450 libretro: Fix memory card save locations 2020-07-04 22:14:07 +10:00
Connor McLaughlin
9b3e344ad8 Renderers: Support empty shader cache 2020-07-04 22:14:07 +10:00
Connor McLaughlin
f396a2c373 Renderers: Make shader cache path a prefix instead of directory 2020-07-04 22:14:07 +10:00
Connor McLaughlin
b9ffca1ddf libretro: Vulkan renderer support 2020-07-04 22:14:07 +10:00
Connor McLaughlin
218f6721d3 libretro: Fix display rendering in D3D11/OpenGL 2020-07-04 20:05:49 +10:00
Connor McLaughlin
2c4fce3f0d D3D11HostDisplay: Don't create swap chain for headless 2020-07-04 17:37:50 +10:00
Connor McLaughlin
b3359dadc9 Qt: Save original style name for restoring after theme switch 2020-07-04 15:54:26 +10:00
Connor McLaughlin
1231f6dafe GPU: Handle GP1 command mirrors 2020-07-04 01:28:18 +10:00
Albert Liu
0a0a2024fd SDLControllerInterface: Prefer cbutton.which for button events
Functionally the same as caxis.which due to SDL_Event union, but prefer
using SDL_ControllerButtonEvent members for button events.
2020-07-02 17:45:44 -07:00
Connor McLaughlin
2d74062abb CPU: Delay interrupts by one instruction/block
Fixes Gameshark Sampler Disc.
2020-07-03 01:51:08 +10:00
Connor McLaughlin
8a8ce8d41c NamcoGunCon: Use correct GPU clock as reference 2020-07-03 01:51:05 +10:00
Connor McLaughlin
0710e3b6d3 CDROM: Ignore sectors with channel number=255
Some games (Taxi 2 and Blues Blues) have junk audio sectors with a channel number of 255.
We need to skip them otherwise it ends up playing the incorrect file.

TODO: Verify with a hardware test.
2020-07-02 00:50:53 +10:00
Connor McLaughlin
bff5432879 Pad: Improve ACK timing
Fixes random pauses in Moto Racer.
2020-07-02 00:50:53 +10:00
Connor McLaughlin
b471d1043a Settings: Load Memory Cards From State -> Load Devices From State
Makes it apply to controllers too.
2020-07-02 00:50:53 +10:00
Connor McLaughlin
655dff84e2 VulkanHostDisplay: Fix software cursor rendering 2020-07-01 01:57:25 +10:00
Connor McLaughlin
400ee3d9b3 OpenGLHostDisplay: Fix software cursor rendering 2020-07-01 01:57:25 +10:00
Connor McLaughlin
8cd9e0887e libretro: Use framebuffer view dimensions not texture dimensions 2020-07-01 01:57:25 +10:00
Connor McLaughlin
70f4ce7cde libretro: Add auto analog mode option for controllers 2020-07-01 01:57:25 +10:00
Connor McLaughlin
f65a50d84b HostDisplay: Use surface scale for drawing software cursor 2020-07-01 01:57:25 +10:00
Connor McLaughlin
bf08385051 WindowInfo: Add surface_scale field 2020-07-01 01:57:25 +10:00
Connor McLaughlin
e374853cf5 HostInterface: Better configuration of custom crosshair/software cursor 2020-07-01 01:57:25 +10:00
Connor McLaughlin
f0c1dfefe7 Core: Add resources file
Currently includes a crosshair icon.
2020-07-01 00:56:46 +10:00
Connor McLaughlin
ed6065d7f5 D3D11HostDisplay: Fix software cursor rendering 2020-07-01 00:56:46 +10:00
Connor McLaughlin
7d88bba764 Common: Add an image helper class 2020-07-01 00:56:46 +10:00
Connor McLaughlin
78cf890c6c Qt: Hook up per-controller-type-settings to UI 2020-07-01 00:56:46 +10:00
Connor McLaughlin
bcc6d5d53d Qt: Support float settings in setting widget binder 2020-07-01 00:56:46 +10:00
Connor McLaughlin
0b11a14e24 Qt: Better handling of default settings not in ini 2020-07-01 00:56:46 +10:00
Connor McLaughlin
4dc9e10777 HostInterface: Support per-controller-type settings 2020-07-01 00:56:46 +10:00
Connor McLaughlin
f3b2953e40 Common/StringUtil: Add FromChars overload for bool 2020-07-01 00:56:46 +10:00
Connor McLaughlin
38aa485f8f libretro: Analog controller/DualShock support 2020-06-30 03:03:56 +10:00
Connor McLaughlin
51b4776b8f libretro: Work around video driver switching crash in RetroArch 2020-06-30 03:03:56 +10:00
Connor McLaughlin
861b98ed3b libretro: Additional work
- Reliable resolution switching.
 - Hook up logging.
 - Memory cards and controller type settings.
 - Save state support.
 - Direct3D support.
2020-06-30 03:03:56 +10:00
Connor McLaughlin
2a38090e7a HostDisplay: Move most backend logic to FrontendCommon 2020-06-30 03:03:56 +10:00
Connor McLaughlin
936d92dfb8 System: Add option to force start in software mode 2020-06-30 02:44:19 +10:00
Connor McLaughlin
919494079b System: Make saving screenshots to state optional 2020-06-30 02:44:09 +10:00
Connor McLaughlin
dc7cc3b67f Common/ByteStream: Fix buffer corruption in MemoryByteStream 2020-06-30 02:44:01 +10:00
Connor McLaughlin
e5f56fcd33 MDEC: Slightly reduce block timing
Fixes FMVs in Disney's Treasure Planet.

Probably needs sub-block timing emulated at some point.
2020-06-29 14:45:14 +10:00
Connor McLaughlin
614ea632a5 SPU: Log warning when data is lost due to reg clear 2020-06-29 14:45:03 +10:00
Connor McLaughlin
ea1066f76e GL/StreamBuffer: Use glBufferData() on all drivers 2020-06-29 14:44:16 +10:00
Connor McLaughlin
745b53e4cb GL/Context: Fix crash in some GLX drivers 2020-06-27 17:35:08 +10:00
Connor McLaughlin
15afe4f436 GPU/Vulkan: Fix incorrect vkCmdPushConstants() call 2020-06-27 16:26:20 +10:00
Albert Liu
1a45ee3018 CommonHostInterface: Use largeImage fields in Discord presence payload
Fixes application icon not showing up in Discord Rich Presence.
2020-06-26 22:28:48 -07:00
Connor McLaughlin
0b261e836b GPU/Vulkan: Fix shader VRAM copies
Fixes battle transitions in Final Fantasy IX.
2020-06-27 03:00:03 +10:00
Connor McLaughlin
58b0e6859a Frontend: Reset/restore GPU state before saving screenshot
Fixes driver crashes in Vulkan.
2020-06-27 02:59:58 +10:00
Connor McLaughlin
b94de1924d GPU/ShaderGen: Round normalized colours before converting to integer
Fixes broken rendering/precision issues on Intel Ivy Bridge GPUs.

Many thanks to linkmauve from Dolphin for the idea - seems Dolphin also
had a similar problem a few years ago.
2020-06-26 21:40:53 +10:00
Connor McLaughlin
16ca214d09 GPU/OpenGL: Fix VRAM writes breaking on <GL4.3 2020-06-26 21:39:37 +10:00
Connor McLaughlin
34d7b752d8 GPU/ShaderGen: Enable GL_ARB_shader_storage_buffer_object on <GL4.3 2020-06-26 21:39:12 +10:00
Connor McLaughlin
998ec85b16 CDROM: Log slow sector reads in Release builds too 2020-06-26 17:17:25 +10:00
Connor McLaughlin
737337a526 CDROM: Fix incorrect sector read after incomplete seek->read
Fixes crash in Disney's The Lion King - Simba's Mighty Adventure.
2020-06-26 17:15:41 +10:00
Connor McLaughlin
b8a2487abf GPU/HW: Fix incorrect offset application in line upscaler
Fixes green line in pause screen of Spyro.
2020-06-26 03:26:06 +10:00
Albert Liu
788a9a6768 Qt: Reset palette and style when selecting default theme
Fixes palette and style getting stuck when switching to default theme
after having used dark fusion theme earlier in the same session.
2020-06-24 16:08:36 -07:00
Connor McLaughlin
ad727c7991 CPU/Recompiler: Check interrupts after mtc0 sr/cause
Fixes Jackie Chan Stuntmaster in Recompiler mode.
2020-06-25 01:33:00 +10:00
Connor McLaughlin
b00f50c927 CPU/Recompiler: Emit test/jz instead of bt/jnc for bits < 8
Likely very slightly faster.
2020-06-25 01:33:00 +10:00
Connor McLaughlin
55a2c73097 Qt: Add Dark Fusion theme 2020-06-25 01:33:00 +10:00
Connor McLaughlin
a6d976240a Qt: Add theme selection and dark theme 2020-06-25 01:33:00 +10:00
Albert Liu
28d38c9867 LibretroHostInterface: Report aspect ratio setting to frontend 2020-06-23 09:24:50 -07:00
Albert Liu
7c206766ae HostInterface: Save default setting to AspectRatio, not PixelAspectRatio
Fixes inconsistency with default settings saving to PixelAspectRatio,
but loading from AspectRatio instead. PixelAspectRatio was not being
used elsewhere.
2020-06-23 09:24:50 -07:00
Connor McLaughlin
832c7a1192 Vulkan: Support using SSBOs instead texel buffers 2020-06-24 01:40:01 +10:00
Connor McLaughlin
08ef8c1e8d GPU/HW: Support SSBOs instead of texture buffers for VRAM writes 2020-06-24 01:39:53 +10:00
Connor McLaughlin
eec37df1e0 Settings: Make the recompiler the default CPU mode 2020-06-24 01:39:42 +10:00
Connor McLaughlin
f6aae5e67c Settings: Add 2:1 (VRAM 1:1) display aspect ratio 2020-06-24 01:39:35 +10:00
Connor McLaughlin
f32028a736
Merge pull request #566 from ggrtk/analog-controller
ControllerInterface: Customizable axis scaling and deadzone size
2020-06-24 01:33:26 +10:00
Connor McLaughlin
2cfb811569
Merge pull request #565 from lioncash/stamp
timestamp: Correct duplicate conditionals
2020-06-24 01:32:52 +10:00
Connor McLaughlin
84d4423719
Merge pull request #564 from lioncash/leak
file_system: Prevent resource leaks in DeleteDirectory()
2020-06-24 01:31:52 +10:00
Connor McLaughlin
da0885af0d
Merge pull request #563 from lioncash/fs
file_system: Correct duplicate conditionals in CreateDirectory()
2020-06-24 01:30:04 +10:00
Connor McLaughlin
4b31034efa
Merge pull request #562 from lioncash/amp
spu: Make use of logical AND within IsPitchModulationEnabled()
2020-06-24 01:29:42 +10:00
Albert Liu
293c2f50cd ControllerInterface: Make axis-to-button deadzone customizable 2020-06-23 08:15:17 -07:00
Albert Liu
6b7c068f83 ControllerInterface: Implement axis scaling for axis-to-axis mappings
This feature allows us to work around analog stick range issues at the
intercardinal directions in certain titles (e.g. Rockman DASH 2) caused
by modern controllers having a tighter logical range of reporting than
PS1 analog controllers.
2020-06-23 08:14:37 -07:00
Lioncash
4c82705e34 timestamp: Correct duplicate conditionals
Previously, the milliseconds field wasn't being used in comparisons on
Windows.
2020-06-23 06:24:06 -04:00
Lioncash
987b11a1d2 timestamp: Implement operator!= in terms of operator==
Same behavior, less code.
2020-06-23 06:20:29 -04:00
Lioncash
83a01c27a2 file_system: Prevent resource leaks in DeleteDirectory()
We need to remember to close the search handle in the error cases.
2020-06-23 06:13:54 -04:00
Lioncash
292a0a6800 file_system: Correct duplicate conditionals in CreateDirectory() 2020-06-23 06:09:38 -04:00
Lioncash
20d17b953b spu: Make use of logical AND within IsPitchModulationEnabled()
It seems awfully suspect to use a bitwise AND here.
2020-06-23 06:00:11 -04:00
Connor McLaughlin
3ca9d578b3
Merge pull request #559 from lioncash/field
bitfield: Make interface fully constexpr
2020-06-23 19:58:06 +10:00
Connor McLaughlin
6de24f620e
Merge pull request #558 from lioncash/psf
system: Correct error dialog in PSF load case
2020-06-23 19:57:19 +10:00
Connor McLaughlin
daf9afe221
Merge pull request #560 from lioncash/xy
playstation_mouse: Amend initial x value
2020-06-23 19:56:43 +10:00
Connor McLaughlin
e228588823
Merge pull request #561 from lioncash/rectangle
rectangle: Correct assignment of right within SetExtents
2020-06-23 19:56:16 +10:00
Lioncash
e064196f25 rectangle: Correct assignment of right within SetExtents
Previously left was being assigned twice in a row.
2020-06-23 05:50:43 -04:00
Lioncash
7a05f8402b playstation_mouse: Amend initial x value
Previously the last host y position was being written to twice, which
seems like a typo.
2020-06-23 05:48:25 -04:00
Lioncash
0abe4c60b4 cd_image: Make use of std::array where applicable
Simplifies array copies.
2020-06-23 05:35:26 -04:00
Lioncash
a27aa45e6a bitfield: Make interface fully constexpr
Given C++17 is being used, the entire interface is capable of being
constexpr.
2020-06-23 05:27:40 -04:00
Lioncash
76af96f15b system: Correct error dialog in PSF load case
Corrects the error message to state that the PSF couldn't be loaded
rather than EXE.
2020-06-23 05:13:47 -04:00
Connor McLaughlin
840a80670f CDROM: Reset XA resampler on file switch
Pure guess work, probably won't affect anything.
2020-06-22 15:58:22 +10:00
Connor McLaughlin
9265dd72ba Vulkan/ShaderCache: Skip writing pipeline cache when size matches
Comparing all the data wasn't working, at least for Intel. I'm guessing
there's some modification time field in there which keeps changing.
2020-06-22 15:58:10 +10:00
Connor McLaughlin
eaca5eca07 GPU/Vulkan: Use Metal layer instead NSView on macOS. 2020-06-22 15:58:07 +10:00
Connor McLaughlin
f846817848 Vulkan: Fix crash when opening settings window -> resizing 2020-06-22 15:58:00 +10:00
Connor McLaughlin
1455e793d5 Vulkan: Fix crash when drag-resizing window 2020-06-22 15:57:54 +10:00
Connor McLaughlin
82a0ad8a10 Qt/Settings: Make GPU adapter more sensible
Add a default entry, rather than leaving it blank.
2020-06-22 15:57:43 +10:00
Connor McLaughlin
eb1b6b6272 GPU/HW: Fix D3D11 upscaled line GS 2020-06-22 15:53:05 +10:00
Connor McLaughlin
73cdd676ad GPU/Vulkan: Fix incorrect srcfactor selection 2020-06-21 16:24:37 +10:00
Connor McLaughlin
ce75168238 GPU/Vulkan: Don't assume support for dual-source blend 2020-06-21 01:33:15 +10:00
Connor McLaughlin
bf60f9dd61 GPU/Vulkan: Use geometry shader for line rendering at >1xIR 2020-06-21 01:33:08 +10:00
Connor McLaughlin
97ef905f10 GPU/Vulkan: Fix race/crash when changing settings live 2020-06-21 01:33:00 +10:00
Connor McLaughlin
f54876deb0 Vulkan/Context: Use VK_MVK_macos_surface not VK_EXT_metal_surface
Will change this over some time in the future when I can work on a Mac
again and set up the layer.
2020-06-20 20:37:38 +10:00
Connor McLaughlin
fed53b565f GPU/Vulkan: Fix inverted transparency
Fixes FF7 menu, map screen in Porsche Challenge.
2020-06-20 20:22:24 +10:00
Connor McLaughlin
a08c398d4b GPU/HW: Provide depth in vertex rather than computing
Fixes mask bit effects in Vulkan (e.g. Silent Hill).
Significantly reduces the number of mask bit refreshes in OpenGL/Vulkan.
2020-06-20 20:21:33 +10:00
Connor McLaughlin
7192b8d83a Vulkan/ShaderCache: Hopefully fix macOS build 2020-06-20 03:39:46 +10:00
Connor McLaughlin
4d827e23c5 Qt: Add GPU/adapter selection to settings 2020-06-20 03:34:19 +10:00
Connor McLaughlin
77291096db Settings: Add GPU adapter option and hook up to D3D11/Vulkan 2020-06-20 03:34:19 +10:00
Connor McLaughlin
1b5f8db2fc Vulkan/Context: Support specifying GPU to use 2020-06-20 03:34:19 +10:00
Connor McLaughlin
4a04800132 Vulkan: Handle potential duplicate GPU/adapter names 2020-06-20 03:34:19 +10:00
Connor McLaughlin
7fce9b102e FrontendCommon: Add GPU enumeration methods to D3D11/Vulkan host displays 2020-06-20 03:34:19 +10:00
Connor McLaughlin
85edbce3ca Qt: Use FrontendCommon D3D11 host display wrapper 2020-06-20 03:34:19 +10:00
Connor McLaughlin
1e26ded73c SDL: Use FrontendCommon D3D11 host display wrapper 2020-06-20 03:34:19 +10:00
Connor McLaughlin
6eb2079088 FrontendCommon: Add D3D11 helper for host display 2020-06-20 03:33:34 +10:00
Connor McLaughlin
c023bcd234 Linux build fix 2020-06-19 01:36:46 +10:00
Connor McLaughlin
49a9f01327 Qt: Support Vulkan 2020-06-19 00:18:53 +10:00
Connor McLaughlin
d168947ae4 SDL: Support Vulkan 2020-06-19 00:18:51 +10:00
Connor McLaughlin
6aacf0019a FrontendCommon: Add a Vulkan host display interface 2020-06-19 00:18:19 +10:00
Connor McLaughlin
49d11988bf Core: Add Vulkan GPU renderer 2020-06-19 00:18:17 +10:00
Connor McLaughlin
3cd5b7ae74 Core: Add Vulkan renderer types 2020-06-19 00:18:14 +10:00
Connor McLaughlin
1399e95b77 Common: Add a range of Vulkan helper/wrapper classes 2020-06-19 00:18:07 +10:00
Connor McLaughlin
63cc4ab197 CommonHostInterface: Release save state selector before display
This can have GPU objects, so needs to be released first.
2020-06-19 00:16:59 +10:00
Connor McLaughlin
bd164d2735 Common/FileSystem: Add {Read,Write}BinaryFile helpers 2020-06-19 00:16:59 +10:00
Connor McLaughlin
0890164987 Common: Add scope_guard.h from Dolphin 2020-06-19 00:16:59 +10:00
Connor McLaughlin
47138aa9cf GPU: Consider interlaced rendering for GPU timings
Fixes menu screen flickering in Chrono Cross, summary screen breakage in
Mr. Driller G.
2020-06-18 17:37:13 +10:00
Albert Liu
d005025f8f Qt/AdvancedSettings: Fix swapped widget bindings 2020-06-17 12:34:41 -07:00
Connor McLaughlin
7aa71529d6
Merge pull request #551 from ggrtk/advanced-settings
Qt: Connect tweak/hack settings to Qt frontend
2020-06-18 03:12:13 +10:00
Connor McLaughlin
8daff5e677 Common: Add dimensional_array.h 2020-06-18 03:10:33 +10:00
Connor McLaughlin
0e3fdebb11 Qt: Don't set native window to GL surface
Might be related to the GLX crashes some people are experiencing...
2020-06-18 03:10:33 +10:00
Albert Liu
b7d9ce98e8 Qt: Connect tweak/hack settings to Qt frontend 2020-06-16 09:53:18 -07:00
Albert Liu
53a2b8c03d SDL: Update advanced settings description 2020-06-16 09:53:18 -07:00
Albert Liu
8a94fc944a CommonHostInterface: Fix minor log message typo 2020-06-16 09:53:18 -07:00
Connor McLaughlin
b141042952
Merge pull request #549 from ggrtk/qt-rebind-all
Qt: Simplify Rebind All behavior
2020-06-15 13:26:48 +10:00
Albert Liu
1b9dbc1a0b Qt: Add help text note about binding rumble 2020-06-14 16:29:25 -07:00
Albert Liu
fd4e41bc7d Qt: Simplify Rebind All behavior 2020-06-14 16:06:29 -07:00
Connor McLaughlin
41d66f5c73 Qt: Add icon to executable 2020-06-15 03:29:35 +10:00
Connor McLaughlin
91734e35b0 SDL: Add icon to executable 2020-06-15 03:29:21 +10:00
Connor McLaughlin
fc0560087f GPU: Skip primitives where clip area is invalid
Fixes palettes being overwritten/menus being broken in
Yoshimoto Mahjong Club Deluxe.
2020-06-14 01:01:01 +10:00
Connor McLaughlin
16c47f4553 Settings: Change default GPU FIFO size to 16
While this has the potential to be slower, there seems to be quite a few
games which break with the larger FIFO. In some cases, they wait for the
DMA interrupt, then busy wait for the GPU to go idle again. If the FIFO
is larger, this wait time till be longer, breaking things.
2020-06-13 01:40:05 +10:00
Connor McLaughlin
bda528d70a GPU: Alter timings to reflect new clock 2020-06-13 01:40:05 +10:00
Connor McLaughlin
dad63f2303 GPU: Run draw clock at sysclk * 2 2020-06-13 01:40:05 +10:00
Connor McLaughlin
0dfb9f7d90
Merge pull request #548 from ggrtk/qt-aboutdialog
Qt: Add about dialog
2020-06-12 18:50:06 +10:00
Albert Liu
4f07e30dc0 Qt: Fix broken font in about dialog on Windows 2020-06-11 10:14:27 -07:00
Albert Liu
aeead1b0a6 Fix MSVC build 2020-06-11 10:09:02 -07:00
Connor McLaughlin
8d2c7db224 Qt: Source input profiles from program and user directory
This way Linux users as well as Windows users who use the Documents
user directory can use the shipped input profiles.
2020-06-12 02:47:40 +10:00
Albert Liu
da9188a771 Qt: Fix broken links in about dialog 2020-06-11 09:36:14 -07:00
Albert Liu
4c29b6f30c Qt: Add about dialog 2020-06-11 09:26:04 -07:00
Connor McLaughlin
2504d187d3 Qt: Add separate menu items for rescan all/scan for new games 2020-06-12 01:49:17 +10:00
Connor McLaughlin
34d27bad4a Timers: Add missing event update after resetting count/target 2020-06-12 01:37:39 +10:00
Connor McLaughlin
bdf9c91271 GPU: Fix double shader compilation 2020-06-09 03:04:02 +10:00
Connor McLaughlin
86f0d32e70 CubebAudioStream: Fix crash in PulseAudio on Linux 2020-06-09 03:03:53 +10:00
Connor McLaughlin
d7f083559e Add initial libretro implementation 2020-06-09 02:44:42 +10:00
Connor McLaughlin
f5fd37c4c4 Qt: Fix compatibility column not showing by default 2020-06-09 02:41:24 +10:00
Connor McLaughlin
075380f8e0 Move most helper logic from base HostInterface to FrontendCommon 2020-06-09 02:35:37 +10:00
Connor McLaughlin
444a09efd4 AudioStream: Don't call FramesAvailable() while locked 2020-06-09 02:05:49 +10:00
Connor McLaughlin
7b4b2d5dc5 GameList: Ignore all whitespace characters in SYSTEM.CNF
Fixes some games not having serials displayed, e.g. Chrono Cross.

Thanks to @TzakShrike for narrowing down the cause.
2020-06-08 03:05:27 +10:00
Connor McLaughlin
a56d7385eb SDL: Support rendering software cursor in D3D11 2020-06-08 02:59:38 +10:00
Connor McLaughlin
f9eb3719e3 HostInterface: Add software cursor mode
This will probably need to be extended in the future.
2020-06-08 02:53:55 +10:00
Connor McLaughlin
f98bb033ff HostDisplay: Add an interface for setting software cursor 2020-06-08 02:53:37 +10:00
Connor McLaughlin
29d918dbb0 Qt/GameProperties: Implement hash calculation 2020-06-08 01:19:54 +10:00
Connor McLaughlin
8b04b74f27 Common: Add a CD image hasher class 2020-06-08 01:19:35 +10:00
Connor McLaughlin
b4e45e865a GPU: Use correct clocks for NTSC region
Fixes sync drift in Bust-a-Move 1/2.
2020-06-07 19:15:06 +10:00
Albert Liu
2490618d0a CMake: Always run gen_scmversion script on rebuilds
Fixes issue where scmversion.cpp would not be regenerated with updated
Git info on rebuilds, causing an outdated version to be displayed in
window titles.
2020-06-07 00:49:14 -07:00
Connor McLaughlin
b9bfe30b1e SDL: Fix compilation on older versions 2020-06-07 01:38:38 +10:00
Connor McLaughlin
bc9246b444 Qt: Add inline help to audio settings 2020-06-07 01:30:05 +10:00
Connor McLaughlin
531c3ad5fa AudioStream: Replace buffer queue with ring buffer
Should achieve a decent overall minimum latency reduction.
2020-06-07 01:22:03 +10:00
Connor McLaughlin
6acd8b27dd Qt: Prevent lag disabling power on buttons when starting 2020-06-06 03:44:57 +10:00
Connor McLaughlin
009e474c51 AnalogController: Fix inverted motor binding 2020-06-05 22:32:51 +10:00
Connor McLaughlin
88502e130e Settings: Fix memory cards not syncing with disc change in title mode 2020-06-04 02:15:29 +10:00
Connor McLaughlin
c8e1881ea9 GPU/HW: Clear dirty rectangle when updating shadow texture
Fixes high GPU usage in Robbit mon Dieu in D3D11, should improve overall
performance slightly when VRAM copies are heavily used.
2020-06-02 21:45:38 +10:00
Connor McLaughlin
9ea163e666 GPU/D3D11: Fix mask test in same vertex batch
Fixes shadows in Bust a Groove 2, probably others.
2020-06-02 20:52:07 +10:00
Connor McLaughlin
3848276fa2 GPU: Improvements to height calculations when interlaced
Fixes screen doubling with interlacing force disabled, as well as
incorrect cropping area when non-interleaved framebuffers are used.
2020-06-02 20:52:07 +10:00
Connor McLaughlin
8eb3ac69b2 SPU: Update ADSR envelope when register changes
Fixes menu sounds in Final Fantasy 7 staying audible for too long.
2020-06-02 01:59:49 +10:00
Connor McLaughlin
dcfb929de5 CDROM: Fix double-reads hitting incorrect sector again
Fixes Bedlem / Rise 2 without breaking Vigilante 8 - 2nd Offense.
2020-06-02 00:59:13 +10:00
Connor McLaughlin
5e7fd5aa71 CDROM: Fix integer overflow in seek timing calculation 2020-06-01 22:20:26 +10:00
Connor McLaughlin
1947080d91 CDROM: GetlocL should return an error while seeking
Or more specifically, the coarse seek part. Verified with hardware
tests.
2020-06-01 21:40:28 +10:00
Connor McLaughlin
e5fc47a008 Bus: Further tweaks to access timing
Matches closely to my console now.

Fixes Otona No Asobi again.
2020-06-01 21:39:33 +10:00
Connor McLaughlin
7d66569d69 GPU/HW: Fix bobbing screen with interlacing disabled
Fixes bobbing screen in Tom and Jerry in House Trap.
2020-06-01 03:26:35 +10:00
Connor McLaughlin
f856a8ad65 CDROM: Ignore pending setloc after read/play
Fixes games which send a second Setloc after reading, e.g. Army Men -
Sarge's Heroes.
2020-05-31 17:03:15 +10:00
Connor McLaughlin
af1c4f9378 Fix MSVC build 2020-05-31 16:42:51 +10:00
Connor McLaughlin
a800f73a8f
Merge pull request #516 from ggrtk/negcon
Controller: Add NeGcon support
2020-05-31 16:41:48 +10:00
Connor McLaughlin
bf6faafc54 GameList: Fix cache getting corrupted from unknown games 2020-05-31 16:11:15 +10:00
Albert Liu
ee3a96011e Controller: Add NeGcon support 2020-05-30 23:11:02 -07:00
Connor McLaughlin
e293c22cde DMA: Run manual channels while halted
Fixes games which have looping linked lists but still expect CD/OTC
reads to work.

Also caps the number of ticks used when looping linked lists are
present, which doesn't steal so much time from the CPU per batch.

Fixes:
 - Victory Spike
 - Magical Drop III - Yokubari Tokudai-gou!
 - Yuukyuu no Eden - The Eternal Eden
 - Loading screen in World Cup Golf - Professional Edition
2020-05-31 02:43:51 +10:00
Connor McLaughlin
2d067bb101 CDROM: Fix warning log spam on command 2020-05-31 02:41:42 +10:00
Connor McLaughlin
de8aef4f44 Qt: Fix pause button repeatedly triggering sometimes 2020-05-31 02:41:31 +10:00
Connor McLaughlin
0672cf4873 CDROM: Implement a heuristic for command cancelling
See note in source. Fixes loading times and slowed down audio in Voice
Idol Collection - Pool Bar Story.
2020-05-30 22:04:15 +10:00
Connor McLaughlin
a4f79de7f6 CDROM: Return error for incorrect parameter count 2020-05-30 21:59:03 +10:00
Connor McLaughlin
69a00a64e6 Bus: Adjust memory access and MMIO timing
Hasn't broken anything yet, but needs more thorough testing.
2020-05-30 02:19:12 +10:00
Connor McLaughlin
07e8ab4446 CDROM: Increase seek delay by one sector
Fixes Resident Evil 2.
2020-05-30 02:19:01 +10:00
Connor McLaughlin
38fc843541 GPU/HW: Use upscaled texture coordinates for non-paletted textures
Fixes games which use render-to-texture effects not being upscaled.
2020-05-30 02:19:01 +10:00
Connor McLaughlin
fe364d5e8b SDL: Include frame times in status bar 2020-05-30 02:19:01 +10:00
Connor McLaughlin
13c3426148
Merge pull request #506 from ggrtk/analog-controller
Update input profiles and input profile handling
2020-05-28 13:06:40 +10:00
Albert Liu
e1e3cf4f5a CommonHostInterface: Simplify input profile saving 2020-05-27 17:49:06 -07:00
Albert Liu
f8fea1b215 INISettingsInterface: Return bool on saving settings 2020-05-27 17:48:33 -07:00
Connor McLaughlin
4e8da3cb41 CDROM: Replace sound map assert with error log
I am not aware of any games which use it yet, so have no way of testing
if the implementation is correct.
2020-05-28 03:07:33 +10:00
Connor McLaughlin
06621a9547 SDL: Fix second port controller/memcard type changes 2020-05-28 03:07:18 +10:00
Connor McLaughlin
2dd7f48d97 CDROM: Don't skip pregap for CDDA
Fixes music looping in Treasure Gear.
2020-05-28 02:42:18 +10:00
Connor McLaughlin
2264849151 CDROM: Update position when double-seeking
Doesn't fix anything I'm aware of, but makes sense.
2020-05-28 02:41:53 +10:00
Albert Liu
1f74d46d39 AnalogController: Use proper upper bound when validating axis_code 2020-05-26 23:23:44 -07:00
Connor McLaughlin
51c75554e6 Qt: Fix overlapping options in general settings 2020-05-27 02:13:04 +10:00
Connor McLaughlin
81a7b147fc System: Add option to disable loading memory cards from save states 2020-05-27 02:06:56 +10:00
Connor McLaughlin
b17a5832e5 System: Simplify save state booting
Fixes memory card warning messages on load state.
2020-05-27 02:01:11 +10:00
Connor McLaughlin
d2c7639dd8 System: Update per-game memory cards on load state
Prevents saves being written to incorrect card after loading.
2020-05-27 00:41:58 +10:00
Connor McLaughlin
eb6b490c76 SDL: Ignore unused key modifiers 2020-05-27 00:27:52 +10:00
Connor McLaughlin
445bd02cad GPU/HW: Interlace at native resolution rather than 1x
Also fixes screen bobbing when interlacing is disabled.
2020-05-27 00:27:27 +10:00
Connor McLaughlin
23436f08ba GPU/HW: More improvements to GPUSTAT.31
Fixes True Pinball without breaking intros to Final Fantasy 7/8.
2020-05-26 22:57:58 +10:00
Connor McLaughlin
04f131f979 GPU/OpenGL: Fix 24-bit progressive scanout regression 2020-05-26 21:31:01 +10:00
Connor McLaughlin
cb66889856 GPU/OpenGL: Fix non-interleaved interlaced display 2020-05-26 13:44:05 +10:00
Connor McLaughlin
e368dbbadc GPU: Implement non-interleaved interlaced rendering
Fixes screen shaking in True Pinball.
2020-05-26 03:18:05 +10:00
Connor McLaughlin
0daea7c2fc GPU/HW: Disable texture buffer based uploads on macOS 2020-05-25 20:26:13 +10:00
Connor McLaughlin
e0d9bbced4 GPU/HW: Add UBO extension require if !GL3.2
Might fix errors on Sandy Bridge.
2020-05-25 18:37:32 +10:00
Connor McLaughlin
13df6c3e15 GPU/HW: Fix incorrect version capping for GL<4.3 2020-05-25 18:37:11 +10:00
Connor McLaughlin
0571b75fa5 GL/Context: Print GL_SHADING_LANGUAGE_VERSION on creation 2020-05-25 18:36:52 +10:00
Connor McLaughlin
2156236f52 Frontends: Use common GL context wrapper 2020-05-25 15:02:44 +10:00
Connor McLaughlin
4f4c4f4146 Common: Add GL context wrapper implementation 2020-05-25 15:02:44 +10:00
Connor McLaughlin
1494f2bc75 CDROM: Set m_current_lba to the sector being read
Fixes double-read commands returning incorrect sectors.

Fixes Vigilante 8 - 2nd Offense.
2020-05-24 13:28:12 +10:00
Connor McLaughlin
9f22684cea Qt: Combine resume and power off toolbar buttons 2020-05-23 15:03:15 +10:00
Connor McLaughlin
e6d52ce6de Qt: Add Resume button 2020-05-23 15:03:00 +10:00
Connor McLaughlin
e24e4c20e1 Qt: Fix pause button getting locked on after restarting game 2020-05-23 15:01:36 +10:00
Connor McLaughlin
237f469baa GPU: Mask variable sprite/rectangle sizes
Fixes broken sprites in Gradius Deluxe Pack (Gradius II).
2020-05-21 12:04:57 +10:00
Connor McLaughlin
c583459c6f GPU: Replace coord/size masks with constants 2020-05-21 12:02:19 +10:00
Connor McLaughlin
35a8c5b47c Timers: Don't hang when counter+target = 0 for timer1
This needs proper research into how it behaves with IRQs.
2020-05-21 00:26:07 +10:00
Connor McLaughlin
3c7229dfe2 CDROM: Add 3 sectors read time to seek time
Simulates the drive's inprecise coarse seek then reading subq to get to
the exact sector.

Fixes Waku Waku Derby.
2020-05-20 23:52:35 +10:00
Connor McLaughlin
dfe0dcb56c Qt: Split memory card/controller config, make bindings scroll 2020-05-20 23:26:26 +10:00
Connor McLaughlin
e7778ea86e Qt: Move OpenURL to QtUtils namespace 2020-05-20 23:25:16 +10:00
Connor McLaughlin
d41bf86eaa CDROM: Don't apply logical seek rules to subq-based seeks
Fixes Panekit - Infinitive Crafting Toy Case.
2020-05-20 19:30:46 +10:00
Connor McLaughlin
11c2b5a1e8 Bus: Extend SPU address range to 0x400 bytes 2020-05-20 18:57:33 +10:00
Connor McLaughlin
a693437bc9 Bus: Handle unaligned byte writes to SPU 2020-05-20 18:56:41 +10:00
Connor McLaughlin
c8a00c58eb Qt: Add Remove Disc option to change disc menu 2020-05-20 02:32:19 +10:00
Connor McLaughlin
fa027d9c2a SDL: Add remove disc menu option 2020-05-20 02:26:23 +10:00
Connor McLaughlin
340640821e CDROM: Add delay when swapping discs
Fixes broken disc swap detection in Metal Gear Solid.
2020-05-20 02:26:07 +10:00
Connor McLaughlin
415880fc40 CDROM: Don't restart play/read when current == target
Fixes CDDA locking up Buster Bros. Collection.
2020-05-20 02:05:19 +10:00
Connor McLaughlin
5d46556b7d CDROM: Update position while seeking for GetlocP
Fixes track selection in WipEout.
2020-05-20 01:52:54 +10:00
Connor McLaughlin
7bb087fe73 gen_scmversion: Don't use latest GitHub release tag 2020-05-19 15:31:11 +10:00
Connor McLaughlin
1eecd50f3d SPU: Run SPU when changing regs on voice pending key-on
Fixes menu/cursor sounds with different frequencies in Final Fantasy 7.
2020-05-18 00:59:13 +10:00
Connor McLaughlin
03080351c8 SPU: Reset ADPCM decoder last samples on key on 2020-05-18 00:50:55 +10:00
Connor McLaughlin
096ed21767 GPU: Synchronize before filling/writing with interlaced rendering 2020-05-17 21:51:33 +10:00
Connor McLaughlin
88cc695d0b HostDisplay: Adjust offsets for linear filtering
Fixes line on right of screen in South Park.
2020-05-17 21:10:48 +10:00
Connor McLaughlin
19cebd97da GPU: Further refinements to crop overscan
Fixes flickering line in South Park.
2020-05-17 19:23:48 +10:00
Connor McLaughlin
0ef0c36704 GPU: Align display widths to 4 pixels
Documentation thanks to nocash.

Fixes line on edge in X2 - No Relief, Gunbird.
2020-05-17 18:46:59 +10:00
Connor McLaughlin
664bd06df6 GPU: Don't recursively execute commands
This can happen with interlaced rendering on when a line is pending
scanout and a primitive is drawn.

Fixes screen transitions in Slap Happy Rhythm Busters.
2020-05-17 17:58:48 +10:00
Connor McLaughlin
0bdac9e4be SDL: Add disable interlacing to quick settings menu 2020-05-17 17:58:32 +10:00
Connor McLaughlin
c475923bdd SDL: Add log level settings to debug menu 2020-05-17 14:12:36 +10:00
Connor McLaughlin
8fd3a83ea8 Settings: Save DMA timing hacks to ini 2020-05-17 14:12:35 +10:00
Connor McLaughlin
2185bbec73 GPU: Display state in debug window 2020-05-17 14:11:42 +10:00
Connor McLaughlin
597aa20d83 GPU: Don't panic when FIFO is non-empty with VRAM->CPU copy
This probably is not a good state to be in though, since the DMA request
gets turned off and will never resume until it's copied out.
2020-05-17 14:05:31 +10:00
Connor McLaughlin
7d887edf17 DMA: Write correct terminator at end of OTC
Fixes NBA Live 96.
2020-05-17 13:58:26 +10:00
Connor McLaughlin
2795dea124 HostInterface: Prioritize SCPH-3000 over SCPH-1000 for NTSC-J 2020-05-17 01:08:14 +10:00
Connor McLaughlin
b25ed6c151 GPU: Fix interlaced rendering in vblank breaking 2020-05-17 01:02:20 +10:00
Connor McLaughlin
93031fc27f SDL: Re-add frame step hotkey
Needs porting to Qt at some point.
2020-05-17 01:00:44 +10:00
Connor McLaughlin
1c50a09c2e HostInterface: Set user directory to Documents\DuckStation 2020-05-17 00:22:16 +10:00
Connor McLaughlin
f7a2448dfb HostInterface: Pull compatibility database from program directory
Fixes compatibility list not reading on Linux.
2020-05-16 22:18:05 +10:00
Connor McLaughlin
4c9cdbb147 Qt/GameProperties: Disable all fields when code is missing 2020-05-16 21:19:34 +10:00
Connor McLaughlin
525bfda672 Build: Copy data directory with VS solution too 2020-05-16 20:55:00 +10:00
Connor McLaughlin
9ff8cf009a Qt: Fix tab order in game properties dialog 2020-05-16 20:32:36 +10:00
Connor McLaughlin
4e66b12727 Qt: Hook up export compatibility info to game properties 2020-05-16 20:32:36 +10:00
Connor McLaughlin
669934eb1a GameList: Support exporting XML snippets for compatibility info 2020-05-16 20:32:36 +10:00