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