Commit Graph

13420 Commits

Author SHA1 Message Date
Nemoumbra
01b3b59d06 Bugs fixed + enabled MIPSTracer on Mac, desktop Linux and OpenBDS 2024-09-14 19:46:05 +03:00
Nemoumbra
ab7af0cc19 Minor cleanup, new UI button 2024-09-14 19:46:05 +03:00
Nemoumbra
f23b04fb4a Logic errors fixed + refactoring 2024-09-14 19:46:05 +03:00
Nemoumbra
ff5877e993 Renamed the IR instruction, new UI button added 2024-09-14 19:46:05 +03:00
Nemoumbra
a26afb4c2f Implemented the trace reconstruction + bugs fixed 2024-09-14 19:46:05 +03:00
Nemoumbra
25f6b01d86 Added the initialization code + UI bindings + logs 2024-09-14 19:46:05 +03:00
Nemoumbra
e3b09bea59 Ported the MIPSLogger's UI + basic integration of MIPSTracer 2024-09-14 19:46:05 +03:00
Nemoumbra
854579a97b Initial code for the tracer + fixed the file locations 2024-09-14 19:46:04 +03:00
Nemoumbra
34f113207d Added the MIPSTracer files to the project + name fix 2024-09-14 19:46:04 +03:00
Nemoumbra
00cd142365 Comment fix + new QOL method 2024-09-14 19:46:04 +03:00
Nemoumbra
a6be0517dc New IR instruction added 2024-09-14 19:46:04 +03:00
Henrik Rydgård
16a56aa18b Port over LunaMoo's compat flag for The Warriors video playback
This reverts to the old behavior before we started parsing mpeg headers,
that is, in 558b462 which is part of #8867.

LunaMoo has this under "HackFixVideo" in his build.

