Commit Graph
100 Commits
Author SHA1 Message Date
Stenzek 5656f91bd2 Qt: Fix missing line on first postfx category 2024-07-26 15:34:49 +10:00
Stenzek 3282366ea7 PostProcessing/FX: Preserve option declaration order 2024-07-26 15:34:49 +10:00
Stenzek e455a5e371 ImGuiFullscreen: Fix incorrect notification width 2024-07-26 14:16:23 +10:00
Stenzek 0f4af03730 CMake: FreeBSD build fix
cpuinfo is still broken, will fix that another day.
2024-07-24 01:28:28 +10:00
Stenzek 0b5287f199 Bus: Implement RAM_SIZE register
Fixes Rock-Climbing - Mitouhou e no Chousen - Alps Hen (Japan) crashing
on boot. Silly game does a 512 word DMA from CDROM to 0x001FFF04, with the
mapped memory size set to 4MB, expecting the DMA to trigger a bus error,
because if it doesn't, then your kernel memory goes bye bye.

A bunch of other games do set the upper 4MB to be unmapped, but this
change appears to have no effect on them. As expected, they're probably
doing the correct thing.
2024-07-24 00:14:17 +10:00
Stenzek dce1221021 Bus: Log when RAM_SIZE changes 2024-07-23 23:00:44 +10:00
Stenzek 68575d15a4 CDROM: Shift instead of divide in ZigZagInterpolate 2024-07-23 22:10:04 +10:00
Stenzek 5ec9c8a397 CDROM: Fix handling of 8-bit ADPCM and decoder overruns
Fixes pops in menu music in Simple 1500 Series Vol. 92 - The Tozan
RPG - Ginrei no Hasha.

