Commit Graph

151 Commits (af47eb6956d30e8a01cd3f4828132e97e28e41a8)

Author SHA1 Message Date
Connor McLaughlin 3b23542ec9 CPU: Provide debugger/breakpoint/step functionality 5 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.
5 years ago
Connor McLaughlin b45bee5954 libretro: Work around crash in RetroArch Vulkan driver 5 years ago
Connor McLaughlin 2b66492ed8 HostInterface: Add proper turbo speed setting 5 years ago
Connor McLaughlin 27697d0508 System: Implement CPU overclocking [SAVEVERSION+]
Partial credit to @CookiePLMonster as well.
5 years ago
Silent 2d90cfc07e
Tidy up SystemBootParameters constructors 5 years ago
Connor McLaughlin ddb38ac31d Add pcsxr and libretro cheat list parsing 5 years ago
Connor McLaughlin 6bbbb96d4b Move GameList to FrontendCommon
Reduces libretro core dependencies further.
5 years ago
Connor McLaughlin 4e62b32d60 Add option to dump the contents of RAM to a file 5 years ago
Connor McLaughlin d9893bb127 System: Add option to use a single memory card for playlists 5 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
5 years ago
Connor McLaughlin 8e1c0a4fe4 System: Support loading m3u playlists 5 years ago
Connor McLaughlin d46c104d1b System: Preload CD images to RAM when switching/loading state 5 years ago
Connor McLaughlin 9496c992f7 System: Add an option to preload CD image to RAM 5 years ago
Connor McLaughlin b0b3901722 libretro: Fix DualShock analog mode auto-enable 5 years ago
Connor McLaughlin 4dc9e10777 HostInterface: Support per-controller-type settings 5 years ago
Connor McLaughlin 2a38090e7a HostDisplay: Move most backend logic to FrontendCommon 5 years ago
Connor McLaughlin 936d92dfb8 System: Add option to force start in software mode 5 years ago
Connor McLaughlin 919494079b System: Make saving screenshots to state optional 5 years ago
Connor McLaughlin 075380f8e0 Move most helper logic from base HostInterface to FrontendCommon 5 years ago
Connor McLaughlin b17a5832e5 System: Simplify save state booting
Fixes memory card warning messages on load state.
6 years ago
Connor McLaughlin 205297ac27 System: PSF (Portable Sound Format) loading support 6 years ago
Connor McLaughlin 81cf4b469f Frontends: Add shared command line interface
Also provides batch mode and automatic fullscreen switching.

  -help: Displays this information and exits.
  -version: Displays version information and exits.
  -batch: Enables batch mode (exits after powering off)
  -fastboot: Force fast boot for provided filename
  -slowboot: Force slow boot for provided filename
  -resume: Load resume save state. If a boot filename is provided,
    that game's resume state will be loaded, otherwise the most
    recent resume save state will be loaded.
  -state <index>: Loads specified save state by index. If a boot
    filename is provided, a per-game state will be loaded, otherwise
    a global state will be loaded.
  -statefile <filename>: Loads state from the specified filename.
    No boot filename is required with this option.
  -fullscreen: Enters fullscreen mode immediately after starting.
  -nofullscreen: Prevents fullscreen mode from triggering if enabled.
  -portable: Forces "portable mode", data in same directory.
  --: Signals that no more arguments will follow and the remaining
    parameters make up the filename. Use when the filename contains
    spaces or starts with a dash.
6 years ago
Connor McLaughlin e0a339ca96 GameList: Seperate disc region and console region 6 years ago
Connor McLaughlin 69f03959aa Qt: Implement context menu in game list 6 years ago
Connor McLaughlin 70fe43a3ec System: Implement variable emulation speed 6 years ago
Connor McLaughlin c820ddba79 HostInterface: Move throttle and perf stats to System class 6 years ago
Stenzek c26b9bc54c System: UpdateCPUExecutionMode -> SetCPUExecutionMode 6 years ago
Connor McLaughlin 1b9609ef61 Implement event-based scheduler instead of lock-step components 6 years ago
Connor McLaughlin 4a3478b360 HostInterface: Add function to switch between sw/hw rendering 6 years ago
Connor McLaughlin abf48b6cc2 Qt: Update GPU settings when enhancements are changed 6 years ago
Connor McLaughlin 77b282862f HostInterface: Move running title info to System 6 years ago
Connor McLaughlin 71c1e243fe Remove YBaseLib dependency 6 years ago
Connor McLaughlin ea0845d5ad Move controller creation to System class, switch shared_ptr to unique_ptr 6 years ago
Connor McLaughlin da14b10e72 Split MemoryCard and PadDevice (now Controller) 6 years ago
Connor McLaughlin 315f2b701a Stub out SIO controller
Fixes WipEout booting.
6 years ago
Connor McLaughlin 8b9d44f4dc System: Use game code for automatic region detection 6 years ago
Connor McLaughlin 889bd73ac8 CPU: Add settings for execution mode 6 years ago
Connor McLaughlin 1d6c4a3af1 CPU: Basic recompiler implementation for x64 (lui, ori, addiu)
Disabled by default.
6 years ago
Connor McLaughlin 613e4f4a2a GPU: Set PAL mode on soft reset if region is PAL 6 years ago
Connor McLaughlin 246c97ccb3 System: Scaffolding for multi-system/multi-bios 6 years ago
Connor McLaughlin 6f4cf7d5e3 System: Support changing BIOS path 6 years ago
Connor McLaughlin 8c51abaf37 System: Move settings to HostInterface 6 years ago
Connor McLaughlin 0092cb1016 Pad: Set up memory cards via settings 6 years ago
Connor McLaughlin 9b56499afa Refactoring settings/support changing GPU renderer at runtime 6 years ago
Connor McLaughlin 9d5f3c1306 CPU: Support stalling CPU for bus activity such as DMA 6 years ago
Connor McLaughlin 0f68c8c5d3 Add debugging for GPU/Timers 6 years ago
Connor McLaughlin f852b8dd90 Further work on SPU implementation 6 years ago
Connor McLaughlin 162a0df922 Frontend: Display emulation speed 6 years ago
Connor McLaughlin 8362b8e43b UI: Beginning of customizable settings, debug menu 6 years ago
Connor McLaughlin bddbab9d60 Rename to DuckStation 6 years ago