See #8991. This doesn't really "fix" that, but works around it.
2024-09-11 14:32:53 +02:00
Henrik Rydgård
b6a3996e65 Remove a warning, change some & params to pointers for clarity, func rename 2024-09-11 11:48:12 +02:00
Henrik Rydgård
7139301692 IR interpreter: Replace the assert for downcount with a very predictable branch
Fixes breakpoints and other similar things, with a negligible penalty.
2024-09-11 11:24:43 +02:00
Henrik Rydgård
7f145c7b18
Merge pull request #19447 from hrydgard/harvest-moon-save-metadata
Fix Harvest Moon not updating save metadata
2024-09-11 11:04:00 +02:00
Henrik Rydgård
c7546dfe8d Add compat.ini setting for Sakura-Sou no Pet na Kanojo
See issue #15224
2024-09-10 19:28:49 +02:00
Henrik Rydgård
c49f7b9207 Sneak in a couple little fixes for savedata zip install 2024-09-10 19:08:01 +02:00
Henrik Rydgård
c2a38181ad Alternate solution for ModNation Racers metadata overwrite (see #18430 comments) 2024-09-10 19:06:22 +02:00
Henrik Rydgård
10d3b253a4 More InstallZip refactoring, add options for install directory where applicable 2024-09-10 13:55:12 +02:00
Henrik Rydgård
ea1c840966 Buildfix 2024-09-09 20:18:03 +02:00
Henrik Rydgård
d47c05f4a1 Android memstick folder move: Minor logging and robustness improvements 2024-09-09 17:47:21 +02:00
Henrik Rydgård
59b39a190c
Merge pull request #19436 from hrydgard/save-data-install
Implement save data install from ZIP
2024-09-07 16:59:04 +02:00
Henrik Rydgård
48a0c0f068 Fix using ESC in savedata screen. Warning fix 2024-09-07 16:00:52 +02:00
Henrik Rydgård
ce4f8ba6f4 Buildfix 2024-09-07 15:58:15 +02:00
Henrik Rydgård
8186f14a57 Much more UI work on savedata import
fix
2024-09-07 15:28:57 +02:00
Henrik Rydgård
4250bdc2a6
Merge pull request #19430 from basharast/master
[Windows] OS Version minor changes
2024-09-06 09:39:15 +02:00
Henrik Rydgård
f38cc4a959 Add some prototype UI for overwriting saves 2024-09-05 20:52:12 +02:00
Henrik Rydgård
3a047369fd Add ability to install savedata from GameFAQs-style ZIP files 2024-09-05 17:12:10 +02:00
Eric Warmenhoven
59444a71f8 build fix on macosx pre-10.14 2024-09-04 16:45:37 -04:00
Bashar Astifan
e7d7d89066 Simplify & win11-build check fix
Without build check on Windows 10 it will appear as Windows 11, I forgot to keep build check, also the process can be simplified more to avoid extra functions.
2024-09-04 22:56:37 +04:00
Henrik Rydgård
de29604043
Merge pull request #19432 from hrydgard/more-zip-install-work
Some refactoring of zip install code
2024-09-04 18:40:11 +02:00
Henrik Rydgård
db550fc433 More refactoring of installzip code 2024-09-04 17:08:26 +02:00
Henrik Rydgård
c3f291e9fe Fix for possible overflow in the resampler (can prevent some audio clicks)
Comment fixes
2024-09-04 12:56:15 +02:00
Henrik Rydgård
645272c82d iOS: Default to the Vulkan backend 2024-09-04 12:56:15 +02:00
Henrik Rydgård
795c4c4262 Zip install: Minor refactoring, putting the content identifier in ZipFileInfo. 2024-09-04 12:53:45 +02:00
oltolm
62194185d4 fix shutdown crash on Windows 2024-08-24 13:41:33 +02:00
Nemoumbra
b794532a8e Tabulation fix + potential misaligned read fix 2024-08-11 20:20:07 +03:00
Lubos
f56f696386 OpenXR - Cleanup 2024-08-08 12:35:45 +02:00
Henrik Rydgård
1c5512a75d
Merge pull request #19389 from lvonasek/feature-openxr-anyplatform
OpenXR - VR camera on any platform
2024-08-07 09:54:31 -06:00
Lubos
3154a5fac1 OpenXR - VR camera features on any platform 2024-08-07 09:25:12 +02:00
Henrik Rydgård
bdd11af620 Fix some bugs in zip file extraction, refresh game list after 2024-08-06 09:25:44 -06:00
Giovanni Cocco
bff850dadd per game settings UI PoC 2024-08-06 14:50:23 +02:00
Giovanni Cocco
8920725655 Fix LoadPlugins ini key collision 2024-08-06 11:07:08 +02:00
Lubos
3a6bf77f6b OpenXR - Texts review 2024-08-05 12:45:42 +02:00
Henrik Rydgård
5c368cb965 More buildfixes 2024-07-26 15:22:35 +02:00
Henrik Rydgård
9fb97add3f Bugfixes 2024-07-26 14:22:31 +02:00
Henrik Rydgård
96c4ae4457 TimeUtil: Minor cleanup, add precise_sleep() 2024-07-26 11:25:58 +02:00
Henrik Rydgård
5926886c0c Some include cleanup, delete some obsolete code 2024-07-25 14:52:41 +02:00
Henrik Rydgård
5d4f413085 Demote a very common log message from ERROR to DEBUG 2024-07-23 22:17:06 +02:00
Henrik Rydgård
5fdff10be5 Minor logging tweak 2024-07-23 22:13:24 +02:00
Henrik Rydgård
35ad5f95f2 Minor cleanup 2024-07-23 21:59:23 +02:00
Henrik Rydgård
0d8f194c65
Merge pull request #19361 from lvonasek/feature-openxr-antiflickering
OpenXR - Anti-flickering rendering flow added
2024-07-22 21:12:03 +02:00
Lubos
0f313e1d13 OpenXR - Make camera pitch value floating-point 2024-07-22 15:55:06 +02:00
Lubos
b70c2cfd10 OpenXR - Anti-flickering rendering flow added 2024-07-22 13:33:03 +02:00
Henrik Rydgård
eda60a5df9 IR: Disable unworkable overwriting of instructions on invalidation. Add debug-mode sanity check. 2024-07-22 12:03:53 +02:00
Henrik Rydgård
fd9daf7594 Fix some minor issues found by --sanitize. Add --sanitizeub.
Unfortunately the ub (undefined behavior) sanitizer has some bugs, it doesn't
understand pointers to member functions, so can't use it in-game (due to the
vertex decoder).

