{
  "_notes": [
    "Mary Shelley's Frankenstein (Data East, 1995)  IPDB: 947, OPDB: GRB7E-MP3rR",
    "Compiled by Tom Collins <tom@scorbit.io>",
    "2026-02-05: Map based on Guns N' Roses"
  ],
  "_fileformat": 0.8,
  "_metadata": {
    "version": 2,
    "copyright": [
      "Copyright (C) 2026 by Tom Collins <tom@scorbit.io>"
    ],
    "license": "GNU Lesser General Public License v3.0",
    "platform": "dataeast",
    "roms": [
      "frankst",
      "frankstg",
      "franksti"
    ]
  },
  "game_state": {
    "scores": [
      {
        "label": "Player 1",
        "encoding": "bcd",
        "offsets": [
          "0x16F1",
          "0x16D9",
          "0x16DA",
          "0x16DB",
          "0x16DC"
        ]
      },
      {
        "label": "Player 2",
        "encoding": "bcd",
        "offsets": [
          "0x16F2",
          "0x16DD",
          "0x16DE",
          "0x16DF",
          "0x16E0"
        ]
      },
      {
        "label": "Player 3",
        "encoding": "bcd",
        "offsets": [
          "0x16F3",
          "0x16E1",
          "0x16E2",
          "0x16E3",
          "0x16E4"
        ]
      },
      {
        "label": "Player 4",
        "encoding": "bcd",
        "offsets": [
          "0x16F4",
          "0x16E5",
          "0x16E6",
          "0x16E7",
          "0x16E8"
        ]
      }
    ],
    "credits": {
      "label": "Credits",
      "start": "0x16D1",
      "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": "0x1C0",
      "encoding": "int"
    },
    "ball_count": {
      "label": "Ball Count",
      "start": "0x1E0D",
      "encoding": "bcd"
    },
    "current_player": {
      "label": "Player",
      "start": "0x1BD",
      "encoding": "int"
    },
    "current_ball": {
      "label": "Ball",
      "start": "0x1BE",
      "encoding": "int"
    },
    "game_over": {
      "_notes": "game is over if current player/ball is 0",
      "label": "Game Over",
      "start": "0x1BD",
      "encoding": "bool",
      "invert": true
    }
  },
  "high_scores": [
    {
      "label": "High Score #1",
      "short_label": "#1",
      "initials": {
        "start": "0x16BA",
        "encoding": "ch",
        "length": 3
      },
      "score": {
        "encoding": "bcd",
        "offsets": [
          "0x1694",
          "0x167C",
          "0x167D",
          "0x167E",
          "0x167F"
        ]
      }
    },
    {
      "label": "High Score #2",
      "short_label": "#2",
      "initials": {
        "start": "0x16BD",
        "encoding": "ch",
        "length": 3
      },
      "score": {
        "encoding": "bcd",
        "offsets": [
          "0x1695",
          "0x1680",
          "0x1681",
          "0x1682",
          "0x1683"
        ]
      }
    },
    {
      "label": "High Score #3",
      "short_label": "#3",
      "initials": {
        "start": "0x16C0",
        "encoding": "ch",
        "length": 3
      },
      "score": {
        "encoding": "bcd",
        "offsets": [
          "0x1696",
          "0x1684",
          "0x1685",
          "0x1686",
          "0x1687"
        ]
      }
    },
    {
      "label": "High Score #4",
      "short_label": "#4",
      "initials": {
        "start": "0x16C3",
        "encoding": "ch",
        "length": 3
      },
      "score": {
        "encoding": "bcd",
        "offsets": [
          "0x1697",
          "0x1688",
          "0x1689",
          "0x168A",
          "0x168B"
        ]
      }
    },
    {
      "label": "High Score #5",
      "short_label": "#5",
      "initials": {
        "start": "0x16C6",
        "encoding": "ch",
        "length": 3
      },
      "score": {
        "encoding": "bcd",
        "offsets": [
          "0x1698",
          "0x168C",
          "0x168D",
          "0x168E",
          "0x168F"
        ]
      }
    },
    {
      "label": "High Score #6",
      "short_label": "#6",
      "initials": {
        "start": "0x16C9",
        "encoding": "ch",
        "length": 3
      },
      "score": {
        "encoding": "bcd",
        "offsets": [
          "0x1699",
          "0x1690",
          "0x1691",
          "0x1692",
          "0x1693"
        ]
      }
    }
  ],
  "mode_champions": [
    {
      "label": "The Journal Of",
      "initials": {
        "start": "0x16CC",
        "encoding": "ch",
        "length": 3
      }
    }
  ]
}
