launcHER.CNF Reference
launcHER.CNF is an INI-style configuration file that instructs launcHER where Ember is installed, what arguments to supply, and how to maintain the PlayStation 2 hardware environment across handoff.
Syntax Rules
- Comments: Any line beginning with
#or//is ignored. - Key-Value Pairs: Directives follow the
key=valueformat with no spaces surrounding the equals sign. - Case-Insensitive Filenames: launcHER automatically discovers
launcHER.CNF,launcHER.cnf,launcHER.CFG, orlauncHER.cfg. - Argument Accumulation: Multiple
arg=lines are appended sequentially into the target ELF'sargv[]array. - Global Arguments: In quickboot mode, all
arg=lines apply to every activepath=directive. Keep only one profile active unless you intentionally want fallbacks sharing identical arguments.
Configuration Directives
| Directive | Description | Example |
|---|---|---|
path=<path> |
Specifies the path to ember.elf. Can be repeated to define fallback locations. |
path=mass?:/EMBER/ember.elf |
arg=<value> |
Defines an argument passed to the target ELF. | arg=Soul Blade |
Global Launcher Flags
Special arguments beginning with a hyphen (-) are intercepted by launcHER to control kernel behavior:
| Flag | Purpose | When to Use |
|---|---|---|
-skip_argv0 |
Omit the raw loader target string from the child ELF's argv[]. |
Essential for APA/PFS so Ember sees pfs0:/EMBER/ember.elf as argv[0]. |
-dev9=NICHDD |
Keep both the Network Adapter interface and IDE/ATA hard drive powered. | Essential for Internal exFAT (ATA BDM) and APA/PFS so the drive does not shut down. |
-dev9=NIC |
Keep the Network Adapter interface powered (network only). | Essential for UDPBD and UDPFS network streaming. |
-dev9=HDD |
Keep only the internal IDE/ATA hard drive powered. | Alternative to NICHDD if network hardware is unused. |
-dev9=OFF |
Shut down DEV9 interface before loading ELF. | Default when omitted; fine for USB, MMCE, MC, and MX4SIO. |
-reset_iop |
Perform a full IOP reset before loading the ELF. | Clean boot when the child ELF has its own embedded IRX drivers. |
Direct Command-Line Invocation
Instead of reading launcHER.CNF, launcHER can be invoked directly with command-line arguments from another ELF, a shell script, or a frontend:
launcHER.elf <target_path> [arg1] [arg2] ... [flags]
APA/PFS Direct Invocation Example:
launcHER.elf hdd0:__.EMBER:pfs:/EMBER/ember.elf pfs0:/EMBER/ember.elf "Soul Blade" -skip_argv0 -dev9=NICHDD
Internal exFAT Direct Invocation Example:
launcHER.elf ata:/EMBER/ember.elf "Soul Blade" -dev9=NICHDD
USB Direct Invocation Example:
launcHER.elf mass0:/EMBER/ember.elf "Soul Blade"
Flag Placement Rule
Always place global launcher flags (such as -skip_argv0 and -dev9=...) at the very end of the command line so all preceding strings are cleanly passed to the child ELF.