I haven't seen anything that _properly_ uses 8-bit ADPCM yet. The above
game does, but only in the inaudible portion of the start of the track.
2024-07-23 21:54:22 +10:00
Stenzek 861d4a5aa2 FullscreenUI: Reorder graphics settings to match Qt 2024-07-23 21:11:01 +10:00
Stenzek 5e8870ec69 D3D12: Avoid redundant render pass restarts 2024-07-23 21:11:01 +10:00
Stenzek 0407f939fc CPU: Fix loading recompiler-saved states with interpreter 2024-07-23 21:11:01 +10:00
Stenzek 7bbc1745e4 GameDB: Accurate blending for High Heat Major League Baseball 2002
Requires 16-bit blend precision for transparency in menu backgrounds in
hardware renderer.
2024-07-23 14:46:06 +10:00
Stenzek 49772f0479 GameDB: Set accurate blending for Addie no Okurimono
Fixes screen flicker in hardware renderers.
2024-07-23 14:46:06 +10:00
Stenzek 2a617c505a GPU/HW: Support using ROV for accurate blending 2024-07-23 14:46:06 +10:00
Stenzek 1006fa00da GPUDevice: Add support for Raster Ordered Views 2024-07-23 14:46:06 +10:00
Stenzek e743c5d1b1 GPU/HW: Force update CLUT on save state
Fixes switching from hardware->software renderer in games that are
drawing without reloading the CLUT.
2024-07-22 21:25:14 +10:00
Stenzek 298f39a0c8 GPU/HW: Fully report shader/pipeline creation failures 2024-07-22 15:43:18 +10:00
Stenzek ba6b65401d GPUDevice: Improve pipeline error reporting 2024-07-22 15:43:06 +10:00
Stenzek deed0c9713 GameDatabase: Merge compatibility messages 2024-07-22 14:59:55 +10:00
Stenzek fe55446c25 ImGuiManager: Fix stutter when multiple OSD messages lapse 2024-07-22 14:59:55 +10:00
Stenzek 533022bb7d Qt: Ensure fullscreen UI is stopped on exiting 2024-07-21 20:29:38 +10:00
Stenzek 2938602d75 Qt: Remove BIOS search directory from per-game settings
Rather than just disabling it and confusing the user.
2024-07-21 16:22:30 +10:00
Stenzek b4136d2834 TimingEvents: Avoid heap allocation in SortEvents() 2024-07-21 16:15:40 +10:00
Stenzek 022b2fc013 Qt: Disable incompatible settings in game properties 2024-07-21 16:10:39 +10:00
Stenzek ad374ef5e2 Sockets: Use epoll on Linux 2024-07-21 16:10:39 +10:00
Stenzek 78800870bc Sockets: Properly handle POLLHUP events
Stops client socket leaking.
2024-07-21 16:10:39 +10:00
Stenzek 6b78364eab Sockets: Ignore SIGPIPE on Linux
Stops our process terminating if the socket is disconnected
mid-write.
2024-07-21 16:10:39 +10:00
Stenzek 3172eac8df PINE: Disable nagle buffering 2024-07-21 13:43:21 +10:00
Stenzek cc667cd88c Sockets: Add SetNagleBuffering() 2024-07-21 13:43:14 +10:00
Stenzek f2e88ce0e5 PINE: Add MsgReadBytes/MsgWriteBytes 2024-07-21 13:34:10 +10:00
Stenzek 79644bfb2a CPU: Add Safe{Read,Write}MemoryBytes 2024-07-21 13:33:54 +10:00
Stenzek f1f89d3f0f BinarySpanReaderWriter: Add subspan methods 2024-07-21 13:33:41 +10:00
Stenzek 52f9e8556a CDROM: Deactivate command attempt before queueing another
Reduces chances of ending up with unordered events.
2024-07-20 22:35:32 +10:00
Stenzek efd8aab437 TimingEvents: Fix events ending up out-of-order 2024-07-20 22:35:32 +10:00
Stenzek 495b2ff29e GameDB: Front Mission 2 2024-07-20 22:32:50 +10:00
Stenzek 9b77a9aff7 TimingEvents: Move interrupt dispatch to end of loop
Saves another iteration.
2024-07-20 13:42:01 +10:00
Stenzek 4f7ddfaae6 TimingEvents: Remove pointer indirection
Probably should move this to one big array for locality.
2024-07-19 22:56:41 +10:00
Stenzek 56dd9878e1 Misc: RISC-V build fixes 2024-07-19 22:25:57 +10:00
Stenzek 0815aedca2 FileSystem: Drop use of stat64()
We define _FILE_OFFSET_BITS on 32-bit Linux anyway.
2024-07-19 22:25:57 +10:00
Stenzek 2e96931c32 CPU/CodeCache: Dynamically compute BIOS memory access timing
The timings can change if the game does so. Instead of forcing the
blocks to recompile, we can just manually multiply size * word_time.

