Commit graph

2193 commits

Author SHA1 Message Date
Connor McLaughlin f89529015c dep: Move Vulkan loader to common 2022-07-21 17:29:57 +10:00
Connor McLaughlin fd3507c16d Core: Replace Timestamp usage with fmt 2022-07-21 17:29:57 +10:00
Connor McLaughlin b5bf3593c4 ByteStream: Move routines from FileSystem to ByteStream 2022-07-21 17:29:57 +10:00
wheremyfoodat d959899022 Allow .ps-exe suffix for executables. 2022-07-16 19:05:17 +03:00
Silent 3a70e4d57d
Add keys to more OSD messages:
* Resolution scale
* Multisampling
* Switching software/hardware rendering
* Switching PGXP CPU
* Switching post processing
* Switching widescreen hack
2022-05-09 23:42:28 +02:00
Connor McLaughlin 44d47e898e
Merge pull request #2824 from stenzek/raintegration
Cheevos: Add RAIntergration support
2022-04-18 19:32:43 +10:00
Connor McLaughlin 296f613b4e Cheevos: Rework functions into namespace 2022-04-18 19:13:38 +10:00
Connor McLaughlin 9a5ef2d0a2 Cheevos: Add RAIntergration support 2022-04-18 19:13:33 +10:00
Silent 506796a335
Add 5106, 5146, 5186 codes for indirect reads from a register code 2022-04-15 19:04:02 +02:00
Connor McLaughlin 9ab64ecdb3 CDImage: Add Precache() method 2022-04-03 21:09:36 +10:00
Connor McLaughlin 859a156b3c Various build fixes 2022-03-27 17:38:48 +10:00
Connor McLaughlin a55b5022c7 System: Include cheevos state in save states 2022-03-27 16:59:02 +10:00
Connor McLaughlin 584525cb11 Cheevos: Move to core 2022-03-27 16:59:02 +10:00
Connor McLaughlin c43df29abc ImGuiFullscreen: Move to core 2022-03-27 16:59:02 +10:00
Connor McLaughlin fd76f437b3 Core: Purge WITH_IMGUI define 2022-03-27 16:59:02 +10:00
Brian Blakely 717ee3103f M3U: Preloading to RAM for single-disc playlists. 2022-03-27 16:58:51 +10:00
Connor McLaughlin 46737acecd CPU: Prevent mismatched va_start/va_end in log 2022-01-06 22:47:10 +10:00
Connor McLaughlin 541947c6f8 CPU/CodeCache: Fix currently-invalidated blocks breaking memory states 2022-01-06 22:47:10 +10:00
Connor McLaughlin fa9e50d7c1 HostInterface: Don't disable fastmem for runahead 2021-12-25 14:28:33 +10:00
Connor McLaughlin 25ea24853f HostInterface: Don't disable recompiler for runahead 2021-12-25 14:28:33 +10:00
Connor McLaughlin 4513c7a23d System: Invalidate instead of flushing code cache on memory state 2021-12-25 14:28:33 +10:00
Connor McLaughlin c440593788 CPU/CodeCache: Add InvalidateAll() method 2021-12-25 14:28:32 +10:00
Connor McLaughlin fe2062ff9f System: Warning fix 2021-12-25 14:28:32 +10:00
Connor McLaughlin bbf67ef544 CPU: Warning fix 2021-12-25 14:28:32 +10:00
Connor McLaughlin d55c86ccd8 HostInterface: Fix Linux build 2021-11-26 11:43:58 +10:00
Connor McLaughlin 7522304360 HostInterface: Add keyed OSD messages 2021-11-26 11:31:59 +10:00
Connor McLaughlin c346dfe8a4 SPU: Drop OOB register warnings to dev level 2021-11-26 11:31:59 +10:00
Albert Liu 1f07ea6ecc MDEC: EOB is optional for complete blocks 2021-11-14 20:46:05 -08:00
Connor McLaughlin 13453ee6d8
Merge pull request #2715 from stenzek/pvd-hash
System: Use exe hash plus pvd hash for image hash code
2021-11-10 12:34:55 +10:00
Connor McLaughlin 14eecae680 System: Use exe hash plus pvd hash for image hash code 2021-11-09 12:54:30 +10:00
Albert Liu 3273ca36ef AnalogController: Simulate status byte toggling 2021-11-07 12:31:27 -08:00
Albert Liu ab496ef8fe AnalogController: Don't re-enable legacy rumble on manual toggles 2021-11-07 12:31:27 -08:00
Connor McLaughlin 946481c2aa System: Add a workaround for PSF files with incorrect header 2021-11-06 10:48:23 +10:00
Connor McLaughlin ec31690587 CDROM: Fix incorrect delay on setmode while shell opening 2021-11-05 15:19:23 +10:00
Connor McLaughlin 6bb7672168
Merge pull request #2683 from CookiePLMonster/fix-is-valid-psexe-header
Fixup IsValidPSExeHeader
2021-10-29 13:17:35 +10:00
Connor McLaughlin 25f69e7f8c CDROM: Special case immediate GetlocP after play/read before int
Fixes CDDA in Mad Panic Coaster.
2021-10-29 13:16:42 +10:00
Silent bcbe93a462
Fixup IsValidPSExeHeader 2021-10-28 19:16:55 +02:00
Connor McLaughlin 5cef81b2a0 GPU: Reduce log level of IRQ request command 2021-10-25 17:27:41 +10:00
Connor McLaughlin 355d7664d2 System: Fix unused variable warning 2021-10-25 17:27:41 +10:00
Connor McLaughlin 48e55ab87b MDEC: Fix warnings in gcc debug build 2021-10-25 17:27:41 +10:00
gameblabla 6a005f0a4e
Set DSRINPUTLEVEL and CTSINPUTLEVEL to true for Armored Core
Without this, Armored Core will assume that a link cable is plugged in
and make the local multiplayer unavailable.
In the future, we should have proper link support but for now,
let's just do this instead to at least allow people to play it locally.

Many thanks to Albert Liu for the proper fix :
previously, we were just reporting 0xFFFFFF for SIO STAT.

Co-authored-by: Albert Liu <45282415+ggrtk@users.noreply.github.com>
2021-10-24 12:09:59 +02:00
Connor McLaughlin 13c5ee8bfb GPU: Fix incorrect value for status bit 13
Fixes openbios boot animation.
2021-09-29 10:48:55 +10:00
Connor McLaughlin 497a5b8dd1 GPU: Don't reset CRTC state on soft reset 2021-09-29 10:48:25 +10:00
Connor McLaughlin 8864b48c02
Merge pull request #2624 from CookiePLMonster/fix-safe-unaligned-writes
Make DoSafeMemoryAccess return true properly for RAM, BIOS, dcache writes
2021-09-26 09:57:26 +10:00
Connor McLaughlin c0a29f7bfd Fix a few warnings over the place 2021-09-26 09:56:17 +10:00
Silent 270899dbdb
Make DoSafeMemoryAccess return true properly for RAM, BIOS, dcache writes
Fixes broken cheats when writing to unaligned addresses,
maybe also achievements.
2021-09-24 10:07:04 +02:00
Connor McLaughlin f7f121f036 Bus: Handle unaligned accesses in safe memory routines 2021-09-15 12:24:33 +10:00
Connor McLaughlin e12474ac91 Cheats: Use safe memory access routines 2021-09-10 15:53:15 +10:00
Connor McLaughlin 8dcd68b0a8 CPU: Make Safe{Read,Write}Memory{Byte,Halfword,Word} truely safe 2021-09-10 15:53:14 +10:00
Connor McLaughlin d2e90b0516 CPU/Recompiler: Reduce register usage of SWL/SWR
Fixes crash in Ape Escape on AArch32.
2021-09-10 15:53:11 +10:00
Connor McLaughlin 8769a55298 SPU: Add a couple more reverb registers to debug window 2021-09-01 15:05:05 +10:00
Connor McLaughlin 1e88d04430 GPU: Set display parameters even when disabled 2021-08-24 11:57:14 +10:00
Connor McLaughlin 461e6aa50b GPU: Update display on reset 2021-08-24 11:57:12 +10:00
Connor McLaughlin 75e9506803 System: Get rid of double GPU reset 2021-08-24 11:57:11 +10:00
Connor McLaughlin 628dc36e77 GPU: Add GPU::GetFullDisplayResolution() 2021-08-24 11:57:09 +10:00
Connor McLaughlin a44e9d16fb CDROM: Fix second response event getting lost on state load 2021-08-24 11:57:06 +10:00
Connor McLaughlin 2bb43ffac7
Merge pull request #2547 from PugsyMAME/master
New F6 Cheat Type (IF,ELSE IF, ELSE structure)
2021-08-23 02:18:52 +10:00
Connor McLaughlin f85387345e PGXP: Fix memory past 2MB 2021-08-23 02:18:06 +10:00
PugsyMAME 0ebb791323
New F6 Cheat Type (IF,ELSE IF, ELSE structure)
Cheat Type F6 lets you perform cheats in IF / ELSE IF / ELSE constructs along 
with multiple conditions for each one.

