Commit graph

147 commits

Author SHA1 Message Date
Unknown W. Brackets
1bf974aff6 Implement VPL/FPL callback handlers.
Smells like time to refactor, there are less differences than I expected.
2013-09-03 01:21:51 -07:00
Unknown W. Brackets
252bf04c64 sceKernelDelaySysClockThread() cleanup.
It doesn't wait either of course.
2013-08-27 23:55:35 -07:00
Unknown W. Brackets
fa57e23305 Implement volatile memory lock waiting. 2013-08-26 01:04:37 -07:00
Unknown W. Brackets
846178a588 Optimize thread switching a bit.
~2.5% improvement in Zettai Hero Project (while multithreading.)
2013-08-15 01:26:16 -07:00
Unknown W. Brackets
7ac67a8931 Add a function to walk the stack, not yet perfect.
Could use improvements, but with a decent symbol table does very well so
far in the games I tested it in.
2013-08-12 01:54:14 -07:00
Unknown W. Brackets
4a4f07df8e Add waiting/resuming to TLS funcs.
Nice and simple, no callbacks or timeouts.
2013-07-31 00:22:36 -07:00
Unknown W. Brackets
81f7103e0b Use *_le for the sceKernel* funcs. 2013-07-25 08:04:34 -07:00
Unknown W. Brackets
88ce95470c This one is worth reporting. 2013-07-07 18:10:32 -07:00
Kingcom
82c242f237 Added "Wait type" and "Priority" columns to thread list 2013-07-06 21:40:41 +02:00
Unknown W. Brackets
0c41d4e952 Don't allow release wait for HLE delays.
Although, presumably the thread would stop waiting, I guess the HLE func
in most cases probably checks and re-waits?

Fixes breakage in Jeanne d' Arc, which constantly releases from wait the
main thread, but calls things like sceMpegCreate which do block.
2013-06-08 23:39:49 -07:00
Unknown W. Brackets
32a557803b Reporting in sceKernelChangeCurrentThreadAttr(). 2013-06-06 00:08:24 -07:00
Unknown W. Brackets
e16cd7d9d9 Validate params in sceKernelChangeThreadPriority(). 2013-06-05 23:04:42 -07:00
Unknown W. Brackets
f397f83b4f Buildfix for Mac / iOS. 2013-05-26 19:02:40 -07:00
Unknown W. Brackets
0d828554bc Add a wait type for modules to handle return right. 2013-05-26 10:54:11 -07:00
Unknown W. Brackets
c34854ead3 Use a custom RA for module funcs. Not used yet.
But it will be.
2013-05-26 10:28:08 -07:00
Unknown W. Brackets
a779645152 Wrap sceKernelGetThreadExitStatus().
So it's usable internally too.
2013-05-26 10:17:59 -07:00
Unknown W. Brackets
e6795b1a41 Initial attempt at a suspend/resume thread impl. 2013-05-26 01:01:29 -07:00
Unknown W. Brackets
084ad5aa53 Wrap the sleep/wakeup HLE funcs. 2013-05-25 20:43:19 -07:00
Unknown W. Brackets
0fb5877d75 Implement sceKernelExtendThreadStack().
Fixes #1833.  Implemented using fake nids instead of callbacks since
it's simpler to get them (and waits and recursion) right.
2013-05-18 20:21:28 -07:00
nachume
2181b76c42 ISO that replaced EBOOT.BIN is playable.
implement LoadExecForUer_362A956B() and sceKernelRegisterExitCallback.
Add some ERROR define on kernel.h. I was referring to the jpcsp.
2013-05-04 20:34:33 +09:00
Unknown W. Brackets
d131588a6d Validate sceKernelStartThread() args better. 2013-04-28 00:34:49 -07:00
JimLee168
3ce26e03df Add part sceKernelExtendThreadStack content
Fixes NPJH50624
2013-04-19 22:22:35 +08:00
Unknown W. Brackets
efd71e2444 Make sceKernelNotifyCallback() error if invalid cb.
Which makes Numblast clearly happy.
2013-04-14 23:45:46 -07:00
Henrik Rydgård
b5b13c6ab5 Merge pull request #1251 from unknownbrackets/module-minor
Cleanup sceKernelGetModuleIdByAddress()
2013-04-11 00:45:42 -07:00
Unknown W. Brackets
5aceceecd3 Remove global module id var hacks.
Nothing needs them anymore.
2013-04-10 21:16:31 -07:00
Unknown W. Brackets
1f1560a9d6 Don't mark sceKernelExitThread() as an error.
Also, add some reporting and make the sceKernelCreateThread log message
shorter.
2013-04-09 23:23:10 -07:00
Unknown W. Brackets
5e14cab945 Don't save vregs for threads that don't use them. 2013-04-07 11:47:00 -07:00
Unknown W. Brackets
65ac7389d7 Don't get stuck on idle when interrupts run.
This was happening when the dispatch thread was disabled.
2013-04-06 17:04:20 -07:00
Unknown W. Brackets
fb26941a27 Implement sceGeListSync(). 2013-04-06 02:30:38 -07:00
Unknown W. Brackets
c57954a72e Implement sceGeDrawSync(). 2013-04-06 02:30:37 -07:00
Unknown W. Brackets
fe60677f75 Make mutexes handle callbacks better + before.
Mutex and semaphores (but NOT lwmutexes) call callbacks before attempting
the lock, but only if it would not generate errors.

