Commit Graph
171 Commits
Author SHA1 Message Date
sum2012 40d9721e1f Wrap sceKernelGetModuleIdList
maybe first step of solve #2404
2013-12-03 07:35:27 +08:00
Unknown W. Brackets eac8b1a84d Scan for functions even without a .text section.
It's possible this may be wrong, but every game I've seen loads the funcs
in this area.  Sometimes there's data after the funcs before the stubs,
but it's better than no funcs.
2013-12-01 19:43:40 -08:00
Unknown W. Brackets 435115441d Reinitialize the GE on sceKernelLoadExec().
Mostly, reset the lists and draw completion, etc.

May be required for Capcom Classic Collection Reloaded to work.
2013-11-28 15:35:12 -08:00
Kingcom 5844d0107b Rewrite SymbolTable 2013-11-27 13:33:30 +01:00
Henrik Rydgard 9d4ece0f58 Robustify the ELF loader a little - it didn't like unaligned addresses.. 2013-11-14 11:44:14 +01:00
Unknown W. Brackets c2b2b366eb Don't erase args in sceKernelLoadExec().
Suspect this will fix Kamen Rider Climax Heroes OOO.
2013-11-02 15:51:15 -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 614ec822e8 Let's only bother with symbol loading on the desktop. 2013-10-22 15:14:47 +02:00
Henrik Rydgård 2d331cb8c4 Revert "Clear the symbol map in LoadExec. Fixes some hangs on switching games,"
This reverts commit 6c3f2155c7.
2013-10-18 18:08:18 +02:00
Henrik Rydgård 6c3f2155c7 Clear the symbol map in LoadExec. Fixes some hangs on switching games,
unclear why.
2013-10-18 14:40:58 +02:00
Kingcom 7f1fca8e74 Check e_ident of elf header 2013-10-05 10:05:55 +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
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 f528774b39 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