uLaunchELF Original Documentation



Note: These docs are not current, and are based off of uLaunchELF 3.51

 

Starting uLaunchELF

 

LaunchELF is designed to run in a variety of situations. Most users run the program from either the hard drive or memory card, but it is also possible to run LaunchELF from CD or DVD. Depending on your system setup, you may consider using one of these methods.

 

The first two options are often used by users who have a Playstation 2 which is incompatible with the exploit and do not have a modchip, but have a Swap Magic. It is less favourable to the other methods since it is harder to upgrade the program, and frequent swaps are required in order to use the program. You can however boot LaunchELF from CD/DVD and use it to copy itself to the desired location on your memory card or hard drive.

The last three options require uLaunchELF to be stored on a storage medium generally only accessible from the Playstation 2. Most modchips look for the Devolution Boot Executable in mc0:/BOOT/BOOT.ELF or hdd0:/__boot/boot.elf. The PS2 Independence Exploit looks for the boot executable in mc0:/BxDATA-SYSTEM. The "x" represents your PS2's region - I for Japan/Asia, A for America and E for Europe.

 

The Interface

 

uLaunchELF allows the user to access its functions through a graphical user interface (GUI). Through the use of the Playstation 2 controller, the user is able to control LaunchELF directly onscreen.

The directional pad (D-PAD) controls to focus or highlighted entry on the screen. The other buttons on the control pad activate certain functions depending on what item is focused, and what screen the user is on. Apart from the main screen, Circle usually represents OK or Accept, while Cross represents Cancel or Back. (see 2b.ii, key mapping for details).

 

The Main Screen

 

LaunchELF's main screen is in essence a button handler. Designed for launching programs quickly, LaunchELF responds to a key press on the Playstation 2 controller by executing the corresponding program linked to that button.

All buttons, minus the D-PAD and Select launch the specified program or function when pressed.

If you are running LaunchELF for the first time, there will be no entries set up on the main screen. To add an entry, use the settings page to map a program or action to a button. To enter the settings screen, press Select at the main menu.

 

The Settings Screen

 

The settings screen is the central point for configuring uLaunchELF. To access this screen, press Select from the main menu.

Button Setting:

 

Misc:

 

Screen Settings

 

 

Startup Settings

 

 

Network Settings

 

IP Address: Allows you to set your PS2 IP Address

Netmask: Allows you to set your Subnet Mask

Gateway: Allows you to set your Default Gateway (usually your router or your PC)

Adjust settings by using D-Pad to move between octets (the numbers separated by periods) then add or subtract using Cross or Circle. Save settings when finished.

Below are the network settings for the Playstation 2 stored in the file IPCONFIG.DAT, located in mc0:/SYS-CONF/ on the Memory Card (Slot1).

 

IP ADDRESS NETMASK GATEWAY
192.168.0.10 255.255.255.0 192.168.0.1

 

These are the defaults used if no IPCONFIG.DAT is found, or if the file is unreadable. Therefore, if you use these defaults, you don't really need the file.

 

The File Manager Screen

LaunchELF uses a Virtual File System (VFS) to allow both devices and internal procedures to be run. This file system is displayed when:

 

The structure of the virtual file system is as follows:

 

Navigating through the File Manager

 

 

The Operations Menu

All LaunchELF's file manager functions are accessed through the operations menu.

To display the operations menu, select a file or directory in the file manager, then press R1.

The operations menu can be performed on multiple items. Use Cross to select multiple files at once, then access the operations menu as usual.

 

Attention: Rename is not available for operations on memory card, and Paste is not available for operations on host.

 

Internal Functions

 

FTP Server

LaunchELF runs a FTP server quietly in the background. If your Playstation 2 is connected to the local network, you can take advantage of this function by connecting to the IP address specified in IPCONFIG.DAT with your PC's FTP client.

 

Copying Game Saves

To copy a game save, activate the file manager and enable MC Title mode. Select the game save you wish to copy, then open the context menu and select Copy. Browse to the location you wish to copy the save, then open the context menu and select Paste.

Attention: Some games require time stamping to be present which LaunchELF currently does not support. If you manipulate these saves with LaunchELF, it is possible that the game will reject the save next time it is loaded.

 

Virtual Keyboard

LaunchELF does not support data entry via traditional keyboard. If textual entry is needed, LaunchELF will display the virtual keyboard onscreen. Use the D-PAD to select a character, then press Circle to add the character to the input string displayed at the top of the keyboard. The blank spaces represent the Space Character.

To make a correction, use L1 and R1 to move the cursor left and right inside the string. To accept changes, highlight ENTER, then press Circle . To cancel changes, highlight CANCEL then press Circle.

 

Supported File System Detail

Memory Card

Hard Drive

CDFS

