Connor McLaughlin
67fe97a17c
CPU/Recompiler: Use fastmem for constant loads from RAM mirrors in LUT mode
2021-02-19 01:37:56 +10:00
Connor McLaughlin
db4f521d92
System: Make some boot error messages translatable
2021-02-18 02:08:48 +10:00
Connor McLaughlin
209827b67c
PGXP: Compute PSX values on demand for CPU instructions
...
Generates shorter code for the recompiler.
2021-02-18 02:08:48 +10:00
Connor McLaughlin
54f5c737ce
PGXP: Inline some more functions
2021-02-18 02:08:48 +10:00
Connor McLaughlin
46dbea509a
GPU: Fix adaptive downsampling regression
2021-02-18 02:08:47 +10:00
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