VHBL (Vita Half Byte Loader) is an open source tool to load PSP homebrews on the Playstation Vita.
VHBL can be downloaded at http://wololo.net/wagic/vhbl
#165002 by codestation
Thu Sep 06, 2012 6:08 pm
dridri wrote:If you want to compile your own elfs/binaries (for example UVLoader) here a simple way to compile basic ARM (without any headers) :
Download binutils => http://ftp.gnu.org/gnu/binutils/binutils-2.22.tar.gz
and gcc-core => http://ftp.gnu.org/gnu/gcc/gcc-4.6.3/gc ... 6.3.tar.gz (I didn't find gcc-core of the last version)

You need a linux or cygwin installation that can compile gcc, then just follow these steps :
Build binutils :
./configure --target=arm-elf --prefix=/usr/local/arm --program-prefix=arm-
make

You use arm-elf but the makefile references arm-none-eabi as a target, what is the correct one?

edit: i went with the none-eabi target, for those using gentoo you can build a nice toolchain with:

Code: Select allcrossdev --target arm-none-eabi
Advertising
#165196 by hgoel0974
Fri Sep 07, 2012 12:37 am
Well If there is any C# related stuff then I'm available ;)
Advertising
#165203 by fate6
Fri Sep 07, 2012 1:00 am
ok I did my best in cleaning up the thread but if a post does not make sense then its my bad, sorry >___<
now people please stay on topic ^___^

EDIT: I have opened up a discussion thread ===> here

I might add it to the OP in a attempt to keep this thread on topic
#165237 by dridri
Fri Sep 07, 2012 2:11 am
codestation wrote:You use arm-elf but the makefile references arm-none-eabi as a target, what is the correct one?

I didn't found any difference between these two target, I suppose that they define generic arm toolchain. Anyway you can just change the 'arm-none-eabi' to 'arm-elf' in the UVL makefile and it compiles just fine.
(Actually I though that arm-elf would be better as the elf target is POSIX compliant, and I don't know what is exactly the 'eabi')

EDIT: just found that : http://stackoverflow.com/questions/5961 ... difference
Finally the best target should be 'arm-elf-eabi', apparently eabi is just a standard for toolchains compatibility but in our case I don't think there will be several toolchains in the psvsdk...
#165437 by ichfly
Fri Sep 07, 2012 10:54 am
yifanlu wrote: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 far as I know the Vita has some free and unlock functions

void pss_code_mem_unlock ();
int pss_code_mem_free (void *code);
void pss_code_mem_terminate ();
int pss_free_mem (void *addr, size_t length);
void pss_free_raw (int id);

but I don't know if this are the functions you are searching for.

/* Memory */
int pss_getpagesize ();

void pss_code_mem_initialize ();
void pss_code_mem_flush_icache (uint8_t *code, int size);
void *pss_code_mem_alloc (unsigned int *length);
void pss_code_mem_lock ();
void pss_code_mem_unlock ();
int pss_code_mem_free (void *code);
void pss_code_mem_terminate ();

void *pss_alloc_mem (size_t length, size_t alignment);
int pss_free_mem (void *addr, size_t length);

int pss_alloc_raw (void **base, size_t length);
void pss_free_raw (int id);
#165612 by yifanlu
Fri Sep 07, 2012 11:29 pm
ichfly wrote:
yifanlu wrote: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 far as I know the Vita has some free and unlock functions

void pss_code_mem_unlock ();
int pss_code_mem_free (void *code);
void pss_code_mem_terminate ();
int pss_free_mem (void *addr, size_t length);
void pss_free_raw (int id);

but I don't know if this are the functions you are searching for.

/* Memory */
int pss_getpagesize ();

void pss_code_mem_initialize ();
void pss_code_mem_flush_icache (uint8_t *code, int size);
void *pss_code_mem_alloc (unsigned int *length);
void pss_code_mem_lock ();
void pss_code_mem_unlock ();
int pss_code_mem_free (void *code);
void pss_code_mem_terminate ();

void *pss_alloc_mem (size_t length, size_t alignment);
int pss_free_mem (void *addr, size_t length);

int pss_alloc_raw (void **base, size_t length);
void pss_free_raw (int id);

First of all, that's from PSM and isn't imported in all games. Secondly, they do not provide access to 0x81000000 nor could they be used for that.
#165763 by marjowikid
Sat Sep 08, 2012 7:41 am
ok hum guess imma start by saying im sure some of you will probably get a good laugh out of this and im glad i got you to chuckle but i am yeah i would say noob in alot of coding ive some some very small things i can look at some code and get a good idea of what it means GREAT FOR A GINIPIG (sorry horrible speller but good at other things.....anyway) pretty much if there is anything you need a novice for send me an email or something ill help out the best i can
#165998 by yifanlu
Sat Sep 08, 2012 9:38 pm
shades wrote:You've gotten public exposure, for better or worse :/
http://www.joystiq.com/2012/09/08/vita- ... ate-retail

Joystiq does state that people won't be able to pirate through it, so props to them at least.

The gamespot one put this, death of PSP, and PSN hack in the same paragraph. Plus the header image was "hello world" running on a PSP from a long time ago.

Who is online

Users browsing this forum: No registered users and 2 guests