Commit Graph

47 Commits

Author SHA1 Message Date
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
Unknown W. Brackets
79f9ebc2e1 Keep track of exported symbols and link them later. 2013-01-08 00:32:24 -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
4b39e39455 Start save stating the filesystem state.
Plus minor fixes and at least an attempt to make states the same
on both 32 and 64 bit.
2012-12-28 13:55:27 -08:00
Unknown W. Brackets
6a6db5f53a Remember to break on HLE after an ignored syscall. 2012-12-24 22:03:40 -08:00
Unknown W. Brackets
dc21d5c462 Add a mechanism for HLE to trigger a debug break. 2012-12-24 21:47:54 -08:00
Unknown W. Brackets
b8ae91237e Oops, missed some state in HLE to reset. 2012-12-24 21:04:28 -08:00
Unknown W. Brackets
15793fe532 More minor static analysis warning fixes. 2012-12-21 17:00:47 -08:00
Henrik Rydgard
4d4370232c Assorted minor cleanup and fixes. 2012-12-21 10:20:22 +01:00
Unknown W. Brackets
9034cfbfd3 Defer HLE interrupts, vblank only when enabled.
Based on tests, vblank doesn't queue up (makes sense) while
interrupts are disabled.

I'm not 100% sure about the GPU stuff but it seems to only come
from HLE via sceGe, so this should fix those return values.
2012-12-20 21:54:40 -08:00
Henrik Rydgard
9c65a7b7f8 Fix issue with calling module imports 2012-12-17 21:27:50 +01:00
Unknown W. Brackets
e150cc5c03 Correct skipped parameter for deferred resched.
Forgot to check callbacks, oops.
2012-12-09 15:08:44 -08:00
Unknown W. Brackets
cf9b5744bb Copy the resched reason in case on stack.
Was getting lost and becoming garbage.
2012-12-09 09:13:32 -08:00
Unknown W. Brackets
b6a7b04981 Cleanup deferred rescheduling in case it's tight.
Probably doesn't matter anyway.  But this reads cleaner I think.
2012-12-09 01:16:19 -08:00
Unknown W. Brackets
5e8aa4c071 Implement deferred rescheduling/callbacks.
This way most HLE functions can be wrapped normally.  Hurray, sanity.
2012-12-09 01:04:53 -08:00
Henrik Rydgard
117256e07b Implement various hle stuff.. 2012-11-07 19:10:52 +01:00
Henrik Rydgard
c61d10363a Rewrite callback handling, part 1. All sorts of other fixes too. 2012-11-06 15:46:46 +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
9be8be6b7f Implemented sceKernelLoadModule()
Note that it wasn't tested because all the games I tested had other problems (already implemented modules, encrypted modules, using different functions etc).
But code looks good so it'd probably need few (no?) fixes.
2012-11-04 19:01:20 +01:00
Henrik Rydgard
4f7ad15758 Add snapshot of the whole source code. 2012-11-01 16:19:01 +01:00