Commit graph

651 commits

Author SHA1 Message Date
Jean-Philip Desjardins
dd286d3fa3 Add missing logs. 2021-09-01 09:31:30 -04:00
Jean-Philip Desjardins
a965b069cf Sync Q register state.
Fixes visual issues in Onimusha 2.
2021-07-29 14:16:10 -04:00
Jean-Philip Desjardins
6ced932536 Fix SetupThread result. 2021-07-28 11:20:25 -04:00
Jean-Philip Desjardins
a214f0296e Update relative pipe time before checking pipelines. 2021-07-27 09:16:04 -04:00
Jean-Philip Desjardins
2eedef39b4 Code style fixes. 2021-07-27 09:16:03 -04:00
Jean-Philip Desjardins
52b900d342 Update semaphore state when terminating a thread. 2021-07-27 09:16:03 -04:00
Jean-Philip Desjardins
45199bcbf2 Implement semaphore wait linked list. 2021-07-27 09:16:03 -04:00
Jean-Philip Desjardins
69531b84bc Don't recompute the clamping mask.
Removes a few instructions in generated code.
2021-07-09 10:03:27 -04:00
Jean-Philip Desjardins
80e6554cdc Use StoreAtRefIdx to clear flags pipeline.
Using PullRel would cause array items to be register allocated which is not a good thing
since they are accessed through array operations in other places.
2021-07-02 10:22:27 -04:00
Jean-Philip Desjardins
36634efa36 Check MFIFO when resuming a source chain transfer. 2021-06-29 08:57:58 -04:00
Björn Gerdau
b765a825b8
When starting a executable, A0 is set to the address of the executable
Darkwatch is reyling on this (shoutout to PSI)
2021-06-18 16:20:50 +02:00
Jean-Philip Desjardins
475de030b1 Add some checks to catch potential errors. 2021-06-11 09:07:52 -04:00
Jean-Philip Desjardins
0de30265de Merge branch 'sif-bind-failure-fix-direct' 2021-06-04 09:30:05 -04:00
Jean-Philip Desjardins
05985139f8 MAX/MINI doesn't contribute to MACflags. 2021-06-03 10:06:16 -04:00
Björn Gerdau
b88b836d5b
Handle SIF bind reply for missing module
Various Neversoft games (Gun, Guitar Hero III, Tony Hawk's Underground 2, amongst others) execute a SIF bind to a module RPC server, which is never loaded - thus hanging the game indefinitely.

This PR implements removes the delayed bind replies altogether, and implements a direct "bind failure" response, which is correctly handled by the games mentioned, and lets the load.
2021-06-02 02:11:11 +02:00
Jean-Philip Desjardins
340ece9e1d Bring UNPACK logic to what it was.
The PoC was based on old UNPACK code that didn't have some of the more recent fixes.
2021-05-28 13:12:30 -04:00
Jean-Philip Desjardins
36f1564913 Use templates to allow better code generation for UNPACK. 2021-05-28 08:29:44 -04:00
Jean-Philip Desjardins
17b6114190 Implement VADDA and VSUBA. 2021-05-26 10:02:03 -04:00
Björn Gerdau
17b1e8226a
Add missing state persisting for some DMAC registers 2021-05-26 14:53:18 +02:00
Jean-Philip Desjardins
15c750ad45
Merge pull request #1062 from darkpigeon/fatalframe1
Fixes a bug in Fatal Frame 1 that makes the character stuck in the doorway
2021-05-22 20:41:19 -04:00
Jean-Philip Desjardins
95223d9a22 PATH3 masking support.
Not 100% accurate, but makes things lots better in many games.
2021-05-17 09:16:20 -04:00
Jean-Philip Desjardins
a604004616 Add GIF_MODE register. 2021-05-17 09:16:19 -04:00
darkpigeon
6dd820d734 Merge branch 'jpd002:master' into fatalframe1 2021-05-15 15:33:20 +07:00
Björn Gerdau
2c128ced89
Clean up LibMC2 warnings
Remove the assert for unmatched function calls, and instead log all unmatched functions as warnings
2021-05-10 16:49:43 +02:00
Jean-Philip Desjardins
c732d9ba13 Implement PINTH. 2021-04-30 14:22:39 -04:00
Jean-Philip Desjardins
28bf66f0b7 Fix style. 2021-04-27 13:51:58 -04:00
Jean-Philip Desjardins
5a0f7ad3f1 Make EE kernel's semaphore ids start at 0.
Fixes NBA2K12 (and probably some others).
2021-04-27 13:51:58 -04:00
Jean-Philip Desjardins
0d95d8235c Add some warnings. 2021-04-27 13:51:57 -04:00
Jean-Philip Desjardins
4ceef01615 Prevent MOVE on VF0. 2021-04-27 13:51:57 -04:00
Jean-Philip Desjardins
8f201ab7c2 Don't wait for whole 24 bit start code to arrive when IDEC is almost done.
Fixes another hang in SMT: Nocturne (when Yuko show's the end of the world).
2021-04-23 08:45:12 -04:00
Jean-Philip Desjardins
608e8be860 Add support for RGBA16 output in CSC.
Fixes hang in SMT Nocturne.
2021-04-14 16:35:54 -04:00
Jean-Philip Desjardins
6a99562ff1 Cleanup. 2021-04-14 16:34:53 -04:00
darkpigeon
e0c3d55007
Add clamping to VU
Fixes Fatal Frame 1's door-blocking bug, which allows further proceeding ingame
2021-04-07 22:22:34 +07:00
Jean-Philip Desjardins
2f703fd869 Fix ReferThreadStatus return value.
Fixes MGS2's codec sequence.
2021-03-24 16:56:12 -04:00
Jean-Philip Desjardins
264421df3b Use a different value for serverDataAddr when binding SIF RPC servers.
Games such as RE: Outbreak checks that the address is not zero while having a RPC server ID that is equal to 0.
2021-03-15 18:28:51 -04:00
Jean-Philip Desjardins
5441377d1e Cleanup. 2021-03-15 17:53:04 -04:00
Jean-Philip Desjardins
56bfe47c97 Implement DeleteAsync in LIBMC2. 2021-03-09 13:07:03 -05:00
Jean-Philip Desjardins
0729f8a426 Add stub for Chmod in LIBMC2. 2021-03-09 13:07:03 -05:00
Jean-Philip Desjardins
404f813cd4 Reorder functions. 2021-03-09 13:07:03 -05:00
Jean-Philip Desjardins
053c00e234 Tweak logging. 2021-03-09 13:07:02 -05:00
Jean-Philip Desjardins
86393089f6 Fix games broken by idle loop detection tweak.
Revert change made for THPS3, found something that works better and that doesn't break other games.
2021-03-03 08:36:12 -05:00
Jean-Philip Desjardins
ef3e3fb101 Limit to 50FPS on PAL. 2021-02-24 16:04:10 -05:00
Jean-Philip Desjardins
a4ed0f0694 Upper and lower affected registers code works the same now. 2021-02-14 20:06:23 -05:00
Jean-Philip Desjardins
595ac814a6 First shot at non hack fix for GoW FMAC stall situation.
Makes some wild assumptions, probably need to be constrained to prevent regressions.
2021-02-14 20:06:22 -05:00
Jean-Philip Desjardins
bd9be0078b Add per element stall check for lower ops. 2021-02-14 20:06:22 -05:00
Jean-Philip Desjardins
650f129545 Clamp some input vectors.
Fixes issues entering some areas in Samurai Legend Musashi.
2021-01-26 19:30:24 -05:00
Jean-Philip Desjardins
efbbeb057b Merge ADD code in a single function.
Except for ADDi which has an exception.
2021-01-26 19:30:24 -05:00
Mahmood - Zer0xFF
4ef88abe53 use enum 2021-01-07 21:47:33 +00:00
Jean-Philip Desjardins
800926fada Add an explanation for the delay thing.
For our future selves.
2021-01-06 12:16:06 -05:00
Jean-Philip Desjardins
fe038441c9 Save/load new member state. 2021-01-06 12:14:17 -05:00