Commit Graph

71 Commits

Author SHA1 Message Date
Unknown W. Brackets
bf50baf698 Cleanup some old typedefs. 2014-11-02 18:46:12 -08:00
Unknown W. Brackets
50402a3d49 Return NOT_YET_LINKED for unlinked module funcs. 2014-07-13 22:00:32 -07:00
Unknown W. Brackets
745c453b33 Remove hleAfterCheckAllCallbacks().
Not being used, doesn't make sense - rescheduling is what does that, only.
2014-06-28 03:10:30 -07:00
Unknown W. Brackets
10096b94f2 Correctly remember callback status when sleeping.
If a callback triggered right away after a sceKernelSleepThreadCB(), it
would trigger the "current callback" and remember callback status as
false, instead of true (since it was set later.)

This corrects that by ignoring it if both are set.
2014-06-28 03:06:30 -07:00
Unknown W. Brackets
6c4a614205 Wake good pri threads immediately from HLE delays. 2014-06-24 00:44:02 -07:00
Unknown W. Brackets
5f4a0d8174 Fix a few minor warnings. 2014-06-19 00:47:58 -07:00
Unknown W. Brackets
913914a4c1 Fix some type conversion warnings. 2014-06-15 10:01:54 -07:00
Unknown W. Brackets
03f86f364f Skip debug stepping time in list/func time.
Just makes the debug stats actually useful while stepping.  A bit of
overengineering, but it makes it easy to go frame-by-frame looking for
perf issues.
2014-06-14 08:42:18 -07:00
Henrik Rydgard
a31194a877 Add some sanity checks when looking up syscalls.
This may avoid crashing the emu when it starts executing junk (still not good of course, heh).
2014-06-08 13:03:03 +02:00
lioncash
b9886942a7 Fix some vertical alignments in misc Core source files. 2014-03-03 11:16:53 -05:00
Unknown W. Brackets
c7f1197ab1 Cut down on a debug check in release mode.
In Jewel Summoner, for example, this gets called a lot, and eats a
measurable percentage of time.
2014-03-01 15:14:17 -08:00
Henrik Rydgård
ce378b231f Delete CPU.cpp/h , cleanup 2013-12-30 00:11:29 +01:00
Unknown W. Brackets
dfbfed7534 Oops, avoid a crash on a bad HLE func.
In the debug stats area.
2013-11-04 08:03:50 -08:00
Unknown W. Brackets
732ae13ebb Fast path CallSyscall where possible.
It seems we're spending a decent amount of time there, which isn't
entirely unexpected.  We can eliminate some things easily.
2013-11-04 07:59:37 -08:00
Unknown W. Brackets
ee57498b16 Add a setting to skip 0xDEADBEEF reg filling.
For debugging purposes.  Can't think of a better way.
2013-10-30 07:28:52 -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
Henrik Rydgard
f7feefcb03 Cleanup: Remove a check that will never be true 2013-10-21 23:02:37 +02:00
Unknown W. Brackets
50e9e45d65 Check version in each DoState() func.
They bail on PointerWrap error or bad version.
2013-09-14 20:23:03 -07:00
Unknown W. Brackets
15f66f2ff2 Log when syscalls fail due to intr/dispatch. 2013-09-09 23:14:40 -07:00
Unknown W. Brackets
a05c78f8fc Keep unknown syscall reporting the same.
Oops.
2013-09-01 00:46:48 -07:00
Unknown W. Brackets
842e972a36 Unresolve function imports, track in loader. 2013-08-31 18:45:05 -07:00
Unknown W. Brackets
9311d405e9 Centralize and track imports/exports.
So that we can "unresolve" them.
2013-08-31 17:00:08 -07:00
Unknown W. Brackets
17a5a42a14 Disable some common waits inside interrupts. 2013-08-27 23:55:37 -07:00
Unknown W. Brackets
109ad17ac6 Use a typesafe struct for opcodes.
Also, correctly read delayslots using Read_Instruction on ARM.
2013-08-24 15:36:24 -07:00
Henrik Rydgard
a346697037 Update native + some very minor changes 2013-07-27 00:44:16 +02:00
Unknown W. Brackets
b9c2e21105 Improve performance of syscall resolving.
This was actually kinda slow (noticeably) in God Eater Burst.
2013-07-06 15:14:50 -07:00
Henrik Rydgard
3c02678dff HLE GetFuncName: Correctly compare to numFunctions 2013-06-26 20:30:49 +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
cb3d021a7f Link long module names properly (truncating.) 2013-05-21 00:33:12 -07:00
Unknown W. Brackets
0525906c70 Report unimplemented but known HLE functions. 2013-05-18 20:21:28 -07:00
Henrik Rydgard
82aa605b36 Add back shadows to FPS counter and debug text. Warning fixes. 2013-04-08 20:59:45 +02:00
Unknown W. Brackets
ba264b1df3 Don't delay results when dispatch is disabled.
Wait won't work so the CoreTiming event will just cause havoc.
2013-04-03 00:04:17 -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
Unknown W. Brackets
75c5afa147 Add delays in some timing funcs that games tightloop.
Greatly improves performance in Legend of Heroes 1.
2013-03-19 07:48:41 -07:00
Unknown W. Brackets
b1e9924075 Shave a tiny bit of time out of CallSyscall(). 2013-03-16 11:22:47 -07:00
Unknown W. Brackets
26306342fd Simplify hleDelayResult()'s handler a bit. 2013-03-11 02:52:15 -07: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
dba04a7e22 Add a function for HLE to consume cycles.
Needed sometimes to make timing match better for tight loops.
Also removes the Puyo Puyo Fever hack.
2013-03-09 13:53:19 -08:00
Unknown W. Brackets
d2be407223 Make HLE func delayed results more generic. 2013-03-09 11:42:15 -08:00
Unknown W. Brackets
cb4c7f0eb6 Add some basic reporting hooks. 2013-03-04 00:01:40 -08:00
Unknown W. Brackets
64c42ffaf2 Fix some warnings generated by clang. 2013-02-24 10:23:31 -08:00
Unknown W. Brackets
363d1dbe19 Fix some misc. warnings. 2013-02-18 08:44:59 -08:00
Unknown W. Brackets
015529cb49 Don't call time_update() when debug stats are off.
This is not fast especially when syscalls are being hammered.
2013-02-02 20:42:01 -08:00
Henrik Rydgård
ae8a799030 Merge pull request #544 from unknownbrackets/perf
Don't measure syscall stats when not showing
2013-01-30 23:50:23 -08:00
Unknown W. Brackets
4ccd9ee118 Don't measure syscall stats when not showing. 2013-01-30 21:59:38 -08:00
Unknown W. Brackets
ce2ccd85b2 Fix misreporting of unknown syscalls.
Unknown syscalls in known modules just weren't being reported.
Unknown syscalls in unknown modules were reported as Kernel_Library (which
is module 0.)
2013-01-30 21:29:27 -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
6ec8fe6bf3 Track summed totals of syscalls.
Just so we can easily see if some func is being called a ton.
2013-01-11 08:59:15 -08:00
Henrik Rydgard
f3749d8abe Add kernelstats
Useful for finding out if some syscall takes unexpectedly much CPU.
2013-01-11 00:13:38 +01:00
Unknown W. Brackets
da865e83dc Write an unknown syscall for unresolved imports. 2013-01-08 00:48:38 -08:00