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
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
fd0a009a7f
System: Add missing <cctype> include
2020-09-03 12:25:59 +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
2768c2c91d
System: Fix VRAM sometimes getting lost when loading state
2020-08-22 18:16:35 +10:00
Connor McLaughlin
ab002e78e1
Support translating strings in emulator core
2020-08-22 13:06:20 +10:00
Connor McLaughlin
60d3fffec1
Add per-game overrides (mainly for compatibility)
2020-08-21 00:09:37 +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
4e62b32d60
Add option to dump the contents of RAM to a file
2020-08-16 23:20:36 +10:00
Connor McLaughlin
f5fb8186c7
Switch some messages to the OSD and increase durations
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
d4665e8b22
GPU: Tweaks to ODE handling
...
Fixes Team Buddies and The Next Tetris.
2020-08-16 00:20:10 +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
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
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
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
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
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
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
9496c992f7
System: Add an option to preload CD image to RAM
2020-07-22 00:03:22 +10:00