How to boot a FW
-
- Posts: 91
- Joined: Sun Feb 22, 2009 8:32 am
- Location: Melbourne Australia ZOMG
How to boot a FW
How can i boot a firmware from my app?
Like how can i boot a firmware from the MS?
Like how can i boot a firmware from the MS?
Run a FW from an app? That's nonsense, as your app needs a FW to run :P And you can't run a FW on top of another FW.
To boot a FW you need to do it at console boot.
To boot a FW you need to do it at console boot.
The Incredible Bill Gates wrote:The obvious mathematical breakthrough would be development of an easy way to factor large prime numbers.
Try timemachine. That enables you to start your psp by running a FW from the MS. It even enables you to run 1.50 homebrew on a slim.m0skit0 wrote:Run a FW from an app? That's nonsense, as your app needs a FW to run :P And you can't run a FW on top of another FW.
To boot a FW you need to do it at console boot.
Code: Select all
int main(){
SetupCallbacks();
makeNiceGame();
sceKernelExitGame();
}
-
- Posts: 91
- Joined: Sun Feb 22, 2009 8:32 am
- Location: Melbourne Australia ZOMG
-
- Posts: 91
- Joined: Sun Feb 22, 2009 8:32 am
- Location: Melbourne Australia ZOMG
download timemachine which is made by dark_alex
downlaod the firmware eboots which needed. (150.pbp, 340.pbp 360.psar<-hard to find try torrents, and another)
Run the timemachine eboot on your psp <- but before check you have enough space on your ms.
After time machine is installed boot your psp using a hacked battery.
If you press nothing your psp will boot normal. If you press CROSS/TRIANGLE/SQUARE or CIRCLE it will boot the FW defined by that button.
downlaod the firmware eboots which needed. (150.pbp, 340.pbp 360.psar<-hard to find try torrents, and another)
Run the timemachine eboot on your psp <- but before check you have enough space on your ms.
After time machine is installed boot your psp using a hacked battery.
If you press nothing your psp will boot normal. If you press CROSS/TRIANGLE/SQUARE or CIRCLE it will boot the FW defined by that button.
Code: Select all
int main(){
SetupCallbacks();
makeNiceGame();
sceKernelExitGame();
}
-
- Posts: 388
- Joined: Tue Aug 12, 2008 12:46 am
-
- Posts: 91
- Joined: Sun Feb 22, 2009 8:32 am
- Location: Melbourne Australia ZOMG
-
- Posts: 388
- Joined: Tue Aug 12, 2008 12:46 am
-
- Posts: 91
- Joined: Sun Feb 22, 2009 8:32 am
- Location: Melbourne Australia ZOMG
Why would you ever make a new ipl.
[sarcasm]Or are you a new genius hacker who had found a way to hack a psp3000 using magic memorystick[/sarcasm]
I mean... no average programmer needs his own ipl.
[sarcasm]Or are you a new genius hacker who had found a way to hack a psp3000 using magic memorystick[/sarcasm]
I mean... no average programmer needs his own ipl.
Code: Select all
int main(){
SetupCallbacks();
makeNiceGame();
sceKernelExitGame();
}
Well you need some knowledge about PSP inner workings to program such things. You better start here:
http://hitmen.c02.at/files/yapspd/psp_doc/
http://silverspring.lan.st/NPSPTD_01.txt
Then if you dont understand something, come asking.
http://hitmen.c02.at/files/yapspd/psp_doc/
http://silverspring.lan.st/NPSPTD_01.txt
Then if you dont understand something, come asking.
The Incredible Bill Gates wrote:The obvious mathematical breakthrough would be development of an easy way to factor large prime numbers.
It might be feasible to make your application directly reboot into a memory stick firmware such as one installed by Time Machine (Or a "Test M33" firmware from DC if you want a later firmware like 5.00M33).
You'll probably have to do something along these lines :/
You'll need a custom IPL which modifies the Time Machine IPL for this. You should already be running it in service mode.Time Machine can boot normally to flash0 from service mode. I'm assuming that if you store a variable at a fixed address in RAM, you can access it at IPL time when you suspend and resume the PSP. Make your app store a variable at a hard coded location and then suspend and restart the PSP. You could use the RTC alarm function to make it automatically power on again. When the PSP powers on it will execute the IPL again. You should have a custom IPL on the memory stick. In the IPL you can detect whether the PSP was cold booted or whether its resuming from a suspend. If it was previously suspended then you should look for your variable at your memory location too see whether your app wants to boot another firmware. If it does then your IPL should patch the TimeMachine IPL to directly start which ever memory stick firmware IPL instead of waiting for a button press. If it is coldboot then your IPL should directly start the Time Machine IPL so the PSP boots normally.
Or you can just make it reboot and hold the corresponding button for Time Machine =.=
You'll probably have to do something along these lines :/
You'll need a custom IPL which modifies the Time Machine IPL for this. You should already be running it in service mode.Time Machine can boot normally to flash0 from service mode. I'm assuming that if you store a variable at a fixed address in RAM, you can access it at IPL time when you suspend and resume the PSP. Make your app store a variable at a hard coded location and then suspend and restart the PSP. You could use the RTC alarm function to make it automatically power on again. When the PSP powers on it will execute the IPL again. You should have a custom IPL on the memory stick. In the IPL you can detect whether the PSP was cold booted or whether its resuming from a suspend. If it was previously suspended then you should look for your variable at your memory location too see whether your app wants to boot another firmware. If it does then your IPL should patch the TimeMachine IPL to directly start which ever memory stick firmware IPL instead of waiting for a button press. If it is coldboot then your IPL should directly start the Time Machine IPL so the PSP boots normally.
Or you can just make it reboot and hold the corresponding button for Time Machine =.=
-
- Posts: 91
- Joined: Sun Feb 22, 2009 8:32 am
- Location: Melbourne Australia ZOMG
-
- Posts: 91
- Joined: Sun Feb 22, 2009 8:32 am
- Location: Melbourne Australia ZOMG
You need to reverse engineer it....slasher2661996 wrote:ok i got the timemachine ipl, but how do i edit it
The starting IPL on the memory stick needs to be your own custom IPL which loads the TM IPL after making the necessary patches.
Last edited by Torch on Fri Jul 31, 2009 1:24 pm, edited 1 time in total.
-
- Posts: 91
- Joined: Sun Feb 22, 2009 8:32 am
- Location: Melbourne Australia ZOMG
Never tried it on ipl code, but prxtool has the option to disassemble plain binary segments. Keep in mind also that IPL is contsructed in chunks with header and hash data for each chunk, you'd have to look to see how closely the IPL exploit follows that outline once the initial block(s) with exploit are passed.slasher2661996 wrote:prx's i can decompile, but an ipl, how exactly?
example:
prxtool -b -n psplibdoc.xml -w -i mw -o output.dis.txt yourfile.bin
GCC's as should also have tools/ability to disassemble binary chunks.
Do swimmers start off in the deep end?slasher2661996 wrote:Yea i know Davee, but everyone has to start somewhere.
What i want to do, is a user chooses one option, then it boots into one firmware, if they press another it boots into another firmware (flash or MS)
Do guitarists start off learning insane solos?
Do low level programmers start off attempting to replicate another firmware via reboot?
Also the whole, IPL thing ain't really that good for his description.
I don't mean to be an arse and bursting your bubble, but you really don't do this unless you know how the PSP works. I suggest reversing parts of the kernel so you get an understanding of how the executables are treated, how the chain of trust operates and especially how executables are decrypted ;)
From a software point of view, your reboot doesn't want to touch the IPL at all. Have a look of reboot.bin it's loaded by loadexec. M33 hooks this to control reboots, you'll need to do the same.
I'm no expert myself as I've never attempted such a task but thats definately the way to reboot into an external firmware.
Aren't there are IPL patches as well for the booting from memory stick firmware?!? I don't think simply restarting with a Time Machine memory stick firmware's reboot.bin is going to make it boot from the memory stick!Davee wrote:From a software point of view, your reboot doesn't want to touch the IPL at all. Have a look of reboot.bin it's loaded by loadexec. M33 hooks this to control reboots, you'll need to do the same.
I'm no expert myself as I've never attempted such a task but thats definately the way to reboot into an external firmware.
Even if reboot works, what about suspend & resume? How would the TM IPL know which IPL's resume to run when you suspend and resume the PSP?
-
- Posts: 91
- Joined: Sun Feb 22, 2009 8:32 am
- Location: Melbourne Australia ZOMG
olol.Torch wrote:Aren't there are IPL patches as well for the booting from memory stick firmware?!? I don't think simply restarting with a Time Machine memory stick firmware's reboot.bin is going to make it boot from the memory stick!Davee wrote:From a software point of view, your reboot doesn't want to touch the IPL at all. Have a look of reboot.bin it's loaded by loadexec. M33 hooks this to control reboots, you'll need to do the same.
I'm no expert myself as I've never attempted such a task but thats definately the way to reboot into an external firmware.
Even if reboot works, what about suspend & resume? How would the TM IPL know which IPL's resume to run when you suspend and resume the PSP?
SE/OE firmwares ring any bells?
You're right with the suspend and resume though. That will have to properly be dealt with.
-
- Posts: 388
- Joined: Tue Aug 12, 2008 12:46 am
Torch, the nand o the psp slim have been patch to "emulate" 1.50 on the Sony PSP Slim/Lite. Its not just the IPL that comes with the 1.50, its the patch it self that completly allow 1.50 on psp slim via TM (isnt it?).Torch wrote:You mean the lflash emulation is completely transparent and boots 1.50/3.40OE firmware with the stock IPL in TM??Davee wrote:SE/OE firmwares ring any bells?
You're right with the suspend and resume though. That will have to properly be dealt with.
What about the 1.50 Slim version through TM?
PSHN - Playstation Hacking Network
PSX/PS1 - HACK - Game Shark
PS2 - HACK - Swap
PSP - HACK - Pandora
PS3 - ?
PSX/PS1 - HACK - Game Shark
PS2 - HACK - Swap
PSP - HACK - Pandora
PS3 - ?
TM doesn't touch the nand...Dariusc123456 wrote:Torch, the nand o the psp slim have been patch to "emulate" 1.50 on the Sony PSP Slim/Lite. Its not just the IPL that comes with the 1.50, its the patch it self that completly allow 1.50 on psp slim via TM (isnt it?).
I doubt the 1.50 IPL would even recognize half the hardware in the Slim while initializing. I dunno how it would work without extensive patching.
-
- Posts: 388
- Joined: Tue Aug 12, 2008 12:46 am
I remember reading something about the Time Machine patches the psp slim to use 1.50, and something else. You'll have to ask dax (thats if he ever come back online again).Torch wrote:TM doesn't touch the nand...Dariusc123456 wrote:Torch, the nand o the psp slim have been patch to "emulate" 1.50 on the Sony PSP Slim/Lite. Its not just the IPL that comes with the 1.50, its the patch it self that completly allow 1.50 on psp slim via TM (isnt it?).
I doubt the 1.50 IPL would even recognize half the hardware in the Slim while initializing. I dunno how it would work without extensive patching.
PSHN - Playstation Hacking Network
PSX/PS1 - HACK - Game Shark
PS2 - HACK - Swap
PSP - HACK - Pandora
PS3 - ?
PSX/PS1 - HACK - Game Shark
PS2 - HACK - Swap
PSP - HACK - Pandora
PS3 - ?