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
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
5c1c467e38
GTE: Add widescreen hack
5 years ago
Connor McLaughlin
7ba1bed37b
Settings: Leave interlacing on by default
...
Too many games break without it.
5 years ago
Albert Liu
91f51c2833
Settings: Add 1:1 pixel aspect ratio
5 years ago
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).
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
2a38090e7a
HostDisplay: Move most backend logic to FrontendCommon
5 years ago
Connor McLaughlin
eec37df1e0
Settings: Make the recompiler the default CPU mode
5 years ago
Connor McLaughlin
f6aae5e67c
Settings: Add 2:1 (VRAM 1:1) display aspect ratio
5 years ago
Connor McLaughlin
77291096db
Settings: Add GPU adapter option and hook up to D3D11/Vulkan
5 years ago
Connor McLaughlin
3cd5b7ae74
Core: Add Vulkan renderer types
5 years ago
Connor McLaughlin
075380f8e0
Move most helper logic from base HostInterface to FrontendCommon
5 years ago
Connor McLaughlin
f9eb3719e3
HostInterface: Add software cursor mode
...
This will probably need to be extended in the future.
5 years ago
Connor McLaughlin
531c3ad5fa
AudioStream: Replace buffer queue with ring buffer
...
Should achieve a decent overall minimum latency reduction.
5 years ago
Connor McLaughlin
88502e130e
Settings: Fix memory cards not syncing with disc change in title mode
5 years ago
Albert Liu
ee3a96011e
Controller: Add NeGcon support
5 years ago
Connor McLaughlin
81a7b147fc
System: Add option to disable loading memory cards from save states
5 years ago
Connor McLaughlin
8fd3a83ea8
Settings: Save DMA timing hacks to ini
5 years ago
Connor McLaughlin
d781de2ce6
GameList: Add support for compatibility database
5 years ago
Connor McLaughlin
c329f58afe
HostInterface: Add audio buffer/count/volume/mute settings
5 years ago
Connor McLaughlin
b4c31e55e2
HostDisplay: Add integer upscaling option
5 years ago
Connor McLaughlin
e37962009e
HostInterface: Add log lettings to ini
5 years ago
Connor McLaughlin
940b725c1d
Settings: Make DMA performance parameters tweakable
5 years ago
Connor McLaughlin
8f82987341
Controller: Add basic PlayStation Mouse support
...
Still needs capture/relative movement for a better experience.
5 years ago
Connor McLaughlin
e20fd61f0b
System: Add option to use per-game memory cards with game title as filename
5 years ago
Connor McLaughlin
74e455a5f7
System: Support per-game memory cards
5 years ago
Connor McLaughlin
e6bd6587fd
Controller: Add emulation of Namco GunCon
5 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.
5 years ago
Connor McLaughlin
7779a54bc5
GPU: Rename 'Force Progressive Scan' to 'Disable Interlacing'
...
It affects rendering as well as display/scanout now, after all.
5 years ago
Connor McLaughlin
fbfd838e22
GPU: Add pixel aspect ratio option
...
Can display in 4:3, 16:9, 1:1 ratios.
5 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).
5 years ago
Connor McLaughlin
15c33ebedb
CDROM: Add "Enable Region Check" option
6 years ago
Connor McLaughlin
21ddfacd40
Settings: Add missing crop mode save
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
db1070a683
Settings: Fix start paused not applying
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
50a155e775
Settings: Default to relative paths for bios/memcards
...
Prevents from locking to the directory the first time we run.
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