
01-28-2007, 04:49 PM
|
| Moderator / Pastafarian
My Mood: | | Join Date: Jan 2006 Location: sda1:/sys/kernel
Posts: 2,422
Points: 355.18 Donate | |
| HEN "Duff" for 3.03 Released Sorry, but I don't have much time to write this article fully, so hopfully a mod or admin could clean it up a bit.
Another bombshell has hit the PSP - namely, HEN for 3.03 PSPs! This will run on 3.03, yes, 3.03 PSPs, making them inches away from using normal homebrew, much like any other PSP!
Here's the info, it's quite long, but here goes: Quote:
This program enables homebrew and downgraders to be run on 3.03 using the original version of GTA.
It makes a patch that remains permanent until hardware reset. Sleep mode won't remove the patch.
This is based on the source for HEN 2.71 provided by Dark_Alex, thanks for the code and the help.
Note: this program writes some small files in the flash, ONLY the first time is executed.
It does NOT rewrite any existing file in the system, it writes new files, so the probabilities of
bricking are practically null.
Instructions
------------
- Copy all contents inside MS_ROOT to the root of your memory stick.
- Load GTA
- If the PSP freezes try again
- When you run the program, you'll see a coloured screen that can be one of two colors:
* Red: the files couldn't be written to the flash (it happens a few times). Just keep trying.
* Pale Blue: The files were written succesfully, and HEN is active. After that, the xmb will
be rebooted. Now you can run the homebrew in format prepared for 2.71. (see details below).
Note that a pale blue screen will appear again every time the PSP reboots with HEN active.
- As mentioned before, the patch will remain resident in memory, and even entering sleep mode
won't delete it. Only a hardware reset will remove the program from memory.
- When you do a hardware reset, you'll have to run the tiff again.
This time there will just be the pale blue screen and xmb reboot, since this time there is
no need to write to the flash.
Note: Ensure that you leave the PSP/HEN_303 and PSP/SAVEDATA directories that are used for HEN
as some of the files are used each time you enter HEN.
Note2: Once the program is loaded, it is independant of the memory stick contents. So you can
freely swap memory sticks.
Notes about homebrew running
-----------------------------
- Current homebrews are not supported. Since current homebrews are in static elf format, they
won't run (they are rejected by the 3.03 kernel). Homebrews for 3.03 have to be in prx format.
Programmers see the programming notes.
In future versions i may patch the kernel to allow it to accept static elf's.
- You can try using the PatchSFO tool from Noobz presents: v3.03 PSP Downgrader to patch homebrew to HEN format.
- There are some samples in the "GAME" directory, all of them ported from the pspsdk samples,
except the nanddumper written by Dark_AleX.
* polyphonic, pspsdk sample (user mode).
* cube, pspsdk sample (user mode). It shows a cube rotating.
* kdumper, pspsdk sample (kernel mode). It dumps kernel memory to the memory stick.
* ipldumper, pspsdk sample (kernel mode). It dumps the ipl to the memory stick.
* systemparam, pspsdk sample (user mode). It displays info about the system
* nanddumper, by Dark_AleX. (kernel mode). It dumps the full nand content to the file
"nandimage.flash" in the memory stick. The format of the dump is compliant with u.p. chip.
(It requires 33 MB of free space in the memory stick).
Programming notes for developers
--------------------------------
- As mentioned before, homebrew has to be in prx format, at least atm. Furthermore, the main prx, the one in
the pbp, has to be an user prx. However this user prx can load unsigned kernel modules from
the memory stick, allowing kernel mode apps.
- There is no need for noplainmodule check patch or nodevicecheck patch, since those are done
by the homebrew enabler.
- Try to use USE_KERNEL_LIBS = 1 in your kernel prx's. In 2.XX, the separation between user
and kernel mode is higher than in 1.XX.
Some functions in "*ForUser" are now totally separated (different address) from their
"*ForKernel" equivalents. A good example is ModuleMgr. If you are in a kernel prx and
you call the sceKernelLoadModule of ModuleMgrForUser, you will get a "ILLEGA_PERMANENT_CALL" error.
- See the source code of the samples to have a hint on how to program for 3.03.
Credits and thanks.
-------------------
- Noobz team for porting to 3.03
- Noobz team for porting to 2.80
Thanks to:
- Original code for 2.71 HEN supplied by Dark_AleX
- Booster for creating devhook. HEN reboot method is based on devhook one.
- Team C+D for the registry kernel exploit.
- Mathieulh for the help provided to Dark_AleX for the two months that he was without psp.
| Well done to Dark_AleX, and particularly Noobz, for finding the great exploit and coding a great app for it, all in one weekend! Great job, guys! [Download v QJ] Note to mods, or admins - I posted this literally seconds before I had to get away from my computer, so please forgive the QJ link, and possibly replace it with a PSP3D one.
Last edited by dorkdork777 : 01-29-2007 at 10:41 AM.
|