Commit graph

170 commits

Author SHA1 Message Date
Jean-Philip Desjardins
d7a6129c63 Remove annoying assert. 2023-05-19 12:05:58 -04:00
Jean-Philip Desjardins
aee69ac97c Fix a bunch of warnings. 2023-05-03 21:05:08 -04:00
Jean-Philip Desjardins
c1c0fda2d3 Fix loading ELFs on Android. 2023-04-27 11:50:10 -04:00
Jean-Philip Desjardins
02d7bdc1df Prevent deletion of EE idle thread. 2023-04-14 09:39:35 -04:00
Jean-Philip Desjardins
234b3139db Remove some annoyance. 2023-01-18 15:53:33 -05:00
Jean-Philip Desjardins
ef45879639 Style fixes. 2022-09-10 12:47:16 -04:00
Jean-Philip Desjardins
a7ad0b9dfd Add possible string pointer attribute. 2022-09-10 12:07:01 -04:00
Jean-Philip Desjardins
0efab76362 Add missing semaphore info. 2022-09-10 11:30:05 -04:00
Jean-Philip Desjardins
7ccd91001b Update menu items. 2022-09-08 19:17:13 -04:00
Jean-Philip Desjardins
02d5b9ce98 More WIP.
- Remove thread specific object list.
- Use a map instead of vector for object schema.
2022-09-07 19:58:01 -04:00
Jean-Philip Desjardins
15b18e4af3 Add WIP kernel object viewer.
A more generic version of the thread viewer.
2022-09-06 19:41:42 -04:00
Jean-Philip Desjardins
5c3cc06bd2 Remove dumping of INTC/DMAC handlers to console.
To be replaced by UI based tooling.
2022-09-06 19:41:42 -04:00
Jean-Philip Desjardins
284692d611 Fix log formatting. 2022-07-25 11:21:04 -04:00
Jean-Philip Desjardins
1d9c425663 Refactor ELF support.
Allow ELF32/ELF64 to coexist and allow ElfView to load both.
2022-07-22 17:10:27 -04:00
Jean-Philip Desjardins
9ba7766b9a Handle VIF0 interrupts. 2022-04-06 13:43:21 -04:00
Jean-Philip Desjardins
dccb8d1f88 Allow setting TRAP exception handler. 2022-03-24 12:52:07 -04:00
Jean-Philip Desjardins
c65d66614a Use auto. 2022-03-15 08:18:28 -04:00
Jean-Philip Desjardins
f70e391d64 Trigger MFIFO empty interrupts. 2022-02-24 11:41:31 -05:00
Jean-Philip Desjardins
339fd887b9 SifSetDma always sends something. 2022-02-14 13:11:16 -05:00
Jean-Philip Desjardins
8fa84001aa Start TIMER2 on boot. 2022-02-11 13:15:38 -05:00
Jean-Philip Desjardins
f298e13914 Reset Sema Checker strategy when CPU is interrupted.
Fixes Sniper Elite being considered idle too often. Also makes SotC a bit slower, but seems a bit more stable.
2022-01-21 20:09:07 -05:00
Jean-Philip Desjardins
0a1570959f Added EE Idle Evaluator.
Tries to detect when a game is idling.
Works only for specific games at the moment but replaces the speed hacks that were in other branches.
2022-01-21 20:09:06 -05:00
Jean-Philip Desjardins
d222ed65b6 Code style fix. 2021-12-06 08:23:02 -05:00
Jean-Philip Desjardins
a60a8641be Fix Enable/DisableDmac. 2021-12-03 14:27:02 -05:00
Jean-Philip Desjardins
6d4781c39e Clear the DMAC interrupt situation.
DMAC and INTC are independent and can both interrupt the EE. Code should be more in line with actual hardware.
INTC line 1 is for SBUS and some games (Ape Escape: Million Monkeys) were playing with that, disabling DMAC interrupts.
2021-12-03 14:27:01 -05:00
Jean-Philip Desjardins
948b6f9f05 Add speed hack for Atelier Marie & Elie. 2021-11-16 17:38:15 -05:00
Jean-Philip Desjardins
f5fcebb25a Induce a small delay when doing a sync check in LibMc2 HLE.
Fixes issue in Atelier Marie & Elie.
2021-11-16 17:38:15 -05:00
Jean-Philip Desjardins
d020c69d1e Tweak assert.
Just make sure we catch edge cases if they happen.
2021-10-15 10:09:23 -04:00
Jean-Philip Desjardins
fe7356753e Improve kernel alarm handling.
There's now a proper delay for the alarm handler invocation.
2021-10-15 10:09:23 -04:00
Jean-Philip Desjardins
6ced932536 Fix SetupThread result. 2021-07-28 11:20:25 -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
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
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
2f703fd869 Fix ReferThreadStatus return value.
Fixes MGS2's codec sequence.
2021-03-24 16:56:12 -04:00
Jean-Philip Desjardins
053c00e234 Tweak logging. 2021-03-09 13:07:02 -05:00
Jean-Philip Desjardins
ef3e3fb101 Limit to 50FPS on PAL. 2021-02-24 16:04:10 -05:00
Jean-Philip Desjardins
d53521bfcf Add widescreen mode. 2020-12-31 16:55:25 -05:00
Jean-Philip Desjardins
3a1ed208ac Add way to change the system's language. 2020-09-09 17:13:17 -04:00
Jean-Philip Desjardins
c1b6e39812 Remove some old style pointer handling. 2020-09-09 10:58:50 -04:00
Jean-Philip Desjardins
8f41fe42ca Reset TLB handlers on initialization. 2020-08-06 16:57:13 -04:00
Jean-Philip Desjardins
23cce97db2 Add basic TLB support.
Only enabled if exception handlers are set.
2020-08-06 16:57:13 -04:00
Jean-Philip Desjardins
38052e1fae Use GetStructPtr. 2020-04-27 12:45:54 -04:00
Jean-Philip Desjardins
58e42d5fac Use GetStructPtr to obtain VsyncFlag locations.
Fixes Gundam Musou 2.
2020-04-22 14:53:08 -04:00
Jean-Philip Desjardins
06e78653ea Hook Mc2 functions when specific IOP modules are loaded. 2020-04-20 11:14:36 -04:00
Jean-Philip Desjardins
9ee7e8fedf Hook Mc2 functions somewhere else.
Will change again later.
2020-04-20 11:14:36 -04:00
Jean-Philip Desjardins
13923bd8a4 Initial version of libmc2 HLE. 2020-04-20 11:14:32 -04:00