Thanks Nemoumbra for the reminder.
2024-07-22 11:37:18 +02:00
Henrik Rydgård
aa7fd6979e Disable preloading of function stubs if bPreloadFunctions is off
Fixes #19349. Strange that the game worked at all.

The issue is that the arena could get resized due to precompile during
sceKernelModuleLoad . Now respect the flag that turns precompile off
properly (we should probably make it work differently instead, if we're
gonna have it).
2024-07-22 09:51:58 +02:00
Henrik Rydgård
44f3d113d0 Buildfix 2024-07-22 09:08:47 +02:00
Henrik Rydgård
85e7ff7ac3 Target->Native renaming. More intuitive (at least to me) 2024-07-22 01:24:34 +02:00
Henrik Rydgård
898774a93d Attempt more thorough block invalidation 2024-07-22 01:22:54 +02:00
Henrik Rydgård
d3e6f19b6d Comments, log, cleanup 2024-07-22 01:15:35 +02:00
Henrik Rydgård
78c75e1a0b Delete duplicate function (now that we can easily check for compileToNative) 2024-07-21 19:17:21 +02:00
Henrik Rydgård
9d36a08ec4 Some renaming, remove a gross hack 2024-07-21 19:12:51 +02:00
Henrik Rydgård
8a535ed5d4 Bugfix in DoIRInst, thanks Nemoumbra 2024-07-21 18:56:22 +02:00
Henrik Rydgård
5939270d2c Log: Split out StdioListener from ConsoleListener, making the second Win32-only. 2024-07-21 13:55:40 +02:00
Henrik Rydgård
5edd02ef0a
Merge pull request #19347 from hrydgard/scefont-fixes
sceFont and savestate fixes
2024-07-20 13:05:08 +02:00
Henrik Rydgård
ef95e24169 Implement compat flag proposed in #18423, forcing readbacks in Juiced 2
In-game, there's no slowdown, and this fixes the decal editor. So it's
no use allowing readbacks to be turned off in this game.

