185 Commits

Author SHA1 Message Date
Henrik Rydgård
79ff2f0ba8 Start untangling our include mess a little. 2013-12-29 23:34:45 +01:00
Unknown W. Brackets
0f3c9ca92f Implement sceKernelLoadModuleBufferUsbWlan(). 2013-12-27 00:28:38 -08:00
Henrik Rydgard
1d2f1efd06 Fix function replacement on ARM 2013-12-18 00:09:08 +01:00
Henrik Rydgard
2eab4aa1bf Play around with function replacement. Turned off by default of course. 2013-12-17 23:40:27 +01:00
Henrik Rydgard
2140892074 Initial preparations for ability to replace game functions with custom implementations.
Also auto-saves hashmap additions and reapplies the hashmap on function
rename so that if you rename a function that exists in several copies
they will all be labelled.

Note that actual function replacement is not activated yet.
2013-12-17 12:27:20 +01:00
Henrik Rydgård
6432451334 Merge pull request #4864 from unknownbrackets/io-minor
Implement some ioctl commands for disc0:/ files
2013-12-17 00:38:04 -08:00
Unknown W. Brackets
183b4cb45c Add a static method for creating PSPPointers.
This is still kinda ugly, but the assignment thing was just too ugly, I
couldn't do it anymore.
2013-12-16 23:50:52 -08:00
sum2012
9b7e5566d1 Add more information for "Not support this patcher" 2013-12-17 05:36:55 +08:00
Unknown W. Brackets
18e2648a27 When importing vars, invalidate jit for HI16 too. 2013-12-14 15:05:56 -08:00
Unknown W. Brackets
1f32720d8f Return much more correct values for module info.
sceKernelQueryModuleInfo() was just completely wrong before.
2013-12-09 00:45:54 -08:00
Henrik Rydgård
89b3fff255 Merge pull request #4722 from pal1000/patch-1
Warning fix in Core/HLE/sceKernelModule.cpp resultBufferOffset type miss...
2013-12-04 09:22:08 -08:00
Henrik Rydgard
32f479b0a6 Assorted log spam reductions.
Also let Java know of some important events. Not used for anything yet.
2013-12-04 17:43:00 +01:00
pal1000
d03eed3e48 Warning fix in Core/HLE/sceKernelModule.cpp resultBufferOffset type missmatch 2013-12-04 17:56:33 +02:00
sum2012
eb5c349c2f Imp sceKernelGetModuleIdList by CPkmn 2013-12-04 06:28:32 +08:00
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 6c3f2155c7a294c83770e7e9161c0a0c161384b0.
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