Commit graph

81 commits

Author SHA1 Message Date
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
Unknown W. Brackets
1cb7a88137 Don't use a dynamic string for wait debugging.
Happens in release, and shows up on the profiler.
Not huge, but should save ~0.5% of cpu time.
2013-01-26 11:29:19 -08:00
Unknown W. Brackets
4a56873541 Properly wake semaphores in priority order. 2013-01-18 01:38:13 -08:00
Unknown W. Brackets
1f21ea4236 Implement sceKernelReleaseWaitThread(). 2013-01-07 19:44:39 -08:00
Unknown W. Brackets
5ac7f6a211 Clean up sceKernelWaitThreadEnd() wrappers. 2013-01-07 10:02:11 -08:00
Unknown W. Brackets
21cfd087e1 Move Action out of Common, don't use savedV0.
Compiler error was annoying me anyway.
2013-01-06 15:56:13 -08:00
Henrik Rydgard
9fe592e83a Implement sceKernelDelaySysClockThreadCB 2013-01-05 23:24:05 +01:00
Henrik Rydgard
b283b915cb Implement sceKernelReferThreadRunStatus 2013-01-05 23:07:13 +01:00
Henrik Rydgard
5ba5ceff19 Merge branch 'master' into mediaengine 2013-01-05 16:22:08 +01:00
Henrik Rydgård
1ea34bb6e8 Stub out all of VTimer. 2012-12-30 21:30:33 +01:00
Unknown W. Brackets
ac2768640a Add save stating changes to mediaengine.
Also makes it compile again.
2012-12-28 23:29:24 -08:00
Unknown W. Brackets
6f9f9e1c98 Merge branch 'master' into mediaengine.
Note: doesn't compile, just fixes conflicts.

Conflicts:
	Core/HLE/sceKernel.cpp
	Core/HLE/sceKernelThread.cpp
	Core/HLE/sceKernelThread.h
2012-12-28 22:32:56 -08:00
Unknown W. Brackets
a8c9c31e16 Add a registry for actions so they can be stated.
Also add late loaders to ensure things are hooked up properly.
2012-12-28 13:55:26 -08:00
Unknown W. Brackets
595759ef78 Implement a factory for kernel objects.
Couldn't think of a better way to do this, maybe there's some fancy
one I don't know about.

Also finished up a couple left over kernel objects.

Maybe a quarter the way there?
2012-12-28 13:55:22 -08:00
Unknown W. Brackets
35a38ac6b9 Ensure interrupts don't run on real threads.
If a thread waits on a sema, and an interrupt (such as an alarm) happens,
and the interrupt signals or deletes the sema, it needs to return the
value correctly.

For callbacks, it's injected, since they run on thread.  But interrupts
aren't supposed to run on thread anyway, so this switches to idle.
2012-12-18 01:49:53 -08:00
Henrik Rydgard
ab35c7f612 Merge branch 'master' into mediaengine 2012-12-18 00:05:09 +01:00
Henrik Rydgard
5a11d4d9c5 Implement sceKernelGetThreadmanIdList (partially) 2012-12-17 22:21:17 +01:00