Endless Paradigm

Full Version: Custom PRX Help
You're currently viewing a stripped down version of our content. View the full version with proper formatting.
Pages: 1 2
Hello

I am new here, so hello to everyone. I have been in the PSP scene for a few years, creating some mods and small tools on and off (many of which were never released, usually because someone made something better before i even came close to finishing haha). I have been out of the loop for some time, and i originally hail from PSP3D forums. Now, i found this GREAT site, learnt of the new M33 custom firmware, and upgraded from 3.03 OE-C to 3.52 M33 Update2. Great stuff, great stuff.

Now, sorry about the length of this thread, but i was after some help. I know, I'm only new, so I'm sorry if I'm being a little rude by making such requests. Nonetheless, i would be extremely thankful if anyone could help me out with these questions and maybe point me in the right direction. Please, if anyone could, I have been out of the loop for a while and would be so thankful if anyone can provide me with any answers if possible. I think i just repeated myself. Anyway...

1. I have been creating a piece of software for PC named "Mod That PSP!" for many months now. It is a PC based software that is an attempt to standard-ise (standardize?) theming and modding of the PSP. For details on this software, visit the rather-out-of-date thread on PSP3D here. Now, this may be a question towards the genius that is ZiNgA BuRgA, but is there an EASY way to edit an RCO through the command line? If not, a powerful-and-freeware command-line tool for HEX manipulation in binary files (to replace resources in an RCO with raw data perhaps).... This question is not so urgent as i am still doing research but feel free to help out....!

2. The above mentioned program is an extremely complex network of BATCH files with many 3rd party commandline tools and powerful/flexible 32-bit GUI tools executed from the command line. The program is starting to get... a bit too complex for BATCH. I am extremely experienced with BATCH programming, however i barely have any knowledge of any other programming language. What would be a good alternative to re-write the program in? .NET 2.0? I am willing to learn and i am a pretty bright bloke (modest?) so i could make this happen if it is the right choice.

3. I have a PRX that can execute an EBOOT in a specific location on the MSDuo. This can be changed as usual with a HEX edit. So, for example, i have replaced my Network Update icon with "PSP Filer" and it will launch the program at PSP/GAME/pspfiler.pbp. My questions in regards to this are...
   - This PRX no longer works in m33 3.52. Does anyone know of one that does?
   - I want to replace various other options with the same plugin to execute other EBOOT's. However, one of the homebrews is Snes9XTYLE and this has many subfolders if anyone knows the emulator. I want it to be hidden in the usual Game>MSDuo menu, and the only way to do this is to put the eboot in the ROOT of GAME. However, this would cause a very untidy GAME folder (because of the subfolders) so i want it to be in its own folder, but then the game will appear in the normal homebrew menu (under Game). So, my question is, how can i either execute an EBOOT from a folder apart from GAME/GAME150 so it dos NOT show up in the XMB, but is still able to execute? (I noticed that if the EBOOT is NOT under GAME/GAME150 the EBOOT will simply not run). Also, is it possible to execute an EBOOT from the flash1 with a PRX EBOOT wrapper-loader-thing like this simple PRX i mention??

4. The VSH.PRX editor (by japanese-characters-i-don't-know) cannot re-order icons like "UMD" and "Memory Stick" under Music/Video/etc. Or can it? Can this be done manually? Is there another VSH editor which can do this?

This is all i can think of for now. I am currently working on an extremely-huge mod for the PSP and these answers would help me so much so thank you very much in advance to you guys. I won't give away what the theme is about, but ill give a hint... anyone remember Workbench on the Amiga computer? The main XMB menu will not be made up of icons per se (itself)...

Thanks so much guys. I look forward to replies. Thanks again!
Welcome to EP.  I moved your thread to PSP Help because things posted in the PSP Hacking/Development/Finds area show up on the front page.  Unfortunately I can't help with any of your questions though.
OK no worries. Thanks!
if your after a method of doing batch files without the batch files your best bet is visual basic - its easy to learn and almost as powerfull as c++. the font converter in my sig launches the actual font converter as if it were being done with a batch file - it just passes the correct parameters to the file - its not perfect but it is easier than making a huge batch file because its simply a matter of constructing parameters to pass to the executeable your trying to call. if however your trying to do the whole programming (trying to code all the programs yourself) then you really have to go for a full blown language like c++. i havnt used the .NET stuff but i think its probably going to be more complex to learn - microsoft as a habit of taking what works and making it more complex and harder to use.

yeah i know the prx launcher stopped working and i am also looking out for a working one.

there is a way - that program can do it but its a metter of figurin out how the xmb is ordered. i have yet to get a decent result.

and yep zinga is the guy to ask about command line rco editing. i have a feeling that if it was that easy zinga woulda done that himself. but ill leave that to the master to explain :)
Hi bboy_sonik,

