Commit graph

147 commits

Author SHA1 Message Date
Jean-Philip Desjardins
6c32b51d81 Added proper handling of the EIE bit by EI and DI. (needed for liberx) 2015-04-13 00:51:25 -04:00
Jean-Philip Desjardins
d9b934a09e Renamed STATUS_INT to STATUS_IE (which is the proper name for that bit). 2015-04-13 00:24:35 -04:00
Jean-Philip Desjardins
a803a0b36a Added basic MachineType syscall implementation. 2015-04-12 23:54:10 -04:00
Jean-Philip Desjardins
ff120272dc Don't throw an exception if no SYSCALL instruction is found when system call exception is triggered in PS2OS. 2015-04-12 05:41:24 -04:00
Jean-Philip Desjardins
cdfe1bb83e Added way to catch the situation when an executable has called 'Exit'. 2015-04-09 23:59:34 -04:00
Jean-Philip Desjardins
5108183207 PS2OS: Thread context is now pushed in stack instead of being stored at the top. Fixes issues with Timesplitters. 2015-03-26 23:34:53 -04:00
Jean-Philip Desjardins
7ce33450a9 Updated debug info for Deci2Call. 2015-03-05 12:08:07 -08:00
Jean-Philip Desjardins
85886ceee7 EnableIntc and DisableIntc now return proper values. 2015-02-07 21:50:27 -05:00
Jean-Philip Desjardins
7ac81b4072 Allow OS structures to be read from SPR. 2015-01-31 23:05:56 -05:00
Jean-Philip Desjardins
10427b0af3 Cleaned semaphore handling in PS2OS. 2015-01-31 01:40:42 -05:00
Jean-Philip Desjardins
1ae24fc12d Cleaned up DMAC handler handling in PS2OS. 2015-01-29 01:36:29 -05:00
Jean-Philip Desjardins
bcd4b0cdce Added basic alarm support in PS2OS. 2015-01-28 03:32:18 -05:00
Jean-Philip Desjardins
5f884714cc Fixed error in comment. 2015-01-28 03:10:09 -05:00
Jean-Philip Desjardins
bdae4e08f7 Report unhandled system calls in log file instead of console. 2015-01-20 01:02:04 -05:00
Jean-Philip Desjardins
11d566a7a1 Added check to prevent heap from being corrupted when loading an executable. 2015-01-01 18:14:21 -05:00
Jean-Philip Desjardins
9806e1e5fc Added some more syscall names. 2014-12-14 01:55:22 -05:00
Jean-Philip Desjardins
3c898bd839 Added SIFDMAREG struct. 2014-11-07 02:27:33 -05:00
Jean-Philip Desjardins
7fbff5dc63 Moved location of current thread id and use define instead of hard coded constant. 2014-10-12 20:55:28 -04:00
Jean-Philip Desjardins
05a3a51edf Cleanup. 2014-10-12 20:07:03 -04:00
Jean-Philip Desjardins
809bfcafdd Don't reschedule threads when in interrupt mode for WakeupThread. 2014-10-12 20:06:30 -04:00
Jean-Philip Desjardins
b0cb1485d7 Profiler improvements. Now uses a proper timer to count time passed in various zones. Stat presentation still needs work though. 2014-10-05 01:41:06 -04:00
Jean-Philip Desjardins
d057301d18 Make sure argv[argc] is equal to 0. (Needed by BGDA2). 2014-10-02 02:43:38 -04:00
Jean-Philip Desjardins
969b7ca04e Added CancelWakeupThread syscall. 2014-09-29 01:27:13 -04:00
Jean-Philip Desjardins
6ece1dec61 Moved EE specific stuff in a separate assembler class. 2014-09-28 23:57:02 -04:00
Jean-Philip Desjardins
eb125d0b48 Removed useless "dual arrays" for COP1 register storage. 2014-09-28 03:09:17 -04:00
Jean-Philip Desjardins
7651fb181c Reset thread execution context when calling StartThread in EE BIOS. 2014-08-30 14:51:35 +09:00
Jean-Philip Desjardins
6c5d6fdfe5 Some more cleanup. 2014-08-30 14:35:52 +09:00
Jean-Philip Desjardins
dee904f3a5 Minor cleanup. 2014-08-30 13:47:38 +09:00
Jean-Philip Desjardins
e730ac410b Save/Restore FCSR when switching thread context. 2014-08-29 22:16:13 +09:00
Jean-Philip Desjardins
38ba808efc Save/restore COP1 registers when switching thread contexts on EE. 2014-08-27 03:37:57 -04:00
Jean-Philip Desjardins
7fd21fc9c1 More naming convention cleanup. 2014-08-27 01:07:09 -04:00
Jean-Philip Desjardins
ca96814139 Naming convention cleanup. 2014-08-27 00:10:31 -04:00
Jean-Philip Desjardins
418cee5e51 Some more naming convention cleanup. 2014-08-16 21:42:19 -04:00
Jean-Philip Desjardins
11edd1165d More EE BIOS syscall info. 2014-08-13 03:31:02 -04:00
Jean-Philip Desjardins
60700d0a8f Added "osChangeThreadPriority" in recognized system calls for PS2OS. 2014-08-10 20:39:17 -04:00
Jean-Philip Desjardins
030a81d116 Added SifStopDma syscall name. 2014-08-02 21:34:38 -04:00
Jean-Philip Desjardins
22682d3e89 Added error message for when reading an ELF file fails. 2014-07-12 20:27:48 -04:00
Jean-Philip Desjardins
f192ea57e9 Added hack to make sure every incoming SIF packet on the EE side generates an interrupt. 2014-07-12 02:13:35 -04:00
Jean-Philip Desjardins
a8cbf86d6c Interrupt handler and thread context save and load functions now take LO, LO1, HI, HI1 registers in consideration. 2014-07-10 23:56:50 -04:00
Jean-Philip Desjardins
d8e823aa2f Removed all mentions of useless REEXCPT instruction. 2014-07-10 03:47:37 -04:00
Jean-Philip Desjardins
3e639e2fd6 Renamed functions in CBiosDebugInfoProvider to make their intent clearer. 2014-07-04 02:18:14 -04:00
Jean-Philip Desjardins
6833739148 Grouped debugger only functions in PS2OS and IopBios together and disabled some debugger related code in release builds. 2014-07-04 01:55:09 -04:00
Jean-Philip Desjardins
e4683a877a Added descriptions for (i)ReferSemaStatus in PS2OS. 2014-06-28 23:35:15 -04:00
Jean-Philip Desjardins
acf8a8f321 Generate timer0 interrupt handler in PS2OS. 2014-06-26 03:46:10 -04:00
Jean-Philip Desjardins
f66e4366cc Force threads to be rescheduled at the end of an exception on the EE. 2014-06-04 23:37:40 -04:00
Jean-Philip Desjardins
99e5d1f46d Removed support for re-entrant interrupt handler. Doesn't seem to be needed and previous support wasn't good because it required K0 and K1 registers to be preserved. 2014-06-01 23:21:33 -04:00
Jean-Philip Desjardins
ef66c0511e Changed SetSyscall system call to allow setting INT12 handler hackishly. 2014-06-01 23:15:36 -04:00
Jean-Philip Desjardins
adb67293a6 Minor esthetic changes. 2014-05-31 04:46:45 -04:00
Ian Brown
f14f504027 deal with a sema of 0 (treat it as invalid). Kingdom Hearts does this. 2014-05-31 04:37:56 -04:00
Jean-Philip Desjardins
67d0e6ad2a Fixed SYSTEM.CNF parsing problem that could occur when there was a trailing space at the end of the lines (Happened on Ratchet & Clank 3). 2014-05-23 01:17:46 -04:00