Commit graph

1809 commits

Author SHA1 Message Date
Connor McLaughlin ef7d135492 GPU: Fix missing sync when hblank is pending 2021-01-31 16:39:51 +10:00
Connor McLaughlin 9d80c48d6f CPU: Fix icache missing from save state 2021-01-31 16:39:51 +10:00
Albert Liu 2938c946f9 AnalogController: Improve accuracy of rumble configuration 2021-01-30 00:53:43 -08:00
Albert Liu c9c2f1bd21 AnalogController: Handle more config mode 0x46 and 0x47 cases 2021-01-29 23:50:45 -08:00
Connor McLaughlin 3c2b11fccb System: Don't log rewind pending flag when disabled 2021-01-29 01:27:32 +10:00
Connor McLaughlin 84c30703b2 Settings: Disable interlacing by default
The games which require it are auto-disabled by gameini.
2021-01-28 23:52:25 +10:00
Connor McLaughlin 4bb3fb48f9 System: Add a new throttler/pacer which can catch up on lost time
This can result in worse frame pacing, so if you have a decent machine
you'll probably want to turn on "display all frames" in display
settings.

But, it's sadly needed for Android.
2021-01-28 21:04:23 +10:00
Connor McLaughlin 16a32bf696 Qt: Simplify runahead settings 2021-01-26 03:38:31 +10:00
Connor McLaughlin 1b16ba3d98 Warning fixes 2021-01-26 03:38:31 +10:00
Connor McLaughlin e79dff1731 System: Use hybrid sleep on Android 2021-01-26 03:38:31 +10:00
Connor McLaughlin 24dd49e05d GPU: Fix runahead with MSAA enabled in D3D11/Vulkan 2021-01-26 03:22:23 +10:00
Connor McLaughlin b7752ff30b CDROM: Update position when pausing while seeking instead of erroring
This was causing freezes in FF7 - needs more research.
2021-01-25 01:49:35 +10:00
Connor McLaughlin b3ce2b21c0 System: Prevent using both runahead and rewind concurrently 2021-01-25 01:15:46 +10:00
Connor McLaughlin 3f96473fb5 System: Reuse existing texture/buffers for runahead/rewind 2021-01-25 01:15:46 +10:00
Connor McLaughlin e01d66d18e System: Implement runahead 2021-01-25 01:15:46 +10:00
Connor McLaughlin 516d685dd0 System: Add memory-only save states and rewind 2021-01-25 01:15:45 +10:00
Connor McLaughlin 6c6fdeb15e HostDisplay: Make textures have levels/layers/samples attributes 2021-01-24 20:41:40 +10:00
Connor McLaughlin b62f31fd96 System: Use region from exe/psf when booting 2021-01-24 17:37:09 +10:00
Connor McLaughlin 253b115b11 PSFLoader: Detect region from exe 2021-01-24 17:37:09 +10:00
Connor McLaughlin 10135e08a2 PSFLoader: Support loading minipsfs/libraries 2021-01-24 17:37:09 +10:00
Connor McLaughlin 4433197665 CPU/Recompiler: Fix hang in AArch32/armv7 2021-01-21 13:20:02 +10:00
Connor McLaughlin 4e802e90ca SPU: Move voice key off/on outside sample loop
Should be a very tiny performance boost with no difference in behaviour.
2021-01-20 12:32:37 +10:00
Connor McLaughlin 8c8f29c047 CDROM: Double audio FIFO low watermark size
Gives a better chance to catch up in case of desyncs.
2021-01-20 12:09:44 +10:00
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
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
Connor McLaughlin 678146b907 HostInterface: Add separate volume control for fast forwarding 2020-12-09 01:03:32 +10:00
Connor McLaughlin b79d025e66
Merge pull request #1174 from ggrtk/analog-controller
AnalogController: Disallow analog-to-dpad in config mode
2020-12-09 00:22:57 +10:00
Connor McLaughlin 419736aaee GPU/Software: Ensure commands are always aligned to 4 bytes 2020-12-09 00:19:57 +10:00
Albert Liu 18a4ff76e2 AnalogController: Disallow analog-to-dpad in config mode 2020-12-08 02:36:19 -08:00
Connor McLaughlin 98d6b49987 System: Log FPS/frame times every second 2020-12-08 01:47:28 +10:00
Albert Liu 93f46c142c GPU: Fix GPUTexturePaletteReg y BitField width 2020-12-06 22:20:23 -08:00
Connor McLaughlin b44a654943 System: Reset throttler when audio buffers underflow
Should hopefully reduce the chances of the audio source ending up out of
phase from the emulation when vsync is disabled.
2020-12-07 02:44:23 +10:00
Connor McLaughlin 737a87b483 CommonHostInterface: Add a hotkey to toggle all cheats 2020-12-06 23:32:32 +10:00
Connor McLaughlin f5ccb6ea60 CPU: Fall back to mmap'ed buffer if reprotecting code space fails 2020-12-06 18:13:07 +10:00
Connor McLaughlin 09495b1d93 Cheats: Implement C1 command 2020-12-06 15:50:58 +10:00
Connor McLaughlin ea9829946d Cheats: Implement D4/D5/D6 code types 2020-12-06 15:47:00 +10:00
Connor McLaughlin a90c25d0e7 SPU: Ignore manually set loop address only on first block
Fixes occasional missing dialogue in Valkyrie Profile.
2020-12-06 00:35:54 +10:00
Connor McLaughlin d7bd21c06d Timers: Update when sync is used with sysclk source
Fixes hang at boot in Zoku Mikagura Shoujo Tanteidan - Kanketsuhen.
2020-12-06 00:35:54 +10:00
Connor McLaughlin 5e05a14f97 GPU: Fix incorrect draw time approximation of lines
Fixes flickering pre-mission screen in Omega Boost.
2020-12-06 00:35:54 +10:00
Connor McLaughlin d757056891 GPU: Implement dot clock timer (Timer 0)
Fixes softlock in Evil Dead - Hail to the King.
2020-12-06 00:35:54 +10:00
Connor McLaughlin 8b3426a96e System: Reinitialize code cache on hw settings change/disc swap
Basically, anything which could allocate large amounts of memory and
potentially overlap with our fastmem area.
2020-12-06 00:35:54 +10:00
Connor McLaughlin 1c9d0967b1 GPU/OpenGL: Fix shader compile error on GLES 2020-12-06 00:35:54 +10:00
Connor McLaughlin 5575950822 Cheats: Support chaining C0 codes with separator (00000000 FFFF) 2020-12-05 02:08:10 +10:00
Connor McLaughlin af6b0dc189 Qt: Add option to pause on application focus loss 2020-12-05 02:08:10 +10:00
Connor McLaughlin 9089c97339 CPU: Drop cache control log to dev level 2020-12-04 01:19:00 +10:00
Connor McLaughlin 52dbcbaca5 PGXP: Treat add rd, rs, zero as moves
Fixes exploding vertices in BIOS intro.