It supports conditions  D0, D1, D2, D3, E0, E1, E2, E3, A0, A1, A2, A3, D7 and 
two new types that will only be available in the F6 conditions :- 
E4 & E5 which are bit comparisons on bytes (set and clear). 

Any of those types which are "block conditionals" like D7 will be treated as a 
single condition with the other conditions so you wont need to worry about 
extra 00000000 FFFFs just for them (infact you can drop them completely apart
from the last 00000000 FFFF, which you can also drop if you have no trailing
cheat lines after the end of the construct.


#IF / ELSE IF / ELSE Statement Example with Notes
80001000 00000001   Setup Test Condition 1
80001004 00000002   Setup Test Condition 2
80001008 00000003   Setup Test Condition 3
8000100C 00000004   Setup Test Condition 4

                    1F = IF, last two digits determine the number of conditions to check
                    F600000x  x = 0 All conditions must be true, x = 1 At least One condition must be true                  
F6000000 1F000004   Check the next 4 lines as the conditions for the IF loop to be taken

D0001000 00000001  )
D0001004 00000002  )Conditions
D0001008 00000003  )
D000100C 00000004  )

80001010 00005555    Poke(s)
00000000 0000FFFF  End of IF Statement

F6000000 E15E1F02  E15E1F = ELSE IF (same format as IF) - Can have multiple ELSE IF Blocks or none at all
D0001008 00000003  )
D000100C 00000005  )Conditions
80001010 00008888     Poke(s)
00000000 0000FFFF  End of ELSE IF Statement 

F6000000 E15E0000  E15E = ELSE (no need for conditions - this will poke if the others dont)
80001010 0000AAAA    Poke(s)
00000000 0000FFFF End of ELSE Statement



#Multiple Test Using Joypad Left Thumb Directions, Look at Address 1100 in Debugger
F6000000 1F000001  
D7020002 00100000
90001100 50205055
90001104 53534552 
90001108 20204445
9000110C 20202020
F6000000 E15E1F01
D7020002 00400000
90001100 4E574F44
90001104 45525020
90001108 44455353
9000110C 20202020
F6000000 E15E1F01
D7020002 00800000
90001100 5446454C
90001104 45525020
90001108 44455353
9000110C 20202020
F6000000 E15E1F01
D7020002 00200000
90001100 48474952
90001104 52502054
90001108 45535345
9000110C 20202044
F6000000 E15E0000
90001100 20202020
90001104 20202020
90001108 20202020
9000110C 20202020
00000000 0000FFFF
2021-08-21 15:08:34 +01:00
Silent ebe862561d
Fix A0, A1, A2, A3 cheats 2021-08-19 22:21:07 +02:00
Connor McLaughlin 18241978ea CDROM: Cancel command second response when queuing new command
Fixes Wipeout corrupting parts of the TOC.
2021-08-18 00:25:19 +10:00
Connor McLaughlin 3236917479 HostInterface: Enable 8MB RAM should be disabled by all enhancements 2021-08-15 14:23:20 +10:00
Connor McLaughlin 521d20bcd2 CommonHostInterface: Add display enhancement settings option 2021-08-15 14:23:20 +10:00
Connor McLaughlin 1ee3882afd HostInterface: Default show status indicators to true 2021-08-15 14:23:20 +10:00
Connor McLaughlin 0491c893d9 HostInterface: Fix compile error on Android 32-bit 2021-08-15 14:23:20 +10:00
Connor McLaughlin 3f3607548f CommonHostInterface: Make status indicators toggleable 2021-08-12 21:31:40 +10:00
Connor McLaughlin c4f0dafb1f System: Don't time memory load/save states by default
Reduces log spam.
2021-08-12 21:31:40 +10:00
Connor McLaughlin 4fac032ff6 SPU: Add a macro to enable per-voice dumping 2021-08-07 13:21:53 +10:00
Connor McLaughlin 50a09384e1 CommonHostInterface: Add onscreen indicator for rewind 2021-08-07 12:07:04 +10:00
Connor McLaughlin 8bea6e1530 GPU/Vulkan: Fix warnings introduced by #2438 2021-08-07 12:01:02 +10:00
Connor McLaughlin 81a90d66f5 HostInterface: Disable rewind on 32-bit ARM/Android 2021-08-07 11:58:05 +10:00
Connor McLaughlin 66cfd98685
Merge pull request #2460 from PugsyMAME/master
Fixed cheat type 52 only working with 1st subtype
2021-08-07 11:35:58 +10:00
Wunkolo 98089180c0 GPU/Vulkan: Add debug utility functions
Adds a way to set the name of vulkan
objects, and automatically determining their `VkObjectType` enum value
at compile-time. As well as a utility-object for creating debug-scopes
for `VkQueue` and `VkCommandBuffer` objects. `DebugScope` objects will
automatically emit `Begin` and `End` commands within the ctor and dtor
and allow for C++ scopes to name and color sections of a vulkan command.
These DebugScopes are also able to be nested within each other and will
automatically pick a color depending on the current recursive depth.