See issue #18423
2024-07-20 11:24:24 +02:00
Henrik Rydgård
a1010e3b2e Add some more checks in sceFont 2024-07-20 10:42:01 +02:00
Henrik Rydgård
30c768a966 sceFont: Improve debug asserts 2024-07-20 10:32:02 +02:00
Henrik Rydgård
8c0910dd6d If a load-state failed (very bad), don't run the frame. 2024-07-20 00:46:13 +02:00
Henrik Rydgård
e504973cf0 On load state failure, don't go off reloading another rewind state, unless we were actually rewinding. 2024-07-20 00:40:21 +02:00
Henrik Rydgård
1eb1a69096 Zip Installation: Show the failed filename in the message 2024-07-20 00:14:23 +02:00
Henrik Rydgård
091535744b SimpleAudioDec: Fix crash in savestate load 2024-07-20 00:00:29 +02:00
Henrik Rydgård
2036e0fcd7
Merge pull request #19343 from hrydgard/retroachievements-leaderboard-position
RetroAchievements leaderboard: Show new rank, or personal best, after submission
2024-07-19 00:57:44 +02:00
Henrik Rydgård
fb2722f2c5 RetroAchievements leaderboard: Show new rank, or personal best, after submission. 2024-07-18 23:15:27 +02:00
Henrik Rydgård
02abd39479
Merge pull request #19341 from hrydgard/dump-binary-notification
Add a clickable notification if "Dump decrypted EBOOT" is enabled
2024-07-18 14:32:29 +02:00
Henrik Rydgård
a95ead4847 Add a clickable notification if "Dump decrypted EBOOT" is enabled
Makes it easier to find the file.
2024-07-18 14:08:22 +02:00
Henrik Rydgård
d331e80542 sceIoGetStat: Fix retrieving timestamps from directories 2024-07-18 13:37:32 +02:00
Henrik Rydgård
fb499bf5bf ARM32: Remove runtime checks for VFPv3 and NEON since we require these when building anyway. 2024-07-17 22:14:24 +02:00
Henrik Rydgård
320a1cfc8f
Merge pull request #19325 from Nabile-Rahmani/display-refresh-rate-option
[Feature] Option to override the display refresh rate
2024-07-17 20:25:38 +02:00
Henrik Rydgård
5d365e262b
Merge pull request #19329 from hrydgard/improve-sceutility-logging
Improve sceUtility logging, assorted cleanup
2024-07-17 17:59:48 +02:00
Henrik Rydgård
3cd0e18556 Apply miniupnp buildfix proposed in #19333
See #19333
2024-07-17 16:23:39 +02:00
Henrik Rydgård
f18715bb7c Some renaming 2024-07-16 22:04:41 +02:00
Henrik Rydgård
4582ee692a More logging changes 2024-07-16 22:04:41 +02:00
Henrik Rydgård
70cb1104dc Kirk: Remove use of uninitialized stack as a random number source
This confused Valgrind and made me think we had another memory bug.