Have not yet tested other wait types.
2013-03-30 16:12:38 -07:00
Unknown W. Brackets
eace0e75c1 sceKernelWaitSemaCB() should run callbacks first.
Patapon 2 gets back to the menu with this.
2013-03-30 16:12:38 -07:00
Unknown W. Brackets
d2abdf17be Add a waittype registry to handle callbacks right. 2013-03-30 16:12:37 -07:00
Unknown W. Brackets
276037675f Prevent waiting on semas while dispatch disabled.
Does relatively well on tests this way.
2013-03-24 23:30:32 -07:00
Henrik Rydgard
84d292010a Oops, sceKernelCheckThreadStack was already implemented. Let's hope both copies are the same. 2013-03-23 14:41:13 +01:00
Henrik Rydgard
6a4ae5bb51 Implement sceKernelCheckThreadStack 2013-03-23 14:26:54 +01:00
Unknown W. Brackets
0b9c248856 Reschedule in sceIoLseek() etc.
Also make it so we can return u64s easily in places...
2013-03-11 02:50:32 -07:00
Unknown W. Brackets
0b097fb67b Make async IO actually wait for completion. 2013-03-11 02:50:32 -07:00
Unknown W. Brackets
118050485f Show the current thread name in the log file.
This is very useful, although it kinda entwines the logging a bit
more than might be desired.
2013-03-10 22:25:03 -07:00
Unknown W. Brackets
6b7ff47617 Improve perf of __KernelExecutePendingMipsCalls().
This was using ~3% in many games with fast forward.  It was all
the RTL type lookup, so avoiding it is an easy win.
2013-03-09 14:21:21 -08:00
Unknown W. Brackets
db52d3d43c Quick and dirty attempt to delay loadmodule. 2013-03-07 22:45:58 -08:00
Unknown W. Brackets
62ab4b7f51 More signed compare warnings. 2013-03-02 15:34:16 -08:00
Xele02
69b837f18b Add debug dialogs (DisAsm, Memory, VFPU).
New features : Breakpoint display, thread status, display list status
Update translation and start french translation
2013-02-10 17:33:34 +01:00
Unknown W. Brackets
411c711dac Initial sceKernelRotateThreadReadyQueue().
Might not be right but it's closer.
Makes games that call this func much faster.
2013-02-09 16:04:34 -08:00
raven02
24c720892c Add few stubs seen from Dragon Ball Z Tenkaichi Tag Team 2013-02-04 03:19:55 +08:00
Unknown W. Brackets
d1c2d5ddc4 Loading a savestate crashed with active mipscalls. 2013-02-02 18:46:23 -08:00
Unknown W. Brackets
fcdaf3c9c4 Return of mipscalls should be handled by actions. 2013-02-02 18:09:00 -08:00
Unknown W. Brackets
31eeb3d50b Make sceKernelStartModule() do something.
Doesn't work right, but gets somewhere?
2013-02-02 16:22:33 -08:00
Unknown W. Brackets
7f4e322266 Cut thread switching time down.
Based on profiling release Windows.

Took these funcs from taking 1.6% to 0.5% time.
2013-01-26 11:29:20 -08:00
Unknown W. Brackets
a6094e25ff Get rid of waitTypeStrings and resched reason copy. 2013-01-26 11:29:20 -08:00