Commit graph

49 commits

Author SHA1 Message Date
Unknown W. Brackets
543df7ca7a Refactor wait timeouts.
Also, make them not write the timeout ptr if the thread stopped waiting.
Feels safer.
2013-09-03 22:32:22 -07:00
Unknown W. Brackets
7349de55d1 Fix some initialization/sprintf warnings. 2013-09-01 01:15:07 -07:00
Henrik Rydgard
0d0b43818c Warning fixes and stuff 2013-08-30 20:14:16 +02:00
Unknown W. Brackets
686d893d5c Return more correct errors inside interrupts. 2013-08-28 22:35:06 -07:00
Unknown W. Brackets
61fae4e920 Return proper errors while dispatch disabled.
In at least the majority of waits.
2013-08-27 23:55:37 -07:00
Unknown W. Brackets
354dbfec6c Improve some reporting of options structs. 2013-08-25 16:43:47 -07:00
Unknown W. Brackets
ec46fdd06c Warning fixes in msgpipes. 2013-08-24 15:36:24 -07:00
Unknown W. Brackets
4f7f963274 Correct sceKernelReferMsgPipeStatus(). 2013-08-18 18:45:43 -07:00
Unknown W. Brackets
a53c5d291c Update result on non-buffer receive empty too. 2013-08-18 18:45:43 -07:00
Unknown W. Brackets
2d1b2bc769 Writing 0s on delete/cancel wasn't right after all. 2013-08-18 18:45:43 -07:00
Unknown W. Brackets
642e7b255e Drain as much as possible before waiting. 2013-08-18 18:45:42 -07:00
Unknown W. Brackets
e6236a1d31 Fix sceKernelReceiveMsgPipe() with no buffer.
And simplify, reschedule correctly.
2013-08-18 18:45:42 -07:00
Unknown W. Brackets
b7ea35b71d Add some error checking to msgpipe receives. 2013-08-18 18:38:14 -07:00
Unknown W. Brackets
e2f0dfe243 Wrap sceKernelReceiveMsgPipe() and friends. 2013-08-18 18:38:14 -07:00
Unknown W. Brackets
6750794c8a Fix a weird sceKernelTrySendMsgPipe() edge case. 2013-08-18 18:38:12 -07:00
Unknown W. Brackets
769bac3acf Fix send of 0 bytes, more error handling. 2013-08-18 18:38:12 -07:00
Unknown W. Brackets
29067edf52 When sorting, also clear not waiting threads. 2013-08-18 18:38:11 -07:00
Unknown W. Brackets
23625eec30 Simplify and fix msgpipe send queuing logic.
Should reschedule, should wait in line, couple error messages.
2013-08-18 18:38:11 -07:00
Unknown W. Brackets
27268967f9 Sort msgpipe waits while waking (like others.) 2013-08-18 18:38:10 -07:00
Unknown W. Brackets
4be06d2432 Wrap the msgpipe send functions. 2013-08-18 18:38:10 -07:00
Unknown W. Brackets
653e0f9629 Don't wait on a msgpipe when timeout <= 2. 2013-08-18 18:38:09 -07:00
Unknown W. Brackets
8a5dadcf53 Start out with 0 written msgpipe bytes. 2013-08-18 18:38:09 -07:00
Unknown W. Brackets
b06de35536 Verify msgpipe threads are waiting before waking. 2013-08-18 18:38:08 -07:00
Unknown W. Brackets
b9a71640eb Implement basic timeouts for msg pipes. 2013-08-18 18:38:08 -07:00
Unknown W. Brackets
88b333bd16 Don't even try to allocate a 0 sized buffer. 2013-08-18 18:38:07 -07:00
Unknown W. Brackets
fa73875c98 Clean up cancel and delete for msgpipes. 2013-08-18 18:38:07 -07:00
Unknown W. Brackets
23a48ba799 Return better results from msgpipe waits.
Not fully tested, but it's clearer to specify.  Delete and cancel are sure
to have been wrong.
2013-08-18 18:38:06 -07:00
Unknown W. Brackets
6577a7f920 Cleanup some minor usage in msgpipes. 2013-08-18 18:38:06 -07:00
Unknown W. Brackets
666cee4f6a Fix sceKernelCreateMsgPipe() and alloc psp memory.
Might not matter, but I'm not sure yet if it's expoesd somewhere.
2013-08-18 18:38:05 -07:00
Unknown W. Brackets
81f7103e0b Use *_le for the sceKernel* funcs. 2013-07-25 08:04:34 -07:00
Unknown W. Brackets
933c8abb55 Check kernel object types when looking up ids.
Some games misuse it, need to return an error.
2013-06-18 23:54:29 -07:00
Unknown W. Brackets
25f1001db3 Priority-based msgpipes never woke anyone.
Really need to write tests for this and get into it, I guess...

Fixes Final Fantasy Tactics.
2013-03-31 16:58:15 -07:00
Unknown W. Brackets
2a6457b6ab Cut down on h files including PointerWrap.
This makes changes to it a bit faster to build.
2013-02-04 08:26:59 -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
140fd171ef Fix some 64-bit type conversion warnings. 2013-01-19 13:48:20 -08:00
Henrik Rydgård
95c4e0b9c4 Quick build fix for gcc 2012-12-28 23:33:00 +01:00
Unknown W. Brackets
bcecd881b1 Savestate cleanup + be more careful with vectors.
For some reason I debugged it going into std::string so I just made
them all more explicit which fixed everything.
2012-12-28 13:55:31 -08:00
Unknown W. Brackets
644e6b615c Fix memory leak in msgpipe when loading state. 2012-12-28 13:55:31 -08:00
Unknown W. Brackets
19aaca2705 Start save stating audio, plus minor fixes. 2012-12-28 13:55:29 -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
991243fffd Add basic DoState() to tertiary kernel objects. 2012-12-28 13:52:52 -08:00
Unknown W. Brackets
217bdc275e Fix some type-conversion warnings. 2012-12-21 16:07:38 -08:00
Arthur Blot
e45ce3af96 Implemented message pipes (may have issues) 2012-11-10 23:17:15 +01:00
Henrik Rydgard
aea0580297 More reworking of Callbacks, plus some other little fixes. 2012-11-07 15:44:48 +01:00
Henrik Rydgard
b214a1a1da Revert "Better wrapper system, and fixed warnings"
This reverts commit a00b1855cb.

Conflicts:

	Core/HLE/FunctionWrappers.h
	Core/HLE/sceCtrl.cpp
	Core/HLE/sceKernelModule.cpp
2012-11-05 10:05:09 +01:00
Henrik Rydgard
6bed1afb72 Merge branch 'master' of https://github.com/artart78/ppsspp into artart78-master 2012-11-04 23:59:26 +01:00
Henrik Rydgard
64cc573703 Switch to "GPL 2.0 or later" for various reasons. I wrote most of the code I imported from Dolphin (which is GPL2-but-not-later), so it should be OK. 2012-11-04 23:24:00 +01:00
Arthur Blot
a00b1855cb Better wrapper system, and fixed warnings 2012-11-04 15:08:23 +01:00
Henrik Rydgard
4f7ad15758 Add snapshot of the whole source code. 2012-11-01 16:19:01 +01:00