UPDATER mode patch for eLoader
UPDATER mode patch for eLoader
Hi folks, for any interested parties, we released a patch for eLoader 0.97 that allows it to run GTA in UPDATER mode, as per the technique suggested by moonlight in this thread.
It currently only works on v2.0 PSPs, but might be of interest to anyone looking to explore this little hack.
You can download the patch at http://noobz.eu.
It currently only works on v2.0 PSPs, but might be of interest to anyone looking to explore this little hack.
You can download the patch at http://noobz.eu.
Got a v2.0-v2.80 firmware PSP? Download the eLoader here to run homebrew on it!
The PSP Homebrew Database needs you!
The PSP Homebrew Database needs you!
moonlight wrote:Just a thought that came to my mind, but probably won't work...
#include <psploadexec.h>
#define PATH "disc0:/PSP_GAME/SYSDIR/EBOOT.BIN"
void reinit_inupdater()
{
struct SceKernelLoadExecParam param;
param.size = sizeof(param);
param.args = strlen(PATH) + 1;
param.argp = PATH;
param.key = "updater";
sceKernelLoadExec(PATH, ¶m);
}
In the best of cases, if it succeded, the GTA would be reinited in updater mode, where there are less restrictions, and where probably writing to the flash0 is possible.
In the worst of cases, only a waste of time
Unfortunaly, i don't have a 2.01+ to test these things myself.
moonlight wrote:The sceKernelLoadExec can be called from user mode, at least in 1.50. (but it can only execute files from the disc, curiously, in 1.50, sceKernelLoadExec in user mode can run the BOOT.BIN, not encrypted, but not EBOOT.BIN, the encrypted one :S )
Here you have the exported LoadExec functions for user mode:
http://svn.ps2dev.org/filedetails.php?r ... rev=0&sc=0
FreePlay, don't get confused by the word "kernel". A lot of other functions that have the "kernel" word like sceKernelCreateThread, sceKernelStartThread... can be called from user mode.
PSP hardware hack
http://0okm.blogspot.com/
http://0okm.blogspot.com/
There was some hope that some of the restrictions might be different (for instance, Yoshihiro's speculation that flash access is restricted for games), or that some different modules might be available.
VshBridge is loaded in UPDATE mode, for instance - but sadly we can't use it because we don't have the VSH thread attribute.
Anyway - it's just a little curiosity, since I had the patch in hand it seemed worth releasing it.
VshBridge is loaded in UPDATE mode, for instance - but sadly we can't use it because we don't have the VSH thread attribute.
Anyway - it's just a little curiosity, since I had the patch in hand it seemed worth releasing it.
Got a v2.0-v2.80 firmware PSP? Download the eLoader here to run homebrew on it!
The PSP Homebrew Database needs you!
The PSP Homebrew Database needs you!
Difficult to edit that flag into BOOT.BIN on the UMD though...dot_blank wrote:just curious
// Define the module info section for VSH module
PSP_MODULE_INFO("modWifiTest", 0x0800, 1, 1);
And remember that the eLoader isn't running in kernel mode (or even VSH mode, in this case) - so it can't honour the module's request for the VSH flag. The whole point of the eLoader is that it simulates what it can from sceKernelLoadExec - but it can't grant permissions that it doesn't have.
Of course, I don't know if anyone has tried to LoadExec a plaintext module from the MS in the same way as the plaintext BOOT.BIN is executed. But I suspect that the only reason the plaintext exec is allowed is because the file is on UMD, and just user-mode.
Got a v2.0-v2.80 firmware PSP? Download the eLoader here to run homebrew on it!
The PSP Homebrew Database needs you!
The PSP Homebrew Database needs you!
Of course!! It will give you an error ILLEGAL_LOADEXEC_DEVICE.Fanjita wrote: Of course, I don't know if anyone has tried to LoadExec a plaintext module from the MS in the same way as the plaintext BOOT.BIN is executed. But I suspect that the only reason the plaintext exec is allowed is because the file is on UMD, and just user-mode.
Btw, fanjita, have you used the function sceKernelLoadModuleMs in GTA? This function lets you load a signed kernel module (not user ones :O) from the memory stick. Maybe you could use this function to load the usb drivers in GTA, although you would have to copy them from the flash to the memstick :D