Half Byte loader is an open source tool to load homebrews on all models of PSPs
Half Byte Loader can be downloaded at http://wololo.net/wagic/hbl
#174 by Mr. X
Wed Sep 29, 2010 5:36 pm
Current Revision = 118

Revision 118 - Binaries
Revision 118 - Source Code


Changes

Changes can now be found in the README file included with every build in any set. They can also be found at the bottom of this post, as always.



General Information

Basic Installation Information
r5-r13: Just copy everything to the root of your PSP.

r14-r23: Copy everything to the root of your PSP and rename either "libs_5xx" or "libs_6xx" to just "libs" depending on your firmware version.

r24-r27: Make a folder called "hbl" and put everything inside of it except "h.bin". Remember to rename either "libs_5xx" or "libs_6xx" to just "libs" depending on firmware version.

r28-r31: Do the same as above, but also go into the config folder and rename one of the "imports.config_xxx" to just "imports.config", depending on firmware version.

r32: Firmware detection added, no need to rename libs or imports.config any more.

r34: A new savegame is required to load the HBL, just replace the old one.

r65: Choice between debug or distrib versions. Debug makes a dbglog file that the devs can use at the expense of a slightly lengthier loading time. Distrib loads faster and is more suited for personal use.

r76: Choice between distrib, debug or nonids. Basically the same as above, but the "nonids" version will also generate a helpful dbglog without debugging NIDs.

r79: Configuration file added ("hbl_config.txt"), use it to change the location that the menu loads, along with a few other useful settings.

r107: New savegame required for Patapon 2, replace the old one.

r115: HBL can be launched directly from the XMB. There's absolutely no need to use a game exploit.



Difference Between Builds
Debug = HBL with full debugging output. This version is larger than the rest and has a longer loading time too. This is recommended for HBL developers only, or for hunting NID/syscall-related bugs.

Distrib = HBL with no debugging output. Extremely quick and minuscule in size. This versions is great if you're planning on using HBL privately, but don't ask for help with any issues you have as there's no way for any of the devs to know what has gone wrong.

NoNIDs (recommended) = HBL with no NIDs debugging. This version is in-between the two others in terms of speed and size. This is the recommended build to use; it loads fairly fast, whilst, at the same time, generates a log file that the devs can use to help you with any problems you may have.

Source = HBL source code in C. Not much else to say about this, if you can code it then you should be able to get it straight from the SVN yourself.



Random Additional Notes
Before revision 17, any EBOOT files you want to try and load should be placed in the root directory of your PSP. In revision 17, a menu was introduced which lists all of the folders in ms0:/PSP/GAME/, allowing you to have multiple EBOOT files at the same time.

You can prevent the menu from loading by creating a folder called "game" inside of the "hbl" folder and then placing a single EBOOT file inside of it. e.g.: "ms0:/hbl/game/EBOOT.PBP". You can also bypass the menu in later revisions by replacing the EBOOT file in the menu folder (ms0:/hbl/menu) with the EBOOT of a homebrew you would like to load instantly.

Up until revision 99, the HBL only offered support for the Patapon 2 exploit. Revision 100 brought support for 3 new exploits, the Golf exploits ("Everybody's Golf", "Hot Shots Golf", and "Minna no Golf"). Revision 102 brought even more support, with users now able to use the HBL with the three Golf 2 exploits ("Everybody's Golf 2", "Hot Shots Golf 2", and "Minna no Golf 2"). Revision 103 added compatibility with the fourth Golf 2 exploit, "Minna no Golf 2 - The Best". Revision 108 added compatibility with an alternative version of Hot Shots Golf, dubbed the "Non-Greatest Hits" version. Revision 111 added compatibility with the "Everybody's Sukkiri" exploit.

Starting from revision 113, the HBL can be launched directly from the XMB.

Any revisions that seem to be missing either don't exist (e.g.: they were edits to the wiki page), or they can't be compiled for various reasons.



Compiled Binary Downloads


Revision 1-9 binaries


Revision 10-19 binaries


Revision 20-29 binaries


Revision 30-39 binaries


Revision 40-49 binaries


Revision 50-59 binaries


Revision 60-69 binaries


Revision 70-79 binaries


Revision 80-89 binaries


Revision 90-99 binaries


Revision 100-109 binaries


Revision 110-118 binaries



Source Code Downloads


Revision 1-9 source code


Revision 10-19 source code


Revision 20-29 source code


Revision 30-39 source code


Revision 40-49 source code