Improves stability of Nightmare Creatures booting, and fixes corrupted
text in Formula Circus when using the cached interpreter.
2024-07-19 22:25:57 +10:00
Stenzek 5f36c2948f Updater: Fix missing newline on MacOS 2024-07-19 17:47:51 +10:00
Stenzek d9a224ef6c GameList: Fix bogus entries on disc change due to disc set 2024-07-19 15:51:25 +10:00
Stenzek 6a920b268e CDROM: Handle BFRD clears inbetween DMA transfers
Fixes disc detection in Metal Gear Solid: Special Missions.
2024-07-19 15:51:25 +10:00
Stenzek f0945ca3ca BIOS: Refactor loading/hashing of images
Fixes identification of PS2 BIOSes. However, they are not (yet) fastboot
compatible.
2024-07-19 15:51:25 +10:00
Stenzek 19063d4288 Bus: Mirror BIOS area up to 4MB
Fixes bus error when using PS2 BIOS.
2024-07-19 15:51:25 +10:00
Stenzek 7217536fdd MD5Digest: Span-ify 2024-07-19 15:51:25 +10:00
Stenzek 41e15539f9 FileSystem: Add Error parameter to more functions 2024-07-19 15:51:25 +10:00
Stenzek a6cf320776 Qt: Fix scan percent dropping back to 0% at end 2024-07-19 15:51:25 +10:00
Stenzek 6176a21ff1 ProgressCallback: Eliminate redundancy and drop C format strings 2024-07-19 15:51:25 +10:00
Stenzek 24ef76bfee StringUtil: Purge StdStringFromFormat() 2024-07-19 14:01:16 +10:00
Stenzek 567b86ce79 Host: Purge ReportFormattedDebuggerMessage() 2024-07-19 14:00:29 +10:00
Stenzek aa94b07f30 Qt: Purge format string usage from AutoUpdaterDialog 2024-07-19 13:54:00 +10:00
Stenzek ca2a8f1e1f Host: Purge C format string error overloads 2024-07-19 13:45:33 +10:00
Stenzek 00ccea84b8 GPUDevice: Replace remaining StdStringFromFromFormat() with fmt 2024-07-19 13:44:09 +10:00
Stenzek c286112966 Updater: Replace all StdStringFromFormat() with fmt 2024-07-19 13:28:48 +10:00
Stenzek 92038da3d5 CDROM: Handle speed change while reading
Fixes level music in Croc 2 demo.
2024-07-18 00:31:19 +10:00
Stenzek 5d5c04c9b4 RegTest: Fix compare with only missing but no diffs 2024-07-17 23:51:44 +10:00
Stenzek 8d94fd54f2 GameDB: Use SW readbacks for 360 Three Sixty 2024-07-17 23:51:44 +10:00
Stenzek c925becd57 GameDB: Set deinterlacing mode and line offset on a few games 2024-07-17 23:51:43 +10:00
Stenzek 9a89ab3bab GameDatabase: Add deinterlacing mode override 2024-07-17 20:57:36 +10:00
Stenzek f1ca914512 CDROM: Further adjust IRQ delay
Fixes audio dropouts in Crime Crackers, Ogre Battle seems fine now as
well.
2024-07-17 20:57:36 +10:00
Stenzek 9392c19a70 CDROM: Handle audio sectors in 2X mode
Fixes menu background in 360 Three Sixty.
2024-07-17 20:57:35 +10:00
Stenzek 44b9d16d9f CDROM: Defer set of autopause track
Pitball's menu music starts mid-second, and there's no pregap,
so the first couple of reports are for the previous track.

It doesn't enable autopause until receiving a couple, and it's
actually playing the track it wants.
2024-07-17 20:57:35 +10:00
Stenzek fb747d6ded CDROM: Drop setloc on double Play
And limit the locations position is updated while seeking.