To answer your questions:
  1. A command-line hex editing app would be interesting I guess - you can try searching for one if you want.  But RCO editing, depending on what you want to do, will probably be beyond hex editing.  Either case, I don't recommend using batch scripts - they're only really designed for performing batch tasks, not really anything more complex
  2. Since you've said you've made some complex batch scripts, I presume you've used if and for statements and possibly even variables (eg %1 or %a).  I guess this can be somewhat similar to basic scripting.  It'll probably make learning a language easier.
    Although I despise .NET, I guess the framework is quite good.  I wouldn't start with Visual C++ 6 though - it'll take you a while to get to the MFC at least.  So it comes down to Visual Basic 6 or VB 2005.  Or C if you want to continue using batch conversion.
  3. As Anger said, PRXLauncher doesn't work for M33 firmwares.
    The icons can be hidden by prepending __SCE__ to their name, for example (my PRXLauncher is restricted to 9 characters) you could name your Snes emulator __SCE__SN - this would be executable by PRXLauncher but would be hidden from the GAME menu.
  4. Never really looked into vshmain so dunno


You might be interested in Z33's rcotool.  It's a command-line application which can replace icons/sounds/models from RCOs.
Thanks a lot Zinga, that has helped out. I'll just follow up on your answers, anyone can answer if they wish though.

1. I have a few command-line programs that can completely delete (not just zero-out) data from one HEX address to another HEX address, and then another application that can "insert" one file into another file in binary mode. This is pretty much what i was after; however, it is slow and the author has NOT given me permission to distribute this command-line tool in the software. So i can't use it. I'm sure i will find a solution though, on to "2." which is kind of a continuation...
2. IF and FOR and %1 variables? No offence, but I don't even regard them as complex anymore (haha)! I am seriously a batch wh*re. I'm using stuff like advanced piping (with the < and > and | characters) with a poo poo load of command-line tools for manipulating binary files (binary-level injection and building, etc). The problem is, they are so huge and slow the batch files; and in order to have the part of the program that allows the 'mix-and-match' style of RCO theming is that i have to have EVERY resource (each icon, for example) split into individual files... so a topmenu RCO is hidden in the program in it's own folder, split into about 30 files (for example...  01_header.dat; 02.dat; 03_icon.dat; etc) so its pretty... inefficient. ANYWAY,  My proudest piece of code though, is a small script (or 'library' would be an accurate term, as i have practically written a new language out of the batch software and it is very self-contained) that uses ONLY NATIVE NT CMD.EXE commands to find the firmware version of the connected PSP... using a simple FINDSTR command. It doesn't technically support binary files for searching for strings, but it has a wildcard (or wild 'character') option so.... yeah ANYWAY....
I have Visual Basic 6. It is OLD though! I don't know if this is the same one? It is just a.. ahem... *cough* *cough* burnt... *COUGH* CD labelled "VB6" that i got of my older brother about 5 years ago.... would this be the right one? I do actually have some BASIC experience with VB6, the GUI part of it anyway haha... can VB6 call a batch command? Oh nevermind, I'll give it a go and buy a copy of VB 2005 if it isn't expensive. I have a lot of spare time these days, I'm keen!
3. I have tried adding % to the beginning and end of the SNES9xTYL folder, and __SCE__ to the beginning, and all sorts of combinations of both, but the best ive ever gotten is a 'Corrupted Icon'... obviously the M33/OE "Hide Corrupted Icons" feature doesn't help. But that doesn't matter, as the PRX EBOOT Launcher thing doest work anyway....
4. Would anyone be able to help me on the structure of VSH.PRX/VSHMAIN.PRX (same file are they not)? I really want to continue work on my mega-extreme modification of the XMB, but there is no point if i can't change the "UMD" or "Memory Stick" order, or change their menu categories or whatever....




Is Z33's rcotool compatible with 3.51/3.52 decrypted RCO's? Oh I'll just try it i suppose. Wait... with a decypted RCO, can you physically see the.... "Page Data" and such in a HEX editor? If you can, i may not need this rcotool or whatever...


