160 Commits

Author SHA1 Message Date
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
Henrik Rydgard
8c88dff5a4 More log categories, use them (and existing ones). Improve log config. 2013-09-07 22:02:55 +02:00
Unknown W. Brackets
f35b164d11 Refactor wait verification a bit in kernel waits. 2013-09-07 10:54:00 -07:00
Unknown W. Brackets
a05c78f8fc Keep unknown syscall reporting the same.
Oops.
2013-09-01 00:46:48 -07:00
Unknown W. Brackets
da0c9a86e5 Invalidate stubs/var imports when writing them. 2013-09-01 00:32:43 -07:00
Unknown W. Brackets
00412144c1 Get rid of the bad object errors on shutdown. 2013-08-31 18:45:05 -07:00
Unknown W. Brackets
842e972a36 Unresolve function imports, track in loader. 2013-08-31 18:45:05 -07:00
Unknown W. Brackets
dde39bd956 Optimize a bit by checking module names. 2013-08-31 17:45:17 -07:00
Unknown W. Brackets
33e001f017 Unexport var symbols when destroying modules.
The problem with a global list is that an unloaded module with unresolved
imports will get garbage written in.  This should be safer, and hopefully
not slower.

Next up: func imports.
2013-08-31 17:31:30 -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
kaienfr
a8557ab839 Fix the crash of game "tiger x dragon" 2013-08-31 21:35:24 +02:00
Henrik Rydgard
0d0b43818c Warning fixes and stuff 2013-08-30 20:14:16 +02:00
CPkmn
47ae4709ba Update sceKernelModule.cpp 2013-08-29 01:26:54 -07:00
Unknown W. Brackets
15a0f39fa1 Return yet more errors while inside interrupts. 2013-08-28 23:15:13 -07:00
Unknown W. Brackets
61fae4e920 Return proper errors while dispatch disabled.
In at least the majority of waits.
2013-08-27 23:55:37 -07:00
sum2012
d017011882 Add ThreadManForKernel and ModuleForKernel
Sample log:https://gist.github.com/sum2012/3bb5deb1a806ef18f5f3
2013-08-25 10:48:32 +08: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
Unknown W. Brackets
1ed8edb0d3 Avoid some dangerous hex constant widths. 2013-08-22 23:23:48 -07:00
Unknown W. Brackets
2ef650aa2d Add a bunch of HLE functions for better reporting. 2013-08-22 23:04:55 -07:00
Unknown W. Brackets
a217cefa11 Tone down some less needed reporting. 2013-08-21 08:40:29 -07:00
shenweip
1527934d25 Fixed wrong log message 2013-08-14 07:22:22 +08:00
shenweip
75fe4296b7 Update 2013-08-14 01:58:32 +08:00
shenweip
d17e6064de Update 2013-08-14 01:33:02 +08:00
shenweip
f0fc6178da Implemented support for export module entry size 5 2013-08-14 01:03:40 +08:00
Unknown W. Brackets
a9557a8297 Report unexpected export sizes too. 2013-08-01 00:38:34 -07:00
Unknown W. Brackets
90e56db174 Don't report 0, it seems like it's okay. 2013-07-31 00:00:45 -07:00
Ced2911
340881c319 fix some loading 2013-07-30 19:39:32 +02:00
Unknown W. Brackets
ae5851a393 Use _le typedefs in elf reading. 2013-07-25 08:04:35 -07:00
Unknown W. Brackets
81f7103e0b Use *_le for the sceKernel* funcs. 2013-07-25 08:04:34 -07:00
Henrik Rydgard
63682aacae Warning fixes, improve error msg 2013-07-21 22:36:54 +02:00
Henrik Rydgård
c89614d180 Fix silly bug caused when fixing another silly bug in f528774b390e0a8e2068b0b24804c251ee06963f 2013-07-16 09:49:07 +02:00
Henrik Rydgård
f528774b39 Fix some pointer silliness that clang fortunately caught 2013-07-15 18:18:43 +02:00
mattweb28
13287001c0 param fix without c++ class 2013-07-14 23:34:06 +08:00
mattweb28
f7573b35e2 sceKernelLoadExec() parameters fix 2013-07-14 17:07:24 +08:00
Unknown W. Brackets
a32cf817ff Fix some minor warnings. 2013-07-07 20:31:04 -07:00
Unknown W. Brackets
bf1e37dd05 Keep symbols mapped from all loaded modules.
This way the map contains all the symbols used, not just a snapshot.
2013-06-30 10:15:21 -07:00
Unknown W. Brackets
7d44ea1ac8 Always add symbols, so we don't leave any behind. 2013-06-30 10:04:48 -07:00
Sacha
953569a38f Linux buildfix. 2013-06-24 15:25:26 +10:00
Unknown W. Brackets
d37e224f5c Allow multiple HI16's in a row.
The God Eater demo does in fact use these.  Ugh.
2013-06-22 12:44:25 -07:00
Unknown W. Brackets
1f0d87afd9 Allow multiple LO16s after a HI16 in var relocs.
The God Eater demo uses these sometimes, and it should be safe if the
addresses match or at least overflow to the HI16 the same.
2013-06-22 11:59:35 -07:00
Unknown W. Brackets
933c8abb55 Check kernel object types when looking up ids.
Some games misuse it, need to return an error.
2013-06-18 23:54:29 -07:00
Unknown W. Brackets
2d769384e4 sceKernelLoadExec(.../BOOT.BIN) loads EBOOT.BIN.
Fixes #2289, crash when pressing R+L+Start+Select in Final Fantasy 3.
2013-06-15 21:30:48 -07:00
Unknown W. Brackets
2ab16f13b1 If __KernelLoadExec() fails, halt emulation.
Otherwise, we have no current thread, nothing can work.
2013-06-15 21:22:28 -07:00
Henrik Rydgard
96a15b893c Workaroud for homebrew loading modules from flash0:/kd/ 2013-06-11 11:48:45 +02:00
Henrik Rydgard
2afbc94734 Turn off RTTI, simulate it where needed. 2013-06-09 13:02:16 +02:00
Henrik Rydgard
2e7b971895 Check magic number to reject SFO files specifically from being loaded as modules. Should fix the strange Soul Calibur issue in issue #2063. 2013-06-05 19:59:16 +02:00
Unknown W. Brackets
3468d7ddd9 Fix reporting typo. 2013-06-02 10:27:16 -07:00
Sacha
b39a572043 Buildfixes.
Fix C++11 usage.
Remove redundancy.
Fix st_*time re-usage.
2013-06-02 13:26:39 +10:00
Unknown W. Brackets
bae5f9654f Don't forget to mark a module as started w/o entry. 2013-06-01 09:39:15 -07:00
Unknown W. Brackets
cc647ed910 Add logging of more relocation errors. 2013-06-01 09:29:38 -07:00