Fixes menu music in Hot Wheels: Extreme Racing.
2024-07-17 20:57:35 +10:00
Stenzek bc30569a6d SPU: Reverb input should be muted when SPU muted
Fixes pause menu in Bubsy 3D, Tuning Car Battle Spec R.
2024-07-17 20:57:17 +10:00
Stenzek 889427e7f6 Qt: Disable a couple of unusable per-game settings 2024-07-15 22:17:42 +10:00
Stenzek 00cc3b65fc Qt: Fix a few places per-game settings were not checked 2024-07-15 22:17:42 +10:00
Stenzek 5381ad9cd1 Qt: Adjust controller diagrams 2024-07-15 22:17:42 +10:00
Stenzek 66f31d42b6 CI: Add workflow to upload cached deps/symbols 2024-07-15 22:17:42 +10:00
Stenzek fae6b7ae86 System: Fix double error on load/boot cancel 2024-07-14 21:32:10 +10:00
Stenzek fee888758f System: Purge unused RecreateSystem() 2024-07-14 21:30:52 +10:00
Stenzek 154a5b35b8 CDImageCHD: Refactor mode conversion to string_view
Incorrect length found by PVS-Studio.
2024-07-14 21:29:57 +10:00
Stenzek 640ed4a2d3 CPU/Recompiler: Eliminate redundant speculative reg read 2024-07-14 21:26:17 +10:00
Stenzek 59a2309a83 GPU: Use half width vector types where appropriate 2024-07-14 21:25:48 +10:00
Stenzek d70f5ddb32 GSVector: Remove unused functions 2024-07-14 21:25:48 +10:00
Stenzek df979d4648 Build: Fix DiscordRPC not being included in Mac bundle 2024-07-14 21:25:26 +10:00
Stenzek 500fbe5ef1 Achievements: Fix potential uninitialized data read 2024-07-14 21:25:25 +10:00
Stenzek 8698298499 CPU/NewRec: Fix incorrect condition in GenerateCall() 2024-07-14 21:25:25 +10:00
Stenzek a5a320720a GPU/HW: Fix incorrect dirty rect union
Reduces GPU usage during screen waves effect in Um Jammer Lammy from
over 70% down to 3% on my 7900GRE at 9x.
2024-07-14 18:26:02 +10:00
Stenzek 5d4f6e44d2 Qt: Use device pixel ratio when scaling gameicons 2024-07-14 18:26:02 +10:00
Stenzek 594962d247 Qt: Scale down custom icon pixmaps
Don't want it going outside of the control bounds.
2024-07-14 18:26:02 +10:00
Stenzek fd0626aa6d GameList: Re-extract memcard icon if deleted
But don't keep trying if the game doesn't have a save.
2024-07-14 18:26:02 +10:00
Stenzek ff77bd029f ImGuiFullscreen: Don't upload failed-loaded images 2024-07-14 00:01:06 +10:00
Stenzek afea18f65e Image: Fix crash loading corrupted/invalid JPEG files 2024-07-14 00:00:48 +10:00
Stenzek b7da118f96 Qt: Don't boot system twice on rapid clicking 2024-07-13 20:47:03 +10:00
Stenzek 5da6c926d9 GameList: Always open icon cache with r+b on Linux
Fixes flock() error on startup.
2024-07-13 18:32:42 +10:00
Stenzek 2cfa535784 System: Fix certain GPU settings not applying until unpause 2024-07-13 17:52:42 +10:00
Connor McLaughlin 97e555a47d README: Update link to last non-SSE4.1 build 2024-07-13 13:30:27 +10:00
Stenzek 7c45ad3fed GameList: Add dedicated gameicons directory 2024-07-11 17:17:25 +10:00
Stenzek 2ac2ad605e CPU/Recompiler: Break blocks on invalid instructions 2024-07-11 17:17:25 +10:00
Stenzek 3b9c489787 CPU: Pass instruction query values by reference 2024-07-11 17:17:25 +10:00
Stenzek 226a8eac81 MemoryCardIconCache: Ignore shared cards 2024-07-10 21:47:02 +10:00
Stenzek 11f7bfc461 CPU/PGXP: Refactor add/sub for small speedup 2024-07-10 20:56:42 +10:00
Stenzek e5c62b8baf CPU/PGXP: Fix incorrect Y on invalid add/sub 2024-07-10 20:56:21 +10:00
Stenzek 5881133cf5 CPU/PGXP: Set valid on bitwise ops from lowprec 2024-07-10 19:10:56 +10:00
Stenzek 9be7a37416 GSVector: SIMD-ify YUVToRGB
Almost 10x speedup on the function alone, 15% in practice ingame.
2024-07-10 15:18:42 +10:00
Stenzek 18b0b11094 CommonTests: Add GSVector MDEC YUVToRGB test 2024-07-10 15:18:42 +10:00
Stenzek 7c818c0c53 CI/Flatpak: Bump to flatpak-github-actions b6c9217 2024-07-10 15:18:38 +10:00
Stenzek a56ebf24b2 Qt: Fix incorrect sort indicator on loading 2024-07-09 21:49:17 +10:00
Stenzek 93836636a1 Qt: Center type icon in game list 2024-07-09 21:49:17 +10:00