Commit Graph

1694 Commits

Author SHA1 Message Date
627f147a90 Support compiling for FreeBSD 2021-03-07 19:35:02 +10:00
ee190ef561 CDROM: Fix typo in ResetPhysicalPosition() 2021-03-07 17:34:16 +10:00
753dd0480f CDImage: Add support for loading mds/mdf images 2021-03-07 16:26:15 +10:00
320394fbd1 ShaderGen: Fix GLSL emitting location = 00 2021-03-07 02:55:37 +10:00
6bbb1128b6 System: Hash executable for game code when system.cnf missing 2021-03-07 02:47:00 +10:00
ac4dd11fa0 CDImage: Add support for ECM images 2021-03-07 02:47:00 +10:00
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
2aea58d056 HostDisplay: Add method to render screenshots at window size 2021-03-06 02:21:27 +10:00
757bef7b6d Common/D3D11: Stride should be byte width 2021-03-06 02:21:27 +10:00
bf5f53e1d1 CPU/CodeCache: Don't choke on indirect -> direct branch in delay slot 2021-03-06 02:21:27 +10:00
50a78489f2 MemoryCardImage: Implement save file importing and exporting 2021-03-04 20:50:20 -08:00
521ade025c System: Make hardware renderer init failure an OSD message 2021-03-05 01:05:16 +10:00
c8387cb038 Cheats: Fix master enable not having any effect 2021-03-05 00:53:30 +10:00
0cbba59e88 GPU/ShaderGen: Add readonly/restrict qualifier to VRAM write SSBO 2021-03-04 13:08:32 +10:00
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
21e53016d7 GPU/Vulkan: Fix possible misalignment in VRAM writes 2021-03-04 01:36:43 +10:00
05ac272c3f GameSettings: Add multitap mode 2021-03-03 21:45:03 +10:00
c58227752d CommonHostInterface: Move save state on exit logic to base class 2021-03-03 01:14:05 +10:00
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
3482313e2f Multitap: Add option to enable only on port 2 2021-03-01 14:59:59 -08:00
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
475f7ccd1f Bus: Increase the number of ticks for RAM reads 2021-03-02 00:46:29 +10:00
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
97cf3f770e GPU: Fix previous frame adaptive downsample leaking in 2021-02-28 04:03:48 +10:00
49345a300c Settings: Fix display stretch disabled by linear filtering 2021-02-27 21:58:47 +10:00
5a0e4f85dd Settings: Enable cheat loading by default 2021-02-27 16:21:36 +10:00
e17d37b8bc HostDisplay: Add stretch option 2021-02-27 16:21:36 +10:00
f18babb97e Settings: Remove redundant break in IsMultitapEnabledOnPort 2021-02-27 16:21:36 +10:00
f9dc1a7e80 Core: Add Multitap support 2021-02-26 21:04:12 -08:00
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
0ec2c87a0e Implement RetroAchivements 2021-02-27 00:44:53 +10:00
3ca3a78b58 Controller: Fix invalid SettingInfos causing crash in FullscreenUI 2021-02-24 17:23:07 -08:00
f023c1bcde FullscreenUI: Add 'Pause on Menu' option 2021-02-25 02:20:33 +10:00
8318cdb3c1 Move ImGui setup to common, and enable fullscreen UI in Qt 2021-02-24 01:22:03 +10:00
1fc53ff622 CommonHostInterface: Move settings interface pointer to base class 2021-02-24 01:21:43 +10:00
229ed5a852 System: Add helpers for reading executables off discs 2021-02-24 01:21:43 +10:00
7501e89b7a System: Add path/image to game change notification 2021-02-24 01:21:43 +10:00
91a7775d68 BIOS: Fix size validation for PSExe 2021-02-22 12:22:28 +10:00
ae49215251 Timers: Better predict next event time
Significantly improves performance in Fromage.
2021-02-22 12:21:44 +10:00
71d748ef04 AnalogController: Fix regression in analog mode toggling 2021-02-21 16:12:41 -08:00
329e8317b4 Controller: Always check for access byte 2021-02-21 15:20:31 -08:00
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
24c2165bb3 GPU: Allow closing window/app to interrupt shader compilation 2021-02-19 01:48:44 +10:00
1b544ae350 GameList: Slight optimization to scanning 2021-02-19 01:37:56 +10:00
cacf12c209 FileSystem: Migrate component extractors to std::string_view 2021-02-19 01:37:56 +10:00
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
67fe97a17c CPU/Recompiler: Use fastmem for constant loads from RAM mirrors in LUT mode 2021-02-19 01:37:56 +10:00
db4f521d92 System: Make some boot error messages translatable 2021-02-18 02:08:48 +10:00
209827b67c PGXP: Compute PSX values on demand for CPU instructions
Generates shorter code for the recompiler.
2021-02-18 02:08:48 +10:00
54f5c737ce PGXP: Inline some more functions 2021-02-18 02:08:48 +10:00