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
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
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
7e36195f44
HostInterface: Enable on-screen FPS/VPS/Speed display via config
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
12ddeb675c
HostInterface: Fix controller not updating when switched and system running
2020-03-22 12:54:26 +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
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
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
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
Connor McLaughlin
6a6aa72f3a
SPU: Add a tick counter and delay between key on/off writes
...
Not yet tested on hardware. We believe that writing to a specific
voice's key on/off register within 2 samples/ticks of the first
write will result in the second write being ignored. This still
needs to be tested on hardware for confirmation.
Thanks to @PSI-Rockin for the idea.
Fixes sound effects in Monkey Hero.
2020-03-14 15:33:24 +10:00
Connor McLaughlin
d42f155512
SPU: Use "ticks" instead of "sample" in variable names
2020-03-14 15:23:23 +10:00
Connor McLaughlin
90d6babfb0
SPU: Always run, not only when enabled
2020-03-14 15:01:23 +10:00
Connor McLaughlin
90121aa169
GPU: Fix VRAM display in software renderer
2020-03-13 23:21:44 +10:00
Connor McLaughlin
e076526898
CDROM: Rework sector buffering behavior
...
This has not been tested on hardware yet, but fixes a couple of games.
2020-03-12 15:33:07 +10:00
Connor McLaughlin
86eefbd5d7
System: Fix a possible assertion failure loading state
2020-03-12 15:32:37 +10:00
Connor McLaughlin
9e08ae6188
GameList: Use ProgressCallback interface when scanning
2020-03-12 15:32:19 +10:00
Connor McLaughlin
8f39a0f154
Qt: Properly implement "Start Fullscreen"
2020-03-12 13:53:58 +10:00
Connor McLaughlin
db1070a683
Settings: Fix start paused not applying
2020-03-12 13:53:43 +10:00
Connor McLaughlin
3effa1238f
CDROM: Return correct SCEx string based on disc region
...
Fixes SCEI/SCEE displaying as SCEE in BIOS.
2020-03-12 13:51:53 +10:00
Connor McLaughlin
419422a2d7
CDROM: Return console region string based on system
2020-03-12 13:51:38 +10:00
Connor McLaughlin
e0a339ca96
GameList: Seperate disc region and console region
2020-03-12 13:51:29 +10:00
Connor McLaughlin
e8a5259e68
Qt: Show save times in save state menu as well
2020-03-12 13:51:23 +10:00
Connor McLaughlin
c2370c598e
CDROM: Don't crash when stopping with no media
...
Fixes #76 .
2020-03-10 00:09:27 +10:00
Connor McLaughlin
e98c753d3d
CDROM: Delay the first CDDA report by one second
...
Needs hardware testing...
2020-03-09 00:01:28 +10:00
Connor McLaughlin
776159265a
CDROM: Skip pregap when processing CDDA
2020-03-09 00:01:26 +10:00
Connor McLaughlin
631865469d
CDROM: Bump up ACK delay timing
2020-03-08 18:07:39 +10:00
Connor McLaughlin
4eeaa38ccd
CDROM: Don't persist seek error bit in secondary status
...
Fixes Viewpoint (#56 ).
2020-03-08 15:54:09 +10:00
Connor McLaughlin
e19175edae
GPU/D3D11: Fix non-vertical line rendering at >1x scale
2020-03-08 00:03:31 +10:00
Connor McLaughlin
34ae0dae13
CDROM: Fix upper bound for XA audio frames and sync SPU
2020-03-07 17:29:41 +10:00
Connor McLaughlin
6fa8031569
GPU/D3D11: Fix uniform buffer creation on Win7
2020-03-07 16:05:54 +10:00
Connor McLaughlin
eb6dbbfb13
CDROM: Set seeking bit in stat when seeking
2020-03-07 15:10:49 +10:00
Connor McLaughlin
c700913322
CDROM: Implement SetSession command
2020-03-07 15:10:19 +10:00
Connor McLaughlin
d0f420de10
CDROM: Log invalid command identifiers
2020-03-07 14:00:15 +10:00
Connor McLaughlin
6bb6249e86
GPU/HW: Print capabilities to log
2020-03-07 12:54:15 +10:00
Connor McLaughlin
b5b6a15e40
GPU/D3D11: Always flush render before presenting
2020-03-07 12:37:58 +10:00
Connor McLaughlin
ae4767a9ca
GPU/HW: Always unmap buffer on flush
...
Should stop assertions firing in some games.
2020-03-07 12:34:44 +10:00
Connor McLaughlin
f9a298f1b7
GPU: Fix incorrect handling of check mask bit
...
Fixes boxes in Silent Hill in Software Renderer.
2020-03-06 00:45:21 +10:00
Connor McLaughlin
b59e4ffbcb
HostInterface: Reset performance counters on unpausing
2020-03-03 10:07:16 +10:00
Connor McLaughlin
69f03959aa
Qt: Implement context menu in game list
2020-03-02 11:08:16 +10:00
Connor McLaughlin
34f1c644f5
GPU: Update GPUSTAT if raster has passed to the next line
...
Fixes games which poll GPUSTAT, including The Next Tetris (Europe).
2020-03-01 17:14:42 +10:00
Connor McLaughlin
b0b1fd8f1a
GPU: Timing for CPU->VRAM transfers
...
Fixes Monkey Hero, probably others.
2020-03-01 17:14:38 +10:00
Connor McLaughlin
6b9c6d3750
GPU: Add a helper function to determine how many GPU ticks are pending
2020-03-01 17:14:32 +10:00
Connor McLaughlin
635ab72b37
GPU: Implement "Scaled Dithering" option
...
Fixes #29 .
2020-03-01 00:05:31 +10:00
Connor McLaughlin
fdcb891ed3
GPU: Fix incorrect detection of 480i mode
2020-02-29 00:19:23 +10:00
Connor McLaughlin
ed493c846d
GPU: Don't panic on oversized VRAM copies
...
Fixes #31 .
2020-02-29 00:19:09 +10:00
Connor McLaughlin
7412e78aa1
GPU: Move software copy/fill functions to base class so it can be used as fallback
2020-02-29 00:18:33 +10:00
Connor McLaughlin
6bacbf3438
GPU: Fix 480i displays getting cut off in OpenGL and Software
2020-02-28 23:01:38 +10:00
Connor McLaughlin
aa56a59f58
GPU: Make resolution info less spammy
2020-02-28 23:00:37 +10:00
Connor McLaughlin
0690491883
GPU/HW: Fix potential crash in rectangle expansion
2020-02-28 22:58:34 +10:00
Connor McLaughlin
e8e44991db
GPU: Fix display in OpenGL renderer
2020-02-28 22:42:56 +10:00
Connor McLaughlin
63064f80c2
HostInterface: Fix default value for Display/CropMode
2020-02-28 18:15:37 +10:00
Connor McLaughlin
fcc0ae9571
GPU: Implement "Crop Mode" (none, overscan, all borders)
2020-02-28 17:01:01 +10:00
Connor McLaughlin
f35970fcac
FrontendCommon: Move input binding and some other logic from Qt to common
2020-02-28 17:00:09 +10:00
Connor McLaughlin
07ba2ecd3d
Settings: Simplify resolution scale enumeration
2020-02-28 16:59:55 +10:00
Connor McLaughlin
f21cb25426
HostInterface: Recreate system on GPU debug device toggle too
2020-02-28 16:59:53 +10:00
Connor McLaughlin
82eb14efb1
Core: Apply DPI scaling to debug windows
2020-02-28 16:59:51 +10:00
Connor McLaughlin
50a155e775
Settings: Default to relative paths for bios/memcards
...
Prevents from locking to the directory the first time we run.
2020-02-28 16:58:30 +10:00
Connor McLaughlin
e4ff8b0936
Qt: Add power off hotkey and confirmation message
2020-02-26 19:26:20 +10:00
Connor McLaughlin
e9dea6e0f7
HostInterface: Add a ConfirmMessage() method
2020-02-26 19:25:57 +10:00
Connor McLaughlin
49c7767ed4
System: Check save state version when loading
...
Fixes #34 .
2020-02-22 17:16:47 +09:00
Connor McLaughlin
959a555274
CDROM: Implement asynchronous disc reading
2020-02-22 00:24:35 +09:00
Connor McLaughlin
1ed8243776
HostInterface: Reset counters when starting from state
2020-02-22 00:18:27 +09:00
Connor McLaughlin
149cbf6457
GPU/HW: Properly implement too-large polygon culling
...
Replaces triangle strips with triangle lists, which has the added bonus
of not requiring flushing as many batches.
Fixes missing geometry in Vagrant Story.
2020-02-17 00:09:45 +09:00
Connor McLaughlin
bbe54df3a8
GPU/HW: Split rectangles on texture page boundaries
...
Fixes the sky in Ape Escape's menu screen, FF7 menu borders, probably
others.
2020-02-17 00:09:31 +09:00