Revision 50-59 source code


Revision 60-69 source code


Revision 70-79 source code


Revision 80-89 source code


Revision 90-99 source code


Revision 100-109 source code


Revision 110-118 source code



Savedata

Savedata



Other

Game Demos



Revision Information


Revision Information (WARNING: Big Spoiler)
r5
Date: Mar 29, 2010
wololo
- (temporarily) remove syscall.c from the dependencies in the Makefile

r8*
Date: Mar 30, 2010
r6 updates:
- Added syscall estimation code
r7 fix:
- Removing syscall.o (forgot to to so before update, sorry)
r8 fix:
- Added Makefile back to usual (next time please comment the stuff, do not erase
:))

r9
Date: Mar 31, 2010
- Added sceKernelReferEventFlagStatus
- Added sceKernelDeleteEventFlag
--> imports.config and loader are changed, so remember to use the new ones when
testing!
- Added find_evflag (thread.c)
- Added event flags, remaining semaphores and UserSbrk address to memory.c
--> Now we have 0x1410400 free bytes (20 Megabytes) :-)

r10
Date: Apr 03, 2010
- This revision doesn't work!!!
--> Crash in sceSystemMemoryManager (???) when resolving homebrew imports
- Added sceKernelAllocPartitionMemory
- Now the loader allocates memory for HBL
- Now HBL allocates memory for the homebrew
- Removed hooks from sceKernelAllocPartitionMemory, sceKernelGetBlockHeadAddr
and sceKernelGetMaxFreeMemSize
--> Now the homebrew can use the whole free memory :-)
- Fixed a bug in loader.c that was causing crashes
--> In search_game_stubs, stub_list wasn't completely zeroed
- Fixed "CANNOT FIND THREAD TO DELETE" bug (HBL now doesn't exit)
--> We still need a proper fix!

r12
Date: Apr 03, 2010
- Still doesn't work!!!
--> It crashes in sgx-psp-freq-thr thread when freeing memory
--> Threads aren't found (why???) and aren't terminated
--> So when HBL frees semaphores/event flags the thread crashes
- Removed useless arguments in loader _start
- Now AddNID in sdk_hbl.S use $v0 instead of $fp
--> This fixes sceSystemMemoryManager crash in revision 10 :)

r13
Date: Apr 04, 2010
- Still very unstable (Wagic crashes and T.O.M.E. gives "core() error")
- Added malloc.c and malloc.h
- Now relocate_sections reads the whole section in a dinamically allocated
buffer
--> Now relocation is A LOT faster! :)
--> T.O.M.E. takes about 15 seconds to start (debug enabled)
--> Wagic takes about 1 minute to start (debug enabled)
- Now loader allocates HBL stubs using PSP_SMEM_High because homebrew was
overwriting them
--> We need to unload Labo and use PSP_SMEM_Low so they'll be BEFORE the
homebrew!
--> We also need to make HBL relocatable!
- Added a bit of debug to find_thread
- Added a bit of debug to relocate_sections
- Moved hardcoded scratchpad addresses to scratchpad.h
--> They are still hardcoded in sdk_hbl.S, someone knows how to use a C defines
in ASM?

r14
Date: Apr 04, 2010
- NOT TESTED ON 6.XX
- Added .nids files for 6.XX firmware
- HBL works as before, thus relevant directory should be renamed to "libs"
- More information on differences on comments

r17*
Date: Apr 05, 2010
r15 updates:
wololo
- Adding a basic menu (think of copying the new imports.config AND menu.bin to
your MS). Thanks to N00b81 for the graphics lib.
r16 fix:
wololo - fix a typo
r17 fix:
- Just license update

r18
Date: Apr 06, 2010
wololo
- adding output to the screen while HBL loads
- putting back my fakemem mechanism so that T.O.M.E runs (this basically hacks
malloc badly). To deactivate it, comment out the "define FAKEMEM"
-- that fakemem system is of course temporary until we can actually free the ram

r19
Date: Apr 06, 2010
- STDIOFORUSER.NIDS was in big-endian format (thanks to arisma)

r20
Date: Apr 07, 2010
Erwan
- small menu improvements
- shortened the delay for free mem ("free memory" step goes faster)
- dblog is deleted every time the HBL is started

r21
Date: Apr 08, 2010
- Changed imports.config structure (check config.h for new structure)
- Changed config.c library to suit new file structure (also fixed some old bugs)
- Some code cleaning (i.e. moved reestimate_syscall() to syscall.c)

