What is LaunchELF? LaunchELF is a file manager program for the PlayStation 2. The original LaunchELF project was by Mirakichi, who worked on versions prior to v3.41. After Mirakichi stopped working on LaunchELF, E P and dlanor worked on unofficial LaunchELF (uLaunchELF) up to v4.42d. Due to real-life commitments, both E P and dlanor have been on a hiatus for quite a few years. Double-unofficial LaunchELF (wLaunchELF) is a new project by AKuHAK and SP193 that continues to bring new updates to our favourite file manager to the PlayStation 2. The first stable release is slated to be LaunchELF v4.50, to mark the start of a new line of builds. As of today, we are still updating and fixing LaunchELF, so we will appreciate constructive comments and feedback about the quality and functionality of LaunchELF. While E P and dlanor have not officially declared that they won't be ever coming back to continue work on uLaunchELF, I have decided to create a new thread in order to avoid cluttering their thread with posts regarding new bugs that are caused by the (rather invasive) work on the code. Features Tentative changelog Features: Move, copy, rename, delete files. Manage the partitions on the PlayStation 2 HDD unit. Supports skins. Supports HDD capacities up to 2TB. Supports USB Mass Storage Devices capacities up to 2TB. Supported devices: Memory Card, HDD unit, CD/DVD, USB Mass Storage Device, host. Tentative changelog: LaunchELF (2019/01/14): https://www.psx-place.com/threads/wlaunchelf.20791/#post-153879. Updated USBHDFSD to fix the bug causing files to be unable to be replaced properly. LaunchELF (2019/01/11): http://www.psx-place.com/threads/wlaunchelf.20791/#post-153180. Enforce limit on partition count for HDD Manager, corrected partition name length limit input to keyboard, added new message for indicating too many partitions to list, removed old code for partition groups, increased partition limit to 1400. Updated to use USBMASS_DEVCTL_STOP_ALL instead, to shut down all USB devices without knowing the actual number connected. LaunchELF (2019/01/04): http://www.psx-place.com/threads/wlaunchelf.20791/#post-152433. Added code to shut down USB devices before the PS2 is powered off. Loader should use GetMemorySize() instead of using a hardcoded memory size LaunchELF (2018/11/05): http://www.psx-place.com/threads/wlaunchelf-release-thread.13727/page-4#post-143610. Updated USBHDFSD: fix bug that prevented correct reading & writing. Also relaxed restriction on Unicode codepoints to support glyphs up to index 255. NEW 2018/11/05: Improved file-copying performance, by aligning buffer sizes and increasing the block size for transfers to USB devices. NEW 2018/11/05: It is now possible to access mass: directly from FTP. NEW 2018/11/05: Fixed graphical glitch in help text when highlighting some menu options in some menus. LaunchELF (2018/10/27): http://www.psx-place.com/threads/wlaunchelf-release-thread.13727/page-4#post-143610. Updated USBHDFSD: fix bug that prevented correct reading & writing. Also relaxed restriction on Unicode codepoints to support glyphs up to index 255. LaunchELF (2018/10/21): http://www.psx-place.com/threads/wlaunchelf-release-thread.13727/page-4#post-142563. Removed case for getting booted by HDDBOOT Changed all stray calls to fileXioMount() to use mountParty() Changed most calls to uLE_related() to genFixPath() LaunchELF (2018/10/20): http://www.psx-place.com/threads/wlaunchelf-release-thread.13727/page-4#post-142417. Consolidated hardcoded values as enumerations or definitions. Updated USBHDFSD, for compatibility with devices that have a single Alternate Interface configuration. Fixed loading & saving of configuration to the HDD unit, when LaunchELF is booted from the HDD unit. Settings like the video mode should now be binding, when LaunchELF is loaded from the HDD unit, since the GS is now initialized after the configuration file is loaded from the HDD unit. Removed support for being booted from the "pfs" device because it cannot happen and cannot be processed (unable to determine the partition it was booted from). Added more comments to explain the code that loads files from the HDD unit. Removed code for "triggering poweroff" that did not do anything. Fix for poweroff when there is no SPEED (no network adaptor) connected: check that DEV9.IRX successfully loaded and returned RESIDENT END. LaunchELF (2018-07-23): http://www.psx-place.com/threads/wlaunchelf-release-thread.13727/page-4#post-131304 Updated USBHDFSD. Refactored configuration menu for easier maintenance. Removed defunct interlace option. Enabled the use of the $gp register. Increased alignment of transfer buffer for better transfer performance. LaunchELF v4.43a (2018-06-28): http://www.psx-place.com/threads/wlaunchelf-release-thread.13727/page-3#post-128863 Download: http://www.psx-place.com/threads/wlaunchelf-release-thread.13727/page-3#post-129223 Changelog for build 2018/06/30: Retracted addition of padEnd() to CleanUp(). It does not work as intended with the old libpad library. May not be required with the old libpad library either. This may fix pad support in software that do not reboot the IOP. Replaced timer code with time code from ps2sdk. Also takes care of missing ExitHandler() call within interrupt handler. Fixed race condition around heap-allocation functions, for hdl_info, vmc_fs & libcdvd-iop. Text and JPEG files can now be directly opened from the file browser. Replaced hardcoded color numbers with the COLOR enum. TXT, JPG and JPEG files have black icons (color 8). LaunchELF v4.43a (2018-06-28): http://www.psx-place.com/threads/wlaunchelf-release-thread.13727/page-3#post-128685 Changelog for build 2018/06/28: Revert "Replaced the use of the board-specific SIO2 modules." Added IOP reboot to ELF loader, for when a HDD-based target is booted. While keeping backward-compatibility with old software (which do not support the HDD unit) by keeping the necessary modules in RAM, it will keep the IOP in a clean and initialized state for newer software that support the HDD unit. Changed FTP server to allow rename() for all supported devices (FSEXT). LaunchELF v4.43a (2018-06-19): http://www.psx-place.com/threads/wlaunchelf-release-thread.13727/page-2#post-127432 Changelog for release 2018/06/19: Corrected setting of display mode at boot. Added missing call to padEnd(), to deinitialize PADMAN properly. LaunchELF v4.43a (2018-06-18): http://www.psx-place.com/threads/wlaunchelf-release-thread.13727/page-2#post-127363 Changelog for release 2018/06/18: Update PFS module for proper writing to the HDD unit. Added proper support for booting ELFs from the HDD unit. Removed defunct interlace option. Added progressive video mode. Note: This is the same file that is bundled with FMCB v1.961. The interlace option was removed, but the control is still present in the options menu. It will do nothing, however. LaunchELF v4.43a (2018-06-12): http://www.psx-place.com/threads/wlaunchelf-release-thread.13727/page-2#post-126698 Changelog for release 2018/06/12: Compiled with new PS2SDK revision, to solve related issues with USB support, PFS support and network support. LaunchELF v4.43a (2017-09-09): http://www.psx-place.com/threads/wlaunchelf-release-thread.13727/#post-85814 Changelog for release 2017/09/09: Compiled with new PS2SDK revision, to solve: Unable to access PlayStation memory cards. FTP transfers failing to complete & network support ceasing to work afterwards. Fixed LoadExecPS2 patch - unable to boot discs and the "OSDSYS" option not working. Reduced footprint of internal loader ELF, by linking with libkernel-nopatch instead since it does not need the kernel patches. NOTE: this is a consolidation of all small tests between the last beta release and this one. LaunchELF v4.43a (2017-06-18): http://www.psx-place.com/threads/wlaunchelf-release-thread.13727/#post-82068 Changelog for release 2017/06/18: Updated PFS module (improved reliability). Fixed power-off processing. All files will be closed and the expansion-bay deactivated, prior to power-off. Fixed USB support on disks with no partition table (thumb drives). Fixed formatting of PFS partitions. LaunchELF v4.43a (2017-05-31): Changelog for release 2017/05/31: (PS2SDK) standardized behaviour of rename() functionality for the mass storage driver. Fixed renaming of files in sub-directories on the mass device. Fixed copying of files to the VMC device. LaunchELF v4.43a (2017-05-11): Changelog for release 2017/05/11: (PS2SDK) Fixed partition expand option (hopefully!). (PS2SDK) Re-enabled creation of all system partitions at HDD format. (PS2SDK) Updated ATAD, APA & PFS drivers. PlayStation discs can once again be accessed. LaunchELF v4.43a (2017-01-14): Changelog for release 2017/01/14: Enabled renaming for USB Mass Storage devices. Fixed file copying (?) to USB Mass Storage devices. Updated network protocol stack. Networking should be working now. LaunchELF v4.43a (2016-12-16): Changelog for release 2016/12/16: (kHn) Added AllowDVD IRX module, to enable DVD-video discs to be read (for ESR support, if uLaunchELF is used instead of FMCB). Adjusted Hiryu's libcdvd library to not cause a freeze, if there is no disc inserted. Removed the disc control option, since LaunchELF can now correctly determine if no disc is inserted. Removed IOP Reset option, since LaunchELF is always rebooting the IOP at boot. (doctorxyz) Added VGA mode. (doctorxyz) Added slash and back-slash characters to the on-screen keyboard. Cleaned up IOP reset code. Cleaned up loader module. Corrected region-detection code, for DVD player and OSDSYS update booting. Fixed support for HDD unit capacities up to 2TB. Cleaned up file I/O code, to use only fileXio. Re-enabled code that preserves the timestamp for files copied to the HDD unit. Compiled with the new PS2SDK updates. ule_wip7 - [2014-04-06]: Changelog for release 2014/04/06: Rewritten tutorial for compiling uLaunchelf. You need to specify $PS2SDKSRC (which is actually git repository) and run prepare_main.sh or restore_ps2sdk.sh. Fixed one warning in the libcdvd library Now all libraries will install into $PS2DEV Added message about HDL game unloading (l_oliveira) Partially reverted hdd_manager - now it loads hdl_game partitions much (i mean MUCH MORE) faster (thanks to l_oliveira) All source text files converted into linux format Returned special symbols like triangle, square etc. Now samba modules compile only when SMB flag is set (by default SMB = 0) Changed cdinit argument so now ule dont have to freeze with disc control on on SCPH-5xxxx removed libjpg library, now is used the one from ps2sdk-ports fixed some warnings in vmc and of course everything is built with latest ps2sdk ule_wip6 - 2014-03-26: Changelog for release 2014/03/26: (crazycat) 64-bit support (files larger than 4Gb) (SP193) added support for disks larger than 1Tb added full support for all partitions in HDD manager (except of __mbr partition): you can rename any partition; you can delete any partition except of partition started with "__" (it is PS2SDK feature); returned support for codebreaker partition (don't forget that it can be broken); now all partition recognized by partition flag (0x0001 - mbr, 0x1337 - HDL partition, 0x0100 - PFS partition) if you press Square on HDL partition - you can load HDL info, if you press Square again - you can unload HDL info (it is needed for renaming HDL partition without reloading HDD manager); you can expand only PFS partitions; now uLe support official hdd loading path, after loading he mounts partitions from where it is loading into pfs0:/, so now you can simply load LAUNCHELF.CNF which is placed in the same place as uLe. e.g. hdd0:/__sysconf/FMCB/ now you can load and save configuration files (including ipconfig.dat) from everywhere you can place LAUNCHELF.CNF in the same folder where is uLe placed if you inject it in partition header via PATINFO it now tries to read LAUNCHELF.CNF from the root of partition if it is in PFS format. If it is not pfs partition it tries to load it from hdd0:/__sysconf/FMCB/ (specially for l_oliveira) fixed problem with "X" and "O" button swap fully rewrote code for HDD manager. Tested with my 40Gb disk with 200 partitions. now all partitions which names are started from "__" are browsable; hide DELETE menu entry in HDD manager for partitions which are started from "__" (because PS2SDK has a bug - so these partitions cannot be removed) now it is possible to launch uLe from mbr (thanks kHn for tests and providing mbrs) used latest ps2sdk so problem with chinese adaptors and big disks is probably solved removed 2Gb limit for single partition unit now expand function works with all partitions now we can create "__" partitions larger than 2Gb Known Issues: Unable to save network configuration to the HDD when the configuration folder is not first created. Other Downloads/links: Legacy thread (uLaunchELF) Latest version 41e4ebe (14\01\2019) can be downloaded from here: https://www.psx-place.com/threads/wlaunchelf.20791/.