Giter VIP home page Giter VIP logo

Comments (24)

GoogleCodeExporter avatar GoogleCodeExporter commented on August 31, 2024
Yes, but it's far more complicated than it seems. We need to be able to free the
meory and the modules first, then hook sceKernelLoadModule() and
sceKernelStartModule() functions. 

Original comment by [email protected] on 21 Apr 2010 at 9:49

  • Added labels: Type-Enhancement
  • Removed labels: Type-Defect

from valentine-hbl.

GoogleCodeExporter avatar GoogleCodeExporter commented on August 31, 2024
I know it isn't easy. =) 

It is however, a crucial part for high compatibility with the HBL

Original comment by [email protected] on 21 Apr 2010 at 12:22

from valentine-hbl.

GoogleCodeExporter avatar GoogleCodeExporter commented on August 31, 2024

Original comment by [email protected] on 23 Apr 2010 at 2:30

  • Added labels: Priority-High
  • Removed labels: Priority-Medium

from valentine-hbl.

GoogleCodeExporter avatar GoogleCodeExporter commented on August 31, 2024
For this issue, we would need to hook relevant functions:
http://psp.jim.sh/pspsdk-doc/group__ModuleMgr.html

We would need a new data structure to hold the loaded modules information, so 
we can
start/stop/unload the loaded module by an ID referred by the caller. 

All modules would be allocated SMEM_high if there's enough memory left. 

The actual module loading is the same as the game module loading, except that 
it has
to be relocatable (aka PRX) and it's not executed until indicated by the HB by
sceKerneStartModule().

Original comment by [email protected] on 27 Apr 2010 at 11:06

  • Added labels: Component-Logic

from valentine-hbl.

GoogleCodeExporter avatar GoogleCodeExporter commented on August 31, 2024
Also, important, we would need to take into account the PRX exports. 

Once a PRX is loaded, we would need looking for its exports in the other user 
modules
and resolve them (this is closely related to issue 8)

Original comment by [email protected] on 27 Apr 2010 at 12:22

from valentine-hbl.

GoogleCodeExporter avatar GoogleCodeExporter commented on August 31, 2024
I've just commited r59 that implements functions for loading external modules. I
didn't have to write much code for it, as mostly everything was already there ;)

Original comment by [email protected] on 28 Apr 2010 at 5:40

  • Changed state: Started

from valentine-hbl.

GoogleCodeExporter avatar GoogleCodeExporter commented on August 31, 2024
That's a great start, let's hope we can improve it.

I randomly tested an emulator (gpsp) that loads external modules and got

start_module returned 0x8002012E

0x8002012e is SCE_KERNEL_ERROR_UNKNOWN_MODULE.

I need to investigate more, this could be anything, but I'm guessing that these
modules could be using kernel functions...

Original comment by [email protected] on 1 May 2010 at 2:54

from valentine-hbl.

GoogleCodeExporter avatar GoogleCodeExporter commented on August 31, 2024
I got same errors in EDecrypt v1.4.0 and psardumper.
http://advancedpsp.tk/foro_es/viewtopic.php?p=4732#p4732

Original comment by [email protected] on 1 May 2010 at 7:01

from valentine-hbl.

GoogleCodeExporter avatar GoogleCodeExporter commented on August 31, 2024
That error would mean the module wasn't loaded in the first time, or the module 
id
passed is incorrect.

Original comment by [email protected] on 1 May 2010 at 11:00

from valentine-hbl.

GoogleCodeExporter avatar GoogleCodeExporter commented on August 31, 2024
Now it seems I don't get any errors, but the thread that launches the external
modules stops with unknown reason. 

Original comment by [email protected] on 3 May 2010 at 11:09

from valentine-hbl.

GoogleCodeExporter avatar GoogleCodeExporter commented on August 31, 2024
I've found a weird error: when loading a second module, HBL library table gets
corrupted, so HBL cannot resolve the new module imports.

