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