Commit Graph

6473 Commits

Author SHA1 Message Date
fcd4e60af1 Atualização Português do Brasil (#3262)
Atualizado para a última versão.
2024-07-27 14:31:51 +10:00
c2d24f436c CDROM: Re-enable error-on-seeking-pause behaviour
See the comments in the diff. This **will** cause lag in Final Fantasy
VII during preload areas, but that has also been confirmed on console.

Duke Nukem - Total Meltdown does this silly Read -> Pause command chain,
except it sets its data/INT1 callback on the read, but never clears it
after the pause. Therefore, if it doesn't receive at least one sector,
the callback never gets cleared, and when the next read happens, it
stores the "current" callback in the "backup" variable, which should be
null, but now has the callback from the dud read.

The result is any INT1 during XA playback running the dud callback,
which says "hey, I'm not expecting any data, so pause, and stops the
background music playback. Making sure at least one sector from that
silly chain is delivered ensures the callback is cleared, and this does
not happen.

Since the pause first mentioned above will now error out until the first
sector is delievered, the game spams pause until it eventually does
succeed after the INT1. This behaviour has also been verified on
hardware, thanks to rama for the xStation logs.
2024-07-27 14:24:23 +10:00
440e08cf3e Qt: Fix crash opening game compatibility report 2024-07-27 01:31:22 +10:00
7a3a72ec3d GPU: Add display rotation option 2024-07-26 23:09:33 +10:00
5656f91bd2 Qt: Fix missing line on first postfx category 2024-07-26 15:34:49 +10:00
3282366ea7 PostProcessing/FX: Preserve option declaration order 2024-07-26 15:34:49 +10:00
e455a5e371 ImGuiFullscreen: Fix incorrect notification width 2024-07-26 14:16:23 +10:00
1771bfad58 Atualização Português do Brasil (#3259)
Atualizado para a última versão.
2024-07-24 01:30:32 +10:00
0f4af03730 CMake: FreeBSD build fix
cpuinfo is still broken, will fix that another day.
2024-07-24 01:28:28 +10:00
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
dce1221021 Bus: Log when RAM_SIZE changes 2024-07-23 23:00:44 +10:00
68575d15a4 CDROM: Shift instead of divide in ZigZagInterpolate 2024-07-23 22:10:04 +10:00
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
861d4a5aa2 FullscreenUI: Reorder graphics settings to match Qt 2024-07-23 21:11:01 +10:00
5e8870ec69 D3D12: Avoid redundant render pass restarts 2024-07-23 21:11:01 +10:00
0407f939fc CPU: Fix loading recompiler-saved states with interpreter 2024-07-23 21:11:01 +10:00
b7bfbc0cf6 Atualização Português do Brasil (#3258)
Atualizado para a última versão.
2024-07-23 14:47:20 +10:00
2a617c505a GPU/HW: Support using ROV for accurate blending 2024-07-23 14:46:06 +10:00
1006fa00da GPUDevice: Add support for Raster Ordered Views 2024-07-23 14:46:06 +10:00
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
298f39a0c8 GPU/HW: Fully report shader/pipeline creation failures 2024-07-22 15:43:18 +10:00
ba6b65401d GPUDevice: Improve pipeline error reporting 2024-07-22 15:43:06 +10:00
deed0c9713 GameDatabase: Merge compatibility messages 2024-07-22 14:59:55 +10:00
fe55446c25 ImGuiManager: Fix stutter when multiple OSD messages lapse 2024-07-22 14:59:55 +10:00
28c74f1325 update the Simple-Chinese translation to latest. (#3257) 2024-07-22 14:38:58 +10:00
533022bb7d Qt: Ensure fullscreen UI is stopped on exiting 2024-07-21 20:29:38 +10:00
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
b4136d2834 TimingEvents: Avoid heap allocation in SortEvents() 2024-07-21 16:15:40 +10:00
022b2fc013 Qt: Disable incompatible settings in game properties 2024-07-21 16:10:39 +10:00
ad374ef5e2 Sockets: Use epoll on Linux 2024-07-21 16:10:39 +10:00
78800870bc Sockets: Properly handle POLLHUP events
Stops client socket leaking.
2024-07-21 16:10:39 +10:00
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
d9ada75d4f Qt: Toggle for DualSense Player LED (#3254) 2024-07-21 16:07:36 +10:00
3172eac8df PINE: Disable nagle buffering 2024-07-21 13:43:21 +10:00
cc667cd88c Sockets: Add SetNagleBuffering() 2024-07-21 13:43:14 +10:00
f2e88ce0e5 PINE: Add MsgReadBytes/MsgWriteBytes 2024-07-21 13:34:10 +10:00
79644bfb2a CPU: Add Safe{Read,Write}MemoryBytes 2024-07-21 13:33:54 +10:00
f1f89d3f0f BinarySpanReaderWriter: Add subspan methods 2024-07-21 13:33:41 +10:00
52f9e8556a CDROM: Deactivate command attempt before queueing another
Reduces chances of ending up with unordered events.
2024-07-20 22:35:32 +10:00
efd8aab437 TimingEvents: Fix events ending up out-of-order 2024-07-20 22:35:32 +10:00
9b77a9aff7 TimingEvents: Move interrupt dispatch to end of loop
Saves another iteration.
2024-07-20 13:42:01 +10:00
4f7ddfaae6 TimingEvents: Remove pointer indirection
Probably should move this to one big array for locality.
2024-07-19 22:56:41 +10:00
56dd9878e1 Misc: RISC-V build fixes 2024-07-19 22:25:57 +10:00
0815aedca2 FileSystem: Drop use of stat64()
We define _FILE_OFFSET_BITS on 32-bit Linux anyway.
2024-07-19 22:25:57 +10:00
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
5f36c2948f Updater: Fix missing newline on MacOS 2024-07-19 17:47:51 +10:00
d9a224ef6c GameList: Fix bogus entries on disc change due to disc set 2024-07-19 15:51:25 +10:00
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
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
19063d4288 Bus: Mirror BIOS area up to 4MB
Fixes bus error when using PS2 BIOS.
2024-07-19 15:51:25 +10:00