Needs further investigation as to why this fixes it - clearly the actual
oepration is incorrect.
2020-12-04 01:07:36 +10:00
Connor McLaughlin 59ac365b52 GPU/HW: Extend the UV range to all "upscaled" pixels
Extend the UV range to all "upscaled" pixels. This means 1-pixel-high
polygon-based framebuffer effects won't be downsampled.

(e.g. Mega Man Legends 2 haze effect)
2020-12-04 00:33:04 +10:00
Connor McLaughlin 362905e3df GPU: Add display line offset game setting
Use when games need additional cropping.
2020-12-04 00:33:04 +10:00
Connor McLaughlin c406f0708f Cheats: Implement C0 command (activate codes iff equal) 2020-12-03 00:57:52 +10:00
Connor McLaughlin 7e944103c2 GPU/OpenGL: Work around rasterization/interplation issue on V3D/Pi4 2020-12-01 15:14:23 +10:00
Connor McLaughlin a2666de7c8 HostInterface: Make mmap fastmem unavailable a warning instead of OSD message 2020-12-01 13:23:02 +10:00
Connor McLaughlin 977c2f4947 CheatList: Fix games with serial aliases not loading from database 2020-12-01 13:21:07 +10:00
Connor McLaughlin f8c2d7dafd
Merge pull request #1121 from dankcushions/geoshader
OES_geometry_shader and OES_copy_image support
2020-12-01 02:12:51 +10:00
Connor McLaughlin 98f70e9b51 HostDisplay: Add 5:4 and 3:2 aspect ratios 2020-12-01 01:58:46 +10:00
Connor McLaughlin 37c9e69b3e System: Zero downcount at end of frame
Prevents code running after vblank starts, and fixes events getting
delayed in interpreter mode.
2020-12-01 01:16:49 +10:00
dankcushions e7139fe0d1 OES_copy_image support 2020-11-30 14:08:26 +00:00
Connor McLaughlin b695d3c6ce System: Use existing media if save state media is not found 2020-11-30 01:15:44 +10:00
Connor McLaughlin eaafd0a00c Cheats: Support parsing built-in database 2020-11-30 01:15:44 +10:00
Connor McLaughlin 39010320ea HostDisplay: Fix possible race when saving screenshots 2020-11-30 01:15:44 +10:00
dankcushions 82b4edfaf4 OES_geometry_shader can be supported by non-GLES 3.2 conformant devices (eg Pi 4) 2020-11-28 17:48:46 +00:00
Connor McLaughlin a75b6e512a System: Improve translatability of save state error 2020-11-28 00:35:03 +10:00
Connor McLaughlin 5f69216f70 HostInterface: Add OpenPackageFile method 2020-11-28 00:14:45 +10:00
Connor McLaughlin 1fa0903fa9
Merge pull request #1111 from ggrtk/gpu-sw-fix
GPU/SW: Fix 16-bit wraparound output crashing
2020-11-28 00:12:41 +10:00
Albert Liu e12c68cf65 GPU/SW: Fix 16-bit wraparound output crashing 2020-11-26 23:58:06 -08:00
Albert Liu 32e47fba93 System: Limit maximum loadable save state version 2020-11-26 19:51:45 -08:00
Connor McLaughlin f0ff7ce231 PGXP: Add geometry tolerance setting 2020-11-27 01:40:50 +10:00
Connor McLaughlin 125dfa7c40 HostDisplay: Support resizing/compressing images on worker thread 2020-11-27 01:40:50 +10:00
Albert Liu 9ac09d35be AnalogController: Only clear motor state on rumble config if not used 2020-11-26 06:01:08 -08:00
Albert Liu a4eb4b9280 AnalogController: Set transfer state to idle on reset 2020-11-26 06:01:08 -08:00
Connor McLaughlin fcbd618783
Merge pull request #1105 from ggrtk/analog-controller
AnalogController: Rumble handling and config mode fixes
2020-11-26 01:43:50 +10:00
Albert Liu 566993c6df AnalogController: Improve DualShock rumble handling
Fixes low vibration in Final Fantasy VIII, missing vibration in Armored
Core Project Phantasma, etc.
2020-11-25 07:33:30 -08:00
Albert Liu 31b41b9ec0 AnalogController: Output zeros for 0x43 when already in config mode 2020-11-25 07:33:30 -08:00
Albert Liu 3f709d97b6 AnalogController: Send full analog response for reads in config mode 2020-11-25 07:33:30 -08:00
Albert Liu e4820bcbc1 AnalogController: Delay manual mode toggle to transfer state reset 2020-11-25 07:33:30 -08:00
Connor McLaughlin b45bee5954 libretro: Work around crash in RetroArch Vulkan driver 2020-11-25 23:06:41 +10:00
Connor McLaughlin 917fa5dd0e SPU: Only ignore loop address for not-pending-on voices
Fixes softlocks during dialog in The Misadventures of Tron Bonne.
2020-11-25 22:45:03 +10:00
Connor McLaughlin bf2e38aed5 CPU/Recompiler: Implement LUT-based fastmem 2020-11-24 14:49:21 +10:00
Connor McLaughlin 0793f98c87 CPU/Recompiler: Reduce armv7 code buffer size 2020-11-22 13:59:26 +10:00
Connor McLaughlin 07dbc5a80d GPU/HW: Draw opaque before semitransparent for reverse subtract
Fixes missing shadows in Suikoden II.
2020-11-22 13:46:20 +10:00
Connor McLaughlin e06f85a328 GPU: Fix VRAM palette changes not being detected in hw renderer
Fixes wall texture animation in Mega Man Legends.
2020-11-22 13:22:29 +10:00
Connor McLaughlin b49067d165 Build: Fix Android armv8 performance regression 2020-11-22 02:33:02 +10:00
Connor McLaughlin 7e7ec86f91 GPU/Software: Remove a couple of unused variables 2020-11-22 01:24:26 +10:00
Connor McLaughlin a6529a9537 Android: Enable armeabi-v7a builds 2020-11-21 23:47:12 +10:00
Connor McLaughlin 131dc923ed Build: Fix CMake build 2020-11-21 18:59:03 +10:00
Connor McLaughlin b554c133ea GPU/OpenGL: Add a version check and display message when unsupported 2020-11-21 18:39:04 +10:00
Connor McLaughlin 2595e31575 GPU: Split software to frontend/backend 2020-11-21 18:39:04 +10:00
Connor McLaughlin 03d4f80883 GPU: Move enums/types into separate file 2020-11-21 18:39:04 +10:00
Connor McLaughlin d3d881aa6b GPU/Software: Reduce number of copies by one, enable 16-bit scanout 2020-11-21 18:39:04 +10:00
Connor McLaughlin 9f3e8bed86 CPU: Add AArch32/armv7 recompiler 2020-11-21 18:39:04 +10:00
Connor McLaughlin 1128836826 CPU/Recompiler: Add GetValueInHostOrScratchRegister helper 2020-11-21 18:39:04 +10:00
Connor McLaughlin cdd0a5525a CPU/Recompiler: Reduce register pressure of lwl/lwr/swl/swr 2020-11-21 18:39:04 +10:00
Connor McLaughlin 6df5824616 CPU/Recompiler: Support targets where shifts aren't implicitly masked 2020-11-21 18:39:04 +10:00
Connor McLaughlin 053d7fdc4b CPU/Recompiler: Inhibit allocation in mtc0/rfe branches 2020-11-21 18:39:04 +10:00
Connor McLaughlin 028a5c60d7 Bus: Fix failed safe instruction reads raising guest exceptions 2020-11-21 18:39:03 +10:00
Connor McLaughlin 28c88cd69f Build: Fix Win32 compilation of core 2020-11-21 18:39:03 +10:00
Connor McLaughlin a03bca2f72 CPU: Make fastmem a compile-time feature (support 32-bit targets) 2020-11-21 18:39:03 +10:00
Connor McLaughlin 125d104df4 Pad: Fix controller state not being ignored in state load 2020-11-21 18:39:03 +10:00
Connor McLaughlin 53f81d067a CPU/CodeCache: Remove warning about executing uncompiled blocks 2020-11-21 18:39:03 +10:00
Connor McLaughlin 3185c5df0f
Merge pull request #1078 from CookiePLMonster/sdl-joystick-support
Add SDL_Joystick support
2020-11-21 18:37:20 +10:00
Connor McLaughlin e4d2b7331b CommonHostInterface: Add resize window to scale functions 2020-11-19 00:40:02 +10:00
Connor McLaughlin 0726ad1275 GPU: Flush partial VRAM writes to backend VRAM 2020-11-19 00:40:02 +10:00
Connor McLaughlin 9e11e5c354 CPU: Make zero register printing consistent with the others 2020-11-19 00:40:02 +10:00
Connor McLaughlin 042bdd9c0c CPU/CodeCache: Fetch second delay slot from first branch for double branches 2020-11-19 00:40:02 +10:00
Connor McLaughlin 3890a539ee CDROM: Clear data FIFO on reset
Fixes Snatcher booting.
2020-11-19 00:40:02 +10:00
Silent 2880b71b48
Support for SDL Joysticks
This enables use of non-controller peripherals,
such as DirectInput steering wheels or flight sticks
2020-11-15 16:12:39 +01:00
Connor McLaughlin 473cfffa0c GPU: Only accept DMA writes when FIFO is empty or command incomplete
Fixes a bunch of games, including Red Asphalt, Little Princess, Vampire
Hunter D main menu when combined with tight DMA sync.
2020-11-16 01:00:55 +10:00
Connor McLaughlin df12f08ac3 DMA: Add additional tick penalty to DMA chains for page change 2020-11-16 01:00:55 +10:00
Albert Liu 7ed0477a29 AnalogController: Save buttons and legacy rumble to state 2020-11-14 07:46:26 -08:00
Albert Liu 81a638cabb Pad: Fix loading controllers from save states 2020-11-14 07:46:26 -08:00
Albert Liu f9d2643d98 Controller: Add Analog Joystick support 2020-11-14 07:46:26 -08:00
Connor McLaughlin 13d9702000 HostDisplay: Log errno on file open failure 2020-11-15 00:16:00 +10:00
Connor McLaughlin 65be904d15 SPU: Only log warning about FIFO lost on writes 2020-11-14 23:20:28 +10:00
Connor McLaughlin 077764ce18 CPU/Interpreter: Handle move instructions in PGXP memory mode 2020-11-14 23:20:28 +10:00
Connor McLaughlin e1579584ef CPU/Recompiler: Fix PGXP values getting corrupted if cached in caller-saved reg 2020-11-14 23:20:28 +10:00
Connor McLaughlin 3f937a2a39 SPU: Port reverb algorithm changes from Mednafen 2020-11-14 23:20:28 +10:00
Albert Liu 3eeab81063 PlayStationMouse: Fix returning incorrect controller type 2020-11-13 01:42:31 -08:00
Albert Liu d87ab23fec ControllerInterface: Move axis scaling into AnalogController class 2020-11-11 23:55:23 -08:00
Connor McLaughlin ca14e53c4a GTE: Make widescreen hack use display aspect ratio 2020-11-11 01:02:40 +10:00
Connor McLaughlin 2d3fd621bf Settings: Add 19:9 aspect ratio 2020-11-11 01:02:40 +10:00
Connor McLaughlin 6cd991bc57 BIOS: Turn display on with fast boot
Fixes black screen in SaGa Frontier with fast boot disabled.
2020-11-11 01:02:40 +10:00
Connor McLaughlin d468814a6d GPU: Disable texture filters when dual-source blend is unsupported 2020-11-11 01:02:40 +10:00
Connor McLaughlin 92a4551bb2 GPU/OpenGL: Support GL_EXT_blend_func_extended for dual-source blend 2020-11-11 01:02:40 +10:00
Albert Liu d0443e3165 BIOS: Add BIOS image info for PS1 on PS3 2020-11-09 09:02:00 -08:00
Albert Liu c698519d44 Bus: Log writes to additional POST registers 2020-11-09 09:02:00 -08:00
Albert Liu f3522b7b70 Bus: Stub out EXP3 and unknown EXP accesses 2020-11-09 09:02:00 -08:00
Connor McLaughlin b6ec587e5b CheatList: Allow passing in strings instead of filenames 2020-11-08 00:22:35 +10:00
Connor McLaughlin 6828082f8b CheatList: Add merge list function for importing 2020-11-08 00:22:35 +10:00
Connor McLaughlin 576914cd2c CPU/CodeCache: Backpatch code writes after they exceed 10 faults
Small performance improvement in Driver 2.
2020-11-08 00:22:35 +10:00
Albert Liu 6d4b812b7c AnalogController: Implement legacy rumble method
Fixes missing vibration in Tobal 2, Bushido Blade, etc.
2020-11-04 22:45:58 -08:00
Connor McLaughlin 2b66492ed8 HostInterface: Add proper turbo speed setting 2020-11-03 22:59:26 +10:00
Connor McLaughlin 2c8a4ff154 HostDisplay: Add an option to decouple display fps from emulator fps
Makes Android so much faster...
2020-11-03 16:17:45 +10:00
Connor McLaughlin ae1e4b1b8f GPU: Add chroma smoothing for 24-bit display enhancement 2020-11-03 16:17:45 +10:00
Connor McLaughlin d102b2facd Qt: Fix selecting fullscreen mode breaking other backend borderless 2020-11-03 16:17:45 +10:00
Connor McLaughlin 863f84e3f6 System: Fix frame limiter on fast systems (when frametime <1ms) 2020-11-03 16:17:45 +10:00
Connor McLaughlin 2b2a868fef HostInterface: Fix incorrect translation context in CPU mode switch string 2020-11-02 00:56:05 +10:00
Connor McLaughlin 414bc30f24 HostDisplay: Implement exclusive fullscreen for D3D11 renderer 2020-11-02 00:56:05 +10:00
Connor McLaughlin 858f39827d GPU/HW: Add 'Disable Edge Blending' variants of texture filters 2020-11-02 00:56:05 +10:00
Connor McLaughlin 6ddf6784ab GPU/OpenGL: Fix edge blending when texture filtering 2020-11-02 00:56:05 +10:00
Connor McLaughlin 79aa1cece7
Merge pull request #1031 from ggrtk/negcon-deadzone
NeGcon: Add steering axis deadzone setting
2020-11-02 00:52:27 +10:00
Albert Liu 8b5fde8e6f BIOS: Add SCPH-1000R image infos 2020-11-01 04:21:17 -08:00
Albert Liu 3b51b993f3 NeGcon: Add steering axis deadzone setting 2020-11-01 04:17:18 -08:00
Connor McLaughlin b5b1c725c1 GPU: Fix MSAA in OpenGL ES 2020-10-31 15:24:25 +10:00
Connor McLaughlin f2aa343cae GPU/HW: Fix SSAA being enabled when it's not supported 2020-10-31 15:12:12 +10:00
Connor McLaughlin b3c5c0f852 GPU/OpenGL: Eliminate some redundant per-draw state calls 2020-10-31 14:27:58 +10:00
Connor McLaughlin 2eaebd8921 GPU: Implement support for multisample antialiasing 2020-10-31 14:27:58 +10:00
Connor McLaughlin 61a4960380 GPU: Skip zero-width or height fills 2020-10-31 14:27:57 +10:00
Connor McLaughlin 2e53bf914e CPU/CodeCache: Fix crash when jumping to invalid block in recompiler 2020-10-31 14:27:57 +10:00
Albert Liu df1c5c0f45 HostInterface: Fix PAL BIOS path not being read from settings 2020-10-29 14:26:07 -07:00
Connor McLaughlin 7078f73ecf AnalogController: Fix analog-as-digital applying in analog mode 2020-10-30 02:10:49 +10:00
Connor McLaughlin 2fb67ee7db AnalogController: Add option to use analog stick as dpad in digital mode 2020-10-30 00:44:40 +10:00
Connor McLaughlin be63d893cd CPU: Use partial icache fills for non-line-aligned addresses 2020-10-30 00:44:40 +10:00
Connor McLaughlin 3b3ad0c1cb Bus: Fix icache fills from BIOS failing 2020-10-30 00:44:39 +10:00
Connor McLaughlin f14270fc4b Bus: Ignore reads to nocash EXP2 area 2020-10-30 00:44:39 +10:00
Connor McLaughlin b2d224abfc System: Set BIOS before resetting
Fixes incorrect first instruction executing in interpreter mode.
2020-10-30 00:44:39 +10:00
Connor McLaughlin e081ee4b8e CDROM: Return error to guest instead of panicing for unknown commands 2020-10-30 00:44:39 +10:00
Connor McLaughlin a6947fbc70 CDROM: Implement fast forward/rewind 2020-10-30 00:44:39 +10:00
Connor McLaughlin 29467d40c8 DMA: Add debug window 2020-10-30 00:44:39 +10:00
Connor McLaughlin 0552da6be2 CDROM: Stub out VideoCD command 2020-10-29 01:44:44 +10:00
Connor McLaughlin 34a808c258 SPU: Zero previous block ADPCM samples on key on
Fixes clicking in background in Breath of Fire III.
2020-10-29 01:30:40 +10:00
Connor McLaughlin a8171405b1 CPU/CodeCache: Fix incorrect invalidation on non-page-crossing DMA writes
Fixes recompiler mode for Breath of Fire III, probably others.
2020-10-29 01:30:00 +10:00
Connor McLaughlin 451c48406d libretro: Fix runtime aspect ratio changes not applying 2020-10-28 17:32:59 +10:00
Connor McLaughlin 392c7af738 Bus: Fix assertion failing if booting fails 2020-10-28 17:31:25 +10:00
Connor McLaughlin be3dd3e06f HostInterface: Fix a possible crash when renderer recreation fails 2020-10-27 11:57:41 +10:00
Connor McLaughlin 7f795d25aa CPU/Recompiler: Don't try fastmem for RAM mirrors 2020-10-26 22:07:52 +10:00
Connor McLaughlin 875b0b91f1 CPU/Recompiler/AArch64: Use scratch for add CPU struct field 2020-10-26 22:02:35 +10:00
Connor McLaughlin 76428887b8 CPU/Recompiler: Fix typo in UninhibitAllocation function name 2020-10-26 22:00:10 +10:00
Connor McLaughlin cbc7e3d64a CPU/Recompiler: Add register allocation safety check to fastmem 2020-10-26 21:59:29 +10:00
Connor McLaughlin 1b618b8c46 SPU: Don't block ADPCM loop flag when setting/keying on in same slice
Fixes repeated sounds in Re-Loaded: The Hardcore Sequel.
2020-10-24 20:27:06 +10:00
Connor McLaughlin 98987643b3 SPU: Always reset address on loop end regardless of repeat
Fixes menu music in Madden NFL 99.
2020-10-24 19:42:23 +10:00
Connor McLaughlin a1453ee8a5 GPU: Skip full CRTC update on GP1(05h) 2020-10-23 19:37:56 +10:00
Connor McLaughlin e5a0c92336
Merge pull request #999 from ggrtk/gpu-crtc
GPU: CRTC update
2020-10-23 19:36:45 +10:00
Albert Liu 6bc7cf29cc GPU: Synchronize CRTC on GP1(05h) command
Fixes text flashing briefly after startup PlayStation logo in King's
Field (USA).
2020-10-22 21:41:42 -07:00
Albert Liu f69889264d Core: Make some additional OSD messages translatable 2020-10-22 02:07:48 -07:00
Albert Liu ca7db7a2d2 GPU: Update CRTC debug window reporting 2020-10-21 23:17:39 -07:00
Albert Liu 1a0b1a3149 GPU: Use accurate VRAM display width rounding
Modified version of Nocash algorithm, confirmed with hardware test.
Relies on proper horizontal display range rounding for correct results.
2020-10-21 23:17:39 -07:00
Albert Liu bbaebfd4c9 GPU: Round horizontal display range values down to clockdiv multiple
GP1(06h) X1 and X2 are persistent across clockdiv changes, but the GPU
actively uses rounded values for display output. This behavior is
modeled by storing the rounded values in horizontal_display_start and
horizontal_display_end. Verified with hardware test.
2020-10-21 23:17:39 -07:00
Connor McLaughlin 2b2e2f7854 Cheats: Invalidate code pages on memory writes 2020-10-22 11:09:11 +10:00
Connor McLaughlin 3fc9f264d7 CPUCodeCache: Fix extra page being invalidated on writing to edge 2020-10-22 11:08:57 +10:00
Connor McLaughlin 13aa5e0554 Cheats: Use internal memory handlers which can't trash MMIO
Safer and faster.
2020-10-21 22:28:11 +10:00
Connor McLaughlin 2fb611518d Cheats/MemoryScan: Restrict search to RAM/Scratchpad/BIOS 2020-10-21 22:28:11 +10:00
Connor McLaughlin 0d387dfaca Cheats/MemoryScan: Add Any operator 2020-10-21 22:28:11 +10:00
Connor McLaughlin cb6ef03775 CheatList: Save additional DuckStation fields in comments 2020-10-21 22:28:11 +10:00
Connor McLaughlin 39a61d2207 CheatList: Preserve comments in PCSXR format files 2020-10-21 22:28:11 +10:00
Connor McLaughlin b694577c38 Qt: Add new cheat manager 2020-10-21 01:11:30 +10:00
Connor McLaughlin 7755e238d3 GPU/Vulkan: Fix depth not being updated with VRAM writes
Fixes menu not showing in Dragon Quest VII.
2020-10-19 11:46:45 +10:00
Connor McLaughlin 7a82cae2bd CPU/Recompiler: Use register pairs for pop callee saved too 2020-10-19 02:23:04 +10:00
Connor McLaughlin 0fca011bd4 CPU/Recompiler: Fix OOB in register pairing 2020-10-19 02:23:04 +10:00
Connor McLaughlin 6a4a4c62d7 CPU/Recompiler: Use fastmem instead of global for RAM loads 2020-10-19 02:23:04 +10:00
Connor McLaughlin 325f83065c SPU: Always inline SPU::ExecuteVoice 2020-10-18 14:54:38 +10:00
Connor McLaughlin 245edd94d7 SPU: Eliminiate conditional in interpolation 2020-10-18 14:54:38 +10:00
Connor McLaughlin b704c37e91 CPU/Recompiler: Implement speculative constants 2020-10-18 14:54:38 +10:00
Connor McLaughlin 51eff82eb6 CPU/Recompiler: Implement lwl/lwr/swl/swr 2020-10-18 14:54:38 +10:00
Connor McLaughlin 7566c45f64 CPU/Recompiler: Implement fastmem 2020-10-18 14:54:38 +10:00
Connor McLaughlin 11faf6ccfb CPU/Recompiler: Skip calling event update on interrupts 2020-10-18 14:54:38 +10:00
Connor McLaughlin a16c2f5462 CPU/Recompiler: Skip tracking some more interpreter state 2020-10-18 14:54:38 +10:00
Connor McLaughlin a6f8dde790 CPU/Recompiler: Faster ASM dispatcher 2020-10-18 14:54:38 +10:00
Connor McLaughlin cb351a7dbd CPU: Move interrupt check out of inner-most exec loop 2020-10-18 14:54:38 +10:00
Connor McLaughlin 0afdc04d88 CPU/Recompiler: Optimize constant reads (and some writes) 2020-10-18 14:54:38 +10:00
Connor McLaughlin 69b2c3fc2d StateWrapper: Track save state version 2020-10-18 14:54:38 +10:00
Connor McLaughlin 19f4921ca7 GPU/OpenGL: Fix crash on non-dual-source-blend drivers 2020-10-14 18:50:10 +10:00
Connor McLaughlin 962f3407b4 Android: Add OpenSL ES audio backend 2020-10-14 00:48:48 +10:00
Connor McLaughlin 49cea927f0 Build: Add ARM64 platform for Windows 2020-10-14 00:48:48 +10:00
Romain TISSERAND b2ef931772 Minor gpu_sw optimizations and warning fixes 2020-10-12 13:15:21 +02:00
Connor McLaughlin 902024d225 CDROM: Implement volume peak in CDDA report
Fixes Kyuutenkai hanging at boot.
2020-10-11 20:44:52 +10:00
Connor McLaughlin 36bede11ae CPU/Recompiler/AArch64: Fix crash when icache is enabled 2020-10-11 15:04:49 +10:00
Connor McLaughlin d39c9f5d1c Clean up some compiler warnings 2020-10-11 12:21:08 +10:00
Connor McLaughlin 5e65882920 MemoryCardImage: Fix error in DeleteFile() 2020-10-11 12:21:08 +10:00
Connor McLaughlin fe25f005c2 GPU: Fix incorrect sign extension of positions
Fixes missing objects in Skullmonkeys (again).
2020-10-11 12:21:08 +10:00
Albert Liu 79af61cd21 Qt: Make some additional controller strings translatable 2020-10-10 15:59:19 -07:00
Connor McLaughlin fc28ba75da GPU/OpenGL: Create the texture stream buffer with its final target
Fixes broken texture uploads on Adreno GPUs.
2020-10-10 18:27:40 +10:00
Connor McLaughlin 8bb89c9aeb GPU/OpenGL: Disable texture buffer upload path if larger buffers are unsupported 2020-10-10 18:27:18 +10:00
Connor McLaughlin 13a9411b07 Android: Add BIOS importer 2020-10-10 17:42:21 +10:00
Connor McLaughlin 4f0007dd55 PGXP: Make preserving pre-divide fractional coordinates an option
Fixes holes in geometry in Crash Team Racing with PGXP on.
2020-10-10 00:07:07 +10:00
Connor McLaughlin fa638ef9d2 CPU/Interpreter: Fix incorrect call in to PGXP for addi
Fixes exploding triangles in Spyro with PGXP CPU mode enabled.
2020-10-09 18:49:36 +10:00
Connor McLaughlin 2df06225ee GPU/OpenGL: Don't keep shader cache open 2020-10-09 18:09:10 +10:00
Connor McLaughlin 64e1305087 GPU/D3D11: Don't keep shader cache open
Allows you to run multiple DuckStation instances.
2020-10-09 18:09:10 +10:00
Connor McLaughlin 6a4a47fbdf SPU: Set block counter to zero on key on
Fixes clicking in Final Fantasy VIII intro FMV.
2020-10-08 00:41:50 +10:00
Elizabeth e6ef5f1a1c
Add 16:10 Aspect Ratio Option (#931)
* Add 16:10 aspect ratio opton

* Add 16:10 deffinition
2020-10-07 18:00:38 +10:00
Connor McLaughlin 8ba93b36a0 CDROM: Add option to speed up double speed reads 2020-10-05 00:18:10 +10:00
Connor McLaughlin 8a91395566 CPU/Recompiler: Detect move instructions and forward to PGXP
Fixes holes in polygons in Gran Turismo 1 + 2 with PGXP enabled.
2020-10-05 00:18:10 +10:00
Connor McLaughlin 7278f055cb FrontendCommon: Attempt two at hotkey translation 2020-10-05 00:18:10 +10:00
Connor McLaughlin f071497be5 CPU/Recompiler: Optimize beq zero, zero, addr to unconditional branch
Seems to exist in some BIOS code. Credit to @Dillonb for the idea.
2020-10-04 00:12:01 +10:00
Connor McLaughlin 55f0915534 Qt: Hopefully fix save state slot hotkeys being untranslatable 2020-10-04 00:12:01 +10:00
Connor McLaughlin 50b025c75a GPU: Use triangle area for ticks rather than bbox
Fixes slow transitions in Tales of Phantasia.
2020-10-04 00:12:01 +10:00
Connor McLaughlin 45dd80b6a6 MemoryCardImage: Support importing truncated .gme files 2020-10-04 00:12:01 +10:00
Connor McLaughlin ca0bfc39a2 CDROM: Add a setting and hotkey to mute CD audio 2020-10-04 00:12:01 +10:00
Connor McLaughlin c051538d03 HostInterface: Mark some more OSD messages as being translatable 2020-10-03 01:06:04 +10:00
Connor McLaughlin 9a23c5547a GameSettings: Add CPU overclocking as game option 2020-09-30 23:48:34 +10:00
Connor McLaughlin 27697d0508 System: Implement CPU overclocking [SAVEVERSION+]
Partial credit to @CookiePLMonster as well.
2020-09-30 23:48:34 +10:00
Connor McLaughlin 8f9f039665 GPU/SW: Port triangle/line rasterizer from Mednafen 2020-09-30 23:04:14 +10:00
Connor McLaughlin cacf7a7cc9 GPU: Precompute texture window expression [SAVEVERSION+] 2020-09-30 23:03:52 +10:00
Connor McLaughlin 75734c25c7 Cheats: Implement 0x1F/scratchpad write 2020-09-28 21:18:38 +10:00
Connor McLaughlin 54e13015d8 Cheats: Implement C2/memory copy instruction 2020-09-28 20:45:45 +10:00
Connor McLaughlin 6961e645c6 Cheats: Ignore 00 code 2020-09-28 20:45:45 +10:00
Connor McLaughlin 4e9135cd57 Cheats: Implement 50/Slide instruction 2020-09-28 20:45:45 +10:00
Connor McLaughlin 58e24585c1 Cheats: Fix 10/11/20/21 commands 2020-09-28 20:45:45 +10:00
Connor McLaughlin b979706417 Pad: Use memory card filename from current state
Fixes memory card data getting lost after loading state.
2020-09-27 01:33:26 +10:00
Connor McLaughlin 3b68c4028d Pad: Load memory card from state when the data matches
A warning will be displayed when the card content does not match.
2020-09-26 15:53:09 +10:00
Connor McLaughlin d73271ec0a GPU: Add option to force 4:3 for 24-bit content (e.g. FMVs) 2020-09-26 15:11:45 +10:00
Connor McLaughlin cdc9f5c548 Settings: Fix AR list 2020-09-26 02:02:15 +10:00
Connor McLaughlin e7cfc69975 Cheats: Fix parsing of Retroarch cheats 2020-09-26 01:13:48 +10:00
Connor McLaughlin 40037d6e90 libretro: Cheat support 2020-09-26 01:13:48 +10:00
Elizabeth f38b8fda81
Add 21:9 to the Aspect Ratio settings 2020-09-24 20:59:41 -04:00
Connor McLaughlin b05d80ef5c CDROM: Don't choke on non-mode2 sectors
Fixes Formula One 99 circuit selection.
2020-09-25 00:25:32 +10:00
Connor McLaughlin f990d6ab3b GPU: Idle bit should be clear during an incomplete command 2020-09-24 22:16:15 +10:00
Connor McLaughlin cf2599b6c7 BIOS: Compile fix 2020-09-24 12:41:46 +10:00
Connor McLaughlin a6f6c1708b
Fix BIOS description text 2020-09-24 12:30:40 +10:00
phoe-nix 7993451871
Added missing 3 BIOS infos 2020-09-24 07:16:32 +08:00
Connor McLaughlin 40d157aa23
Merge pull request #875 from CookiePLMonster/more-slashes
Fix an outstanding forward slash showing in the UI
2020-09-23 22:55:40 +10:00
Connor McLaughlin 21a768f9e8
Merge pull request #878 from ggrtk/bios-image-infos
BIOS: Update image infos
2020-09-23 22:55:22 +10:00
Connor McLaughlin d728bc091b BIOS: Add option to set search directory elsewhere 2020-09-23 22:53:51 +10:00
Albert Liu 9a31eb50f6 BIOS: Add some more BIOS revision hashes 2020-09-22 22:49:46 -07:00
Albert Liu 073c053e36 BIOS: Fix mislabeling on SCPH-5500 hash 2020-09-22 22:49:21 -07:00
Silent e6431e3599
Fix an outstanding forward slash showing in the UI 2020-09-22 18:24:45 +02:00
Connor McLaughlin 78f06fb711 libretro: Fix breakage with new BIOS detection 2020-09-23 02:11:30 +10:00
Connor McLaughlin 7d01bedf07 BIOS: Automatically detect images, improve selection UI 2020-09-23 00:20:50 +10:00
Silent 92d0dabf54
Make path separators in UI more consistent 2020-09-20 00:08:17 +02:00
Connor McLaughlin 25f45fbd23 CPU: Add hack for stale icache reads in interpreter 2020-09-20 01:38:18 +10:00
Connor McLaughlin db84bdb560 CDROM: Apply 4 sector penalty to ReadN..ReadN sequence
Fixes Worms Pinball.
2020-09-20 01:36:49 +10:00
Connor McLaughlin 9736dc7895 CPU: Fix InterpretUncachedBlock()
But this shouldn't be hit during normal execution.
2020-09-20 01:36:49 +10:00
Connor McLaughlin 1d5af57f71 GPU: Halve draw ticks for 480i even with force progressive
Fixes some of the games broken with the enhancement on.
2020-09-20 01:36:49 +10:00
Connor McLaughlin 92da9917a8 MemoryCard: Split into image helper functions 2020-09-19 00:28:47 +10:00
Connor McLaughlin d924130308
AnalogController: Fix Linux build 2020-09-18 00:40:54 +10:00
Connor McLaughlin 7c55940fa8 AnalogController: Fix default value of vibration bias 2020-09-18 00:17:35 +10:00