{
  "_notes": [
    "Hook [Data East, 1992]",
    "2026-02-13 added by Tom Collins <tom@scorbit.io>"
  ],
  "_fileformat": 0.8,
  "_metadata": {
    "version": 7,
    "copyright": [
      "Copyright (C) 2026 by Tom Collins <tom@scorbit.io>"
    ],
    "license": "GNU Lesser General Public License v3.0",
    "platform": "dataeast",
    "roms": [
      "hook_400",
      "hook_401",
      "hook_401p",
      "hook_404",
      "hook_408",
      "hook_500",
      "hook_501",
      "hook_e406",
      "hook_f401"
    ]
  },
  "game_state": {
    "scores": [
      {
        "label": "Player 1",
        "encoding": "bcd",
        "offsets": [
          "0x0020",
          "0x0010",
          "0x0011",
          "0x0012",
          "0x0013"
        ]
      },
      {
        "label": "Player 2",
        "encoding": "bcd",
        "offsets": [
          "0x0021",
          "0x0014",
          "0x0015",
          "0x0016",
          "0x0017"
        ]
      },
      {
        "label": "Player 3",
        "encoding": "bcd",
        "offsets": [
          "0x0022",
          "0x0018",
          "0x0019",
          "0x001A",
          "0x001B"
        ]
      },
      {
        "label": "Player 4",
        "encoding": "bcd",
        "offsets": [
          "0x0023",
          "0x001C",
          "0x001D",
          "0x001E",
          "0x001F"
        ]
      }
    ],
    "credits": {
      "label": "Credits",
      "start": "0x1D22",
      "encoding": "bcd"
    },
    "free_play": {
      "label": "Free Play",
      "start": "0x1E04",
      "encoding": "bool"
    },
    "max_credits": {
      "label": "Max Credits",
      "start": "0x1E0F",
      "encoding": "bcd"
    },
    "player_count": {
      "label": "Player Count",
      "start": "0x0097",
      "encoding": "int"
    },
    "ball_count": {
      "label": "Ball Count",
      "start": "0x1E0D",
      "encoding": "bcd"
    },
    "current_player": {
      "label": "Player",
      "start": "0x0096",
      "encoding": "int"
    },
    "current_ball": {
      "label": "Ball",
      "start": "0x005E",
      "encoding": "int"
    },
    "game_over": {
      "_notes": "game is over if current player/ball is 0",
      "label": "Game Over",
      "start": "0x0096",
      "encoding": "bool",
      "invert": true
    }
  },
  "high_scores": [
    {
      "label": "First",
      "short_label": "#1",
      "initials": {
        "start": "0x1D0E",
        "encoding": "ch",
        "length": 3
      },
      "score": {
        "encoding": "bcd",
        "offsets": [
          "0x1CEC",
          "0x1CD4",
          "0x1CD5",
          "0x1CD6",
          "0x1CD7"
        ]
      }
    },
    {
      "label": "Second",
      "short_label": "#2",
      "initials": {
        "start": "0x1D11",
        "encoding": "ch",
        "length": 3
      },
      "score": {
        "encoding": "bcd",
        "offsets": [
          "0x1CED",
          "0x1CD8",
          "0x1CD9",
          "0x1CDA",
          "0x1CDB"
        ]
      }
    },
    {
      "label": "Third",
      "short_label": "#3",
      "initials": {
        "start": "0x1D14",
        "encoding": "ch",
        "length": 3
      },
      "score": {
        "encoding": "bcd",
        "offsets": [
          "0x1CEE",
          "0x1CDC",
          "0x1CDD",
          "0x1CDE",
          "0x1CDF"
        ]
      }
    },
    {
      "label": "Fourth",
      "short_label": "#4",
      "initials": {
        "start": "0x1D17",
        "encoding": "ch",
        "length": 3
      },
      "score": {
        "encoding": "bcd",
        "offsets": [
          "0x1CEF",
          "0x1CE0",
          "0x1CE1",
          "0x1CE2",
          "0x1CE3"
        ]
      }
    },
    {
      "label": "Fifth",
      "short_label": "#5",
      "initials": {
        "start": "0x1D1A",
        "encoding": "ch",
        "length": 3
      },
      "score": {
        "encoding": "bcd",
        "offsets": [
          "0x1CF0",
          "0x1CE4",
          "0x1CE5",
          "0x1CE6",
          "0x1CE7"
        ]
      }
    },
    {
      "label": "Sixth",
      "short_label": "#6",
      "initials": {
        "start": "0x1D1D",
        "encoding": "ch",
        "length": 3
      },
      "score": {
        "encoding": "bcd",
        "offsets": [
          "0x1CF1",
          "0x1CE8",
          "0x1CE9",
          "0x1CEA",
          "0x1CEB"
        ]
      }
    }
  ]
}
