Commit graph

183 commits

Author SHA1 Message Date
Jean-Philip Desjardins
b7b7d96cf3 Improve implementation and fix build issues. 2023-11-16 17:58:37 -05:00
Jean-Philip Desjardins
58cc9b6f9a Make sure thread ids always increments when created. 2023-11-16 10:16:49 -05:00
Jean-Philip Desjardins
6d9a4a42ae Updates following Xml code changes. 2023-11-14 17:42:31 -05:00
Jean-Philip Desjardins
f966598781 Make the window to see a queued SIF transfer bigger. 2023-11-06 16:17:27 -05:00
Jean-Philip Desjardins
d4e8e76b86 Report some error when sending bad data to Deci2.
Needed for F1 2002 to boot.
2023-09-25 10:52:47 -04:00
Jean-Philip Desjardins
5b1da435a3 Implement GetCop0. 2023-09-21 09:05:03 -04:00
Jean-Philip Desjardins
c7eec8c78f Replace usages of sprintf with string_format. 2023-09-21 08:54:55 -04:00
Jean-Philip Desjardins
4cefe44565 Implement iResumeThread. 2023-08-18 12:40:31 -04:00
Jean-Philip Desjardins
5c276c5e75 Fix table formatting. 2023-08-18 12:34:46 -04:00
Jean-Philip Desjardins
b617fc62eb Display thread entry point in threads view. 2023-07-31 10:52:07 -04:00
Jean-Philip Desjardins
e0ca8e5e10 Remove hardcoded number. 2023-07-21 08:52:48 -04:00
Jean-Philip Desjardins
4cf8af0dc1 Move EE kernel variables out of the first 4KB.
Avoids kernel state from being clobbered by some misbehaving games.
2023-06-20 08:31:27 -04:00
Jean-Philip Desjardins
9c840f6e05 Allow for different EE and IOP memory sizes to be used.
Enables larger memory size for Namco System 256 arcade machines while keeping the standard for PS2 games.
2023-06-12 12:25:55 -04:00
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