Commit Graph

337 Commits

Author SHA1 Message Date
Unknown W. Brackets
cb4e72058a Report usage if callback "injection."
These are generally giving incorrect results, but it will help to know
what games are triggering it.
2014-01-26 18:41:42 -08:00
Unknown W. Brackets
efa6640807 Report any missing wait type handling funcs. 2014-01-26 17:14:11 -08:00
Ced2911
2c522cda9a [core] fix some endian bugs 2014-01-26 14:26:27 -08:00
Unknown W. Brackets
ab49de0331 Eat some cycles when getting the current thread id. 2014-01-19 12:44:55 -08:00
Unknown W. Brackets
73d6accafc Eat a few cycles when checking callbacks.
Some games really spam this function.
2014-01-19 12:44:54 -08:00
Unknown W. Brackets
553990d5a0 Eat cycles when messing with the dispatch thread. 2014-01-19 12:44:53 -08:00
Unknown W. Brackets
1a38f6fa7d Properly remove terminated thread from ready queue.
If we change the priority first, we'll remove from the wrong priority
level, oops.  Gotta change afterward.

Should improve Darkstalkers Chronicle: The Chaos Tower.
2014-01-09 22:05:04 -08:00
Unknown W. Brackets
183b4cb45c Add a static method for creating PSPPointers.
This is still kinda ugly, but the assignment thing was just too ugly, I
couldn't do it anymore.
2013-12-16 23:50:52 -08:00
Unknown W. Brackets
e73d43c434 Correct sceKernelTlspl func names, etc.
This is mostly pedantic but it's nice to have the right names.
2013-12-02 23:40:16 -08:00
Unknown W. Brackets
7dedf54bc3 Always resched in thread queue rotation.
It might be time to reschedule anyway, some games call this in a loop with
an empty queue.

May help Harukanaru Toki No Naka de Hachiyoushou (#4669.)
2013-11-29 08:59:47 -08:00
Henrik Rydgard
f9f6e9492d Reorder vfpu data in saved kernel contexts when loading in a new version. 2013-11-28 13:27:51 +01:00
Henrik Rydgard
55500d4bb6 Reorder VFPU registers in memory so that we can flush and reload them in bulk more often.
Doesn't actually do that yet, that's for the NEON branch.
2013-11-28 13:27:51 +01:00
Unknown W. Brackets
41a7157aa6 Eat some cycles when changing thread priority.
Some games call this a lot.
2013-11-28 01:01:22 -08:00
Unknown W. Brackets
21c9577801 Initialize fcr31 correctly (even though unsup.) 2013-11-14 23:44:49 -08:00
Unknown W. Brackets
26f5922174 Return the correct value for fcr0/fir.
This is what the PSP actually returns, it's read only.
2013-11-14 23:39:08 -08:00
Unknown W. Brackets
baa82e0a9d Keep syscalls the same in the interpreter.
Rather than having different bugs.
2013-11-04 07:59:36 -08:00
Henrik Rydgård
b2298a9e86 Merge pull request #4420 from unknownbrackets/savestates
Enable rewind feature in UI, fix a savestate bug
2013-11-03 03:21:51 -08:00
Unknown W. Brackets
d400b1a67b Keep track of the current thread obj.
To reduce overhead/improve perf.  Actually, it used to be only the current
thread object, but now it's just a cache with accessors.
2013-11-02 22:12:44 -07:00
Unknown W. Brackets
738dfc84e4 Speed up __GetCurrentThread(), it's called a lot.
This only needs to be an assertion.
2013-11-02 22:12:43 -07:00
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