Unknown W. Brackets
|
e6e9ed1f45
|
Fix no return value in sceKernelDeleteThread().
Still need to test these funcs thoroughly.
|
2012-12-09 16:57:52 -08:00 |
|
Unknown W. Brackets
|
a1a4a02759
|
While running callbacks, defer wait info.
This way if a thread is resumed while running callbacks, it'll
actually resume.
|
2012-12-09 16:56:47 -08:00 |
|
Unknown W. Brackets
|
f145bafc7a
|
Wrap a few of the sceKernel*Thread funcs.
|
2012-12-09 01:04:54 -08:00 |
|
Unknown W. Brackets
|
5e8aa4c071
|
Implement deferred rescheduling/callbacks.
This way most HLE functions can be wrapped normally. Hurray, sanity.
|
2012-12-09 01:04:53 -08:00 |
|
Unknown W. Brackets
|
92e519c24b
|
Don't always reschedule after running callbacks.
When not waiting, usually only local callbacks are called.
Some functions are unique though.
|
2012-12-09 01:04:53 -08:00 |
|
Unknown W. Brackets
|
7044fafe84
|
Always run callbacks when rescheduling.
Not just when rescheduling because of a *CB() func.
|
2012-12-09 01:04:52 -08:00 |
|
Unknown W. Brackets
|
fda41752e8
|
Simplify the API for HLE funcs to do callbacks.
__KernelWaitCurThread() already (ultimately) calls __KernelCheckCallbacks.
|
2012-12-09 01:04:52 -08:00 |
|
Unknown W. Brackets
|
ff7e1d7be9
|
Fix running threads in processing callbacks state.
ActionAfterMipsCall was setting it back when it saved it.
|
2012-12-09 01:04:51 -08:00 |
|
Unknown W. Brackets
|
9cd47e210b
|
Callbacks: Don't trust s0 to retain the call id.
Patapon 2 at least was not during a call, preventing injection.
Hardware doesn't have to deal with injection so not a problem.
|
2012-12-09 01:04:51 -08:00 |
|
Unknown W. Brackets
|
771cf39811
|
Don't reschedule in sceKernelCheckCallback().
|
2012-12-09 01:04:50 -08:00 |
|
Unknown W. Brackets
|
3f43ab5bb5
|
Callbacks are always fired on their own thread.
At least, as far as I can tell. It does make sense too.
|
2012-12-09 01:04:50 -08:00 |
|
Unknown W. Brackets
|
15c05dc08c
|
Implement sceKernelTerminateThread(), not fully.
It's mostly correct but needs some tests and TLC.
This allows threads to be restarted.
|
2012-12-07 00:46:19 -08:00 |
|
Unknown W. Brackets
|
6fd71f5b27
|
Fix failed free issues with thread stacks.
|
2012-12-07 00:46:19 -08:00 |
|
Unknown W. Brackets
|
8bae2e0964
|
Cancel wakeup events when a thread ends.
|
2012-12-07 00:46:19 -08:00 |
|
Unknown W. Brackets
|
aea9b16a04
|
Add ctrl waits when there are no buffers yet.
|
2012-12-02 17:03:13 -08:00 |
|
Unknown W. Brackets
|
16c29a52a8
|
Improve debugging for bad callback ids.
|
2012-12-01 23:29:24 -08:00 |
|
Unknown W. Brackets
|
4abcb6a8ac
|
Fix sceUmdWaitDriveStatCB() so it fires right away.
This makes Crisis Core actually show loading again.
|
2012-12-01 23:29:23 -08:00 |
|
Unknown W. Brackets
|
c00f3dcdd8
|
Implement sceUmdCancelWaitDriveStat().
|
2012-12-01 23:29:22 -08:00 |
|
Unknown W. Brackets
|
a2ee736793
|
Process events when idle or switching threads.
Fixes hrydgard/ppsspp#104, so things execute more accurately.
|
2012-11-30 23:09:14 -08:00 |
|
Unknown W. Brackets
|
998104e2eb
|
Consider threads still waiting until they wake.
This seems to match the actual behavior of timeouts much better.
|
2012-11-30 23:04:24 -08:00 |
|
Ced2911
|
6db4ea2ad1
|
less Memory::GetPointer
|
2012-11-27 10:18:36 +01:00 |
|
Unknown W. Brackets
|
fa9b9840d0
|
Implement LwMutex locking and unlocking.
|
2012-11-21 00:21:25 -08:00 |
|
Unknown W. Brackets
|
b71d998a20
|
Broadcast a threadend event to wake mutexes.
|
2012-11-20 02:20:16 -08:00 |
|
Unknown W. Brackets
|
619a9906de
|
Remove threads from semaphores when they timeout.
This makes wait tests *almost* pass. There's some timing
related issues left, though.
|
2012-11-20 02:20:15 -08:00 |
|
Unknown W. Brackets
|
4d71e32193
|
Update the value when mutexes timeout.
|
2012-11-20 02:20:14 -08:00 |
|