OK, that's enough for now. So sorry about the huge post. Would anyone be interested if i uploaded an alpha of "Mod That PSP!" for testing/comment/suggestion purposes? Check out the thread guys (http://psp3d.com/general-psp-discussion/...-0-a.html) and if it seems interesting to anyone, I'm more than happy to upload it so they can have a look. The only reason I havn't uploaded it to PSP3D is because there are a lot of people on there who are foreign or inexperienced and i do not want to be whinged at for releasing a program that says it can do this but actually messes up their topmenu... whereas you guys surely experience 'semi-bricks' all the time, just like me :)

Anyway, check out the thread HERE (http://psp3d.com/general-psp-discussion/...-0-a.html) and let me know if you want me to upload it to a new thread or whatever. I'd be happy to hear some comments and suggestions, and maybe even some people to have a gander at my BATCH code!

Thanks a lot Anger, and Zinga of course; you are a great bloke. Keep doing what you do man! Peace.


EDIT: I was curious as to what development tools everyone uses. Right now, i use both UltraEdit32 and XVI32 for HEX Editing, and Notepad++ for script editing (.BAT, .VBS, .HTML, etc). I am happy with Notepad++, the feature it has where it COLOUR CODES arguments/commands/parameters/options/filenames/variables/ETCETERA in batch files is brilliant. But the fact that i have to use TWO hex editing tools is somehwhat annoying. Does anybody have any suggestions for "the best" (in their opinion, and not just an ignorant one but one from somebody who has 'tried and tested') HEX editing program? Something that can do a unicode and ASCII search, find and replace, and any other useful features that would help us PSP hackers would be great. If anyone has any suggestions, i would be extremely thankful.


I love this forum already. When was the last time anyone said this? PSP HAXX ROCK!!!
im using vb6 myself - it doesn't have to call batch files because you can make vb do almost anything (thanks zinga :P) and without a dos window too. you do also sound keen - that was one helluva post lol. i use 2 hex tools because not one from my experience has everything but 2 does :) hex workshop and ultraedit in case your wondering. question 4 answer is yes. the explanation is that before wee could compress the vsh mods wee had to essentially load 2 vsh files to memory but now wee can mod the original and then recompress it so it works as normal. and i have had the program that your requiring so it does exist - i messed with it a little to change the order and hide things in the xmb but i decided at the time not to use it until vsh modding became easier, however i have now lost the proggy so...anyway a quick search here should reveal it.
Oh OK, thanks heaps Anger. Looks like im going on a hunt for VB6 eBooks then! Yeah well i am familiar with the VSH decyption and encryption stuff now, I've reanged my menu for example to put the "Video Settings" in the "Video" category of the XMB, and the 'Network Update' has been changed to 'Reboot PSP' and it's at the top of the 'Network' menu (which will be a "System" menu in the theme I'm working on) so yeah. I've started studying the VSH structure of how the XMB icons are placed, and I've found that icons for ejectable media (MSDuo and UMD) are not defined the same way as the usual icons. That probably made little sense, but I'll post my finds soon in a new thread with screenies and addresses and such. This thread is pretty much over now. Thanks heaps guys.
bboy_sonik Wrote:2. IF and FOR and %1 variables? No offence, but I don't even regard them as complex anymore (haha)! I am seriously a batch wh*re. I'm using stuff like advanced piping (with the < and > and | characters) with a poo poo load of command-line tools for manipulating binary files (binary-level injection and building, etc).
I guess all the stuff you do would require piping.  The only time I've used piping (between programs) is with video/audio encoding.  The > character I occasionally use to dump stdout to a file, if the application outputs to stdout.
I mentioned IF, FOR and variables as they are basic components (and the most used) in programming.  So if you have an understanding of them, learning to program will be much easier.  Conversely, knowledge of streaming/piping won't necessarily help much.

If you ask me, batch files are really designed for simple tasks.  As you've said, they're slow for more complicated things.  I strongly suggest you drop the batching in favour of programming.  Not only is it so much more flexible, you're not tied to an ugly DOS window (which may freak out n00bs) :P

bboy_sonik Wrote:I have Visual Basic 6. It is OLD though! I don't know if this is the same one? It is just a.. ahem... *cough* *cough* burnt... *COUGH* CD labelled "VB6" that i got of my older brother about 5 years ago.... would this be the right one? I do actually have some BASIC experience with VB6, the GUI part of it anyway haha... can VB6 call a batch command? Oh nevermind, I'll give it a go and buy a copy of VB 2005 if it isn't expensive. I have a lot of spare time these days, I'm keen!
I use VB6.  Anything later relies on the .NET Framework (which is apparently good, but I despise it).  Visual Basic 2005 Express is a free download (not trial version) from Microsoft's website (they seem to be more generous now :P).
VB6 runtime files come with XP, which is nice.  It's old, but it works.  All my programs here are coded in VB6.

bboy_sonik Wrote:3. I have tried adding % to the beginning and end of the SNES9xTYL folder, and __SCE__ to the beginning, and all sorts of combinations of both, but the best ive ever gotten is a 'Corrupted Icon'... obviously the M33/OE "Hide Corrupted Icons" feature doesn't help. But that doesn't matter, as the PRX EBOOT Launcher thing doest work anyway....
Sounds like something's stuffed on your PSP.  Just re-reading your post, you put the EBOOT under ms0:/PSP/GAME/  - that is incorrect.
The EBOOT must have a path like this ms0:/PSP/GAME/__SCE__APP/EBOOT.PBP
If you use PRXLauncher, path must be exactly 9 characters (plus you need to hex edit the PRX).

bboy_sonik Wrote:Is Z33's rcotool compatible with 3.51/3.52 decrypted RCO's? Oh I'll just try it i suppose. Wait... with a decypted RCO, can you physically see the.... "Page Data" and such in a HEX editor? If you can, i may not need this rcotool or whatever...
You can only perform decompression on the PSP.  No to your 2nd question.  I have a guide on the RCO file structure if you're interested.

bboy_sonik Wrote:EDIT: I was curious as to what development tools everyone uses. Right now, i use both UltraEdit32 and XVI32 for HEX Editing, and Notepad++ for script editing (.BAT, .VBS, .HTML, etc). I am happy with Notepad++, the feature it has where it COLOUR CODES arguments/commands/parameters/options/filenames/variables/ETCETERA in batch files is brilliant. But the fact that i have to use TWO hex editing tools is somehwhat annoying. Does anybody have any suggestions for "the best" (in their opinion, and not just an ignorant one but one from somebody who has 'tried and tested') HEX editing program? Something that can do a unicode and ASCII search, find and replace, and any other useful features that would help us PSP hackers would be great. If anyone has any suggestions, i would be extremely thankful.
Why do you use 2 hex editors?  My personal favourite is UltraEdit, but HexWorkshop probably has the most features.
And Notepad++ is awesome :P
Yes, VB6 sounds like a good idea. I will give it a go. So RCOEditor is made in VB6?!?! It looks very nice! Any pointers for good eBooks and/or sites? Also some code samples and tutorials would be great if you know of any. If you couldnt be bothered that's alright though :P Batch is a bit intimidating to the n00b yeah. But i use a custom shell called.. well it's simply called Console, based on eConsole which makes it a bit nicer. And a lot of the program uses 32-bit GUI tools for questions and menu's which are called from the command line with parameters - i could completely hide the console and the program would still be fine, but the console outputs valuable information as to what the program is actually doing/checking/scanning/building/etc. Still, VB6 sounds good.

Sorry, i was typing a bit turbo there. I WAS trying the % and __SCE__ combinations on the FOLDER of Snes9XTYL, not the EBOOT. But yeah, maybe i did something wrong... and i do know about the 9 char limit on prxlauncher - i still can't get it to work. On 3.03 OE-C i had networkupdate.prx as the prxlauncher, and it would load ms0:PSP/GAME/networkupdate.pbp completely fine. In this case, the networkupdate.pbp (which was PSP Filer) was hidden from the casual XMB homebrew menu, and i could load it from the network update menu entry. I loved it. It doesn't work as is with 3.52 M33 though... Doesn't really matter about the folder hiding anymore anyway. Something will come up soon though hopefully.


I am very interested in finding more out about the RCO structure. If I could grab that, you will be the first person on my list of credits if this program is ever released, i assure you!


I use UltraEdit for most things (an older version, i can't STAND the newest one) but there is a certain flaw in either unicode find and replace or unicode searching or something i cannot remember... i think the newest version adds the feature, but the newest version has something not right about it... i don't like the 'feel'. XVI32 is a great freeware HEX editor, it's very lightweight, and has great "block-copy and pasting" for splitting up large binary files and such. But I will definately give HexWorkshop a go though, see how that is.



Thanks heaps once again Zinga. I might bang together a half-respectable release of "Mod That PSP!" within the week and upload to a new thread. I would very much enjoy it if you and Anger could give it a look-see and comment/criticise/suggest on the software so far. Peace.
Pages: 1 2
Reference URL's