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