Unknown W. Brackets
|
67f7f6b05d
|
Oops, these flags can be or'd together of course.
|
2012-12-14 23:24:04 -08:00 |
|
Unknown W. Brackets
|
45258bb61f
|
Cleanup behavior in sceKernel*EventFlag() funcs.
Biggest change is just that sceKernelSetEventFlag() rescheds.
|
2012-12-14 21:25:29 -08:00 |
|
Unknown W. Brackets
|
2ea992f2c4
|
Validate attr for mutexes, semas, and events.
|
2012-12-14 12:05:15 -08:00 |
|
Unknown W. Brackets
|
3d57a4c838
|
Cleanup some wrappers now that rescheds defer.
|
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
|
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
|
ee1a729157
|
Turns out *CB() fires even when it succeeds.
|
2012-12-09 01:04:50 -08:00 |
|
Unknown W. Brackets
|
1a77b22e3a
|
Implement priority signaling for semaphores.
|
2012-12-09 01:04:49 -08:00 |
|
Unknown W. Brackets
|
a67505761e
|
Mutexes and semaphores were rescheduling twice.
This was causing it to "jump" the correct thread and go to the next.
|
2012-12-07 00:46:18 -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 |
|
Unknown W. Brackets
|
48c5efd0c2
|
Match hw timing of mutex/sema timeouts better.
Affects some tests passing/not passing due to minor timing issues, ugh.
|
2012-11-30 22:58:42 -08:00 |
|
Unknown W. Brackets
|
7164638799
|
Allow semaphores with waiters to signal.
If the max is 1, but there's 1 waiting, it's okay to signal 2.
Really, the final result is what matters.
|
2012-11-30 22:58:41 -08:00 |
|
Unknown W. Brackets
|
3ab41e515d
|
Mutexes and semaphores don't always reschedule.
It's just the normal rescheduling happening. Previous tests weren't
correct.
Also some minor cleanup.
|
2012-11-30 22:58:41 -08:00 |
|
Ced2911
|
6db4ea2ad1
|
less Memory::GetPointer
|
2012-11-27 10:18:36 +01:00 |
|
Unknown W. Brackets
|
d3f2d9d10b
|
Use u64 here to avoid warnings, better precision.
The timeout value is u32 anyway, so an int was already a loss.
|
2012-11-22 16:40:26 -08:00 |
|
Unknown W. Brackets
|
b71d998a20
|
Broadcast a threadend event to wake mutexes.
|
2012-11-20 02:20:16 -08:00 |
|
Unknown W. Brackets
|
8da2fb074c
|
For mutexes/semaphores, register a global timer.
Instead of leaking one per each. Should be faster.
Since we can only wait on one thing per thread at a time, this is fine.
|
2012-11-20 02:20:16 -08:00 |
|
Unknown W. Brackets
|
a81c138004
|
Create and Delete LwMutex funcs.
|
2012-11-20 02:20:15 -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
|
fd41851503
|
Implement timeouts on semaphores too.
|
2012-11-20 02:20:14 -08:00 |
|
Unknown W. Brackets
|
40a6ebfabe
|
Fix sceKernelCancelSema() to handle any negative.
So the test isn't failing.
|
2012-11-20 02:19:21 -08:00 |
|
Unknown W. Brackets
|
157858819b
|
Additional semaphore fixes with updated tests.
|
2012-11-17 01:43:01 -08:00 |
|
Unknown W. Brackets
|
2e9e61dfc6
|
CancelSema: adjust scheduling to match PSP.
|
2012-11-16 01:50:26 -08:00 |
|
Unknown W. Brackets
|
8517fbe761
|
PollSema: don't allow values <= 0.
|
2012-11-16 01:41:54 -08:00 |
|
Unknown W. Brackets
|
71e57043e8
|
SignalSema: throw an error on overflow.
This is what the PSP does.
|
2012-11-16 01:32:00 -08:00 |
|
Unknown W. Brackets
|
dd14450424
|
CreateSema: Truncate and validate like the PSP.
|
2012-11-16 01:26:04 -08:00 |
|
Unknown W. Brackets
|
0ab19c18e5
|
Wrap sceKernelCreateSema().
|
2012-11-16 00:06:44 -08:00 |
|
Unknown W. Brackets
|
4191d40187
|
Add notes about PRIORITY attribute.
Not supported yet.
|
2012-11-15 23:55:23 -08:00 |
|
Unknown W. Brackets
|
306274ffdf
|
Fix iterator in sceKernelSignalSema().
I'm sure we dont' want to change s.
|
2012-11-14 07:42:21 -08:00 |
|
Unknown W. Brackets
|
5c69d6169f
|
Use WriteStruct() in sceKernelReferSemaStatus().
|
2012-11-14 00:13:17 -08:00 |
|
Unknown W. Brackets
|
f37dd7fefe
|
Fix $v0 on wrong thread in semaphore funcs.
Need to RETURN() prior to switching threads or it will write to the
wrong thread, oops.
|
2012-11-12 07:24:40 -08:00 |
|
Unknown W. Brackets
|
33559d23db
|
sceKernelDeleteSema() not returning 0?
Seems to be a bug outside this func, adding a comment at least.
|
2012-11-11 19:03:37 -08:00 |
|
Unknown W. Brackets
|
b58032039b
|
Cleanup sceKernel semaphore funcs.
Remove some duplication of code so it's cleaner.
|
2012-11-11 18:54:06 -08:00 |
|
Unknown W. Brackets
|
a69fd56573
|
Implement sceKernelCancelSema() based on jpcsp.
Don't have any tests/users, but this jpcsp's behavior seems sane.
|
2012-11-11 18:33:13 -08:00 |
|
Unknown W. Brackets
|
e7b6487c4e
|
Wrap sceKernel DeleteSema and CancelSema.
Also fix copy/paste mistake from SignalSema func.
|
2012-11-11 18:30:13 -08:00 |
|
Unknown W. Brackets
|
70809bf1f5
|
Make sceKernelDeleteSema() resume waiting threads.
This makes threads/semaphores *almost* pass.
It's now failing from sceKernelStartThread() or something, though.
|
2012-11-11 18:10:33 -08:00 |
|
Unknown W. Brackets
|
deab1c21b7
|
Fix sceKernelSignalSema().
Handle numWaitThreads and currentCount more correctly.
Well, I'm not 100% sure it's totally right now but it matches the test.
|
2012-11-11 17:59:15 -08:00 |
|
Unknown W. Brackets
|
8e2fff97bf
|
Wrap a few semaphore sceKernel* funcs.
|
2012-11-11 17:57:35 -08:00 |
|
Unknown W. Brackets
|
3acca0f941
|
Fix crash in sceKernelReferSemaStatus.
This was crashing threads/semaphores, and also PQ2 (and maybe other games.)
Note: threads/semaphores still not passing.
|
2012-11-11 17:05:44 -08:00 |
|
Henrik Rydgard
|
1b90a8b327
|
Another memstick ioctl, minor fixes
|
2012-11-09 10:01:54 +01:00 |
|
Henrik Rydgard
|
aea0580297
|
More reworking of Callbacks, plus some other little fixes.
|
2012-11-07 15:44:48 +01:00 |
|
Henrik Rydgard
|
c61d10363a
|
Rewrite callback handling, part 1. All sorts of other fixes too.
|
2012-11-06 15:46:46 +01:00 |
|
Henrik Rydgard
|
b214a1a1da
|
Revert "Better wrapper system, and fixed warnings"
This reverts commit a00b1855cb .
Conflicts:
Core/HLE/FunctionWrappers.h
Core/HLE/sceCtrl.cpp
Core/HLE/sceKernelModule.cpp
|
2012-11-05 10:05:09 +01:00 |
|
Henrik Rydgard
|
6bed1afb72
|
Merge branch 'master' of https://github.com/artart78/ppsspp into artart78-master
|
2012-11-04 23:59:26 +01:00 |
|
Henrik Rydgard
|
64cc573703
|
Switch to "GPL 2.0 or later" for various reasons. I wrote most of the code I imported from Dolphin (which is GPL2-but-not-later), so it should be OK.
|
2012-11-04 23:24:00 +01:00 |
|
Arthur Blot
|
a00b1855cb
|
Better wrapper system, and fixed warnings
|
2012-11-04 15:08:23 +01:00 |
|
Henrik Rydgard
|
4f7ad15758
|
Add snapshot of the whole source code.
|
2012-11-01 16:19:01 +01:00 |
|