PS2rd uses libconfig to read and store its configuration:
http://www.hyperrealm.com/libconfig/libconfig_manual.html

The config file is named ps2rd.conf and must be in PS2rd's root folder.

Here is a list of the available settings:


Section "loader"
----------------

* iop_reset [bool, true by default]

  Set 'iop_reset' to true to reset the IOP on startup.

* sbv_patches [bool, true by default]

  Set it to true to apply all SBV patches on startup:
   - sbv_patch_enable_lmb
   - sbv_patch_disable_prefix_check
   - sbv_patch_user_mem_clear

* usb_support [bool, true by default]

  If this setting is true, USB support will be activated by loading the IOP
  modules usbd.irx and usb_mass.irx. They are required to read files from the
  mass: device.

* boot2 [string array, not set by default]

  'boot2' holds a list of ELF pathnames (including arguments). You can later
  select one of those ELFs in order to boot it instead of the disc's default
  ELF. This is handy if you want to directly launch demos or applications like
  Open PS2 Loader.

  Example:

  boot2 = [
    "cdrom0:\\MGS2\\MGS2.ELF;1 foo bar",
    "cdrom0:\\KESSEN2\\KESSEN2.ELF;1",
    "cdrom0:\\REZ.ELF;1"
  ];

* cheats [path, cheats.txt by default]

  Set 'cheats' to the name of the cheats file to use.


Section "engine"
----------------

* install [bool, true by default]

  Set it to true if you want to install the cheat engine on startup.

* addr [32-bit offset, 0x00080000 by default]

  Specifies the load address of the cheat engine. This address must belong
  to user space memory (0x00080000-0x01ffffff).


Section "debugger"
------------------

* install [bool, true by default]

  Set it to true if you want to install the debugger on startup.

* addr [32-bit offset, 0x00090000 by default]

  Specifies the load address of the debugger.

* auto_hook [bool, false by default]

  Enable automatic hooking to hack games without the need for hook codes.

* patch_loadmodule [bool, false by default]

  Enable automatic patching of _SifLoadModule() to control the way IOP modules
  are loaded by games. With network games, this is required to prevent loading
  of dev9.irx and smap.irx. Otherwise, they'd conflict with their homebrew
  counterparts.

* unhook_iop_reset [bool, false by default]

  Set it to true to disable the IOP reset hook after the first reset. This
  method is similar to HD Loader's mode 3.

* rpc_mode [integer, 1 by default]

  Set SIF RPC mode to one of the following values:
    0 - blocking
    1 - non-blocking
   -1 - disable RPC completely (only for compatibility tests)

* load_modules [bool, true by default]

  Set to true if you want the debugger to reload our IOP modules on every IOP
  reboot. This is required to hack games, and should only be turned off for
  compatibility tests.

* sms_modules [bool, true by default]

  If this setting is true, the network modules from SMS are loaded instead of
  the standard modules from PS2SDK.

* ipaddr [IPv4 address in dotted decimal format, "192.168.0.10" by default]

  Configure the IP address for the PS2-side debugger. The PC client will connect
  to this address for remote debugging. You can figure out if network is "up" by
  pinging the IP address.

* netmask [IPv4 address in dotted decimal format, "255.255.255.0" by default]

  Configure the subnet mask for the PS2-side debugger.

* gateway [IPv4 address in dotted decimal format, "192.168.0.1" by default]

  Configure the gateway address for the PS2-side debugger.


Section "sdklibs"
-----------------

* install [bool, true by default]

  Set to true to install the SDK libraries like libkernel.erl.
  NOTE: Must be true for debugger and ELF loader to work.

* addr [32-bit offset, 0x000c0000 by default]

  Specifies the load address of the SDK libraries.


Section "elfldr"
----------------

* install [bool, true by default]

  Install the ELF loader to replace the original (evil) LoadExecPS2() syscall.
  NOTE: Must be true for the debugger to work.

* addr [32-bit offset, 0x000ff000 by default]

  Specifies the load address of the ELF loader.


Section "videomod"
------------------

* install [bool, false by default]

  Set it to true if you want to install the video mode patcher.

* addr [32-bit offset, 0x000fe000 by default]

  Specifies the load address of the video mode patcher.

* vmode [integer, 2 for NTSC by default]

  Force the video mode to NTSC (2) or PAL (3). For a complete list of modes,
  take a look at the SetGsCrt() syscall in technical/ee-syscalls.txt. More
  detailed information can be found in technical/ps2videomodes.txt.

* yfix [bool, true by default]

  Enable automatic fixing of the vertical (y) screen position based on the
  values of 'ydiff_lores' and 'ydiff_hires'. Try out different values to get
  optimal results for your TV.

* ydiff_lores [integer, 0 by default]

  Defines the signed offset to be added to the DY field of the GS registers
  DISPLAY1 and DISPLAY2 in low resolution mode (DH < 257).

* ydiff_hires [integer, 0 by default]

  Defines the signed offset to be added to the DY field of the GS registers
  DISPLAY1 and DISPLAY2 in high resolution mode (DH >= 257).


EOF
