Commit graph

90 commits

Author SHA1 Message Date
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