Commit Graph

19888 Commits

Author SHA1 Message Date
GitHubProUser67 5b94f53efc [Soft-Float] - Fixes MAC-OS compile error + moves the bitUtils methods to their respectives place.
I don't like the SIMD way of doing it, it can be slower and less practical to use (expensive casting).
2024-12-19 17:33:40 +01:00
GitHubProUser67 745e4746fc [Soft-Float] - Improves the PS2Float class by using a raw float to speed-up simple calculations.
This greatly improves performance while using Soft-Floats.
2024-12-07 22:47:19 +01:00
GitHubProUser67 8bc2ed9282 [Soft-Float] - Code review Part1.
Applies some recommendations from the review.

The next batch will come later.
2024-11-23 16:02:35 +01:00
GitHubProUser67 b0b65fa248 [Soft-Float] - Removes Div "special" normalization constant.
This broke stuff on very high floats, 0x40 is an un-biased value that can't be changed from IEEE standard.

We now 100% match the PS3's SPEs, but not the PS2 Div result (can be off by one bit). However, this is still way better than IEEE754.
2024-11-22 00:11:26 +01:00
GitHubProUser67 34753ae109 Arrange code style to accommodate requested changes.
More in line with the PCSX2 code-base.
2024-11-21 23:33:38 +01:00
GitHubProUser67 98e3df3cb9 [Soft-Float] - Implements fully accurate Mul operations.
Fixes : https://github.com/PCSX2/pcsx2/issues/5169

All the credits belongs to TellowKrinkle from the PCSX2 team.

Also removes a useless rounding towards zero in DoAdd.
2024-11-21 21:25:13 +01:00
GitHubProUser67 d5e50284ff [Soft-Float] - Removes "special" COP1 mode.
It isn't accurate at all.
2024-11-16 19:04:42 +01:00
GitHubProUser67 3fe4277555 [Soft-Float] - Fixes Operand checking for denormals Add/Sub operations. 2024-11-16 15:45:18 +01:00
GitHubProUser67 3bd88f7e8e [VUops] - Implements accurate SQRT/RSQRT + removal of TriAce hack.
Implements accurate SQRT options, also removes Tri-Ace hack, which isn't needed anymore on the interpreter.
2024-11-13 21:15:21 +01:00
GitHubProUser67 b09bfb0c02 [FPU] - Uses Soft-Float comparison.
More accurate approach to compare.
2024-11-13 18:19:37 +01:00
GitHubProUser67 b7f38061df [Soft-Float] - Fixes Tony Hawk Pro Skater 4 Mul issue.
The game sends some super low floats to the Mul unit.

On PS2, floats with exponent zero should return zero, but this is not the case in Mul, the multiplier can work with denormals internally.

I love when undocumented stuff is used by some games for their 3D engine ^^.
2024-11-13 16:09:02 +01:00
GitHubProUser67 de047eaa40 [Soft-Float] - Initial Interpreter Implementation of Ps2's floating point unit specification.
This Pull Request implements the first take ever on real Soft-Float support in PCSX2.

This work is a combination or several efforts and researches done prior.

Credits:

- https://www.gregorygaines.com/blog/emulating-ps2-floating-point-nums-ieee-754-diffs-part-1/

- https://github.com/GitHubProUser67/MultiServer3/blob/main/BackendServices/CastleLibrary/EmotionEngine.Emulator/Ps2Float.cs

- https://github.com/Goatman13/pcsx2/tree/accurate_int_add_sub

- PCSX2 Team for their help and support in this massive journey.

This pull request should be tested with every games requiring a clamping/rounding mode (cf: GameDatabase).

Currently, this PR fixes on the interpreters:

- https://github.com/PCSX2/pcsx2/issues/354

- https://github.com/PCSX2/pcsx2/issues/11507

- https://github.com/PCSX2/pcsx2/issues/10519

- https://github.com/PCSX2/pcsx2/issues/8068

- https://github.com/PCSX2/pcsx2/issues/7642

- https://github.com/PCSX2/pcsx2/issues/5257

This is important to note, that this implementation, while technically fixing Gran Turismo 4 and Klonoa 2, makes the games crash due to very high floats being passed in the emu code, and failing at some points later in the process. This has not yet been ironed-out.

