Commit graph

197 commits

Author SHA1 Message Date
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
Jean-Philip Desjardins
340a3525cd Remove boost::filesystem namespace rename. 2019-10-23 20:48:46 -04:00
Jean-Philip Desjardins
7131a28fd4 Remove usage of boost::filesystem. 2019-10-23 20:48:46 -04:00
Jean-Philip Desjardins
2076edf3c0 Fix Linux build. 2019-08-17 13:51:31 -04:00
Jean-Philip Desjardins
7fa83af37b Implement iSetAlarm. 2019-08-16 07:49:13 -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
e924176920 Add check to make sure we have enough space for semaphores. 2019-05-25 09:12:40 -04:00
Jean-Philip Desjardins
e2706430aa Add define for SYSCALL table base address. 2019-05-25 09:12:40 -04:00
Jean-Philip Desjardins
3fe943de94 Code style fixes. 2019-02-22 12:43:00 -05:00
Jean-Philip Desjardins
7960620b30 Add basic implementation for SetVTLBRefillHandler. 2019-02-21 18:51:00 -05:00
Jean-Philip Desjardins
0a3c290673 Fix assert condition. 2019-02-21 09:14:03 -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
461d436ef7 Add some constants. 2019-02-12 18:19:09 -05:00
Jean-Philip Desjardins
940dfd378d Set stack size in SetupThread 2019-01-23 20:58:35 -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
af7affbdf5 Set initial TIMER3 mode in BIOS. 2019-01-02 21:34:29 -05:00
Jean-Philip Desjardins
503c9fa804 Make sure writes to IMR are 64-bits. 2018-10-29 13:16:11 -04:00
Jean-Philip Desjardins
e134feca03 Fix parameters not being passed properly in ExecPS2. 2018-10-11 12:41:37 -04:00
Jean-Philip Desjardins
64c403d5a1 Code style fixes. 2018-10-04 17:07:48 -04:00
Jean-Philip Desjardins
4f7f899443 Handle case when SetupThread is called on an already setup thread. 2018-10-04 16:05:33 -04:00
Jean-Philip Desjardins
271726cf64 Cleanup. 2018-09-26 12:34:43 -04:00
Jean-Philip Desjardins
622b5e3845 Make sure all interrupts are masked when calling ExecPS2.
Invoking the interrupt handler before SetupThread is called can cause issues.
2018-09-26 12:34:42 -04:00
Jean-Philip Desjardins
4841dd702a Add stubs for TLB handler setters. 2018-09-26 12:34:42 -04:00
Jean-Philip Desjardins
868b2e64f1 Fix trace display bug. 2018-09-26 12:34:42 -04:00