pcsx2/pcsx2-qt
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
..
Debugger Debugger: Avoid resetting symbol trees while single stepping 2024-10-23 09:58:02 -04:00
GameList Qt: Set focus to Game Library for improved keyboard navigation (#11719) 2024-08-24 18:00:34 +02:00
Settings [Soft-Float] - Initial Interpreter Implementation of Ps2's floating point unit specification. 2024-11-12 21:48:10 +01:00
Tools/InputRecording headers: relicense to GPL-3.0+ 2024-07-30 17:17:13 -04:00
Translations [ci skip] Qt: Update Base Translation. 2024-11-05 19:06:39 -05:00
resources Qt: Icon Tweaks 2024-11-04 12:39:04 +01:00
AboutDialog.cpp headers: relicense to GPL-3.0+ 2024-07-30 17:17:13 -04:00
AboutDialog.h headers: relicense to GPL-3.0+ 2024-07-30 17:17:13 -04:00
AboutDialog.ui Qt:i18n: Adding I18N comments for translators, minor typo fixes (#8048) 2023-03-18 16:14:55 -05:00
AutoUpdaterDialog.cpp Misc: Minimise the amount of work done when svnrev.h is updated 2024-11-12 09:14:39 -05:00
AutoUpdaterDialog.h headers: relicense to GPL-3.0+ 2024-07-30 17:17:13 -04:00
AutoUpdaterDialog.ui Qt/Updater: Move download size indicator to better placement 2023-10-17 13:10:34 +10:00
CMakeLists.txt Debugger: Add settings to control the analysis passes 2024-10-18 13:57:05 -04:00
ColorPickerButton.cpp headers: relicense to GPL-3.0+ 2024-07-30 17:17:13 -04:00
ColorPickerButton.h headers: relicense to GPL-3.0+ 2024-07-30 17:17:13 -04:00
CoverDownloadDialog.cpp headers: relicense to GPL-3.0+ 2024-07-30 17:17:13 -04:00
CoverDownloadDialog.h headers: relicense to GPL-3.0+ 2024-07-30 17:17:13 -04:00
CoverDownloadDialog.ui Qt: Use serials by default for cover filenames with downloader 2024-07-29 18:46:43 -04:00
DisplayWidget.cpp headers: relicense to GPL-3.0+ 2024-07-30 17:17:13 -04:00
DisplayWidget.h headers: relicense to GPL-3.0+ 2024-07-30 17:17:13 -04:00
EarlyHardwareCheck.cpp headers: relicense to GPL-3.0+ 2024-07-30 17:17:13 -04:00
LogWindow.cpp headers: relicense to GPL-3.0+ 2024-07-30 17:17:13 -04:00
LogWindow.h headers: relicense to GPL-3.0+ 2024-07-30 17:17:13 -04:00
MainWindow.cpp Misc: Minimise the amount of work done when svnrev.h is updated 2024-11-12 09:14:39 -05:00
MainWindow.h Qt: Cleanup Unused InputRec Menu 2024-11-04 12:39:04 +01:00
MainWindow.ui Qt: Cleanup Unused InputRec Menu 2024-11-04 12:39:04 +01:00
PrecompiledHeader.cpp headers: relicense to GPL-3.0+ 2024-07-30 17:17:13 -04:00
PrecompiledHeader.h headers: relicense to GPL-3.0+ 2024-07-30 17:17:13 -04:00
QtHost.cpp Misc: Minimise the amount of work done when svnrev.h is updated 2024-11-12 09:14:39 -05:00
QtHost.h headers: relicense to GPL-3.0+ 2024-07-30 17:17:13 -04:00
QtKeyCodes.cpp Qt: Call 'map_text_to_keycode()' only when Shift modifier is being used 2024-10-10 18:35:36 -04:00
QtProgressCallback.cpp headers: relicense to GPL-3.0+ 2024-07-30 17:17:13 -04:00
QtProgressCallback.h headers: relicense to GPL-3.0+ 2024-07-30 17:17:13 -04:00
QtUtils.cpp headers: relicense to GPL-3.0+ 2024-07-30 17:17:13 -04:00
QtUtils.h headers: relicense to GPL-3.0+ 2024-07-30 17:17:13 -04:00
SettingWidgetBinder.h headers: relicense to GPL-3.0+ 2024-07-30 17:17:13 -04:00
SetupWizardDialog.cpp headers: relicense to GPL-3.0+ 2024-07-30 17:17:13 -04:00
SetupWizardDialog.h headers: relicense to GPL-3.0+ 2024-07-30 17:17:13 -04:00
SetupWizardDialog.ui UI: fix broken link in setup 2024-07-09 18:44:56 +02:00
Themes.cpp Qt: Work around theme switching bug 2024-08-24 17:27:39 +02:00
Translations.cpp Qt: Update Base Translation 2024-11-04 12:40:42 +01:00
VCRuntimeChecker.cpp headers: relicense to GPL-3.0+ 2024-07-30 17:17:13 -04:00
pcsx2-qt.vcxproj Debugger: Add settings to control the analysis passes 2024-10-18 13:57:05 -04:00
pcsx2-qt.vcxproj.filters Debugger: Add settings to control the analysis passes 2024-10-18 13:57:05 -04:00