{
  "version": 3,
  "working_dir": null,
  "env": {},
  "window_mode": "borderless",
  "quit": {
    "method": "close",
    "force_kill_after_ms": 8000
  },
  "on_disconnect": "hold_neutral",
  "dsu": null,
  "native_gamepads": "disable_in_emulator_config",
  "update_check": true,
  "auto_update": false,
  "id": "eden",
  "name": "Eden",
  "revision": "2026-09-30.9",
  "origin": {
    "kind": "url",
    "url": "https://kouch.dev/emulators/eden.kod"
  },
  "args": [
    "-g",
    "{rom}"
  ],
  "systems": [
    {
      "id": "switch",
      "folder": "switch",
      "name": "Switch"
    }
  ],
  "extensions": [
    "nsp",
    "xci",
    "nca",
    "nro"
  ],
  "max_players": 4,
  "players": [
    {
      "dsu": {
        "server": 0,
        "slot": 0
      },
      "vpad": null,
      "motion": true
    },
    {
      "dsu": {
        "server": 0,
        "slot": 1
      },
      "vpad": null,
      "motion": true
    },
    {
      "dsu": {
        "server": 0,
        "slot": 2
      },
      "vpad": null,
      "motion": true
    },
    {
      "dsu": {
        "server": 0,
        "slot": 3
      },
      "vpad": null,
      "motion": true
    }
  ],
  "hotkeys": {
    "pause": {
      "keys": [
        "f4"
      ]
    },
    "save_state": null,
    "load_state": null,
    "reset": null,
    "screenshot": {
      "keys": [
        "ctrl",
        "p"
      ]
    },
    "quit": null,
    "fullscreen": {
      "keys": [
        "f11"
      ]
    }
  },
  "pause": {
    "method": "hotkey",
    "chord": {
      "keys": [
        "f4"
      ]
    }
  },
  "user_data": {
    "folders": {
      "saves": "saves",
      "states": "states",
      "screenshots": "screenshots",
      "config": "config",
      "system": "system"
    },
    "cloud": [
      "saves"
    ],
    "links": [
      {
        "link": "{emulator_dir}/user",
        "target": "{config}"
      },
      {
        "link": "{config}/keys",
        "target": "{system}"
      },
      {
        "link": "{config}/nand",
        "target": "{storage}/nand"
      },
      {
        "link": "{config}/sdmc",
        "target": "{storage}/sdmc"
      }
    ],
    "system_required": true,
    "config_edits": [
      {
        "file": "{config}/config/qt-config.ini",
        "format": "ini",
        "set": {
          "Controls.enable_udp_controller": "true",
          "Controls.udp_input_servers": "{dsu_host}:{dsu_port}",
          "Controls.player_0_connected": "true",
          "Controls.player_0_type": "0",
          "Controls.player_0_button_a": "\"engine:cemuhookudp,guid:0000000000000000000000007f000001,port:{dsu_port},pad:0,button:8192\"",
          "Controls.player_0_button_b": "\"engine:cemuhookudp,guid:0000000000000000000000007f000001,port:{dsu_port},pad:0,button:16384\"",
          "Controls.player_0_button_x": "\"engine:cemuhookudp,guid:0000000000000000000000007f000001,port:{dsu_port},pad:0,button:4096\"",
          "Controls.player_0_button_y": "\"engine:cemuhookudp,guid:0000000000000000000000007f000001,port:{dsu_port},pad:0,button:32768\"",
          "Controls.player_0_button_lstick": "\"engine:cemuhookudp,guid:0000000000000000000000007f000001,port:{dsu_port},pad:0,button:2\"",
          "Controls.player_0_button_rstick": "\"engine:cemuhookudp,guid:0000000000000000000000007f000001,port:{dsu_port},pad:0,button:4\"",
          "Controls.player_0_button_l": "\"engine:cemuhookudp,guid:0000000000000000000000007f000001,port:{dsu_port},pad:0,button:1024\"",
          "Controls.player_0_button_r": "\"engine:cemuhookudp,guid:0000000000000000000000007f000001,port:{dsu_port},pad:0,button:2048\"",
          "Controls.player_0_button_zl": "\"engine:cemuhookudp,guid:0000000000000000000000007f000001,port:{dsu_port},pad:0,button:256\"",
          "Controls.player_0_button_zr": "\"engine:cemuhookudp,guid:0000000000000000000000007f000001,port:{dsu_port},pad:0,button:512\"",
          "Controls.player_0_button_plus": "\"engine:cemuhookudp,guid:0000000000000000000000007f000001,port:{dsu_port},pad:0,button:8\"",
          "Controls.player_0_button_minus": "\"engine:cemuhookudp,guid:0000000000000000000000007f000001,port:{dsu_port},pad:0,button:1\"",
          "Controls.player_0_button_dleft": "\"engine:cemuhookudp,guid:0000000000000000000000007f000001,port:{dsu_port},pad:0,button:128\"",
          "Controls.player_0_button_dup": "\"engine:cemuhookudp,guid:0000000000000000000000007f000001,port:{dsu_port},pad:0,button:16\"",
          "Controls.player_0_button_dright": "\"engine:cemuhookudp,guid:0000000000000000000000007f000001,port:{dsu_port},pad:0,button:32\"",
          "Controls.player_0_button_ddown": "\"engine:cemuhookudp,guid:0000000000000000000000007f000001,port:{dsu_port},pad:0,button:64\"",
          "Controls.player_0_button_home": "\"engine:cemuhookudp,guid:0000000000000000000000007f000001,port:{dsu_port},pad:0,button:262144\"",
          "Controls.player_0_button_screenshot": "\"engine:cemuhookudp,guid:0000000000000000000000007f000001,port:{dsu_port},pad:0,button:524288\"",
          "Controls.player_0_lstick": "\"engine:cemuhookudp,guid:0000000000000000000000007f000001,port:{dsu_port},pad:0,axis_x:0,axis_y:1,deadzone:0.150000,range:1.000000\"",
          "Controls.player_0_rstick": "\"engine:cemuhookudp,guid:0000000000000000000000007f000001,port:{dsu_port},pad:0,axis_x:2,axis_y:3,deadzone:0.150000,range:1.000000\"",
          "Controls.player_0_motionleft": "\"engine:cemuhookudp,guid:0000000000000000000000007f000001,port:{dsu_port},pad:0,motion:0\"",
          "Controls.player_0_motionright": "\"engine:cemuhookudp,guid:0000000000000000000000007f000001,port:{dsu_port},pad:0,motion:0\"",
          "Controls.player_1_connected": "false",
          "Controls.player_1_type": "0",
          "Controls.player_1_button_a": "\"engine:cemuhookudp,guid:0000000000000000000000007f000001,port:{dsu_port},pad:1,button:8192\"",
          "Controls.player_1_button_b": "\"engine:cemuhookudp,guid:0000000000000000000000007f000001,port:{dsu_port},pad:1,button:16384\"",
          "Controls.player_1_button_x": "\"engine:cemuhookudp,guid:0000000000000000000000007f000001,port:{dsu_port},pad:1,button:4096\"",
          "Controls.player_1_button_y": "\"engine:cemuhookudp,guid:0000000000000000000000007f000001,port:{dsu_port},pad:1,button:32768\"",
          "Controls.player_1_button_lstick": "\"engine:cemuhookudp,guid:0000000000000000000000007f000001,port:{dsu_port},pad:1,button:2\"",
          "Controls.player_1_button_rstick": "\"engine:cemuhookudp,guid:0000000000000000000000007f000001,port:{dsu_port},pad:1,button:4\"",
          "Controls.player_1_button_l": "\"engine:cemuhookudp,guid:0000000000000000000000007f000001,port:{dsu_port},pad:1,button:1024\"",
          "Controls.player_1_button_r": "\"engine:cemuhookudp,guid:0000000000000000000000007f000001,port:{dsu_port},pad:1,button:2048\"",
          "Controls.player_1_button_zl": "\"engine:cemuhookudp,guid:0000000000000000000000007f000001,port:{dsu_port},pad:1,button:256\"",
          "Controls.player_1_button_zr": "\"engine:cemuhookudp,guid:0000000000000000000000007f000001,port:{dsu_port},pad:1,button:512\"",
          "Controls.player_1_button_plus": "\"engine:cemuhookudp,guid:0000000000000000000000007f000001,port:{dsu_port},pad:1,button:8\"",
          "Controls.player_1_button_minus": "\"engine:cemuhookudp,guid:0000000000000000000000007f000001,port:{dsu_port},pad:1,button:1\"",
          "Controls.player_1_button_dleft": "\"engine:cemuhookudp,guid:0000000000000000000000007f000001,port:{dsu_port},pad:1,button:128\"",
          "Controls.player_1_button_dup": "\"engine:cemuhookudp,guid:0000000000000000000000007f000001,port:{dsu_port},pad:1,button:16\"",
          "Controls.player_1_button_dright": "\"engine:cemuhookudp,guid:0000000000000000000000007f000001,port:{dsu_port},pad:1,button:32\"",
          "Controls.player_1_button_ddown": "\"engine:cemuhookudp,guid:0000000000000000000000007f000001,port:{dsu_port},pad:1,button:64\"",
          "Controls.player_1_button_home": "\"engine:cemuhookudp,guid:0000000000000000000000007f000001,port:{dsu_port},pad:1,button:262144\"",
          "Controls.player_1_button_screenshot": "\"engine:cemuhookudp,guid:0000000000000000000000007f000001,port:{dsu_port},pad:1,button:524288\"",
          "Controls.player_1_lstick": "\"engine:cemuhookudp,guid:0000000000000000000000007f000001,port:{dsu_port},pad:1,axis_x:0,axis_y:1,deadzone:0.150000,range:1.000000\"",
          "Controls.player_1_rstick": "\"engine:cemuhookudp,guid:0000000000000000000000007f000001,port:{dsu_port},pad:1,axis_x:2,axis_y:3,deadzone:0.150000,range:1.000000\"",
          "Controls.player_1_motionleft": "\"engine:cemuhookudp,guid:0000000000000000000000007f000001,port:{dsu_port},pad:1,motion:0\"",
          "Controls.player_1_motionright": "\"engine:cemuhookudp,guid:0000000000000000000000007f000001,port:{dsu_port},pad:1,motion:0\"",
          "Controls.player_2_connected": "false",
          "Controls.player_2_type": "0",
          "Controls.player_2_button_a": "\"engine:cemuhookudp,guid:0000000000000000000000007f000001,port:{dsu_port},pad:2,button:8192\"",
          "Controls.player_2_button_b": "\"engine:cemuhookudp,guid:0000000000000000000000007f000001,port:{dsu_port},pad:2,button:16384\"",
          "Controls.player_2_button_x": "\"engine:cemuhookudp,guid:0000000000000000000000007f000001,port:{dsu_port},pad:2,button:4096\"",
          "Controls.player_2_button_y": "\"engine:cemuhookudp,guid:0000000000000000000000007f000001,port:{dsu_port},pad:2,button:32768\"",
          "Controls.player_2_button_lstick": "\"engine:cemuhookudp,guid:0000000000000000000000007f000001,port:{dsu_port},pad:2,button:2\"",
          "Controls.player_2_button_rstick": "\"engine:cemuhookudp,guid:0000000000000000000000007f000001,port:{dsu_port},pad:2,button:4\"",
          "Controls.player_2_button_l": "\"engine:cemuhookudp,guid:0000000000000000000000007f000001,port:{dsu_port},pad:2,button:1024\"",
          "Controls.player_2_button_r": "\"engine:cemuhookudp,guid:0000000000000000000000007f000001,port:{dsu_port},pad:2,button:2048\"",
          "Controls.player_2_button_zl": "\"engine:cemuhookudp,guid:0000000000000000000000007f000001,port:{dsu_port},pad:2,button:256\"",
          "Controls.player_2_button_zr": "\"engine:cemuhookudp,guid:0000000000000000000000007f000001,port:{dsu_port},pad:2,button:512\"",
          "Controls.player_2_button_plus": "\"engine:cemuhookudp,guid:0000000000000000000000007f000001,port:{dsu_port},pad:2,button:8\"",
          "Controls.player_2_button_minus": "\"engine:cemuhookudp,guid:0000000000000000000000007f000001,port:{dsu_port},pad:2,button:1\"",
          "Controls.player_2_button_dleft": "\"engine:cemuhookudp,guid:0000000000000000000000007f000001,port:{dsu_port},pad:2,button:128\"",
          "Controls.player_2_button_dup": "\"engine:cemuhookudp,guid:0000000000000000000000007f000001,port:{dsu_port},pad:2,button:16\"",
          "Controls.player_2_button_dright": "\"engine:cemuhookudp,guid:0000000000000000000000007f000001,port:{dsu_port},pad:2,button:32\"",
          "Controls.player_2_button_ddown": "\"engine:cemuhookudp,guid:0000000000000000000000007f000001,port:{dsu_port},pad:2,button:64\"",
          "Controls.player_2_button_home": "\"engine:cemuhookudp,guid:0000000000000000000000007f000001,port:{dsu_port},pad:2,button:262144\"",
          "Controls.player_2_button_screenshot": "\"engine:cemuhookudp,guid:0000000000000000000000007f000001,port:{dsu_port},pad:2,button:524288\"",
          "Controls.player_2_lstick": "\"engine:cemuhookudp,guid:0000000000000000000000007f000001,port:{dsu_port},pad:2,axis_x:0,axis_y:1,deadzone:0.150000,range:1.000000\"",
          "Controls.player_2_rstick": "\"engine:cemuhookudp,guid:0000000000000000000000007f000001,port:{dsu_port},pad:2,axis_x:2,axis_y:3,deadzone:0.150000,range:1.000000\"",
          "Controls.player_2_motionleft": "\"engine:cemuhookudp,guid:0000000000000000000000007f000001,port:{dsu_port},pad:2,motion:0\"",
          "Controls.player_2_motionright": "\"engine:cemuhookudp,guid:0000000000000000000000007f000001,port:{dsu_port},pad:2,motion:0\"",
          "Controls.player_3_connected": "false",
          "Controls.player_3_type": "0",
          "Controls.player_3_button_a": "\"engine:cemuhookudp,guid:0000000000000000000000007f000001,port:{dsu_port},pad:3,button:8192\"",
          "Controls.player_3_button_b": "\"engine:cemuhookudp,guid:0000000000000000000000007f000001,port:{dsu_port},pad:3,button:16384\"",
          "Controls.player_3_button_x": "\"engine:cemuhookudp,guid:0000000000000000000000007f000001,port:{dsu_port},pad:3,button:4096\"",
          "Controls.player_3_button_y": "\"engine:cemuhookudp,guid:0000000000000000000000007f000001,port:{dsu_port},pad:3,button:32768\"",
          "Controls.player_3_button_lstick": "\"engine:cemuhookudp,guid:0000000000000000000000007f000001,port:{dsu_port},pad:3,button:2\"",
          "Controls.player_3_button_rstick": "\"engine:cemuhookudp,guid:0000000000000000000000007f000001,port:{dsu_port},pad:3,button:4\"",
          "Controls.player_3_button_l": "\"engine:cemuhookudp,guid:0000000000000000000000007f000001,port:{dsu_port},pad:3,button:1024\"",
          "Controls.player_3_button_r": "\"engine:cemuhookudp,guid:0000000000000000000000007f000001,port:{dsu_port},pad:3,button:2048\"",
          "Controls.player_3_button_zl": "\"engine:cemuhookudp,guid:0000000000000000000000007f000001,port:{dsu_port},pad:3,button:256\"",
          "Controls.player_3_button_zr": "\"engine:cemuhookudp,guid:0000000000000000000000007f000001,port:{dsu_port},pad:3,button:512\"",
          "Controls.player_3_button_plus": "\"engine:cemuhookudp,guid:0000000000000000000000007f000001,port:{dsu_port},pad:3,button:8\"",
          "Controls.player_3_button_minus": "\"engine:cemuhookudp,guid:0000000000000000000000007f000001,port:{dsu_port},pad:3,button:1\"",
          "Controls.player_3_button_dleft": "\"engine:cemuhookudp,guid:0000000000000000000000007f000001,port:{dsu_port},pad:3,button:128\"",
          "Controls.player_3_button_dup": "\"engine:cemuhookudp,guid:0000000000000000000000007f000001,port:{dsu_port},pad:3,button:16\"",
          "Controls.player_3_button_dright": "\"engine:cemuhookudp,guid:0000000000000000000000007f000001,port:{dsu_port},pad:3,button:32\"",
          "Controls.player_3_button_ddown": "\"engine:cemuhookudp,guid:0000000000000000000000007f000001,port:{dsu_port},pad:3,button:64\"",
          "Controls.player_3_button_home": "\"engine:cemuhookudp,guid:0000000000000000000000007f000001,port:{dsu_port},pad:3,button:262144\"",
          "Controls.player_3_button_screenshot": "\"engine:cemuhookudp,guid:0000000000000000000000007f000001,port:{dsu_port},pad:3,button:524288\"",
          "Controls.player_3_lstick": "\"engine:cemuhookudp,guid:0000000000000000000000007f000001,port:{dsu_port},pad:3,axis_x:0,axis_y:1,deadzone:0.150000,range:1.000000\"",
          "Controls.player_3_rstick": "\"engine:cemuhookudp,guid:0000000000000000000000007f000001,port:{dsu_port},pad:3,axis_x:2,axis_y:3,deadzone:0.150000,range:1.000000\"",
          "Controls.player_3_motionleft": "\"engine:cemuhookudp,guid:0000000000000000000000007f000001,port:{dsu_port},pad:3,motion:0\"",
          "Controls.player_3_motionright": "\"engine:cemuhookudp,guid:0000000000000000000000007f000001,port:{dsu_port},pad:3,motion:0\"",
          "Data%20Storage.save_directory": "{saves:/}/",
          "UI.confirmClose": "false",
          "UI.fullscreen": "false",
          "Controls.enable_udp_controller\\default": "false",
          "Controls.udp_input_servers\\default": "false",
          "Controls.player_0_connected\\default": "false",
          "Controls.player_0_type\\default": "false",
          "Controls.player_0_button_a\\default": "false",
          "Controls.player_0_button_b\\default": "false",
          "Controls.player_0_button_x\\default": "false",
          "Controls.player_0_button_y\\default": "false",
          "Controls.player_0_button_lstick\\default": "false",
          "Controls.player_0_button_rstick\\default": "false",
          "Controls.player_0_button_l\\default": "false",
          "Controls.player_0_button_r\\default": "false",
          "Controls.player_0_button_zl\\default": "false",
          "Controls.player_0_button_zr\\default": "false",
          "Controls.player_0_button_plus\\default": "false",
          "Controls.player_0_button_minus\\default": "false",
          "Controls.player_0_button_dleft\\default": "false",
          "Controls.player_0_button_dup\\default": "false",
          "Controls.player_0_button_dright\\default": "false",
          "Controls.player_0_button_ddown\\default": "false",
          "Controls.player_0_button_home\\default": "false",
          "Controls.player_0_button_screenshot\\default": "false",
          "Controls.player_0_lstick\\default": "false",
          "Controls.player_0_rstick\\default": "false",
          "Controls.player_0_motionleft\\default": "false",
          "Controls.player_0_motionright\\default": "false",
          "Controls.player_1_connected\\default": "false",
          "Controls.player_1_type\\default": "false",
          "Controls.player_1_button_a\\default": "false",
          "Controls.player_1_button_b\\default": "false",
          "Controls.player_1_button_x\\default": "false",
          "Controls.player_1_button_y\\default": "false",
          "Controls.player_1_button_lstick\\default": "false",
          "Controls.player_1_button_rstick\\default": "false",
          "Controls.player_1_button_l\\default": "false",
          "Controls.player_1_button_r\\default": "false",
          "Controls.player_1_button_zl\\default": "false",
          "Controls.player_1_button_zr\\default": "false",
          "Controls.player_1_button_plus\\default": "false",
          "Controls.player_1_button_minus\\default": "false",
          "Controls.player_1_button_dleft\\default": "false",
          "Controls.player_1_button_dup\\default": "false",
          "Controls.player_1_button_dright\\default": "false",
          "Controls.player_1_button_ddown\\default": "false",
          "Controls.player_1_button_home\\default": "false",
          "Controls.player_1_button_screenshot\\default": "false",
          "Controls.player_1_lstick\\default": "false",
          "Controls.player_1_rstick\\default": "false",
          "Controls.player_1_motionleft\\default": "false",
          "Controls.player_1_motionright\\default": "false",
          "Controls.player_2_connected\\default": "false",
          "Controls.player_2_type\\default": "false",
          "Controls.player_2_button_a\\default": "false",
          "Controls.player_2_button_b\\default": "false",
          "Controls.player_2_button_x\\default": "false",
          "Controls.player_2_button_y\\default": "false",
          "Controls.player_2_button_lstick\\default": "false",
          "Controls.player_2_button_rstick\\default": "false",
          "Controls.player_2_button_l\\default": "false",
          "Controls.player_2_button_r\\default": "false",
          "Controls.player_2_button_zl\\default": "false",
          "Controls.player_2_button_zr\\default": "false",
          "Controls.player_2_button_plus\\default": "false",
          "Controls.player_2_button_minus\\default": "false",
          "Controls.player_2_button_dleft\\default": "false",
          "Controls.player_2_button_dup\\default": "false",
          "Controls.player_2_button_dright\\default": "false",
          "Controls.player_2_button_ddown\\default": "false",
          "Controls.player_2_button_home\\default": "false",
          "Controls.player_2_button_screenshot\\default": "false",
          "Controls.player_2_lstick\\default": "false",
          "Controls.player_2_rstick\\default": "false",
          "Controls.player_2_motionleft\\default": "false",
          "Controls.player_2_motionright\\default": "false",
          "Controls.player_3_connected\\default": "false",
          "Controls.player_3_type\\default": "false",
          "Controls.player_3_button_a\\default": "false",
          "Controls.player_3_button_b\\default": "false",
          "Controls.player_3_button_x\\default": "false",
          "Controls.player_3_button_y\\default": "false",
          "Controls.player_3_button_lstick\\default": "false",
          "Controls.player_3_button_rstick\\default": "false",
          "Controls.player_3_button_l\\default": "false",
          "Controls.player_3_button_r\\default": "false",
          "Controls.player_3_button_zl\\default": "false",
          "Controls.player_3_button_zr\\default": "false",
          "Controls.player_3_button_plus\\default": "false",
          "Controls.player_3_button_minus\\default": "false",
          "Controls.player_3_button_dleft\\default": "false",
          "Controls.player_3_button_dup\\default": "false",
          "Controls.player_3_button_dright\\default": "false",
          "Controls.player_3_button_ddown\\default": "false",
          "Controls.player_3_button_home\\default": "false",
          "Controls.player_3_button_screenshot\\default": "false",
          "Controls.player_3_lstick\\default": "false",
          "Controls.player_3_rstick\\default": "false",
          "Controls.player_3_motionleft\\default": "false",
          "Controls.player_3_motionright\\default": "false",
          "Data%20Storage.save_directory\\default": "false",
          "UI.confirmClose\\default": "false",
          "UI.fullscreen\\default": "false",
          "Renderer.backend\\default": "false",
          "Renderer.gpu_accuracy\\default": "false",
          "Renderer.dma_accuracy\\default": "false",
          "Renderer.use_asynchronous_gpu_emulation\\default": "false",
          "Renderer.use_asynchronous_shaders\\default": "false",
          "Renderer.use_disk_shader_cache\\default": "false",
          "Renderer.use_vulkan_driver_pipeline_cache\\default": "false",
          "Renderer.enable_compute_pipelines\\default": "false",
          "Renderer.vram_usage_mode\\default": "false",
          "Renderer.accelerate_astc\\default": "false",
          "Renderer.astc_recompression\\default": "false",
          "Renderer.nvdec_emulation\\default": "false",
          "Renderer.use_reactive_flushing\\default": "false",
          "Renderer.barrier_feedback_loops\\default": "false",
          "Renderer.enable_buffer_history\\default": "false",
          "Renderer.sync_memory_operations\\default": "false",
          "Renderer.force_max_clock\\default": "false",
          "Renderer.fast_gpu_time\\default": "false",
          "Renderer.skip_cpu_inner_invalidation\\default": "false",
          "Renderer.async_presentation\\default": "false",
          "Renderer.gpu_unswizzle_enabled\\default": "false",
          "Renderer.gpu_unswizzle_texture_size\\default": "false",
          "Renderer.gpu_unswizzle_stream_size\\default": "false",
          "Renderer.gpu_unswizzle_chunk_size\\default": "false",
          "Renderer.dyna_state\\default": "false",
          "Renderer.vertex_input_dynamic_state\\default": "false",
          "Renderer.resolution_setup\\default": "false",
          "Renderer.scaling_filter\\default": "false",
          "Renderer.fsr_sharpening_slider\\default": "false",
          "Renderer.aspect_ratio\\default": "false",
          "Renderer.fix_bloom_effects\\default": "false",
          "Renderer.rescale_hack\\default": "false",
          "Renderer.anti_aliasing\\default": "false",
          "Renderer.max_anisotropy\\default": "false",
          "Renderer.sample_shading_fraction\\default": "false",
          "Renderer.emulate_bgr565\\default": "false",
          "Renderer.use_vsync\\default": "false",
          "Renderer.frame_pacing_mode\\default": "false",
          "Renderer.use_video_framerate\\default": "false",
          "Core.use_speed_limit\\default": "false",
          "Core.speed_limit\\default": "false",
          "Renderer.fullscreen_mode\\default": "false",
          "System.use_docked_mode\\default": "false",
          "UI.Screenshots\\screenshot_path": "{screenshots:/}/",
          "UI.Screenshots\\screenshot_path\\default": "false",
          "UI.Screenshots\\enable_screenshot_save_as": "false",
          "UI.Screenshots\\enable_screenshot_save_as\\default": "false",
          "UI.confirmStop": "2",
          "UI.confirmStop\\default": "false",
          "LibraryApplet.controller_applet_mode\\default": "false",
          "Audio.volume\\default": "false"
        }
      }
    ],
    "game_files": [
      {
        "part": "saves",
        "glob": "user/save/0000000000000000/*/{title_id}/**"
      },
      {
        "part": "config",
        "glob": "config/custom/{title_id}.ini"
      }
    ],
    "system_files": [
      {
        "names": [
          "prod.keys"
        ],
        "kind": "file",
        "what": "Console keys",
        "required": true,
        "features": "almost every game"
      }
    ]
  },
  "options": [
    {
      "id": "controller",
      "label": "Player 1's controller",
      "tab": "controls",
      "type": "controller",
      "default": "pro",
      "values": [
        {
          "value": "pro",
          "label": "Pro-style pad",
          "icon": "kouch:pro-pad",
          "edits": [
            {
              "file": "{config}/config/qt-config.ini",
              "format": "ini",
              "set": {
                "Controls.player_0_type": "0",
                "Controls.player_0_type\\default": "false",
                "Controls.player_0_connected": "true",
                "Controls.player_0_connected\\default": "false",
                "Controls.player_8_connected": "false",
                "Controls.player_8_connected\\default": "false",
                "Controls.player_0_rstick": "\"engine:cemuhookudp,guid:0000000000000000000000007f000001,port:{dsu_port},pad:0,axis_x:2,axis_y:3,deadzone:0.150000,range:1.000000\"",
                "Controls.player_0_rstick\\default": "false"
              }
            }
          ]
        },
        {
          "value": "pair",
          "label": "Split pair",
          "icon": "kouch:split-pair",
          "edits": [
            {
              "file": "{config}/config/qt-config.ini",
              "format": "ini",
              "set": {
                "Controls.player_0_type": "1",
                "Controls.player_0_type\\default": "false",
                "Controls.player_0_connected": "true",
                "Controls.player_0_connected\\default": "false",
                "Controls.player_8_connected": "false",
                "Controls.player_8_connected\\default": "false",
                "Controls.player_0_rstick": "\"engine:cemuhookudp,guid:0000000000000000000000007f000001,port:{dsu_port},pad:0,axis_x:2,axis_y:3,deadzone:0.150000,range:1.000000\"",
                "Controls.player_0_rstick\\default": "false"
              }
            }
          ]
        },
        {
          "value": "left_half",
          "label": "Left half, sideways",
          "icon": "kouch:split-half",
          "edits": [
            {
              "file": "{config}/config/qt-config.ini",
              "format": "ini",
              "set": {
                "Controls.player_0_type": "2",
                "Controls.player_0_type\\default": "false",
                "Controls.player_0_connected": "true",
                "Controls.player_0_connected\\default": "false",
                "Controls.player_8_connected": "false",
                "Controls.player_8_connected\\default": "false",
                "Controls.player_0_rstick": "\"engine:cemuhookudp,guid:0000000000000000000000007f000001,port:{dsu_port},pad:0,axis_x:2,axis_y:3,deadzone:0.150000,range:1.000000\"",
                "Controls.player_0_rstick\\default": "false",
                "Controls.player_0_button_slleft": "\"engine:cemuhookudp,guid:0000000000000000000000007f000001,port:{dsu_port},pad:0,button:1024\"",
                "Controls.player_0_button_slleft\\default": "false",
                "Controls.player_0_button_srleft": "\"engine:cemuhookudp,guid:0000000000000000000000007f000001,port:{dsu_port},pad:0,button:2048\"",
                "Controls.player_0_button_srleft\\default": "false"
              }
            }
          ]
        },
        {
          "value": "right_half",
          "label": "Right half, sideways",
          "icon": "kouch:split-half",
          "edits": [
            {
              "file": "{config}/config/qt-config.ini",
              "format": "ini",
              "set": {
                "Controls.player_0_type": "3",
                "Controls.player_0_type\\default": "false",
                "Controls.player_0_connected": "true",
                "Controls.player_0_connected\\default": "false",
                "Controls.player_8_connected": "false",
                "Controls.player_8_connected\\default": "false",
                "Controls.player_0_rstick": "\"engine:cemuhookudp,guid:0000000000000000000000007f000001,port:{dsu_port},pad:0,axis_x:0,axis_y:1,deadzone:0.150000,range:1.000000\"",
                "Controls.player_0_rstick\\default": "false",
                "Controls.player_0_button_slright": "\"engine:cemuhookudp,guid:0000000000000000000000007f000001,port:{dsu_port},pad:0,button:1024\"",
                "Controls.player_0_button_slright\\default": "false",
                "Controls.player_0_button_srright": "\"engine:cemuhookudp,guid:0000000000000000000000007f000001,port:{dsu_port},pad:0,button:2048\"",
                "Controls.player_0_button_srright\\default": "false"
              }
            }
          ]
        },
        {
          "value": "handheld",
          "label": "Handheld",
          "icon": "kouch:handheld",
          "edits": [
            {
              "file": "{config}/config/qt-config.ini",
              "format": "ini",
              "set": {
                "Controls.player_0_type": "4",
                "Controls.player_0_type\\default": "false",
                "Controls.player_0_connected": "false",
                "Controls.player_0_connected\\default": "false",
                "Controls.player_8_type": "4",
                "Controls.player_8_type\\default": "false",
                "Controls.player_8_connected": "true",
                "Controls.player_8_connected\\default": "false",
                "Controls.player_8_button_a": "\"engine:cemuhookudp,guid:0000000000000000000000007f000001,port:{dsu_port},pad:0,button:8192\"",
                "Controls.player_8_button_a\\default": "false",
                "Controls.player_8_button_b": "\"engine:cemuhookudp,guid:0000000000000000000000007f000001,port:{dsu_port},pad:0,button:16384\"",
                "Controls.player_8_button_b\\default": "false",
                "Controls.player_8_button_x": "\"engine:cemuhookudp,guid:0000000000000000000000007f000001,port:{dsu_port},pad:0,button:4096\"",
                "Controls.player_8_button_x\\default": "false",
                "Controls.player_8_button_y": "\"engine:cemuhookudp,guid:0000000000000000000000007f000001,port:{dsu_port},pad:0,button:32768\"",
                "Controls.player_8_button_y\\default": "false",
                "Controls.player_8_button_lstick": "\"engine:cemuhookudp,guid:0000000000000000000000007f000001,port:{dsu_port},pad:0,button:2\"",
                "Controls.player_8_button_lstick\\default": "false",
                "Controls.player_8_button_rstick": "\"engine:cemuhookudp,guid:0000000000000000000000007f000001,port:{dsu_port},pad:0,button:4\"",
                "Controls.player_8_button_rstick\\default": "false",
                "Controls.player_8_button_l": "\"engine:cemuhookudp,guid:0000000000000000000000007f000001,port:{dsu_port},pad:0,button:1024\"",
                "Controls.player_8_button_l\\default": "false",
                "Controls.player_8_button_r": "\"engine:cemuhookudp,guid:0000000000000000000000007f000001,port:{dsu_port},pad:0,button:2048\"",
                "Controls.player_8_button_r\\default": "false",
                "Controls.player_8_button_zl": "\"engine:cemuhookudp,guid:0000000000000000000000007f000001,port:{dsu_port},pad:0,button:256\"",
                "Controls.player_8_button_zl\\default": "false",
                "Controls.player_8_button_zr": "\"engine:cemuhookudp,guid:0000000000000000000000007f000001,port:{dsu_port},pad:0,button:512\"",
                "Controls.player_8_button_zr\\default": "false",
                "Controls.player_8_button_plus": "\"engine:cemuhookudp,guid:0000000000000000000000007f000001,port:{dsu_port},pad:0,button:8\"",
                "Controls.player_8_button_plus\\default": "false",
                "Controls.player_8_button_minus": "\"engine:cemuhookudp,guid:0000000000000000000000007f000001,port:{dsu_port},pad:0,button:1\"",
                "Controls.player_8_button_minus\\default": "false",
                "Controls.player_8_button_dleft": "\"engine:cemuhookudp,guid:0000000000000000000000007f000001,port:{dsu_port},pad:0,button:128\"",
                "Controls.player_8_button_dleft\\default": "false",
                "Controls.player_8_button_dup": "\"engine:cemuhookudp,guid:0000000000000000000000007f000001,port:{dsu_port},pad:0,button:16\"",
                "Controls.player_8_button_dup\\default": "false",
                "Controls.player_8_button_dright": "\"engine:cemuhookudp,guid:0000000000000000000000007f000001,port:{dsu_port},pad:0,button:32\"",
                "Controls.player_8_button_dright\\default": "false",
                "Controls.player_8_button_ddown": "\"engine:cemuhookudp,guid:0000000000000000000000007f000001,port:{dsu_port},pad:0,button:64\"",
                "Controls.player_8_button_ddown\\default": "false",
                "Controls.player_8_button_home": "\"engine:cemuhookudp,guid:0000000000000000000000007f000001,port:{dsu_port},pad:0,button:262144\"",
                "Controls.player_8_button_home\\default": "false",
                "Controls.player_8_button_screenshot": "\"engine:cemuhookudp,guid:0000000000000000000000007f000001,port:{dsu_port},pad:0,button:524288\"",
                "Controls.player_8_button_screenshot\\default": "false",
                "Controls.player_8_lstick": "\"engine:cemuhookudp,guid:0000000000000000000000007f000001,port:{dsu_port},pad:0,axis_x:0,axis_y:1,deadzone:0.150000,range:1.000000\"",
                "Controls.player_8_lstick\\default": "false",
                "Controls.player_8_rstick": "\"engine:cemuhookudp,guid:0000000000000000000000007f000001,port:{dsu_port},pad:0,axis_x:2,axis_y:3,deadzone:0.150000,range:1.000000\"",
                "Controls.player_8_rstick\\default": "false",
                "Controls.player_8_motionleft": "\"engine:cemuhookudp,guid:0000000000000000000000007f000001,port:{dsu_port},pad:0,motion:0\"",
                "Controls.player_8_motionleft\\default": "false",
                "Controls.player_8_motionright": "\"engine:cemuhookudp,guid:0000000000000000000000007f000001,port:{dsu_port},pad:0,motion:0\"",
                "Controls.player_8_motionright\\default": "false"
              }
            }
          ]
        }
      ]
    },
    {
      "id": "controller_applet",
      "label": "Controller setup screen",
      "tab": "controls",
      "type": "choice",
      "description": "What opens when a game asks which controllers to use. The console’s own screen works with a pad, but needs the console’s system update installed in the emulator.",
      "default": 0,
      "values": [
        {
          "value": 0,
          "label": "The emulator’s window (mouse)"
        },
        {
          "value": 1,
          "label": "The console’s own (pad)"
        }
      ],
      "apply": {
        "kind": "config_edit",
        "file": "{config}/config/qt-config.ini",
        "format": "ini",
        "key": "LibraryApplet.controller_applet_mode"
      }
    },
    {
      "id": "renderer",
      "label": "Renderer",
      "tab": "graphics",
      "type": "choice",
      "values": [
        {
          "value": 1,
          "label": "Vulkan"
        },
        {
          "value": 0,
          "label": "OpenGL (GLSL)"
        },
        {
          "value": 3,
          "label": "OpenGL (GLASM)"
        },
        {
          "value": 4,
          "label": "OpenGL (SPIR-V)"
        }
      ],
      "default": 1,
      "apply": {
        "kind": "config_edit",
        "file": "{config}/config/qt-config.ini",
        "format": "ini",
        "key": "Renderer.backend"
      },
      "role": "renderer",
      "section": "Renderer",
      "restart": true
    },
    {
      "id": "gpu_accuracy",
      "label": "GPU accuracy",
      "tab": "graphics",
      "type": "choice",
      "values": [
        {
          "value": 0,
          "label": "Low"
        },
        {
          "value": 1,
          "label": "Medium"
        },
        {
          "value": 2,
          "label": "High"
        }
      ],
      "default": 1,
      "apply": {
        "kind": "config_edit",
        "file": "{config}/config/qt-config.ini",
        "format": "ini",
        "key": "Renderer.gpu_accuracy"
      },
      "role": "other",
      "section": "Renderer"
    },
    {
      "id": "dma_accuracy",
      "label": "DMA accuracy",
      "tab": "advanced",
      "type": "choice",
      "values": [
        {
          "value": 0,
          "label": "Default"
        },
        {
          "value": 1,
          "label": "Unsafe"
        },
        {
          "value": 2,
          "label": "Safe"
        }
      ],
      "default": 0,
      "apply": {
        "kind": "config_edit",
        "file": "{config}/config/qt-config.ini",
        "format": "ini",
        "key": "Renderer.dma_accuracy"
      },
      "role": "other",
      "section": "Expert graphics"
    },
    {
      "id": "async_gpu",
      "label": "Run the GPU on its own thread",
      "tab": "advanced",
      "type": "toggle",
      "default": true,
      "apply": {
        "kind": "config_edit",
        "file": "{config}/config/qt-config.ini",
        "format": "ini",
        "key": "Renderer.use_asynchronous_gpu_emulation"
      },
      "role": "other",
      "section": "Expert graphics",
      "restart": true
    },
    {
      "id": "async_shaders",
      "label": "Build shaders in background",
      "tab": "graphics",
      "type": "toggle",
      "default": false,
      "apply": {
        "kind": "config_edit",
        "file": "{config}/config/qt-config.ini",
        "format": "ini",
        "key": "Renderer.use_asynchronous_shaders"
      },
      "role": "other",
      "section": "Renderer",
      "restart": true
    },
    {
      "id": "disk_shader_cache",
      "label": "Keep compiled shaders on disk",
      "tab": "graphics",
      "type": "toggle",
      "default": true,
      "apply": {
        "kind": "config_edit",
        "file": "{config}/config/qt-config.ini",
        "format": "ini",
        "key": "Renderer.use_disk_shader_cache"
      },
      "role": "other",
      "section": "Renderer",
      "restart": true
    },
    {
      "id": "driver_pipeline_cache",
      "label": "Driver pipeline cache (Vulkan)",
      "tab": "advanced",
      "type": "toggle",
      "default": true,
      "apply": {
        "kind": "config_edit",
        "file": "{config}/config/qt-config.ini",
        "format": "ini",
        "key": "Renderer.use_vulkan_driver_pipeline_cache"
      },
      "role": "other",
      "section": "Expert graphics",
      "restart": true
    },
    {
      "id": "compute_pipelines",
      "label": "Compute pipelines",
      "tab": "advanced",
      "type": "toggle",
      "default": false,
      "apply": {
        "kind": "config_edit",
        "file": "{config}/config/qt-config.ini",
        "format": "ini",
        "key": "Renderer.enable_compute_pipelines"
      },
      "role": "other",
      "section": "Expert graphics",
      "restart": true
    },
    {
      "id": "vram_mode",
      "label": "Video memory use",
      "tab": "advanced",
      "type": "choice",
      "values": [
        {
          "value": 0,
          "label": "Conservative"
        },
        {
          "value": 1,
          "label": "Aggressive"
        }
      ],
      "default": 0,
      "apply": {
        "kind": "config_edit",
        "file": "{config}/config/qt-config.ini",
        "format": "ini",
        "key": "Renderer.vram_usage_mode"
      },
      "role": "other",
      "section": "Expert graphics",
      "restart": true
    },
    {
      "id": "astc_decode",
      "label": "ASTC texture decoding",
      "tab": "advanced",
      "type": "choice",
      "values": [
        {
          "value": 0,
          "label": "CPU"
        },
        {
          "value": 1,
          "label": "GPU"
        },
        {
          "value": 2,
          "label": "CPU, in the background"
        }
      ],
      "default": 1,
      "apply": {
        "kind": "config_edit",
        "file": "{config}/config/qt-config.ini",
        "format": "ini",
        "key": "Renderer.accelerate_astc"
      },
      "role": "other",
      "section": "Expert graphics",
      "restart": true
    },
    {
      "id": "astc_recompression",
      "label": "ASTC recompression",
      "tab": "advanced",
      "type": "choice",
      "values": [
        {
          "value": 0,
          "label": "Uncompressed"
        },
        {
          "value": 1,
          "label": "BC1"
        },
        {
          "value": 2,
          "label": "BC3"
        }
      ],
      "default": 0,
      "apply": {
        "kind": "config_edit",
        "file": "{config}/config/qt-config.ini",
        "format": "ini",
        "key": "Renderer.astc_recompression"
      },
      "role": "other",
      "section": "Expert graphics",
      "restart": true
    },
    {
      "id": "video_decoding",
      "label": "Cutscene video decoding",
      "tab": "advanced",
      "type": "choice",
      "values": [
        {
          "value": 0,
          "label": "Off"
        },
        {
          "value": 1,
          "label": "CPU"
        },
        {
          "value": 2,
          "label": "GPU"
        }
      ],
      "default": 2,
      "apply": {
        "kind": "config_edit",
        "file": "{config}/config/qt-config.ini",
        "format": "ini",
        "key": "Renderer.nvdec_emulation"
      },
      "role": "other",
      "section": "Expert graphics",
      "restart": true
    },
    {
      "id": "reactive_flushing",
      "label": "Reactive flushing",
      "tab": "advanced",
      "type": "toggle",
      "default": true,
      "apply": {
        "kind": "config_edit",
        "file": "{config}/config/qt-config.ini",
        "format": "ini",
        "key": "Renderer.use_reactive_flushing"
      },
      "role": "other",
      "section": "Expert graphics",
      "restart": true
    },
    {
      "id": "barrier_loops",
      "label": "Barrier feedback loops",
      "tab": "advanced",
      "type": "toggle",
      "default": true,
      "apply": {
        "kind": "config_edit",
        "file": "{config}/config/qt-config.ini",
        "format": "ini",
        "key": "Renderer.barrier_feedback_loops"
      },
      "role": "other",
      "section": "Expert graphics",
      "restart": true
    },
    {
      "id": "buffer_history",
      "label": "Buffer history",
      "tab": "advanced",
      "type": "toggle",
      "default": false,
      "apply": {
        "kind": "config_edit",
        "file": "{config}/config/qt-config.ini",
        "format": "ini",
        "key": "Renderer.enable_buffer_history"
      },
      "role": "other",
      "section": "Expert graphics"
    },
    {
      "id": "sync_memory",
      "label": "Sync memory operations",
      "tab": "advanced",
      "type": "toggle",
      "default": false,
      "apply": {
        "kind": "config_edit",
        "file": "{config}/config/qt-config.ini",
        "format": "ini",
        "key": "Renderer.sync_memory_operations"
      },
      "role": "other",
      "section": "Expert graphics"
    },
    {
      "id": "max_clock",
      "label": "Run the GPU at full clock",
      "tab": "advanced",
      "type": "toggle",
      "default": false,
      "apply": {
        "kind": "config_edit",
        "file": "{config}/config/qt-config.ini",
        "format": "ini",
        "key": "Renderer.force_max_clock"
      },
      "role": "other",
      "section": "Expert graphics",
      "restart": true
    },
    {
      "id": "gpu_overclock",
      "label": "Fast GPU time",
      "tab": "advanced",
      "type": "choice",
      "values": [
        {
          "value": 0,
          "label": "Normal"
        },
        {
          "value": 1,
          "label": "Medium"
        },
        {
          "value": 2,
          "label": "High"
        }
      ],
      "default": 1,
      "apply": {
        "kind": "config_edit",
        "file": "{config}/config/qt-config.ini",
        "format": "ini",
        "key": "Renderer.fast_gpu_time"
      },
      "role": "other",
      "section": "Expert graphics"
    },
    {
      "id": "skip_invalidation",
      "label": "Skip CPU inner invalidation",
      "tab": "advanced",
      "type": "toggle",
      "default": false,
      "apply": {
        "kind": "config_edit",
        "file": "{config}/config/qt-config.ini",
        "format": "ini",
        "key": "Renderer.skip_cpu_inner_invalidation"
      },
      "role": "other",
      "section": "Expert graphics"
    },
    {
      "id": "async_present",
      "label": "Present frames in the background",
      "tab": "advanced",
      "type": "toggle",
      "default": false,
      "apply": {
        "kind": "config_edit",
        "file": "{config}/config/qt-config.ini",
        "format": "ini",
        "key": "Renderer.async_presentation"
      },
      "role": "other",
      "section": "Expert graphics",
      "restart": true
    },
    {
      "id": "unswizzle",
      "label": "GPU texture unswizzle",
      "tab": "advanced",
      "type": "toggle",
      "default": false,
      "apply": {
        "kind": "config_edit",
        "file": "{config}/config/qt-config.ini",
        "format": "ini",
        "key": "Renderer.gpu_unswizzle_enabled"
      },
      "role": "other",
      "section": "Expert graphics",
      "restart": true
    },
    {
      "id": "unswizzle_texture",
      "label": "Unswizzle texture size",
      "tab": "advanced",
      "type": "choice",
      "values": [
        {
          "value": 0,
          "label": "Very small"
        },
        {
          "value": 1,
          "label": "Small"
        },
        {
          "value": 2,
          "label": "Normal"
        },
        {
          "value": 3,
          "label": "Large"
        },
        {
          "value": 4,
          "label": "Very large"
        }
      ],
      "default": 3,
      "apply": {
        "kind": "config_edit",
        "file": "{config}/config/qt-config.ini",
        "format": "ini",
        "key": "Renderer.gpu_unswizzle_texture_size"
      },
      "role": "other",
      "section": "Expert graphics",
      "restart": true
    },
    {
      "id": "unswizzle_stream",
      "label": "Unswizzle stream size",
      "tab": "advanced",
      "type": "choice",
      "values": [
        {
          "value": 0,
          "label": "Very low"
        },
        {
          "value": 1,
          "label": "Low"
        },
        {
          "value": 2,
          "label": "Normal"
        },
        {
          "value": 3,
          "label": "Medium"
        },
        {
          "value": 4,
          "label": "High"
        }
      ],
      "default": 3,
      "apply": {
        "kind": "config_edit",
        "file": "{config}/config/qt-config.ini",
        "format": "ini",
        "key": "Renderer.gpu_unswizzle_stream_size"
      },
      "role": "other",
      "section": "Expert graphics",
      "restart": true
    },
    {
      "id": "unswizzle_chunk",
      "label": "Unswizzle chunk size",
      "tab": "advanced",
      "type": "choice",
      "values": [
        {
          "value": 0,
          "label": "Very low"
        },
        {
          "value": 1,
          "label": "Low"
        },
        {
          "value": 2,
          "label": "Normal"
        },
        {
          "value": 3,
          "label": "Medium"
        },
        {
          "value": 4,
          "label": "High"
        }
      ],
      "default": 3,
      "apply": {
        "kind": "config_edit",
        "file": "{config}/config/qt-config.ini",
        "format": "ini",
        "key": "Renderer.gpu_unswizzle_chunk_size"
      },
      "role": "other",
      "section": "Expert graphics",
      "restart": true
    },
    {
      "id": "dynamic_state",
      "label": "Extended dynamic state",
      "tab": "advanced",
      "type": "choice",
      "values": [
        {
          "value": 0,
          "label": "Off"
        },
        {
          "value": 1,
          "label": "Level 1"
        },
        {
          "value": 2,
          "label": "Level 2"
        },
        {
          "value": 3,
          "label": "Level 3"
        }
      ],
      "default": 2,
      "apply": {
        "kind": "config_edit",
        "file": "{config}/config/qt-config.ini",
        "format": "ini",
        "key": "Renderer.dyna_state"
      },
      "role": "other",
      "section": "Expert graphics",
      "restart": true
    },
    {
      "id": "vertex_dynamic_state",
      "label": "Vertex input dynamic state",
      "tab": "advanced",
      "type": "toggle",
      "default": true,
      "apply": {
        "kind": "config_edit",
        "file": "{config}/config/qt-config.ini",
        "format": "ini",
        "key": "Renderer.vertex_input_dynamic_state"
      },
      "role": "other",
      "section": "Expert graphics",
      "restart": true
    },
    {
      "id": "resolution",
      "label": "Internal resolution",
      "tab": "graphics",
      "type": "choice",
      "values": [
        {
          "value": 0,
          "label": "0.25×"
        },
        {
          "value": 1,
          "label": "0.5×"
        },
        {
          "value": 2,
          "label": "0.75×"
        },
        {
          "value": 3,
          "label": "1× (native)"
        },
        {
          "value": 4,
          "label": "1.25×"
        },
        {
          "value": 5,
          "label": "1.5×"
        },
        {
          "value": 6,
          "label": "2×"
        },
        {
          "value": 7,
          "label": "3×"
        },
        {
          "value": 8,
          "label": "4×"
        },
        {
          "value": 9,
          "label": "5×"
        },
        {
          "value": 10,
          "label": "6×"
        },
        {
          "value": 11,
          "label": "7×"
        },
        {
          "value": 12,
          "label": "8×"
        }
      ],
      "default": 3,
      "apply": {
        "kind": "config_edit",
        "file": "{config}/config/qt-config.ini",
        "format": "ini",
        "key": "Renderer.resolution_setup"
      },
      "role": "internal_resolution",
      "section": "Resolution",
      "restart": true
    },
    {
      "id": "scaling_filter",
      "label": "Scaling filter",
      "tab": "graphics",
      "type": "choice",
      "values": [
        {
          "value": 0,
          "label": "Nearest neighbour"
        },
        {
          "value": 1,
          "label": "Bilinear"
        },
        {
          "value": 2,
          "label": "Bicubic"
        },
        {
          "value": 3,
          "label": "Gaussian"
        },
        {
          "value": 4,
          "label": "Lanczos"
        },
        {
          "value": 5,
          "label": "ScaleForce"
        },
        {
          "value": 6,
          "label": "FSR"
        },
        {
          "value": 7,
          "label": "Area"
        },
        {
          "value": 8,
          "label": "Zero-tangent"
        },
        {
          "value": 9,
          "label": "B-spline"
        },
        {
          "value": 10,
          "label": "Mitchell"
        },
        {
          "value": 11,
          "label": "Spline-1"
        },
        {
          "value": 12,
          "label": "MMPX"
        }
      ],
      "default": 1,
      "apply": {
        "kind": "config_edit",
        "file": "{config}/config/qt-config.ini",
        "format": "ini",
        "key": "Renderer.scaling_filter"
      },
      "role": "output_filter",
      "section": "Resolution"
    },
    {
      "id": "fsr_sharpness",
      "label": "FSR sharpness (%)",
      "tab": "graphics",
      "type": "slider",
      "min": 0,
      "max": 200,
      "step": 5,
      "default": 25,
      "apply": {
        "kind": "config_edit",
        "file": "{config}/config/qt-config.ini",
        "format": "ini",
        "key": "Renderer.fsr_sharpening_slider"
      },
      "role": "output_filter",
      "section": "Resolution"
    },
    {
      "id": "aspect",
      "label": "Screen shape",
      "tab": "graphics",
      "type": "choice",
      "values": [
        {
          "value": 0,
          "label": "16:9"
        },
        {
          "value": 1,
          "label": "4:3"
        },
        {
          "value": 2,
          "label": "21:9"
        },
        {
          "value": 3,
          "label": "16:10"
        },
        {
          "value": 4,
          "label": "Stretch to fill"
        }
      ],
      "default": 0,
      "apply": {
        "kind": "config_edit",
        "file": "{config}/config/qt-config.ini",
        "format": "ini",
        "key": "Renderer.aspect_ratio"
      },
      "role": "aspect",
      "section": "Resolution"
    },
    {
      "id": "bloom_fix",
      "label": "Fix bloom effects",
      "tab": "graphics",
      "type": "toggle",
      "default": false,
      "apply": {
        "kind": "config_edit",
        "file": "{config}/config/qt-config.ini",
        "format": "ini",
        "key": "Renderer.fix_bloom_effects"
      },
      "role": "enhancement",
      "section": "Resolution",
      "restart": true
    },
    {
      "id": "rescale_hack",
      "label": "Rescaling hack",
      "tab": "advanced",
      "type": "toggle",
      "default": false,
      "apply": {
        "kind": "config_edit",
        "file": "{config}/config/qt-config.ini",
        "format": "ini",
        "key": "Renderer.rescale_hack"
      },
      "role": "enhancement",
      "section": "Expert graphics",
      "restart": true
    },
    {
      "id": "anti_aliasing",
      "label": "Anti-aliasing",
      "tab": "graphics",
      "type": "choice",
      "values": [
        {
          "value": 0,
          "label": "Off"
        },
        {
          "value": 1,
          "label": "FXAA"
        },
        {
          "value": 2,
          "label": "SMAA"
        }
      ],
      "default": 0,
      "apply": {
        "kind": "config_edit",
        "file": "{config}/config/qt-config.ini",
        "format": "ini",
        "key": "Renderer.anti_aliasing"
      },
      "role": "anti_aliasing",
      "section": "Image quality"
    },
    {
      "id": "anisotropic",
      "label": "Anisotropic filtering",
      "tab": "graphics",
      "type": "choice",
      "values": [
        {
          "value": 0,
          "label": "Automatic"
        },
        {
          "value": 1,
          "label": "As the game sets it"
        },
        {
          "value": 2,
          "label": "2×"
        },
        {
          "value": 3,
          "label": "4×"
        },
        {
          "value": 4,
          "label": "8×"
        },
        {
          "value": 5,
          "label": "16×"
        },
        {
          "value": 6,
          "label": "32×"
        },
        {
          "value": 7,
          "label": "64×"
        },
        {
          "value": 8,
          "label": "Off"
        }
      ],
      "default": 0,
      "apply": {
        "kind": "config_edit",
        "file": "{config}/config/qt-config.ini",
        "format": "ini",
        "key": "Renderer.max_anisotropy"
      },
      "role": "anisotropic",
      "section": "Image quality",
      "restart": true
    },
    {
      "id": "sample_shading",
      "label": "Sample shading (%)",
      "tab": "advanced",
      "type": "slider",
      "min": 0,
      "max": 100,
      "step": 5,
      "default": 0,
      "apply": {
        "kind": "config_edit",
        "file": "{config}/config/qt-config.ini",
        "format": "ini",
        "key": "Renderer.sample_shading_fraction"
      },
      "role": "anti_aliasing",
      "section": "Expert graphics",
      "restart": true
    },
    {
      "id": "bgr565",
      "label": "Emulate BGR565 colour",
      "tab": "advanced",
      "type": "toggle",
      "default": false,
      "apply": {
        "kind": "config_edit",
        "file": "{config}/config/qt-config.ini",
        "format": "ini",
        "key": "Renderer.emulate_bgr565"
      },
      "role": "enhancement",
      "section": "Expert graphics",
      "restart": true
    },
    {
      "id": "vsync",
      "label": "V-Sync",
      "tab": "graphics",
      "type": "choice",
      "values": [
        {
          "value": 0,
          "label": "Off"
        },
        {
          "value": 1,
          "label": "Mailbox (no tearing, low lag)"
        },
        {
          "value": 2,
          "label": "On"
        },
        {
          "value": 3,
          "label": "On, relaxed"
        }
      ],
      "default": 0,
      "apply": {
        "kind": "config_edit",
        "file": "{config}/config/qt-config.ini",
        "format": "ini",
        "key": "Renderer.use_vsync"
      },
      "role": "vsync",
      "section": "Display"
    },
    {
      "id": "frame_pacing",
      "label": "Frame rate target",
      "tab": "graphics",
      "type": "choice",
      "values": [
        {
          "value": 0,
          "label": "Automatic"
        },
        {
          "value": 1,
          "label": "30 fps"
        },
        {
          "value": 2,
          "label": "60 fps"
        },
        {
          "value": 3,
          "label": "90 fps"
        },
        {
          "value": 4,
          "label": "120 fps"
        }
      ],
      "default": 0,
      "apply": {
        "kind": "config_edit",
        "file": "{config}/config/qt-config.ini",
        "format": "ini",
        "key": "Renderer.frame_pacing_mode"
      },
      "role": "frame_limit",
      "section": "Display"
    },
    {
      "id": "video_framerate",
      "label": "Match the video’s frame rate",
      "tab": "graphics",
      "type": "toggle",
      "default": false,
      "apply": {
        "kind": "config_edit",
        "file": "{config}/config/qt-config.ini",
        "format": "ini",
        "key": "Renderer.use_video_framerate"
      },
      "role": "frame_limit",
      "section": "Display",
      "restart": true
    },
    {
      "id": "speed_limit_on",
      "label": "Limit emulation speed",
      "tab": "advanced",
      "type": "toggle",
      "default": true,
      "apply": {
        "kind": "config_edit",
        "file": "{config}/config/qt-config.ini",
        "format": "ini",
        "key": "Core.use_speed_limit"
      },
      "role": "frame_limit",
      "section": "Speed"
    },
    {
      "id": "speed_limit",
      "label": "Emulation speed limit (%)",
      "tab": "advanced",
      "type": "slider",
      "min": 25,
      "max": 400,
      "step": 25,
      "default": 100,
      "apply": {
        "kind": "config_edit",
        "file": "{config}/config/qt-config.ini",
        "format": "ini",
        "key": "Core.speed_limit"
      },
      "role": "frame_limit",
      "section": "Speed"
    },
    {
      "id": "fullscreen_mode",
      "label": "Fullscreen mode",
      "tab": "graphics",
      "type": "choice",
      "values": [
        {
          "value": 0,
          "label": "Borderless window"
        },
        {
          "value": 1,
          "label": "Exclusive"
        }
      ],
      "default": 0,
      "apply": {
        "kind": "config_edit",
        "file": "{config}/config/qt-config.ini",
        "format": "ini",
        "key": "Renderer.fullscreen_mode"
      },
      "role": "other",
      "section": "Display"
    },
    {
      "id": "docked",
      "label": "Console mode",
      "tab": "graphics",
      "type": "choice",
      "values": [
        {
          "value": 1,
          "label": "Docked (TV)"
        },
        {
          "value": 0,
          "label": "Handheld"
        }
      ],
      "default": 1,
      "apply": {
        "kind": "config_edit",
        "file": "{config}/config/qt-config.ini",
        "format": "ini",
        "key": "System.use_docked_mode"
      },
      "role": "docked_mode",
      "section": "Screens"
    },
    {
      "id": "volume",
      "label": "Volume",
      "tab": "audio",
      "type": "slider",
      "min": 0,
      "max": 100,
      "step": 5,
      "default": 100,
      "apply": {
        "kind": "config_edit",
        "file": "{config}/config/qt-config.ini",
        "format": "ini",
        "key": "Audio.volume"
      }
    }
  ],
  "presets": [
    {
      "id": "performance",
      "label": "Performance",
      "description": "Below native resolution, sharpened back up with FSR; lower GPU accuracy.",
      "values": {
        "resolution": 2,
        "scaling_filter": 6,
        "anti_aliasing": 0,
        "anisotropic": 0,
        "gpu_accuracy": 0,
        "async_shaders": true,
        "vsync": 0
      }
    },
    {
      "id": "balanced",
      "label": "Balanced",
      "description": "Native resolution with FXAA.",
      "values": {
        "resolution": 3,
        "scaling_filter": 6,
        "anti_aliasing": 1,
        "anisotropic": 0,
        "gpu_accuracy": 1,
        "async_shaders": true,
        "vsync": 0
      }
    },
    {
      "id": "quality",
      "label": "Quality",
      "description": "Twice the native resolution, SMAA and 16× texture filtering.",
      "values": {
        "resolution": 6,
        "scaling_filter": 1,
        "anti_aliasing": 2,
        "anisotropic": 5,
        "gpu_accuracy": 2,
        "async_shaders": false,
        "vsync": 0
      }
    }
  ],
  "auto": {
    "internal_resolution": {
      "native_height": 720,
      "native_height_docked": 1080
    }
  },
  "game_id": [
    {
      "from": "filename",
      "pattern": "\\[(?P<id>[0-9A-Fa-f]{16})\\](?:.*?\\[v(?P<version>[0-9][0-9.]*))?"
    },
    {
      "from": "session_log",
      "file": "{config}/log/eden_log.txt",
      "pattern": "BootGame: Booting game: (?P<id>[0-9A-Fa-f]{16}) \\|(?:[^|\\n]*\\| (?P<version>[0-9][0-9.]*))?"
    },
    {
      "from": "screenshots",
      "pattern": "^(?P<id>[0-9A-Fa-f]{16})_"
    }
  ],
  "mods": {
    "dir": "{config}/load/{title_id}",
    "method": "link"
  },
  "platforms": {
    "windows": {
      "launch": {
        "kind": "exe",
        "path": "eden.exe"
      },
      "source": {
        "kind": "json_feed",
        "repo": null,
        "asset": null,
        "url": "https://git.eden-emu.dev/api/v1/repos/eden-emu/eden/releases/latest",
        "sha256": null,
        "install_subdir": null,
        "executable": "eden.exe",
        "auto_update": false,
        "feed": {
          "version": "tag_name",
          "assets": "assets",
          "match_field": "name",
          "match_value": "Eden-Windows-*-amd64-msvc-standard.zip",
          "url_field": "browser_download_url",
          "sha256_field": null,
          "notes": "body"
        }
      }
    },
    "linux": {
      "launch": {
        "kind": "flatpak",
        "app_id": "dev.eden_emu.eden",
        "extra_args": [
          "--filesystem={user_data}",
          "--filesystem={config}",
          "--filesystem={saves}",
          "--filesystem={states}",
          "--filesystem={screenshots}",
          "--filesystem={system}",
          "--filesystem={storage}"
        ]
      },
      "source": {
        "kind": "flatpak",
        "repo": null,
        "app_id": "dev.eden_emu.eden",
        "asset": null,
        "url": null,
        "sha256": null,
        "install_subdir": null,
        "executable": null,
        "auto_update": false,
        "feed": null
      },
      "working_dir": "{user_data}",
      "user_data": {
        "folders": {
          "saves": "saves",
          "states": "states",
          "screenshots": "screenshots",
          "config": "config",
          "system": "system"
        },
        "cloud": [
          "saves"
        ],
        "links": [
          {
            "link": "{user_data}/user",
            "target": "{config}"
          },
          {
            "link": "{config}/keys",
            "target": "{system}"
          },
          {
            "link": "{config}/nand",
            "target": "{storage}/nand"
          },
          {
            "link": "{config}/sdmc",
            "target": "{storage}/sdmc"
          }
        ],
        "system_required": true,
        "config_edits": [
          {
            "file": "{config}/config/qt-config.ini",
            "format": "ini",
            "set": {
              "Controls.enable_udp_controller": "true",
              "Controls.udp_input_servers": "{dsu_host}:{dsu_port}",
              "Controls.player_0_connected": "true",
              "Controls.player_0_type": "0",
              "Controls.player_0_button_a": "\"engine:cemuhookudp,guid:0000000000000000000000007f000001,port:{dsu_port},pad:0,button:8192\"",
              "Controls.player_0_button_b": "\"engine:cemuhookudp,guid:0000000000000000000000007f000001,port:{dsu_port},pad:0,button:16384\"",
              "Controls.player_0_button_x": "\"engine:cemuhookudp,guid:0000000000000000000000007f000001,port:{dsu_port},pad:0,button:4096\"",
              "Controls.player_0_button_y": "\"engine:cemuhookudp,guid:0000000000000000000000007f000001,port:{dsu_port},pad:0,button:32768\"",
              "Controls.player_0_button_lstick": "\"engine:cemuhookudp,guid:0000000000000000000000007f000001,port:{dsu_port},pad:0,button:2\"",
              "Controls.player_0_button_rstick": "\"engine:cemuhookudp,guid:0000000000000000000000007f000001,port:{dsu_port},pad:0,button:4\"",
              "Controls.player_0_button_l": "\"engine:cemuhookudp,guid:0000000000000000000000007f000001,port:{dsu_port},pad:0,button:1024\"",
              "Controls.player_0_button_r": "\"engine:cemuhookudp,guid:0000000000000000000000007f000001,port:{dsu_port},pad:0,button:2048\"",
              "Controls.player_0_button_zl": "\"engine:cemuhookudp,guid:0000000000000000000000007f000001,port:{dsu_port},pad:0,button:256\"",
              "Controls.player_0_button_zr": "\"engine:cemuhookudp,guid:0000000000000000000000007f000001,port:{dsu_port},pad:0,button:512\"",
              "Controls.player_0_button_plus": "\"engine:cemuhookudp,guid:0000000000000000000000007f000001,port:{dsu_port},pad:0,button:8\"",
              "Controls.player_0_button_minus": "\"engine:cemuhookudp,guid:0000000000000000000000007f000001,port:{dsu_port},pad:0,button:1\"",
              "Controls.player_0_button_dleft": "\"engine:cemuhookudp,guid:0000000000000000000000007f000001,port:{dsu_port},pad:0,button:128\"",
              "Controls.player_0_button_dup": "\"engine:cemuhookudp,guid:0000000000000000000000007f000001,port:{dsu_port},pad:0,button:16\"",
              "Controls.player_0_button_dright": "\"engine:cemuhookudp,guid:0000000000000000000000007f000001,port:{dsu_port},pad:0,button:32\"",
              "Controls.player_0_button_ddown": "\"engine:cemuhookudp,guid:0000000000000000000000007f000001,port:{dsu_port},pad:0,button:64\"",
              "Controls.player_0_button_home": "\"engine:cemuhookudp,guid:0000000000000000000000007f000001,port:{dsu_port},pad:0,button:262144\"",
              "Controls.player_0_button_screenshot": "\"engine:cemuhookudp,guid:0000000000000000000000007f000001,port:{dsu_port},pad:0,button:524288\"",
              "Controls.player_0_lstick": "\"engine:cemuhookudp,guid:0000000000000000000000007f000001,port:{dsu_port},pad:0,axis_x:0,axis_y:1,deadzone:0.150000,range:1.000000\"",
              "Controls.player_0_rstick": "\"engine:cemuhookudp,guid:0000000000000000000000007f000001,port:{dsu_port},pad:0,axis_x:2,axis_y:3,deadzone:0.150000,range:1.000000\"",
              "Controls.player_0_motionleft": "\"engine:cemuhookudp,guid:0000000000000000000000007f000001,port:{dsu_port},pad:0,motion:0\"",
              "Controls.player_0_motionright": "\"engine:cemuhookudp,guid:0000000000000000000000007f000001,port:{dsu_port},pad:0,motion:0\"",
              "Controls.player_1_connected": "false",
              "Controls.player_1_type": "0",
              "Controls.player_1_button_a": "\"engine:cemuhookudp,guid:0000000000000000000000007f000001,port:{dsu_port},pad:1,button:8192\"",
              "Controls.player_1_button_b": "\"engine:cemuhookudp,guid:0000000000000000000000007f000001,port:{dsu_port},pad:1,button:16384\"",
              "Controls.player_1_button_x": "\"engine:cemuhookudp,guid:0000000000000000000000007f000001,port:{dsu_port},pad:1,button:4096\"",
              "Controls.player_1_button_y": "\"engine:cemuhookudp,guid:0000000000000000000000007f000001,port:{dsu_port},pad:1,button:32768\"",
              "Controls.player_1_button_lstick": "\"engine:cemuhookudp,guid:0000000000000000000000007f000001,port:{dsu_port},pad:1,button:2\"",
              "Controls.player_1_button_rstick": "\"engine:cemuhookudp,guid:0000000000000000000000007f000001,port:{dsu_port},pad:1,button:4\"",
              "Controls.player_1_button_l": "\"engine:cemuhookudp,guid:0000000000000000000000007f000001,port:{dsu_port},pad:1,button:1024\"",
              "Controls.player_1_button_r": "\"engine:cemuhookudp,guid:0000000000000000000000007f000001,port:{dsu_port},pad:1,button:2048\"",
              "Controls.player_1_button_zl": "\"engine:cemuhookudp,guid:0000000000000000000000007f000001,port:{dsu_port},pad:1,button:256\"",
              "Controls.player_1_button_zr": "\"engine:cemuhookudp,guid:0000000000000000000000007f000001,port:{dsu_port},pad:1,button:512\"",
              "Controls.player_1_button_plus": "\"engine:cemuhookudp,guid:0000000000000000000000007f000001,port:{dsu_port},pad:1,button:8\"",
              "Controls.player_1_button_minus": "\"engine:cemuhookudp,guid:0000000000000000000000007f000001,port:{dsu_port},pad:1,button:1\"",
              "Controls.player_1_button_dleft": "\"engine:cemuhookudp,guid:0000000000000000000000007f000001,port:{dsu_port},pad:1,button:128\"",
              "Controls.player_1_button_dup": "\"engine:cemuhookudp,guid:0000000000000000000000007f000001,port:{dsu_port},pad:1,button:16\"",
              "Controls.player_1_button_dright": "\"engine:cemuhookudp,guid:0000000000000000000000007f000001,port:{dsu_port},pad:1,button:32\"",
              "Controls.player_1_button_ddown": "\"engine:cemuhookudp,guid:0000000000000000000000007f000001,port:{dsu_port},pad:1,button:64\"",
              "Controls.player_1_button_home": "\"engine:cemuhookudp,guid:0000000000000000000000007f000001,port:{dsu_port},pad:1,button:262144\"",
              "Controls.player_1_button_screenshot": "\"engine:cemuhookudp,guid:0000000000000000000000007f000001,port:{dsu_port},pad:1,button:524288\"",
              "Controls.player_1_lstick": "\"engine:cemuhookudp,guid:0000000000000000000000007f000001,port:{dsu_port},pad:1,axis_x:0,axis_y:1,deadzone:0.150000,range:1.000000\"",
              "Controls.player_1_rstick": "\"engine:cemuhookudp,guid:0000000000000000000000007f000001,port:{dsu_port},pad:1,axis_x:2,axis_y:3,deadzone:0.150000,range:1.000000\"",
              "Controls.player_1_motionleft": "\"engine:cemuhookudp,guid:0000000000000000000000007f000001,port:{dsu_port},pad:1,motion:0\"",
              "Controls.player_1_motionright": "\"engine:cemuhookudp,guid:0000000000000000000000007f000001,port:{dsu_port},pad:1,motion:0\"",
              "Controls.player_2_connected": "false",
              "Controls.player_2_type": "0",
              "Controls.player_2_button_a": "\"engine:cemuhookudp,guid:0000000000000000000000007f000001,port:{dsu_port},pad:2,button:8192\"",
              "Controls.player_2_button_b": "\"engine:cemuhookudp,guid:0000000000000000000000007f000001,port:{dsu_port},pad:2,button:16384\"",
              "Controls.player_2_button_x": "\"engine:cemuhookudp,guid:0000000000000000000000007f000001,port:{dsu_port},pad:2,button:4096\"",
              "Controls.player_2_button_y": "\"engine:cemuhookudp,guid:0000000000000000000000007f000001,port:{dsu_port},pad:2,button:32768\"",
              "Controls.player_2_button_lstick": "\"engine:cemuhookudp,guid:0000000000000000000000007f000001,port:{dsu_port},pad:2,button:2\"",
              "Controls.player_2_button_rstick": "\"engine:cemuhookudp,guid:0000000000000000000000007f000001,port:{dsu_port},pad:2,button:4\"",
              "Controls.player_2_button_l": "\"engine:cemuhookudp,guid:0000000000000000000000007f000001,port:{dsu_port},pad:2,button:1024\"",
              "Controls.player_2_button_r": "\"engine:cemuhookudp,guid:0000000000000000000000007f000001,port:{dsu_port},pad:2,button:2048\"",
              "Controls.player_2_button_zl": "\"engine:cemuhookudp,guid:0000000000000000000000007f000001,port:{dsu_port},pad:2,button:256\"",
              "Controls.player_2_button_zr": "\"engine:cemuhookudp,guid:0000000000000000000000007f000001,port:{dsu_port},pad:2,button:512\"",
              "Controls.player_2_button_plus": "\"engine:cemuhookudp,guid:0000000000000000000000007f000001,port:{dsu_port},pad:2,button:8\"",
              "Controls.player_2_button_minus": "\"engine:cemuhookudp,guid:0000000000000000000000007f000001,port:{dsu_port},pad:2,button:1\"",
              "Controls.player_2_button_dleft": "\"engine:cemuhookudp,guid:0000000000000000000000007f000001,port:{dsu_port},pad:2,button:128\"",
              "Controls.player_2_button_dup": "\"engine:cemuhookudp,guid:0000000000000000000000007f000001,port:{dsu_port},pad:2,button:16\"",
              "Controls.player_2_button_dright": "\"engine:cemuhookudp,guid:0000000000000000000000007f000001,port:{dsu_port},pad:2,button:32\"",
              "Controls.player_2_button_ddown": "\"engine:cemuhookudp,guid:0000000000000000000000007f000001,port:{dsu_port},pad:2,button:64\"",
              "Controls.player_2_button_home": "\"engine:cemuhookudp,guid:0000000000000000000000007f000001,port:{dsu_port},pad:2,button:262144\"",
              "Controls.player_2_button_screenshot": "\"engine:cemuhookudp,guid:0000000000000000000000007f000001,port:{dsu_port},pad:2,button:524288\"",
              "Controls.player_2_lstick": "\"engine:cemuhookudp,guid:0000000000000000000000007f000001,port:{dsu_port},pad:2,axis_x:0,axis_y:1,deadzone:0.150000,range:1.000000\"",
              "Controls.player_2_rstick": "\"engine:cemuhookudp,guid:0000000000000000000000007f000001,port:{dsu_port},pad:2,axis_x:2,axis_y:3,deadzone:0.150000,range:1.000000\"",
              "Controls.player_2_motionleft": "\"engine:cemuhookudp,guid:0000000000000000000000007f000001,port:{dsu_port},pad:2,motion:0\"",
              "Controls.player_2_motionright": "\"engine:cemuhookudp,guid:0000000000000000000000007f000001,port:{dsu_port},pad:2,motion:0\"",
              "Controls.player_3_connected": "false",
              "Controls.player_3_type": "0",
              "Controls.player_3_button_a": "\"engine:cemuhookudp,guid:0000000000000000000000007f000001,port:{dsu_port},pad:3,button:8192\"",
              "Controls.player_3_button_b": "\"engine:cemuhookudp,guid:0000000000000000000000007f000001,port:{dsu_port},pad:3,button:16384\"",
              "Controls.player_3_button_x": "\"engine:cemuhookudp,guid:0000000000000000000000007f000001,port:{dsu_port},pad:3,button:4096\"",
              "Controls.player_3_button_y": "\"engine:cemuhookudp,guid:0000000000000000000000007f000001,port:{dsu_port},pad:3,button:32768\"",
              "Controls.player_3_button_lstick": "\"engine:cemuhookudp,guid:0000000000000000000000007f000001,port:{dsu_port},pad:3,button:2\"",
              "Controls.player_3_button_rstick": "\"engine:cemuhookudp,guid:0000000000000000000000007f000001,port:{dsu_port},pad:3,button:4\"",
              "Controls.player_3_button_l": "\"engine:cemuhookudp,guid:0000000000000000000000007f000001,port:{dsu_port},pad:3,button:1024\"",
              "Controls.player_3_button_r": "\"engine:cemuhookudp,guid:0000000000000000000000007f000001,port:{dsu_port},pad:3,button:2048\"",
              "Controls.player_3_button_zl": "\"engine:cemuhookudp,guid:0000000000000000000000007f000001,port:{dsu_port},pad:3,button:256\"",
              "Controls.player_3_button_zr": "\"engine:cemuhookudp,guid:0000000000000000000000007f000001,port:{dsu_port},pad:3,button:512\"",
              "Controls.player_3_button_plus": "\"engine:cemuhookudp,guid:0000000000000000000000007f000001,port:{dsu_port},pad:3,button:8\"",
              "Controls.player_3_button_minus": "\"engine:cemuhookudp,guid:0000000000000000000000007f000001,port:{dsu_port},pad:3,button:1\"",
              "Controls.player_3_button_dleft": "\"engine:cemuhookudp,guid:0000000000000000000000007f000001,port:{dsu_port},pad:3,button:128\"",
              "Controls.player_3_button_dup": "\"engine:cemuhookudp,guid:0000000000000000000000007f000001,port:{dsu_port},pad:3,button:16\"",
              "Controls.player_3_button_dright": "\"engine:cemuhookudp,guid:0000000000000000000000007f000001,port:{dsu_port},pad:3,button:32\"",
              "Controls.player_3_button_ddown": "\"engine:cemuhookudp,guid:0000000000000000000000007f000001,port:{dsu_port},pad:3,button:64\"",
              "Controls.player_3_button_home": "\"engine:cemuhookudp,guid:0000000000000000000000007f000001,port:{dsu_port},pad:3,button:262144\"",
              "Controls.player_3_button_screenshot": "\"engine:cemuhookudp,guid:0000000000000000000000007f000001,port:{dsu_port},pad:3,button:524288\"",
              "Controls.player_3_lstick": "\"engine:cemuhookudp,guid:0000000000000000000000007f000001,port:{dsu_port},pad:3,axis_x:0,axis_y:1,deadzone:0.150000,range:1.000000\"",
              "Controls.player_3_rstick": "\"engine:cemuhookudp,guid:0000000000000000000000007f000001,port:{dsu_port},pad:3,axis_x:2,axis_y:3,deadzone:0.150000,range:1.000000\"",
              "Controls.player_3_motionleft": "\"engine:cemuhookudp,guid:0000000000000000000000007f000001,port:{dsu_port},pad:3,motion:0\"",
              "Controls.player_3_motionright": "\"engine:cemuhookudp,guid:0000000000000000000000007f000001,port:{dsu_port},pad:3,motion:0\"",
              "Data%20Storage.save_directory": "{saves:/}/",
              "UI.confirmClose": "false",
              "UI.fullscreen": "false",
              "Controls.enable_udp_controller\\default": "false",
              "Controls.udp_input_servers\\default": "false",
              "Controls.player_0_connected\\default": "false",
              "Controls.player_0_type\\default": "false",
              "Controls.player_0_button_a\\default": "false",
              "Controls.player_0_button_b\\default": "false",
              "Controls.player_0_button_x\\default": "false",
              "Controls.player_0_button_y\\default": "false",
              "Controls.player_0_button_lstick\\default": "false",
              "Controls.player_0_button_rstick\\default": "false",
              "Controls.player_0_button_l\\default": "false",
              "Controls.player_0_button_r\\default": "false",
              "Controls.player_0_button_zl\\default": "false",
              "Controls.player_0_button_zr\\default": "false",
              "Controls.player_0_button_plus\\default": "false",
              "Controls.player_0_button_minus\\default": "false",
              "Controls.player_0_button_dleft\\default": "false",
              "Controls.player_0_button_dup\\default": "false",
              "Controls.player_0_button_dright\\default": "false",
              "Controls.player_0_button_ddown\\default": "false",
              "Controls.player_0_button_home\\default": "false",
              "Controls.player_0_button_screenshot\\default": "false",
              "Controls.player_0_lstick\\default": "false",
              "Controls.player_0_rstick\\default": "false",
              "Controls.player_0_motionleft\\default": "false",
              "Controls.player_0_motionright\\default": "false",
              "Controls.player_1_connected\\default": "false",
              "Controls.player_1_type\\default": "false",
              "Controls.player_1_button_a\\default": "false",
              "Controls.player_1_button_b\\default": "false",
              "Controls.player_1_button_x\\default": "false",
              "Controls.player_1_button_y\\default": "false",
              "Controls.player_1_button_lstick\\default": "false",
              "Controls.player_1_button_rstick\\default": "false",
              "Controls.player_1_button_l\\default": "false",
              "Controls.player_1_button_r\\default": "false",
              "Controls.player_1_button_zl\\default": "false",
              "Controls.player_1_button_zr\\default": "false",
              "Controls.player_1_button_plus\\default": "false",
              "Controls.player_1_button_minus\\default": "false",
              "Controls.player_1_button_dleft\\default": "false",
              "Controls.player_1_button_dup\\default": "false",
              "Controls.player_1_button_dright\\default": "false",
              "Controls.player_1_button_ddown\\default": "false",
              "Controls.player_1_button_home\\default": "false",
              "Controls.player_1_button_screenshot\\default": "false",
              "Controls.player_1_lstick\\default": "false",
              "Controls.player_1_rstick\\default": "false",
              "Controls.player_1_motionleft\\default": "false",
              "Controls.player_1_motionright\\default": "false",
              "Controls.player_2_connected\\default": "false",
              "Controls.player_2_type\\default": "false",
              "Controls.player_2_button_a\\default": "false",
              "Controls.player_2_button_b\\default": "false",
              "Controls.player_2_button_x\\default": "false",
              "Controls.player_2_button_y\\default": "false",
              "Controls.player_2_button_lstick\\default": "false",
              "Controls.player_2_button_rstick\\default": "false",
              "Controls.player_2_button_l\\default": "false",
              "Controls.player_2_button_r\\default": "false",
              "Controls.player_2_button_zl\\default": "false",
              "Controls.player_2_button_zr\\default": "false",
              "Controls.player_2_button_plus\\default": "false",
              "Controls.player_2_button_minus\\default": "false",
              "Controls.player_2_button_dleft\\default": "false",
              "Controls.player_2_button_dup\\default": "false",
              "Controls.player_2_button_dright\\default": "false",
              "Controls.player_2_button_ddown\\default": "false",
              "Controls.player_2_button_home\\default": "false",
              "Controls.player_2_button_screenshot\\default": "false",
              "Controls.player_2_lstick\\default": "false",
              "Controls.player_2_rstick\\default": "false",
              "Controls.player_2_motionleft\\default": "false",
              "Controls.player_2_motionright\\default": "false",
              "Controls.player_3_connected\\default": "false",
              "Controls.player_3_type\\default": "false",
              "Controls.player_3_button_a\\default": "false",
              "Controls.player_3_button_b\\default": "false",
              "Controls.player_3_button_x\\default": "false",
              "Controls.player_3_button_y\\default": "false",
              "Controls.player_3_button_lstick\\default": "false",
              "Controls.player_3_button_rstick\\default": "false",
              "Controls.player_3_button_l\\default": "false",
              "Controls.player_3_button_r\\default": "false",
              "Controls.player_3_button_zl\\default": "false",
              "Controls.player_3_button_zr\\default": "false",
              "Controls.player_3_button_plus\\default": "false",
              "Controls.player_3_button_minus\\default": "false",
              "Controls.player_3_button_dleft\\default": "false",
              "Controls.player_3_button_dup\\default": "false",
              "Controls.player_3_button_dright\\default": "false",
              "Controls.player_3_button_ddown\\default": "false",
              "Controls.player_3_button_home\\default": "false",
              "Controls.player_3_button_screenshot\\default": "false",
              "Controls.player_3_lstick\\default": "false",
              "Controls.player_3_rstick\\default": "false",
              "Controls.player_3_motionleft\\default": "false",
              "Controls.player_3_motionright\\default": "false",
              "Data%20Storage.save_directory\\default": "false",
              "UI.confirmClose\\default": "false",
              "UI.fullscreen\\default": "false",
              "Renderer.backend\\default": "false",
              "Renderer.gpu_accuracy\\default": "false",
              "Renderer.dma_accuracy\\default": "false",
              "Renderer.use_asynchronous_gpu_emulation\\default": "false",
              "Renderer.use_asynchronous_shaders\\default": "false",
              "Renderer.use_disk_shader_cache\\default": "false",
              "Renderer.use_vulkan_driver_pipeline_cache\\default": "false",
              "Renderer.enable_compute_pipelines\\default": "false",
              "Renderer.vram_usage_mode\\default": "false",
              "Renderer.accelerate_astc\\default": "false",
              "Renderer.astc_recompression\\default": "false",
              "Renderer.nvdec_emulation\\default": "false",
              "Renderer.use_reactive_flushing\\default": "false",
              "Renderer.barrier_feedback_loops\\default": "false",
              "Renderer.enable_buffer_history\\default": "false",
              "Renderer.sync_memory_operations\\default": "false",
              "Renderer.force_max_clock\\default": "false",
              "Renderer.fast_gpu_time\\default": "false",
              "Renderer.skip_cpu_inner_invalidation\\default": "false",
              "Renderer.async_presentation\\default": "false",
              "Renderer.gpu_unswizzle_enabled\\default": "false",
              "Renderer.gpu_unswizzle_texture_size\\default": "false",
              "Renderer.gpu_unswizzle_stream_size\\default": "false",
              "Renderer.gpu_unswizzle_chunk_size\\default": "false",
              "Renderer.dyna_state\\default": "false",
              "Renderer.vertex_input_dynamic_state\\default": "false",
              "Renderer.resolution_setup\\default": "false",
              "Renderer.scaling_filter\\default": "false",
              "Renderer.fsr_sharpening_slider\\default": "false",
              "Renderer.aspect_ratio\\default": "false",
              "Renderer.fix_bloom_effects\\default": "false",
              "Renderer.rescale_hack\\default": "false",
              "Renderer.anti_aliasing\\default": "false",
              "Renderer.max_anisotropy\\default": "false",
              "Renderer.sample_shading_fraction\\default": "false",
              "Renderer.emulate_bgr565\\default": "false",
              "Renderer.use_vsync\\default": "false",
              "Renderer.frame_pacing_mode\\default": "false",
              "Renderer.use_video_framerate\\default": "false",
              "Core.use_speed_limit\\default": "false",
              "Core.speed_limit\\default": "false",
              "Renderer.fullscreen_mode\\default": "false",
              "System.use_docked_mode\\default": "false",
              "UI.Screenshots\\screenshot_path": "{screenshots:/}/",
              "UI.Screenshots\\screenshot_path\\default": "false",
              "UI.Screenshots\\enable_screenshot_save_as": "false",
              "UI.Screenshots\\enable_screenshot_save_as\\default": "false",
              "UI.confirmStop": "2",
              "UI.confirmStop\\default": "false",
              "LibraryApplet.controller_applet_mode\\default": "false",
              "Audio.volume\\default": "false"
            }
          }
        ],
        "game_files": [
          {
            "part": "saves",
            "glob": "user/save/0000000000000000/*/{title_id}/**"
          },
          {
            "part": "config",
            "glob": "config/custom/{title_id}.ini"
          }
        ],
        "system_files": [
          {
            "names": [
              "prod.keys"
            ],
            "kind": "file",
            "what": "Console keys",
            "required": true,
            "features": "almost every game"
          }
        ]
      }
    }
  },
  "unsupported": {
    "rumble": "Rumble can’t reach your controller: the emulator only rumbles controllers it reads itself, and Kouch passes it your controls another way.",
    "netplay": "Online play is started from the emulator’s own menus.",
    "save_states": "The emulator has no save states."
  }
}
