162 Commits

Author SHA1 Message Date
Connor McLaughlin
962f3407b4 Android: Add OpenSL ES audio backend 2020-10-14 00:48:48 +10:00
Connor McLaughlin
4f0007dd55 PGXP: Make preserving pre-divide fractional coordinates an option
Fixes holes in geometry in Crash Team Racing with PGXP on.
2020-10-10 00:07:07 +10:00
Elizabeth
e6ef5f1a1c
Add 16:10 Aspect Ratio Option (#931)
* Add 16:10 aspect ratio opton

* Add 16:10 deffinition
2020-10-07 18:00:38 +10:00
Connor McLaughlin
8ba93b36a0 CDROM: Add option to speed up double speed reads 2020-10-05 00:18:10 +10:00
Connor McLaughlin
ca0bfc39a2 CDROM: Add a setting and hotkey to mute CD audio 2020-10-04 00:12:01 +10:00
Connor McLaughlin
9a23c5547a GameSettings: Add CPU overclocking as game option 2020-09-30 23:48:34 +10:00
Connor McLaughlin
27697d0508 System: Implement CPU overclocking [SAVEVERSION+]
Partial credit to @CookiePLMonster as well.
2020-09-30 23:48:34 +10:00
Connor McLaughlin
d73271ec0a GPU: Add option to force 4:3 for 24-bit content (e.g. FMVs) 2020-09-26 15:11:45 +10:00
Elizabeth
f38b8fda81
Add 21:9 to the Aspect Ratio settings 2020-09-24 20:59:41 -04:00
Connor McLaughlin
d728bc091b BIOS: Add option to set search directory elsewhere 2020-09-23 22:53:51 +10:00
Connor McLaughlin
7d01bedf07 BIOS: Automatically detect images, improve selection UI 2020-09-23 00:20:50 +10:00
Silent
92d0dabf54
Make path separators in UI more consistent 2020-09-20 00:08:17 +02:00
Connor McLaughlin
441f26706e Qt: Move post processing to its own setting category 2020-09-13 22:27:30 +10:00
Connor McLaughlin
68d08ddbcb Merge branch 'postprocessing' 2020-09-13 12:14:21 +10:00
Connor McLaughlin
3847be86b0 Fix a bunch of random warnings 2020-09-13 11:54:51 +10:00
Connor McLaughlin
2819715260 FrontendCommon: Add a post processing implementation 2020-09-13 01:23:43 +10:00
Connor McLaughlin
ccaff2e7cd Settings: Fix incorrect UI for xBR texture filter 2020-09-13 01:21:14 +10:00
Connor McLaughlin
6f250a4ff7 GPU/HW: Add JINC2 and xBRZ texture filtering options
Shaders ported from beetle-psx.
2020-09-12 00:26:34 +10:00
Connor McLaughlin
03f052e12e FrontendCommon: Add auto cheat loading option 2020-09-09 23:44:02 +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
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.
2020-08-29 22:07:40 +10:00
Connor McLaughlin
17b5c749bf libretro: Re-enable hw context switch, add auto option 2020-08-23 14:51:23 +10:00
Connor McLaughlin
ab002e78e1 Support translating strings in emulator core 2020-08-22 13:06:20 +10:00
Connor McLaughlin
bca609a2a6 Qt: Add option to disable per-game settings 2020-08-21 00:09:37 +10:00
Connor McLaughlin
60d3fffec1 Add per-game overrides (mainly for compatibility) 2020-08-21 00:09:37 +10:00
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.
2020-08-20 00:49:39 +10:00
Connor McLaughlin
10a46a7fd8 OSD: Add option to show display resolution 2020-08-16 00:20:11 +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
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.
2020-08-08 23:44:13 +10:00
Connor McLaughlin
0c1b637549 PGXP: Add initial implementation 2020-08-02 00:25:07 +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
9496c992f7 System: Add an option to preload CD image to RAM 2020-07-22 00:03:22 +10:00
Connor McLaughlin
75a8a7fcca Settings: Make per-game memory cards for slot 1 the default 2020-07-21 20:15:52 +10:00
Connor McLaughlin
5c1c467e38 GTE: Add widescreen hack 2020-07-18 00:28:37 +10:00
Connor McLaughlin
7ba1bed37b Settings: Leave interlacing on by default
Too many games break without it.
2020-07-14 01:27:57 +10:00
Albert Liu
91f51c2833 Settings: Add 1:1 pixel aspect ratio 2020-07-12 17:09:15 -07:00
Albert Liu
9e316e4502 Settings: Add 8:7 display aspect ratio
Requested by users for some 256-width 240p titles (effectively 1:1 PAR
at 256x224 when overscan cropping is turned on).
2020-07-12 17:08:28 -07:00
Connor McLaughlin
b471d1043a Settings: Load Memory Cards From State -> Load Devices From State
Makes it apply to controllers too.
2020-07-02 00:50:53 +10:00
Connor McLaughlin
e374853cf5 HostInterface: Better configuration of custom crosshair/software cursor 2020-07-01 01:57:25 +10:00
Connor McLaughlin
0b11a14e24 Qt: Better handling of default settings not in ini 2020-07-01 00:56:46 +10:00
Connor McLaughlin
4dc9e10777 HostInterface: Support per-controller-type settings 2020-07-01 00:56:46 +10:00
Connor McLaughlin
2a38090e7a HostDisplay: Move most backend logic to FrontendCommon 2020-06-30 03:03:56 +10:00
Connor McLaughlin
eec37df1e0 Settings: Make the recompiler the default CPU mode 2020-06-24 01:39:42 +10:00
Connor McLaughlin
f6aae5e67c Settings: Add 2:1 (VRAM 1:1) display aspect ratio 2020-06-24 01:39:35 +10:00
Connor McLaughlin
77291096db Settings: Add GPU adapter option and hook up to D3D11/Vulkan 2020-06-20 03:34:19 +10:00
Connor McLaughlin
3cd5b7ae74 Core: Add Vulkan renderer types 2020-06-19 00:18:14 +10:00
Connor McLaughlin
075380f8e0 Move most helper logic from base HostInterface to FrontendCommon 2020-06-09 02:35:37 +10:00
Connor McLaughlin
f9eb3719e3 HostInterface: Add software cursor mode
This will probably need to be extended in the future.
2020-06-08 02:53:55 +10:00
Connor McLaughlin
531c3ad5fa AudioStream: Replace buffer queue with ring buffer
Should achieve a decent overall minimum latency reduction.
2020-06-07 01:22:03 +10:00
Connor McLaughlin
88502e130e Settings: Fix memory cards not syncing with disc change in title mode 2020-06-04 02:15:29 +10:00
Albert Liu
ee3a96011e Controller: Add NeGcon support 2020-05-30 23:11:02 -07:00
Connor McLaughlin
81a7b147fc System: Add option to disable loading memory cards from save states 2020-05-27 02:06:56 +10:00
Connor McLaughlin
8fd3a83ea8 Settings: Save DMA timing hacks to ini 2020-05-17 14:12:35 +10:00
Connor McLaughlin
d781de2ce6 GameList: Add support for compatibility database 2020-05-16 20:32:36 +10:00
Connor McLaughlin
c329f58afe HostInterface: Add audio buffer/count/volume/mute settings 2020-05-10 00:44:37 +10:00
Connor McLaughlin
b4c31e55e2 HostDisplay: Add integer upscaling option 2020-05-01 01:00:22 +10:00
Connor McLaughlin
e37962009e HostInterface: Add log lettings to ini 2020-05-01 00:58:32 +10:00
Connor McLaughlin
940b725c1d Settings: Make DMA performance parameters tweakable 2020-04-29 20:00:22 +10:00
Connor McLaughlin
8f82987341 Controller: Add basic PlayStation Mouse support
Still needs capture/relative movement for a better experience.
2020-04-29 14:00:11 +10:00
Connor McLaughlin
e20fd61f0b System: Add option to use per-game memory cards with game title as filename 2020-04-28 01:04:10 +10:00
Connor McLaughlin
74e455a5f7 System: Support per-game memory cards 2020-04-27 16:22:25 +10:00
Connor McLaughlin
e6bd6587fd Controller: Add emulation of Namco GunCon 2020-04-26 01:23:58 +10:00
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.
2020-04-19 01:17:28 +10:00
Connor McLaughlin
7779a54bc5 GPU: Rename 'Force Progressive Scan' to 'Disable Interlacing'
It affects rendering as well as display/scanout now, after all.
2020-04-11 16:37:53 +10:00
Connor McLaughlin
fbfd838e22 GPU: Add pixel aspect ratio option
Can display in 4:3, 16:9, 1:1 ratios.
2020-04-10 15:12:35 +10:00
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).
2020-04-10 13:35:10 +10:00
Connor McLaughlin
15c33ebedb CDROM: Add "Enable Region Check" option 2020-04-01 01:48:37 +10:00
Connor McLaughlin
21ddfacd40 Settings: Add missing crop mode save 2020-03-29 01:13:53 +10:00
Connor McLaughlin
7e36195f44 HostInterface: Enable on-screen FPS/VPS/Speed display via config 2020-03-22 13:20:08 +10:00
Connor McLaughlin
8e20d0d4ff SPU: Add audio dumping support 2020-03-15 22:04:17 +10:00
Connor McLaughlin
8f39a0f154 Qt: Properly implement "Start Fullscreen" 2020-03-12 13:53:58 +10:00
Connor McLaughlin
db1070a683 Settings: Fix start paused not applying 2020-03-12 13:53:43 +10:00
Connor McLaughlin
e0a339ca96 GameList: Seperate disc region and console region 2020-03-12 13:51:29 +10:00
Connor McLaughlin
635ab72b37 GPU: Implement "Scaled Dithering" option
Fixes #29.
2020-03-01 00:05:31 +10:00
Connor McLaughlin
fcc0ae9571 GPU: Implement "Crop Mode" (none, overscan, all borders) 2020-02-28 17:01:01 +10:00
Connor McLaughlin
f35970fcac FrontendCommon: Move input binding and some other logic from Qt to common 2020-02-28 17:00:09 +10:00
Connor McLaughlin
50a155e775 Settings: Default to relative paths for bios/memcards
Prevents from locking to the directory the first time we run.
2020-02-28 16:58:30 +10:00
Connor McLaughlin
e4ff8b0936 Qt: Add power off hotkey and confirmation message 2020-02-26 19:26:20 +10:00
Connor McLaughlin
959a555274 CDROM: Implement asynchronous disc reading 2020-02-22 00:24:35 +09:00
Connor McLaughlin
e01cf0dccb Frontends: Implement auto save on exit/resume 2020-02-16 00:14:49 +09:00
Connor McLaughlin
6a0c15b649 HostInterface: Move timer resolution increase to base class 2020-02-16 00:14:37 +09:00
Connor McLaughlin
1e009133ae Rename 'Default' audio backend to 'SDL' 2020-02-16 00:14:35 +09:00
Connor McLaughlin
8eba4b379c Settings: Default to D3D11 renderer on Windows
This point it's less buggy and slightly more performant.
2020-02-15 10:21:59 +09:00
Connor McLaughlin
70fe43a3ec System: Implement variable emulation speed 2020-02-11 12:02:42 +09:00
Stenzek
733ab1bca0 Settings: Store debug settings to ini 2020-02-04 15:22:48 +09:00
Connor McLaughlin
faf2308695 Settings: Move set defaults to HostInterface so it can use user paths 2020-01-24 14:52:04 +10:00
Connor McLaughlin
a832138191 Settings: Add missing Cubeb entry to audio backend names 2020-01-21 21:27:29 +10:00
Connor McLaughlin
8096dc510d Settings: Add missing load/store of GPU/ForceProgressiveScan 2020-01-21 21:27:21 +10:00
Connor McLaughlin
b9538a55f5 Settings: Add option for creating a debug GPU device 2020-01-19 14:54:19 +10:00
Connor McLaughlin
71c1e243fe Remove YBaseLib dependency 2020-01-10 13:40:53 +10:00
Connor McLaughlin
c52040434a Core: Linux warning fixes 2020-01-09 08:46:52 +10:00
Connor McLaughlin
d32383bd95 Settings: Don't include D3D11 renderer on non-WIN32 platforms 2020-01-07 18:54:39 +10:00
Connor McLaughlin
0528a2a1f9 Settings: Put each controller in its own config section 2020-01-02 16:10:30 +10:00
Connor McLaughlin
0f1f5a4f49 Settings: Define an abstract settings retrieval interface
Can be used by both Android and Qt to access their platform-dependent
formats.
2019-12-30 21:22:49 +10:00
Connor McLaughlin
03a36645a2 Settings: Save fullscreen setting to ini 2019-12-27 20:38:07 +10:00
Connor McLaughlin
16317d077e Settings: Add audio backend, move sync settings to Display/Audio 2019-12-27 20:38:07 +10:00
Connor McLaughlin
ad21f48a67 Fix Android build after controller changes 2019-12-16 16:46:43 +10:00
Connor McLaughlin
1d2bd11b02 Frontend: Add controller settings 2019-12-15 22:24:27 +10:00
Connor McLaughlin
a347b3606e Implement support for analog controllers 2019-12-15 21:58:27 +10:00
Connor McLaughlin
c65279f944 System: Create controllers dynamically based on config 2019-12-14 23:29:26 +10:00