Commit Graph

88 Commits

Author SHA1 Message Date
Unknown W. Brackets
e75af43f0a Handle floats and sign extension in HLE logs.
In some cases, we were previously logging sign-extended error codes.  This
handles that better using type_traits.
2016-02-06 19:53:56 -08:00
Unknown W. Brackets
65a5c92c7e Io: Change some logging flags.
Not used yet, just prep work.
2016-01-24 22:52:19 -08:00
Unknown W. Brackets
3a64388eee Support 64-bit args/return in new HLE logging.
Pulls in a new header, unfortunately, but this is a mostly clean way to do
it.
2016-01-24 22:22:23 -08:00
Unknown W. Brackets
8fdceba7ca Add timing for all the basics.
This way we can see overall stats for a frame.
2015-07-03 12:05:08 -07:00
Unknown W. Brackets
9dc7f7c3a2 Correct > 8 args for HLE logging again.
This time for real?  Arg, stupid mistake.
2015-04-08 12:44:32 -07:00
Unknown W. Brackets
b5bb07b12c Fix HLE logging for args > 8. 2015-04-08 00:55:49 -07:00
Henrik Rydgard
34ab532971 ARM64 jit: Fix some pointer truncations and other fun stuff.. 2015-04-06 18:13:05 +02:00
Unknown W. Brackets
2450724be2 Make Memory::Memcpy() execute memchecks directly.
This makes it easier to handle breakpoints in HLE.
2015-04-05 18:09:20 -07:00
Unknown W. Brackets
67d9233de1 Fix some compiler warnings.
Oops, f format in hle logging wasn't working right.  See #7641.
2015-03-28 20:50:34 -07:00
Unknown W. Brackets
74c6f2696d Add log formatting for 64-bit arg types + stack. 2015-03-22 21:15:13 -07:00
Unknown W. Brackets
52a37c1330 Actually use the table's arg and ret masks. 2015-03-22 20:51:56 -07:00
Unknown W. Brackets
fcf0518223 Update all the HLE tables with arg and ret info. 2015-03-22 20:51:55 -07:00
Unknown W. Brackets
2c8199ec73 Make gcc happy when there are no var args. 2015-03-22 20:49:42 -07:00
Unknown W. Brackets
41631eb2b1 Try a different format of HLE logging. 2015-03-22 20:49:42 -07:00
Henrik Rydgard
fd1dcb881f Add ability to flag function to clear a bit of stack. See #6374, idea by JPCSP, pointed out by sum2012. 2015-03-02 01:03:12 +01:00
Unknown W. Brackets
179e996b0b jit: Discard unused regs before a syscall.
This is a pretty minor optimization, though.
2015-03-01 11:08:59 -08:00
Unknown W. Brackets
d4f6b49dc4 Handle an error condition better.
Just in case someone typos a MIPS_MAKE_SYSCALL().
2015-01-19 08:34:12 -08:00
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