Commit graph

365 commits

Author SHA1 Message Date
Connor McLaughlin 3e16dbfc37 System: Fix crash when toggling memory exceptions off 2022-09-17 15:56:05 +10:00
Connor McLaughlin 21b7261dc9 System: Fix turbo getting dropped on renderer switch 2022-09-13 17:50:42 +10:00
Connor McLaughlin 023900dc77 System: Fix inverted save screenshot colour channels 2022-09-09 13:31:13 +10:00
Connor McLaughlin bec0d6e7df HostDisplay: Add GPU usage statistics 2022-09-03 14:17:51 +10:00
Connor McLaughlin 3a5bf6d29b System: Move overlay checking to common 2022-08-27 16:52:24 +10:00
Connor McLaughlin 7bbacd2392 Misc: Remove unused code 2022-08-22 19:55:38 +10:00
Connor McLaughlin c7e8233b7b System: Move present skip check to core 2022-08-19 00:07:14 +10:00
Connor McLaughlin 0f82dc9161 System: Use streaming for compressed save 2022-08-18 23:10:15 +10:00
Connor McLaughlin 759938a5cf System: Support compressing save states 2022-08-18 23:10:15 +10:00
Connor McLaughlin c66a9f117d System: Don't empty buffers on state load 2022-08-18 23:10:15 +10:00
Connor McLaughlin 86cba1e04d System: Fix present skip getting activated on unpause
When using vsync+sync to host refresh+optimal frame pacing.
2022-08-16 21:23:16 +10:00
Connor McLaughlin 3abf1df362 System: Fix volume after toggling fast forward 2022-08-15 17:23:34 +10:00
Connor McLaughlin 5b2c18e27c SPU: Convert to namespace 2022-08-15 17:22:23 +10:00
Connor McLaughlin 6c69cf33c2 System: Fix loading states with different media path 2022-08-15 17:14:34 +10:00
Connor McLaughlin 795ddee79c Qt: Fix relative mode for PSMouse 2022-08-10 17:08:59 +10:00
Connor McLaughlin 4faa49d42c System: Fix framerate spike after pausing in debugger 2022-08-10 15:19:15 +10:00
Connor McLaughlin c3da236f92 System: Preparations for per-game controller settings 2022-08-10 13:09:48 +10:00
Connor McLaughlin 54c2447ff3 System: Rework some throttler/vsync logic 2022-08-10 13:09:32 +10:00
Connor McLaughlin 1289064316 Settings: Drop audio sync option
Not relevant since time stretching was added.
2022-08-05 17:57:47 +10:00
Connor McLaughlin 57c1ca97f7 Qt: Hook up audio driver selection 2022-08-05 17:50:28 +10:00
Connor McLaughlin 06ecc50797 System: Fix CPU usage not showing for sw-renderer-for-readbacks 2022-08-05 17:17:29 +10:00
Connor McLaughlin 8f314c8d49 System: Fix vsync resetting on pause and fast forward on boot 2022-08-05 17:09:44 +10:00
Connor McLaughlin 589785f8a0 System: Don't print whole path in save OSD messages 2022-08-05 17:09:02 +10:00
Connor McLaughlin 6bf0ad789e fixup! Misc: Necessary emucore changes for Android 2022-08-05 17:07:07 +10:00
Connor McLaughlin 523297c60e System: Fix querying invalid handle on boot 2022-08-05 17:06:50 +10:00
Connor McLaughlin 9c3e4c78c8 System: Fix match window aspect ratio not working on startup 2022-08-05 17:06:02 +10:00
Connor McLaughlin 3505ca26e0 SaveStateSelectorUI: Fix loading/saving without popup 2022-07-31 17:33:03 +10:00
Connor McLaughlin a899ca88f2 Build: Make OpenGL/Vulkan renderers optional
And disabled on Windows/arm64.
2022-07-31 01:14:28 +10:00
Connor McLaughlin 89659db7ee Path: Unicode handling and tests for SanitizeFileName 2022-07-30 21:46:14 +10:00
Connor McLaughlin be5b979713 AudioStream: Make speed changes less poppy 2022-07-29 21:16:02 +10:00
Connor McLaughlin 68b5dd869c SPU: Add time stretched audio output 2022-07-28 22:10:47 +10:00
Connor McLaughlin a461ba8be6 System: Update speed limiter on boot 2022-07-28 22:10:46 +10:00
Connor McLaughlin 6b8b08ef61 System: Fix invalid memory read in SW thread stats 2022-07-28 22:10:46 +10:00
Connor McLaughlin 6386004b2c FullscreenUI: Fix incorrect vsync state on unpause 2022-07-26 21:46:18 +10:00
Connor McLaughlin c2f4b7e7b8 CDROM: Only apply extra remove delay on disc swap 2022-07-26 20:14:45 +10:00
Connor McLaughlin fc40397818 GPU: Don't set empty post chain 2022-07-23 13:55:09 +10:00
Connor McLaughlin be03998be0 System: Fix title not showing for non-database discs 2022-07-23 13:55:09 +10:00
Connor McLaughlin a1edddc59d CDROM: Revamp/improve preload image procedure 2022-07-23 13:55:09 +10:00
Connor McLaughlin 75b4891f78 Qt: Fix Apply Game Settings option 2022-07-23 00:13:55 +10:00
Connor McLaughlin 701780e2ef Qt: Regression fixes 2022-07-22 22:53:06 +10:00
Connor McLaughlin b42b5501f6 UI: Massive revamp, new features and improvements 2022-07-22 21:19:54 +10:00
Connor McLaughlin af91fcf195 Backport more common classes 2022-07-21 17:29:58 +10:00
Connor McLaughlin b7fbde31a7 Move utility classes from common to own static lib 2022-07-21 17:29:58 +10:00
Connor McLaughlin d2ca454576 Sync filesystem.h/path.h 2022-07-21 17:29:57 +10:00
Connor McLaughlin b5bf3593c4 ByteStream: Move routines from FileSystem to ByteStream 2022-07-21 17:29:57 +10:00
wheremyfoodat d959899022 Allow .ps-exe suffix for executables. 2022-07-16 19:05:17 +03:00
Connor McLaughlin 9ab64ecdb3 CDImage: Add Precache() method 2022-04-03 21:09:36 +10:00
Connor McLaughlin a55b5022c7 System: Include cheevos state in save states 2022-03-27 16:59:02 +10:00
Brian Blakely 717ee3103f M3U: Preloading to RAM for single-disc playlists. 2022-03-27 16:58:51 +10:00
Connor McLaughlin 4513c7a23d System: Invalidate instead of flushing code cache on memory state 2021-12-25 14:28:33 +10:00
Connor McLaughlin fe2062ff9f System: Warning fix 2021-12-25 14:28:32 +10:00
Connor McLaughlin c346dfe8a4 SPU: Drop OOB register warnings to dev level 2021-11-26 11:31:59 +10:00
Connor McLaughlin 14eecae680 System: Use exe hash plus pvd hash for image hash code 2021-11-09 12:54:30 +10:00
Connor McLaughlin 946481c2aa System: Add a workaround for PSF files with incorrect header 2021-11-06 10:48:23 +10:00
Connor McLaughlin 355d7664d2 System: Fix unused variable warning 2021-10-25 17:27:41 +10:00
Connor McLaughlin 75e9506803 System: Get rid of double GPU reset 2021-08-24 11:57:11 +10:00
Connor McLaughlin c4f0dafb1f System: Don't time memory load/save states by default
Reduces log spam.
2021-08-12 21:31:40 +10:00
Connor McLaughlin 50a09384e1 CommonHostInterface: Add onscreen indicator for rewind 2021-08-07 12:07:04 +10:00
Connor McLaughlin 29bc0c950a System: Reset before loading save state on boot 2021-07-24 13:07:09 +10:00
Connor McLaughlin 0000750527 System: Fix rewind rate with vsync off 2021-07-17 20:14:40 +10:00
Anderson_Cardoso 41fc84ae51
Update information about SBI file
A simple update message to make it more clear for end users in regard SBI files.
2021-07-14 10:55:07 -03:00
Connor McLaughlin 14e7f8fd13 GPU: Add D3D12 renderer 2021-07-10 21:45:10 +10:00
Connor McLaughlin 8f3162675f Warning fixes 2021-07-07 19:54:13 +10:00
Connor McLaughlin 911e9a37f1 WIN32 macro -> _WIN32 2021-06-30 14:38:07 +10:00
Connor McLaughlin bc1331208b System: Don't try to preload multi-disc images 2021-06-27 13:52:43 +10:00
Connor McLaughlin d3d92226a5 PGXP: Further optimizations
Up to an 8% speed improvement in Racing Lagoon with CPU mode enabled.
2021-06-12 22:02:33 +10:00
Connor McLaughlin aae0fb3f2b System: Support loading libps.exe (for Net Yaroze) 2021-06-11 20:47:46 +10:00
Connor McLaughlin 350049826f Fix a bunch of compiler warnings 2021-06-04 13:14:30 +10:00
Connor McLaughlin 9aa386e96c System: Add option to load/apply image patches 2021-06-01 21:55:37 +10:00
Connor McLaughlin 6a2b2ac7f8 System: Don't wipe out nonpersistent memory cards during game change 2021-05-24 21:24:22 +10:00
Connor McLaughlin d9a655fb41 System: Add non-persistent memory card type 2021-05-23 17:12:01 +10:00
Connor McLaughlin 98e4c181ca CDROM: Add seek speedup enhancement 2021-05-23 16:18:34 +10:00
Connor McLaughlin ff0bd7abc4 System: Add file title memory card type 2021-05-21 13:19:25 +10:00
Connor McLaughlin 67f352339c CommonHostInterface: Add swap memory cards hotkey 2021-05-20 12:19:28 +10:00
Connor McLaughlin bced237034 MemoryCard: Sanitize game titles for file names 2021-05-20 12:19:28 +10:00
Connor McLaughlin 21d6af287e System: Fix a possible crash with runahead 2021-05-20 12:19:27 +10:00
Connor McLaughlin e382df0d41 Support expanding RAM to 8MB (dev console) 2021-05-03 12:43:33 +10:00
Connor McLaughlin f1310bf93a System: Don't discard PGXP state when runahead-rollbacking
You'll still see some glitches if you have the frame count set too high,
since you'll get imprecise values for any vertices which have moved, but
that's going to happen anyway because of the runahead in the first
place.
2021-04-28 02:51:44 +10:00
Connor McLaughlin c2916e0719 System: Render save state screenshots at fixed resolution
Fixes delays when saving state at high internal resolution.
2021-04-28 02:51:44 +10:00
Connor McLaughlin fe1a582909 System: Disallow booting when SBI files are missing 2021-04-22 13:40:48 +10:00
Connor McLaughlin 03f3f0369c GameList: Reduce number of system calls when scanning 2021-04-17 21:52:26 +10:00
Connor McLaughlin 1b16662f17 System: Remove unused ParseM3UFile function 2021-04-17 21:52:26 +10:00
Connor McLaughlin ff14e8aede Add JSON game database to replace dat parsing 2021-04-17 17:04:23 +10:00
Connor McLaughlin 922d320523 CPU/Recompiler: Reserve whole fastmem region to avoid clashes 2021-04-11 12:42:51 +10:00
Connor McLaughlin 0644faa635 System: Disable memory cards when running PSFs 2021-04-08 11:34:15 +10:00
Connor McLaughlin dec2d48bfe System: Fix crash when launching exe/psf 2021-03-28 13:47:53 +10:00
Connor McLaughlin 5df28eff9d System: Fix failing to load new single disc save states 2021-03-27 15:43:42 +10:00
Connor McLaughlin 5aa70cf797 Settings: Add memory card directory option 2021-03-27 15:18:29 +10:00
Connor McLaughlin 50d712c3fe CDImage: Support sub-images, use subimages for m3u 2021-03-27 15:18:29 +10:00
Albert Liu d10365c60e System: Fix message crash for missing CD image 2021-03-22 19:17:04 -07:00
Connor McLaughlin 11dcba1b68 CDImage: Use Error class for complex errors 2021-03-19 01:58:00 +10:00
Connor McLaughlin 1911a25a9f System: Add warning if CD-ROM read speedup is enabled on startup 2021-03-17 00:58:09 +10:00
Albert Liu 46ff2b553d CDImage: Add support for loading PBP images 2021-03-15 20:06:39 -07:00
Connor McLaughlin 753dd0480f CDImage: Add support for loading mds/mdf images 2021-03-07 16:26:15 +10:00
Connor McLaughlin 6bbb1128b6 System: Hash executable for game code when system.cnf missing 2021-03-07 02:47:00 +10:00
Connor McLaughlin ac4dd11fa0 CDImage: Add support for ECM images 2021-03-07 02:47:00 +10:00
Connor McLaughlin 521ade025c System: Make hardware renderer init failure an OSD message 2021-03-05 01:05:16 +10:00
Albert Liu 3482313e2f Multitap: Add option to enable only on port 2 2021-03-01 14:59:59 -08:00
Connor McLaughlin c7a4efc395 System: Don't strip subdirectories when reading exe
Fixes getting hashes for cheevos in games such as Metal Gear Solid -
Integral.
2021-03-02 01:48:31 +10:00
Albert Liu f9dc1a7e80 Core: Add Multitap support 2021-02-26 21:04:12 -08:00
Connor McLaughlin 0ec2c87a0e Implement RetroAchivements 2021-02-27 00:44:53 +10:00
Connor McLaughlin 229ed5a852 System: Add helpers for reading executables off discs 2021-02-24 01:21:43 +10:00
Connor McLaughlin 7501e89b7a System: Add path/image to game change notification 2021-02-24 01:21:43 +10:00
Connor McLaughlin 24c2165bb3 GPU: Allow closing window/app to interrupt shader compilation 2021-02-19 01:48:44 +10:00
Connor McLaughlin 1b544ae350 GameList: Slight optimization to scanning 2021-02-19 01:37:56 +10:00
Connor McLaughlin db4f521d92 System: Make some boot error messages translatable 2021-02-18 02:08:48 +10:00
Connor McLaughlin 09805c1f80 FullscreenUI: Fix controller navigation in disc change 2021-02-18 02:08:47 +10:00
Connor McLaughlin bfa2b72e08 Fix a couple of name typos 2021-02-11 02:17:25 +10:00
Connor McLaughlin 6ab926ab28 System: Make the SBI check a confirm dialog instead of message 2021-02-11 02:04:47 +10:00
Connor McLaughlin 701edb335a Various warning fixes 2021-02-06 19:19:55 +10:00
C.W. Betts 662d6e9711 Fix possible log formatting errors. 2021-02-04 17:54:51 -07:00
Connor McLaughlin 55a1d0437d System: Display message on media change 2021-01-31 17:10:27 +10:00
Connor McLaughlin 3c2b11fccb System: Don't log rewind pending flag when disabled 2021-01-29 01:27:32 +10:00
Connor McLaughlin 4bb3fb48f9 System: Add a new throttler/pacer which can catch up on lost time
This can result in worse frame pacing, so if you have a decent machine
you'll probably want to turn on "display all frames" in display
settings.