USB Mass Storage Device

Host

 

The settings file (advanced)

All of LaunchELF's settings are configured from the GUI, then saved to file. However, power users may prefer to manipulate the settings file directly.

 

Profiles

Traditionally, all settings are stored in LAUNCHELF.CNF. Since version 3.4b, LaunchELF is able to use multiple settings files (profiles) at once. The profiles feature (if enabled) results in LAUNCHELFn.CNF being used, where n is a cardinal value from 1 to setting -> numCNF (number of configs).

 

Locating the Settings File LAUNCHELF.CNF

Purpose: Define new format and defaults for LaunchELF CNF files, to serve as a guide in developing the code implementing these changes. Note that LaunchELF v3.41t (or later) will accept this file as-is when loading CNF, but if you modify any settings so that LaunchELF saves the file again, then all comments will be removed.

Upon program execution, several locations are probed in order to read the configuration settings. If the settings file is located in the current directory, LaunchELF stores the location and reads the file to memory. The file is parsed and settings are restored accordingly. Future settings changes will result in a write process to the file which was originally read into memory. The file is read in the following order

If the settings file is not found, LaunchELF creates the file and loads default settings to mc0:/SYS-CONF/LAUNCHELF.CNF, only if the directory mc0:/SYS-CONF exists.

 

Settings File Layout LAUNCHELF.CNF

Each line of the settings file corresponds to a particular setting or value. Each line of the settings file is described below.

 

CNF_version = 2.0 The CNF_version variable MUST exist for a CNF to be accepted as valid, and it must also be the first variable defined in the file. That way an old CNF can't cause damage when read by new LaunchELF versions. Future LaunchELF versions may also check the value for some features.
Next follows the 12 (as yet) launching links, here kept in traditional order, though users are allowed to vary the order at will. For these 12 variables the following name conventions apply:
LK_auto_E1 =
LK_Circle_E1 = MISC/FileBrowser
LK_Cross_E1 =
LK_Square_E1 =
LK_Triangle_E1 =
LK_L1_E1 =
LK_R1_E1 =
LK_L2_E1 =
LK_R2_E1 =
LK_L3_E1 =
LK_R3_E1 =
LK_Start_E1 =

"LK_" is an abbreviation for Launch Key and is used as a prefix for the key descriptor (eg: Square ). That is then followed by the suffix "_E1" which is an abbreviation for Execution Method 1. At present that is the only method we have, but hopefully that will change...
The default value for most of these should be an empty string, except that one link should start the file browser, so people can start to copy stuff without having to make a new CNF.
LK_auto_Timer = 10
Menu_Hide_Paths = 1
After the launch key definitions we have the variables for diverse settings, most of which use obvious naming schemes and have their traditional default values. Some exceptions are the variables for GUI colour values, which are described in the next section.

GUI_Col_1_ABGR = 00808080
GUI_Col_2_ABGR = 00404040
GUI_Col_3_ABGR = 00000060
GUI_Col_4_ABGR = 00000000

Screen_X = 128
Screen_Y = 30


Next we have the GUI colour values, for which I made some choices that differ widely from all the other variables so far. First and foremost, I switched their data format to pure hex, to make it practical for a human to edit the byte values. I also added a suffix to the names, so the user has a mnemonic key to the usage of the byte values. And finally, I chose some new default values that I've been working on for a while. The effects of these settings are as follows:

Normal text is fully black, while the background is half-level white. Border, submenus, and LaunchELF title text use a medium grey colour, with half the brightness of the background, while alerts and progress messages use a clear but subdued red colour.

My goal with these defaults was to achieve max clarity with no glare, and I think this succeeded fairly well, though the final results do depend greatly on your monitor settings as well.


Init_CDVD_Check = 0
Screen_Interlace = 0
Init_Reset_IOP = 1
Menu_Pages = 1
GUI_Swap_Keys = 0

Note that I have changed the default for IOP reset, as this has been long-term tested now, and proven superior to starting without it. I have also changed the default for CDVD checking, as the old default could cause lockup on some PS2 models if started with empty tray.

The variables below have been added after the original design (v3.41t) of the new CNF format. They should be used as follows:

USBD_FILE =

USBD_FILE is valid in v3.41u and later versions. It's used to choose an alternate USBD.IRX file, which LaunchELF will then use instead of the embedded one. You can set it in the 'STARTUP SETTINGS' screen.

NET_HOSTwrite = 0

NET_HOSTwrite is valid in v3.44 and later versions. It's can enable the ability of the networked HOST interface to write on your PC HDDs! Users who want to avoid risks for their PC should leave it as default, which disables these new abilities. For safety reasons it can only be changed by direct user editing. Edit it to a non-zero value to enable the new abilities. (You'll need a very new ps2client.exe as well.)