Turns out this is NOT the cause of #13781, which I still don't
understand.
2024-07-16 22:04:41 +02:00
Henrik Rydgård
cde71fc2b3 Misc cleanup 2024-07-16 22:04:41 +02:00
Henrik Rydgård
f8bf0bfbb5 Add some new logging to sceUtility to try to figure out the Silent Hill problem 2024-07-16 22:04:41 +02:00
Katharine Chui
d7fd44280a allow binding custom right stick to analog 2024-07-16 16:06:13 +02:00
Henrik Rydgård
e01ca5b057
Logging API change (refactor) (#19324)
* Rename LogType to Log

* Explicitly use the Log:: enum when logging. Allows for autocomplete when editing.

* Mac/ARM64 buildfix

* Do the same with the hle result log macros

* Rename the log names to mixed case while at it.

* iOS buildfix

* Qt buildfix attempt, ARM32 buildfix
2024-07-14 14:42:59 +02:00
Nabile Rahmani
9272f02ba2
Initialise framerate-related variables in __DisplayInit()
This takes into account the user configuration a frame in advance.
2024-07-14 08:21:46 +02:00
Nabile Rahmani
273f4cce31
Refresh rate: don't programmatically set configuration, detect VR instead 2024-07-14 04:47:26 +02:00
Nabile Rahmani
1aec09a056
Initialise iDisplayRefreshRate to 60.
Fixes tests as code would read an uninitialised value before the config's constructor gets to run.
2024-07-13 23:08:38 +02:00
Nabile Rahmani
7af15c73bc
[Feature] Option to override the display refresh rate
This adds a per-game graphics option, `DisplayRefreshRate`, to override the display refresh rate.

It defaults to 60 Hz, and is located in Dev tools.

Games using variable timesteps benefit from higher refresh rates.

Closes #19319
2024-07-13 15:04:20 +02:00
Henrik Rydgård
305418813a Add option to control the iOS app switching mode 2024-07-05 20:08:12 +02:00
AdamN
c389ede092
Update deleteAllAdhocSockets 2024-06-29 00:57:16 +07:00
AdamN
9e8e43f7b7
Update NetAdhocPtp_Close 2024-06-29 00:46:44 +07:00
AdamN
2222254f3e
Update NetAdhocPdp_Delete 2024-06-29 00:44:51 +07:00
AdamN
6cccb9cb72
add SD_RECEIVE definition 2024-06-29 00:29:15 +07:00
Henrik Rydgård
982a83d867 IRInterpreter: Optimize variable shifts (no need to mask by 0x1f) 2024-06-24 09:30:21 +02:00
Henrik Rydgård
06315ae6ee IRInterpreter: Slight optimization for fmul
Just put stuff in temporaries, allows for better codegen
2024-06-24 09:12:57 +02:00
Henrik Rydgård
6ebec02f05 Fix crash in JITIR after disassembly improvement.
Fixes #19292
2024-06-22 15:16:27 +02:00
Henrik Rydgård
cbdb2a37eb
Merge pull request #19264 from LunaMoo/30FPS_workarounds
Change GOWFramerateHack30 to FramerateHack30 and workaround timing issues
2024-06-20 11:42:09 +02:00
Henrik Rydgård
06e636bfdc Build and comment fixes 2024-06-19 20:24:59 +02:00
Henrik Rydgård
e64d768113 Implement the same for ARM64 2024-06-19 20:00:36 +02:00
Henrik Rydgård
0080f71ca4 Implement FPU rounding mode support in the IR interpreter for x86/x64 2024-06-19 18:09:38 +02:00
Henrik Rydgård
9ef5250387 IRJit: If we're in "JIT using IR" mode, don't accidentally optimize for the interpreter. 2024-06-11 10:24:08 +02:00
Henrik Rydgård
5bfc0259be Optimize away the redundant vector loads in the Wipeout games. 2024-06-08 23:22:58 +02:00
Henrik Rydgård
2ff91fab2b Optimize a common case of the ins instruction 2024-06-08 23:10:29 +02:00
Henrik Rydgård
c9ca3904d3 Combine move-from-gpr and float cast. 2024-06-08 22:59:48 +02:00
Henrik Rydgård
0abcd00372 IR Interpreter: Don't split up lone lwr/swr/lwl/swl instructions, the interpreter handles them faster. 2024-06-08 22:28:11 +02:00
LunaMoo
1f21ebdff3 Change GOWFramerateHack30 to FramerateHack30 and workaround problems in:
- Blitz: Overtime,
- Brian Lara 2007: Pressure Play.
2024-06-08 18:02:44 +02:00
Henrik Rydgård
0c246297d2 Create an IR op for a FPRtoGPR + shift-right-8, very common 2024-06-07 21:26:20 +02:00
Henrik Rydgård
d1e0384b2f Improve disasm 2024-06-07 19:32:37 +02:00
Henrik Rydgård
bd0beb68a4 Add new IR optimization pass, OptimizeLoadsAfterStores 2024-06-07 19:32:37 +02:00
Henrik Rydgård
da88011805 Specialize a few arithmetic instructions for the interpreter. 2024-06-07 19:32:37 +02:00
Henrik Rydgård
a4c4fb44fb Cleanup 2024-06-07 18:33:48 +02:00
Henrik Rydgård
94ef6d4ce7 Fix savestates (oops) 2024-06-07 18:33:40 +02:00
Henrik Rydgård
7ef6cdb515 Improve accuracy of block timing 2024-06-07 10:17:16 +02:00
Henrik Rydgård
a6f398a7d2 Add IRJit arena overflow check 2024-06-07 10:17:01 +02:00
Henrik Rydgård
8d6e96d04e Use binary search to find IR block offsets 2024-06-07 09:28:27 +02:00
Henrik Rydgård
ee6ba74c88 Store IRInst offsets instead of block indices 2024-06-07 09:28:27 +02:00
Henrik Rydgård
5526ef012c Store IR instructions in a large arena vector instead of loosely in each block. 2024-06-07 09:28:27 +02:00
Henrik Rydgård
0ea9120ca5 Add a stats view 2024-06-06 19:21:50 +02:00
Henrik Rydgård
d1a00f61de Improve disassembly of CallReplacement IR op 2024-06-06 15:24:58 +02:00
Henrik Rydgård
584d07ea8e iOS: Implement basic physical keyboard support 2024-06-05 23:27:03 +02:00
Henrik Rydgård
ff48de1636
Merge pull request #19255 from hrydgard/ir-interpret-profiling
Add built-in IR Interpreter profiler
2024-06-05 20:46:26 +02:00
Henrik Rydgård
294593f741 Fix IR profiling 2024-06-05 19:12:08 +02:00
Henrik Rydgård
5583dc10d5 Hook up profiling, something is wrong 2024-06-05 18:58:33 +02:00
Henrik Rydgård
3bb74ea9ad Rework the JitCompare window to hold a list of blocks, and allow some filtering and browsing 2024-06-05 18:16:33 +02:00
Henrik Rydgård
feeddbabe3 Redesign the jit compare screen a bit (add a top bar) 2024-06-05 16:13:38 +02:00
Henrik Rydgård
338758f430 iOS: Fix "Home" button on controllers (like the PS logo button on a PS4 controller) 2024-06-05 15:01:02 +02:00
Henrik Rydgård
ba1ced77c3 IRJit block profiling basics 2024-06-05 13:02:40 +02:00
Henrik Rydgård
510cf1891b Random UWP text bugfix. Some warning fixes. 2024-06-05 12:38:43 +02:00
Henrik Rydgård
ab257e335f Ugprade miniupnp submodule to latest
Maybe will help #19246, but no idea really.

Windows buildfix

UWP buildfix

miniupnpc path fixes

libretro buildfix attempt, android.mk
2024-06-05 00:18:00 +02:00
Henrik Rydgård
a653939380 Avoid crashing when atrac3 decoders fail to init due to bad params. Fixes Kosmodrones (though no music). 2024-06-03 12:01:42 +02:00
Henrik Rydgård
becc145099 Improve code generation for some IRInterpreter ops 2024-06-02 10:25:04 +02:00
Henrik Rydgård
d4e3597ddb Minor codegen improvement 2024-06-02 10:23:44 +02:00
Henrik Rydgård
3b5c71170c IRInterpreter: Various SIMD optimization. Move out the reverse-bits implementation 2024-06-01 20:29:03 +02:00
Henrik Rydgård
49b0af20ca IRInterpreter: Reorder some ops towards the end, trying to keep "hot" ops together 2024-06-01 18:06:31 +02:00
Henrik Rydgård
533f8f06be Unify DrawString between Windows, UWP and Android. More to come. 2024-05-31 17:27:59 +02:00
Henrik Rydgård
5999690af5 i18n: Remove our awkward ampersand-escape support, except in [DesktopUI] 2024-05-31 09:45:59 +02:00
Henrik Rydgård
d29a2a2b8c Make the "Pause when not focused" setting available in the regular settings menu 2024-05-29 13:06:49 +02:00
Henrik Rydgård
869139078a Do the same for the current browsed directory 2024-05-29 10:16:48 +02:00
Henrik Rydgård
606a895985 iOS: Update recents paths on load
Fixes the main part of #19211
2024-05-29 10:12:20 +02:00
Henrik Rydgård
35c40196d4 Implement UI for setting up the iOS audio modes 2024-05-27 15:17:47 +02:00
Henrik Rydgård
e5baebf139 Prevent a buffer overflow at the end of Atrac tracks.
Fixes #19177
2024-05-27 12:36:19 +02:00
Henrik Rydgård
6817858d61 Use a hacked MoltenVK that can be loaded (but doesn't work) on iOS 12.
See https://github.com/KhronosGroup/MoltenVK/issues/2240
2024-05-26 16:45:29 +02:00
Henrik Rydgård
f2837e3b55 JIT compare screen with IR blocks - fix some crashing issues 2024-05-26 14:10:50 +02:00
Henrik Rydgård
7464b5f17b IRInterpreter: Enable some optimizations that accidentally were only enabled on non-ARM64. 2024-05-26 13:41:31 +02:00
Henrik Rydgård
e75e7a0e43 Add an optimizeForInterpreter flag 2024-05-26 13:41:31 +02:00