=> ESTIMATING IoFileMgrForUser : 0xEB092469
Searching for library IoFileMgrForUser
Current library:
����������������������������
����������������������������
����������������������������
����������������������������
����������������������������
������������������
Current library:
����������������������������
����������������������������
����������������������������
����������������������������
����������������������������
������������������
[all libraries in table are corrupted...]
->ERROR: LIBRARY NOT FOUND ON TABLE  IoFileMgrForUser
Real call after estimation: 0x00000000
Resolved stub 0x0890FC48: 0x03E00008 0x00000000

Also, it seems that values passed by this newly loaded module to
sceKernelCreateThread are wrong.

Attempting to create thread named M with entry point 0x088F9900, priority 
0x00000020,
stack size 0x00040000, and attributes 0x02401821

Thread name, entry point and atrribute are wrong.

This may well be a stack corruption problem, since HBL is loaded at the end 
(highest)
of user memory, and stack grows from higher to lower memory. But I still don't
understand how global tables are being corrupted if they actually are malloc'ed 
(or
they are not?).

Original comment by [email protected] on 7 May 2010 at 5:48

from valentine-hbl.

GoogleCodeExporter avatar GoogleCodeExporter commented on August 31, 2024
Well I'm just checking that actually the .bss section is not included on 
hbl.bin,
thus global statically are actually not in reserved memory, thus most likely 
stack is
overflowing them.

Original comment by [email protected] on 7 May 2010 at 5:56

from valentine-hbl.

GoogleCodeExporter avatar GoogleCodeExporter commented on August 31, 2024
Now HBL tables are alocated separately, and module imports seem to resolve 
fine, but
still the thread cannot be created:

Attempting to create thread named M with entry point 0x088F9900, priority 
0x00000020,
stack size 0x00040000, and attributes 0x02401821
Thread creation failed with error 0x80020191

Any ideas about this? 

Original comment by [email protected] on 9 May 2010 at 10:55

from valentine-hbl.

GoogleCodeExporter avatar GoogleCodeExporter commented on August 31, 2024
Well i don't have an "Idea" but i know what that error Code means

0x80020141 = Illegal Position Code

If you look on the Dark-Alex.org website u can see ALL The PSP Codes :)
http://alek.dark-alex.org/pspwiki/index.php/Errors

Original comment by [email protected] on 9 May 2010 at 2:07

from valentine-hbl.

GoogleCodeExporter avatar GoogleCodeExporter commented on August 31, 2024
Thanks, but I already know what the error codes mean, they're included on the 
SDK ;)
Anyway, there's no error 0x80020141, you should look better xD It's 0x80020191,
SCE_KERNEL_ERROR_ILLEGAL_ATTR. As I already commented before, the values passed 
to
sceKernelCreateThread() by the newly loaded module are wrong.

Original comment by [email protected] on 9 May 2010 at 2:27

from valentine-hbl.

GoogleCodeExporter avatar GoogleCodeExporter commented on August 31, 2024
Oh sorry this PC is at work hooked up to a big TV and the screen resolution is 
crap.... 
the letters are fuzzy haha so i thought it was a 4. I alway sget things 
wrong... i 
think i will just stick to HBL - ACC lol

Original comment by [email protected] on 9 May 2010 at 2:55

from valentine-hbl.

GoogleCodeExporter avatar GoogleCodeExporter commented on August 31, 2024
[deleted comment]

from valentine-hbl.

GoogleCodeExporter avatar GoogleCodeExporter commented on August 31, 2024
[deleted comment]

from valentine-hbl.

GoogleCodeExporter avatar GoogleCodeExporter commented on August 31, 2024
[deleted comment]

from valentine-hbl.

GoogleCodeExporter avatar GoogleCodeExporter commented on August 31, 2024
[deleted comment]

from valentine-hbl.

GoogleCodeExporter avatar GoogleCodeExporter commented on August 31, 2024
[deleted comment]

from valentine-hbl.

GoogleCodeExporter avatar GoogleCodeExporter commented on August 31, 2024
[deleted comment]

from valentine-hbl.

GoogleCodeExporter avatar GoogleCodeExporter commented on August 31, 2024
[deleted comment]

from valentine-hbl.

GoogleCodeExporter avatar GoogleCodeExporter commented on August 31, 2024

Original comment by root.3.173210 on 9 Aug 2014 at 9:39

  • Changed state: Done

from valentine-hbl.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.