Commit Graph
63 Commits
Author SHA1 Message Date
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
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