As of right now, I have not tried compiling the code yet. It's mostly just pieces of code for things like the ELF parsher, resolving NIDs using module exports and syscalls from both imports and exports and etc. I am basically looking for people with experience in HBL to help me finish this. Currently, I am missing code to clean the memory (releasing heap pointers, unloading all modules, deleting threads, etc). But mostly, I want critiques on the current code and how things could be improved or if any of my assumptions in the code could prove false. I have tried to make the loader very portable (for other future exploits) by having lots of error checks and only using functions imported from sceLibKernel (if you want more information, PM me). If you want to help, just fork the code and send me a pull request when you're done.

EDIT: Progress update, everything compiles now, but I have yet "tested" it on a Vita. The main problem right now is that the base address 0x81000000 is read only by the game that's loaded. If someone knows how to free that memory or set it to be writeable, contact me.

As of right now, I have not tried compiling the code yet. It's mostly just pieces of code for things like the ELF parsher, resolving NIDs using module exports and syscalls from both imports and exports and etc. I am basically looking for people with experience in HBL to help me finish this. Currently, I am missing code to clean the memory (releasing heap pointers, unloading all modules, deleting threads, etc). But mostly, I want critiques on the current code and how things could be improved or if any of my assumptions in the code could prove false. I have tried to make the loader very portable (for other future exploits) by having lots of error checks and only using functions imported from sceLibKernel (which should be loaded by every game). If you want to help, just fork the code and send me a pull request when you're done.

I thank all of you for your support, but please let us focus on this loader and nothing else at this time. Thank you. (I was going to post this in the development section for HBL but there doesn't seem to be much activity there).

I haven't done much hardware programming since the classic Game Boy (mix of C and assembly), but I have been hoping to get involved with understanding the Vita better (if only to understand a modern machine with an OS) and I'm happy to help keep this alive in whatever small way I can, even if just as a sounding board or code review.

An update on the progress. UVL can now be compiled successfully. After polishing it some more, I'll try to run it. Still no memory cleanup code and no memory allocation code, but the comments are pretty, documentation is complete, and debug logging is verbose.

@kenzodragon :
First I'm back to finish my OpenIdea CMA, then after that I'm thinking about an USB Mass Storage program on the UVL, I don't know if there are USB raw functions usable in user-mode but I'll take a look at this.

Sorry for my English
OpenIdea team support: open.idea.team at gmail.comLibGE

What type of developer are you searching? I have a bit of experience on PRX and EBOOT developing, I code from 4 years and currently I'm working on a OpenGL 2D game. I did a bit of programming with 65C816 for SNES, Motorola 68K for Sega MD and x86. I have no exprience with ARM and MIPS. Never tried to put myself into psp/psv hacking scene because I don't know where to start... If you want a C programmer that can fix the code, add some features or debugging code I can give you my help.

Your ARM toolchain will be installed in /usr/local/arm (you can change this in the ./configure commands)
The binaries will have 'arm-' prefix (ex arm-gcc)

When linking your programs, use flag -nostdlib (otherwise it will make a not found error on crt0) and a void start() function as entry point
The only available headers are basic ones : float.h, std{arg/def/bool/int/...}.h, limits.h, arm_neon.h (SIMD engine), ...

Sorry for my English
OpenIdea team support: open.idea.team at gmail.comLibGE