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
Connor McLaughlin
e6bff275a6
AnalogController: Set vibration strength to 0 on Reset
2020-09-18 00:13:59 +10:00
Connor McLaughlin
915b7d3726
AnalogController: Use nonlinear mapping of vibration strength
...
Curve from Pokopom: https://github.com/KrossX/Pokopom/blob/master/Pokopom/Input_XInput.cpp#L210
2020-09-17 19:57:10 +10:00
Connor McLaughlin
debfd53618
AnalogController: Use range for large motor, add bias
...
Seems the bias is needed for FF8.
2020-09-17 19:56:27 +10:00
Connor McLaughlin
3bd9f85af8
PostProcessingShaderGen: Use ints instead of bools for options
2020-09-16 11:52:23 +10:00
Silent
1918a5ddd4
STBI: Handle UTF-8 paths correctly
2020-09-14 21:27:22 +02:00
Connor McLaughlin
bb6af3c8fc
Merge pull request #845 from CookiePLMonster/fix-resume
...
Fix issues with a -resume parameter
2020-09-14 00:11:42 +10:00
Connor McLaughlin
441f26706e
Qt: Move post processing to its own setting category
2020-09-13 22:27:30 +10:00
Connor McLaughlin
a409a5d45d
ShaderGen: More GLSL/HLSL aliases
2020-09-13 20:20:47 +10:00
Connor McLaughlin
c1006bd0ff
PostProcessing: Allow fragment coordinate access from shader
2020-09-13 18:50:40 +10:00
Connor McLaughlin
60ed9e7191
PostProcessingShader: Fix errors in shader parsing
2020-09-13 18:39:40 +10:00
Connor McLaughlin
68d08ddbcb
Merge branch 'postprocessing'
2020-09-13 12:14:21 +10:00
Connor McLaughlin
3847be86b0
Fix a bunch of random warnings
2020-09-13 11:54:51 +10:00
Silent
2d90cfc07e
Tidy up SystemBootParameters constructors
2020-09-12 23:05:38 +02:00
Connor McLaughlin
2819715260
FrontendCommon: Add a post processing implementation
2020-09-13 01:23:43 +10:00
Connor McLaughlin
2b4568df6a
ShaderGen: Split HW shadergen from base
2020-09-13 01:23:43 +10:00
Connor McLaughlin
ccaff2e7cd
Settings: Fix incorrect UI for xBR texture filter
2020-09-13 01:21:14 +10:00
Connor McLaughlin
605992f294
Fix Android build
2020-09-12 00:35:38 +10:00
Connor McLaughlin
3625834ea7
GPU/HW: Add loading bar to shader compilation
2020-09-12 00:26:34 +10:00
Connor McLaughlin
6f250a4ff7
GPU/HW: Add JINC2 and xBRZ texture filtering options
...
Shaders ported from beetle-psx.
2020-09-12 00:26:34 +10:00
Connor McLaughlin
5cc91dc78b
HostDisplay: Add alignment setting
2020-09-11 00:18:57 +10:00
Connor McLaughlin
03f052e12e
FrontendCommon: Add auto cheat loading option
2020-09-09 23:44:02 +10:00
Connor McLaughlin
ddb38ac31d
Add pcsxr and libretro cheat list parsing
2020-09-09 22:11:28 +10:00
Connor McLaughlin
45eb30b6cc
Merge pull request #835 from TzakShrike/master
...
Upgrade region flags. Correct NTSC-U to NTSC-U/C. Add custom U/C flag. Remove outdated icons.qrc file.
2020-09-09 18:28:50 +10:00
Sam Pearman
2ef6b6aa40
Region flag upgrade & correct NTSC-U to NTSC-U/C
...
Replace references to NTSC-U with the correct NTSC-U/C and adds Canada in user-facing strings.
Replaces all region flags with revised SVGs.
Brings the US flag down to 3:2 to match Europe and Japan.
Adds a custom split US & Canada flag for the U/C region, also 3:2.
Generated PNGs and new HiDPI PNGs for region flags.
Flag PNGs were generated by downscaling using a Lanczos filter to a width of 36/72 pixels, then a 1px grey border added, then a 2/5px transparent border.
2020-09-09 15:54:07 +09:00
Connor McLaughlin
2cecb8bbdb
GPU/Vulkan: End render pass in ClearDisplay()
...
Fixes crash on Mesa/radv.
2020-09-08 11:44:54 +10:00
Connor McLaughlin
9bb278b166
CommonHostInterface: Fix crash on shutdown when using save state selector
2020-09-06 21:03:27 +10:00
Connor McLaughlin
976d4bae79
TimingEvent: Fix crash when invalid save state loaded
2020-09-06 17:47:49 +10:00
Connor McLaughlin
2c36750a0e
VulkanHostDisplay: Fix imgui image textures not rendering
2020-09-06 17:47:23 +10:00
Connor McLaughlin
fd0a009a7f
System: Add missing <cctype> include
2020-09-03 12:25:59 +10:00
Connor McLaughlin
42d49426e8
CPU/Recompiler/AArch64: Fix crash when calling >26-bit away functions
2020-09-03 00:11:40 +10:00
Connor McLaughlin
a2eaaf0e89
PGXP: Allocate large storage dynamically
...
This causes performance issues on ARM otherwise.
2020-09-03 00:11:40 +10:00
Connor McLaughlin
6bbbb96d4b
Move GameList to FrontendCommon
...
Reduces libretro core dependencies further.
2020-09-01 12:46:44 +10:00
Connor McLaughlin
13e3095801
Core: Don't link to imgui for libretro core
2020-09-01 12:22:32 +10:00
Connor McLaughlin
e21fc9e253
GPU/Vulkan: Use half width framebuffer for VRAM readbacks
2020-09-01 12:02:04 +10:00
Connor McLaughlin
d59eb05d94
Timers: Fix update interval for timer2 IRQs being too low
2020-08-31 22:01:05 +10:00
Connor McLaughlin
f187ee4971
TimingEvents: Switch from heap to sorted linked list
2020-08-31 22:00:20 +10:00
Connor McLaughlin
1eac603c79
CPU/Recompiler: AArch64 compile fix
2020-08-30 11:15:02 +10:00
Connor McLaughlin
8d49c71ec1
PGXP: Fix out-of-bounds write in hi/lo
2020-08-30 11:13:27 +10:00
Connor McLaughlin
2b902f6d09
Merge pull request #806 from CookiePLMonster/axis-to-button-map
...
Allow mapping axes to buttons
2020-08-29 23:35:18 +10:00
Silent
057bf986c4
Allow mapping half axes to buttons
...
This allows to bind pressure sensitive NeGcon buttons to keyboard,
mouse and controller buttons
2020-08-29 14:19:28 +02:00
Connor McLaughlin
914f3ad447
GameSettings: Add trait for recompiler icache
2020-08-29 22:11:10 +10:00
Connor McLaughlin
19d6037b99
CPU: Implement instruction cache simulation
...
Implemented for all execution modes. Disabled by default in the cached
interpreter and recompiler, always enabled in the pure interpreter.
2020-08-29 22:07:40 +10:00
Connor McLaughlin
efc00a2d0e
GameSettings: Make override messages translatable
2020-08-29 21:58:25 +10:00
Connor McLaughlin
3aecf6be27
GameSettings: Rename 'enable' options to 'force'
...
As per discussion on Discord.
2020-08-29 21:53:53 +10:00
Connor McLaughlin
421c65ea69
GPU/Vulkan: Fix reverse subtract blending with texture filtering
...
Fixes pointer in Final Fantasy VII with texture filtering.
2020-08-24 00:22:56 +10:00
Connor McLaughlin
8f54711c72
Make additional strings in controller settings translatable
2020-08-24 00:22:49 +10:00
Connor McLaughlin
559dc23e4e
CDROM: Set playing bit in status after starting
...
Fixes menu music in Army Men 3D.
2020-08-24 00:22:49 +10:00
Connor McLaughlin
9254fc9e63
GPU/HW: Fix UB with reverse subtract and texture filtering on
2020-08-24 00:22:49 +10:00
Connor McLaughlin
17b5c749bf
libretro: Re-enable hw context switch, add auto option
2020-08-23 14:51:23 +10:00
Connor McLaughlin
df14519a97
libretro: Recreate resources after context reset
2020-08-23 14:23:34 +10:00
Connor McLaughlin
32921acc5a
Timers: Don't read out of bounds for invalid address
2020-08-23 14:03:36 +10:00
Connor McLaughlin
60eb22537b
CPU/Recompiler: Flush caller-saved regs before calling functions
...
Should provide a very small performance boost.
2020-08-23 14:03:10 +10:00
Connor McLaughlin
d3f530f96e
CPU/CachedInterpreter: Very slight optmization
2020-08-23 01:41:55 +10:00
Connor McLaughlin
d37fba81ed
CPU/Interpreter: Fix incorrect downcount comparison
2020-08-23 01:41:55 +10:00
Connor McLaughlin
2768c2c91d
System: Fix VRAM sometimes getting lost when loading state
2020-08-22 18:16:35 +10:00
Connor McLaughlin
1d4d1d06a7
CPU/Recompiler: Disable static code buffer on macOS/Haiku
2020-08-22 13:24:57 +10:00
kwyxz
31695c4ff7
Haiku port of duckstation libretro core ( #716 )
...
* Haiku build 1st attempt
* fix load on Haiku
* Removed debugging flags
* Added a couple ifndef
2020-08-22 13:20:37 +10:00
Connor McLaughlin
ab002e78e1
Support translating strings in emulator core
2020-08-22 13:06:20 +10:00
Connor McLaughlin
f852be74e8
Compile fix for Linux/libretro
2020-08-21 00:26:22 +10:00
Connor McLaughlin
bca609a2a6
Qt: Add option to disable per-game settings
2020-08-21 00:09:37 +10:00
Connor McLaughlin
c3ce9135bf
Fix recompiler not auto-disabling with PGXP-CPU mode
2020-08-21 00:09:37 +10:00
Connor McLaughlin
60d3fffec1
Add per-game overrides (mainly for compatibility)
2020-08-21 00:09:37 +10:00
Connor McLaughlin
0d4fe1eb71
Fix Linux build again
2020-08-20 01:21:36 +10:00
Connor McLaughlin
6a17a558bb
CPU: Linux compile fix
2020-08-20 01:05:03 +10:00
Connor McLaughlin
b17335d812
GTE: Increase z precision in PGXP mode
2020-08-20 00:49:42 +10:00
Connor McLaughlin
daa72aba10
CPU: Skip executing nop instructions
...
Makes PGXP CPU mode quicker, as well as a performance improvement to the
regular interpreter.
2020-08-20 00:49:39 +10:00
Connor McLaughlin
2e9f656546
CPU: Implement PGXP CPU Mode
...
This is *very* slow. You don't want to enable it if you don't need it.
It is also incompatible with the recompiler and will disable it if the
option is enabled.
2020-08-20 00:49:39 +10:00
Connor McLaughlin
e1c29510f1
GPU/OpenGL: Fix incorrect framebuffer clear for interlacing
2020-08-19 00:45:08 +10:00
Connor McLaughlin
c9c2c00c1a
GPU: Update GPUSTAT.13 with field
...
Doubt this'll change much..
2020-08-19 00:02:37 +10:00
Connor McLaughlin
6d75f42e12
CDROM: Update last subq even when auto-pausing
...
Fixes music looping in Fighting Force.
2020-08-18 00:13:21 +10:00
Connor McLaughlin
7c697f363e
libretro: Make single cards for playlist the default, fix disabled case
...
This bug was causing the option to act as if it was disabled anyway.
2020-08-17 11:51:47 +10:00
Connor McLaughlin
f65651823e
GPU: Simplify hsync handling
...
Fixes character lighting in Monkey Hero.
2020-08-17 01:22:03 +10:00
Connor McLaughlin
4e62b32d60
Add option to dump the contents of RAM to a file
2020-08-16 23:20:36 +10:00
Connor McLaughlin
10a46a7fd8
OSD: Add option to show display resolution
2020-08-16 00:20:11 +10:00
Connor McLaughlin
26aa627deb
GPU/HW: Include resolution in scale change message
2020-08-16 00:20:11 +10:00
Connor McLaughlin
f5fb8186c7
Switch some messages to the OSD and increase durations
2020-08-16 00:20:10 +10:00
Connor McLaughlin
e0e76b881d
System: Bump save state version
2020-08-16 00:20:10 +10:00
Connor McLaughlin
d9893bb127
System: Add option to use a single memory card for playlists
2020-08-16 00:20:10 +10:00
Connor McLaughlin
dedeee1698
System: Track playlists in save states
2020-08-16 00:20:10 +10:00
Connor McLaughlin
8fa965a1ac
GameList: Support playlist entries
2020-08-16 00:20:10 +10:00
Connor McLaughlin
d4665e8b22
GPU: Tweaks to ODE handling
...
Fixes Team Buddies and The Next Tetris.
2020-08-16 00:20:10 +10:00
Connor McLaughlin
c5db7db182
Build: Compile source as UTF-8 with MSVC
2020-08-15 00:04:38 +10:00
Connor McLaughlin
025e01ca47
CPU: Fix exceptions clobbering cop0.cause.Ip
...
Fixes Gran Turismo 2 (PAL).
2020-08-14 23:55:16 +10:00
Connor McLaughlin
e6156e2adb
GPU/ShaderGen: Move transparent compensation to bilinear function
2020-08-12 02:27:52 +10:00
Connor McLaughlin
bb344a4e1e
GPU/D3D11: Fix crash/hang when toggling bilinear setting
2020-08-12 02:27:52 +10:00
Connor McLaughlin
d1ee6c0da7
GPU/HW: Make settings update slightly safer
2020-08-12 02:27:52 +10:00
Connor McLaughlin
17a1719450
GPU/HW: Fix incorrect texel offset when upscaling
...
Fixes incorrectly coloured triangles in Tomb Raider.
2020-08-12 02:27:52 +10:00
Connor McLaughlin
d733553425
GPU/HW: Don't display a deleted texture in D3D/OpenGL when updating settings
2020-08-11 04:03:11 +10:00
Connor McLaughlin
2130d3b004
GPU/Vulkan: Don't add UV limits as attribute when unused
2020-08-11 03:58:59 +10:00
Connor McLaughlin
fba2488bc5
GPU/D3D11: Don't add UV limits to input layout when unused
2020-08-11 03:58:59 +10:00
Connor McLaughlin
bf9ac64183
GPU/D3D11: Don't leak input layout objects
2020-08-11 03:48:24 +10:00
Connor McLaughlin
3a020ef87e
HostInterface; Fix crash on shutdown if boot fails
2020-08-11 03:01:08 +10:00
Connor McLaughlin
5c6e92cdfc
GPU/HW: Disable coordinate clamping when unnecessary
2020-08-10 23:28:37 +10:00
Connor McLaughlin
b95ce993e0
GPU/HW: Clamp interpolated UVs to polygon limits
...
Fixes texture filtering and PGXP issues in some games.
2020-08-10 23:28:37 +10:00
Connor McLaughlin
5b9db71b87
CPU/Recompiler: Fix mid-block software interrupts not updating pc
...
Fixes Need for Speed: High Stakes hanging at boot.
2020-08-09 04:32:53 +10:00
Connor McLaughlin
223074b78f
SPU: Fix activating transfer event with a downcount of 0
...
Happened when loading states.
2020-08-09 04:29:43 +10:00
Connor McLaughlin
70767dc6bf
CPU/Recompiler/AArch64: Use cmn for negative constant comparisons
2020-08-08 23:44:13 +10:00
Connor McLaughlin
901ca71fdc
CPU/Recompiler: Add temporary inhibiting of register allocation
2020-08-08 23:44:13 +10:00
Connor McLaughlin
1d5f810a4b
CPU/Recompiler: Disable memory access exceptions by default
...
This means it'll no longer pass amidog's CPU test in the default config.
But no games rely on this. You can enable it in advanced options if you
want to pass the CPU test.
2020-08-08 23:44:13 +10:00
Connor McLaughlin
b1377fe0d9
CPU/Recompiler: Add a fast block lookup array
...
Up to 15% perf improvement.
2020-08-08 23:06:28 +10:00
Connor McLaughlin
f6e88353eb
CPU/Recompiler: Make generated code invariant to virtual PC
2020-08-08 23:06:28 +10:00
Connor McLaughlin
8d4216068a
CPU/Recompiler: Implement div/divu
2020-08-08 23:06:27 +10:00
Connor McLaughlin
a2f271c505
CPU: Simplify some exception checks in cop0-3
2020-08-07 17:05:01 +10:00
Connor McLaughlin
e5c46a54b7
System: Restore/reset state on recreating GPU/updating settings
...
Fixes display corruption on RetroArch when switching renderers.
2020-08-06 23:20:52 +10:00
Connor McLaughlin
359234080a
D3D11: Set GS to null when restoring state
...
Fixes the D3D11 renderer being broken on RetroArch due to it leaving a
geometry shader bound.
2020-08-06 23:19:19 +10:00
Connor McLaughlin
6e586311e8
Common: Add title, modal information to ProgressCallback
2020-08-06 19:32:53 +10:00
Connor McLaughlin
466e4099d4
CDROM: Fix handling of logical seeks to audio sectors
...
Fixes Wizard's Harmony.
2020-08-05 03:14:04 +10:00
Connor McLaughlin
dd9705ef31
GPU/HW: Fix last row of oversized writes not applying
...
Combined with the wrap changes, fixes Namco Museum motherboard scene.
2020-08-04 14:40:00 +10:00
Connor McLaughlin
0b0bc32afb
GPU/HW: Use texture samplers rather than fetching for batches
...
Enables wrap-around.
2020-08-04 14:40:00 +10:00
Connor McLaughlin
0fc301d654
GPU/HW: Use wrap texture address modes
2020-08-04 14:40:00 +10:00
Connor McLaughlin
231c0b5ff6
GPU/SW: Wrap texture coordinates when sampling
2020-08-04 14:40:00 +10:00
Connor McLaughlin
818892cb1b
GPU: Claer interlaced field buffer when enabling
...
Fixes old frames getting briefly displayed.
2020-08-03 03:26:13 +10:00
Connor McLaughlin
23df239469
GPU/HW: Debug build compile fix
2020-08-03 03:26:00 +10:00
Connor McLaughlin
f712c42c21
GPU/HW: Add more details to debug window
2020-08-03 03:06:23 +10:00
Connor McLaughlin
9b7512f7b8
GPU/HW: Implement automatic resolution scale from window size
2020-08-03 03:06:03 +10:00
Connor McLaughlin
be6ae8b70b
GPU/Vulkan: Work around Mali crash with readbacks
2020-08-03 02:03:33 +10:00
Connor McLaughlin
b527118c0a
GPU/HW: Fix macOS compile
2020-08-02 18:04:00 +10:00
Connor McLaughlin
92975b2e81
GPU/HW: Tiny performance optimization in polygon loading
2020-08-02 17:32:43 +10:00
Connor McLaughlin
96ba9198ef
GPU/HW: Expand lines into triangles before rendering
...
Fewer batches, consistent upscaling behavior.
2020-08-02 17:17:11 +10:00
Connor McLaughlin
568cfa1865
GPU/OpenGL: Fix possible error on shutdown
2020-08-02 17:16:51 +10:00
Connor McLaughlin
4d9c2c1b6c
GPU: Ensure pending time is used in events
...
Fixes long delay in Syphon Filter.
2020-08-02 14:09:22 +10:00
Connor McLaughlin
bd0c403672
GPU/HW: Fix mask bit test regression
...
Fixes white boxes in Silent Hill. Again.
2020-08-02 13:04:25 +10:00
Connor McLaughlin
0c1b637549
PGXP: Add initial implementation
2020-08-02 00:25:07 +10:00
Connor McLaughlin
e9882a10aa
System: Move restore/reset graphics API state to System
...
Fixes frame stepping.
2020-08-01 16:45:07 +10:00
Connor McLaughlin
2eb9384275
Replace more instances of fopen() with FileSystem::OpenFile()
2020-08-01 14:00:22 +10:00
Connor McLaughlin
2885d2e547
CPU/CodeCache: Hopefully fix 32-bit compile errors
2020-08-01 03:53:53 +10:00
Connor McLaughlin
b6f871d2b9
JIT optimizations and refactoring ( #675 )
...
* CPU/Recompiler: Use rel32 call where possible for no-args
* JitCodeBuffer: Support using preallocated buffer
* CPU/Recompiler/AArch64: Use bl instead of blr for short branches
* CPU/CodeCache: Allocate recompiler buffer in program space
This means we don't need 64-bit moves for every call out of the
recompiler.
* GTE: Don't store as u16 and load as u32
* CPU/Recompiler: Add methods to emit global load/stores
* GTE: Convert class to namespace
* CPU/Recompiler: Call GTE functions directly
* Settings: Turn into a global variable
* GPU: Replace local pointers with global
* InterruptController: Turn into a global pointer
* System: Replace local pointers with global
* Timers: Turn into a global instance
* DMA: Turn into a global instance
* SPU: Turn into a global instance
* CDROM: Turn into a global instance
* MDEC: Turn into a global instance
* Pad: Turn into a global instance
* SIO: Turn into a global instance
* CDROM: Move audio FIFO to the heap
* CPU/Recompiler: Drop ASMFunctions
No longer needed since we have code in the same 4GB window.
* CPUCodeCache: Turn class into namespace
* Bus: Local pointer -> global pointers
* CPU: Turn class into namespace
* Bus: Turn into namespace
* GTE: Store registers in CPU state struct
Allows relative addressing on ARM.
* CPU/Recompiler: Align code storage to page size
* CPU/Recompiler: Fix relative branches on A64
* HostInterface: Local references to global
* System: Turn into a namespace, move events out
* Add guard pages
* Android: Fix build
2020-07-31 17:09:18 +10:00
Connor McLaughlin
1f9fc6ab74
BIOS: Fix Linux build
2020-07-31 16:34:25 +10:00
Connor McLaughlin
8802177e25
BIOS: Add more revision filenames/hashes
2020-07-31 16:28:15 +10:00
Connor McLaughlin
66e79091d3
BIOS: Use fopen() wrapper from FileSystem
2020-07-31 16:04:10 +10:00
Connor McLaughlin
5634e821c5
CDROM: Reset audio decoder state immediately after pause or seek
...
Fixes stuttering dialogue in Dino Crisis (control room at beginning of
game).
2020-07-30 01:55:37 +10:00
Connor McLaughlin
5a34a15bf2
CDROM: Include FIFO size in debug window
2020-07-30 01:03:59 +10:00
Connor McLaughlin
dd48a1f585
System: Handle large event timing overshoots better
...
Usually a result of DMA cycle stealing. Instead of adding all time, add
min(all_events.downcount) at a time. 1.5% performance improvement, but
fixes desyncs between the SPU and CD-ROM.
2020-07-30 00:47:19 +10:00
Connor McLaughlin
cdab84e210
GPU/Vulkan: Display shader compiling message
2020-07-26 23:59:06 +10:00
Connor McLaughlin
7c54129409
Merge pull request #665 from ggrtk/analog-controller
...
AnalogController: Expose axis scale setting to frontend
2020-07-26 23:57:40 +10:00
Connor McLaughlin
caf9943418
GPU/Vulkan: Possible workaround for Adreno GS shader compiler bug
2020-07-25 15:17:29 +10:00
Albert Liu
79576ca956
AnalogController: Expose axis scale setting to frontend
2020-07-24 19:18:41 -07:00
Connor McLaughlin
d711baaa31
GPU/HW: Fix lines being one pixel too short
...
Fixes lines in screen wipe effect in Vagrant Story.
2020-07-25 02:37:01 +10:00
Connor McLaughlin
104b80f111
HostInterface: Move 'System shut down' message to SDL
...
Only frontend where it makes sense anyway.
2020-07-23 02:45:20 +10:00
Connor McLaughlin
8e1c0a4fe4
System: Support loading m3u playlists
2020-07-23 02:36:05 +10:00
Connor McLaughlin
d46c104d1b
System: Preload CD images to RAM when switching/loading state
2020-07-23 02:35:23 +10:00
Connor McLaughlin
08a8434140
GPU/HW: Fix off-by-one in wrap-around VRAM writes
2020-07-23 02:35:03 +10:00
Connor McLaughlin
10cd00c8dd
CDROM: Play audio when reading and mode.0 is set
2020-07-22 15:23:13 +10:00
Connor McLaughlin
e9db1d0f6f
GPU/OpenGL: Use base class helper for filling VRAM copy uniforms
2020-07-22 14:47:09 +10:00
Connor McLaughlin
2dc62ab987
GPU/HW: Fix VRAM updates when Y >= 512
2020-07-22 14:46:52 +10:00
jdgleaver
49f9ddfa0e
Finish adding support for PSX BIOS included in PSP firmware 6.60
2020-07-21 17:06:38 +01:00
jdgleaver
7478e75ed6
(libretro) Fix 'Fast Boot' option
2020-07-21 16:32:36 +01:00
Connor McLaughlin
f28ef01d24
CDROM: Move audio FIFO to CDROM class and skip sectors when unempty
...
Fixes cutscene audio in Nickelodeon Rugrats - Search for Reptar.
2020-07-22 00:05:52 +10:00
Connor McLaughlin
f9bbbbbaec
Settings: Make auto-detect the default console region
2020-07-22 00:03:31 +10:00
Connor McLaughlin
9496c992f7
System: Add an option to preload CD image to RAM
2020-07-22 00:03:22 +10:00
Connor McLaughlin
8b91bf5e57
Core: Add loading screen based progress callbacks
2020-07-22 00:03:01 +10:00
Connor McLaughlin
93528db388
System: Use existing CD media when loading state where possible
2020-07-22 00:02:37 +10:00
Connor McLaughlin
75a8a7fcca
Settings: Make per-game memory cards for slot 1 the default
2020-07-21 20:15:52 +10:00
Connor McLaughlin
68d98af497
Qt: Remove usage of QString where possible for settings
2020-07-21 20:10:06 +10:00
Connor McLaughlin
bddd098a66
Merge branch 'master' into qt-inisettings
2020-07-21 13:28:18 +10:00
Connor McLaughlin
5c1c467e38
GTE: Add widescreen hack
2020-07-18 00:28:37 +10:00
Connor McLaughlin
401ecfa872
Bus: Make memory map public
2020-07-18 00:28:37 +10:00
Albert Liu
9b2740b395
HostInterface: Save tweak/hack defaults to settings file
...
Fixes tweak/hack defaults not displaying correctly in Qt frontend.
2020-07-16 20:35:18 -07:00
Connor McLaughlin
dd9a4191e6
AnalogController: Fix swapped rumble test
...
Fixes weak rumble test in MGS.
I should write some hardware tests for this at some point, particularly
for the large motor, which should have a variable intensity.
2020-07-15 02:38:16 +10:00
Connor McLaughlin
7ba1bed37b
Settings: Leave interlacing on by default
...
Too many games break without it.
2020-07-14 01:27:57 +10:00
Connor McLaughlin
6ed67468d2
CDROM: Prevent games which spam Reset from getting wedged
2020-07-14 01:26:37 +10:00