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
Connor McLaughlin
d781de2ce6
GameList: Add support for compatibility database
2020-05-16 20:32:36 +10:00
Connor McLaughlin
a937a09b5c
CPU: Fix broken exception logging from YBaseLib removal
2020-05-16 01:02:18 +10:00
Connor McLaughlin
214e852a54
CDROM: Add time to read sector to seek time
...
Fixes Yuukyuu Gensoukyoku Ensemble 1.
2020-05-16 01:01:31 +10:00
Connor McLaughlin
110aa8bd93
CDROM: Reset read sector buffer on INT1
...
Fixes GetlocL -> DMA out returning incorrect data.
Fixes FoxKids.com - Micro Maniacs Racing.
2020-05-16 00:33:03 +10:00
Connor McLaughlin
e1157bff65
CDROM: Don't delay CDDA report, only skip index 0
...
Fixes music in Advanced V.G.
2020-05-16 00:27:09 +10:00
Connor McLaughlin
14b2506d7d
HostInterface: Disable true color/enable scaled dithering by default
...
Too many games are broken with it enabled. The number which break with
scaled dithering is much smaller.
2020-05-15 01:41:58 +10:00
Connor McLaughlin
bf3c83658a
GPU: More accurate texture blending in non-true-colour-mode
...
Fixes Silent Hill loading animation, Advanced V.G. intro fade-out, and
probably others.
2020-05-15 01:32:22 +10:00
Connor McLaughlin
c114873ed8
GPU: Fix height underflow in CRTC calculations
2020-05-14 01:25:43 +10:00
Connor McLaughlin
3472e37d21
GPU: Synchronize before clearing FIFO
2020-05-14 01:25:10 +10:00
Connor McLaughlin
c0ea35ccdc
GPU: Fix parameters not applying on startup
2020-05-14 01:24:39 +10:00
Connor McLaughlin
d461d7c87a
SPU: Fix reverb write regression from e07d3c9d
2020-05-13 13:47:33 +10:00
Connor McLaughlin
db9d637f92
HostInterface: Fix mute not applying on startup
2020-05-13 13:47:12 +10:00
Connor McLaughlin
e07d3c9db2
SPU: Fix array bounds overflow in register reads
2020-05-13 12:37:13 +10:00
Connor McLaughlin
777809b3b0
CDROM: Fix XA filter change not applying immediately
...
Fixes audio getting cut off in PaRappa the Rapper - The Hip Hop Hero,
underwater music in R-Type Delta.
2020-05-13 00:14:20 +10:00
Connor McLaughlin
d6f6154380
CDROM: Read last delivered sector when pausing and reading without seek
...
Fixes Adidas Pro Soccer, Bedlem, Rise 2.
2020-05-13 00:13:57 +10:00
Connor McLaughlin
d866bd9cb8
CDROM: Reset XA resampler state on read
...
Should get rid of pops when switching files.
2020-05-12 12:36:10 +10:00
Connor McLaughlin
634880b5e3
SPU: Clamp before applying main volume not after
...
Fixes popping in Monkey Magic.
2020-05-12 02:15:18 +10:00
Connor McLaughlin
81f297456c
GPU: Fix mismatched scanout between hardware/software renderers
2020-05-12 01:35:06 +10:00
Connor McLaughlin
37d9f6344d
CDROM: Ignore Read/Play command without setloc/param
...
Fixes title screen music in Monkey Magic.
2020-05-11 22:55:14 +10:00
Connor McLaughlin
65c42cd30e
GPU: Don't use field offset for ODE in vblank
2020-05-11 22:26:10 +10:00
Connor McLaughlin
2bc1c67236
GPU/HW: Fix extra column being added with unaligned 24-bit scanout
...
Fixes pink lines in FMVs of NASCAR Thunder 2004.
2020-05-11 22:03:35 +10:00
Connor McLaughlin
c329f58afe
HostInterface: Add audio buffer/count/volume/mute settings
2020-05-10 00:44:37 +10:00
Connor McLaughlin
f17c2c44d0
GPU/HW: Fix red bleeding when writing VRAM with mask bit set
...
Fixes menu screen in Twisted Metal 4.
2020-05-09 14:38:06 +10:00
Connor McLaughlin
f679f8d063
GTE: Fix buggy MVMVA instruction
2020-05-09 13:48:45 +10:00
Connor McLaughlin
9959440a3a
SPU: Align starting addresses to two words
...
Fixes interrupts firing early and occasional broken speech in Valkyrie
Profile.
2020-05-08 21:36:47 +10:00
Connor McLaughlin
684e83168e
CDROM: Prevent successful seeking to the lead-out area of the disc
2020-05-08 15:41:45 +10:00
Connor McLaughlin
9539ce032b
AnalogController: Show controller number in OSD messages
2020-05-08 15:32:39 +10:00
Connor McLaughlin
95468901f2
AnalogController: Add analog toggle button
2020-05-08 15:13:07 +10:00
Connor McLaughlin
5b389ae13d
CDROM: Synthesize lead-out area and stop reading when reached
2020-05-08 10:51:49 +10:00
Connor McLaughlin
85707f809c
Pad: Fix OSD error message when save state memory cards mismatch
2020-05-08 00:49:04 +10:00
Connor McLaughlin
0f5bc7267f
HostInterface: Fix hang when switching audio backends
2020-05-05 03:04:28 +10:00
Connor McLaughlin
257c86930f
GPU/OpenGL: Fix GLES again
2020-05-03 19:38:27 +10:00
Connor McLaughlin
8139230d05
GPU/OpenGL: Shader compile fix
2020-05-03 18:33:33 +10:00
Connor McLaughlin
e058beb4b0
GPU/HW: Fix oversized VRAM copies writing out of bounds
...
Fixes jittering in Duke Nukem - Land of the Babes water effect.
2020-05-03 18:09:34 +10:00
Connor McLaughlin
91d7212b36
GPU/OpenGL: Fix swapped log statement
2020-05-03 18:09:31 +10:00
Connor McLaughlin
9446587e8f
GPU/HW: Mask bit handling in hardware renderers
...
Fixes:
- Menu effect in Ghost in the Shell
- Incorrect text colours in menu of Dragon Quest VII
- Fade effect in TwinBee RPG
- Fog in Silent Hill
- Water in Duke Nukem - Land of the Babes
- Shadows in Ultraman - Fighting Evolution
and probably others.
2020-05-03 17:11:31 +10:00
Connor McLaughlin
456ddc037a
GPU/OpenGL: Remove testing code which broke ES
2020-05-03 02:52:36 +10:00
Connor McLaughlin
620210cfc9
GPU/OpenGL: Use explicit bindings where possible
2020-05-02 16:01:16 +10:00
Connor McLaughlin
9dc82a738f
GPU/OpenGL: Fix incorrect fragcolor binding
2020-05-02 15:13:17 +10:00
Connor McLaughlin
d8ab587153
HostInterface: Modify settings loading interface to support per-frontend settings
2020-05-01 01:01:50 +10:00
Connor McLaughlin
b4c31e55e2
HostDisplay: Add integer upscaling option
2020-05-01 01:00:22 +10:00
Connor McLaughlin
e37962009e
HostInterface: Add log lettings to ini
2020-05-01 00:58:32 +10:00
Connor McLaughlin
5cd78dcab5
DMA: Fix an unlikely case where LL DMA gets stuck on
...
Fixes Frogger.
2020-04-30 14:52:38 +10:00
Connor McLaughlin
dc487655df
CDROM: More timing refinements
2020-04-30 01:36:07 +10:00
Connor McLaughlin
5a6c029814
GPU: Disable dual-source blending on Mesa Gen7/Gen7.5
...
Apparently it's broken. Need to look into it more.
2020-04-30 01:27:50 +10:00
Connor McLaughlin
59f055f4b9
HostInterface: Make title-based memory cards the default
2020-04-30 01:21:18 +10:00
Connor McLaughlin
226459b60f
SPU: Add missing register read for ENDX
2020-04-30 01:12:17 +10:00
Connor McLaughlin
2d92e0a819
CDROM: Reduce ACK timing
2020-04-30 00:12:39 +10:00
Connor McLaughlin
557a6c3696
GPU/HW: Work around rasterization differences in OpenGL
...
Strangely, AMD GPUs are fine, it's just NVIDIA and Intel. Time for a
Vulkan renderer?
2020-04-29 21:17:49 +10:00
Connor McLaughlin
940b725c1d
Settings: Make DMA performance parameters tweakable
2020-04-29 20:00:22 +10:00
Connor McLaughlin
9d1eb321ec
DMA: Properly handle infinite linked lists, add cycle stealing
...
Fixes Tekken 2, Hot Wheels Turbo Racing, probably others.
2020-04-29 16:52:15 +10:00
Connor McLaughlin
07e8ddcae2
DMA: Elide intermediate copy where possible
...
Easy 5% performance improvement.
2020-04-29 16:52:11 +10:00
Connor McLaughlin
8f82987341
Controller: Add basic PlayStation Mouse support
...
Still needs capture/relative movement for a better experience.
2020-04-29 14:00:11 +10:00
Connor McLaughlin
5a1b00825d
GPU: Fix timer 1 IRQs sometimes triggering late
...
Should hopefully fix missing voices in Akuji the Heartless.
2020-04-28 20:31:16 +10:00
Connor McLaughlin
a5ff904b33
SPU: Clear ENDX flag on key on
2020-04-28 20:30:16 +10:00
Connor McLaughlin
be9033b6c0
SPU: Add missing clamp in ADPCM decoder
2020-04-28 17:55:43 +10:00
Connor McLaughlin
b16ecd7a86
SPU: ENDX register should get set when looping as well as muting
2020-04-28 16:57:14 +10:00
Connor McLaughlin
ce46dbeeca
GPU/HW: Fix another vertex culling error
2020-04-28 02:07:56 +10:00
Connor McLaughlin
e20fd61f0b
System: Add option to use per-game memory cards with game title as filename
2020-04-28 01:04:10 +10:00
Connor McLaughlin
d04b252962
AnalogController: Reduce the number of commands which enable analog mode
...
Hopefully will fix those games where it's expecting digital outputs but
getting analog.
2020-04-28 00:34:34 +10:00
Connor McLaughlin
8605620c24
SPU: Force all voices off when SPUCNT.15=0
2020-04-27 23:33:24 +10:00
Connor McLaughlin
8c6cb877eb
GPU: Disable display when CRTC configuration is invalid
2020-04-27 21:49:34 +10:00
Connor McLaughlin
74e455a5f7
System: Support per-game memory cards
2020-04-27 16:22:25 +10:00
Connor McLaughlin
36444b264f
GPU/D3D11: Restore API state after updating settings
...
Should fix the debug layer warnings when adjusting resolution scale.
2020-04-27 13:52:59 +10:00
Connor McLaughlin
304391bd00
GPU: Truncate sprite/rectangle positions to 12 bits before rendering
...
Fixes disappearing objects in Skullmonkeys.
2020-04-27 12:51:18 +10:00
Connor McLaughlin
746a00743e
GPU/HW: Don't emit dual-source colour writes on opaque pass
...
Fixes warnings triggering in D3D11 debug runtime.
2020-04-27 00:52:02 +10:00
Connor McLaughlin
dc1e1b5adf
GPU/HW: Fix too-large polygon culling
...
Fixes graphical corruption in some levels of Point Blank 2.
2020-04-26 21:43:28 +10:00
Connor McLaughlin
98ff136f67
GPU: Round texture coordinates instead of flooring
...
Fixes misaligned textures in some games such as Crash Bandicoot.
Currently, because the vertex offset is not applied at >1x resolution
scale, this will not work so it is disabled at >1x.
2020-04-26 19:15:50 +10:00
Connor McLaughlin
d1e841f55d
GTE: Use intrinsic CountLeadingZeros()
...
Super tiny micro-optimization.
2020-04-26 18:33:35 +10:00
Connor McLaughlin
38b075c014
NamcoGunCon: Use mouse position from host display
2020-04-26 17:37:12 +10:00
Connor McLaughlin
1000cb30a9
HostDisplay: Track mouse position
2020-04-26 17:36:49 +10:00
Connor McLaughlin
e6bd6587fd
Controller: Add emulation of Namco GunCon
2020-04-26 01:23:58 +10:00
Connor McLaughlin
2026ef99e8
MemoryCard: Last byte should not set /ACK
2020-04-26 01:23:08 +10:00
Connor McLaughlin
fccc2dd295
DigitalController: Store button state/transfer state in save states
2020-04-26 01:23:01 +10:00
Connor McLaughlin
2ffcad3d37
GPU: Add method to convert from window coordinates to beam ticks/lines
2020-04-26 01:22:56 +10:00
Connor McLaughlin
194fc63232
GameList: Flush game list after re-scanning
...
Should hopefully fix random gamelist corruption.
2020-04-25 15:23:41 +10:00
Connor McLaughlin
25af5ef9d9
MemoryCard: Save FLAG to state
2020-04-25 15:00:14 +10:00
Connor McLaughlin
92255c8ddd
System: Don't drop audio buffers when time lost
2020-04-25 14:51:25 +10:00
Connor McLaughlin
f98c9b4084
GPU/HW: Fix display being cut off when cropping+upscaling
2020-04-25 14:37:56 +10:00
Connor McLaughlin
7fae169bbb
Timer: Don't let writes affect IRQ state
2020-04-25 14:17:44 +10:00
Connor McLaughlin
72f6503bec
CDROM: Reduce speed change delay
2020-04-25 14:16:36 +10:00
Connor McLaughlin
a4416d8cf5
CDROM: Add seek time when starting reading/playing without setloc
2020-04-25 14:16:20 +10:00