Unknown W. Brackets
909ac62669
Return a proper error for fake TMIDs.
2014-08-17 14:38:56 -07:00
Unknown W. Brackets
6852e32d6b
Support other thread TMIDs in uid listing.
2014-08-17 14:38:55 -07:00
Unknown W. Brackets
b8f8707ea1
Allow a bad pts on zero size when listing uids.
2014-08-17 14:38:55 -07:00
Unknown W. Brackets
feeb03b5ff
Fix return values in sceKernelGetThreadmanIdList().
...
Support other object types as well, but not threads/etc. properly yet.
2014-08-17 14:38:54 -07:00
Unknown W. Brackets
292a9ea567
Clear module text and bss on unload.
...
Text is set to break instructions, data/bss to -1. Matches results on a
PSP.
2014-07-13 22:00:32 -07:00
Unknown W. Brackets
98d3dc4be8
Typos.
2014-07-12 13:48:30 -07:00
Unknown W. Brackets
ef4847b6f5
Don't double decrease g_inCbCount.
...
Happened when a thread was deleted, it seems like. Fixes #6542 .
2014-07-12 09:57:13 -07:00
Unknown W. Brackets
0a33eb4c42
Fix missing log semicolons only affecting logging.
2014-06-29 19:09:39 -07:00
Unknown W. Brackets
0078faef8b
Fix some log semicolons that might affect logic.
...
But, these should all be right.
2014-06-29 19:09:38 -07:00
Unknown W. Brackets
1c3b60a8ee
Allow changing software skinning at runtime.
2014-06-28 21:46:43 -07:00
Unknown W. Brackets
b4594c7bc5
Avoid Advance() twice, cleanup some comments.
2014-06-28 16:20:35 -07:00
Unknown W. Brackets
b68ad3844e
Simplify __KernelReSchedule().
...
It no longer needs all these checks, and we can Advance within callbacks,
interrupts, etc. safely.
2014-06-28 16:17:52 -07:00
Unknown W. Brackets
0edeb085ab
Allow rescheduling within callbacks.
2014-06-28 14:58:56 -07:00
Unknown W. Brackets
10096b94f2
Correctly remember callback status when sleeping.
...
If a callback triggered right away after a sceKernelSleepThreadCB(), it
would trigger the "current callback" and remember callback status as
false, instead of true (since it was set later.)
This corrects that by ignoring it if both are set.
2014-06-28 03:06:30 -07:00
Unknown W. Brackets
5ab3750186
Reduce the thread switching cost.
...
Maybe it was actually too high. Some tests fail with it that high.
2014-06-27 01:00:11 -07:00
Unknown W. Brackets
4626e63294
Wake good pri threads immediately from delays.
2014-06-24 00:45:38 -07:00
Unknown W. Brackets
118736ff75
Don't eat extra cycles when idling.
...
Rescheduling between threads takes about 3000 cycles, but that's not true
for both sides of e.g. a delay.
Fixes #6409 (assuming 60fps is what a PSP gets.)
2014-06-23 23:02:46 -07:00
Unknown W. Brackets
c1e293fe7c
Fix a warning on 32-bit that might be bad...
2014-06-22 22:17:48 -07:00
Unknown W. Brackets
392edb4f84
Eat some cycles when switching threads.
...
There's a cost and it seems to be at least this much. Matters for
Wipeout Pure when callbacks are allowed to wait.
2014-06-22 22:17:47 -07:00
Unknown W. Brackets
e8803c4e9b
Improve sceKernelDelayThread() timing.
...
A delay of 0 never reschedules, actually, unless there's a better priority
thread. A greater delay depends on if a >= or similar check matches, but
generally is at least 200us.
It seems like this actually completes in at least another 10-20us.
2014-06-22 19:47:54 -07:00
Unknown W. Brackets
8851fc1685
Remove savedIdRegister/MIPS_CALL_ID.
...
We've never trusted it anyway, simpler without dealing with this stuff.
2014-06-22 11:29:47 -07:00
Unknown W. Brackets
c142207a93
Fix a few warnings, mostly type comparisons.
2014-05-31 21:42:57 -07:00
Unknown W. Brackets
b9ede6aade
Add a class to create helper threads from HLE.
...
This should be usable from sceIo as well.
2014-05-22 23:38:21 -07:00
Henrik Rydgard
89fbe8f761
Reduce some logspam
2014-05-08 10:40:58 +02:00
Unknown W. Brackets
641064f0bc
Consistently use MIPS_REG_V0 for return values.
...
This way all instances are a lot easier to search for (was trying to find
where we were writing an incorrect value to v0, turns out to be callback
related of course.)
2014-03-04 08:21:55 -08:00