These functions are all null-stubbed in non-debug compilations.
2021-08-01 10:56:56 -07:00
PugsyMAME 106dc2951d
Fixed cheat type 52 only working with 1st subtype
Fixed typo in ExtCheatRegistersCompare, which made it so that only 52 type 5200 worked,
2021-07-31 11:14:15 +01:00
Connor McLaughlin a542fa85d6 CPU/CodeCache: Fix crash when switching from interpreter to recompiler 2021-07-31 13:29:02 +10:00
Connor McLaughlin b41d56d305 TimingEvent: Fix event list getting unsorted on Delay 2021-07-31 13:25:03 +10:00
Connor McLaughlin 5bf24265aa CPU/CodeCache: Fix compilation without recompiler 2021-07-27 13:11:46 +10:00
Connor McLaughlin c9f8828448 CPU/CodeCache: Drop block linking warning to dev level 2021-07-27 13:11:42 +10:00
Connor McLaughlin 5ff9783626 CPU/Recompiler/ARM: Optimize icache check 2021-07-24 14:07:37 +10:00
Connor McLaughlin e2db78b0ef CPU/Recompiler/AArch64: Fix assertion tripping in debug builds 2021-07-24 13:30:35 +10:00
Connor McLaughlin d9d41de81b CPU/Recompiler: Skip updating current_instruction_pc 2021-07-24 13:30:35 +10:00
Connor McLaughlin 21938e14c6 CPU/Recompiler: Implement block linking 2021-07-24 13:07:11 +10:00
Connor McLaughlin 29bc0c950a System: Reset before loading save state on boot 2021-07-24 13:07:09 +10:00
Connor McLaughlin 9628f0d9d0 CPU/Recompiler: Reduce register usage of LWL/LWR/SWL/SWR 2021-07-24 13:06:53 +10:00
Connor McLaughlin 53299e3c7b CPU/Interpreter: Load delay check should be a debug assertion 2021-07-24 13:04:54 +10:00
Connor McLaughlin 6081e2415f CPU/Recompiler: Simplify PC addressing 2021-07-24 13:03:45 +10:00
Connor McLaughlin 033d85cd90 CPU/Recompiler: Simplify fast map addressing 2021-07-24 13:03:43 +10:00
Connor McLaughlin d230e7d22f HostInterface: Fix SetUserDirectoryToProgramDirectory() 2021-07-23 18:07:18 +10:00
Connor McLaughlin 89a11519fb D3D12: Use clears instead of draws for simple VRAM fills 2021-07-22 13:58:03 +10:00
Connor McLaughlin a0fa3a3994 HostInterface: Don't save screenshot when switching renderers 2021-07-22 13:58:03 +10:00
Connor McLaughlin 70209db402 GPU/HW: Implement oversized VRAM fills in hardware
Fixes downscaling in Bugs and Taz PAL.
2021-07-21 19:24:10 +10:00
Connor McLaughlin 7ea78ad2df CPU/CodeCache: Fix incorrect macro for code buffer size 2021-07-20 00:00:43 +10:00
Connor McLaughlin 3cf12e8f0d Controller: Round floating point axis values instead of flooring 2021-07-17 20:38:23 +10:00
Connor McLaughlin 0000750527 System: Fix rewind rate with vsync off 2021-07-17 20:14:40 +10:00
Connor McLaughlin e9374646e9 GPU/SW: Fix performance regression on 32-bit ARM 2021-07-17 14:03:04 +10:00
Connor McLaughlin 30db081a64 CPU: Simulate stalls from GTE instructions 2021-07-16 12:27:31 +10:00
Anderson_Cardoso 41fc84ae51
Update information about SBI file
A simple update message to make it more clear for end users in regard SBI files.
2021-07-14 10:55:07 -03:00
Connor McLaughlin c2c204c845 CDROM: Fix async readahead causing lockups in some games 2021-07-14 01:25:49 +10:00
Connor McLaughlin 9723e617f9 GPU/D3D12: Implement VRAM write replacements 2021-07-13 14:17:04 +10:00
Connor McLaughlin 18df8d48e7 GPU/OpenGL: Use linear sampling for VRAM write replacement blit 2021-07-13 14:17:04 +10:00
Connor McLaughlin d432accf81 GPU/D3D11: Use linear sampling for VRAM write replacement blit 2021-07-13 14:17:04 +10:00
Connor McLaughlin bb2e459f9f Warning fixes 2021-07-12 22:44:02 +10:00
Connor McLaughlin c962e9899d CDROM: Reject invalid Setloc commands
Fixes delays in Simple 1500 Series Vol. 31 - The Sound Novel.
2021-07-12 21:14:06 +10:00
Connor McLaughlin a32ef4a963 CDROMAsyncReader: Support reading ahead more sectors 2021-07-12 21:14:06 +10:00
Connor McLaughlin 552b0098ef GPU/HW: Fix incorrect initial transparency mode
Fixes broken menus in Road Rash after loading state.
2021-07-12 21:14:06 +10:00
Connor McLaughlin 1405ba8a6b GPU/SW: Specialize rasterizing functions further 2021-07-11 21:23:12 +10:00
Connor McLaughlin b35a1308c4 Core: Make XAudio2 the default backend for UWP 2021-07-11 15:20:38 +10:00
Connor McLaughlin ca747d8d7a CPU/CodeCache: Support UWP 2021-07-11 15:20:38 +10:00
Connor McLaughlin c0352eb19f GPU/HW: Clear host display texture on interlace switch 2021-07-11 14:09:11 +10:00
Connor McLaughlin 928b5694ed GPU/D3D12: Fix VRAM getting trashed on interlace switch 2021-07-11 14:07:33 +10:00
Connor McLaughlin 05259bc851 HostInterface: Refresh display on settings change/state load 2021-07-11 14:03:14 +10:00
Connor McLaughlin bf63be27c6 GPU/D3D12: Fix incorrect descriptor for VRAM copy 2021-07-11 13:43:59 +10:00
Connor McLaughlin 096a92ba84 GPU/HW: Simplify shader compile progress updates 2021-07-11 13:21:41 +10:00
Connor McLaughlin 98af6e7228 GPU/ShaderGen: Use [unroll] for resolve loops 2021-07-11 13:08:25 +10:00
Connor McLaughlin 719710ef98 GPU/D3D12: Fix multisampled resolve 2021-07-11 13:07:55 +10:00
Connor McLaughlin 2937c72721 GPU/D3D12: Fix incorrect samples for textures 2021-07-11 13:07:44 +10:00
Connor McLaughlin 14e7f8fd13 GPU: Add D3D12 renderer 2021-07-10 21:45:10 +10:00
Connor McLaughlin 5da9edceb9 Build: Unify MSBuild options in props files 2021-07-10 21:45:10 +10:00
Connor McLaughlin 79dccc9d05 GPU/SW: Fix regression with non-transparent triangles 2021-07-10 13:23:12 +10:00
Connor McLaughlin cf51557b7f GPU/Vulkan: Fix possible out-of-range pipeline with depth buffer 2021-07-09 13:07:41 +10:00
Connor McLaughlin 8f3162675f Warning fixes 2021-07-07 19:54:13 +10:00
Connor McLaughlin 2f3512aa33 GPU/D3D11: Fix incorrect state being used with depth buffer on 2021-07-05 21:44:08 +10:00
Connor McLaughlin acb108f3ea GPU/SW: Improve software blending precision 2021-07-05 21:44:03 +10:00
Connor McLaughlin 6e9ebfa5b5 GPU/D3D11: Fix possible buffer overwrite when reading back 2021-07-04 21:40:44 +10:00
Connor McLaughlin a84992c395 NeGcon: Use 0..1 range instead of -1..1 for I/II/L 2021-07-03 15:04:33 +10:00
Connor McLaughlin a6abf7a83d TimingEvent: Fix possible negative tick execution 2021-07-03 14:29:39 +10:00
Connor McLaughlin 5865064387 FrontendCommon: Add XAudio2 audio backend 2021-06-30 15:15:49 +10:00
Connor McLaughlin 37e50c62f0 CDROM: Fix intermediate seek->read status transition 2021-06-30 14:38:30 +10:00
Connor McLaughlin 911e9a37f1 WIN32 macro -> _WIN32 2021-06-30 14:38:07 +10:00
Connor McLaughlin bc1331208b System: Don't try to preload multi-disc images 2021-06-27 13:52:43 +10:00
Connor McLaughlin c44e614913 MemoryCardImage: Fix incorrect format string 2021-06-26 00:03:18 +10:00
Connor McLaughlin 1ecf5cf76a Qt/MemoryCardEditor: Support undeleting files 2021-06-25 14:43:19 +10:00
Connor McLaughlin f7587eaeac GPU/HW: Fix incorrect range for shader compiling progress 2021-06-25 13:56:06 +10:00
Connor McLaughlin 5488bf7128 CDROM: Ignore speed change for non-cued Play 2021-06-25 00:20:26 +10:00
Connor McLaughlin defce709da GPU/HW: Don't allow adaptive downsampling at non-pow2 scales 2021-06-25 00:19:14 +10:00
Connor McLaughlin 2343696995 CPU/Recompiler: Fix a few incorrect calls to PGXP
Fixes PGXP not being effective in Grandia.
2021-06-24 16:52:40 +10:00
Connor McLaughlin 98f0e5908b GPU/HW: Fix incorrect UV range for upscaled direct texturing 2021-06-24 14:45:15 +10:00
Connor McLaughlin 7ac537bf73 CPU/Recompiler: Flush load delay when lwl/lwr is first instruction
Fixes corrupted textures in Zen Nihon Joshi Pro Wrestling - Joou
Densetsu - Yume no Taikousen.
2021-06-22 14:50:18 +10:00
Connor McLaughlin 7b87b386a9 CPU/Recompiler: Fix performance regression in AArch32/64 2021-06-21 22:04:50 +10:00
Connor McLaughlin ed6145ac77 Qt/MemoryCardEditor: Support importing non-mcs raw files 2021-06-21 17:25:02 +10:00
Connor McLaughlin d9412f9fcd FrontendCommon: Add option to inhibit screensaver 2021-06-20 15:50:59 +10:00
Connor McLaughlin 1644a0762d GPU/OpenGL: Disable MSAA on GLES3.1 2021-06-20 13:10:26 +10:00
Connor McLaughlin e7b113f454 System: Don't reset performance counters when turboing 2021-06-19 21:15:50 +10:00
Connor McLaughlin bc34a75e03 CDROM: Add missing include for <cmath> 2021-06-19 15:23:25 +10:00
Connor McLaughlin 67344070ea CDROM: Improve simulation of seek timing 2021-06-19 15:16:01 +10:00
Connor McLaughlin 2c19c7ce57 CDROM: Cancel speed changes if they're not complete 2021-06-19 15:16:01 +10:00
Connor McLaughlin b1776dea61 CDROM: Simulate position holding for GetlocL too 2021-06-19 15:16:01 +10:00
Connor McLaughlin 815146e7d8 GPU/HW: Fix incorrect blend factor
Regression from 75e6c175de
2021-06-17 20:04:05 +10:00
Connor McLaughlin 75e6c175de GPU/HW: Elide redundant UBO updates on draw mode change 2021-06-15 23:10:49 +10:00
Connor McLaughlin 4f09d61825 CPU: Don't panic on invalid instructions 2021-06-15 22:58:29 +10:00
Connor McLaughlin 2548f75267 CDROM: Differentiate between logical and physical hold 2021-06-15 22:44:21 +10:00
Connor McLaughlin 16c02c8559 CDROM: Don't apply speed change delay when already changing 2021-06-14 19:36:37 +10:00
Connor McLaughlin 72d7ba9163 SPU: Increase transfer rate to RAM
Fixes broken sound effects in Grand Theft Auto London.
2021-06-14 19:32:15 +10:00
Connor McLaughlin f4da56efea CDROM: Simulate the time it takes to change speeds 2021-06-14 14:56:35 +10:00
Connor McLaughlin db5be6c70c TimingEvent: Add Delay method 2021-06-14 14:55:20 +10:00
Connor McLaughlin 38288e6b36 CDROM: Factor in implicit seeks when calculating time 2021-06-14 13:47:55 +10:00
Connor McLaughlin f2bfbabdcb CDROM: Don't reset full state on Reset command 2021-06-14 13:47:41 +10:00
Connor McLaughlin aa675163e2 CDROM: Fix second response event not being cleaned up 2021-06-14 13:47:04 +10:00
Connor McLaughlin 2113405c7a CPU/Recompiler: Elide tick flush completely where possible 2021-06-13 18:26:12 +10:00
Connor McLaughlin e8ac1fca80 CPU/Recompiler: Optimize bgez zero, addr to unconditional 2021-06-13 18:26:12 +10:00
Connor McLaughlin d3d92226a5 PGXP: Further optimizations
Up to an 8% speed improvement in Racing Lagoon with CPU mode enabled.
2021-06-12 22:02:33 +10:00
Connor McLaughlin a47686a313 PGXP: Don't abort() on vertex cache alloc fail 2021-06-12 20:50:48 +10:00
Connor McLaughlin 74013a0853 CDROM: Use physical position for seek time calculations 2021-06-12 18:09:28 +10:00
Connor McLaughlin 36bfc461f9 CDROM: Refactor start/stop/second response 2021-06-12 18:09:28 +10:00
Connor McLaughlin 9d36ce757d CDROM: Simulate motor spin-up time
Fixes disc changing in Tales of Destiny II.
2021-06-11 20:47:46 +10:00
Connor McLaughlin 95247b0b5e CDROM: Don't set motor on before calc read/play time 2021-06-11 20:47:46 +10:00
Connor McLaughlin 8407610e42 GPU/Vulkan: Invalidate display framebuffer where possible 2021-06-11 20:47:46 +10:00
Connor McLaughlin 51fb23c850 GPU/OpenGL: Invalidate display framebuffer where possible 2021-06-11 20:47:46 +10:00
Connor McLaughlin aae0fb3f2b System: Support loading libps.exe (for Net Yaroze) 2021-06-11 20:47:46 +10:00
Silent e21f2644d0
Refactor SystemBootParameters ownership 2021-06-08 18:38:12 +02:00
Connor McLaughlin 350049826f Fix a bunch of compiler warnings 2021-06-04 13:14:30 +10:00
Connor McLaughlin 3cb01bf23d CDImage: Fix compilation on Linux 2021-06-01 22:04:25 +10:00
Connor McLaughlin 9aa386e96c System: Add option to load/apply image patches 2021-06-01 21:55:37 +10:00
Connor McLaughlin 179a7aea89 GPU/HW: Assume 240/288p for auto scale on start with all borders 2021-05-31 03:48:38 +10:00
Connor McLaughlin 56c08254c9 CDImage: Fix incorrect index returned for track-relative 00:02:00
Fixes some voice lines being very briefly cut off in Tomb Raider.
2021-05-27 03:48:02 +10:00
Connor McLaughlin 28b8cb5bc6 Settings: Fix mismatches between default and fallback values 2021-05-27 03:48:01 +10:00
Connor McLaughlin 7c43f5c13e CPU/CodeCache: Fix compilation on 32-bit x86 2021-05-26 02:48:46 +10:00
Connor McLaughlin baad1a4b23 CPU/Recompiler: Optimize away nops completely
35% performance improvement for PGXP CPU mode in Racing Lagoon.
2021-05-25 20:01:59 +10:00
Connor McLaughlin f4242f390b GPU/HW: Use a larger epsilon for PowerVR 2021-05-25 20:01:37 +10:00
Connor McLaughlin df26792c19 PGXP: Small optimization in memory lookup 2021-05-25 20:01:00 +10:00
Connor McLaughlin eaab0cc033 GPU/ShaderGen: Use smaller position epsilon on PowerVR 2021-05-25 18:42:21 +10:00
Connor McLaughlin 08876d132f GPU/HW: Don't generate always/never-discarding discard shaders
Might fix the PowerVR driver...
2021-05-25 13:38:33 +10:00
Connor McLaughlin 6a2b2ac7f8 System: Don't wipe out nonpersistent memory cards during game change 2021-05-24 21:24:22 +10:00
Connor McLaughlin d9a655fb41 System: Add non-persistent memory card type 2021-05-23 17:12:01 +10:00
Connor McLaughlin 98e4c181ca CDROM: Add seek speedup enhancement 2021-05-23 16:18:34 +10:00
Connor McLaughlin ff0bd7abc4 System: Add file title memory card type 2021-05-21 13:19:25 +10:00
Connor McLaughlin 245dd5b27a GPU/HW: Fix crash with oversized writes and sw readback 2021-05-20 14:14:26 +10:00
Connor McLaughlin 5d877250e9 GPU/HW: Add an option to use software renderer for readbacks 2021-05-20 13:28:36 +10:00
Connor McLaughlin 67f352339c CommonHostInterface: Add swap memory cards hotkey 2021-05-20 12:19:28 +10:00
Connor McLaughlin bced237034 MemoryCard: Sanitize game titles for file names 2021-05-20 12:19:28 +10:00
Connor McLaughlin f4fb627428 System: Increase maximum save state size (for 8MB RAM) 2021-05-20 12:19:27 +10:00
Connor McLaughlin 21d6af287e System: Fix a possible crash with runahead 2021-05-20 12:19:27 +10:00
Connor McLaughlin 437d3fbb4b GPU/SW: Set display parameters before data 2021-05-20 12:19:27 +10:00
Connor McLaughlin 08a815ad7b FullscreenUI: Make show status indicator setting local 2021-05-20 12:19:26 +10:00
ValadAmoleo 1fa4460590 Added a toggle for persistent message. (#2106)
* Added a toggle for persistent message.

Added a toggle to display settings to disable persistent messages (ff, pause) in the fullscreen UI.

* Moved toggle for the icons to advanced settings.

Moved the toggle to the advanced settings as suggested.  Renamed the option from "show persistent messages" to "show speed icons", so that it's much more specific.
2021-05-20 12:19:26 +10:00
Connor McLaughlin 8c7282046b CPU/CodeCache: Re-enable interpreter fallback heuristic 2021-05-20 12:19:25 +10:00
Connor McLaughlin acda42be16 CPU/Recompiler: Get rid of non-constant offsetofs 2021-05-20 12:19:24 +10:00
Connor McLaughlin 1ed1d641a6 CPU/Recompiler: Don't use intepreter icache when falling back
Fixes broken rendering in TOCA 2.

It has self-modifying code every frame, which gets falled back to the
interpreter, and using the interpreter's icache, which resulted in
stale code executing.
2021-05-20 12:19:23 +10:00
Connor McLaughlin 6eb0496d77 AnalogController: Don't panic on unknown configuration mode command 2021-05-20 12:19:23 +10:00
Connor McLaughlin 1e7e52718e NamcoGuncon: Only update trigger for offscreen on change 2021-05-20 12:19:21 +10:00
Connor McLaughlin d38a1c9430 AnalogJoystick: Make setter methods public 2021-05-10 13:35:58 +10:00
Connor McLaughlin 729675f497 Bus: Fix memory reserving when 8MB RAM is enabled 2021-05-08 20:36:34 +10:00
Connor McLaughlin 8ace5ff6b8 CPU/Recompiler: Fix assertion tripping in debug builds 2021-05-05 03:26:40 +10:00
Connor McLaughlin e382df0d41 Support expanding RAM to 8MB (dev console) 2021-05-03 12:43:33 +10:00
Connor McLaughlin 806fc3e918 Settings: Fix default value for VSync on Android 2021-05-01 14:49:45 +10:00
Connor McLaughlin f39a5dcf5d Settings: Fix new display aspect ratios being untranslatable 2021-05-01 13:32:37 +10:00
Connor McLaughlin 052721fffc HostInterface: Fix toggling widescreen hack while running 2021-05-01 02:56:29 +10:00
Connor McLaughlin 17a4712a3e Settings: Remove less-frequently used AR options
You can easily set this via custom ratios, or match window now.
2021-04-30 02:53:03 +10:00
Connor McLaughlin 256f272768 Support custom and match display aspect ratios 2021-04-30 02:53:03 +10:00
Connor McLaughlin f1310bf93a System: Don't discard PGXP state when runahead-rollbacking
You'll still see some glitches if you have the frame count set too high,
since you'll get imprecise values for any vertices which have moved, but
that's going to happen anyway because of the runahead in the first
place.
2021-04-28 02:51:44 +10:00
Connor McLaughlin c2916e0719 System: Render save state screenshots at fixed resolution
Fixes delays when saving state at high internal resolution.
2021-04-28 02:51:44 +10:00
Connor McLaughlin f34a048009 CPU/CodeCache: Fall back constantly-modified blocks to interpreter
Partial fix for slowdown in Colin McRae Rally 2.0.
2021-04-27 02:56:57 +10:00
Connor McLaughlin b84827b315 Pad: Don't remove card when loading state without card in slot
... unless load-devices-from-state is enabled.
2021-04-27 02:24:28 +10:00
Connor McLaughlin e842abfa8a CPU/Recompiler: Fix corrupted constant address byte/halfword writes
Fixes broken rendering in Dino Crisis.
2021-04-27 02:11:33 +10:00
Connor McLaughlin 40731b49fc Bus: Handle CPU-internal narrow writes
The full 32-bits of the GPR are used.

Fixes SoundScope in the BIOS Shell.
2021-04-26 22:08:18 +10:00
Connor McLaughlin 7fb5d6908f AnalogController: Use device state instead of save state for mode 2021-04-26 21:25:43 +10:00
Connor McLaughlin 46d19eeb1f Android: Allow opening/getting files relative to downloads directory 2021-04-24 16:19:13 +10:00
Connor McLaughlin cfb4b058d1 CPU/Recompiler: Gate debug exceptions behind memory exception flag
Libcrypt games seem to leave exceptions enabled, and it forces
interpreter for them when it's unnecessary.
2021-04-22 15:43:35 +10:00
Connor McLaughlin fe1a582909 System: Disallow booting when SBI files are missing 2021-04-22 13:40:48 +10:00
Connor McLaughlin 0a50ca3f18 CDROM: Improve CDDA report logging 2021-04-22 13:40:48 +10:00
Connor McLaughlin 2d8806c13f CPU/Recompiler: Emit DCIC exit path in far code
Fixes PS3 BIOS booting.
2021-04-22 02:58:13 +10:00
Connor McLaughlin e64f8cc2c5 CDROM: Jump to seek target on pause while seeking
Fixes music in No Fear Downhill Mountain Biking, but needs more hardware
tests to confirm the behavior here.
2021-04-21 01:44:33 +10:00
Lioncash 113b4b71de core/types: Convert GPUDownsampleMode into an enum class
Prevents some generic-sounding identifiers from being put into the
global namespace.
2021-04-19 11:16:40 -04:00
Connor McLaughlin 5af6424324 CDROM: More conservative handling of INT1-while-pending-INT3 case 2021-04-19 15:39:44 +10:00
Connor McLaughlin 3106c797d9 CPU: Reduce severity of some log statements 2021-04-19 15:19:08 +10:00
Connor McLaughlin 62360d088a CDROM: Send IRQ1 for triple buffered sectors
Fixes hangs in loading in Eliminator and Colony Wars - Vengeance.
2021-04-19 15:19:08 +10:00
Connor McLaughlin e4d5d9f049 GPU/SW: Spin for 1ms rather than immediately sleeping 2021-04-17 22:17:02 +10:00
Connor McLaughlin 03f3f0369c GameList: Reduce number of system calls when scanning 2021-04-17 21:52:26 +10:00
Connor McLaughlin e1578be20f Common/FileSystem: Add BuildRelativePath() function 2021-04-17 21:52:26 +10:00
Connor McLaughlin 1b16662f17 System: Remove unused ParseM3UFile function 2021-04-17 21:52:26 +10:00
Connor McLaughlin 2985c395df GameList: Fix uninitialized fields of PSF/EXE 2021-04-17 21:52:26 +10:00
Connor McLaughlin ff14e8aede Add JSON game database to replace dat parsing 2021-04-17 17:04:23 +10:00
Connor McLaughlin 6868ad4326 Bus: Don't reserve entire fastmem region on Android 2021-04-17 16:33:25 +10:00
Connor McLaughlin 88618bde1c GPU: Correct value of ODE bit in vblank
Fixes line streaks in Dead or Alive.
2021-04-15 01:32:08 +10:00
Connor McLaughlin 442b801d39 CPU: Implement cop0 execution and data breakpoints 2021-04-14 19:06:52 +10:00
Connor McLaughlin 22fdd80cc3 CPU/Interpreter: Out of range cop0 reads should be nops 2021-04-14 19:06:52 +10:00
Connor McLaughlin dd5277321b CPU/CachedInterpreter: Fix infinite loop when block compile fails 2021-04-14 19:06:52 +10:00
Connor McLaughlin 58f5c99100 Bus: Fix incorrect EPC for IBE exceptions 2021-04-14 19:01:43 +10:00
Connor McLaughlin 13b398ac46 GPU: Treat 0xFF commands as nops
Fixes slowdown in Soviet Strike and 40 Winks.
2021-04-13 13:18:51 +10:00
Connor McLaughlin e087e6f3a2 CPU/Recompiler: Prevent using fastmem when cache is isolated
No point even trying since it's just going to fault.
2021-04-12 02:08:56 +10:00
Connor McLaughlin 922d320523 CPU/Recompiler: Reserve whole fastmem region to avoid clashes 2021-04-11 12:42:51 +10:00
Connor McLaughlin 8df0496dc1 CDROM: Store last subq even when auto-pausing
Fixes track looping in Fighting Force PAL.
2021-04-11 12:36:52 +10:00
Connor McLaughlin 6a0bd7ee64 CDROM: Clear setloc pending on redundant read
Fixes palette corruption in Joshikousei no Houkago... Pukunpa.
2021-04-10 14:52:15 +10:00
Connor McLaughlin 327e8f3f59 GPU/OpenGL: Switch back to framebuffer blits over shader copy
Ends up being slower on Mali.
2021-04-10 14:52:15 +10:00
Connor McLaughlin 0644faa635 System: Disable memory cards when running PSFs 2021-04-08 11:34:15 +10:00
Connor McLaughlin fc9d276435 Android: Fix fast boot by default not applying without opening settings 2021-04-08 03:20:25 +10:00
Connor McLaughlin 22d664b210 GPU/ShaderGen: Move discard to end of shader
Possible workaround for this PowerVR driver issue.
2021-04-08 03:07:10 +10:00
Connor McLaughlin 4ed12bcb52 GPU/OpenGL: Support MSAA without texel/SSBO buffers 2021-04-06 02:55:00 +10:00
Connor McLaughlin 2ed482132d GPU/OpenGL: Use shader instead of framebuffer blit 2021-04-06 02:19:56 +10:00
Connor McLaughlin 2ac6f60bbb Rename cpu_detect.h to platform.h and add OS 2021-04-04 13:01:43 +10:00
Connor McLaughlin 251043f11a OSD: Add controller input display overlay 2021-04-04 04:08:42 +10:00
Connor McLaughlin bb21a062d8 Android: Add support for GunCon 2021-04-03 14:59:51 +10:00
Connor McLaughlin 924756860e HostDisplay: Support refresh rate queries on all platforms except Mac 2021-04-03 02:53:28 +10:00
Connor McLaughlin 9bf805c2af Pad: Fix crash with mismatched cards in save state 2021-04-01 02:29:59 +10:00
Connor McLaughlin c825292a93
Merge pull request #1886 from MaddTheSane/morePrintfLike
More printflike macros
2021-04-01 02:29:05 +10:00
C.W. Betts e4735bcf7a Fix string formatting warnings. 2021-03-29 13:59:22 -06:00
C.W. Betts fb7a8886f1 Add more printflike macros. 2021-03-29 13:56:19 -06:00
Connor McLaughlin df5de7730c GPU/HW: Disable depth buffering on transparent polygons
These are the most likely to be coplanar and cause issues.
2021-03-30 01:40:05 +10:00
Connor McLaughlin 1973419021 Settings: Disable region check by default 2021-03-29 00:53:15 +10:00
Connor McLaughlin ddea2818d9 Qt: Add renderer/resolution to status bar 2021-03-28 13:47:53 +10:00
Connor McLaughlin dec2d48bfe System: Fix crash when launching exe/psf 2021-03-28 13:47:53 +10:00
Connor McLaughlin 85c5b99b7a CDROM: GetID should return error when no disc 2021-03-28 13:47:52 +10:00
Connor McLaughlin 5df28eff9d System: Fix failing to load new single disc save states 2021-03-27 15:43:42 +10:00
Connor McLaughlin 5aa70cf797 Settings: Add memory card directory option 2021-03-27 15:18:29 +10:00
Connor McLaughlin 50d712c3fe CDImage: Support sub-images, use subimages for m3u 2021-03-27 15:18:29 +10:00
Connor McLaughlin 97682e09ab Pad: Don't apply input state when load-from-devices is off 2021-03-27 13:42:32 +10:00
Connor McLaughlin ff411dac2e DigitalController: Fix buttons getting broken when load-from-state on 2021-03-27 13:42:06 +10:00
Connor McLaughlin 781e8f1867
Merge pull request #1659 from piepacker/jake/multitap_8x_devices_in_state
pad: improve messaging when UI config doesn't match savestate config, and document some edge cases
2021-03-27 12:49:31 +10:00
Connor McLaughlin c502f8b0a6 GPU/Vulkan: Fix box downsampling using incorrect texture 2021-03-25 13:33:48 +10:00
Albert Liu d10365c60e System: Fix message crash for missing CD image 2021-03-22 19:17:04 -07:00
Jake Stine 96344799a0 pad: improve UI messaging when UI config doesn't match savestate config, and document some edge cases. 2021-03-21 13:25:46 -07:00
Jake Stine 6449207e04 pad: remove unreachable code block in DoState
The block in question was introduced by changesets:
  47f0720b93
  125d104df4
2021-03-21 12:31:58 -07:00
Connor McLaughlin 4dec0dee2f MemoryCardImage: Support passing import buffers in 2021-03-21 02:55:48 +10:00
Connor McLaughlin 5bbbb8d3d5 CPU/Recompiler: Use MAP_JIT for code space on Apple Silicon 2021-03-19 18:47:31 +10:00
Connor McLaughlin 663dc496bf CPU/Recompiler: Tiny optimization for div on x64 2021-03-19 18:06:25 +10:00
Connor McLaughlin 25d4060bce CDROM: Hold position at end of track, not start of next 2021-03-19 01:58:43 +10:00
Connor McLaughlin 11dcba1b68 CDImage: Use Error class for complex errors 2021-03-19 01:58:00 +10:00
Connor McLaughlin b13c51a2e2 GPU/SW: Use new 5-to-8 converters for RGBA8 display 2021-03-18 13:00:58 +10:00
Connor McLaughlin 6c05413220 GPU: Improve precision of 5-to-8 bit conversion for HW renderers
Fixes VRAM transfers being corrupted in fallback OpenGL path.
2021-03-18 13:00:58 +10:00
Connor McLaughlin 391114ccae GPU/OpenGL: Only use one upload path and clamp to max SSBO size 2021-03-18 13:00:58 +10:00
Connor McLaughlin 703715724e GPU/SW: Remove unused 5-to-8 conversion functions 2021-03-18 13:00:58 +10:00
Connor McLaughlin 4441bb1a91 CDROM: Apply volume on output not sector read
Fixes audio starting too late in Mega Man Legends.
2021-03-18 13:00:58 +10:00
Connor McLaughlin 1911a25a9f System: Add warning if CD-ROM read speedup is enabled on startup 2021-03-17 00:58:09 +10:00
Albert Liu 46ff2b553d CDImage: Add support for loading PBP images 2021-03-15 20:06:39 -07:00
Albert Liu 49c65cf5dd AnalogController: Only panic on unknown config mode commands 2021-03-14 00:40:36 -08:00
Connor McLaughlin c062cc2c26 GPU/Vulkan: Fix UBO hazard across cmdbuffers 2021-03-14 02:01:48 +10:00
Connor McLaughlin 0feb817130 ShaderGen: Disable interface blocks when using AMD OpenGL
SSAA/per sample shading is broken otherwise.
2021-03-14 02:01:48 +10:00
Connor McLaughlin d20d616823
Merge pull request #1799 from PugsyMAME/master
Updated chtdb.txt and added new types F5, 52 & 53. Cleaned up type 51
2021-03-14 02:01:20 +10:00
Connor McLaughlin 4d2747fe74
Merge pull request #1792 from CookiePLMonster/plurality-pass
Plurality for non-Qt messages
2021-03-14 01:58:14 +10:00
PugsyMAME 0fd593eb42
Updated chtdb.txt and added new types F5, 52 & 53. Cleaned up type 51
Chtdb.txt
=========
Updated the header to document all the new cheat types, added some more cheats
and cleaned up others.

New Cheat Types:-
=================
F5 - 16-Bit toggle cheat, predominatly used with the D7 cheat to enable/disable
      ASM cheats with the same key presses. See chtdb.txt for more information.

52 - Register Block Conditionals for use with the type 51 cheats. There are 128 
      sub types. See chtdb.txt for more information.
      
53 - Improved Slide Code cheat type, with support for 65536 addresses and a 16
      bit step and easily configurable step direction for value and address.
      See chtdb.txt for more information.      

Other Changes:-
===============
51 - Cleaned up - renumbered/renamed, Tested & Bugfixed. See chtdb.txt for more 
      information.
2021-03-13 15:21:40 +00:00
Silent 948a6b530b
Make TranslateString and TranslateStdString support numbers 2021-03-12 20:03:25 +01:00
Connor McLaughlin 6fa245ed61 Cheats: Fix parsing database when game has one code 2021-03-13 03:06:56 +10:00
Connor McLaughlin 82749d1ba3 GPU/HW: Increase streaming buffer sizes to 4MB/2MB 2021-03-13 03:06:56 +10:00
Connor McLaughlin 36ff345e60 Revert "GL/Context: Disable GLES3.2 on PowerVR Rogue"
Broken driver is just broken. Not much I can do when I don't have one of
these phones and the shader compiler simply says "failure" without any
line information.
2021-03-09 17:25:58 +10:00
Connor McLaughlin 4e2ee86c1a GPU/Vulkan: Fix incorrect layout in ClearDepthBuffer() 2021-03-08 17:44:10 +10:00
Connor McLaughlin fdc7066ead
Merge pull request #1717 from stenzek/ram-reads
Bus: Increase the number of ticks for RAM reads
2021-03-08 17:27:46 +10:00
Connor McLaughlin a559139105 GPU/OpenGL: Also check number of fragment storage blocks 2021-03-08 11:40:34 +10:00
Connor McLaughlin 9eae20128d GPU/OpenGL: Remove now-unnecessary geometry shader check 2021-03-08 11:37:03 +10:00
Connor McLaughlin ad7e0d48c6 ShaderGen: Try disabling GLSL ES 3.2 on PowerVR 2021-03-08 11:34:17 +10:00
Connor McLaughlin 627f147a90 Support compiling for FreeBSD 2021-03-07 19:35:02 +10:00
Connor McLaughlin ee190ef561 CDROM: Fix typo in ResetPhysicalPosition() 2021-03-07 17:34:16 +10:00
Connor McLaughlin 753dd0480f CDImage: Add support for loading mds/mdf images 2021-03-07 16:26:15 +10:00
Connor McLaughlin 320394fbd1 ShaderGen: Fix GLSL emitting location = 00 2021-03-07 02:55:37 +10:00
Connor McLaughlin 6bbb1128b6 System: Hash executable for game code when system.cnf missing 2021-03-07 02:47:00 +10:00
Connor McLaughlin ac4dd11fa0 CDImage: Add support for ECM images 2021-03-07 02:47:00 +10:00
Connor McLaughlin fd7d77bc70
Merge pull request #1736 from PugsyMAME/master
Added new cheat cheat types: C3, C4, C5, C6, D7&52
2021-03-07 02:46:50 +10:00
Connor McLaughlin 2aea58d056 HostDisplay: Add method to render screenshots at window size 2021-03-06 02:21:27 +10:00
Connor McLaughlin 757bef7b6d Common/D3D11: Stride should be byte width 2021-03-06 02:21:27 +10:00
Connor McLaughlin bf5f53e1d1 CPU/CodeCache: Don't choke on indirect -> direct branch in delay slot 2021-03-06 02:21:27 +10:00
Albert Liu 50a78489f2 MemoryCardImage: Implement save file importing and exporting 2021-03-04 20:50:20 -08:00
Connor McLaughlin 521ade025c System: Make hardware renderer init failure an OSD message 2021-03-05 01:05:16 +10:00
Connor McLaughlin c8387cb038 Cheats: Fix master enable not having any effect 2021-03-05 00:53:30 +10:00
Connor McLaughlin 0cbba59e88 GPU/ShaderGen: Add readonly/restrict qualifier to VRAM write SSBO 2021-03-04 13:08:32 +10:00
PugsyMAME 74b2b2ddfe
Added new cheat cheat types: C3, C4, C5, C6, D7&52
C3-C7 are variants of C0
D7 is a BIT based joker to rule them all. It includes the analog sticks (@ggrtk thanks for adding the analog reading capability). Also added the facility of making dual single key joker by varying the amount of time a button is held down.
51 is a complicated beast that I still need to document

* C3XXXXXX 00YY - 8-Bit Master Code, if ($XXXXXX) is less than 0xYY poke all
  00000000 FFFF       following codes for rest of the cheat or until it reaches the
                      00000000 FFFF line.
* C4XXXXXX 00YY - 8-Bit Master Code, if ($XXXXXX) is greater than 0xYY poke all
  00000000 FFFF       following codes for rest of the cheat or until it reaches the
                      00000000 FFFF line.
* C5XXXXXX YYYY - 16-Bit Master Code, if ($XXXXXX) is less than 0xYYYY poke all
  00000000 FFFF       following codes for rest of the cheat or until it reaches the
                      00000000 FFFF line.
* C6XXXXXX YYYY - 16-Bit Master Code, if ($XXXXXX) is greater than 0xYYYY poke all
  00000000 FFFF       following codes for rest of the cheat or until it reaches the
                      00000000 FFFF line.
* D7PQRRRR TTYYYYYY - 24-Bit Universal BIT Joker, OR the hex values to
                     combine into a multi-button joker. Because it is BIT
                     based it is better than D4, D5, D6 or using a D0 joker as you
                     do not need to worry about any other buttons being
                     pressed at the same time and you get both analog
                     sticks for extra functionality. Note if you want to use it
                     just as a enhanced joker just use D7000000 00YYYYYY when
                     the buttons/directions are pressed or D7100000 00YYYYYY
                     when you want to ensure they are not all pressed.
                     QRRRR TT provides the capability of only activating the
                     following codes after the keys have been held in for a set
                     amount of frames. 003C = 60 Frames = 1 Second at 100% Speed
                        YYYYYY = 000001 L2 Button
                        YYYYYY = 000002 R2 Button
                        YYYYYY = 000004 L1 Button
                        YYYYYY = 000008 R1 Button
                        YYYYYY = 000010 Triangle Button
                        YYYYYY = 000020 Circle Button
                        YYYYYY = 000040 X Button
                        YYYYYY = 000080 Square Button
                        YYYYYY = 000100 Select Button
                        YYYYYY = 000200 L3 Button
                        YYYYYY = 000400 R3 Button
                        YYYYYY = 000800 Start Button
                        YYYYYY = 001000 Up (Digital)
                        YYYYYY = 002000 Right (Digital)
                        YYYYYY = 004000 Down (Digital)
                        YYYYYY = 008000 Left (Digital)
                        YYYYYY = 010000 Up (Right Thumb)
                        YYYYYY = 020000 Right (Right Thumb)
                        YYYYYY = 040000 Down (Right Thumb)
                        YYYYYY = 080000 Left (Right Thumb)
                        YYYYYY = 100000 Up (Left Thumb)
                        YYYYYY = 200000 Right (Left Thumb)
                        YYYYYY = 400000 Down (Left Thumb)
                        YYYYYY = 800000 Left (Left Thumb)
                      NOTE: The 0s in the code are reserved for possible
                            future use.
                       TT=Temp Internal Variable 00-FF, 00 will mean it wont be
                            used, if it's not 00 do not use the same value for
                            jokers using different keypress combinations for
                            the same game.
                       P = 0 or 1. 0 = Check ALL YYYYYY Bits are ON
                                   1 = Check ALL YYYYYY Bits are OFF
                       Q = Frame Comparison 0 = Dont do any comparison
                                            1 = Check that the button combination
                                                has been held down for exactly
                                                RRRR frames.
                                            2 = Check that the button combination
                                                has been held down for more than
                                                RRRR frames.
                                            3 = Check that the button combination
                                                has been held down for less than
                                                RRRR frames.
                                            4 = Check that the button combination
                                                has been held down for anything
                                                but RRRR frames.
                       RRRR = 0000 to FFFF, Frame Comparison Value
                      It will then poke all following codes for rest of cheat
  00000000 FFFF       or until it reaches the 00000000 FFFF line.
2021-03-03 23:06:08 +00:00
Connor McLaughlin 21e53016d7 GPU/Vulkan: Fix possible misalignment in VRAM writes 2021-03-04 01:36:43 +10:00
Connor McLaughlin 05ac272c3f GameSettings: Add multitap mode 2021-03-03 21:45:03 +10:00
Connor McLaughlin c58227752d CommonHostInterface: Move save state on exit logic to base class 2021-03-03 01:14:05 +10:00
Connor McLaughlin 910d3cdbb4 GPU/OpenGL: Make GL4.3 a prereq for binding layout
This was incorrectly checking for GL4.2, but explicit uniform/attribute
location isn't supported until GL4.3 without the extension.
2021-03-02 15:18:02 +10:00
Albert Liu 3482313e2f Multitap: Add option to enable only on port 2 2021-03-01 14:59:59 -08:00
Connor McLaughlin c7a4efc395 System: Don't strip subdirectories when reading exe
Fixes getting hashes for cheevos in games such as Metal Gear Solid -
Integral.
2021-03-02 01:48:31 +10:00
Connor McLaughlin 475f7ccd1f Bus: Increase the number of ticks for RAM reads 2021-03-02 00:46:29 +10:00
Connor McLaughlin 520b64e711 CPU/Recompiler: Don't zero read-only bits in mtc0
Fixes memory card error in Digimon Digital Card Battle.
2021-02-28 15:06:24 +10:00
Connor McLaughlin 97cf3f770e GPU: Fix previous frame adaptive downsample leaking in 2021-02-28 04:03:48 +10:00
Connor McLaughlin 49345a300c Settings: Fix display stretch disabled by linear filtering 2021-02-27 21:58:47 +10:00
Connor McLaughlin 5a0e4f85dd Settings: Enable cheat loading by default 2021-02-27 16:21:36 +10:00
Connor McLaughlin e17d37b8bc HostDisplay: Add stretch option 2021-02-27 16:21:36 +10:00
Connor McLaughlin f18babb97e Settings: Remove redundant break in IsMultitapEnabledOnPort 2021-02-27 16:21:36 +10:00
Albert Liu f9dc1a7e80 Core: Add Multitap support 2021-02-26 21:04:12 -08:00
Albert Liu b6301e1a43 Settings: Always save controller type to settings interface
Fixes Controller1 defaulting to DigitalController type on startup in
FullscreenUI when user had previously shut down the program with
Controller1 set to None.
2021-02-26 09:37:53 -08:00
Connor McLaughlin 0ec2c87a0e Implement RetroAchivements 2021-02-27 00:44:53 +10:00
Albert Liu 3ca3a78b58 Controller: Fix invalid SettingInfos causing crash in FullscreenUI 2021-02-24 17:23:07 -08:00
Connor McLaughlin f023c1bcde FullscreenUI: Add 'Pause on Menu' option 2021-02-25 02:20:33 +10:00
Connor McLaughlin 8318cdb3c1 Move ImGui setup to common, and enable fullscreen UI in Qt 2021-02-24 01:22:03 +10:00
Connor McLaughlin 1fc53ff622 CommonHostInterface: Move settings interface pointer to base class 2021-02-24 01:21:43 +10:00
Connor McLaughlin 229ed5a852 System: Add helpers for reading executables off discs 2021-02-24 01:21:43 +10:00
Connor McLaughlin 7501e89b7a System: Add path/image to game change notification 2021-02-24 01:21:43 +10:00
Connor McLaughlin 91a7775d68 BIOS: Fix size validation for PSExe 2021-02-22 12:22:28 +10:00
Connor McLaughlin ae49215251 Timers: Better predict next event time
Significantly improves performance in Fromage.
2021-02-22 12:21:44 +10:00
Albert Liu 71d748ef04 AnalogController: Fix regression in analog mode toggling 2021-02-21 16:12:41 -08:00
Albert Liu 329e8317b4 Controller: Always check for access byte 2021-02-21 15:20:31 -08:00
Connor McLaughlin 30bcf280d4 Revert "CPU/Recompiler: Use fastmem for constant loads from RAM mirrors in LUT mode"
This reverts commit 67fe97a17c.

Misread the logic here - it's masked anyway, so it's fine.
2021-02-19 02:25:27 +10:00
Connor McLaughlin 24c2165bb3 GPU: Allow closing window/app to interrupt shader compilation 2021-02-19 01:48:44 +10:00
Connor McLaughlin 1b544ae350 GameList: Slight optimization to scanning 2021-02-19 01:37:56 +10:00
Connor McLaughlin cacf12c209 FileSystem: Migrate component extractors to std::string_view 2021-02-19 01:37:56 +10:00
Connor McLaughlin d3717e66c3 CPU/Recompiler: Handle self-modifying code within same block
Fixes Spyro 2 and 3 PAL with recompiler.
2021-02-19 01:37:56 +10:00
Connor McLaughlin 67fe97a17c CPU/Recompiler: Use fastmem for constant loads from RAM mirrors in LUT mode 2021-02-19 01:37:56 +10:00
Connor McLaughlin db4f521d92 System: Make some boot error messages translatable 2021-02-18 02:08:48 +10:00
Connor McLaughlin 209827b67c PGXP: Compute PSX values on demand for CPU instructions
Generates shorter code for the recompiler.
2021-02-18 02:08:48 +10:00
Connor McLaughlin 54f5c737ce PGXP: Inline some more functions 2021-02-18 02:08:48 +10:00
Connor McLaughlin 46dbea509a GPU: Fix adaptive downsampling regression 2021-02-18 02:08:47 +10:00
Connor McLaughlin 1b881fc60b PGXP: Combine instr and rtVal parameters for CPU_LUI 2021-02-18 02:08:47 +10:00
Connor McLaughlin bc021ddfd9 CPU/Recompiler: Implement PGXP CPU mode 2021-02-18 02:08:47 +10:00
Connor McLaughlin 0bfa1bf873 PGXP: Fix MFC0/MTC0
Doubt it'll change anything.
2021-02-18 02:08:47 +10:00
Connor McLaughlin a722fd6b53 PGXP: Make mult/div compute results instead of parameters
Lets us call it from the recompiler.
2021-02-18 02:08:47 +10:00
Connor McLaughlin 33a5617ea3 PGXP: Remove some unused parameter from M{F,T}{HI,LO} 2021-02-18 02:08:47 +10:00
Connor McLaughlin efecb44344 PGXP: Combine a couple of instructions 2021-02-18 02:08:47 +10:00
Connor McLaughlin 09805c1f80 FullscreenUI: Fix controller navigation in disc change 2021-02-18 02:08:47 +10:00
Connor McLaughlin d8ce98a1e2 Bump shader cache version 2021-02-14 19:25:14 +10:00
Connor McLaughlin 2c1999e622 CDROM: Simulate holding position for GetlocP
Fixes lockups in Tomb Raider.
2021-02-14 18:36:21 +10:00
Connor McLaughlin 0d13e1013d GPU: Fix incorrect dither offset [3][0]
Fixes dots in sky in Silent Hill.
2021-02-14 18:36:21 +10:00
Connor McLaughlin 5a66639d78 HostDisplay: Add virtual method for getting resolutions 2021-02-14 18:36:21 +10:00
Connor McLaughlin c6c67b7b27 ImGui: Remove close button from debug windows
They can be closed by unchecking the setting instead, and it stays in
sync with the config this way.
2021-02-12 01:01:30 +10:00
Connor McLaughlin de688615ff Qt: Add Clear and Reset buttons to cheat manager 2021-02-12 01:01:30 +10:00
Connor McLaughlin bfa2b72e08 Fix a couple of name typos 2021-02-11 02:17:25 +10:00
Connor McLaughlin 6ab926ab28 System: Make the SBI check a confirm dialog instead of message 2021-02-11 02:04:47 +10:00
Connor McLaughlin ef97131c9d Timers: Handle target = 0 case
Fixes Super Gals! Kotobuki Ran Special - Ikemen Get You Gals Party
hanging at boot.
2021-02-09 01:01:36 +10:00
Connor McLaughlin c043643c4d GPU/HW: Fix typo in –IncludeVRAMDirtyRectangle() name 2021-02-07 20:00:16 +10:00
Connor McLaughlin 4a240958ff GPU/HW: Work around VRAM copy glBlitFramebuffer broken in Mali 2021-02-07 19:59:50 +10:00
Connor McLaughlin a77edc6436 Settings: Default console logging on Android to on 2021-02-07 03:27:37 +10:00
Connor McLaughlin 837fb6128b GPU/HW: Fix mask bit when rendering with transparency and no DSB
Fixes some sprites in Bloody Roar on Mali GPUs.
2021-02-06 20:14:28 +10:00
Connor McLaughlin c03c4cb95a GPU: Elide VRAM copies when they will have no effect
Can provide a performance boost in most games because of the redundant
copy they issue once a frame.
2021-02-06 19:20:14 +10:00
Connor McLaughlin 701edb335a Various warning fixes 2021-02-06 19:19:55 +10:00
Connor McLaughlin f943aa0489
Merge pull request #1582 from MaddTheSane/printfFixes
Logging fixes
2021-02-05 11:47:38 +10:00
C.W. Betts 662d6e9711 Fix possible log formatting errors. 2021-02-04 17:54:51 -07:00
C.W. Betts 2c2af6c751
Update shadergen.cpp
Quiets a warning in Clang about copying variables.

Actual warning text: Loop variable '[qualifiers, name]' of type 'const std::__1::pair<const char *, const char *>' creates a copy from type 'const std::__1::pair<const char *, const char *>'
2021-02-04 13:05:59 -07:00
Connor McLaughlin 626b2ecec1 GPU/Vulkan: Fix a possible layout violation when displaying
Happened in some games, e.g. Driver.
2021-02-02 00:52:23 +10:00
Connor McLaughlin 43bb69fb6b GPU/SW: Fix 576-line scanout of PAL games 2021-02-01 18:39:36 +10:00
Connor McLaughlin 904680f0df Settings: Make integer and linear upscaling mutually exclusive 2021-02-01 18:39:15 +10:00
Connor McLaughlin 23e102b90a GPU: Make display texture 720x576 instead of 1024x512
Some PAL games render in the full permissable 576 height, not 512.
2021-02-01 01:10:32 +10:00
Connor McLaughlin 85b4a02f20 Fix Android build 2021-01-31 17:28:37 +10:00
Connor McLaughlin 55a1d0437d System: Display message on media change 2021-01-31 17:10:27 +10:00
Connor McLaughlin 98b4101cd7 Settings: Expose Save() method to interface 2021-01-31 17:10:27 +10:00
Connor McLaughlin 9d08f2e277 Settings: Fix show resolution not correctly saving to file 2021-01-31 17:10:27 +10:00
Connor McLaughlin e697d9aa33 HostDisplay: Move imgui context creation to base class 2021-01-31 17:10:27 +10:00
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