Commit graph

1413 commits

Author SHA1 Message Date
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