1060 Commits

Author SHA1 Message Date
Albert Liu
b27e030059 GPU: Fix "Draw To Display Area" debug reporting 2020-04-01 06:10:31 -07:00
Connor McLaughlin
3daa6b469a Build: Explicitly disable spectre mitigations
Mitigations-off gave a roughly 20-25% boost in performance on my laptop
(i7-7700HQ), even with the recompiler.

It seems AppVeyor was building with them enabled. You shouldn't treat an
emulator like a sandbox and run untrusted code in it amyway.
2020-04-01 22:30:19 +10:00
Connor McLaughlin
31581763a3 GPU: Correct starting position for polyline terminator search
Fixes broken visuals in Wild Arms, probably others.
2020-04-01 20:24:57 +10:00
Connor McLaughlin
0eb740a0aa Qt: Add CDROM Enable Region Check option 2020-04-01 14:50:27 +10:00
Connor McLaughlin
9933910312 SDL: Add CDROM Enable Region Check option 2020-04-01 14:50:21 +10:00
Connor McLaughlin
15c33ebedb CDROM: Add "Enable Region Check" option 2020-04-01 01:48:37 +10:00
Connor McLaughlin
e36e70a266 CDROM: Drop sector buffer not read back to dev log level
This happens a lot in games and it's perfectly fine, but sometimes it
can mean the game is wedged and not receiving data.
2020-03-31 22:29:03 +10:00
Connor McLaughlin
f6711cbafa CDROM: Pausing while seeking should be an error response
Confirmed by hardware test.
2020-03-31 22:28:55 +10:00
Connor McLaughlin
00c24c2501 CDROM: Adjust ACK timings to be closer to hardware test results
Fixes Shrek Treasure Hunt.
2020-03-31 22:28:48 +10:00
Connor McLaughlin
8439e1c54e GPU: Adjust visible ticks/lines, fix underflow in height 2020-03-31 22:28:37 +10:00
Connor McLaughlin
6bc91f2157 GPU: Polyline must have at least two vertices
Fixes GPU stream corruption in Lifeforce Tenka.
2020-03-30 13:58:39 +10:00
Connor McLaughlin
eaf13a1461 GPU: Fix flipped MSB/LSB for single pixel reads 2020-03-30 00:41:31 +10:00
Connor McLaughlin
f13cfce34d GPU: Fix incorrect polyline terminator check
Fixes Gran Turismo 2, maybe others.
2020-03-30 00:35:39 +10:00
Connor McLaughlin
a9109c7552 System: Don't insert blank memory card if path unspecified 2020-03-30 00:14:15 +10:00
Connor McLaughlin
3f042cd477 CDROM: Fix play command with parameter forever seeking
Fixes audio playback when selecting track in BIOS CD player.
2020-03-30 00:13:46 +10:00
Connor McLaughlin
3a31282fe6 CDROM: GetTN should return first_track, last_track
Fixes CDDA playback in Street Sk8er, Jellyfish - The Healing Friend,
probably others.
2020-03-30 00:13:42 +10:00
Connor McLaughlin
7ecac6dbcf CDImage: Use track's control instead of last track's control for pregap 2020-03-30 00:13:26 +10:00
Connor McLaughlin
02f67a801e CDROM: Fix behavior of stat bit 5 according to hardware tests 2020-03-29 17:52:37 +10:00
Connor McLaughlin
deb2865606 CDROM: Preserve header valid bit on more commands
Fixes Goryuujin Electro hanging on boot.
2020-03-29 01:16:01 +10:00
Connor McLaughlin
0e0bd2852f CDROM: Trigger INT5 on shell open
This behaviour has been verified on console.