r22
Date: Apr 08, 2010
wololo
- adapt the generation script to the new imports.config structure

r24
Date: Apr 09, 2010
wololo:
- All files except h.bin now NEED TO BE PUT in a "hbl" folder at the root of the
memstick
-- this fixes issue 4
-- this can be changed in the code by modifying HBL_ROOT
- simplified the "menu/no menu" choice from a user's perspective (since the menu
seems to be not working for lots of people):
-- if a "ms0:/hbl/game/EBOOT.PBP" file exists, it will be launched, otherwise
the menu is launched

r25
Date: Apr 12, 2010
- Added more .lib.stubs sections to imports.config
- Added code to HBL process any number of .lib.stubs defined in imports.config
--> eLoaderconf.rb broken, wololo please fix it
- Added more functions and a lot of order to sdk_loader.S
- Moved get_library_entry() from syscall.c to eloader.c
- Added a new directory with tools for HBL development
- Added NIDSPRX tool by arisma
- Added whole GPLv3 to LICENSE
- This changes should improve syscall estimation :)
--> Need more .nids files for the new libraries

r26
Date: Apr 13, 2010
- Fixed buffer overflow in estimate_syscall() ( issue 14 )
- Fixed ELF path ( issue 13 )

r27
Date: Apr 13, 2010
wololo
- fix eLoaderConf.rb (don't really understand what was "broken" in the first
place...

r28
Date: Apr 13, 2010
- Separate imports.config for 5XX and 6XX. Rename to imports.config
- Added 2 more tools: a processor to make NID table dumps more readable and a
user memory dumper (useful for 6.20)

r29
Date: Apr 14, 2010
- Fixed nidtohuman tool Makefile
- Added a very very very simple syscall reestimation function

r31*
Date: Apr 16, 2010
r30 updates:
- Added new imports.config files for 5.0x, 5.5x, 5.70 and 6.20 (PSP Go) versions
(courtesy from ultimakillz)
r31 fix:
- Deleted imports.config_620_go. Use imports.config_6xx.

r32
Date: Apr 16, 2010
wololo
- - Experimental!!! firmware detection mechanism. No need to rename libs_5xx and
libs_6xx, as well as imports.config_* : the HBL automatically loads the
"correct" ones

r34
Date: Apr 17, 2010
wololo
- THIS CHANGE REQUIRES A NEW PATAPON SAVEGAME!!!
--> you can generate it by yourself with the date in SDK/binLoader, or you can
get a pre-made one at http://wololo.net/wagic
- Added code to unload the module "Labo". To activate it, please uncomment
"UNLOAD_MODULE" in eLoader.h. This is commented out because I4ve had terrible
results with homebrews after unloading the module

r35
Date: Apr 17, 2010
wololo
- Fix issue 21 , thanks to arisma for finding my stupid mistake

r36
Date: Apr 18, 2010
wololo
- firmware detection for 5.55
- basic sprintf functions for improved log/print to screen
-- dbglog is now more or less readable in a text editor. Output to psplink
should be more useful too

r37
Date: Apr 18, 2010
- Added imports.config for 5.50 and 5.55 differences (thanks to ultimakillz)

r38
Date: Apr 19, 2010
wololo
-adding sceHprm for 5.xx. I don't have it for 6.xx

r39
Date: Apr 22, 2010
- NOT WORKING REVISION!!
- Splitted several stuff from eloader.c to tables.c and hook.c (can be splitted
more)
- Added several functions to HBL imports
- Updated eLoaderconf.rb tool too
- Added Davee's free memory function to HBL (you can choose between ab5000's and
Davee's method in eloader.h)
- Fixed a bug where HBL would not check if own imports already exist in NID
table
--> All seems to work fine, but HB doesn't execute

r40
Date: Apr 22, 2010
- Added up-to-date imports.config_550 and _555
- Added support for FW 5.50 and 5.55 to eLoaderconf.rb

r41
Date: Apr 22, 2010
- STILL DOESN'T WORK
- Fixed a few bugs, mostly concerning syscall estimations being wrongly
calculated. Now they seem fine, but still no go :(

r42
Date: Apr 23, 2010
- Adjusted code as discussed on r39 comments
- Put back a loop at the end of loader (do not exit user_main)
- Davee's free_game_memory adjusted to free user_main
- I was able to finally run a homebrew since good ol' times :P
- Added Davee as developer on the LICENSE (thanks for the help!)

r49
Date: Apr 23, 2010
- Added sceHprm.nids from 6.20 FW (libs_6xx)
- Deleted NID table processor tool (not needed anymore)

r50
Date: Apr 24, 2010
wololo
Fixed issue 42 , issue 41 , issue 39 , issue 23 .

Details:
- cleaned up Davee's free memory function (dude you love copy/paste :P)
-- This fixes issue 42 : 6.20 hangs on free_game_memory (as usual, syscall
estimation was the culprit, I replaced the "find_thread" call with a direct
address fetch like Davee does)
- Written own sceKernelMaxFreeMemSize() and sceKernelTotalFreeMemSize()
functions to avoid 2 unnecessary syscall estimates (avoids a crash in
free_memory by ab5000)
- Fixed issue 41 (How to distinguish between Go and other PSPs ) : call
getPSPModel() in utils.c (see eLoader.c which does that call). Note: impossible
with this technique to differentiate other psp models though
- Fixed issue 39 ([Rev 49]Still no Free Ram). This was actually an issue with
the game T.O.M.E and I'll post an updated Eboot for this game on my blog
(http://wololo.net/wagic ) ASAP
- Fixed issue 23 (List Only the Homebrew ) with a simple filter in menu.bin.
Hopefully that should clean things a little bit.
- Added some more syscall boundaries, but I'm not super happy with the result
(a.k.a. haven't seen any improvement), so maybe that update can be reverted :(
- removed the FAKEMEM flag as it is not needed anymore. I kept the hook for
AllocPartitionMemory for debug purposes, but it should probabl be removed in the
future.

r51
Date: Apr 25, 2010
wololo
-added firmware detection for 5.03 (thanks to Flyer for the memdump). Untested

r52
Date: Apr 25, 2010
- Added kernel memory dump for PSPGo at the start of the loader, because
otherwise accessing kmem will fail (i dont know why)
--> This can be improved dumping only necessary offsets and not the whole
partition
- Added finding lowest syscall from kernel memory for some libraries -only for
PSP Go, and using the kmem dump-
- Got rid of intermediate static buffer for loading HBL into memory
- Changed tool "umem dumper" to do a kernel dump as well (only works on PSP Go)
and changed the linker address to the new one on the new savedata (new!)

r53
Date: Apr 26, 2010
- Fixed minor bug on menu (error is < 0, not <= 0)
- More eloader.c house cleaning

r56
Date: Apr 26, 2010
- Added a new member to tNIDResolver struct to relate each NID to a library
--> I think this is better than including a pointer/array for NID in tSceLibrary
- Added more debugging functions to dump ELF structures directly (more need to
be done)

r57
Date: Ap 27, 2010
- Added a new data structure to handle module loading information
- New parsing user modules to free (thanks to Davee)

r59
Date: Apr 28, 2010
- Changed prx_load_program() to accept addresses other than PRX_LOAD_ADDRESS
- Added load_module and start_module functions in modmgr.c
- Moved some generic functions from utils.c to lib.c
- Changed EBOOT offset type to SceOff
- Added relevant data structures and functions for module loading
- To load external modules, hook sceKernelLoadModule and sceKernelStartModule
(not tested), and uncomment LOAD_MODULE
- Big thanks to ab5000 for the memory allocation library!

r60
Date: Apr 29, 2010
- Added hooks for external module loading
- Fixed some bugs on module loading/starting
--> HBL crashes when resolving the imports for loaded module. Seems values have
not been relocated.

r61
Date: Apr 30, 2010
wololo
- Override a bunch of functions to avoid estimating them
-- Most of those can be deactivated with macros in eLoader.h (in the future
we'll want a config for each game)
-- With these overrides, Wagic now loads on the PSPGo as long as you remove the
mp3s from the sound folder. (it crashes when attempting to save options
though...)
- Fixed a bug that prevented big EBOOTS from loading (scummVM) because the path
was overwritten

r63
Date: Apr 30, 2010
- Fixed resolving functions (resolve.c) to accept other loading address than
PRX_LOAD_ADDRESS
--> Now external modules seem to load/relocate/resolve fine, they do not crash
but do not start either. PSPLink reports the external module thread is stopped
- Minor code/style fixing


r64
Date: May 01, 2010
- Changed detection of FW 5.51 as 5.55 (previously set to 5.50) to load correct
configuration

r65
Date: May 01, 2010
wololo
- more Functions overrides. Some of them are direct Aliases so they're 100% good
-- other are more borderline and we need a way to use them or not on a game-per-
game and maybe firmware basis (config file)
- updated Makefile. make or make dev for debug, make distrib for no debug info
- Added sceReg.nids
- uploaded a compiled version at http://wololo.net/wagic/hbl/ and I hope people
will now stop asking "how to compile" all the time :P

r66
Date: May 03, 2010
- Fixed a bug in syscall estimation for PSP Go
- Added 2 new methods for syscall estimation (also for reestimation)
- Added new C files for function testing and reestimation
- Now reestimation seems to work sometimes (compared to never working before xD)
--> Needs more heavy testing
- Modified data structure to hold NIDs (added number of nids)
- Now estimated syscalls are saved on nid_table so they don't have to be
estimated again (until table fills)
--> This feature may need a more dynamic nid_table (linked list?)
- Added revision number to print on screen (please take care on updating this!)

r70*
Date: May 07, 2010
r69 updates:
wololo
- More functions overrides
- Automatic SVN version number through makefile (tested on cygwin and dos
command line, hopefully will work on linux too)
- Some cleanup. Removed some dead code related to thread/modules.
- Fixed a nid bug in eLoaderconf.rb
r70 fix:
wololo
- adding missing file

r71@
Date: May 10, 2010
- Fixed 5.03 FW detection (should be detected as 5.50)
- HBL tables are now allocated separately, this fixes a bug where they were
overwritten when another module was loaded
- Changed reestimation method order (I don't see any improvement though)

r73*
Date: May 10, 2010
r72 updates:
- Fixed bug on syscall reestimation
- Added a new reestimation method
- Reverted first estimation method (FROM_LOWEST)
r73 fix:
- Fixed error on "make distrib" (thanks Cathesdus)

r74
Date: May 10, 2010
- Reverted the tables memory allocation, made a lot of things to fail

r76
Date: May 11, 2010
- Deleted all user mode libraries from the tables
--> It's useless to have them there when the user mode modules have been
unloaded
- Fixed REESTIMATE_SYSCALL define to be useful (wasn't used)
- Added a new make target (nonids) to build without NID debug
- Fixed big stupid bug on new syscall estimation method (FROM_CLOSEST)

r78*
Date: May 11, 2010
r77 updates:
- Put back the tables memory allocation (seems to work fine now)
r78 fix:
- Fixed an error on "make distrib" (again, thanks Cathesdus)

r79
Date: May 13, 2010
- added md5 functions (they can be removed and replaced by a
_hook_generic_success if we are short on ram, I only added that for gpsp, but it
works without it)
wololo
- added some more hooks for improved compatibility
- Added configuration file with possibility of local override on a per game
basis
-- the config file allows to choose the folder in which the menu will start

- I'm seeing weird effects from time to time when compiling. I think we have a
huge bug somewhere OR as m0skit0 said we are running out of memory, and the
stack is meeting our data :(

r80
Date: May 19, 2010
- EXPERIMENTAL RELEASE
- Tested on PSP 2000 5.00 M33 & PSP Go 6.20
- Changed HBL to be loaded on memory partition 5 instead of the usual 2
--> This gives us whole parition 2 memory, and should get rid of stuff being
overwritten
- I got rid of the HBL memory allocation since we actually inject HBL to
partition 5
- HBL stubs are back to scratchpad (since we can't allocate p5 memory from p2)

r83*
Date: May 22, 2010
r81 updates:
Date: May 21, 2010
wololo
- Still considered as EXPERIMENTAL RELEASE
- Made the Makefile more strict
- Fixed a few issues detected by gcc
- Fixed a malloc issue that prevented big homebrews such as Wagic from loading
correctly in rev80
- Fixed issue 129
r82 updates:
- Added scrolling menu for 40 homebrews max (thanks to MrShawman!)
- Separate mallocs for p5 and p2 (r80 and r81 malloc code was wrong)
- Included missing file lib.h
- Included some code for loading utility modules (not operating yet)
--> IMHO HBL needs a serious recoding effort...
r83 fix:
Fixed compilation error about uninitialized variable

r85
Date: May 26, 2010
wololo
- Put HBL back into partition 2. This fixes issue 133 (exit/sleep not working).
Changes into malloc also fix issues with Wagic and some roms not loading in gpsp
since rev 80
- Move all globals into a struct in scratchpad. This fixes issue 128 (HBL too
big since rev 79)
- Fix issue 123 (devkitversion)...again :) Which should fix "firmware" errors in
Daedalus
- Added a sanity "test" homebrew. If you code some changes and this homebrew
reports errors : Don't submit your code!

r88*
Date: June 14, 2010
r87 updates:
- Function to find a loaded module by name (modmgr.c)
- PoC code to resolve utility imports (resolve.c, modmgr.c) (INCOMPLETE, STILL
IN PROGRESS)
--> Only works for MP3 library over 5.00, and it sounds absolutely awful with
WTH (lag owns)
- Changed some defines from eloader.h to sdk.h
- Added data stucture to parse exports (elf.h)
- Added function to insert a library into library table (tables.c)
r88 fix:
- Fixed compilation error for non-debug

r89
Date: June 16, 2010
- Function to find the library exports of a loaded module by name (the real deal
this time xD) (modmgr.c)
- Added more utility loading code (EXPERIMENTAL) (resolve.c, modmgr.c)
--> Network still not available :( Any further testing/feedback is appreciated
- Added a couple of functions that search for string and 32-bit value on memory
(lib.c)
- Moved hook switches to hook.h
- Added switchable hook for sceUtilityLoadModule (hook.c)
- Added displaying real homebrew name (by MrShawman)

r90
Date: June 17, 2010
Erwan
- Quick fix for 2 bugs introduced in revision 89.

r91
Date: June 25, 2010
wololo
- Moved the menu outside of HBL, it is now a homebrew so that anybody respecting
the API can code their own menu as a "standard" homebrew.
- Added possibility to go back to the menu after playing a homebrew
-- This feature is experimental and there are known bugs about it, please check
the issues list!

r92
Date: June 27, 2010
wololo
- unload utility modules when exiting a homebrew (partially fixes issue 179)

r93
Date: July 05, 2010
wololo
- added JJS's patch for network modules. This partially fixes issue 109. Thanks
a lot man!
-- see the subject at http://advancedpsp.tk/foro_es/viewtopic.php?f=37&t=784
- removed the code that attempts to delete callbacks. Based on my experiments
with psplink, I'm assuming that unloading the patapon module simply unloads the
callbacks as well. This fixes issue 45

r94
Date: July 13, 2010
wololo
- Added JJS's patch for Static elfs loading. This improves compatibility with
some games
- Fixed issue 269 (Exit from Doom crashes)
- override_sceCtrlPeekBufferPositive is now an option in hbl_config.txt, for
those who want to take the risk and get more speed in emulators

r95
Date: July 18, 2010
wololo
- Fix for issue 270 Sound in picodrive (needs to be 44KHz though, check the
settings in picodrive!)
- Fix a bug introduced in R94 with libraries unloading. This fixes issues 280
and 283 (goEar and pspkvm)
- Fix for issue 284 (can't save in snes9xTYL). Thanks JJS and SeanC994

r96
Date: Aug 01, 2010
wololo
- JJS' patch for syscall estimation. see
http://advancedpsp.tk/foro_es/viewtopic.php?f=37&t=901

r97
Date: Aug 08, 2010
wololo
- fix for issue 296 (off by 1 error). No visible change
- fix for issue 137 (reset graphics). Fixes graphic issues with PSP Rhythm,
Spider solitaire, FCE Ultra,...
- added an option for "force exit". Allows to come back to HBL menu for
homebrews that don't have an exit menu. This is an attempt to mitigate issue 181
(exit button not working anymore)
- syscalls_known can now be overriden in the config file for tests purposes
(untested)

r98
Date: Aug 29, 2010
JJS
- Added Nymphaeas patch that allows to exit HBL to the XMB by using the HOME
exit menu ( http://advancedpsp.tk/foro_es/viewtopic.php?f=37&t=1046 )
- Added code to get additional syscalls using the stubs of utility dialogs
loaded into p5.
-- This means sceCtrlPeekBufferPositive can now always be used and the option to
override it is now obsolete for all 6.20 users.
-- Also all relevant sceIO* functions should be perfectly estimated now.
- Fix for issue 43 (crash on start from MS on the GO). Kernel dump is now saved
to ef0.
- Fix for issue 306 (control issues). Hopefully fixed by replacing the
sceCtrlReadBufferPositive call with sceCtrlPeekBufferPositive.
- Corrected 5.70 nids files. Thanks n00b81!
- Corrected scesuspendforuser.nids for 5.xx and 6.xx.

r99
Date: Aug 30, 2010
wololo
- fix a bug introduced in r98 that prevents syscalls from being correctly
estimated on pspgo 6.20 (error reading kdump)

r100
Date: Sep 08, 2010
2010/09/08 (Wololo)
- Adpated the code to J416's Exploit in minna no golf, Freddy's Exploit in
Everybody's golf, and Wololo's exploit in hotshots golf. Adapted by JJS and
Wololo
-- This is majorly untested, but I'm afraid of losing the many code changes
involed here. I basically tested this on the patapon exploit and the hotshots
exploit on a psp go 6.20
-- This improves HBL portability, although lots remain to be done
-- This officially makes HBL compatible with OFW 6.30 and 6.31
I hope I'm not forgetting anything, this is a major update ^^;

r101
Date: Sep 19, 2010
wololo
- JJS's patch for perfect syscalls on the golf exploit
- Changed loading address for minna no golf exploit, per J416's recommendation
- solve firmware detection issues on 6.30/6.31 ( issue 323 )

r102
Date: Oct 15, 2010
Wololo
- This is WORK IN PROGRESS AND NOT RECOMMENDED FOR BINARY DISTRIBUTION
- initial checkin for Hotshots golf 2 / everybody's golf2 / minna no golf 2.
Credits for the exploits/binary loaders go to mamosuke, J416, JJS, wololo.
- Added some sanity checks for stub entries.
- Added some generation tools in /tools (including a ruby version of the
moskitool) (JJS, wololo)

r103
Date: Oct 19, 2010
JJS
- This is WORK IN PROGRESS AND NOT RECOMMENDED FOR BINARY DISTRIBUTION
- changed files in "minna2" folder to the original Minna No Golf 2 release
version
- added "minna2best" folder for the Minna No Golf 2 budget "the best" release
- added more stubs to eLoaderconf.rb
- fixed regression introduced in R102 that prevented the p5 stubs from being
parsed (stub addresses on p5 got rejected by the user memory pointer sanity
check)
- fixed compiling and linking on MINPSPW 0.9.6+ (explicit typecast in modmgr.c
and rebuilt sdk_loader.S for Patapon 2)

r104
Date: Oct 30, 2010
JJS
- This is WORK IN PROGRESS AND NOT RECOMMENDED FOR BINARY DISTRIBUTION
- changed getFirmwareVersion to the code by neur0n (see
viewtopic.php?f=4&t=128&start=0&#41;. Thank you!
- removed all memory offsets for firmware detection from the exploit_config.h
files
- added GO perfect syscall memory offsets for hotshots2/everybody2 on 6.3x
- added GO perfect syscall memory offsets for minna2/minna2best on 6.20 and 6.3x
- fixed bug that disabled perfect syscalls on 6.3x GOs (g->syscalls_known was
being reset)
- fixed issue 333 (patapon2 broken on 5.03 and 5.51)

r105
Date: Nov 05, 2010
JJS
- This is WORK IN PROGRESS AND NOT RECOMMENDED FOR BINARY DISTRIBUTION
- checked in hotshots2, minna2 and minna2best config files
- fixed import stub parsing again by also relocating variable imports, they now
pass the user memory pointer check

r106
Date: Nov 07, 2010
J416
- This is WORK IN PROGRESS AND NOT RECOMMENDED FOR BINARY DISTRIBUTION
- I fixed the crash when hbl erased the memory on minna no golf2.

r107
Date: Nov 13, 2010
JJS
- This is WORK IN PROGRESS AND NOT RECOMMENDED FOR BINARY DISTRIBUTION
- applied fix for savegame exploit code by neur0n (h.bin file handle not being
closed, see viewtopic.php?f=4&t=286&#41;. Thank you!
- added two missing addresses in exploit_config.h for Patapon 2
- added releasing of two additional sub interrupt handlers to FreeMem()
- added new nid files for 6.3x

r108
Date: Nov 14, 2010
JJS
- This is WORK IN PROGRESS AND NOT RECOMMENDED FOR BINARY DISTRIBUTION
- added alternative version of Hot Shots Golf: Open Tee

r109
Date: Nov 15, 2010
JJS
- This is WORK IN PROGRESS AND NOT RECOMMENDED FOR BINARY DISTRIBUTION
- fixed issue 342 (some homebrew crashing on exit)
- added code to track opened files by hooking sceIoOpen/sceIoClose and to close
remaining files on homebrew exit
- now releasing all subinterrupt handler, should fix that no homebrew could run
after gpsp

r110
Date: Nov 23, 2010
JJS
- This is WORK IN PROGRESS AND NOT RECOMMENDED FOR BINARY DISTRIBUTION
- added kernel memory offsets for hotshots2/everybody2 on 6.20
- changed _hook_sceKernelExitDeleteThread to actually call
sceKernelExitDeleteThread because it is available through p5 stubs now, this
should fix freezing in JellyCar
- minor correction to subinterrupthandler_cleanup()

r111
Date: Dec 20, 2010
JJS
- added Everybody's Sukkiri, exploit by Darxploit, Flyer, minomushi, some1 and
HBL port by some1
- added code to reset the HOME screen language to the system default (only for
sukkiri)
- made GAME_FREEMEM_ADDR an array for all exploits
- fixed bug in static ELF loading that led to HBL being overwritten in sukkiri

r112
Date: Dec 20, 2010
JJS
- added lowest syscall memory offsets for sukkiri on 6.35
- added code to close all files left open by the exploitet game

r115*
Date: Jan 25, 2011
r113 updates:
wololo
- 6.37 compatibility / "signed" version by JJS
r114 fix:
JJS
- added files missing in R113
- some changes for the "signed" HBL
-- no kernel memory dump is created
-- p5 stubs are not gathered
-- function hooking is performed as if g->syscall_known was set
-- HBL load address increased to 0x09F67000
r115 fix:
JJS
- forgot to check in the config folder for the signed HBL

r118
Date: Aug 15, 2011
r116 updates:
- Just adding Nymphaea to the list of contributors ^^
r117 updates:
JJS
- this version is only compatible with FW 6.60
- added all NIDs of the relevant libraries to the launcher
- to reduce the memory consumption of the NID table, the lowest syscall and gap
are extracted from the launcher imports and FROM_LOWEST estimation is used
- added option of relocating the function addresses in buildsdk.rb, this is
mainly useful when building an SDK from the launcher
r118 updates:
wololo
- Adding Launcher icons

Key:
* = Revision(s) before it were "incorrect" due to an error, such as a missing file, a typo or a compilation error.

@ = Distrib version is missing due to makefile errors.



~Mr. X
Advertising
Last edited by Mr. X on Sun Aug 21, 2011 3:04 pm, edited 17 times in total. Reason: R118
#461 by TOcean
Sun Oct 03, 2010 8:14 am
*Updated*

-Added spoiler
Advertising
Last edited by TOcean on Wed Nov 10, 2010 4:37 pm, edited 1 time in total.
#688 by kirbycrusader
Wed Oct 06, 2010 12:34 am
This is a really cool history of the HBL. I never new this much about HBL.
#1386 by Mr. X
Sat Oct 16, 2010 8:04 pm
Omnija wrote:will rev 102 be out soon cuz i hate odd numbers part of the reason i upgraded from 6.10 to 6.20 lol

102 is out, and it's available at http://www.mediafire.com/Mr-X, as always. This thread hasn't been updated by me though as TOcean decided to take the topic I worked hard on, changed the name, and called it his.
#1388 by TOcean
Sat Oct 16, 2010 8:12 pm
Mr. X wrote:
Omnija wrote:will rev 102 be out soon cuz i hate odd numbers part of the reason i upgraded from 6.10 to 6.20 lol

102 is out, and it's available at http://www.mediafire.com/Mr-X, as always. This thread hasn't been updated by me though as TOcean decided to take the topic I worked hard on, changed the name, and called it his.

You can take over.
#1392 by Omnija
Sat Oct 16, 2010 9:36 pm
ty, i usually check pspslimhack for updates on the HBL rev but since HEN nobody says anything about the HBL anymore

102 is really unstable, emu;s dont always start,start up crashs frequently and soemtimes the arrow keys don't work?
#1409 by wololo
Sun Oct 17, 2010 3:09 am
Mr. X wrote:This thread hasn't been updated by me though as TOcean decided to take the topic I worked hard on, changed the name, and called it his.

As a moderator you should have the privileges to change the owner of a topic. I updated it though and made you the owner of this topic.

Regarding R102, as I said in my blog, it is not intended for release. Anybody who tries the R102 believing it will improve HBL hasn't correctly read my announcement.
Use R101.
This does not prevent people like mr.X from compiling it and distributing it, of course.

When a new revision is recommended to use, JJS or myself will announce it, nobody else. If you don't see any changes on http://wololo.net/wagic/hbl , there's a reason

Who is online

Users browsing this forum: No registered users and 2 guests