Other than that, this sets the floor for Soft-Float in PCSX2, a long awaited contribution.
2024-11-12 21:48:10 +01:00
chaoticgd eeb919325e Misc: Minimise the amount of work done when svnrev.h is updated 2024-11-12 09:14:39 -05:00
Julien Reichardt 959be142ed Deps: Update Flatpak dependencies 2024-11-12 08:36:52 -05:00
PCSX2 Bot 42be91d48d PAD: Update to latest controller database. 2024-11-11 14:20:57 -05:00
Bobby Smith 908f916656 GameDB: NBA 2K6 fix hangs on PAL version 2024-11-11 11:52:44 -05:00
Ty Lamontagne 5441c7ed59
Debugger: Use native separators when using external symbol files 2024-11-06 17:06:37 -05:00
chaoticgd bea471a0e3 Debugger: Fix loading symbols from ELF files other than the boot ELF 2024-11-06 16:58:07 -05:00
chaoticgd 4dafee17e0 Debugger: Refactor nocash symbol importer 2024-11-06 14:23:22 -05:00
PCSX2 Bot af10be9036 [ci skip] Qt: Update Base Translation. 2024-11-05 19:06:39 -05:00
KamFretoZ 1a4e3ab581 OSD: Fix Pause indicator not showing up 2024-11-05 10:38:49 -05:00
lightningterror d9e9cf8967 workflows: Fix commit name for daily translations.
Also keep [ci skip] at the start of the commit name as some workflows may require it at the start.
2024-11-05 14:38:58 +01:00
PCSX2 Bot 041b0cb561 PAD: Update to latest controller database. 2024-11-04 17:37:11 +01:00
JordanTheToaster 4ad5dde780 3rdparty: Sync cpuinfo to commit 8df44962d437a0477f07ba6b8843d0b6a48646a4 2024-11-04 12:41:54 +01:00
JordanTheToaster 0bc043a0bb 3rdparty: Update LZMA/7zipSDK to 24.08 2024-11-04 12:41:54 +01:00
JordanTheToaster c936b7db29 Deps: Update SDL to 2.30.9 2024-11-04 12:41:54 +01:00
JordanTheToaster 2793c49694 Deps: Update Freetype to 2.13.3
a
2024-11-04 12:41:54 +01:00
JordanTheToaster c578859122 3rdparty: Update xbyak to 7.21 2024-11-04 12:41:54 +01:00
JordanTheToaster 43e6f06a9e Deps: Update libpng to 1.6.44 2024-11-04 12:41:54 +01:00
JordanTheToaster cf8e9f773e Deps: Update Harfbuzz to 10.0.1 2024-11-04 12:41:54 +01:00
PCSX2 Bot ed3bdc61f4 Qt: Update Base Translation 2024-11-04 12:40:42 +01:00
TheLastRar e57f7d92c3 FSUI: Don't move IMGUI cursor unnecessarily in DrawGameGrid() 2024-11-04 12:40:31 +01:00
Gd7 b95eb5cd74
GameDB: Final Fantasy X Optimal FPU config. (#11958)
Fixes the vast majority of FFX's FPU glitches as well as fixing a major cutscene bug without breaking anything more than what the current config already breaks.

EE clamping fixes reverse controls and characters and enemies facing the wrong way during battles, everything else is affected by EE rounding and EE division rounding.

VU0 clamping affects nothing.
2024-11-04 12:40:16 +01:00
KamFretoZ b865bbb0d3 CI: Add ci skip to base translation update workflow 2024-11-04 12:39:04 +01:00
KamFretoZ ca6e1c9a46 Qt: Cleanup Unused InputRec Menu 2024-11-04 12:39:04 +01:00
KamFretoZ ea8a2deae6 Qt: Icon Tweaks 2024-11-04 12:39:04 +01:00
KamFretoZ c67237672c Qt/Savestate: Add option to disable savestate selector UI 2024-11-04 12:39:04 +01:00
Ty Lamontagne 2d5faa627f CI: Default to flatpak beta branch 2024-10-31 09:22:11 -04:00
Tyler Wilding 1562ba4ca0
translations: Syncing Crowdin translations (#11970) 2024-10-31 09:21:06 -04:00
Ty Lamontagne a5d94ac454 Patches: Fix a regression that broke gamedb dynpatches 2024-10-30 17:07:07 -04:00
Ty Lamontagne 943fbd8719 Dis5900asm: Fix an out of bounds access on invalid pmfhl formats 2024-10-30 09:15:17 -04:00
Ty Lamontagne eea1d57e7e PAD: Fix negon and jogcon BPM crash 2024-10-29 18:52:44 -04:00
PCSX2 Bot 74645aa1b7 PAD: Update to latest controller database. 2024-10-28 17:56:47 +01:00
PCSX2 Bot dfd23d9a25 Qt: Update Base Translation 2024-10-27 20:07:36 -04:00
KamFretoZ 27cf16a09c CI: Fix Translation Workflow Scripts Order of Operation
[ci skip]
2024-10-27 10:20:02 -04:00
PCSX2 Bot 0dee9e3ff1 Qt: Update Base Translation 2024-10-26 21:06:14 -04:00
KamFretoZ 9b47dc0ee3 OSD: Fix Input Overlay Clipping 2024-10-26 11:20:49 -04:00
KamFretoZ c7b9ee92b7 Qt: Properly Grey Out Checkboxes When Perf OSD is Disabled 2024-10-26 11:20:49 -04:00
KamFretoZ ac32e6ca92 FSUI: Fix and Tweak BPM Buttons and Legends 2024-10-26 11:20:49 -04:00
TheLastRar 0c204c3ebb Qt: Hackfix settings icon stretching on Windows themes 2024-10-24 12:23:36 -04:00