Commit graph

61 commits

Author SHA1 Message Date
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
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
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
c5c2b9c5af Use GetStructPtr in LibMc2 to fetch various pointers. 2022-03-31 13:16:26 -04:00
Jean-Philip Desjardins
dccb8d1f88 Allow setting TRAP exception handler. 2022-03-24 12:52:07 -04: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
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
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
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
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
23cce97db2 Add basic TLB support.
Only enabled if exception handlers are set.
2020-08-06 16:57:13 -04:00
Jean-Philip Desjardins
13923bd8a4 Initial version of libmc2 HLE. 2020-04-20 11:14:32 -04:00
Jean-Philip Desjardins
7131a28fd4 Remove usage of boost::filesystem. 2019-10-23 20:48:46 -04:00
Jean-Philip Desjardins
f2babe59b3 Update following "Signal.h" move. 2019-08-26 13:16:36 -04:00
Jean-Philip Desjardins
51dd94c8c8 Update CSignal usage from Framework changes. 2019-08-17 11:03:53 -04:00
Mahmood - Zer0xFF
91a27b69a2 Remove boost::signals2. 2019-08-17 11:03:53 -04:00
Jean-Philip Desjardins
b5252b704a Properly handle the option field in a semaphore. 2019-05-25 09:12:40 -04:00
Jean-Philip Desjardins
7960620b30 Add basic implementation for SetVTLBRefillHandler. 2019-02-21 18:51:00 -05:00
Jean-Philip Desjardins
c7cb9b12c7 Only save/restore thread context when servicing interrupts. 2019-02-12 18:19:09 -05:00
Jean-Philip Desjardins
1c13863d27 Change the way SifDmaStat operates.
Keep a list of 32 last SifSetDma operations so that every single of them can have their own delay.
This is needed by Super Bust-a-Move 2.
2019-01-23 20:58:35 -05:00
Jean-Philip Desjardins
e134feca03 Fix parameters not being passed properly in ExecPS2. 2018-10-11 12:41:37 -04:00
Jean-Philip Desjardins
4841dd702a Add stubs for TLB handler setters. 2018-09-26 12:34:42 -04:00
Jean-Philip Desjardins
2d45f9a268 Implement ReleaseWaitThread in EE kernel. 2018-06-24 22:47:26 -04:00
Jean-Philip Desjardins
e6dfdcc513 Add implementation for GetOsdConfigParam.
Just making sure calling that function will return always the same thing.
2018-05-24 13:02:48 -04:00
Clang-Format
acf75535ec Clang format 2018-04-30 21:01:23 +01:00
Jean-Philip Desjardins
ca6cf3fa98 Remove useless speed hack. 2018-03-20 11:01:05 -04:00
Jean-Philip Desjardins
32357dd017 Use filesystem::path for BootFromFile parameter. 2017-12-02 12:56:02 -05:00
Jean-Philip Desjardins
235f323e6e Report proper executable path in command line arguments. 2017-09-04 18:40:18 -04:00
Jean-Philip Desjardins
815aeaac7d Break infinite loop if SemaReleaseSingleThread fails. 2017-01-29 21:13:11 -05:00
Jean-Philip Desjardins
15f0048c8f Add generic semaphore thread release function. 2017-01-06 19:18:00 -05:00
Jean-Philip Desjardins
d5ad9d0dcd Fix thread context structure layout to match the real thing. 2016-11-26 20:29:51 -05:00
Jean-Philip Desjardins
18c89807eb Reset thread state whenever it goes in dormant mode. 2016-11-26 20:29:51 -05:00
Jean-Philip Desjardins
bd031cd339 Cleanup. 2016-11-26 20:29:51 -05:00
Jean-Philip Desjardins
43ce1be72f Adjust initial thread SP/FP value. 2016-11-26 20:29:51 -05:00
Jean-Philip Desjardins
fd2a251540 Only force to check pending interrupts when they can be serviced. 2016-11-19 17:28:09 -05:00
Jean-Philip Desjardins
ee8cd02bf2 Make sure SifDmaStat doesn't report transfer completion immediately. 2016-05-28 21:09:18 -04:00
Jean-Philip Desjardins
2830a9b87b Fill in more thread information in ReferThreadStatus. 2016-01-23 22:11:51 -05:00
Jean-Philip Desjardins
c63431ab52 Improved handling of LoadExecPS2 system call.
- Executable path will now be taken in consideration.
- Fixed issue with UT's incomplete path.
- Use GetStructPtr to obtain proper pointers.
2015-12-05 19:24:44 -05:00
Jean-Philip Desjardins
8d8d3cab04 Added alternative way of detecting when autotest is complete.
If no living thread is found to be running, "OnRequestExit" is called.
2015-10-27 00:26:40 -04:00
Jean-Philip Desjardins
6138dd77ac Changed the way the thread ready queue is handled. 2015-08-09 00:03:42 -04:00
Jean-Philip Desjardins
ce640005b8 Migrated current thread id to OsVariableWrapper. 2015-08-08 23:36:00 -04:00