Connor McLaughlin
1b881fc60b
PGXP: Combine instr and rtVal parameters for CPU_LUI
2021-02-18 02:08:47 +10:00
Connor McLaughlin
bc021ddfd9
CPU/Recompiler: Implement PGXP CPU mode
2021-02-18 02:08:47 +10:00
Connor McLaughlin
0bfa1bf873
PGXP: Fix MFC0/MTC0
...
Doubt it'll change anything.
2021-02-18 02:08:47 +10:00
Connor McLaughlin
a722fd6b53
PGXP: Make mult/div compute results instead of parameters
...
Lets us call it from the recompiler.
2021-02-18 02:08:47 +10:00
Connor McLaughlin
33a5617ea3
PGXP: Remove some unused parameter from M{F,T}{HI,LO}
2021-02-18 02:08:47 +10:00
Connor McLaughlin
efecb44344
PGXP: Combine a couple of instructions
2021-02-18 02:08:47 +10:00
Connor McLaughlin
09805c1f80
FullscreenUI: Fix controller navigation in disc change
2021-02-18 02:08:47 +10:00
Connor McLaughlin
d8ce98a1e2
Bump shader cache version
2021-02-14 19:25:14 +10:00
Connor McLaughlin
2c1999e622
CDROM: Simulate holding position for GetlocP
...
Fixes lockups in Tomb Raider.
2021-02-14 18:36:21 +10:00
Connor McLaughlin
0d13e1013d
GPU: Fix incorrect dither offset [3][0]
...
Fixes dots in sky in Silent Hill.
2021-02-14 18:36:21 +10:00
Connor McLaughlin
5a66639d78
HostDisplay: Add virtual method for getting resolutions
2021-02-14 18:36:21 +10:00
Connor McLaughlin
c6c67b7b27
ImGui: Remove close button from debug windows
...
They can be closed by unchecking the setting instead, and it stays in
sync with the config this way.
2021-02-12 01:01:30 +10:00
Connor McLaughlin
de688615ff
Qt: Add Clear and Reset buttons to cheat manager
2021-02-12 01:01:30 +10:00
Connor McLaughlin
bfa2b72e08
Fix a couple of name typos
2021-02-11 02:17:25 +10:00
Connor McLaughlin
6ab926ab28
System: Make the SBI check a confirm dialog instead of message
2021-02-11 02:04:47 +10:00
Connor McLaughlin
ef97131c9d
Timers: Handle target = 0 case
...
Fixes Super Gals! Kotobuki Ran Special - Ikemen Get You Gals Party
hanging at boot.
2021-02-09 01:01:36 +10:00
Connor McLaughlin
c043643c4d
GPU/HW: Fix typo in IncludeVRAMDirtyRectangle() name
2021-02-07 20:00:16 +10:00
Connor McLaughlin
4a240958ff
GPU/HW: Work around VRAM copy glBlitFramebuffer broken in Mali
2021-02-07 19:59:50 +10:00
Connor McLaughlin
a77edc6436
Settings: Default console logging on Android to on
2021-02-07 03:27:37 +10:00
Connor McLaughlin
837fb6128b
GPU/HW: Fix mask bit when rendering with transparency and no DSB
...
Fixes some sprites in Bloody Roar on Mali GPUs.
2021-02-06 20:14:28 +10:00
Connor McLaughlin
c03c4cb95a
GPU: Elide VRAM copies when they will have no effect
...
Can provide a performance boost in most games because of the redundant
copy they issue once a frame.
2021-02-06 19:20:14 +10:00
Connor McLaughlin
701edb335a
Various warning fixes
2021-02-06 19:19:55 +10:00
Connor McLaughlin
f943aa0489
Merge pull request #1582 from MaddTheSane/printfFixes
...
Logging fixes
2021-02-05 11:47:38 +10:00
C.W. Betts
662d6e9711
Fix possible log formatting errors.
2021-02-04 17:54:51 -07:00
C.W. Betts
2c2af6c751
Update shadergen.cpp
...
Quiets a warning in Clang about copying variables.
Actual warning text: Loop variable '[qualifiers, name]' of type 'const std::__1::pair<const char *, const char *>' creates a copy from type 'const std::__1::pair<const char *, const char *>'
2021-02-04 13:05:59 -07:00
Connor McLaughlin
626b2ecec1
GPU/Vulkan: Fix a possible layout violation when displaying
...
Happened in some games, e.g. Driver.
2021-02-02 00:52:23 +10:00
Connor McLaughlin
43bb69fb6b
GPU/SW: Fix 576-line scanout of PAL games
2021-02-01 18:39:36 +10:00
Connor McLaughlin
904680f0df
Settings: Make integer and linear upscaling mutually exclusive
2021-02-01 18:39:15 +10:00
Connor McLaughlin
23e102b90a
GPU: Make display texture 720x576 instead of 1024x512
...
Some PAL games render in the full permissable 576 height, not 512.
2021-02-01 01:10:32 +10:00
Connor McLaughlin
85b4a02f20
Fix Android build
2021-01-31 17:28:37 +10:00
Connor McLaughlin
55a1d0437d
System: Display message on media change
2021-01-31 17:10:27 +10:00
Connor McLaughlin
98b4101cd7
Settings: Expose Save() method to interface
2021-01-31 17:10:27 +10:00
Connor McLaughlin
9d08f2e277
Settings: Fix show resolution not correctly saving to file
2021-01-31 17:10:27 +10:00
Connor McLaughlin
e697d9aa33
HostDisplay: Move imgui context creation to base class
2021-01-31 17:10:27 +10:00
Connor McLaughlin
ef7d135492
GPU: Fix missing sync when hblank is pending
2021-01-31 16:39:51 +10:00
Connor McLaughlin
9d80c48d6f
CPU: Fix icache missing from save state
2021-01-31 16:39:51 +10:00
Albert Liu
2938c946f9
AnalogController: Improve accuracy of rumble configuration
2021-01-30 00:53:43 -08:00
Albert Liu
c9c2f1bd21
AnalogController: Handle more config mode 0x46 and 0x47 cases
2021-01-29 23:50:45 -08:00
Connor McLaughlin
3c2b11fccb
System: Don't log rewind pending flag when disabled
2021-01-29 01:27:32 +10:00
Connor McLaughlin
84c30703b2
Settings: Disable interlacing by default
...
The games which require it are auto-disabled by gameini.
2021-01-28 23:52:25 +10:00
Connor McLaughlin
4bb3fb48f9
System: Add a new throttler/pacer which can catch up on lost time
...
This can result in worse frame pacing, so if you have a decent machine
you'll probably want to turn on "display all frames" in display
settings.
But, it's sadly needed for Android.
2021-01-28 21:04:23 +10:00
Connor McLaughlin
16a32bf696
Qt: Simplify runahead settings
2021-01-26 03:38:31 +10:00
Connor McLaughlin
1b16ba3d98
Warning fixes
2021-01-26 03:38:31 +10:00
Connor McLaughlin
e79dff1731
System: Use hybrid sleep on Android
2021-01-26 03:38:31 +10:00
Connor McLaughlin
24dd49e05d
GPU: Fix runahead with MSAA enabled in D3D11/Vulkan
2021-01-26 03:22:23 +10:00
Connor McLaughlin
b7752ff30b
CDROM: Update position when pausing while seeking instead of erroring
...
This was causing freezes in FF7 - needs more research.
2021-01-25 01:49:35 +10:00
Connor McLaughlin
b3ce2b21c0
System: Prevent using both runahead and rewind concurrently
2021-01-25 01:15:46 +10:00
Connor McLaughlin
3f96473fb5
System: Reuse existing texture/buffers for runahead/rewind
2021-01-25 01:15:46 +10:00
Connor McLaughlin
e01d66d18e
System: Implement runahead
2021-01-25 01:15:46 +10:00
Connor McLaughlin
516d685dd0
System: Add memory-only save states and rewind
2021-01-25 01:15:45 +10:00
Connor McLaughlin
6c6fdeb15e
HostDisplay: Make textures have levels/layers/samples attributes
2021-01-24 20:41:40 +10:00
Connor McLaughlin
b62f31fd96
System: Use region from exe/psf when booting
2021-01-24 17:37:09 +10:00
Connor McLaughlin
253b115b11
PSFLoader: Detect region from exe
2021-01-24 17:37:09 +10:00
Connor McLaughlin
10135e08a2
PSFLoader: Support loading minipsfs/libraries
2021-01-24 17:37:09 +10:00
Connor McLaughlin
4433197665
CPU/Recompiler: Fix hang in AArch32/armv7
2021-01-21 13:20:02 +10:00
Connor McLaughlin
4e802e90ca
SPU: Move voice key off/on outside sample loop
...
Should be a very tiny performance boost with no difference in behaviour.
2021-01-20 12:32:37 +10:00
Connor McLaughlin
8c8f29c047
CDROM: Double audio FIFO low watermark size
...
Gives a better chance to catch up in case of desyncs.
2021-01-20 12:09:44 +10:00
Connor McLaughlin
3c012ec6ef
SPU: Consider partial ticks when generating pending samples
...
Fixes hitches in opening FMV in Soul Blade (Europe).
2021-01-20 12:05:06 +10:00
Connor McLaughlin
a927bfbe50
GPU/HW: Flush after each primitive for B-F transparency
...
Slow, but necessary for some games such as Suikoden II, where it draws
multiple polygons to the same area on screen with different transparency
modes.
2021-01-20 01:08:36 +10:00
Connor McLaughlin
d4f52f1ec7
GTE: Force inline a few of the helper functions
...
Tiny performance improvement.
2021-01-19 00:07:26 +10:00
Connor McLaughlin
914b9bf738
SPU: Drain transfer FIFO when cancelling transfer
...
The busy bit got stuck on otherwise, which broke the Spanish translation
of Vagrant Story.
2021-01-18 20:43:10 +10:00
Connor McLaughlin
699d599d00
GPU: Clear display when disabling DAC and interlaced
...
Fixes old output showing up briefly when it's re-enabled.
2021-01-18 03:28:14 +10:00
Connor McLaughlin
29690c4635
GPU/SW: Fix interlaced output getting corrupted when size changes
...
Fixes glitches in screen when tilting table in Pro Pinball.
2021-01-17 02:45:13 +10:00
Connor McLaughlin
e81df6bddd
Settings: Disable host refresh rate sync by default
2021-01-16 02:56:04 +10:00
Connor McLaughlin
02948f988d
CDROM: Return 0x00 on response FIFO overread
...
Fixes CyberSled hanging on boot.
2021-01-14 01:51:01 +10:00
Connor McLaughlin
ffa3744b3b
Settings: Add 20:9 display aspect ratio
2021-01-14 00:45:46 +10:00
Connor McLaughlin
d44de3a9dc
System: Use SetWaitableTimer() for throttling on Windows
2021-01-14 00:40:25 +10:00
Connor McLaughlin
93959a9d88
CPU: Fix crash with some block cycle counts on ARM
...
Fixes crash in Capcom vs SNK Pro.
2021-01-13 20:19:24 +10:00
Connor McLaughlin
2b5cfb272c
Qt: Add dump VRAM and SPU RAM actions
2021-01-13 19:24:41 +10:00
Connor McLaughlin
b5ffbfe826
Qt: Fix audio sliders not applying correctly
2021-01-13 02:37:04 +10:00
Connor McLaughlin
a0a24c7752
GPU/Vulkan: Only update sample texture when render area dirty
...
Fixes crash when using Show VRAM in some games with Vulkan.
2021-01-12 02:19:23 +10:00
Connor McLaughlin
13cba122ef
HostDisplay: Move Windows fallback for refresh rate query to HostInterface
2021-01-11 15:24:38 +10:00
Connor McLaughlin
fd166a4485
ShaderCache: Add a data version field
...
We can increment this to prevent people's shader caches from growing too
large with shader changes.
2021-01-11 15:24:38 +10:00
Connor McLaughlin
97971464d1
GPU/ShaderGen: Remove texcoord offset
...
Doesn't seem to be needed anymore, and causes issues in some games (e.g.
flickering polygons in Evil Dead)
2021-01-11 15:12:16 +10:00
Connor McLaughlin
43d01776dc
HostInterface: Add "Sync To Host Refresh Rate" option
2021-01-11 03:50:44 +10:00
Connor McLaughlin
bb572741ae
HostDisplay: Add GetHostRefreshRate() function
...
Only implemented in Windows for now.
2021-01-11 03:50:13 +10:00
Connor McLaughlin
ce965e89ca
Qt/Android: Add help text for resampling, turn on by default
2021-01-11 02:27:14 +10:00
Connor McLaughlin
54f5563321
Qt: Add turbo speed setting
2021-01-11 01:57:10 +10:00
Connor McLaughlin
a5f9aa11e1
Settings: Add audio resampling when running at non-standard speed
2021-01-11 01:14:32 +10:00
Connor McLaughlin
54c7fc6b08
AudioStream: Support resampling input
2021-01-11 01:14:32 +10:00
Connor McLaughlin
19032750b4
CDROM: Don't treat no-region discs as audio CDs
...
Fixes some homebrew games not booting.
2021-01-11 01:05:21 +10:00
Connor McLaughlin
11992bde4e
TimingEvents: Use function pointers instead of std::function
2021-01-10 01:45:07 +10:00
Connor McLaughlin
15652b4c1f
SPU: Fix a few cases where SPU interrupts weren't firing
2021-01-10 01:39:21 +10:00
Connor McLaughlin
df98a0b04e
CPU/Recompiler: Fix incorrect speculative byte/halfword reads
...
Fixes crash on boot in Monkey Magic.
2021-01-10 01:38:35 +10:00
Albert Liu
5ff3299384
Controller: Add method for reading analog input bytes
2021-01-07 15:04:23 -08:00
Connor McLaughlin
419726f4cc
Remove libretro core - core will now be maintained by libretro
...
libretro have agreed to take over maintenance of the core.
Please see their fork at https://github.com/libretro/duckstation if you
wish to continue to use it.
2021-01-08 01:37:59 +10:00
Connor McLaughlin
24c373245e
MemoryCard: Make formatting OSD message translatable
2021-01-07 12:15:57 +10:00
Connor McLaughlin
f832dca975
Bus: Don't force inline EXP1/EXP2 access
2021-01-06 01:02:30 +10:00
Connor McLaughlin
f3cdfe97a7
Bus/EXP2: Support openbios putc address
2021-01-06 00:56:35 +10:00
Connor McLaughlin
845cd37835
DMA: Determine slice size based on whether pad is transmitting
...
Plenty of games seem to suffer from this issue where they have
a linked list DMA going while polling the controller. Using a
too-large slice size will result in the serial timing being off,
and the game thinking the controller is disconnected. So we
don't hurt performance too much for the general case, we reduce
this to equal CPU and DMA time when the controller is
transferring, but otherwise leave it at the higher size.
2021-01-06 00:15:42 +10:00
Connor McLaughlin
98a4e59f52
Qt: Fix some strings not being translatable
2021-01-06 00:15:42 +10:00
Connor McLaughlin
a6e1b3c4ad
Merge pull request #1389 from ggrtk/ps3-bios-size
...
BIOS: Add check for older BIOS from PS3
2021-01-05 17:59:57 +10:00
Connor McLaughlin
cdefcf7359
HostInterface: Log when all enhancements are disabled by config
2021-01-05 17:58:55 +10:00
Albert Liu
79012d5288
BIOS: Add check for older BIOS from PS3
...
Same revision number as newer PS3, but different file size and 512KB
hash.
2021-01-04 23:54:42 -08:00
Connor McLaughlin
8f5c20bdf5
BIOS: Improve robustness of BIOS searching
...
Always prefer a known BIOS image over an unknown image. Hopefully this
will stop people getting crashes on startup due to other files in the
BIOS directory confusing it.
2021-01-05 12:22:18 +10:00
Connor McLaughlin
5cd261a5b2
BIOS: Only match PS1 and PS2 BIOS images exactly
2021-01-05 12:22:13 +10:00
Connor McLaughlin
73f6521452
SPU: Check voice addresses on IRQ re-enable
...
NASCAR 2001 music depends on the IRQ firing multiple times, when the
voice address is still set to the IRQ address.
2021-01-05 00:46:41 +10:00
Connor McLaughlin
e3262fc0a4
CPU: Compile fix for debug builds
2021-01-05 00:46:41 +10:00
Connor McLaughlin
35fdae0d95
Merge pull request #1372 from ggrtk/analog-controller-refactor
...
AnalogController: Refactor data transfer implementation
2021-01-05 00:45:37 +10:00
Connor McLaughlin
affffca3da
GPU/HW: Set max resolution scale to 32
...
The UI is intentionally left at 16x. Going too high **will** make you
run out VRAM and your system will start acting strangely. But for those
people who really want to do it, you can go 32x in Vulkan with the SDL
frontend, or by setting it in the ini.
2021-01-04 03:11:14 +10:00
Connor McLaughlin
9ff8130e40
fixup! CPU: Make trace-to-file toggleable at runtime and in release builds
2021-01-04 03:11:14 +10:00
Connor McLaughlin
bf1d51b5d8
CPU: Make trace-to-file toggleable at runtime and in release builds
2021-01-04 03:11:14 +10:00
Albert Liu
04884257d6
AnalogController: Refactor data transfer implementation
2021-01-03 09:09:49 -08:00
Connor McLaughlin
0de34d7bf7
DMA: Increase precision for large transfers
...
Also gets rid of the delay on the GPU side for writing to VRAM (doesn't
make sense), and it's not needed since we slice the block transfers now.
Fixes palette corruption in Vigilante 8, and missing rider in
Championship Motocross 2001 featuring Ricky Carmichael.
2021-01-03 16:11:42 +10:00
Connor McLaughlin
c9ef3ec1a3
DMA: Clear state on shutdown
...
Fix a rare crash where the GPU starting after a second boot accesses
uninitalized DMA fields.
2021-01-03 14:48:02 +10:00
Connor McLaughlin
2ec26e54b7
GPU/HW: Disable downsampling when using 24-bit display
...
It's dropped to 1x first anyway.
2021-01-03 12:18:21 +10:00
Connor McLaughlin
40257e5b20
GPU/HW: Don't set m_pgxp_depth_buffer when PGXP is disabled
...
Fixes text corruption in Castlevania when PGXP is disabled and depth
buffer is enabled.
2021-01-01 17:49:20 +10:00
Connor McLaughlin
c9240eea72
CPU/Recompiler: Use PGXP interpreter for fallback
...
Fixes holes in geometry with PGXP enabled in Threads of Fate.
2021-01-01 17:16:55 +10:00
Connor McLaughlin
4e87b30b40
System: Skip throttler phase reset when running at <100%
2021-01-01 14:08:09 +10:00
Connor McLaughlin
04a187afb2
CDROM: Fix read error/unlicensed flag getting set on all discs
...
Regression from 75aa52ab06
.
2021-01-01 03:00:16 +10:00
Connor McLaughlin
75aa52ab06
CDROM: Fail reads immediately for audio/unlicensed CDs
...
Fixes first track being unavailable on audio CDs in Vib-Ribbon.
2021-01-01 01:38:14 +10:00
Connor McLaughlin
9294bf6be3
CDROM: Keep target location even after failed seeks
2021-01-01 01:37:51 +10:00
Connor McLaughlin
187de65f50
CDROM: Reset disc position to start after switching discs
2021-01-01 00:01:13 +10:00
Connor McLaughlin
5690aef057
CDROM: Send seek error when read+seeking to audio sector
...
Fixes hang in Vib-Ribbon when using an audio CD.
2020-12-31 03:19:51 +10:00
Connor McLaughlin
f911e90e17
CDROM: Hopefully fix crash in debug window when reading lead-out
2020-12-31 02:10:49 +10:00
Connor McLaughlin
02377b1a92
CPU/CodeCache: Fix possible crash on invalidate->recompile->overflow
2020-12-31 02:10:49 +10:00
Connor McLaughlin
3cb2cd8235
GPU: Add adaptive and box downsampling modes
2020-12-30 17:41:39 +10:00
Connor McLaughlin
59e8363075
D3D11: Support mipmaps in wrapper textures
2020-12-30 17:39:40 +10:00
Connor McLaughlin
68ce959d70
Settings: Add option to temporarily disable all enhancements
2020-12-30 17:39:29 +10:00
Connor McLaughlin
40f241dde3
PlaystationMouse: Fix incorrect translation context for help
2020-12-30 17:03:59 +10:00
PugsyMAME
3284a18ad3
Add new Cheat Type F4, Find & Replace Bytes ( #1345 )
...
* Add new Cheat Type F4, Find & Replace Bytes
Also knows as 'AOB' apparently. Information about how it works will be in the next chtdb.txt header or you can read/ask about it on the discord channel.
* Add new Cheat Type F4, Find & Replace Bytes
Also knows as 'AOB' apparently. Information about how it works will be in the next chtdb.txt header or you can read/ask about it on the discord channel.
* Added error trapping for cheat type F4
As suggested
2020-12-30 00:55:49 +10:00
Connor McLaughlin
a894b295b6
CPU/CodeCache: Fix assertion failure when patching in double branch
2020-12-29 22:49:52 +10:00
Albert Liu
11fbf26045
HostDisplay: Use floats internally for draw rectangle calculation
2020-12-29 01:33:41 -08:00
Albert Liu
e0f3a4f17b
HostDisplay: Calculate draw rectangle in terms of horizontal scale
2020-12-29 01:33:40 -08:00
Albert Liu
b824844043
HostDisplay: Fix framebuffer screenshot scaling
2020-12-29 01:33:40 -08:00
Albert Liu
d9096ca12d
BIOS: Prevent patching incompatible BIOSes
2020-12-27 16:14:28 -08:00
Albert Liu
0e2276fc7a
BIOS: Add support for loading PS2 BIOSes
2020-12-27 15:32:41 -08:00
Albert Liu
4db29f9399
HostInterface: Check all console regions when looking for any BIOS
2020-12-27 15:32:41 -08:00
Connor McLaughlin
f9ac25f2b8
CDROM: Actually fix playing tracks 10+
2020-12-28 01:40:38 +10:00
Connor McLaughlin
c04d6f9ef8
CDROM: Play command track should be BCD
...
Fixes tracks >= 10 in BIOS CD player, maybe games?
2020-12-28 01:17:41 +10:00
Connor McLaughlin
8bb5ff47eb
PlaystationMouse: Add option to use relative mode
2020-12-28 00:37:04 +10:00
Connor McLaughlin
ca42d027ac
Qt: Implement relative mouse mode
2020-12-28 00:37:04 +10:00
Albert Liu
2a1bf9925a
Qt: Make Auto (Game Native) aspect ratio string translatable
2020-12-27 00:57:55 -08:00
Connor McLaughlin
cbcbb675d6
System: Fix pause on start
2020-12-27 00:54:53 +10:00
Connor McLaughlin
3cd3d1c09d
Qt: Fix opening debugger when system already paused
2020-12-27 00:54:53 +10:00
Connor McLaughlin
702ed21207
HostDisplay: Add threaded presentation for Vulkan renderer
...
Can add a significant speedup for fast forward. Automatically disabled
when vsync is enabled.
2020-12-27 00:54:53 +10:00
Connor McLaughlin
68dc052432
Bus: Don't leak shared memory when starting->stopping->starting
2020-12-27 00:50:08 +10:00
Connor McLaughlin
e71f6aa80a
GPU/HW: Improve round-trip accuracy of RGBA5551->RGBA8
...
Fixes smudging in some games with true colour rendering enabled.
2020-12-27 00:50:08 +10:00
Connor McLaughlin
84181e2a1d
CheatS: Support importing/parsing EPSXe cheat files
2020-12-27 00:45:34 +10:00
Connor McLaughlin
cc9c3ea41f
Cheats: Fix assertions tripping on unicode characters
2020-12-27 00:45:34 +10:00
Albert Liu
12bc7a7805
MemoryCardImage: Fix multi-block file reads
2020-12-25 20:01:21 -08:00
Connor McLaughlin
a69474ea97
TextureReplacements: Use x86 dispatch for xxhash
2020-12-26 00:47:24 +10:00
Connor McLaughlin
af3b2b0e15
Build: Fix xxhash on non-Windows
2020-12-26 00:47:24 +10:00
Connor McLaughlin
d187c8b08d
GPU/HW: Fix a potential case where depth isn't cleared on viewport change
2020-12-26 00:47:03 +10:00
Connor McLaughlin
a385573672
Qt: Add texture replacement options to advanced settings
2020-12-26 00:47:03 +10:00
Connor McLaughlin
8db961042a
GPU: Support replacing VRAM writes with new textures
2020-12-26 00:47:03 +10:00
Connor McLaughlin
ecbfff3c60
HostDisplay: Fix incorrect extension check for other formats
2020-12-26 00:47:03 +10:00
Michael Forney
64c0ca14a3
System: Fix some bugs in GetTitleForPath
...
The previous implementation had a few issues in certain edge cases:
- If the path contained no '/' or '\', then the string_view constructor
is called with a count that exceeds the length of the string
(effectively `title_end - (char *)0`, which is undefined behavior,
at least in C).
- If the only '/' was the filesystem root, the last character of
the title was truncated, and the '/' remained. For example,
"/title.bin" resulted in "/titl".
- At least in C, it is undefined behavior to use the the < operator
with a null pointer, which is done in std::max if the path did
not have both '/' and '\'.
The first issue results in a std::bad_alloc exception on my machine.
2020-12-26 00:47:02 +10:00
Connor McLaughlin
3f410ebbac
Cheats: Add additional code types from @PugsyMAME
2020-12-26 00:47:02 +10:00
Jean-Baptiste Boric
abd2399aaf
Core: Implement GDB protocol
2020-12-26 00:47:02 +10:00
Jean-Baptiste Boric
9b40c8ffa6
Settings: Add GDB server settings
2020-12-26 00:47:02 +10:00
PugsyMAME
c0cc0a371b
Fixed Slide Code cheat type
...
Address increment is a u8 and value increment is a u16. The changes will make this work correctly:-
50000AA4 FFFF
801CC760 0400
which is a example slide code representing:-
801CC760 0400
801CC804 03FF
801CC8A8 03FE
801CC94C 03FD
801CC9F0 03FC
801CCA94 03FB
801CCB38 03FA
801CCBDC 03F9
801CCC80 03F8
801CCD24 03F7
2020-12-25 13:53:28 +10:00
Connor McLaughlin
aa1543271e
GPU: Support emulating a depth buffer from PGXP depth values
2020-12-23 01:39:49 +10:00
Connor McLaughlin
ca84925ff8
HostDisplay: Support screenshotting 16-bit display formats
2020-12-22 03:24:51 +10:00
Albert Liu
189656cbc4
CommonHostInterface: Fully clear controller section before loading profile
2020-12-22 03:24:51 +10:00
Connor McLaughlin
d5d9cb623d
GPU/Vulkan: Fix possible framebuffer destroy-while-in-use
2020-12-22 00:56:55 +10:00
Margen67
b7534015e0
Use proper 21:9 aspect ratio, add 32:9
2020-12-20 19:57:15 -08:00
Connor McLaughlin
e804fdfdba
GPU: Use floating point coordinates for lightgun
2020-12-19 17:02:01 +10:00
Connor McLaughlin
4860313bef
NamcoGuncon: Add an option to scale X coordinates
...
Fixes what appears to be curvature correction at the edges of the
screen.
2020-12-19 17:02:01 +10:00
Connor McLaughlin
fad3d79895
NamcoGuncon: Add button to shoot offscreen
2020-12-19 17:02:01 +10:00
Connor McLaughlin
076a2ca307
Qt/CheatManager: Default to unsigned/hex/halfword
2020-12-19 02:44:46 +10:00
Connor McLaughlin
ca61f989fc
DMA: Don't panic on invalid device read/write
2020-12-19 02:44:46 +10:00
Connor McLaughlin
7c7145d1c5
MDEC: Handle invalid commands
...
Fixes panic in Formula 1.
2020-12-19 02:44:46 +10:00
Connor McLaughlin
9e1987063d
System: Add a libcrypt game list, and check serials
...
Nag the user if they're missing a sbi file.
2020-12-18 03:03:22 +10:00
Connor McLaughlin
b3edcc5841
CDROM: Don't reset audio decoder state on file/channel change
...
Star Wars Jedi Power Battles sends constant Setfilter commands, while
playing.
2020-12-18 03:03:21 +10:00
Connor McLaughlin
d2c98639a8
Cheats: Add extension 32-bit instructions variants
2020-12-18 03:03:21 +10:00
Connor McLaughlin
3b23542ec9
CPU: Provide debugger/breakpoint/step functionality
2020-12-17 11:57:47 +10:00
Connor McLaughlin
a8af0f7ecb
HostInterface: Add debugger message callbacks
2020-12-17 11:57:47 +10:00
Connor McLaughlin
fa0f177e51
HostInterface: Move PauseSystem from common to base
2020-12-17 11:57:47 +10:00
Connor McLaughlin
e044858953
CPU: Add additional instruction decoder helpers
2020-12-17 11:57:46 +10:00
Connor McLaughlin
9fd1d606d7
Bus: Add memory region access helpers
2020-12-17 11:57:46 +10:00
Connor McLaughlin
a4b6df3e7d
Merge pull request #1239 from ggrtk/analog-controller
...
AnalogController: Fix config mode 0x4C response
2020-12-17 11:36:58 +10:00
Connor McLaughlin
9d7b63923a
Merge pull request #1235 from valadaa48/CRTCTicksToSystemTicks_optimization
...
Small optimization to GPU::SystemTicksToCRTCTicks
2020-12-17 11:36:21 +10:00
Connor McLaughlin
bd8613b120
Merge pull request #1227 from ggrtk/auto-aspect-ratio
...
GPU: Add auto aspect ratio and various fixes
2020-12-17 11:35:48 +10:00
Albert Liu
b7bccac71d
AnalogController: Fix config mode 0x4C response
2020-12-16 15:11:53 -08:00
Connor McLaughlin
47f0720b93
Controller: Always preserve internal state when loading/resuming
...
Fixes analog mode getting disabled when loading state.
2020-12-17 01:20:06 +10:00
Connor McLaughlin
7b6d30a994
GPU/HW: Fix possible VRAM corruption when live switching resolutions
...
Mask bit was getting lost based on guest state.
2020-12-17 01:20:06 +10:00
Albert Liu
de8f03bd75
GPU: Add auto (game native) aspect ratio
2020-12-16 02:40:33 -08:00
valadaa48
f5f12fd76d
Small optimization to GPU::SystemTicksToCRTCTicks
2020-12-15 22:31:34 -05:00
Albert Liu
b4fb1e20d8
Settings: Remove unused variables
2020-12-14 19:28:59 -08:00
Albert Liu
2c76ad204a
GPU: Fix operator warning
2020-12-14 19:28:59 -08:00
Albert Liu
1c8a896a55
GPU: Wrap display VRAM coordinates properly
2020-12-14 19:28:59 -08:00
Albert Liu
866cbdca4b
GPU: Prevent potential overflow in CRTC visible area calculation
2020-12-14 19:28:59 -08:00
Albert Liu
78e42d9b4c
GPU: Clean up CRTC variable naming
2020-12-14 19:28:59 -08:00
Albert Liu
b8abf2df95
GPU: Don't apply display offsets when not cropping
2020-12-14 19:28:58 -08:00
Connor McLaughlin
d0e68c7163
GPU: Mask Y coordinates of VRAM transfers to 9-bits
...
Fixes GPU error and crash in hardware renderers in Remote Control
Dandy.
2020-12-14 01:35:53 +10:00
Connor McLaughlin
5164840c25
CPU/CodeCache: Don't choke on indirect branches in delay slot
...
Fixes emulator crash/memory usage explosion in Shadow Master.
2020-12-14 01:35:53 +10:00
Connor McLaughlin
7e5410fc44
CPU/AArch64: Use scratch register for unfitting intermediate values
...
Should fix crashes with icache emulation enabled.
2020-12-13 00:36:09 +10:00
Albert Liu
def9a98cb9
GameSettings: Disable analog mode forcing instead of forcing digital controller
2020-12-11 19:50:43 -08:00
Albert Liu
8716c33f41
AnalogController: Clarify option for forcing analog mode
2020-12-11 19:50:43 -08:00
Connor McLaughlin
420525e672
DigitalController: MSVC warning fix
2020-12-12 11:37:38 +10:00
Albert Liu
191e6b0496
DigitalController: Add option to force as Pop'n Controller
2020-12-09 23:39:11 -08:00
Connor McLaughlin
50bcdc0abb
MDEC: Adjust 16bpp timing
...
Fixes jittery movement in Parasite Eve II opening.
2020-12-09 20:29:32 +10:00
Connor McLaughlin
59c338f461
Cheats: Support double conditional D0/D1/D2/D3/E0/E1/E2/E3/D4
2020-12-09 20:22:43 +10:00
Connor McLaughlin
98766a490f
Log: Change success to verbose and move down in ordering
2020-12-09 01:03:32 +10:00
Connor McLaughlin
678146b907
HostInterface: Add separate volume control for fast forwarding
2020-12-09 01:03:32 +10:00
Connor McLaughlin
b79d025e66
Merge pull request #1174 from ggrtk/analog-controller
...
AnalogController: Disallow analog-to-dpad in config mode
2020-12-09 00:22:57 +10:00
Connor McLaughlin
419736aaee
GPU/Software: Ensure commands are always aligned to 4 bytes
2020-12-09 00:19:57 +10:00
Albert Liu
18a4ff76e2
AnalogController: Disallow analog-to-dpad in config mode
2020-12-08 02:36:19 -08:00
Connor McLaughlin
98d6b49987
System: Log FPS/frame times every second
2020-12-08 01:47:28 +10:00
Albert Liu
93f46c142c
GPU: Fix GPUTexturePaletteReg y BitField width
2020-12-06 22:20:23 -08:00
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.
2020-12-07 02:44:23 +10:00
Connor McLaughlin
737a87b483
CommonHostInterface: Add a hotkey to toggle all cheats
2020-12-06 23:32:32 +10:00
Connor McLaughlin
f5ccb6ea60
CPU: Fall back to mmap'ed buffer if reprotecting code space fails
2020-12-06 18:13:07 +10:00
Connor McLaughlin
09495b1d93
Cheats: Implement C1 command
2020-12-06 15:50:58 +10:00
Connor McLaughlin
ea9829946d
Cheats: Implement D4/D5/D6 code types
2020-12-06 15:47:00 +10:00
Connor McLaughlin
a90c25d0e7
SPU: Ignore manually set loop address only on first block
...
Fixes occasional missing dialogue in Valkyrie Profile.
2020-12-06 00:35:54 +10:00
Connor McLaughlin
d7bd21c06d
Timers: Update when sync is used with sysclk source
...
Fixes hang at boot in Zoku Mikagura Shoujo Tanteidan - Kanketsuhen.
2020-12-06 00:35:54 +10:00
Connor McLaughlin
5e05a14f97
GPU: Fix incorrect draw time approximation of lines
...
Fixes flickering pre-mission screen in Omega Boost.
2020-12-06 00:35:54 +10:00
Connor McLaughlin
d757056891
GPU: Implement dot clock timer (Timer 0)
...
Fixes softlock in Evil Dead - Hail to the King.
2020-12-06 00:35:54 +10:00
Connor McLaughlin
8b3426a96e
System: Reinitialize code cache on hw settings change/disc swap
...
Basically, anything which could allocate large amounts of memory and
potentially overlap with our fastmem area.
2020-12-06 00:35:54 +10:00
Connor McLaughlin
1c9d0967b1
GPU/OpenGL: Fix shader compile error on GLES
2020-12-06 00:35:54 +10:00
Connor McLaughlin
5575950822
Cheats: Support chaining C0 codes with separator (00000000 FFFF)
2020-12-05 02:08:10 +10:00
Connor McLaughlin
af6b0dc189
Qt: Add option to pause on application focus loss
2020-12-05 02:08:10 +10:00
Connor McLaughlin
9089c97339
CPU: Drop cache control log to dev level
2020-12-04 01:19:00 +10:00
Connor McLaughlin
52dbcbaca5
PGXP: Treat add rd, rs, zero as moves
...
Fixes exploding vertices in BIOS intro.
Needs further investigation as to why this fixes it - clearly the actual
oepration is incorrect.
2020-12-04 01:07:36 +10:00
Connor McLaughlin
59ac365b52
GPU/HW: Extend the UV range to all "upscaled" pixels
...
Extend the UV range to all "upscaled" pixels. This means 1-pixel-high
polygon-based framebuffer effects won't be downsampled.
(e.g. Mega Man Legends 2 haze effect)
2020-12-04 00:33:04 +10:00
Connor McLaughlin
362905e3df
GPU: Add display line offset game setting
...
Use when games need additional cropping.
2020-12-04 00:33:04 +10:00
Connor McLaughlin
c406f0708f
Cheats: Implement C0 command (activate codes iff equal)
2020-12-03 00:57:52 +10:00
Connor McLaughlin
7e944103c2
GPU/OpenGL: Work around rasterization/interplation issue on V3D/Pi4
2020-12-01 15:14:23 +10:00
Connor McLaughlin
a2666de7c8
HostInterface: Make mmap fastmem unavailable a warning instead of OSD message
2020-12-01 13:23:02 +10:00
Connor McLaughlin
977c2f4947
CheatList: Fix games with serial aliases not loading from database
2020-12-01 13:21:07 +10:00
Connor McLaughlin
f8c2d7dafd
Merge pull request #1121 from dankcushions/geoshader
...
OES_geometry_shader and OES_copy_image support
2020-12-01 02:12:51 +10:00
Connor McLaughlin
98f70e9b51
HostDisplay: Add 5:4 and 3:2 aspect ratios
2020-12-01 01:58:46 +10:00
Connor McLaughlin
37c9e69b3e
System: Zero downcount at end of frame
...
Prevents code running after vblank starts, and fixes events getting
delayed in interpreter mode.
2020-12-01 01:16:49 +10:00
dankcushions
e7139fe0d1
OES_copy_image support
2020-11-30 14:08:26 +00:00
Connor McLaughlin
b695d3c6ce
System: Use existing media if save state media is not found
2020-11-30 01:15:44 +10:00
Connor McLaughlin
eaafd0a00c
Cheats: Support parsing built-in database
2020-11-30 01:15:44 +10:00
Connor McLaughlin
39010320ea
HostDisplay: Fix possible race when saving screenshots
2020-11-30 01:15:44 +10:00
dankcushions
82b4edfaf4
OES_geometry_shader can be supported by non-GLES 3.2 conformant devices (eg Pi 4)
2020-11-28 17:48:46 +00:00
Connor McLaughlin
a75b6e512a
System: Improve translatability of save state error
2020-11-28 00:35:03 +10:00
Connor McLaughlin
5f69216f70
HostInterface: Add OpenPackageFile method
2020-11-28 00:14:45 +10:00
Connor McLaughlin
1fa0903fa9
Merge pull request #1111 from ggrtk/gpu-sw-fix
...
GPU/SW: Fix 16-bit wraparound output crashing
2020-11-28 00:12:41 +10:00
Albert Liu
e12c68cf65
GPU/SW: Fix 16-bit wraparound output crashing
2020-11-26 23:58:06 -08:00
Albert Liu
32e47fba93
System: Limit maximum loadable save state version
2020-11-26 19:51:45 -08:00
Connor McLaughlin
f0ff7ce231
PGXP: Add geometry tolerance setting
2020-11-27 01:40:50 +10:00
Connor McLaughlin
125dfa7c40
HostDisplay: Support resizing/compressing images on worker thread
2020-11-27 01:40:50 +10:00
Albert Liu
9ac09d35be
AnalogController: Only clear motor state on rumble config if not used
2020-11-26 06:01:08 -08:00
Albert Liu
a4eb4b9280
AnalogController: Set transfer state to idle on reset
2020-11-26 06:01:08 -08:00
Connor McLaughlin
fcbd618783
Merge pull request #1105 from ggrtk/analog-controller
...
AnalogController: Rumble handling and config mode fixes
2020-11-26 01:43:50 +10:00
Albert Liu
566993c6df
AnalogController: Improve DualShock rumble handling
...
Fixes low vibration in Final Fantasy VIII, missing vibration in Armored
Core Project Phantasma, etc.
2020-11-25 07:33:30 -08:00
Albert Liu
31b41b9ec0
AnalogController: Output zeros for 0x43 when already in config mode
2020-11-25 07:33:30 -08:00
Albert Liu
3f709d97b6
AnalogController: Send full analog response for reads in config mode
2020-11-25 07:33:30 -08:00
Albert Liu
e4820bcbc1
AnalogController: Delay manual mode toggle to transfer state reset
2020-11-25 07:33:30 -08:00
Connor McLaughlin
b45bee5954
libretro: Work around crash in RetroArch Vulkan driver
2020-11-25 23:06:41 +10:00
Connor McLaughlin
917fa5dd0e
SPU: Only ignore loop address for not-pending-on voices
...
Fixes softlocks during dialog in The Misadventures of Tron Bonne.
2020-11-25 22:45:03 +10:00
Connor McLaughlin
bf2e38aed5
CPU/Recompiler: Implement LUT-based fastmem
2020-11-24 14:49:21 +10:00
Connor McLaughlin
0793f98c87
CPU/Recompiler: Reduce armv7 code buffer size
2020-11-22 13:59:26 +10:00
Connor McLaughlin
07dbc5a80d
GPU/HW: Draw opaque before semitransparent for reverse subtract
...
Fixes missing shadows in Suikoden II.
2020-11-22 13:46:20 +10:00
Connor McLaughlin
e06f85a328
GPU: Fix VRAM palette changes not being detected in hw renderer
...
Fixes wall texture animation in Mega Man Legends.
2020-11-22 13:22:29 +10:00
Connor McLaughlin
b49067d165
Build: Fix Android armv8 performance regression
2020-11-22 02:33:02 +10:00
Connor McLaughlin
7e7ec86f91
GPU/Software: Remove a couple of unused variables
2020-11-22 01:24:26 +10:00
Connor McLaughlin
a6529a9537
Android: Enable armeabi-v7a builds
2020-11-21 23:47:12 +10:00
Connor McLaughlin
131dc923ed
Build: Fix CMake build
2020-11-21 18:59:03 +10:00
Connor McLaughlin
b554c133ea
GPU/OpenGL: Add a version check and display message when unsupported
2020-11-21 18:39:04 +10:00
Connor McLaughlin
2595e31575
GPU: Split software to frontend/backend
2020-11-21 18:39:04 +10:00
Connor McLaughlin
03d4f80883
GPU: Move enums/types into separate file
2020-11-21 18:39:04 +10:00
Connor McLaughlin
d3d881aa6b
GPU/Software: Reduce number of copies by one, enable 16-bit scanout
2020-11-21 18:39:04 +10:00
Connor McLaughlin
9f3e8bed86
CPU: Add AArch32/armv7 recompiler
2020-11-21 18:39:04 +10:00
Connor McLaughlin
1128836826
CPU/Recompiler: Add GetValueInHostOrScratchRegister helper
2020-11-21 18:39:04 +10:00
Connor McLaughlin
cdd0a5525a
CPU/Recompiler: Reduce register pressure of lwl/lwr/swl/swr
2020-11-21 18:39:04 +10:00
Connor McLaughlin
6df5824616
CPU/Recompiler: Support targets where shifts aren't implicitly masked
2020-11-21 18:39:04 +10:00
Connor McLaughlin
053d7fdc4b
CPU/Recompiler: Inhibit allocation in mtc0/rfe branches
2020-11-21 18:39:04 +10:00
Connor McLaughlin
028a5c60d7
Bus: Fix failed safe instruction reads raising guest exceptions
2020-11-21 18:39:03 +10:00
Connor McLaughlin
28c88cd69f
Build: Fix Win32 compilation of core
2020-11-21 18:39:03 +10:00
Connor McLaughlin
a03bca2f72
CPU: Make fastmem a compile-time feature (support 32-bit targets)
2020-11-21 18:39:03 +10:00
Connor McLaughlin
125d104df4
Pad: Fix controller state not being ignored in state load
2020-11-21 18:39:03 +10:00
Connor McLaughlin
53f81d067a
CPU/CodeCache: Remove warning about executing uncompiled blocks
2020-11-21 18:39:03 +10:00
Connor McLaughlin
3185c5df0f
Merge pull request #1078 from CookiePLMonster/sdl-joystick-support
...
Add SDL_Joystick support
2020-11-21 18:37:20 +10:00
Connor McLaughlin
e4d2b7331b
CommonHostInterface: Add resize window to scale functions
2020-11-19 00:40:02 +10:00
Connor McLaughlin
0726ad1275
GPU: Flush partial VRAM writes to backend VRAM
2020-11-19 00:40:02 +10:00
Connor McLaughlin
9e11e5c354
CPU: Make zero register printing consistent with the others
2020-11-19 00:40:02 +10:00
Connor McLaughlin
042bdd9c0c
CPU/CodeCache: Fetch second delay slot from first branch for double branches
2020-11-19 00:40:02 +10:00
Connor McLaughlin
3890a539ee
CDROM: Clear data FIFO on reset
...
Fixes Snatcher booting.
2020-11-19 00:40:02 +10:00
Silent
2880b71b48
Support for SDL Joysticks
...
This enables use of non-controller peripherals,
such as DirectInput steering wheels or flight sticks
2020-11-15 16:12:39 +01:00
Connor McLaughlin
473cfffa0c
GPU: Only accept DMA writes when FIFO is empty or command incomplete
...
Fixes a bunch of games, including Red Asphalt, Little Princess, Vampire
Hunter D main menu when combined with tight DMA sync.
2020-11-16 01:00:55 +10:00
Connor McLaughlin
df12f08ac3
DMA: Add additional tick penalty to DMA chains for page change
2020-11-16 01:00:55 +10:00
Albert Liu
7ed0477a29
AnalogController: Save buttons and legacy rumble to state
2020-11-14 07:46:26 -08:00
Albert Liu
81a638cabb
Pad: Fix loading controllers from save states
2020-11-14 07:46:26 -08:00
Albert Liu
f9d2643d98
Controller: Add Analog Joystick support
2020-11-14 07:46:26 -08:00
Connor McLaughlin
13d9702000
HostDisplay: Log errno on file open failure
2020-11-15 00:16:00 +10:00
Connor McLaughlin
65be904d15
SPU: Only log warning about FIFO lost on writes
2020-11-14 23:20:28 +10:00
Connor McLaughlin
077764ce18
CPU/Interpreter: Handle move instructions in PGXP memory mode
2020-11-14 23:20:28 +10:00
Connor McLaughlin
e1579584ef
CPU/Recompiler: Fix PGXP values getting corrupted if cached in caller-saved reg
2020-11-14 23:20:28 +10:00
Connor McLaughlin
3f937a2a39
SPU: Port reverb algorithm changes from Mednafen
2020-11-14 23:20:28 +10:00
Albert Liu
3eeab81063
PlayStationMouse: Fix returning incorrect controller type
2020-11-13 01:42:31 -08:00
Albert Liu
d87ab23fec
ControllerInterface: Move axis scaling into AnalogController class
2020-11-11 23:55:23 -08:00
Connor McLaughlin
ca14e53c4a
GTE: Make widescreen hack use display aspect ratio
2020-11-11 01:02:40 +10:00
Connor McLaughlin
2d3fd621bf
Settings: Add 19:9 aspect ratio
2020-11-11 01:02:40 +10:00
Connor McLaughlin
6cd991bc57
BIOS: Turn display on with fast boot
...
Fixes black screen in SaGa Frontier with fast boot disabled.
2020-11-11 01:02:40 +10:00
Connor McLaughlin
d468814a6d
GPU: Disable texture filters when dual-source blend is unsupported
2020-11-11 01:02:40 +10:00
Connor McLaughlin
92a4551bb2
GPU/OpenGL: Support GL_EXT_blend_func_extended for dual-source blend
2020-11-11 01:02:40 +10:00
Albert Liu
d0443e3165
BIOS: Add BIOS image info for PS1 on PS3
2020-11-09 09:02:00 -08:00
Albert Liu
c698519d44
Bus: Log writes to additional POST registers
2020-11-09 09:02:00 -08:00
Albert Liu
f3522b7b70
Bus: Stub out EXP3 and unknown EXP accesses
2020-11-09 09:02:00 -08:00
Connor McLaughlin
b6ec587e5b
CheatList: Allow passing in strings instead of filenames
2020-11-08 00:22:35 +10:00
Connor McLaughlin
6828082f8b
CheatList: Add merge list function for importing
2020-11-08 00:22:35 +10:00
Connor McLaughlin
576914cd2c
CPU/CodeCache: Backpatch code writes after they exceed 10 faults
...
Small performance improvement in Driver 2.
2020-11-08 00:22:35 +10:00
Albert Liu
6d4b812b7c
AnalogController: Implement legacy rumble method
...
Fixes missing vibration in Tobal 2, Bushido Blade, etc.
2020-11-04 22:45:58 -08:00
Connor McLaughlin
2b66492ed8
HostInterface: Add proper turbo speed setting
2020-11-03 22:59:26 +10:00
Connor McLaughlin
2c8a4ff154
HostDisplay: Add an option to decouple display fps from emulator fps
...
Makes Android so much faster...
2020-11-03 16:17:45 +10:00
Connor McLaughlin
ae1e4b1b8f
GPU: Add chroma smoothing for 24-bit display enhancement
2020-11-03 16:17:45 +10:00
Connor McLaughlin
d102b2facd
Qt: Fix selecting fullscreen mode breaking other backend borderless
2020-11-03 16:17:45 +10:00
Connor McLaughlin
863f84e3f6
System: Fix frame limiter on fast systems (when frametime <1ms)
2020-11-03 16:17:45 +10:00
Connor McLaughlin
2b2a868fef
HostInterface: Fix incorrect translation context in CPU mode switch string
2020-11-02 00:56:05 +10:00
Connor McLaughlin
414bc30f24
HostDisplay: Implement exclusive fullscreen for D3D11 renderer
2020-11-02 00:56:05 +10:00
Connor McLaughlin
858f39827d
GPU/HW: Add 'Disable Edge Blending' variants of texture filters
2020-11-02 00:56:05 +10:00
Connor McLaughlin
6ddf6784ab
GPU/OpenGL: Fix edge blending when texture filtering
2020-11-02 00:56:05 +10:00
Connor McLaughlin
79aa1cece7
Merge pull request #1031 from ggrtk/negcon-deadzone
...
NeGcon: Add steering axis deadzone setting
2020-11-02 00:52:27 +10:00
Albert Liu
8b5fde8e6f
BIOS: Add SCPH-1000R image infos
2020-11-01 04:21:17 -08:00
Albert Liu
3b51b993f3
NeGcon: Add steering axis deadzone setting
2020-11-01 04:17:18 -08:00
Connor McLaughlin
b5b1c725c1
GPU: Fix MSAA in OpenGL ES
2020-10-31 15:24:25 +10:00
Connor McLaughlin
f2aa343cae
GPU/HW: Fix SSAA being enabled when it's not supported
2020-10-31 15:12:12 +10:00
Connor McLaughlin
b3c5c0f852
GPU/OpenGL: Eliminate some redundant per-draw state calls
2020-10-31 14:27:58 +10:00
Connor McLaughlin
2eaebd8921
GPU: Implement support for multisample antialiasing
2020-10-31 14:27:58 +10:00
Connor McLaughlin
61a4960380
GPU: Skip zero-width or height fills
2020-10-31 14:27:57 +10:00
Connor McLaughlin
2e53bf914e
CPU/CodeCache: Fix crash when jumping to invalid block in recompiler
2020-10-31 14:27:57 +10:00
Albert Liu
df1c5c0f45
HostInterface: Fix PAL BIOS path not being read from settings
2020-10-29 14:26:07 -07:00
Connor McLaughlin
7078f73ecf
AnalogController: Fix analog-as-digital applying in analog mode
2020-10-30 02:10:49 +10:00
Connor McLaughlin
2fb67ee7db
AnalogController: Add option to use analog stick as dpad in digital mode
2020-10-30 00:44:40 +10:00
Connor McLaughlin
be63d893cd
CPU: Use partial icache fills for non-line-aligned addresses
2020-10-30 00:44:40 +10:00
Connor McLaughlin
3b3ad0c1cb
Bus: Fix icache fills from BIOS failing
2020-10-30 00:44:39 +10:00
Connor McLaughlin
f14270fc4b
Bus: Ignore reads to nocash EXP2 area
2020-10-30 00:44:39 +10:00
Connor McLaughlin
b2d224abfc
System: Set BIOS before resetting
...
Fixes incorrect first instruction executing in interpreter mode.
2020-10-30 00:44:39 +10:00
Connor McLaughlin
e081ee4b8e
CDROM: Return error to guest instead of panicing for unknown commands
2020-10-30 00:44:39 +10:00
Connor McLaughlin
a6947fbc70
CDROM: Implement fast forward/rewind
2020-10-30 00:44:39 +10:00
Connor McLaughlin
29467d40c8
DMA: Add debug window
2020-10-30 00:44:39 +10:00
Connor McLaughlin
0552da6be2
CDROM: Stub out VideoCD command
2020-10-29 01:44:44 +10:00
Connor McLaughlin
34a808c258
SPU: Zero previous block ADPCM samples on key on
...
Fixes clicking in background in Breath of Fire III.
2020-10-29 01:30:40 +10:00
Connor McLaughlin
a8171405b1
CPU/CodeCache: Fix incorrect invalidation on non-page-crossing DMA writes
...
Fixes recompiler mode for Breath of Fire III, probably others.
2020-10-29 01:30:00 +10:00
Connor McLaughlin
451c48406d
libretro: Fix runtime aspect ratio changes not applying
2020-10-28 17:32:59 +10:00
Connor McLaughlin
392c7af738
Bus: Fix assertion failing if booting fails
2020-10-28 17:31:25 +10:00
Connor McLaughlin
be3dd3e06f
HostInterface: Fix a possible crash when renderer recreation fails
2020-10-27 11:57:41 +10:00
Connor McLaughlin
7f795d25aa
CPU/Recompiler: Don't try fastmem for RAM mirrors
2020-10-26 22:07:52 +10:00
Connor McLaughlin
875b0b91f1
CPU/Recompiler/AArch64: Use scratch for add CPU struct field
2020-10-26 22:02:35 +10:00
Connor McLaughlin
76428887b8
CPU/Recompiler: Fix typo in UninhibitAllocation function name
2020-10-26 22:00:10 +10:00
Connor McLaughlin
cbc7e3d64a
CPU/Recompiler: Add register allocation safety check to fastmem
2020-10-26 21:59:29 +10:00
Connor McLaughlin
1b618b8c46
SPU: Don't block ADPCM loop flag when setting/keying on in same slice
...
Fixes repeated sounds in Re-Loaded: The Hardcore Sequel.
2020-10-24 20:27:06 +10:00
Connor McLaughlin
98987643b3
SPU: Always reset address on loop end regardless of repeat
...
Fixes menu music in Madden NFL 99.
2020-10-24 19:42:23 +10:00
Connor McLaughlin
a1453ee8a5
GPU: Skip full CRTC update on GP1(05h)
2020-10-23 19:37:56 +10:00
Connor McLaughlin
e5a0c92336
Merge pull request #999 from ggrtk/gpu-crtc
...
GPU: CRTC update
2020-10-23 19:36:45 +10:00
Albert Liu
6bc7cf29cc
GPU: Synchronize CRTC on GP1(05h) command
...
Fixes text flashing briefly after startup PlayStation logo in King's
Field (USA).
2020-10-22 21:41:42 -07:00
Albert Liu
f69889264d
Core: Make some additional OSD messages translatable
2020-10-22 02:07:48 -07:00
Albert Liu
ca7db7a2d2
GPU: Update CRTC debug window reporting
2020-10-21 23:17:39 -07:00
Albert Liu
1a0b1a3149
GPU: Use accurate VRAM display width rounding
...
Modified version of Nocash algorithm, confirmed with hardware test.
Relies on proper horizontal display range rounding for correct results.
2020-10-21 23:17:39 -07:00
Albert Liu
bbaebfd4c9
GPU: Round horizontal display range values down to clockdiv multiple
...
GP1(06h) X1 and X2 are persistent across clockdiv changes, but the GPU
actively uses rounded values for display output. This behavior is
modeled by storing the rounded values in horizontal_display_start and
horizontal_display_end. Verified with hardware test.
2020-10-21 23:17:39 -07:00
Connor McLaughlin
2b2e2f7854
Cheats: Invalidate code pages on memory writes
2020-10-22 11:09:11 +10:00
Connor McLaughlin
3fc9f264d7
CPUCodeCache: Fix extra page being invalidated on writing to edge
2020-10-22 11:08:57 +10:00
Connor McLaughlin
13aa5e0554
Cheats: Use internal memory handlers which can't trash MMIO
...
Safer and faster.
2020-10-21 22:28:11 +10:00
Connor McLaughlin
2fb611518d
Cheats/MemoryScan: Restrict search to RAM/Scratchpad/BIOS
2020-10-21 22:28:11 +10:00
Connor McLaughlin
0d387dfaca
Cheats/MemoryScan: Add Any operator
2020-10-21 22:28:11 +10:00
Connor McLaughlin
cb6ef03775
CheatList: Save additional DuckStation fields in comments
2020-10-21 22:28:11 +10:00
Connor McLaughlin
39a61d2207
CheatList: Preserve comments in PCSXR format files
2020-10-21 22:28:11 +10:00
Connor McLaughlin
b694577c38
Qt: Add new cheat manager
2020-10-21 01:11:30 +10:00
Connor McLaughlin
7755e238d3
GPU/Vulkan: Fix depth not being updated with VRAM writes
...
Fixes menu not showing in Dragon Quest VII.
2020-10-19 11:46:45 +10:00
Connor McLaughlin
7a82cae2bd
CPU/Recompiler: Use register pairs for pop callee saved too
2020-10-19 02:23:04 +10:00
Connor McLaughlin
0fca011bd4
CPU/Recompiler: Fix OOB in register pairing
2020-10-19 02:23:04 +10:00
Connor McLaughlin
6a4a4c62d7
CPU/Recompiler: Use fastmem instead of global for RAM loads
2020-10-19 02:23:04 +10:00
Connor McLaughlin
325f83065c
SPU: Always inline SPU::ExecuteVoice
2020-10-18 14:54:38 +10:00
Connor McLaughlin
245edd94d7
SPU: Eliminiate conditional in interpolation
2020-10-18 14:54:38 +10:00
Connor McLaughlin
b704c37e91
CPU/Recompiler: Implement speculative constants
2020-10-18 14:54:38 +10:00
Connor McLaughlin
51eff82eb6
CPU/Recompiler: Implement lwl/lwr/swl/swr
2020-10-18 14:54:38 +10:00
Connor McLaughlin
7566c45f64
CPU/Recompiler: Implement fastmem
2020-10-18 14:54:38 +10:00
Connor McLaughlin
11faf6ccfb
CPU/Recompiler: Skip calling event update on interrupts
2020-10-18 14:54:38 +10:00
Connor McLaughlin
a16c2f5462
CPU/Recompiler: Skip tracking some more interpreter state
2020-10-18 14:54:38 +10:00
Connor McLaughlin
a6f8dde790
CPU/Recompiler: Faster ASM dispatcher
2020-10-18 14:54:38 +10:00
Connor McLaughlin
cb351a7dbd
CPU: Move interrupt check out of inner-most exec loop
2020-10-18 14:54:38 +10:00
Connor McLaughlin
0afdc04d88
CPU/Recompiler: Optimize constant reads (and some writes)
2020-10-18 14:54:38 +10:00
Connor McLaughlin
69b2c3fc2d
StateWrapper: Track save state version
2020-10-18 14:54:38 +10:00
Connor McLaughlin
19f4921ca7
GPU/OpenGL: Fix crash on non-dual-source-blend drivers
2020-10-14 18:50:10 +10:00
Connor McLaughlin
962f3407b4
Android: Add OpenSL ES audio backend
2020-10-14 00:48:48 +10:00
Connor McLaughlin
49cea927f0
Build: Add ARM64 platform for Windows
2020-10-14 00:48:48 +10:00
Romain TISSERAND
b2ef931772
Minor gpu_sw optimizations and warning fixes
2020-10-12 13:15:21 +02:00
Connor McLaughlin
902024d225
CDROM: Implement volume peak in CDDA report
...
Fixes Kyuutenkai hanging at boot.
2020-10-11 20:44:52 +10:00
Connor McLaughlin
36bede11ae
CPU/Recompiler/AArch64: Fix crash when icache is enabled
2020-10-11 15:04:49 +10:00
Connor McLaughlin
d39c9f5d1c
Clean up some compiler warnings
2020-10-11 12:21:08 +10:00
Connor McLaughlin
5e65882920
MemoryCardImage: Fix error in DeleteFile()
2020-10-11 12:21:08 +10:00
Connor McLaughlin
fe25f005c2
GPU: Fix incorrect sign extension of positions
...
Fixes missing objects in Skullmonkeys (again).
2020-10-11 12:21:08 +10:00
Albert Liu
79af61cd21
Qt: Make some additional controller strings translatable
2020-10-10 15:59:19 -07:00
Connor McLaughlin
fc28ba75da
GPU/OpenGL: Create the texture stream buffer with its final target
...
Fixes broken texture uploads on Adreno GPUs.
2020-10-10 18:27:40 +10:00
Connor McLaughlin
8bb89c9aeb
GPU/OpenGL: Disable texture buffer upload path if larger buffers are unsupported
2020-10-10 18:27:18 +10:00
Connor McLaughlin
13a9411b07
Android: Add BIOS importer
2020-10-10 17:42:21 +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
Connor McLaughlin
fa638ef9d2
CPU/Interpreter: Fix incorrect call in to PGXP for addi
...
Fixes exploding triangles in Spyro with PGXP CPU mode enabled.
2020-10-09 18:49:36 +10:00
Connor McLaughlin
2df06225ee
GPU/OpenGL: Don't keep shader cache open
2020-10-09 18:09:10 +10:00
Connor McLaughlin
64e1305087
GPU/D3D11: Don't keep shader cache open
...
Allows you to run multiple DuckStation instances.
2020-10-09 18:09:10 +10:00
Connor McLaughlin
6a4a47fbdf
SPU: Set block counter to zero on key on
...
Fixes clicking in Final Fantasy VIII intro FMV.
2020-10-08 00:41:50 +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
8a91395566
CPU/Recompiler: Detect move instructions and forward to PGXP
...
Fixes holes in polygons in Gran Turismo 1 + 2 with PGXP enabled.
2020-10-05 00:18:10 +10:00
Connor McLaughlin
7278f055cb
FrontendCommon: Attempt two at hotkey translation
2020-10-05 00:18:10 +10:00
Connor McLaughlin
f071497be5
CPU/Recompiler: Optimize beq zero, zero, addr to unconditional branch
...
Seems to exist in some BIOS code. Credit to @Dillonb for the idea.
2020-10-04 00:12:01 +10:00
Connor McLaughlin
55f0915534
Qt: Hopefully fix save state slot hotkeys being untranslatable
2020-10-04 00:12:01 +10:00
Connor McLaughlin
50b025c75a
GPU: Use triangle area for ticks rather than bbox
...
Fixes slow transitions in Tales of Phantasia.
2020-10-04 00:12:01 +10:00
Connor McLaughlin
45dd80b6a6
MemoryCardImage: Support importing truncated .gme files
2020-10-04 00:12:01 +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
c051538d03
HostInterface: Mark some more OSD messages as being translatable
2020-10-03 01:06:04 +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
8f9f039665
GPU/SW: Port triangle/line rasterizer from Mednafen
2020-09-30 23:04:14 +10:00
Connor McLaughlin
cacf7a7cc9
GPU: Precompute texture window expression [SAVEVERSION+]
2020-09-30 23:03:52 +10:00
Connor McLaughlin
75734c25c7
Cheats: Implement 0x1F/scratchpad write
2020-09-28 21:18:38 +10:00
Connor McLaughlin
54e13015d8
Cheats: Implement C2/memory copy instruction
2020-09-28 20:45:45 +10:00
Connor McLaughlin
6961e645c6
Cheats: Ignore 00 code
2020-09-28 20:45:45 +10:00
Connor McLaughlin
4e9135cd57
Cheats: Implement 50/Slide instruction
2020-09-28 20:45:45 +10:00
Connor McLaughlin
58e24585c1
Cheats: Fix 10/11/20/21 commands
2020-09-28 20:45:45 +10:00
Connor McLaughlin
b979706417
Pad: Use memory card filename from current state
...
Fixes memory card data getting lost after loading state.
2020-09-27 01:33:26 +10:00
Connor McLaughlin
3b68c4028d
Pad: Load memory card from state when the data matches
...
A warning will be displayed when the card content does not match.
2020-09-26 15:53:09 +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
Connor McLaughlin
cdc9f5c548
Settings: Fix AR list
2020-09-26 02:02:15 +10:00
Connor McLaughlin
e7cfc69975
Cheats: Fix parsing of Retroarch cheats
2020-09-26 01:13:48 +10:00
Connor McLaughlin
40037d6e90
libretro: Cheat support
2020-09-26 01:13:48 +10:00
Elizabeth
f38b8fda81
Add 21:9 to the Aspect Ratio settings
2020-09-24 20:59:41 -04:00
Connor McLaughlin
b05d80ef5c
CDROM: Don't choke on non-mode2 sectors
...
Fixes Formula One 99 circuit selection.
2020-09-25 00:25:32 +10:00
Connor McLaughlin
f990d6ab3b
GPU: Idle bit should be clear during an incomplete command
2020-09-24 22:16:15 +10:00
Connor McLaughlin
cf2599b6c7
BIOS: Compile fix
2020-09-24 12:41:46 +10:00
Connor McLaughlin
a6f6c1708b
Fix BIOS description text
2020-09-24 12:30:40 +10:00
phoe-nix
7993451871
Added missing 3 BIOS infos
2020-09-24 07:16:32 +08:00
Connor McLaughlin
40d157aa23
Merge pull request #875 from CookiePLMonster/more-slashes
...
Fix an outstanding forward slash showing in the UI
2020-09-23 22:55:40 +10:00
Connor McLaughlin
21a768f9e8
Merge pull request #878 from ggrtk/bios-image-infos
...
BIOS: Update image infos
2020-09-23 22:55:22 +10:00
Connor McLaughlin
d728bc091b
BIOS: Add option to set search directory elsewhere
2020-09-23 22:53:51 +10:00
Albert Liu
9a31eb50f6
BIOS: Add some more BIOS revision hashes
2020-09-22 22:49:46 -07:00
Albert Liu
073c053e36
BIOS: Fix mislabeling on SCPH-5500 hash
2020-09-22 22:49:21 -07:00
Silent
e6431e3599
Fix an outstanding forward slash showing in the UI
2020-09-22 18:24:45 +02:00
Connor McLaughlin
78f06fb711
libretro: Fix breakage with new BIOS detection
2020-09-23 02:11:30 +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
25f45fbd23
CPU: Add hack for stale icache reads in interpreter
2020-09-20 01:38:18 +10:00
Connor McLaughlin
db84bdb560
CDROM: Apply 4 sector penalty to ReadN..ReadN sequence
...
Fixes Worms Pinball.
2020-09-20 01:36:49 +10:00
Connor McLaughlin
9736dc7895
CPU: Fix InterpretUncachedBlock()
...
But this shouldn't be hit during normal execution.
2020-09-20 01:36:49 +10:00
Connor McLaughlin
1d5af57f71
GPU: Halve draw ticks for 480i even with force progressive
...
Fixes some of the games broken with the enhancement on.
2020-09-20 01:36:49 +10:00
Connor McLaughlin
92da9917a8
MemoryCard: Split into image helper functions
2020-09-19 00:28:47 +10:00
Connor McLaughlin
d924130308
AnalogController: Fix Linux build
2020-09-18 00:40:54 +10:00
Connor McLaughlin
7c55940fa8
AnalogController: Fix default value of vibration bias
2020-09-18 00:17:35 +10:00
Connor McLaughlin
e6bff275a6
AnalogController: Set vibration strength to 0 on Reset
2020-09-18 00:13:59 +10:00
Connor McLaughlin
915b7d3726
AnalogController: Use nonlinear mapping of vibration strength
...
Curve from Pokopom: https://github.com/KrossX/Pokopom/blob/master/Pokopom/Input_XInput.cpp#L210
2020-09-17 19:57:10 +10:00
Connor McLaughlin
debfd53618
AnalogController: Use range for large motor, add bias
...
Seems the bias is needed for FF8.
2020-09-17 19:56:27 +10:00
Connor McLaughlin
3bd9f85af8
PostProcessingShaderGen: Use ints instead of bools for options
2020-09-16 11:52:23 +10:00
Silent
1918a5ddd4
STBI: Handle UTF-8 paths correctly
2020-09-14 21:27:22 +02:00
Connor McLaughlin
bb6af3c8fc
Merge pull request #845 from CookiePLMonster/fix-resume
...
Fix issues with a -resume parameter
2020-09-14 00:11:42 +10:00
Connor McLaughlin
441f26706e
Qt: Move post processing to its own setting category
2020-09-13 22:27:30 +10:00
Connor McLaughlin
a409a5d45d
ShaderGen: More GLSL/HLSL aliases
2020-09-13 20:20:47 +10:00
Connor McLaughlin
c1006bd0ff
PostProcessing: Allow fragment coordinate access from shader
2020-09-13 18:50:40 +10:00
Connor McLaughlin
60ed9e7191
PostProcessingShader: Fix errors in shader parsing
2020-09-13 18:39:40 +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
Silent
2d90cfc07e
Tidy up SystemBootParameters constructors
2020-09-12 23:05:38 +02:00
Connor McLaughlin
2819715260
FrontendCommon: Add a post processing implementation
2020-09-13 01:23:43 +10:00
Connor McLaughlin
2b4568df6a
ShaderGen: Split HW shadergen from base
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
605992f294
Fix Android build
2020-09-12 00:35:38 +10:00
Connor McLaughlin
3625834ea7
GPU/HW: Add loading bar to shader compilation
2020-09-12 00:26:34 +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
5cc91dc78b
HostDisplay: Add alignment setting
2020-09-11 00:18:57 +10:00
Connor McLaughlin
03f052e12e
FrontendCommon: Add auto cheat loading option
2020-09-09 23:44:02 +10:00
Connor McLaughlin
ddb38ac31d
Add pcsxr and libretro cheat list parsing
2020-09-09 22:11:28 +10:00
Connor McLaughlin
45eb30b6cc
Merge pull request #835 from TzakShrike/master
...
Upgrade region flags. Correct NTSC-U to NTSC-U/C. Add custom U/C flag. Remove outdated icons.qrc file.
2020-09-09 18:28:50 +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
2cecb8bbdb
GPU/Vulkan: End render pass in ClearDisplay()
...
Fixes crash on Mesa/radv.
2020-09-08 11:44:54 +10:00
Connor McLaughlin
9bb278b166
CommonHostInterface: Fix crash on shutdown when using save state selector
2020-09-06 21:03:27 +10:00
Connor McLaughlin
976d4bae79
TimingEvent: Fix crash when invalid save state loaded
2020-09-06 17:47:49 +10:00
Connor McLaughlin
2c36750a0e
VulkanHostDisplay: Fix imgui image textures not rendering
2020-09-06 17:47:23 +10:00
Connor McLaughlin
fd0a009a7f
System: Add missing <cctype> include
2020-09-03 12:25:59 +10:00
Connor McLaughlin
42d49426e8
CPU/Recompiler/AArch64: Fix crash when calling >26-bit away functions
2020-09-03 00:11:40 +10:00
Connor McLaughlin
a2eaaf0e89
PGXP: Allocate large storage dynamically
...
This causes performance issues on ARM otherwise.
2020-09-03 00:11:40 +10:00
Connor McLaughlin
6bbbb96d4b
Move GameList to FrontendCommon
...
Reduces libretro core dependencies further.
2020-09-01 12:46:44 +10:00
Connor McLaughlin
13e3095801
Core: Don't link to imgui for libretro core
2020-09-01 12:22:32 +10:00
Connor McLaughlin
e21fc9e253
GPU/Vulkan: Use half width framebuffer for VRAM readbacks
2020-09-01 12:02:04 +10:00
Connor McLaughlin
d59eb05d94
Timers: Fix update interval for timer2 IRQs being too low
2020-08-31 22:01:05 +10:00
Connor McLaughlin
f187ee4971
TimingEvents: Switch from heap to sorted linked list
2020-08-31 22:00:20 +10:00
Connor McLaughlin
1eac603c79
CPU/Recompiler: AArch64 compile fix
2020-08-30 11:15:02 +10:00
Connor McLaughlin
8d49c71ec1
PGXP: Fix out-of-bounds write in hi/lo
2020-08-30 11:13:27 +10:00
Connor McLaughlin
2b902f6d09
Merge pull request #806 from CookiePLMonster/axis-to-button-map
...
Allow mapping axes to buttons
2020-08-29 23:35:18 +10:00
Silent
057bf986c4
Allow mapping half axes to buttons
...
This allows to bind pressure sensitive NeGcon buttons to keyboard,
mouse and controller buttons
2020-08-29 14:19:28 +02:00
Connor McLaughlin
914f3ad447
GameSettings: Add trait for recompiler icache
2020-08-29 22:11:10 +10: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
efc00a2d0e
GameSettings: Make override messages translatable
2020-08-29 21:58:25 +10:00
Connor McLaughlin
3aecf6be27
GameSettings: Rename 'enable' options to 'force'
...
As per discussion on Discord.
2020-08-29 21:53:53 +10:00
Connor McLaughlin
421c65ea69
GPU/Vulkan: Fix reverse subtract blending with texture filtering
...
Fixes pointer in Final Fantasy VII with texture filtering.
2020-08-24 00:22:56 +10:00
Connor McLaughlin
8f54711c72
Make additional strings in controller settings translatable
2020-08-24 00:22:49 +10:00
Connor McLaughlin
559dc23e4e
CDROM: Set playing bit in status after starting
...
Fixes menu music in Army Men 3D.
2020-08-24 00:22:49 +10:00
Connor McLaughlin
9254fc9e63
GPU/HW: Fix UB with reverse subtract and texture filtering on
2020-08-24 00:22:49 +10:00
Connor McLaughlin
17b5c749bf
libretro: Re-enable hw context switch, add auto option
2020-08-23 14:51:23 +10:00
Connor McLaughlin
df14519a97
libretro: Recreate resources after context reset
2020-08-23 14:23:34 +10:00
Connor McLaughlin
32921acc5a
Timers: Don't read out of bounds for invalid address
2020-08-23 14:03:36 +10:00
Connor McLaughlin
60eb22537b
CPU/Recompiler: Flush caller-saved regs before calling functions
...
Should provide a very small performance boost.
2020-08-23 14:03:10 +10:00
Connor McLaughlin
d3f530f96e
CPU/CachedInterpreter: Very slight optmization
2020-08-23 01:41:55 +10:00
Connor McLaughlin
d37fba81ed
CPU/Interpreter: Fix incorrect downcount comparison
2020-08-23 01:41:55 +10:00
Connor McLaughlin
2768c2c91d
System: Fix VRAM sometimes getting lost when loading state
2020-08-22 18:16:35 +10:00
Connor McLaughlin
1d4d1d06a7
CPU/Recompiler: Disable static code buffer on macOS/Haiku
2020-08-22 13:24:57 +10:00
kwyxz
31695c4ff7
Haiku port of duckstation libretro core ( #716 )
...
* Haiku build 1st attempt
* fix load on Haiku
* Removed debugging flags
* Added a couple ifndef
2020-08-22 13:20:37 +10:00
Connor McLaughlin
ab002e78e1
Support translating strings in emulator core
2020-08-22 13:06:20 +10:00
Connor McLaughlin
f852be74e8
Compile fix for Linux/libretro
2020-08-21 00:26:22 +10:00
Connor McLaughlin
bca609a2a6
Qt: Add option to disable per-game settings
2020-08-21 00:09:37 +10:00
Connor McLaughlin
c3ce9135bf
Fix recompiler not auto-disabling with PGXP-CPU mode
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
0d4fe1eb71
Fix Linux build again
2020-08-20 01:21:36 +10:00
Connor McLaughlin
6a17a558bb
CPU: Linux compile fix
2020-08-20 01:05:03 +10:00
Connor McLaughlin
b17335d812
GTE: Increase z precision in PGXP mode
2020-08-20 00:49:42 +10:00
Connor McLaughlin
daa72aba10
CPU: Skip executing nop instructions
...
Makes PGXP CPU mode quicker, as well as a performance improvement to the
regular interpreter.
2020-08-20 00:49:39 +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
e1c29510f1
GPU/OpenGL: Fix incorrect framebuffer clear for interlacing
2020-08-19 00:45:08 +10:00
Connor McLaughlin
c9c2c00c1a
GPU: Update GPUSTAT.13 with field
...
Doubt this'll change much..
2020-08-19 00:02:37 +10:00
Connor McLaughlin
6d75f42e12
CDROM: Update last subq even when auto-pausing
...
Fixes music looping in Fighting Force.
2020-08-18 00:13:21 +10:00
Connor McLaughlin
7c697f363e
libretro: Make single cards for playlist the default, fix disabled case
...
This bug was causing the option to act as if it was disabled anyway.
2020-08-17 11:51:47 +10:00
Connor McLaughlin
f65651823e
GPU: Simplify hsync handling
...
Fixes character lighting in Monkey Hero.
2020-08-17 01:22:03 +10:00
Connor McLaughlin
4e62b32d60
Add option to dump the contents of RAM to a file
2020-08-16 23:20:36 +10:00
Connor McLaughlin
10a46a7fd8
OSD: Add option to show display resolution
2020-08-16 00:20:11 +10:00
Connor McLaughlin
26aa627deb
GPU/HW: Include resolution in scale change message
2020-08-16 00:20:11 +10:00
Connor McLaughlin
f5fb8186c7
Switch some messages to the OSD and increase durations
2020-08-16 00:20:10 +10:00
Connor McLaughlin
e0e76b881d
System: Bump save state version
2020-08-16 00:20:10 +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
dedeee1698
System: Track playlists in save states
2020-08-16 00:20:10 +10:00
Connor McLaughlin
8fa965a1ac
GameList: Support playlist entries
2020-08-16 00:20:10 +10:00
Connor McLaughlin
d4665e8b22
GPU: Tweaks to ODE handling
...
Fixes Team Buddies and The Next Tetris.
2020-08-16 00:20:10 +10:00
Connor McLaughlin
c5db7db182
Build: Compile source as UTF-8 with MSVC
2020-08-15 00:04:38 +10:00
Connor McLaughlin
025e01ca47
CPU: Fix exceptions clobbering cop0.cause.Ip
...
Fixes Gran Turismo 2 (PAL).
2020-08-14 23:55:16 +10:00
Connor McLaughlin
e6156e2adb
GPU/ShaderGen: Move transparent compensation to bilinear function
2020-08-12 02:27:52 +10:00
Connor McLaughlin
bb344a4e1e
GPU/D3D11: Fix crash/hang when toggling bilinear setting
2020-08-12 02:27:52 +10:00
Connor McLaughlin
d1ee6c0da7
GPU/HW: Make settings update slightly safer
2020-08-12 02:27:52 +10:00
Connor McLaughlin
17a1719450
GPU/HW: Fix incorrect texel offset when upscaling
...
Fixes incorrectly coloured triangles in Tomb Raider.
2020-08-12 02:27:52 +10:00
Connor McLaughlin
d733553425
GPU/HW: Don't display a deleted texture in D3D/OpenGL when updating settings
2020-08-11 04:03:11 +10:00
Connor McLaughlin
2130d3b004
GPU/Vulkan: Don't add UV limits as attribute when unused
2020-08-11 03:58:59 +10:00
Connor McLaughlin
fba2488bc5
GPU/D3D11: Don't add UV limits to input layout when unused
2020-08-11 03:58:59 +10:00
Connor McLaughlin
bf9ac64183
GPU/D3D11: Don't leak input layout objects
2020-08-11 03:48:24 +10:00
Connor McLaughlin
3a020ef87e
HostInterface; Fix crash on shutdown if boot fails
2020-08-11 03:01:08 +10:00
Connor McLaughlin
5c6e92cdfc
GPU/HW: Disable coordinate clamping when unnecessary
2020-08-10 23:28:37 +10:00
Connor McLaughlin
b95ce993e0
GPU/HW: Clamp interpolated UVs to polygon limits
...
Fixes texture filtering and PGXP issues in some games.
2020-08-10 23:28:37 +10:00
Connor McLaughlin
5b9db71b87
CPU/Recompiler: Fix mid-block software interrupts not updating pc
...
Fixes Need for Speed: High Stakes hanging at boot.
2020-08-09 04:32:53 +10:00
Connor McLaughlin
223074b78f
SPU: Fix activating transfer event with a downcount of 0
...
Happened when loading states.
2020-08-09 04:29:43 +10:00
Connor McLaughlin
70767dc6bf
CPU/Recompiler/AArch64: Use cmn for negative constant comparisons
2020-08-08 23:44:13 +10:00
Connor McLaughlin
901ca71fdc
CPU/Recompiler: Add temporary inhibiting of register allocation
2020-08-08 23:44:13 +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
b1377fe0d9
CPU/Recompiler: Add a fast block lookup array
...
Up to 15% perf improvement.
2020-08-08 23:06:28 +10:00
Connor McLaughlin
f6e88353eb
CPU/Recompiler: Make generated code invariant to virtual PC
2020-08-08 23:06:28 +10:00
Connor McLaughlin
8d4216068a
CPU/Recompiler: Implement div/divu
2020-08-08 23:06:27 +10:00
Connor McLaughlin
a2f271c505
CPU: Simplify some exception checks in cop0-3
2020-08-07 17:05:01 +10:00
Connor McLaughlin
e5c46a54b7
System: Restore/reset state on recreating GPU/updating settings
...
Fixes display corruption on RetroArch when switching renderers.
2020-08-06 23:20:52 +10:00
Connor McLaughlin
359234080a
D3D11: Set GS to null when restoring state
...
Fixes the D3D11 renderer being broken on RetroArch due to it leaving a
geometry shader bound.
2020-08-06 23:19:19 +10:00
Connor McLaughlin
6e586311e8
Common: Add title, modal information to ProgressCallback
2020-08-06 19:32:53 +10:00
Connor McLaughlin
466e4099d4
CDROM: Fix handling of logical seeks to audio sectors
...
Fixes Wizard's Harmony.
2020-08-05 03:14:04 +10:00
Connor McLaughlin
dd9705ef31
GPU/HW: Fix last row of oversized writes not applying
...
Combined with the wrap changes, fixes Namco Museum motherboard scene.
2020-08-04 14:40:00 +10:00
Connor McLaughlin
0b0bc32afb
GPU/HW: Use texture samplers rather than fetching for batches
...
Enables wrap-around.
2020-08-04 14:40:00 +10:00
Connor McLaughlin
0fc301d654
GPU/HW: Use wrap texture address modes
2020-08-04 14:40:00 +10:00
Connor McLaughlin
231c0b5ff6
GPU/SW: Wrap texture coordinates when sampling
2020-08-04 14:40:00 +10:00
Connor McLaughlin
818892cb1b
GPU: Claer interlaced field buffer when enabling
...
Fixes old frames getting briefly displayed.
2020-08-03 03:26:13 +10:00
Connor McLaughlin
23df239469
GPU/HW: Debug build compile fix
2020-08-03 03:26:00 +10:00
Connor McLaughlin
f712c42c21
GPU/HW: Add more details to debug window
2020-08-03 03:06:23 +10:00
Connor McLaughlin
9b7512f7b8
GPU/HW: Implement automatic resolution scale from window size
2020-08-03 03:06:03 +10:00
Connor McLaughlin
be6ae8b70b
GPU/Vulkan: Work around Mali crash with readbacks
2020-08-03 02:03:33 +10:00
Connor McLaughlin
b527118c0a
GPU/HW: Fix macOS compile
2020-08-02 18:04:00 +10:00
Connor McLaughlin
92975b2e81
GPU/HW: Tiny performance optimization in polygon loading
2020-08-02 17:32:43 +10:00
Connor McLaughlin
96ba9198ef
GPU/HW: Expand lines into triangles before rendering
...
Fewer batches, consistent upscaling behavior.
2020-08-02 17:17:11 +10:00
Connor McLaughlin
568cfa1865
GPU/OpenGL: Fix possible error on shutdown
2020-08-02 17:16:51 +10:00
Connor McLaughlin
4d9c2c1b6c
GPU: Ensure pending time is used in events
...
Fixes long delay in Syphon Filter.
2020-08-02 14:09:22 +10:00
Connor McLaughlin
bd0c403672
GPU/HW: Fix mask bit test regression
...
Fixes white boxes in Silent Hill. Again.
2020-08-02 13:04:25 +10:00
Connor McLaughlin
0c1b637549
PGXP: Add initial implementation
2020-08-02 00:25:07 +10:00
Connor McLaughlin
e9882a10aa
System: Move restore/reset graphics API state to System
...
Fixes frame stepping.
2020-08-01 16:45:07 +10:00
Connor McLaughlin
2eb9384275
Replace more instances of fopen() with FileSystem::OpenFile()
2020-08-01 14:00:22 +10:00
Connor McLaughlin
2885d2e547
CPU/CodeCache: Hopefully fix 32-bit compile errors
2020-08-01 03:53:53 +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
1f9fc6ab74
BIOS: Fix Linux build
2020-07-31 16:34:25 +10:00
Connor McLaughlin
8802177e25
BIOS: Add more revision filenames/hashes
2020-07-31 16:28:15 +10:00
Connor McLaughlin
66e79091d3
BIOS: Use fopen() wrapper from FileSystem
2020-07-31 16:04:10 +10:00
Connor McLaughlin
5634e821c5
CDROM: Reset audio decoder state immediately after pause or seek
...
Fixes stuttering dialogue in Dino Crisis (control room at beginning of
game).
2020-07-30 01:55:37 +10:00
Connor McLaughlin
5a34a15bf2
CDROM: Include FIFO size in debug window
2020-07-30 01:03:59 +10:00
Connor McLaughlin
dd48a1f585
System: Handle large event timing overshoots better
...
Usually a result of DMA cycle stealing. Instead of adding all time, add
min(all_events.downcount) at a time. 1.5% performance improvement, but
fixes desyncs between the SPU and CD-ROM.
2020-07-30 00:47:19 +10:00
Connor McLaughlin
cdab84e210
GPU/Vulkan: Display shader compiling message
2020-07-26 23:59:06 +10:00
Connor McLaughlin
7c54129409
Merge pull request #665 from ggrtk/analog-controller
...
AnalogController: Expose axis scale setting to frontend
2020-07-26 23:57:40 +10:00
Connor McLaughlin
caf9943418
GPU/Vulkan: Possible workaround for Adreno GS shader compiler bug
2020-07-25 15:17:29 +10:00
Albert Liu
79576ca956
AnalogController: Expose axis scale setting to frontend
2020-07-24 19:18:41 -07:00
Connor McLaughlin
d711baaa31
GPU/HW: Fix lines being one pixel too short
...
Fixes lines in screen wipe effect in Vagrant Story.
2020-07-25 02:37:01 +10:00
Connor McLaughlin
104b80f111
HostInterface: Move 'System shut down' message to SDL
...
Only frontend where it makes sense anyway.
2020-07-23 02:45:20 +10:00
Connor McLaughlin
8e1c0a4fe4
System: Support loading m3u playlists
2020-07-23 02:36:05 +10:00
Connor McLaughlin
d46c104d1b
System: Preload CD images to RAM when switching/loading state
2020-07-23 02:35:23 +10:00
Connor McLaughlin
08a8434140
GPU/HW: Fix off-by-one in wrap-around VRAM writes
2020-07-23 02:35:03 +10:00
Connor McLaughlin
10cd00c8dd
CDROM: Play audio when reading and mode.0 is set
2020-07-22 15:23:13 +10:00
Connor McLaughlin
e9db1d0f6f
GPU/OpenGL: Use base class helper for filling VRAM copy uniforms
2020-07-22 14:47:09 +10:00
Connor McLaughlin
2dc62ab987
GPU/HW: Fix VRAM updates when Y >= 512
2020-07-22 14:46:52 +10:00
jdgleaver
49f9ddfa0e
Finish adding support for PSX BIOS included in PSP firmware 6.60
2020-07-21 17:06:38 +01:00
jdgleaver
7478e75ed6
(libretro) Fix 'Fast Boot' option
2020-07-21 16:32:36 +01:00
Connor McLaughlin
f28ef01d24
CDROM: Move audio FIFO to CDROM class and skip sectors when unempty
...
Fixes cutscene audio in Nickelodeon Rugrats - Search for Reptar.
2020-07-22 00:05:52 +10:00
Connor McLaughlin
f9bbbbbaec
Settings: Make auto-detect the default console region
2020-07-22 00:03:31 +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
8b91bf5e57
Core: Add loading screen based progress callbacks
2020-07-22 00:03:01 +10:00
Connor McLaughlin
93528db388
System: Use existing CD media when loading state where possible
2020-07-22 00:02:37 +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
68d98af497
Qt: Remove usage of QString where possible for settings
2020-07-21 20:10:06 +10:00
Connor McLaughlin
bddd098a66
Merge branch 'master' into qt-inisettings
2020-07-21 13:28:18 +10:00
Connor McLaughlin
5c1c467e38
GTE: Add widescreen hack
2020-07-18 00:28:37 +10:00
Connor McLaughlin
401ecfa872
Bus: Make memory map public
2020-07-18 00:28:37 +10:00
Albert Liu
9b2740b395
HostInterface: Save tweak/hack defaults to settings file
...
Fixes tweak/hack defaults not displaying correctly in Qt frontend.
2020-07-16 20:35:18 -07:00
Connor McLaughlin
dd9a4191e6
AnalogController: Fix swapped rumble test
...
Fixes weak rumble test in MGS.
I should write some hardware tests for this at some point, particularly
for the large motor, which should have a variable intensity.
2020-07-15 02:38:16 +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
Connor McLaughlin
6ed67468d2
CDROM: Prevent games which spam Reset from getting wedged
2020-07-14 01:26:37 +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
dbce58e07d
CDROM: Display paused position in debug window
2020-07-13 02:23:56 +10:00
Albert Liu
c44e74db80
GPU: Compute VRAM display width from GP1(06h) values
...
Fixes overpadding in some specific cases, e.g. when cropping overscan in
Captain Commando.
2020-07-11 10:57:23 -07:00
Connor McLaughlin
50a25b63b1
CDROM: Track seek position when resetting
...
Fixes Blasto hanging after starting game.
2020-07-11 20:35:36 +10:00
Connor McLaughlin
d1a2ebd8f3
GPU/HW: Eliminate CPU round trip on oversized VRAM writes
2020-07-11 20:35:33 +10:00
Connor McLaughlin
eab70546c8
CDROMAsyncReader: Only log warning when waiting time exceeds 1ms
2020-07-11 03:21:05 +10:00
Connor McLaughlin
c5e8327e7a
CDROM: Seek to LBA 0 when resetting
...
Fixes Love & Destroy.
2020-07-10 20:55:15 +10:00
Connor McLaughlin
71157b171e
CDROM: Use partial seek position when re-seeking
2020-07-10 20:55:00 +10:00
Connor McLaughlin
4d1880091e
GPU: Ignore display start bit 0 instead of reducing width
2020-07-10 20:31:58 +10:00
Connor McLaughlin
93abf8e53d
GPU: Drop least significant bit of display start address
...
Fixes extra column in some games, e.g. Nascar Thunder 2004,
U.S. Navy Fighters.
2020-07-10 20:23:27 +10:00
Connor McLaughlin
604ff20b0d
AnalogController: Treat rumble as binary on/off
...
Fixes vibration in Final Fantasy 8.
2020-07-10 20:15:46 +10:00
Connor McLaughlin
c01854e9d1
Define LIBRETRO macro when building core, skip swap chain
2020-07-10 14:02:45 +10:00
Connor McLaughlin
a5fe740e30
Fix a bunch of compiler warnings
2020-07-09 13:30:16 +10:00
Connor McLaughlin
57cf40d1ae
Bus: Work around VS2017 bug with std::array
2020-07-08 12:45:53 +10:00
Connor McLaughlin
209d7c67e9
GPU/OpenGL: Prefer SSBOs over small texel buffers+subimage
2020-07-08 02:05:36 +10:00
Connor McLaughlin
1d4b5e22cb
Vulkan: Fall back to geometryShader when fillModeNonSolid unsupported
2020-07-07 00:59:35 +10:00
Connor McLaughlin
d1eae288bf
GameList: Add EntryCompatibilityRatingToString
2020-07-07 00:59:28 +10:00
Albert Liu
e42d5fed75
GPU: Adjust 4-pixel boundary alignment formula
...
Fixes missing edge in Tenchi wo Kurau II: Sekiheki no Tatakai.
2020-07-05 06:00:36 -07:00
Albert Liu
000a51298a
GPU: Don't round screen size to 4-pixel multiple
2020-07-05 06:00:36 -07:00
Albert Liu
e2b1158514
GPU: Report CRTC padding as signed in debug window
2020-07-05 06:00:36 -07:00
Connor McLaughlin
511c3133f1
GPU: Let GPU catch up before handling GP1 reset commands
...
Fixes trashed VRAM writes in some homebrew.
2020-07-05 02:25:56 +10:00
Connor McLaughlin
b0b3901722
libretro: Fix DualShock analog mode auto-enable
2020-07-05 00:05:14 +10:00
Connor McLaughlin
c76bb5eb6a
libretro: Fix display aspect ratio
2020-07-04 22:33:07 +10:00
Connor McLaughlin
f396a2c373
Renderers: Make shader cache path a prefix instead of directory
2020-07-04 22:14:07 +10:00
Connor McLaughlin
1231f6dafe
GPU: Handle GP1 command mirrors
2020-07-04 01:28:18 +10:00
Connor McLaughlin
2d74062abb
CPU: Delay interrupts by one instruction/block
...
Fixes Gameshark Sampler Disc.
2020-07-03 01:51:08 +10:00
Connor McLaughlin
8a8ce8d41c
NamcoGunCon: Use correct GPU clock as reference
2020-07-03 01:51:05 +10:00
Connor McLaughlin
0710e3b6d3
CDROM: Ignore sectors with channel number=255
...
Some games (Taxi 2 and Blues Blues) have junk audio sectors with a channel number of 255.
We need to skip them otherwise it ends up playing the incorrect file.
TODO: Verify with a hardware test.
2020-07-02 00:50:53 +10:00
Connor McLaughlin
bff5432879
Pad: Improve ACK timing
...
Fixes random pauses in Moto Racer.
2020-07-02 00:50:53 +10: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
8cd9e0887e
libretro: Use framebuffer view dimensions not texture dimensions
2020-07-01 01:57:25 +10:00
Connor McLaughlin
f65a50d84b
HostDisplay: Use surface scale for drawing software cursor
2020-07-01 01:57:25 +10:00
Connor McLaughlin
e374853cf5
HostInterface: Better configuration of custom crosshair/software cursor
2020-07-01 01:57:25 +10:00
Connor McLaughlin
f0c1dfefe7
Core: Add resources file
...
Currently includes a crosshair icon.
2020-07-01 00:56:46 +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
936d92dfb8
System: Add option to force start in software mode
2020-06-30 02:44:19 +10:00
Connor McLaughlin
919494079b
System: Make saving screenshots to state optional
2020-06-30 02:44:09 +10:00
Connor McLaughlin
e5f56fcd33
MDEC: Slightly reduce block timing
...
Fixes FMVs in Disney's Treasure Planet.
Probably needs sub-block timing emulated at some point.
2020-06-29 14:45:14 +10:00
Connor McLaughlin
614ea632a5
SPU: Log warning when data is lost due to reg clear
2020-06-29 14:45:03 +10:00
Connor McLaughlin
15afe4f436
GPU/Vulkan: Fix incorrect vkCmdPushConstants() call
2020-06-27 16:26:20 +10:00
Connor McLaughlin
0b261e836b
GPU/Vulkan: Fix shader VRAM copies
...
Fixes battle transitions in Final Fantasy IX.
2020-06-27 03:00:03 +10:00
Connor McLaughlin
58b0e6859a
Frontend: Reset/restore GPU state before saving screenshot
...
Fixes driver crashes in Vulkan.
2020-06-27 02:59:58 +10:00
Connor McLaughlin
b94de1924d
GPU/ShaderGen: Round normalized colours before converting to integer
...
Fixes broken rendering/precision issues on Intel Ivy Bridge GPUs.
Many thanks to linkmauve from Dolphin for the idea - seems Dolphin also
had a similar problem a few years ago.
2020-06-26 21:40:53 +10:00
Connor McLaughlin
16ca214d09
GPU/OpenGL: Fix VRAM writes breaking on <GL4.3
2020-06-26 21:39:37 +10:00
Connor McLaughlin
34d7b752d8
GPU/ShaderGen: Enable GL_ARB_shader_storage_buffer_object on <GL4.3
2020-06-26 21:39:12 +10:00
Connor McLaughlin
998ec85b16
CDROM: Log slow sector reads in Release builds too
2020-06-26 17:17:25 +10:00
Connor McLaughlin
737337a526
CDROM: Fix incorrect sector read after incomplete seek->read
...
Fixes crash in Disney's The Lion King - Simba's Mighty Adventure.
2020-06-26 17:15:41 +10:00
Connor McLaughlin
b8a2487abf
GPU/HW: Fix incorrect offset application in line upscaler
...
Fixes green line in pause screen of Spyro.
2020-06-26 03:26:06 +10:00
Connor McLaughlin
ad727c7991
CPU/Recompiler: Check interrupts after mtc0 sr/cause
...
Fixes Jackie Chan Stuntmaster in Recompiler mode.
2020-06-25 01:33:00 +10:00
Connor McLaughlin
b00f50c927
CPU/Recompiler: Emit test/jz instead of bt/jnc for bits < 8
...
Likely very slightly faster.
2020-06-25 01:33:00 +10:00
Albert Liu
7c206766ae
HostInterface: Save default setting to AspectRatio, not PixelAspectRatio
...
Fixes inconsistency with default settings saving to PixelAspectRatio,
but loading from AspectRatio instead. PixelAspectRatio was not being
used elsewhere.
2020-06-23 09:24:50 -07:00
Connor McLaughlin
832c7a1192
Vulkan: Support using SSBOs instead texel buffers
2020-06-24 01:40:01 +10:00
Connor McLaughlin
08ef8c1e8d
GPU/HW: Support SSBOs instead of texture buffers for VRAM writes
2020-06-24 01:39:53 +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
4b31034efa
Merge pull request #562 from lioncash/amp
...
spu: Make use of logical AND within IsPitchModulationEnabled()
2020-06-24 01:29:42 +10:00
Lioncash
20d17b953b
spu: Make use of logical AND within IsPitchModulationEnabled()
...
It seems awfully suspect to use a bitwise AND here.
2020-06-23 06:00:11 -04:00
Connor McLaughlin
6de24f620e
Merge pull request #558 from lioncash/psf
...
system: Correct error dialog in PSF load case
2020-06-23 19:57:19 +10:00
Lioncash
7a05f8402b
playstation_mouse: Amend initial x value
...
Previously the last host y position was being written to twice, which
seems like a typo.
2020-06-23 05:48:25 -04:00
Lioncash
76af96f15b
system: Correct error dialog in PSF load case
...
Corrects the error message to state that the PSF couldn't be loaded
rather than EXE.
2020-06-23 05:13:47 -04:00
Connor McLaughlin
840a80670f
CDROM: Reset XA resampler on file switch
...
Pure guess work, probably won't affect anything.
2020-06-22 15:58:22 +10:00
Connor McLaughlin
eb1b6b6272
GPU/HW: Fix D3D11 upscaled line GS
2020-06-22 15:53:05 +10:00
Connor McLaughlin
73cdd676ad
GPU/Vulkan: Fix incorrect srcfactor selection
2020-06-21 16:24:37 +10:00
Connor McLaughlin
ce75168238
GPU/Vulkan: Don't assume support for dual-source blend
2020-06-21 01:33:15 +10:00
Connor McLaughlin
bf60f9dd61
GPU/Vulkan: Use geometry shader for line rendering at >1xIR
2020-06-21 01:33:08 +10:00
Connor McLaughlin
97ef905f10
GPU/Vulkan: Fix race/crash when changing settings live
2020-06-21 01:33:00 +10:00
Connor McLaughlin
fed53b565f
GPU/Vulkan: Fix inverted transparency
...
Fixes FF7 menu, map screen in Porsche Challenge.
2020-06-20 20:22:24 +10:00
Connor McLaughlin
a08c398d4b
GPU/HW: Provide depth in vertex rather than computing
...
Fixes mask bit effects in Vulkan (e.g. Silent Hill).
Significantly reduces the number of mask bit refreshes in OpenGL/Vulkan.
2020-06-20 20:21:33 +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
6aacf0019a
FrontendCommon: Add a Vulkan host display interface
2020-06-19 00:18:19 +10:00
Connor McLaughlin
49d11988bf
Core: Add Vulkan GPU renderer
2020-06-19 00:18:17 +10:00
Connor McLaughlin
3cd5b7ae74
Core: Add Vulkan renderer types
2020-06-19 00:18:14 +10:00
Connor McLaughlin
47138aa9cf
GPU: Consider interlaced rendering for GPU timings
...
Fixes menu screen flickering in Chrono Cross, summary screen breakage in
Mr. Driller G.
2020-06-18 17:37:13 +10:00
Connor McLaughlin
fc0560087f
GPU: Skip primitives where clip area is invalid
...
Fixes palettes being overwritten/menus being broken in
Yoshimoto Mahjong Club Deluxe.
2020-06-14 01:01:01 +10:00
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.
2020-06-13 01:40:05 +10:00
Connor McLaughlin
bda528d70a
GPU: Alter timings to reflect new clock
2020-06-13 01:40:05 +10:00
Connor McLaughlin
dad63f2303
GPU: Run draw clock at sysclk * 2
2020-06-13 01:40:05 +10:00
Connor McLaughlin
34d27bad4a
Timers: Add missing event update after resetting count/target
2020-06-12 01:37:39 +10:00
Connor McLaughlin
bdf9c91271
GPU: Fix double shader compilation
2020-06-09 03:04:02 +10:00
Connor McLaughlin
075380f8e0
Move most helper logic from base HostInterface to FrontendCommon
2020-06-09 02:35:37 +10:00
Connor McLaughlin
7b4b2d5dc5
GameList: Ignore all whitespace characters in SYSTEM.CNF
...
Fixes some games not having serials displayed, e.g. Chrono Cross.
Thanks to @TzakShrike for narrowing down the cause.
2020-06-08 03:05:27 +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
f98bb033ff
HostDisplay: Add an interface for setting software cursor
2020-06-08 02:53:37 +10:00
Connor McLaughlin
b4e45e865a
GPU: Use correct clocks for NTSC region
...
Fixes sync drift in Bust-a-Move 1/2.
2020-06-07 19:15:06 +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
6acd8b27dd
Qt: Prevent lag disabling power on buttons when starting
2020-06-06 03:44:57 +10:00
Connor McLaughlin
009e474c51
AnalogController: Fix inverted motor binding
2020-06-05 22:32:51 +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
Connor McLaughlin
c8e1881ea9
GPU/HW: Clear dirty rectangle when updating shadow texture
...
Fixes high GPU usage in Robbit mon Dieu in D3D11, should improve overall
performance slightly when VRAM copies are heavily used.
2020-06-02 21:45:38 +10:00
Connor McLaughlin
9ea163e666
GPU/D3D11: Fix mask test in same vertex batch
...
Fixes shadows in Bust a Groove 2, probably others.
2020-06-02 20:52:07 +10:00
Connor McLaughlin
3848276fa2
GPU: Improvements to height calculations when interlaced
...
Fixes screen doubling with interlacing force disabled, as well as
incorrect cropping area when non-interleaved framebuffers are used.
2020-06-02 20:52:07 +10:00
Connor McLaughlin
8eb3ac69b2
SPU: Update ADSR envelope when register changes
...
Fixes menu sounds in Final Fantasy 7 staying audible for too long.
2020-06-02 01:59:49 +10:00
Connor McLaughlin
dcfb929de5
CDROM: Fix double-reads hitting incorrect sector again
...
Fixes Bedlem / Rise 2 without breaking Vigilante 8 - 2nd Offense.
2020-06-02 00:59:13 +10:00
Connor McLaughlin
5e7fd5aa71
CDROM: Fix integer overflow in seek timing calculation
2020-06-01 22:20:26 +10:00
Connor McLaughlin
1947080d91
CDROM: GetlocL should return an error while seeking
...
Or more specifically, the coarse seek part. Verified with hardware
tests.
2020-06-01 21:40:28 +10:00
Connor McLaughlin
e5fc47a008
Bus: Further tweaks to access timing
...
Matches closely to my console now.
Fixes Otona No Asobi again.
2020-06-01 21:39:33 +10:00
Connor McLaughlin
7d66569d69
GPU/HW: Fix bobbing screen with interlacing disabled
...
Fixes bobbing screen in Tom and Jerry in House Trap.
2020-06-01 03:26:35 +10:00
Connor McLaughlin
f856a8ad65
CDROM: Ignore pending setloc after read/play
...
Fixes games which send a second Setloc after reading, e.g. Army Men -
Sarge's Heroes.
2020-05-31 17:03:15 +10:00
Connor McLaughlin
af1c4f9378
Fix MSVC build
2020-05-31 16:42:51 +10:00
Connor McLaughlin
a800f73a8f
Merge pull request #516 from ggrtk/negcon
...
Controller: Add NeGcon support
2020-05-31 16:41:48 +10:00
Connor McLaughlin
bf6faafc54
GameList: Fix cache getting corrupted from unknown games
2020-05-31 16:11:15 +10:00
Albert Liu
ee3a96011e
Controller: Add NeGcon support
2020-05-30 23:11:02 -07:00
Connor McLaughlin
e293c22cde
DMA: Run manual channels while halted
...
Fixes games which have looping linked lists but still expect CD/OTC
reads to work.
Also caps the number of ticks used when looping linked lists are
present, which doesn't steal so much time from the CPU per batch.
Fixes:
- Victory Spike
- Magical Drop III - Yokubari Tokudai-gou!
- Yuukyuu no Eden - The Eternal Eden
- Loading screen in World Cup Golf - Professional Edition
2020-05-31 02:43:51 +10:00
Connor McLaughlin
2d067bb101
CDROM: Fix warning log spam on command
2020-05-31 02:41:42 +10:00
Connor McLaughlin
0672cf4873
CDROM: Implement a heuristic for command cancelling
...
See note in source. Fixes loading times and slowed down audio in Voice
Idol Collection - Pool Bar Story.
2020-05-30 22:04:15 +10:00
Connor McLaughlin
a4f79de7f6
CDROM: Return error for incorrect parameter count
2020-05-30 21:59:03 +10:00
Connor McLaughlin
69a00a64e6
Bus: Adjust memory access and MMIO timing
...
Hasn't broken anything yet, but needs more thorough testing.
2020-05-30 02:19:12 +10:00
Connor McLaughlin
07e8ab4446
CDROM: Increase seek delay by one sector
...
Fixes Resident Evil 2.
2020-05-30 02:19:01 +10:00
Connor McLaughlin
38fc843541
GPU/HW: Use upscaled texture coordinates for non-paletted textures
...
Fixes games which use render-to-texture effects not being upscaled.
2020-05-30 02:19:01 +10:00
Connor McLaughlin
13c3426148
Merge pull request #506 from ggrtk/analog-controller
...
Update input profiles and input profile handling
2020-05-28 13:06:40 +10:00
Connor McLaughlin
4e8da3cb41
CDROM: Replace sound map assert with error log
...
I am not aware of any games which use it yet, so have no way of testing
if the implementation is correct.
2020-05-28 03:07:33 +10:00
Connor McLaughlin
2dd7f48d97
CDROM: Don't skip pregap for CDDA
...
Fixes music looping in Treasure Gear.
2020-05-28 02:42:18 +10:00
Connor McLaughlin
2264849151
CDROM: Update position when double-seeking
...
Doesn't fix anything I'm aware of, but makes sense.
2020-05-28 02:41:53 +10:00
Albert Liu
1f74d46d39
AnalogController: Use proper upper bound when validating axis_code
2020-05-26 23:23:44 -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
b17a5832e5
System: Simplify save state booting
...
Fixes memory card warning messages on load state.
2020-05-27 02:01:11 +10:00
Connor McLaughlin
d2c7639dd8
System: Update per-game memory cards on load state
...
Prevents saves being written to incorrect card after loading.
2020-05-27 00:41:58 +10:00
Connor McLaughlin
445bd02cad
GPU/HW: Interlace at native resolution rather than 1x
...
Also fixes screen bobbing when interlacing is disabled.
2020-05-27 00:27:27 +10:00
Connor McLaughlin
23436f08ba
GPU/HW: More improvements to GPUSTAT.31
...
Fixes True Pinball without breaking intros to Final Fantasy 7/8.
2020-05-26 22:57:58 +10:00
Connor McLaughlin
04f131f979
GPU/OpenGL: Fix 24-bit progressive scanout regression
2020-05-26 21:31:01 +10:00
Connor McLaughlin
cb66889856
GPU/OpenGL: Fix non-interleaved interlaced display
2020-05-26 13:44:05 +10:00
Connor McLaughlin
e368dbbadc
GPU: Implement non-interleaved interlaced rendering
...
Fixes screen shaking in True Pinball.
2020-05-26 03:18:05 +10:00
Connor McLaughlin
0daea7c2fc
GPU/HW: Disable texture buffer based uploads on macOS
2020-05-25 20:26:13 +10:00
Connor McLaughlin
e0d9bbced4
GPU/HW: Add UBO extension require if !GL3.2
...
Might fix errors on Sandy Bridge.
2020-05-25 18:37:32 +10:00
Connor McLaughlin
13df6c3e15
GPU/HW: Fix incorrect version capping for GL<4.3
2020-05-25 18:37:11 +10:00
Connor McLaughlin
2156236f52
Frontends: Use common GL context wrapper
2020-05-25 15:02:44 +10:00
Connor McLaughlin
1494f2bc75
CDROM: Set m_current_lba to the sector being read
...
Fixes double-read commands returning incorrect sectors.
Fixes Vigilante 8 - 2nd Offense.
2020-05-24 13:28:12 +10:00
Connor McLaughlin
237f469baa
GPU: Mask variable sprite/rectangle sizes
...
Fixes broken sprites in Gradius Deluxe Pack (Gradius II).
2020-05-21 12:04:57 +10:00
Connor McLaughlin
c583459c6f
GPU: Replace coord/size masks with constants
2020-05-21 12:02:19 +10:00
Connor McLaughlin
35a8c5b47c
Timers: Don't hang when counter+target = 0 for timer1
...
This needs proper research into how it behaves with IRQs.
2020-05-21 00:26:07 +10:00
Connor McLaughlin
3c7229dfe2
CDROM: Add 3 sectors read time to seek time
...
Simulates the drive's inprecise coarse seek then reading subq to get to
the exact sector.
Fixes Waku Waku Derby.
2020-05-20 23:52:35 +10:00
Connor McLaughlin
d41bf86eaa
CDROM: Don't apply logical seek rules to subq-based seeks
...
Fixes Panekit - Infinitive Crafting Toy Case.
2020-05-20 19:30:46 +10:00
Connor McLaughlin
11c2b5a1e8
Bus: Extend SPU address range to 0x400 bytes
2020-05-20 18:57:33 +10:00
Connor McLaughlin
a693437bc9
Bus: Handle unaligned byte writes to SPU
2020-05-20 18:56:41 +10:00
Connor McLaughlin
340640821e
CDROM: Add delay when swapping discs
...
Fixes broken disc swap detection in Metal Gear Solid.
2020-05-20 02:26:07 +10:00
Connor McLaughlin
415880fc40
CDROM: Don't restart play/read when current == target
...
Fixes CDDA locking up Buster Bros. Collection.
2020-05-20 02:05:19 +10:00
Connor McLaughlin
5d46556b7d
CDROM: Update position while seeking for GetlocP
...
Fixes track selection in WipEout.
2020-05-20 01:52:54 +10:00
Connor McLaughlin
1eecd50f3d
SPU: Run SPU when changing regs on voice pending key-on
...
Fixes menu/cursor sounds with different frequencies in Final Fantasy 7.
2020-05-18 00:59:13 +10:00
Connor McLaughlin
03080351c8
SPU: Reset ADPCM decoder last samples on key on
2020-05-18 00:50:55 +10:00
Connor McLaughlin
096ed21767
GPU: Synchronize before filling/writing with interlaced rendering
2020-05-17 21:51:33 +10:00
Connor McLaughlin
19cebd97da
GPU: Further refinements to crop overscan
...
Fixes flickering line in South Park.
2020-05-17 19:23:48 +10:00
Connor McLaughlin
0ef0c36704
GPU: Align display widths to 4 pixels
...
Documentation thanks to nocash.
Fixes line on edge in X2 - No Relief, Gunbird.
2020-05-17 18:46:59 +10:00
Connor McLaughlin
664bd06df6
GPU: Don't recursively execute commands
...
This can happen with interlaced rendering on when a line is pending
scanout and a primitive is drawn.
Fixes screen transitions in Slap Happy Rhythm Busters.
2020-05-17 17:58:48 +10:00
Connor McLaughlin
8fd3a83ea8
Settings: Save DMA timing hacks to ini
2020-05-17 14:12:35 +10:00
Connor McLaughlin
2185bbec73
GPU: Display state in debug window
2020-05-17 14:11:42 +10:00
Connor McLaughlin
597aa20d83
GPU: Don't panic when FIFO is non-empty with VRAM->CPU copy
...
This probably is not a good state to be in though, since the DMA request
gets turned off and will never resume until it's copied out.
2020-05-17 14:05:31 +10:00
Connor McLaughlin
7d887edf17
DMA: Write correct terminator at end of OTC
...
Fixes NBA Live 96.
2020-05-17 13:58:26 +10:00
Connor McLaughlin
2795dea124
HostInterface: Prioritize SCPH-3000 over SCPH-1000 for NTSC-J
2020-05-17 01:08:14 +10:00
Connor McLaughlin
b25ed6c151
GPU: Fix interlaced rendering in vblank breaking
2020-05-17 01:02:20 +10:00
Connor McLaughlin
1c50a09c2e
HostInterface: Set user directory to Documents\DuckStation
2020-05-17 00:22:16 +10:00
Connor McLaughlin
f7a2448dfb
HostInterface: Pull compatibility database from program directory
...
Fixes compatibility list not reading on Linux.
2020-05-16 22:18:05 +10:00
Connor McLaughlin
669934eb1a
GameList: Support exporting XML snippets for compatibility info
2020-05-16 20:32:36 +10:00