Commit Graph

322 Commits (720b5c1e9d7c01a6a3b6d6f323cd2bbf5c631de2)

Author SHA1 Message Date
Connor McLaughlin d2ca454576 Sync filesystem.h/path.h 4 years ago
Connor McLaughlin b5bf3593c4 ByteStream: Move routines from FileSystem to ByteStream 4 years ago
wheremyfoodat d959899022 Allow .ps-exe suffix for executables. 4 years ago
Connor McLaughlin 9ab64ecdb3 CDImage: Add Precache() method 5 years ago
Connor McLaughlin a55b5022c7 System: Include cheevos state in save states 5 years ago
Brian Blakely 717ee3103f M3U: Preloading to RAM for single-disc playlists. 5 years ago
Connor McLaughlin 4513c7a23d System: Invalidate instead of flushing code cache on memory state 5 years ago
Connor McLaughlin fe2062ff9f System: Warning fix 5 years ago
Connor McLaughlin c346dfe8a4 SPU: Drop OOB register warnings to dev level 5 years ago
Connor McLaughlin 14eecae680 System: Use exe hash plus pvd hash for image hash code 5 years ago
Connor McLaughlin 946481c2aa System: Add a workaround for PSF files with incorrect header 5 years ago
Connor McLaughlin 355d7664d2 System: Fix unused variable warning 5 years ago
Connor McLaughlin 75e9506803 System: Get rid of double GPU reset 5 years ago
Connor McLaughlin c4f0dafb1f System: Don't time memory load/save states by default
Reduces log spam.
5 years ago
Connor McLaughlin 50a09384e1 CommonHostInterface: Add onscreen indicator for rewind 5 years ago
Connor McLaughlin 29bc0c950a System: Reset before loading save state on boot 5 years ago
Connor McLaughlin 0000750527 System: Fix rewind rate with vsync off 5 years ago
Anderson_Cardoso 41fc84ae51
Update information about SBI file
A simple update message to make it more clear for end users in regard SBI files.
5 years ago
Connor McLaughlin 14e7f8fd13 GPU: Add D3D12 renderer 5 years ago
Connor McLaughlin 8f3162675f Warning fixes 5 years ago
Connor McLaughlin 911e9a37f1 WIN32 macro -> _WIN32 5 years ago
Connor McLaughlin bc1331208b System: Don't try to preload multi-disc images 5 years ago
Connor McLaughlin d3d92226a5 PGXP: Further optimizations
Up to an 8% speed improvement in Racing Lagoon with CPU mode enabled.
5 years ago
Connor McLaughlin aae0fb3f2b System: Support loading libps.exe (for Net Yaroze) 5 years ago
Connor McLaughlin 350049826f Fix a bunch of compiler warnings 5 years ago
Connor McLaughlin 9aa386e96c System: Add option to load/apply image patches 5 years ago
Connor McLaughlin 6a2b2ac7f8 System: Don't wipe out nonpersistent memory cards during game change 5 years ago
Connor McLaughlin d9a655fb41 System: Add non-persistent memory card type 5 years ago
Connor McLaughlin 98e4c181ca CDROM: Add seek speedup enhancement 5 years ago
Connor McLaughlin ff0bd7abc4 System: Add file title memory card type 5 years ago
Connor McLaughlin 67f352339c CommonHostInterface: Add swap memory cards hotkey 5 years ago
Connor McLaughlin bced237034 MemoryCard: Sanitize game titles for file names 5 years ago
Connor McLaughlin 21d6af287e System: Fix a possible crash with runahead 5 years ago
Connor McLaughlin e382df0d41 Support expanding RAM to 8MB (dev console) 5 years ago
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.
5 years ago
Connor McLaughlin c2916e0719 System: Render save state screenshots at fixed resolution
Fixes delays when saving state at high internal resolution.
5 years ago
Connor McLaughlin fe1a582909 System: Disallow booting when SBI files are missing 6 years ago
Connor McLaughlin 03f3f0369c GameList: Reduce number of system calls when scanning 6 years ago
Connor McLaughlin 1b16662f17 System: Remove unused ParseM3UFile function 6 years ago
Connor McLaughlin ff14e8aede Add JSON game database to replace dat parsing 6 years ago
Connor McLaughlin 922d320523 CPU/Recompiler: Reserve whole fastmem region to avoid clashes 6 years ago
Connor McLaughlin 0644faa635 System: Disable memory cards when running PSFs 6 years ago
Connor McLaughlin dec2d48bfe System: Fix crash when launching exe/psf 6 years ago
Connor McLaughlin 5df28eff9d System: Fix failing to load new single disc save states 6 years ago
Connor McLaughlin 5aa70cf797 Settings: Add memory card directory option 6 years ago
Connor McLaughlin 50d712c3fe CDImage: Support sub-images, use subimages for m3u 6 years ago
Albert Liu d10365c60e System: Fix message crash for missing CD image 6 years ago
Connor McLaughlin 11dcba1b68 CDImage: Use Error class for complex errors 6 years ago
Connor McLaughlin 1911a25a9f System: Add warning if CD-ROM read speedup is enabled on startup 6 years ago
Albert Liu 46ff2b553d CDImage: Add support for loading PBP images 6 years ago
Connor McLaughlin 753dd0480f CDImage: Add support for loading mds/mdf images 6 years ago
Connor McLaughlin 6bbb1128b6 System: Hash executable for game code when system.cnf missing 6 years ago
Connor McLaughlin ac4dd11fa0 CDImage: Add support for ECM images 6 years ago
Connor McLaughlin 521ade025c System: Make hardware renderer init failure an OSD message 6 years ago
Albert Liu 3482313e2f Multitap: Add option to enable only on port 2 6 years ago
Connor McLaughlin c7a4efc395 System: Don't strip subdirectories when reading exe
Fixes getting hashes for cheevos in games such as Metal Gear Solid -
Integral.
6 years ago
Albert Liu f9dc1a7e80 Core: Add Multitap support 6 years ago
Connor McLaughlin 0ec2c87a0e Implement RetroAchivements 6 years ago
Connor McLaughlin 229ed5a852 System: Add helpers for reading executables off discs 6 years ago
Connor McLaughlin 7501e89b7a System: Add path/image to game change notification 6 years ago
Connor McLaughlin 24c2165bb3 GPU: Allow closing window/app to interrupt shader compilation 6 years ago
Connor McLaughlin 1b544ae350 GameList: Slight optimization to scanning 6 years ago
Connor McLaughlin db4f521d92 System: Make some boot error messages translatable 6 years ago
Connor McLaughlin 09805c1f80 FullscreenUI: Fix controller navigation in disc change 6 years ago
Connor McLaughlin bfa2b72e08 Fix a couple of name typos 6 years ago
Connor McLaughlin 6ab926ab28 System: Make the SBI check a confirm dialog instead of message 6 years ago
Connor McLaughlin 701edb335a Various warning fixes 6 years ago
C.W. Betts 662d6e9711 Fix possible log formatting errors. 6 years ago
Connor McLaughlin 55a1d0437d System: Display message on media change 6 years ago
Connor McLaughlin 3c2b11fccb System: Don't log rewind pending flag when disabled 6 years ago
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.
6 years ago
Connor McLaughlin 16a32bf696 Qt: Simplify runahead settings 6 years ago
Connor McLaughlin e79dff1731 System: Use hybrid sleep on Android 6 years ago
Connor McLaughlin 24dd49e05d GPU: Fix runahead with MSAA enabled in D3D11/Vulkan 6 years ago
Connor McLaughlin 3f96473fb5 System: Reuse existing texture/buffers for runahead/rewind 6 years ago
Connor McLaughlin e01d66d18e System: Implement runahead 6 years ago
Connor McLaughlin 516d685dd0 System: Add memory-only save states and rewind 6 years ago
Connor McLaughlin b62f31fd96 System: Use region from exe/psf when booting 6 years ago
Connor McLaughlin 10135e08a2 PSFLoader: Support loading minipsfs/libraries 6 years ago
Connor McLaughlin d44de3a9dc System: Use SetWaitableTimer() for throttling on Windows 6 years ago
Connor McLaughlin 2b5cfb272c Qt: Add dump VRAM and SPU RAM actions 6 years ago
Connor McLaughlin b5ffbfe826 Qt: Fix audio sliders not applying correctly 6 years ago
Connor McLaughlin 4e87b30b40 System: Skip throttler phase reset when running at <100% 6 years ago
Connor McLaughlin cbcbb675d6 System: Fix pause on start 6 years ago
Connor McLaughlin 3cd3d1c09d Qt: Fix opening debugger when system already paused 6 years ago
Connor McLaughlin 8db961042a GPU: Support replacing VRAM writes with new textures 6 years ago
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.
6 years ago
Connor McLaughlin 9e1987063d System: Add a libcrypt game list, and check serials
Nag the user if they're missing a sbi file.
6 years ago
Connor McLaughlin 3b23542ec9 CPU: Provide debugger/breakpoint/step functionality 6 years ago
Connor McLaughlin 98766a490f Log: Change success to verbose and move down in ordering 6 years ago
Connor McLaughlin 98d6b49987 System: Log FPS/frame times every second 6 years ago
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.
6 years ago
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.
6 years ago
Connor McLaughlin 37c9e69b3e System: Zero downcount at end of frame
Prevents code running after vblank starts, and fixes events getting
delayed in interpreter mode.
6 years ago
Connor McLaughlin b695d3c6ce System: Use existing media if save state media is not found 6 years ago
Connor McLaughlin a75b6e512a System: Improve translatability of save state error 6 years ago
Albert Liu 32e47fba93 System: Limit maximum loadable save state version 6 years ago
Connor McLaughlin b45bee5954 libretro: Work around crash in RetroArch Vulkan driver 6 years ago
Connor McLaughlin 2b66492ed8 HostInterface: Add proper turbo speed setting 6 years ago
Connor McLaughlin 863f84e3f6 System: Fix frame limiter on fast systems (when frametime <1ms) 6 years ago
Connor McLaughlin b2d224abfc System: Set BIOS before resetting
Fixes incorrect first instruction executing in interpreter mode.
6 years ago
Albert Liu f69889264d Core: Make some additional OSD messages translatable 6 years ago
Connor McLaughlin 7566c45f64 CPU/Recompiler: Implement fastmem 6 years ago
Connor McLaughlin 69b2c3fc2d StateWrapper: Track save state version 6 years ago
Connor McLaughlin 27697d0508 System: Implement CPU overclocking [SAVEVERSION+]
Partial credit to @CookiePLMonster as well.
6 years ago
Silent 2d90cfc07e
Tidy up SystemBootParameters constructors 6 years ago
Connor McLaughlin 03f052e12e FrontendCommon: Add auto cheat loading option 6 years ago
Connor McLaughlin ddb38ac31d Add pcsxr and libretro cheat list parsing 6 years ago
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.
6 years ago
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.
6 years ago
Connor McLaughlin fd0a009a7f System: Add missing <cctype> include 6 years ago
Connor McLaughlin 6bbbb96d4b Move GameList to FrontendCommon
Reduces libretro core dependencies further.
6 years ago
Connor McLaughlin 13e3095801 Core: Don't link to imgui for libretro core 6 years ago
Connor McLaughlin 2768c2c91d System: Fix VRAM sometimes getting lost when loading state 6 years ago
Connor McLaughlin ab002e78e1 Support translating strings in emulator core 6 years ago
Connor McLaughlin 60d3fffec1 Add per-game overrides (mainly for compatibility) 6 years ago
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.
6 years ago
Connor McLaughlin 4e62b32d60 Add option to dump the contents of RAM to a file 6 years ago
Connor McLaughlin f5fb8186c7 Switch some messages to the OSD and increase durations 6 years ago
Connor McLaughlin d9893bb127 System: Add option to use a single memory card for playlists 6 years ago
Connor McLaughlin dedeee1698 System: Track playlists in save states 6 years ago
Connor McLaughlin d4665e8b22 GPU: Tweaks to ODE handling
Fixes Team Buddies and The Next Tetris.
6 years ago
Connor McLaughlin b1377fe0d9 CPU/Recompiler: Add a fast block lookup array
Up to 15% perf improvement.
6 years ago
Connor McLaughlin e5c46a54b7 System: Restore/reset state on recreating GPU/updating settings
Fixes display corruption on RetroArch when switching renderers.
6 years ago
Connor McLaughlin e9882a10aa System: Move restore/reset graphics API state to System
Fixes frame stepping.
6 years ago
Connor McLaughlin 2eb9384275 Replace more instances of fopen() with FileSystem::OpenFile() 6 years ago
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
6 years ago
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.
6 years ago
Connor McLaughlin 8e1c0a4fe4 System: Support loading m3u playlists 6 years ago
Connor McLaughlin d46c104d1b System: Preload CD images to RAM when switching/loading state 6 years ago
Connor McLaughlin f28ef01d24 CDROM: Move audio FIFO to CDROM class and skip sectors when unempty
Fixes cutscene audio in Nickelodeon Rugrats - Search for Reptar.
6 years ago
Connor McLaughlin 9496c992f7 System: Add an option to preload CD image to RAM 6 years ago
Connor McLaughlin 93528db388 System: Use existing CD media when loading state where possible 6 years ago
Connor McLaughlin 5c1c467e38 GTE: Add widescreen hack 6 years ago
Connor McLaughlin a5fe740e30 Fix a bunch of compiler warnings 6 years ago
Connor McLaughlin b0b3901722 libretro: Fix DualShock analog mode auto-enable 6 years ago
Connor McLaughlin 4dc9e10777 HostInterface: Support per-controller-type settings 6 years ago
Connor McLaughlin 936d92dfb8 System: Add option to force start in software mode 6 years ago
Connor McLaughlin 919494079b System: Make saving screenshots to state optional 6 years ago
Connor McLaughlin 58b0e6859a Frontend: Reset/restore GPU state before saving screenshot
Fixes driver crashes in Vulkan.
6 years ago
Lioncash 76af96f15b system: Correct error dialog in PSF load case
Corrects the error message to state that the PSF couldn't be loaded
rather than EXE.
6 years ago
Connor McLaughlin 49d11988bf Core: Add Vulkan GPU renderer 6 years ago
Connor McLaughlin bdf9c91271 GPU: Fix double shader compilation 6 years ago
Connor McLaughlin 075380f8e0 Move most helper logic from base HostInterface to FrontendCommon 6 years ago
Connor McLaughlin b4e45e865a GPU: Use correct clocks for NTSC region
Fixes sync drift in Bust-a-Move 1/2.
6 years ago
Connor McLaughlin b17a5832e5 System: Simplify save state booting
Fixes memory card warning messages on load state.
6 years ago
Connor McLaughlin d2c7639dd8 System: Update per-game memory cards on load state
Prevents saves being written to incorrect card after loading.
6 years ago
Connor McLaughlin 9539ce032b AnalogController: Show controller number in OSD messages 6 years ago
Connor McLaughlin 9d1eb321ec DMA: Properly handle infinite linked lists, add cycle stealing
Fixes Tekken 2, Hot Wheels Turbo Racing, probably others.
6 years ago
Connor McLaughlin e20fd61f0b System: Add option to use per-game memory cards with game title as filename 7 years ago