Commit Graph

1084 Commits (01bc0eb6507bb43dfbe8bd31e23829cb3ea0ac60)

Author SHA1 Message Date
Connor McLaughlin a988384423 Common/HeapArray: Fix move construction/assignment 6 years ago
Connor McLaughlin 46239e6758 GPU: Fix GP0(1Fh) locking up emulator 6 years ago
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.
6 years ago
Connor McLaughlin 423f04325f SPU: Implement timing for RAM reads/writes 6 years ago
Connor McLaughlin 20025b2ffd Qt: Hide mouse cursor in fullscreen mode
Fixes #135.
6 years ago
Connor McLaughlin 22a0d8f93c CDROM: Implement Sync/00h command 6 years ago
Connor McLaughlin 0b347e2151 GPU/HW: Implement flipped quad coordinate hack from beetle-psx
Fixes graphical glitches around the edges of flipped sprites.
6 years ago
Connor McLaughlin f23bcc0faa SPU: Ignore loop start flag when repeat address is explicitly set
Fixes dialog/softlock in Thousand Arms.
6 years ago
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.
6 years ago
Connor McLaughlin 54abd37daa GPU: Let the GPU drive DMA transfers for large time slices
Fixes FMV breakage... again.
6 years ago
Connor McLaughlin d4ae0f13fe MDEC: Refactoring and fixes 6 years ago
Connor McLaughlin c81efb1142 DMA: Enable block splitting for linked list mode 6 years ago
Connor McLaughlin 88f1edd48d System: Include console region in save state
Fixes #149.
6 years ago
Connor McLaughlin 7cd7dec668 HostInterface: Restore pause state after switching renderers
Fixes #148.
6 years ago
Connor McLaughlin 18cc3d5932 SPU: Stub out external volume registers
If nothing else, it'll avoid spamming the log.
6 years ago
Connor McLaughlin 7317c83a3c SPU: Implement internal volume sweep register reads
Fixes muted audio in Michelin Rally Masters.
6 years ago
Connor McLaughlin 452c6e16d1 GPU: Fix blitter ticks not being counted
Fixes Monkey Hero, again...
6 years ago
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.
6 years ago
Connor McLaughlin c8af4abad8 CDROM: Don't queue up a second INT1 when one is still pending 6 years ago
Connor McLaughlin 40d6be7142 System: Frame pacing improvements 6 years ago
Connor McLaughlin cbb9b96537 System: Include buffer swap time in frame time measurement 6 years ago
Connor McLaughlin 9ce63952fb TimingEvent: Fix events losing time when rescheduling outside handler 6 years ago
Connor McLaughlin 612b362ae9 Timers: Sync GPU on register write too 6 years ago
Connor McLaughlin e2e2b573c0 GPU/HW: Move drawing offset to CPU-side
Saves updating the uniform buffer.
6 years ago
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.
6 years ago
Connor McLaughlin 7ac48cd8d6 SPU: Swap read/write ready bits
Nocash might be incorrect here.
6 years ago
Connor McLaughlin 7a89c787b8 SPU: Fix some reverb registers not being saved to state 6 years ago
Connor McLaughlin d47a82d591 SPU: Implement noise functionality 6 years ago
Connor McLaughlin 0a6295a9b4 SPU: Implement volume sweep functionality 6 years ago
Connor McLaughlin a5083f0ee4 Qt: Remove ? button in title bar 6 years ago
Connor McLaughlin 701491156a Qt: Use menu font instead of system font as default font 6 years ago
Connor McLaughlin 7b9be0a586 Qt: Add per-page help to settings dialog 6 years ago
Connor McLaughlin 1d9bcb2a48 Qt: Force redraw the display when restoring after minimized 6 years ago
Connor McLaughlin 361bedc2c3 SDLControllerInterface: Hackfix for non-player-id supporting controllers 6 years ago
Connor McLaughlin 8b836555f6 Qt: Disable auto-fill background and set WA_NoSystemBackground 6 years ago
Connor McLaughlin 74e0e83cfd Qt: Use same imgui style as SDL 6 years ago
Connor McLaughlin e662f34f8b Qt: Add help for general settings 6 years ago
Connor McLaughlin 4629cdfffc Qt: Add help text section to settings dialog 6 years ago
Connor McLaughlin d5c76bf7d5 Qt: Increase default size of settings dilaog 6 years ago
Connor McLaughlin c646bf507f Qt: Add OSD options to general settings 6 years ago
Connor McLaughlin a4a5d3ef79 Qt: Split some console settings out into general settings 6 years ago
Connor McLaughlin bf2f9bd8d9 Qt: Add 'Refresh' button to toolbar for reloading game list 6 years ago
Connor McLaughlin 7e36195f44 HostInterface: Enable on-screen FPS/VPS/Speed display via config 6 years ago
Connor McLaughlin 9fd95c3e21 Common/Rectangle: Fix off-by-one error in Intersects() 6 years ago
Connor McLaughlin 77a60f0c5f HostInterface: Crash fix again for controller switching 6 years ago
Connor McLaughlin acd49f3765 Qt: Fix possible crash when loading state via menu 6 years ago
Connor McLaughlin 12ddeb675c HostInterface: Fix controller not updating when switched and system running 6 years ago
Connor McLaughlin 46f921fb95 SDLControllerInterface: Fix crash on shutdown 6 years ago
Connor McLaughlin 8190efa5dc SDLControllerInterface: Fix compilation on Ubuntu LTS 6 years ago
Connor McLaughlin ad6e4cb6e4 Qt: Add "Clear All" and "Rebind All" to controller bindings 6 years ago
Connor McLaughlin 45050709f2 Qt: Add support for clearing input bindings with right click 6 years ago
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.
6 years ago
Connor McLaughlin a4486cf6fa CDROM: Don't miss last three frames at end of sector 6 years ago
Connor McLaughlin 8ef1e71ce0 DMA: Channels other than OTC should run based on request in SyncMode 0 6 years ago
Connor McLaughlin f4d172df2f DMA: Fix underflow when block_count == 0 6 years ago
Connor McLaughlin 904ab982e6 GPU: Fix crash when fill rectangles are out-of-bounds 6 years ago
Connor McLaughlin d67bcd654c GPU: Prevent emulator locking up when switching between PAL/NTSC mode 6 years ago
Connor McLaughlin bad5b30a61 CDROM: Fix incorrect volume matrix update/application
Fixes #90.
6 years ago
Connor McLaughlin 3223f87eeb CDROM: Simplify register indexing for write 6 years ago
Connor McLaughlin 1ee68ad12a CommonHostInterface: Add Screenshot hotkey 6 years ago
Connor McLaughlin afe2f96474 Qt: Fix display not updating after resize when paused
Fixes #104.
6 years ago
Connor McLaughlin b86e0bc846 SPU: Implement reverb
Possibly still not complete.
6 years ago
Connor McLaughlin c9e5e3a43e CDROM: Add missing disc/console region check
Fixes #106.
6 years ago
Connor McLaughlin 282998d0bb Qt: Add screenshot button 6 years ago
Connor McLaughlin ffb760c79d SDL: Add screenshot to menu 6 years ago
Connor McLaughlin 6b68512ac1 HostInterface: Add SaveScreenshot() method 6 years ago
Connor McLaughlin 2bb992a702 HostDisplay: Add texture dumping/saving support 6 years ago
Connor McLaughlin b4153266a0 GL/Texture: Add a GetTextureSubImage fallback/helper 6 years ago
Connor McLaughlin 212fddd195 D3D11/StagingTexture: Add auto-resizing staging texture 6 years ago
Connor McLaughlin 97c435a154 CMake: Linux build fix 6 years ago
Connor McLaughlin fe2e6561d3 Qt: Add audio dumping options 6 years ago
Connor McLaughlin c4af353d54 SDL: Add audio dumping options 6 years ago
Connor McLaughlin 8e20d0d4ff SPU: Add audio dumping support 6 years ago
Connor McLaughlin 198a64eb5e HostInterface: Add a helper function for generating timestamp-based filenames 6 years ago
Connor McLaughlin c7a74cabaa Common: Add WAVWriter class 6 years ago
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.
6 years ago
Connor McLaughlin d42f155512 SPU: Use "ticks" instead of "sample" in variable names 6 years ago
Connor McLaughlin 90d6babfb0 SPU: Always run, not only when enabled 6 years ago
Connor McLaughlin c3cb6ef393 Qt: Fix debug menu not updating selected GPU renderer
Fixes #93.
6 years ago
Connor McLaughlin 90121aa169 GPU: Fix VRAM display in software renderer 6 years ago
Connor McLaughlin e076526898 CDROM: Rework sector buffering behavior
This has not been tested on hardware yet, but fixes a couple of games.
6 years ago
Connor McLaughlin 86eefbd5d7 System: Fix a possible assertion failure loading state 6 years ago
Connor McLaughlin 21ecf231d9 Qt: Show game list scanning progress visually 6 years ago
Connor McLaughlin 0e3bcfa7b5 Qt/HostInterface: Track main window pointer 6 years ago
Connor McLaughlin 9e08ae6188 GameList: Use ProgressCallback interface when scanning 6 years ago
Connor McLaughlin f71a03202b Qt: Add ProgressCallback implementation 6 years ago
Connor McLaughlin 8028b7b4a3 Common: Add ProgressCallback class 6 years ago
Connor McLaughlin 8f39a0f154 Qt: Properly implement "Start Fullscreen" 6 years ago
Connor McLaughlin 2480624cbe Qt: Replace QWindow for display with QWidget base
Not as elegant, but it solves the input focus issue.
6 years ago
Connor McLaughlin db1070a683 Settings: Fix start paused not applying 6 years ago
Connor McLaughlin 3effa1238f CDROM: Return correct SCEx string based on disc region
Fixes SCEI/SCEE displaying as SCEE in BIOS.
6 years ago
Connor McLaughlin 419422a2d7 CDROM: Return console region string based on system 6 years ago
Connor McLaughlin e0a339ca96 GameList: Seperate disc region and console region 6 years ago
Connor McLaughlin e8a5259e68 Qt: Show save times in save state menu as well 6 years ago
Connor McLaughlin b2d0dd2d6c Qt/GameList: Update entry rather than ignoring same directory added twice 6 years ago
Connor McLaughlin ed0abf3912 Qt: Fix possible assertion failure when removing search directories 6 years ago
Connor McLaughlin bd25aa2f9d Qt: Include .chd in disc image filter
Fixes #77.
6 years ago
Connor McLaughlin c2370c598e CDROM: Don't crash when stopping with no media
Fixes #76.
6 years ago
Connor McLaughlin e98c753d3d CDROM: Delay the first CDDA report by one second
Needs hardware testing...
6 years ago
Connor McLaughlin 776159265a CDROM: Skip pregap when processing CDDA 6 years ago
Connor McLaughlin b81071a65c CDImage: Assume 2 second pregap between tracks if none specified 6 years ago
Connor McLaughlin 631865469d CDROM: Bump up ACK delay timing 6 years ago
Connor McLaughlin 4eeaa38ccd CDROM: Don't persist seek error bit in secondary status
Fixes Viewpoint (#56).
6 years ago
Connor McLaughlin 2249b873ff D3D11/StreamBuffer: Check feature support for MAP_NO_OVERWRITE before using 6 years ago
Connor McLaughlin 99d42c07c2 D3D11/StreamBuffer: Use WRITE_DISCARD at position 0 6 years ago
Connor McLaughlin e19175edae GPU/D3D11: Fix non-vertical line rendering at >1x scale 6 years ago
Connor McLaughlin 34ae0dae13 CDROM: Fix upper bound for XA audio frames and sync SPU 6 years ago
Connor McLaughlin 6fa8031569 GPU/D3D11: Fix uniform buffer creation on Win7 6 years ago
Connor McLaughlin eb6dbbfb13 CDROM: Set seeking bit in stat when seeking 6 years ago
Connor McLaughlin c700913322 CDROM: Implement SetSession command 6 years ago
Connor McLaughlin d0f420de10 CDROM: Log invalid command identifiers 6 years ago
Connor McLaughlin 6bb6249e86 GPU/HW: Print capabilities to log 6 years ago
Connor McLaughlin b5b6a15e40 GPU/D3D11: Always flush render before presenting 6 years ago
Connor McLaughlin ae4767a9ca GPU/HW: Always unmap buffer on flush
Should stop assertions firing in some games.
6 years ago
Connor McLaughlin ef2796b780 CommonHostInterface: Fix controller inputs not binding
Fixes #46.
6 years ago
Connor McLaughlin 2004de7170 Qt: Fix controller rebinding not registering when paused 6 years ago
Connor McLaughlin f9a298f1b7 GPU: Fix incorrect handling of check mask bit
Fixes boxes in Silent Hill in Software Renderer.
6 years ago
Connor McLaughlin 552a01a9b6 Qt: Disable LTCG on Release-only builds
It wasn't being used anyway.
6 years ago
Connor McLaughlin b59e4ffbcb HostInterface: Reset performance counters on unpausing 6 years ago
Connor McLaughlin b405c01652 Qt: Save settings for column visibility/sorting in game list 6 years ago
Connor McLaughlin 5c0660744a Qt: Implement "File Title" column and toggling in game list 6 years ago
Connor McLaughlin c8954a3089 Qt: Fix game list sorting by column 6 years ago
Connor McLaughlin 69f03959aa Qt: Implement context menu in game list 6 years ago
Connor McLaughlin 0c40903f74 Qt: Fix double mutex lock on controller type change
Fixes #39.
6 years ago
Connor McLaughlin 34f1c644f5 GPU: Update GPUSTAT if raster has passed to the next line
Fixes games which poll GPUSTAT, including The Next Tetris (Europe).
6 years ago
Connor McLaughlin b0b1fd8f1a GPU: Timing for CPU->VRAM transfers
Fixes Monkey Hero, probably others.
6 years ago
Connor McLaughlin 6b9c6d3750 GPU: Add a helper function to determine how many GPU ticks are pending 6 years ago
Connor McLaughlin 635ab72b37 GPU: Implement "Scaled Dithering" option
Fixes #29.
6 years ago
Connor McLaughlin d41e6dd28f CommonHostInterface: Add some more default key bindings
Also remove some unused code.
6 years ago
Connor McLaughlin fdcb891ed3 GPU: Fix incorrect detection of 480i mode 6 years ago
Connor McLaughlin ed493c846d GPU: Don't panic on oversized VRAM copies
Fixes #31.
6 years ago
Connor McLaughlin 7412e78aa1 GPU: Move software copy/fill functions to base class so it can be used as fallback 6 years ago
Connor McLaughlin e1d4c0b9d4 HostDisplay: Fudge texture coordinates for better linear filtering 6 years ago
Connor McLaughlin 6bacbf3438 GPU: Fix 480i displays getting cut off in OpenGL and Software 6 years ago
Connor McLaughlin aa56a59f58 GPU: Make resolution info less spammy 6 years ago
Connor McLaughlin 0690491883 GPU/HW: Fix potential crash in rectangle expansion 6 years ago
Connor McLaughlin a298e93004 CMake: Fix Linux build
Fixes #36.
6 years ago
Connor McLaughlin e8e44991db GPU: Fix display in OpenGL renderer 6 years ago
Connor McLaughlin 63064f80c2 HostInterface: Fix default value for Display/CropMode 6 years ago
Connor McLaughlin f2adb71a70 CommonHostInterface: Bind face buttons to keypad by default 6 years ago
Connor McLaughlin 19c1e8b838 StringUtil: Fix for older gcc versions again 6 years ago
Connor McLaughlin fcc0ae9571 GPU: Implement "Crop Mode" (none, overscan, all borders) 6 years ago
Connor McLaughlin 5df7fbd68c Common/Rectangle: Fix typo in assignment operator 6 years ago
Connor McLaughlin 122726fe65 Common/StringUtil: Support compiling on gcc7 6 years ago
Connor McLaughlin bbdee22ea8 SDL: Move SDLSettingsInterface (ini) to frontend-common 6 years ago
Connor McLaughlin 9ab5212833 FrontendCommon: Make SDL2 dependency optional 6 years ago
Connor McLaughlin f35970fcac FrontendCommon: Move input binding and some other logic from Qt to common 6 years ago
Connor McLaughlin ccbe6f0c42 Qt: Don't store floats in settings as QVariant data 6 years ago
Connor McLaughlin da0059fb21 Common/StringUtil: Add a FromChars std::optional wrapper 6 years ago
Connor McLaughlin 86094b8080 Common/String: Don't copy StaticStrings when not writing 6 years ago