Commit Graph
110 Commits
Author SHA1 Message Date
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
Henrik Rydgard cb29c1ce4b Don't use __KernelTriggerWait in sceDisplay 2012-12-17 20:14:54 +01:00
Henrik Rydgard bc214dcf37 Merge branch 'master' into mediaengine
Conflicts:
	Common/LogManager.cpp
	Core/CMakeLists.txt
	Core/Core.vcxproj
	Core/Core.vcxproj.filters
	Core/CoreParameter.h
	Core/HLE/sceAudio.cpp
	Core/HLE/sceKernel.cpp
	Core/HLE/sceKernelThread.cpp
	Core/HLE/sceMpeg.cpp
	android/jni/Android.mk
2012-12-17 18:48:32 +01:00
Unknown W. Brackets f145bafc7a Wrap a few of the sceKernel*Thread funcs. 2012-12-09 01:04:54 -08:00
Unknown W. Brackets 92e519c24b Don't always reschedule after running callbacks.
When not waiting, usually only local callbacks are called.
Some functions are unique though.
2012-12-09 01:04:53 -08:00
Unknown W. Brackets 9cd47e210b Callbacks: Don't trust s0 to retain the call id.
Patapon 2 at least was not during a call, preventing injection.
Hardware doesn't have to deal with injection so not a problem.
2012-12-09 01:04:51 -08:00
Unknown W. Brackets 3f43ab5bb5 Callbacks are always fired on their own thread.
At least, as far as I can tell.  It does make sense too.
2012-12-09 01:04:50 -08:00
Unknown W. Brackets 15c05dc08c Implement sceKernelTerminateThread(), not fully.
It's mostly correct but needs some tests and TLC.
This allows threads to be restarted.
2012-12-07 00:46:19 -08:00
Unknown W. Brackets aea9b16a04 Add ctrl waits when there are no buffers yet. 2012-12-02 17:03:13 -08:00
Unknown W. Brackets 4abcb6a8ac Fix sceUmdWaitDriveStatCB() so it fires right away.
This makes Crisis Core actually show loading again.
2012-12-01 23:29:23 -08:00
Unknown W. Brackets c00f3dcdd8 Implement sceUmdCancelWaitDriveStat(). 2012-12-01 23:29:22 -08:00
Unknown W. Brackets fa9b9840d0 Implement LwMutex locking and unlocking. 2012-11-21 00:21:25 -08:00
Unknown W. Brackets b71d998a20 Broadcast a threadend event to wake mutexes. 2012-11-20 02:20:16 -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 4d71e32193 Update the value when mutexes timeout. 2012-11-20 02:20:14 -08:00
Unknown W. Brackets d88fa153b7 Implement timeouts on mutexes.
Still need to set timeoutPtr after they expire.
Pretty sure I did this the right way, seems CoreTiming does already
allow/use multiple events for the same type?
2012-11-20 02:20:13 -08:00
Unknown W. Brackets b9bb5c4cce Make sceKernelStartThread() reschedule.
Mutexes and semaphores are wrong, duh.
2012-11-20 02:20:13 -08:00
Henrik Rydgard 5a48578a12 Rewrite audio line output. Now deterministic (from the game's POV) and smoother. 2012-11-17 14:20:59 +01:00
Henrik Rydgard 8053c244b8 Implement large chunks of sceMpeg and scePsmf with JPSCP as a guide.
Not yet hooked up to FFMPEG and doesn't quite work yet.
2012-11-13 18:07:20 +01:00
Henrik Rydgard 4c1883e73f Some stubs, "NOP" out registerexitcallback, implement cancelwakeup 2012-11-12 00:04:57 +01:00
Henrik Rydgård bbf84229bc Merge pull request #30 from artart78/master
Message Pipes (+ test.py fixes for Linux)
2012-11-10 14:24:48 -08:00
Arthur Blot e45ce3af96 Implemented message pipes (may have issues) 2012-11-10 23:17:15 +01:00