493 Commits

Author SHA1 Message Date
Unknown W. Brackets
f716d781b6 Retain threadend waits in savestates.
Oops, been broken since 3fb2c8f654.
2013-11-02 17:40:23 -07:00
Unknown W. Brackets
9ebaf7b68b Fill registers with 0xDEADBEEF after most syscalls.
Some, like sceMpegRingbufferPut(), we don't, since... it's complicated.
But most we do, like a real PSP does.
2013-10-30 00:47:04 -07:00
Unknown W. Brackets
04ec987448 Initialize thread regs with 0xDEADBEEF.
Also initialize the float regs to NaN.
2013-10-29 21:39:24 -07:00
Unknown W. Brackets
95c68ae1e7 Assert some unlikely buffer overflows. 2013-10-26 18:30:55 -07:00
Henrik Rydgard
bf89c01215 When atrac3+ decoding fails, stop decoding silently-ish instead of decoding garbage, spamming the log 2013-10-21 23:10:30 +02:00
Unknown W. Brackets
f5e0d80ead Pass arguments to root threads same as regular.
Before it would have issues or crash if the args were > 256 bytes.
Fixes Ys 1 & 2 Chronicles.
2013-10-16 01:31:58 -07:00
Unknown W. Brackets
e06889069c Don't use the destructor to free thread stacks.
If we do, kernelObjects.clear() will trash perfectly good memory on
loading a state.  I guess it also makes shutdown slower.

Fixes #4186.
2013-10-14 22:09:16 -07:00
Unknown W. Brackets
a194006aad Fix crash deleting a never started thread.
Fixes #4069.
2013-10-08 22:39:49 -07:00
Unknown W. Brackets
5be30fb857 Add support for the clear stack thread attr. 2013-10-06 12:16:58 -07:00
Unknown W. Brackets
b928f50353 Cleanup sceKernelRegisterExitCallback() per tests. 2013-09-29 01:10:07 -07:00
Unknown W. Brackets
a7ec139b5a Savestate the exit callback, reporting.
Seems like LoadExecForUser_362A956B() uses it, so we need to save it.
I have no confidence that function works correctly, so let's report it.
2013-09-29 00:19:54 -07:00
Unknown W. Brackets
50e9e45d65 Check version in each DoState() func.
They bail on PointerWrap error or bad version.
2013-09-14 20:23:03 -07:00
Unknown W. Brackets
ca6491ea22 Auto resume dispatch at thread start/create. 2013-09-12 08:02:43 -07:00
Unknown W. Brackets
b898e397aa Correct sceKernelGetThreadStackFreeSize().
It was always returning 0.
2013-09-10 01:31:03 -07:00
Unknown W. Brackets
0f7ac377cd Offset the root thread's stack by arg size.
Otherwise it'll just overwrite, right?
2013-09-10 01:12:51 -07:00
Unknown W. Brackets
ada492febe Fix really stupid heap corruption mistake. 2013-09-09 22:33:17 -07:00
Unknown W. Brackets
ccf021cef0 Return a negative error code in __KernelGetWaitID.
This way we can use 0 as a proper wait id.
2013-09-09 21:39:56 -07:00
Unknown W. Brackets
2577f65b80 Reset waits when terminating a thread.
Terminated threads can't be waiting.
2013-09-09 21:39:38 -07:00
Unknown W. Brackets
e19fdef0fd Reset thread priority on terminate. 2013-09-09 21:31:04 -07:00
Unknown W. Brackets
a3637a1cad Set the low mystery bits of the thread attr.
Tests on PSP show this, and I can't find a way to not have them set.
But I don't really know what they mean.

Anyway, since you can refer the status, you can see them, may improve
compatibility.
2013-09-09 20:51:52 -07:00
Unknown W. Brackets
0af3c50924 Eat cycles after creating a thread.
Improves things on some tests, should be more accurate.
Creating a thread sure takes a long time.
2013-09-09 20:49:30 -07:00
Unknown W. Brackets
1481bbdd3b Validate and report some thread attributes. 2013-09-09 20:48:23 -07:00
Unknown W. Brackets
ce4c0d85bb Support some thread stack attr options.
May improve memory management in some games.
2013-09-09 20:46:19 -07:00
Unknown W. Brackets
1040123a97 Delete callbacks when their thread is deleted. 2013-09-09 00:22:00 -07:00
Unknown W. Brackets
4bba276696 Run callbacks in creation order, not notify order. 2013-09-09 00:21:59 -07:00