Fixes disc swap detection in "Arc the Lad III"
2020-03-29 01:15:04 +10:00
Connor McLaughlin
2292292956 CDROM: Set mode to read raw sectors after reset
Fixes "This is Football 2", possibly others.
2020-03-29 01:14:58 +10:00
Connor McLaughlin
148279e2f2 GPU: Rewrite CRTC display modeling and overscan handling 2020-03-29 01:14:37 +10:00
Connor McLaughlin
fe824d6c89 GPU: Display VRAM with 1:1 pixel ratio rather than scaling 2020-03-29 01:14:33 +10:00
Connor McLaughlin
21ddfacd40 Settings: Add missing crop mode save 2020-03-29 01:13:53 +10:00
Connor McLaughlin
e6d5a9d3e4 GPU: Add missing blitter ticks reset to SoftReset() 2020-03-29 01:13:40 +10:00
Connor McLaughlin
10197506c5 CDROM: Implement 8-sector buffering behavior 2020-03-29 01:13:25 +10:00
Connor McLaughlin
a988384423 Common/HeapArray: Fix move construction/assignment 2020-03-29 01:13:14 +10:00
Connor McLaughlin
46239e6758 GPU: Fix GP0(1Fh) locking up emulator 2020-03-29 01:12:54 +10:00
Connor McLaughlin
5dbdc0b60c DMA: Remove timing events
We'll probably need to revert/re-add a variant of this when we
eventually implement chopping. But for now it simplifies things.
2020-03-29 01:12:44 +10:00
Connor McLaughlin
423f04325f SPU: Implement timing for RAM reads/writes 2020-03-29 01:12:37 +10:00
Connor McLaughlin
20025b2ffd Qt: Hide mouse cursor in fullscreen mode
Fixes #135.
2020-03-29 01:12:27 +10:00
Connor McLaughlin
22a0d8f93c CDROM: Implement Sync/00h command 2020-03-28 02:24:36 +10:00
Connor McLaughlin
0b347e2151 GPU/HW: Implement flipped quad coordinate hack from beetle-psx
Fixes graphical glitches around the edges of flipped sprites.
2020-03-28 02:24:22 +10:00
Connor McLaughlin
f23bcc0faa SPU: Ignore loop start flag when repeat address is explicitly set
Fixes dialog/softlock in Thousand Arms.
2020-03-27 01:42:59 +10:00
Connor McLaughlin
08ad5aad53 SPU: Run muted voices when IRQ is enabled
Fixes SPU timeout in Casper. We can still optimize for most games where
interrupts are not used by completely ignoring muted voices in those.
2020-03-27 01:42:43 +10:00
Connor McLaughlin
54abd37daa GPU: Let the GPU drive DMA transfers for large time slices
Fixes FMV breakage... again.
2020-03-26 00:13:20 +10:00
Connor McLaughlin
d4ae0f13fe MDEC: Refactoring and fixes 2020-03-26 00:13:07 +10:00
Connor McLaughlin
c81efb1142 DMA: Enable block splitting for linked list mode 2020-03-26 00:13:03 +10:00
Connor McLaughlin
88f1edd48d System: Include console region in save state
Fixes #149.
2020-03-25 01:49:20 +10:00
Connor McLaughlin
7cd7dec668 HostInterface: Restore pause state after switching renderers
Fixes #148.
2020-03-25 01:48:51 +10:00
Connor McLaughlin
18cc3d5932 SPU: Stub out external volume registers
If nothing else, it'll avoid spamming the log.
2020-03-24 00:22:02 +10:00
Connor McLaughlin
7317c83a3c SPU: Implement internal volume sweep register reads
Fixes muted audio in Michelin Rally Masters.
2020-03-24 00:21:52 +10:00
Connor McLaughlin
452c6e16d1 GPU: Fix blitter ticks not being counted
Fixes Monkey Hero, again...
2020-03-24 00:21:42 +10:00
Connor McLaughlin
4c2597acf3 SPU: Process key on/off at next 44100hz cycle
Some games, particularly CART World Series and Monkey Hero, depend on
this behaviour.
2020-03-24 00:21:32 +10:00
Connor McLaughlin
c8af4abad8 CDROM: Don't queue up a second INT1 when one is still pending 2020-03-24 00:21:22 +10:00
Connor McLaughlin
40d6be7142 System: Frame pacing improvements 2020-03-24 00:21:11 +10:00
Connor McLaughlin
cbb9b96537 System: Include buffer swap time in frame time measurement 2020-03-24 00:20:56 +10:00
Connor McLaughlin
9ce63952fb TimingEvent: Fix events losing time when rescheduling outside handler 2020-03-24 00:20:45 +10:00
Connor McLaughlin
612b362ae9 Timers: Sync GPU on register write too 2020-03-24 00:20:27 +10:00
Connor McLaughlin
e2e2b573c0 GPU/HW: Move drawing offset to CPU-side
Saves updating the uniform buffer.
2020-03-24 00:20:15 +10:00
Connor McLaughlin
40481305c4 GPU/HW: Fudge texture coordinates by half a screen-space pixel
Fixes holes in triangles in some games, e.g. Disney's The Emperor's New
Groove.
2020-03-24 00:20:12 +10:00
Connor McLaughlin
7ac48cd8d6 SPU: Swap read/write ready bits
Nocash might be incorrect here.
2020-03-23 00:29:18 +10:00
Connor McLaughlin
7a89c787b8 SPU: Fix some reverb registers not being saved to state 2020-03-23 00:29:10 +10:00
Connor McLaughlin
d47a82d591 SPU: Implement noise functionality 2020-03-23 00:29:00 +10:00
Connor McLaughlin
0a6295a9b4 SPU: Implement volume sweep functionality 2020-03-23 00:28:51 +10:00
Connor McLaughlin
a5083f0ee4 Qt: Remove ? button in title bar 2020-03-22 22:40:45 +10:00
Connor McLaughlin
701491156a Qt: Use menu font instead of system font as default font 2020-03-22 22:40:29 +10:00
Connor McLaughlin
7b9be0a586 Qt: Add per-page help to settings dialog 2020-03-22 22:19:46 +10:00
Connor McLaughlin
1d9bcb2a48 Qt: Force redraw the display when restoring after minimized 2020-03-22 21:50:49 +10:00
Connor McLaughlin
361bedc2c3 SDLControllerInterface: Hackfix for non-player-id supporting controllers 2020-03-22 21:31:54 +10:00
Connor McLaughlin
8b836555f6 Qt: Disable auto-fill background and set WA_NoSystemBackground 2020-03-22 21:25:10 +10:00
Connor McLaughlin
74e0e83cfd Qt: Use same imgui style as SDL 2020-03-22 13:20:08 +10:00
Connor McLaughlin
e662f34f8b Qt: Add help for general settings 2020-03-22 13:20:08 +10:00
Connor McLaughlin
4629cdfffc Qt: Add help text section to settings dialog 2020-03-22 13:20:08 +10:00
Connor McLaughlin
d5c76bf7d5 Qt: Increase default size of settings dilaog 2020-03-22 13:20:08 +10:00
Connor McLaughlin
c646bf507f Qt: Add OSD options to general settings 2020-03-22 13:20:08 +10:00
Connor McLaughlin
a4a5d3ef79 Qt: Split some console settings out into general settings 2020-03-22 13:20:08 +10:00
Connor McLaughlin
bf2f9bd8d9 Qt: Add 'Refresh' button to toolbar for reloading game list 2020-03-22 13:20:08 +10:00
Connor McLaughlin
7e36195f44 HostInterface: Enable on-screen FPS/VPS/Speed display via config 2020-03-22 13:20:08 +10:00
Connor McLaughlin
9fd95c3e21 Common/Rectangle: Fix off-by-one error in Intersects() 2020-03-22 13:20:08 +10:00
Connor McLaughlin
77a60f0c5f HostInterface: Crash fix again for controller switching 2020-03-22 13:15:44 +10:00
Connor McLaughlin
acd49f3765 Qt: Fix possible crash when loading state via menu 2020-03-22 13:10:28 +10:00
Connor McLaughlin
12ddeb675c HostInterface: Fix controller not updating when switched and system running 2020-03-22 12:54:26 +10:00
Connor McLaughlin
46f921fb95 SDLControllerInterface: Fix crash on shutdown 2020-03-22 12:54:25 +10:00
Connor McLaughlin
8190efa5dc SDLControllerInterface: Fix compilation on Ubuntu LTS 2020-03-22 12:28:10 +10:00
Connor McLaughlin
ad6e4cb6e4 Qt: Add "Clear All" and "Rebind All" to controller bindings 2020-03-22 00:50:09 +10:00
Connor McLaughlin
45050709f2 Qt: Add support for clearing input bindings with right click 2020-03-22 00:49:55 +10:00
Connor McLaughlin
29a09a3685 Introduce ControllerInterface class, port SDL interface over
This breaks controller support in the SDL frontend until it's ported
over to the common interface.
2020-03-22 00:49:46 +10:00
Connor McLaughlin
a4486cf6fa CDROM: Don't miss last three frames at end of sector 2020-03-21 12:31:40 +10:00
Connor McLaughlin
8ef1e71ce0 DMA: Channels other than OTC should run based on request in SyncMode 0 2020-03-21 00:15:49 +10:00
Connor McLaughlin
f4d172df2f DMA: Fix underflow when block_count == 0 2020-03-21 00:15:42 +10:00
Connor McLaughlin
904ab982e6 GPU: Fix crash when fill rectangles are out-of-bounds 2020-03-21 00:15:35 +10:00
Connor McLaughlin
d67bcd654c GPU: Prevent emulator locking up when switching between PAL/NTSC mode 2020-03-20 01:12:41 +10:00
Connor McLaughlin
bad5b30a61 CDROM: Fix incorrect volume matrix update/application
Fixes #90.
2020-03-19 00:28:57 +10:00
Connor McLaughlin
3223f87eeb CDROM: Simplify register indexing for write 2020-03-19 00:28:41 +10:00
Connor McLaughlin
1ee68ad12a CommonHostInterface: Add Screenshot hotkey 2020-03-18 22:28:03 +10:00
Connor McLaughlin
afe2f96474 Qt: Fix display not updating after resize when paused
Fixes #104.
2020-03-18 22:27:45 +10:00
Connor McLaughlin
b86e0bc846 SPU: Implement reverb
Possibly still not complete.
2020-03-17 12:48:03 +10:00
Connor McLaughlin
c9e5e3a43e CDROM: Add missing disc/console region check
Fixes #106.
2020-03-17 12:47:46 +10:00
Connor McLaughlin
282998d0bb Qt: Add screenshot button 2020-03-16 00:06:39 +10:00
Connor McLaughlin
ffb760c79d SDL: Add screenshot to menu 2020-03-16 00:04:16 +10:00
Connor McLaughlin
6b68512ac1 HostInterface: Add SaveScreenshot() method 2020-03-16 00:03:57 +10:00
Connor McLaughlin
2bb992a702 HostDisplay: Add texture dumping/saving support 2020-03-16 00:03:49 +10:00
Connor McLaughlin
b4153266a0 GL/Texture: Add a GetTextureSubImage fallback/helper 2020-03-16 00:03:25 +10:00
Connor McLaughlin
212fddd195 D3D11/StagingTexture: Add auto-resizing staging texture 2020-03-16 00:03:16 +10:00
Connor McLaughlin
97c435a154 CMake: Linux build fix 2020-03-16 00:02:55 +10:00
Connor McLaughlin
fe2e6561d3 Qt: Add audio dumping options 2020-03-15 22:04:32 +10:00
Connor McLaughlin
c4af353d54 SDL: Add audio dumping options 2020-03-15 22:04:25 +10:00
Connor McLaughlin
8e20d0d4ff SPU: Add audio dumping support 2020-03-15 22:04:17 +10:00
Connor McLaughlin
198a64eb5e HostInterface: Add a helper function for generating timestamp-based filenames 2020-03-15 22:03:53 +10:00