Commit Graph

153 Commits (f54e32ff0117a24a4afc61775f1c4cd20938f2c9)

Author SHA1 Message Date
Connor McLaughlin 2b66492ed8 HostInterface: Add proper turbo speed setting 5 years ago
Connor McLaughlin 2c8a4ff154 HostDisplay: Add an option to decouple display fps from emulator fps
Makes Android so much faster...
5 years ago
Connor McLaughlin ae1e4b1b8f GPU: Add chroma smoothing for 24-bit display enhancement 5 years ago
Connor McLaughlin 2eaebd8921 GPU: Implement support for multisample antialiasing 5 years ago
Connor McLaughlin 29467d40c8 DMA: Add debug window 5 years ago
Connor McLaughlin 7566c45f64 CPU/Recompiler: Implement fastmem 5 years ago
Connor McLaughlin 962f3407b4 Android: Add OpenSL ES audio backend 5 years ago
Connor McLaughlin 4f0007dd55 PGXP: Make preserving pre-divide fractional coordinates an option
Fixes holes in geometry in Crash Team Racing with PGXP on.
5 years ago
Connor McLaughlin 8ba93b36a0 CDROM: Add option to speed up double speed reads 5 years ago
Connor McLaughlin ca0bfc39a2 CDROM: Add a setting and hotkey to mute CD audio 5 years ago
Connor McLaughlin 9a23c5547a GameSettings: Add CPU overclocking as game option 5 years ago
Connor McLaughlin 27697d0508 System: Implement CPU overclocking [SAVEVERSION+]
Partial credit to @CookiePLMonster as well.
5 years ago
Connor McLaughlin d73271ec0a GPU: Add option to force 4:3 for 24-bit content (e.g. FMVs) 5 years ago
Connor McLaughlin d728bc091b BIOS: Add option to set search directory elsewhere 5 years ago
Connor McLaughlin 7d01bedf07 BIOS: Automatically detect images, improve selection UI 5 years ago
Connor McLaughlin 441f26706e Qt: Move post processing to its own setting category 5 years ago
Connor McLaughlin 68d08ddbcb Merge branch 'postprocessing' 5 years ago
Connor McLaughlin 3847be86b0 Fix a bunch of random warnings 5 years ago
Connor McLaughlin 2819715260 FrontendCommon: Add a post processing implementation 5 years ago
Connor McLaughlin 6f250a4ff7 GPU/HW: Add JINC2 and xBRZ texture filtering options
Shaders ported from beetle-psx.
5 years ago
Connor McLaughlin 03f052e12e FrontendCommon: Add auto cheat loading option 5 years ago
Connor McLaughlin 19d6037b99 CPU: Implement instruction cache simulation
Implemented for all execution modes. Disabled by default in the cached
interpreter and recompiler, always enabled in the pure interpreter.
5 years ago
Connor McLaughlin bca609a2a6 Qt: Add option to disable per-game settings 5 years ago
Connor McLaughlin 60d3fffec1 Add per-game overrides (mainly for compatibility) 5 years ago
Connor McLaughlin 2e9f656546 CPU: Implement PGXP CPU Mode
This is *very* slow. You don't want to enable it if you don't need it.
It is also incompatible with the recompiler and will disable it if the
option is enabled.
5 years ago
Connor McLaughlin 10a46a7fd8 OSD: Add option to show display resolution 5 years ago
Connor McLaughlin d9893bb127 System: Add option to use a single memory card for playlists 5 years ago
Connor McLaughlin 1d5f810a4b CPU/Recompiler: Disable memory access exceptions by default
This means it'll no longer pass amidog's CPU test in the default config.
But no games rely on this. You can enable it in advanced options if you
want to pass the CPU test.
5 years ago
Connor McLaughlin 0c1b637549 PGXP: Add initial implementation 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 f9bbbbbaec Settings: Make auto-detect the default console region 5 years ago
Connor McLaughlin 9496c992f7 System: Add an option to preload CD image to RAM 5 years ago
Connor McLaughlin 75a8a7fcca Settings: Make per-game memory cards for slot 1 the default 5 years ago
Connor McLaughlin 68d98af497 Qt: Remove usage of QString where possible for settings 5 years ago
Connor McLaughlin 5c1c467e38 GTE: Add widescreen hack 5 years ago
Connor McLaughlin b471d1043a Settings: Load Memory Cards From State -> Load Devices From State
Makes it apply to controllers too.
5 years ago
Connor McLaughlin e374853cf5 HostInterface: Better configuration of custom crosshair/software cursor 5 years ago
Connor McLaughlin 0b11a14e24 Qt: Better handling of default settings not in ini 5 years ago
Connor McLaughlin 4dc9e10777 HostInterface: Support per-controller-type settings 5 years ago
Connor McLaughlin 77291096db Settings: Add GPU adapter option and hook up to D3D11/Vulkan 5 years ago
Connor McLaughlin 16c47f4553 Settings: Change default GPU FIFO size to 16
While this has the potential to be slower, there seems to be quite a few
games which break with the larger FIFO. In some cases, they wait for the
DMA interrupt, then busy wait for the GPU to go idle again. If the FIFO
is larger, this wait time till be longer, breaking things.
6 years ago
Connor McLaughlin f9eb3719e3 HostInterface: Add software cursor mode
This will probably need to be extended in the future.
6 years ago
Connor McLaughlin 531c3ad5fa AudioStream: Replace buffer queue with ring buffer
Should achieve a decent overall minimum latency reduction.
6 years ago
Connor McLaughlin 88502e130e Settings: Fix memory cards not syncing with disc change in title mode 6 years ago
Connor McLaughlin 81a7b147fc System: Add option to disable loading memory cards from save states 6 years ago
Connor McLaughlin 8fd3a83ea8 Settings: Save DMA timing hacks to ini 6 years ago
Connor McLaughlin c329f58afe HostInterface: Add audio buffer/count/volume/mute settings 6 years ago
Connor McLaughlin b4c31e55e2 HostDisplay: Add integer upscaling option 6 years ago
Connor McLaughlin e37962009e HostInterface: Add log lettings to ini 6 years ago
Connor McLaughlin 940b725c1d Settings: Make DMA performance parameters tweakable 6 years ago
Connor McLaughlin 74e455a5f7 System: Support per-game memory cards 6 years ago
Connor McLaughlin 1757932b3a GPU: Implement FIFO and timings
This will cause a slight performance loss. I've left some knobs in which
can be tweaked to mitigate this, but the goal is to be compatible with
all games which require them.
6 years ago
Connor McLaughlin 7779a54bc5 GPU: Rename 'Force Progressive Scan' to 'Disable Interlacing'
It affects rendering as well as display/scanout now, after all.
6 years ago
Connor McLaughlin fbfd838e22 GPU: Add pixel aspect ratio option
Can display in 4:3, 16:9, 1:1 ratios.
6 years ago
Connor McLaughlin 3325d2c42c GPU: Add Force NTSC timings option
This option forces NTSC timings for PAL games, causing them to either
run faster (more likely) or smoother (less likely).
6 years ago
Connor McLaughlin 15c33ebedb CDROM: Add "Enable Region Check" option 6 years ago
Connor McLaughlin 7e36195f44 HostInterface: Enable on-screen FPS/VPS/Speed display via config 6 years ago
Connor McLaughlin 8e20d0d4ff SPU: Add audio dumping support 6 years ago
Connor McLaughlin 8f39a0f154 Qt: Properly implement "Start Fullscreen" 6 years ago
Connor McLaughlin e0a339ca96 GameList: Seperate disc region and console region 6 years ago
Connor McLaughlin 635ab72b37 GPU: Implement "Scaled Dithering" option
Fixes #29.
6 years ago
Connor McLaughlin fcc0ae9571 GPU: Implement "Crop Mode" (none, overscan, all borders) 6 years ago
Connor McLaughlin f35970fcac FrontendCommon: Move input binding and some other logic from Qt to common 6 years ago
Connor McLaughlin 07ba2ecd3d Settings: Simplify resolution scale enumeration 6 years ago
Connor McLaughlin e4ff8b0936 Qt: Add power off hotkey and confirmation message 6 years ago
Connor McLaughlin 959a555274 CDROM: Implement asynchronous disc reading 6 years ago
Connor McLaughlin e01cf0dccb Frontends: Implement auto save on exit/resume 6 years ago
Connor McLaughlin 6a0c15b649 HostInterface: Move timer resolution increase to base class 6 years ago
Connor McLaughlin 1e009133ae Rename 'Default' audio backend to 'SDL' 6 years ago
Connor McLaughlin 8eba4b379c Settings: Default to D3D11 renderer on Windows
This point it's less buggy and slightly more performant.
6 years ago
Connor McLaughlin 70fe43a3ec System: Implement variable emulation speed 6 years ago
Connor McLaughlin faf2308695 Settings: Move set defaults to HostInterface so it can use user paths 6 years ago
Connor McLaughlin b9538a55f5 Settings: Add option for creating a debug GPU device 6 years ago
Connor McLaughlin 98214a9327 SettingsInterface: Add support for string list settings 6 years ago
Connor McLaughlin 0f1f5a4f49 Settings: Define an abstract settings retrieval interface
Can be used by both Android and Qt to access their platform-dependent
formats.
6 years ago
Connor McLaughlin 16317d077e Settings: Add audio backend, move sync settings to Display/Audio 6 years ago
Connor McLaughlin ad21f48a67 Fix Android build after controller changes 6 years ago
Connor McLaughlin 1d2bd11b02 Frontend: Add controller settings 6 years ago
Connor McLaughlin c65279f944 System: Create controllers dynamically based on config 6 years ago
Connor McLaughlin 0d293c4be4 Settings: Disable fast boot and TTY output by default
The latter can cause crashes in some games.
6 years ago
Connor McLaughlin df6e079920 GPU: Add a Force Progressive Scan option (disable interlacing) 6 years ago
Connor McLaughlin 67c67bbb66 GPU: Add basic texture filtering support
Still has issues around the edges of text.
6 years ago
Connor McLaughlin f11d357ab9 Compile fixes for Android 6 years ago
Connor McLaughlin 889bd73ac8 CPU: Add settings for execution mode 6 years ago
Connor McLaughlin 8fb4f73d17 Settings: Add audio sync and additional cleanup 6 years ago
Connor McLaughlin 246c97ccb3 System: Scaffolding for multi-system/multi-bios 6 years ago
Connor McLaughlin a47492382c System: Add "fast boot" option (skip boot logo) 6 years ago
Connor McLaughlin 8c51abaf37 System: Move settings to HostInterface 6 years ago
Connor McLaughlin 36b7690056 Frontend: Add settings window 6 years ago
Connor McLaughlin 98a5c4980d Settings: Use simpleini for settings load/save 6 years ago
Connor McLaughlin 2c631aba5e GPU: Move stats from renderer class to base classes 6 years ago
Connor McLaughlin a397979d72 GPU/HW: Elide buffer copy in scanout and fix flipped display 6 years ago
Connor McLaughlin 9de9cf3be2 GPU/HW: Add D3D11 renderer and refactor host interface/display 6 years ago
Connor McLaughlin c9feb7ea07 GPU: Add force true color setting 6 years ago
Connor McLaughlin 12ce777e30 Frontend: Add toggle for software rendering 6 years ago
Connor McLaughlin 21f555cf8f Frontend: Add pause support 6 years ago
Connor McLaughlin 0092cb1016 Pad: Set up memory cards via settings 6 years ago
Connor McLaughlin 0d71ebccc8 Frontend: Add display linear filtering option 6 years ago
Connor McLaughlin 540e942a46 Add basic software GPU renderer 6 years ago
Connor McLaughlin 9b56499afa Refactoring settings/support changing GPU renderer at runtime 6 years ago