{
  "_notes": [
    "Compiled by Tom Collins, based on simpprty."
  ],
  "_fileformat": 0.8,
  "_metadata": {
    "version": 1,
    "copyright": [
      "Copyright (C) 2025 by Tom Collins <tom@scorbit.io>"
    ],
    "license": "GNU Lesser General Public License v3.0",
    "platform": "whitestar",
    "roms": [
      "lotr_fr",
      "lotr_fr8",
      "lotr_fr9",
      "lotr_gr",
      "lotr_gr8",
      "lotr_gr9",
      "lotr_it",
      "lotr_it8",
      "lotr_it9",
      "lotr_le",
      "lotr_sp",
      "lotr_sp8",
      "lotr_sp9",
      "lotr",
      "lotr8",
      "lotr9"
    ]
  },
  "game_state": {
    "scores": [
      {
        "label": "Player 1",
        "start": "0x165B",
        "length": 5,
        "encoding": "bcd"
      },
      {
        "label": "Player 2",
        "start": "0x1660",
        "length": 5,
        "encoding": "bcd"
      },
      {
        "label": "Player 3",
        "start": "0x1665",
        "length": 5,
        "encoding": "bcd"
      },
      {
        "label": "Player 4",
        "start": "0x166A",
        "length": 5,
        "encoding": "bcd"
      }
    ],
    "credits": {
      "label": "Credits",
      "start": "0x1654",
      "encoding": "bcd"
    },
    "max_credits": {
      "label": "Max Credits",
      "start": "0x1E0F",
      "encoding": "bcd"
    },
    "free_play": {
      "label": "Free Play",
      "start": "0x1E05",
      "encoding": "bool"
    },
    "tilted": {
      "label": "Tilted",
      "start": "0x368",
      "encoding": "bool"
    },
    "current_player": {
      "label": "Current Player",
      "start": "0x36A",
      "encoding": "bcd"
    },
    "current_ball": {
      "label": "Current Ball",
      "start": "0x36B",
      "encoding": "bcd"
    },
    "player_count": {
      "label": "Player Count",
      "start": "0x36C",
      "encoding": "bcd"
    },
    "ball_count": {
      "label": "Ball Count",
      "start": "0x1E0D",
      "encoding": "bcd"
    },
    "game_over": {
      "_notes": "current_player == 0",
      "label": "Game Over",
      "start": "0x36A",
      "encoding": "bool",
      "invert": true
    }
  },
  "high_scores": [
    {
      "label": "Grand Champ",
      "short_label": "GC",
      "initials": {
        "start": "0x161D",
        "encoding": "ch",
        "length": 10
      },
      "score": {
        "start": "0x15DC",
        "encoding": "bcd",
        "length": 5
      }
    },
    {
      "label": "#1",
      "initials": {
        "start": "0x1627",
        "encoding": "ch",
        "length": 10
      },
      "score": {
        "start": "0x15E1",
        "encoding": "bcd",
        "length": 5
      }
    },
    {
      "label": "#2",
      "initials": {
        "start": "0x1631",
        "encoding": "ch",
        "length": 10
      },
      "score": {
        "start": "0x15E6",
        "encoding": "bcd",
        "length": 5
      }
    },
    {
      "label": "#3",
      "initials": {
        "start": "0x163B",
        "encoding": "ch",
        "length": 10
      },
      "score": {
        "start": "0x15EB",
        "encoding": "bcd",
        "length": 5
      }
    },
    {
      "label": "#4",
      "initials": {
        "start": "0x1645",
        "encoding": "ch",
        "length": 10
      },
      "score": {
        "start": "0x15F0",
        "encoding": "bcd",
        "length": 5
      }
    }
  ],
  "mode_champions": [
    {
      "label": "Destroy Ring Champion",
      "initials": {
        "start": "0x1651",
        "length": 3,
        "encoding": "ch"
      },
      "score": {
        "_notes": "16-bit integer in units of 0.01s",
        "start": "0x164F",
        "length": 2,
        "encoding": "int",
        "scale": 0.01,
        "units": "seconds"
      }
    }
  ]
}