But, it's sadly needed for Android.
2021-01-28 21:04:23 +10:00
Connor McLaughlin 16a32bf696 Qt: Simplify runahead settings 2021-01-26 03:38:31 +10:00
Connor McLaughlin e79dff1731 System: Use hybrid sleep on Android 2021-01-26 03:38:31 +10:00
Connor McLaughlin 24dd49e05d GPU: Fix runahead with MSAA enabled in D3D11/Vulkan 2021-01-26 03:22:23 +10:00
Connor McLaughlin 3f96473fb5 System: Reuse existing texture/buffers for runahead/rewind 2021-01-25 01:15:46 +10:00
Connor McLaughlin e01d66d18e System: Implement runahead 2021-01-25 01:15:46 +10:00
Connor McLaughlin 516d685dd0 System: Add memory-only save states and rewind 2021-01-25 01:15:45 +10:00
Connor McLaughlin b62f31fd96 System: Use region from exe/psf when booting 2021-01-24 17:37:09 +10:00
Connor McLaughlin 10135e08a2 PSFLoader: Support loading minipsfs/libraries 2021-01-24 17:37:09 +10:00
Connor McLaughlin d44de3a9dc System: Use SetWaitableTimer() for throttling on Windows 2021-01-14 00:40:25 +10:00
Connor McLaughlin 2b5cfb272c Qt: Add dump VRAM and SPU RAM actions 2021-01-13 19:24:41 +10:00
Connor McLaughlin b5ffbfe826 Qt: Fix audio sliders not applying correctly 2021-01-13 02:37:04 +10:00
Connor McLaughlin 4e87b30b40 System: Skip throttler phase reset when running at <100% 2021-01-01 14:08:09 +10:00
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 8db961042a GPU: Support replacing VRAM writes with new textures 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 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 3b23542ec9 CPU: Provide debugger/breakpoint/step functionality 2020-12-17 11:57:47 +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 98d6b49987 System: Log FPS/frame times every second 2020-12-08 01:47:28 +10: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 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 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
Connor McLaughlin b695d3c6ce System: Use existing media if save state media is not found 2020-11-30 01:15:44 +10:00
Connor McLaughlin a75b6e512a System: Improve translatability of save state error 2020-11-28 00:35:03 +10:00
Albert Liu 32e47fba93 System: Limit maximum loadable save state version 2020-11-26 19:51:45 -08:00
Connor McLaughlin b45bee5954 libretro: Work around crash in RetroArch Vulkan driver 2020-11-25 23:06:41 +10:00
Connor McLaughlin 2b66492ed8 HostInterface: Add proper turbo speed setting 2020-11-03 22:59:26 +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 b2d224abfc System: Set BIOS before resetting
Fixes incorrect first instruction executing in interpreter mode.
2020-10-30 00:44:39 +10:00
Albert Liu f69889264d Core: Make some additional OSD messages translatable 2020-10-22 02:07:48 -07:00
Connor McLaughlin 7566c45f64 CPU/Recompiler: Implement fastmem 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 27697d0508 System: Implement CPU overclocking [SAVEVERSION+]
Partial credit to @CookiePLMonster as well.
2020-09-30 23:48:34 +10:00
Silent 2d90cfc07e
Tidy up SystemBootParameters constructors 2020-09-12 23:05:38 +02:00
Connor McLaughlin 03f052e12e FrontendCommon: Add auto cheat loading option 2020-09-09 23:44:02 +10:00