{
  "_notes": [
    "Bally MPU AS-2518-17 (U6: 720-20_6 and 720-21_6)",
    "6-digit score display.  Based on system-rom-30 map.",
    "Game                          Mfg    Date   IPDB   OPDB",
    "----------------------------  -----  ----   ----   ----",
    "Black Jack                    Bally  1978    309    245",
    "Bobby Orr Power Play          Bally  1978   1858    400",
    "Eight Ball                    Bally  1977    760    430",
    "Evel Knievel                  Bally  1977   4499   1422",
    "Mata Hari                     Bally  1978   4501    236",
    "Night Rider                   Bally  1977   4497    874",
    "Strikes and Spares            Bally  1978   2406   1818"
  ],
  "_fileformat": 0.8,
  "_metadata": {
    "version": 2,
    "copyright": [
      "Copyright (C) 2024 by Francis De Brabandere <francisdb@gmail.com>",
      "Copyright (C) 2025 by Tom Collins <tom@scorbit.io>"
    ],
    "license": "GNU Lesser General Public License v3.0",
    "platform": "bally-17-4K",
    "roms": [
      "eightbll",
      "evelknie",
      "nightr20",
      "nightrdr",
      "blackjck",
      "pwerplay",
      "matahari",
      "stk_sprs"
    ]
  },
  "game_state": {
    "credits": {
      "label": "Credits",
      "start": "0x02D5",
      "length": 2,
      "encoding": "bcd"
    },
    "scores": [
      {
        "label": "Player 1",
        "start": "0x021E",
        "encoding": "bcd",
        "length": 6
      },
      {
        "label": "Player 2",
        "start": "0x0224",
        "encoding": "bcd",
        "length": 6
      },
      {
        "label": "Player 3",
        "start": "0x022A",
        "encoding": "bcd",
        "length": 6
      },
      {
        "label": "Player 4",
        "start": "0x0230",
        "encoding": "bcd",
        "length": 6
      }
    ],
    "final_scores": [
      {
        "label": "Final P1",
        "start": "0x023C",
        "encoding": "bcd",
        "length": 6
      },
      {
        "label": "Final P2",
        "start": "0x0242",
        "encoding": "bcd",
        "length": 6
      },
      {
        "label": "Final P3",
        "start": "0x0248",
        "encoding": "bcd",
        "length": 6
      },
      {
        "label": "Final P4",
        "start": "0x024E",
        "encoding": "bcd",
        "length": 6
      }
    ],
    "current_ball": {
      "label": "Current Ball",
      "start": "0x13",
      "encoding": "bcd"
    },
    "player_count": {
      "label": "Players",
      "start": "0x14",
      "encoding": "bcd"
    },
    "current_player": {
      "label": "Current Player",
      "start": "0x15",
      "encoding": "bcd"
    },
    "ball_count": {
      "label": "Ball Count",
      "encoding": "dipsw",
      "offsets": [
        16
      ],
      "values": [
        3,
        5
      ]
    },
    "max_credits": {
      "label": "Max Credits",
      "encoding": "dipsw",
      "offsets": [
        19,
        18,
        17
      ],
      "values": [
        5,
        10,
        15,
        20,
        25,
        30,
        35,
        40
      ]
    },
    "game_over": {
      "_notes": "reading 'game over' lamp",
      "label": "Game Over",
      "start": "0x20C",
      "encoding": "bool",
      "mask": "0x4",
      "invert": true
    },
    "tilted": {
      "_notes": "reading 'tilt' lamp",
      "label": "Tilted",
      "start": "0x20C",
      "encoding": "bool",
      "mask": "0x8",
      "invert": true
    }
  },
  "high_scores": [
    {
      "label": "High Score",
      "short_label": "HS",
      "score": {
        "start": "0x02CF",
        "encoding": "bcd",
        "length": 6
      }
    }
  ],
  "audits": {
    "Bookkeeping functions": {
      "05": {
        "label": "Current Credits",
        "start": "0x02D5",
        "length": 6,
        "encoding": "bcd",
        "min": 0,
        "max": 40
      },
      "06": {
        "label": "Total Plays (Paid and Free Games)",
        "start": "0x02DB",
        "length": 6,
        "encoding": "bcd",
        "min": 0,
        "max": 999999
      },
      "07": {
        "label": "Total Replays (Free Games)",
        "start": "0x02E1",
        "length": 6,
        "encoding": "bcd",
        "min": 0,
        "max": 999999
      },
      "08": {
        "label": "HSTD Achieved",
        "start": "0x02E7",
        "length": 6,
        "encoding": "bcd",
        "min": 0,
        "max": 999999
      },
      "09": {
        "label": "Coin Chute #1",
        "start": "0x02ED",
        "length": 6,
        "encoding": "bcd",
        "min": 0,
        "max": 999999
      },
      "10": {
        "label": "Coin Chute #2",
        "start": "0x02F3",
        "length": 6,
        "encoding": "bcd",
        "min": 0,
        "max": 999999
      },
      "11": {
        "label": "Coin Chute #3",
        "start": "0x02F9",
        "length": 6,
        "encoding": "bcd",
        "min": 0,
        "max": 999999
      }
    }
  },
  "adjustments": {
    "High score functions": {
      "01": {
        "label": "Replay Level 1",
        "start": "0x02BD",
        "encoding": "bcd",
        "length": 6,
        "min": 0,
        "max": 998000,
        "default": 0,
        "special_values": {
          "0": "OFF"
        },
        "multiple_of": 2000
      },
      "02": {
        "label": "Replay Level 2",
        "start": "0x02C3",
        "encoding": "bcd",
        "length": 6,
        "min": 0,
        "max": 998000,
        "default": 0,
        "special_values": {
          "0": "OFF"
        },
        "multiple_of": 2000
      },
      "03": {
        "label": "Replay Level 3",
        "start": "0x02C9",
        "encoding": "bcd",
        "length": 6,
        "min": 0,
        "max": 998000,
        "default": 0,
        "special_values": {
          "0": "OFF"
        },
        "multiple_of": 2000
      },
      "04": {
        "label": "High score to date",
        "start": "0x02CF",
        "encoding": "bcd",
        "length": 6,
        "min": 0,
        "max": 999000
      }
    }
  }
}
