{
  "_notes": [
    "Compiled by Horsepin.",
    "WPC 50025, SYS 3.48 REV 2.3 (nf_23)",
    "v0.2: changed score lengths from 5 to 6",
    "2025-07-07 Tom Collins added automated audits",
    "2026-05-06 Tom Collins split off from earlier ROM versions"
  ],
  "_fileformat": 0.8,
  "_metadata": {
    "version": 8,
    "copyright": [
      "Copyright (C) 2016 by Dave Horsepin <horse@horsesoft.uk>",
      "Copyright (C) 2025 by Tom Collins <tom@scorbit.io>"
    ],
    "license": "GNU Lesser General Public License v3.0",
    "platform": "williams-wpc-12K",
    "roms": [
      "nf_23",
      "nf_23f",
      "nf_23x"
    ]
  },
  "game_state": {
    "player_count": {
      "label": "Players",
      "start": 5897,
      "encoding": "int"
    },
    "scores": [
      {
        "label": "Player 1",
        "start": 5792,
        "encoding": "bcd",
        "length": 6
      },
      {
        "label": "Player 2",
        "start": 5799,
        "encoding": "bcd",
        "length": 6
      },
      {
        "label": "Player 3",
        "start": 5806,
        "encoding": "bcd",
        "length": 6
      },
      {
        "label": "Player 4",
        "start": 5813,
        "encoding": "bcd",
        "length": 6
      }
    ],
    "credits": {
      "_notes": "1-byte credits followed by 6 bytes encoding partial/bonus credits",
      "label": "Credits",
      "start": 7460,
      "encoding": "int"
    },
    "volume": {
      "label": "Volume",
      "start": 7470,
      "encoding": "int",
      "min": 0,
      "max": 31,
      "special_values": {
        "255": "n/a"
      }
    },
    "replay": {
      "label": "Replay",
      "start": 7494,
      "encoding": "bcd",
      "length": 2,
      "scale": 1000000
    },
    "current_player": {
      "label": "Current Player",
      "start": 946,
      "encoding": "int"
    },
    "current_ball": {
      "label": "Ball",
      "start": 947,
      "encoding": "int"
    },
    "extra_balls": {
      "label": "Extra Balls",
      "start": 948,
      "encoding": "int"
    },
    "eb_on_this_ball": {
      "label": "EBs this Ball",
      "start": 949,
      "encoding": "int"
    },
    "game_over": {
      "label": "Game Over",
      "start": 129,
      "encoding": "bool"
    },
    "ball_count": {
      "label": "Ball Count",
      "start": 7064,
      "encoding": "int"
    },
    "max_credits": {
      "label": "Maximum Credits",
      "start": 7188,
      "encoding": "int"
    },
    "free_play": {
      "label": "Free Play",
      "start": 7190,
      "encoding": "bool"
    }
  },
  "high_scores": [
    {
      "label": "Grand Champion",
      "short_label": "GC",
      "initials": {
        "start": 7443,
        "encoding": "ch",
        "length": 3
      },
      "score": {
        "start": 7446,
        "encoding": "bcd",
        "length": 6
      }
    },
    {
      "label": "First Place",
      "short_label": "1st",
      "initials": {
        "start": 7405,
        "encoding": "ch",
        "length": 3
      },
      "score": {
        "start": 7408,
        "encoding": "bcd",
        "length": 6
      }
    },
    {
      "label": "Second Place",
      "short_label": "2nd",
      "initials": {
        "start": 7414,
        "encoding": "ch",
        "length": 3
      },
      "score": {
        "start": 7417,
        "encoding": "bcd",
        "length": 6
      }
    },
    {
      "label": "Third Place",
      "short_label": "3rd",
      "initials": {
        "start": 7423,
        "encoding": "ch",
        "length": 3
      },
      "score": {
        "start": 7426,
        "encoding": "bcd",
        "length": 6
      }
    },
    {
      "label": "Fourth Place",
      "short_label": "4th",
      "initials": {
        "start": 7432,
        "encoding": "ch",
        "length": 3
      },
      "score": {
        "start": 7435,
        "encoding": "bcd",
        "length": 6
      }
    }
  ],
  "mode_champions": [
    {
      "label": "Buy-In High Score #1",
      "short_label": "Buy-In #1",
      "initials": {
        "start": 8018,
        "encoding": "ch",
        "length": 3
      },
      "score": {
        "start": 8021,
        "encoding": "bcd",
        "length": 6
      }
    },
    {
      "label": "Buy-In High Score #2",
      "short_label": "Buy-In #2",
      "initials": {
        "start": 8027,
        "encoding": "ch",
        "length": 3
      },
      "score": {
        "start": 8030,
        "encoding": "bcd",
        "length": 6
      }
    },
    {
      "label": "Buy-In High Score #3",
      "short_label": "Buy-In #3",
      "initials": {
        "start": 8036,
        "encoding": "ch",
        "length": 3
      },
      "score": {
        "start": 8039,
        "encoding": "bcd",
        "length": 6
      }
    },
    {
      "label": "Buy-In High Score #4",
      "short_label": "Buy-In #4",
      "initials": {
        "start": 8045,
        "encoding": "ch",
        "length": 3
      },
      "score": {
        "start": 8048,
        "encoding": "bcd",
        "length": 6
      }
    }
  ],
  "audits": {
    "B.2 EARNINGS AUDS.": {
      "02": {
        "label": "RECENT LEFT SLOT",
        "start": 6203,
        "encoding": "int",
        "length": 3
      },
      "03": {
        "label": "RECENT CENT. SLOT",
        "start": 6209,
        "encoding": "int",
        "length": 3
      },
      "04": {
        "label": "RECENT RGHT. SLOT",
        "start": 6215,
        "encoding": "int",
        "length": 3
      },
      "05": {
        "label": "RECENT 4TH SLOT",
        "start": 6221,
        "encoding": "int",
        "length": 3
      },
      "06": {
        "label": "RECENT PAID CRED",
        "start": 6227,
        "encoding": "int",
        "length": 3
      },
      "07": {
        "label": "RECENT SERV. CRED",
        "start": 6233,
        "encoding": "int",
        "length": 3
      },
      "09": {
        "label": "TOTAL LEFT SLOT",
        "start": 6167,
        "encoding": "int",
        "length": 3
      },
      "10": {
        "label": "TOTAL CENTR. SLOT",
        "start": 6173,
        "encoding": "int",
        "length": 3
      },
      "11": {
        "label": "TOTAL RIGHT SLOT",
        "start": 6179,
        "encoding": "int",
        "length": 3
      },
      "12": {
        "label": "TOTAL 4TH SLOT",
        "start": 6185,
        "encoding": "int",
        "length": 3
      },
      "13": {
        "label": "TOTAL PAID CRED.",
        "start": 6191,
        "encoding": "int",
        "length": 3
      },
      "14": {
        "label": "TOTAL SERV. CRED.",
        "start": 6197,
        "encoding": "int",
        "length": 3
      }
    },
    "B.3 STANDARD AUDS.": {
      "01": {
        "label": "GAMES STARTED",
        "start": 6275,
        "encoding": "int",
        "length": 3
      },
      "02": {
        "label": "TOTAL PLAYS",
        "start": 6281,
        "encoding": "int",
        "length": 3
      },
      "03": {
        "label": "TOTAL FREE PLAYS",
        "start": 6287,
        "encoding": "int",
        "length": 3
      },
      "05": {
        "label": "REPLAY AWARDS",
        "start": 6293,
        "encoding": "int",
        "length": 3
      },
      "07": {
        "label": "SPECIAL AWARDS",
        "start": 6299,
        "encoding": "int",
        "length": 3
      },
      "09": {
        "label": "MATCH AWARDS",
        "start": 6305,
        "encoding": "int",
        "length": 3
      },
      "11": {
        "label": "H.S.T.D. CREDITS",
        "start": 6311,
        "encoding": "int",
        "length": 3
      },
      "13": {
        "label": "EXTRA BALLS",
        "start": 6323,
        "encoding": "int",
        "length": 3
      },
      "15": {
        "label": "TICKETS AWARDED",
        "start": 6317,
        "encoding": "int",
        "length": 3
      },
      "17": {
        "label": "LEFT DRAINS",
        "start": 6419,
        "encoding": "int",
        "length": 3
      },
      "18": {
        "label": "RIGHT DRAINS",
        "start": 6425,
        "encoding": "int",
        "length": 3
      },
      "21": {
        "label": "PLAY TIME",
        "start": 6329,
        "encoding": "int",
        "length": 3,
        "units": "seconds",
        "scale": 10
      },
      "22": {
        "label": "MINUTES ON",
        "start": 6335,
        "encoding": "int",
        "length": 3,
        "units": "minutes"
      },
      "23": {
        "label": "BALLS PLAYED",
        "start": 6341,
        "encoding": "int",
        "length": 3
      },
      "24": {
        "label": "TILTS",
        "start": 6347,
        "encoding": "int",
        "length": 3
      },
      "25": {
        "label": "REPLAY 1 AWARDS",
        "start": 6353,
        "encoding": "int",
        "length": 3
      },
      "26": {
        "label": "REPLAY 2 AWARDS",
        "start": 6359,
        "encoding": "int",
        "length": 3
      },
      "27": {
        "label": "REPLAY 3 AWARDS",
        "start": 6365,
        "encoding": "int",
        "length": 3
      },
      "28": {
        "label": "REPLAY 4 AWARDS",
        "start": 6371,
        "encoding": "int",
        "length": 3
      },
      "29": {
        "label": "1 PLAYER GAMES",
        "start": 6377,
        "encoding": "int",
        "length": 3
      },
      "30": {
        "label": "2 PLAYER GAMES",
        "start": 6383,
        "encoding": "int",
        "length": 3
      },
      "31": {
        "label": "3 PLAYER GAMES",
        "start": 6389,
        "encoding": "int",
        "length": 3
      },
      "32": {
        "label": "4 PLAYER GAMES",
        "start": 6395,
        "encoding": "int",
        "length": 3
      },
      "33": {
        "label": "H.S.T.D. RESET COUNT",
        "start": 7456,
        "encoding": "int",
        "length": 2
      },
      "34": {
        "label": "BURN-IN TIME",
        "start": 6413,
        "encoding": "int",
        "length": 3,
        "units": "seconds",
        "scale": 10
      },
      "36": {
        "label": "LEFT FLIPPER",
        "start": 6653,
        "encoding": "int",
        "length": 3
      },
      "37": {
        "label": "RIGHT FLIPPER",
        "start": 6659,
        "encoding": "int",
        "length": 3
      }
    },
    "B.4 FEATURE AUDS.": {
      "01": {
        "label": "BUY-IN EX. BALLS",
        "start": 6677,
        "encoding": "int",
        "length": 3
      },
      "03": {
        "label": "1 BUY-IN GAMES",
        "start": 6707,
        "encoding": "int",
        "length": 3
      },
      "04": {
        "label": "2 BUY-IN GAMES",
        "start": 6713,
        "encoding": "int",
        "length": 3
      },
      "05": {
        "label": "3 BUY-IN GAMES",
        "start": 6719,
        "encoding": "int",
        "length": 3
      },
      "06": {
        "label": ">=4 BUY-IN GAMES",
        "start": 6725,
        "encoding": "int",
        "length": 3
      },
      "07": {
        "label": "TOT. M.BALL GAMES",
        "start": 6683,
        "encoding": "int",
        "length": 3
      },
      "08": {
        "label": "BALL SAVES",
        "start": 6689,
        "encoding": "int",
        "length": 3
      },
      "09": {
        "label": "BUYIN BALL SAVES",
        "start": 6731,
        "encoding": "int",
        "length": 3
      },
      "10": {
        "label": "RACEWAYS",
        "start": 6737,
        "encoding": "int",
        "length": 3
      },
      "11": {
        "label": "RACEWAY EB LIT",
        "start": 6695,
        "encoding": "int",
        "length": 3
      },
      "12": {
        "label": "JUMP SHOTS",
        "start": 6743,
        "encoding": "int",
        "length": 3
      },
      "13": {
        "label": "5 CONSEC JUMPS",
        "start": 6701,
        "encoding": "int",
        "length": 3
      },
      "14": {
        "label": "SUMMIT AWARDS",
        "start": 6749,
        "encoding": "int",
        "length": 3
      },
      "15": {
        "label": "JUMP THIS LIT",
        "start": 6755,
        "encoding": "int",
        "length": 3
      },
      "16": {
        "label": "JUMP THIS START",
        "start": 6761,
        "encoding": "int",
        "length": 3
      },
      "17": {
        "label": "KICKBACKS LIT",
        "start": 6767,
        "encoding": "int",
        "length": 3
      },
      "18": {
        "label": "KICKBACKS USED",
        "start": 6773,
        "encoding": "int",
        "length": 3
      },
      "19": {
        "label": "NUM MODES START",
        "start": 6779,
        "encoding": "int",
        "length": 3
      },
      "20": {
        "label": "DIRT STARTED",
        "start": 6785,
        "encoding": "int",
        "length": 3
      },
      "21": {
        "label": "DIRT AWARDS",
        "start": 6791,
        "encoding": "int",
        "length": 3
      },
      "22": {
        "label": "DIRT MAXED",
        "start": 6797,
        "encoding": "int",
        "length": 3
      },
      "23": {
        "label": "ASPHALT START",
        "start": 6803,
        "encoding": "int",
        "length": 3
      },
      "24": {
        "label": "ASPHALT COMPL.",
        "start": 6809,
        "encoding": "int",
        "length": 3
      },
      "25": {
        "label": "WATER STARTED",
        "start": 6815,
        "encoding": "int",
        "length": 3
      },
      "26": {
        "label": "WATER AWARDS",
        "start": 6821,
        "encoding": "int",
        "length": 3
      },
      "27": {
        "label": "WATER EJECTS",
        "start": 6827,
        "encoding": "int",
        "length": 3
      },
      "28": {
        "label": "SNOW STARTED",
        "start": 6833,
        "encoding": "int",
        "length": 3
      },
      "29": {
        "label": "SNOW SHOTS",
        "start": 6839,
        "encoding": "int",
        "length": 3
      },
      "30": {
        "label": "SNOW COMPLETED",
        "start": 6845,
        "encoding": "int",
        "length": 3
      },
      "31": {
        "label": "AIR STARTED",
        "start": 6851,
        "encoding": "int",
        "length": 3
      },
      "32": {
        "label": "AIR SHOTS",
        "start": 6857,
        "encoding": "int",
        "length": 3
      },
      "33": {
        "label": "AIR COMPLETED",
        "start": 6863,
        "encoding": "int",
        "length": 3
      },
      "34": {
        "label": "NO LIMITS START",
        "start": 6869,
        "encoding": "int",
        "length": 3
      },
      "35": {
        "label": "FEAR FEST START",
        "start": 6875,
        "encoding": "int",
        "length": 3
      },
      "36": {
        "label": "FEAR FEST COMPL.",
        "start": 6881,
        "encoding": "int",
        "length": 3
      },
      "37": {
        "label": "MEET MAKER START",
        "start": 6887,
        "encoding": "int",
        "length": 3
      },
      "38": {
        "label": "S.CROSS BUILDUPS",
        "start": 6893,
        "encoding": "int",
        "length": 3
      },
      "39": {
        "label": "PAYBACK START",
        "start": 6899,
        "encoding": "int",
        "length": 3
      },
      "40": {
        "label": "LOCKS LIT",
        "start": 6905,
        "encoding": "int",
        "length": 3
      },
      "41": {
        "label": "LOCKED BALLS",
        "start": 6911,
        "encoding": "int",
        "length": 3
      },
      "42": {
        "label": "CENTER JACKPOT",
        "start": 6917,
        "encoding": "int",
        "length": 3
      },
      "43": {
        "label": "DROPS JACKPOT",
        "start": 6923,
        "encoding": "int",
        "length": 3
      },
      "44": {
        "label": "SUPER JACKPOT",
        "start": 6929,
        "encoding": "int",
        "length": 3
      },
      "45": {
        "label": "RANDOM AWARDS",
        "start": 6935,
        "encoding": "int",
        "length": 3
      },
      "46": {
        "label": "VIDEO MODE START",
        "start": 6941,
        "encoding": "int",
        "length": 3
      },
      "47": {
        "label": "VIDEO MODE CMPL.",
        "start": 6947,
        "encoding": "int",
        "length": 3
      },
      "48": {
        "label": "NASCAR LAPS",
        "start": 6953,
        "encoding": "int",
        "length": 3
      },
      "49": {
        "label": "RETURNS LIT",
        "start": 6959,
        "encoding": "int",
        "length": 3
      },
      "50": {
        "label": "L HURRY UP START",
        "start": 6965,
        "encoding": "int",
        "length": 3
      },
      "51": {
        "label": "R HURRY UP START",
        "start": 6971,
        "encoding": "int",
        "length": 3
      },
      "52": {
        "label": "OVER THE EDGE",
        "start": 6977,
        "encoding": "int",
        "length": 3
      }
    },
    "B.5 HISTOGRAMS": {
      "01": {
        "label": "0-39 M. SCORE",
        "start": 6431,
        "encoding": "int",
        "length": 3
      },
      "02": {
        "label": "40-59 M. SCORE",
        "start": 6437,
        "encoding": "int",
        "length": 3
      },
      "03": {
        "label": "60-79 M. SCORE",
        "start": 6443,
        "encoding": "int",
        "length": 3
      },
      "04": {
        "label": "80-99 M. SCORE",
        "start": 6449,
        "encoding": "int",
        "length": 3
      },
      "05": {
        "label": "100-149 M. SCORE",
        "start": 6455,
        "encoding": "int",
        "length": 3
      },
      "06": {
        "label": "150-249 M. SCORE",
        "start": 6461,
        "encoding": "int",
        "length": 3
      },
      "07": {
        "label": "250-399 M. SCORE",
        "start": 6467,
        "encoding": "int",
        "length": 3
      },
      "08": {
        "label": "400-599 M. SCORE",
        "start": 6473,
        "encoding": "int",
        "length": 3
      },
      "09": {
        "label": "600-999 M. SCORE",
        "start": 6479,
        "encoding": "int",
        "length": 3
      },
      "10": {
        "label": "1-1.49 B. SCORE",
        "start": 6485,
        "encoding": "int",
        "length": 3
      },
      "11": {
        "label": "1.5-1.9 B. SCORE",
        "start": 6491,
        "encoding": "int",
        "length": 3
      },
      "12": {
        "label": "2-2.9 B. SCORE",
        "start": 6497,
        "encoding": "int",
        "length": 3
      },
      "13": {
        "label": "OVER 3 BILLION",
        "start": 6503,
        "encoding": "int",
        "length": 3
      },
      "14": {
        "label": "GAME TIME 0.0-1.0M",
        "start": 6509,
        "encoding": "int",
        "length": 3
      },
      "15": {
        "label": "GAME TIME 1.0-1.5M",
        "start": 6515,
        "encoding": "int",
        "length": 3
      },
      "16": {
        "label": "GAME TIME 1.5-2.0M",
        "start": 6521,
        "encoding": "int",
        "length": 3
      },
      "17": {
        "label": "GAME TIME 2.0-2.5M",
        "start": 6527,
        "encoding": "int",
        "length": 3
      },
      "18": {
        "label": "GAME TIME 2.5-3.0M",
        "start": 6533,
        "encoding": "int",
        "length": 3
      },
      "19": {
        "label": "GAME TIME 3.0-3.5M",
        "start": 6539,
        "encoding": "int",
        "length": 3
      },
      "20": {
        "label": "GAME TIME 3.5-4.0M",
        "start": 6545,
        "encoding": "int",
        "length": 3
      },
      "21": {
        "label": "GAME TIME 4-5 M.",
        "start": 6551,
        "encoding": "int",
        "length": 3
      },
      "22": {
        "label": "GAME TIME 5-6 M.",
        "start": 6557,
        "encoding": "int",
        "length": 3
      },
      "23": {
        "label": "GAME TIME 6-8 M.",
        "start": 6563,
        "encoding": "int",
        "length": 3
      },
      "24": {
        "label": "GAME TIME 8-10 M",
        "start": 6569,
        "encoding": "int",
        "length": 3
      },
      "25": {
        "label": "GAME TIME 10-15M",
        "start": 6575,
        "encoding": "int",
        "length": 3
      },
      "26": {
        "label": "GAME TIME > 15M",
        "start": 6581,
        "encoding": "int",
        "length": 3
      }
    },
    "B.6 TIME-STAMPS": {
      "02": {
        "label": "TOTALS CLEARED",
        "start": 7305,
        "encoding": "wpc_rtc",
        "length": 7
      },
      "03": {
        "label": "CLOCK LAST SET",
        "start": 7312,
        "encoding": "wpc_rtc",
        "length": 7
      },
      "04": {
        "label": "AUDITS CLEARED",
        "start": 7319,
        "encoding": "wpc_rtc",
        "length": 7
      },
      "05": {
        "label": "COINS CLEARED",
        "start": 7326,
        "encoding": "wpc_rtc",
        "length": 7
      },
      "06": {
        "label": "FACTORY SETTING",
        "start": 7333,
        "encoding": "wpc_rtc",
        "length": 7
      },
      "07": {
        "label": "LAST GAME START",
        "start": 7340,
        "encoding": "wpc_rtc",
        "length": 7
      },
      "08": {
        "label": "LAST REPLAY",
        "start": 7347,
        "encoding": "wpc_rtc",
        "length": 7
      },
      "09": {
        "label": "LAST HSTD RESET",
        "start": 7354,
        "encoding": "wpc_rtc",
        "length": 7
      },
      "10": {
        "label": "CHAMPION RESET",
        "start": 7361,
        "encoding": "wpc_rtc",
        "length": 7
      },
      "11": {
        "label": "LAST PRINTOUT",
        "start": 7368,
        "encoding": "wpc_rtc",
        "length": 7
      },
      "12": {
        "label": "LAST SERV. CRED",
        "start": 7375,
        "encoding": "wpc_rtc",
        "length": 7
      }
    }
  },
  "checksum8": [
    {
      "start": 6161,
      "end": 7024,
      "groupings": 6,
      "label": "Audits"
    }
  ],
  "checksum16": [
    {
      "start": 6012,
      "end": 6143,
      "label": "Custom Message (2x32)"
    },
    {
      "start": 7061,
      "end": 7302,
      "label": "Adjustments"
    },
    {
      "start": 7305,
      "end": 7404,
      "label": "Timestamps"
    },
    {
      "start": 7405,
      "end": 7442,
      "label": "High Scores"
    },
    {
      "start": 7443,
      "end": 7453,
      "label": "Grand Champion"
    },
    {
      "start": 7454,
      "end": 7459,
      "label": "HSTD Reset"
    },
    {
      "start": 7460,
      "end": 7469,
      "label": "Credits"
    },
    {
      "start": 7470,
      "end": 7472,
      "label": "Volume"
    },
    {
      "start": 7473,
      "end": 7483
    },
    {
      "start": 7484,
      "end": 7697
    },
    {
      "start": 7698,
      "end": 7892,
      "label": "Custom Message (3x32)"
    },
    {
      "start": 7893,
      "end": 8017,
      "label": "Custom Message (2x32)"
    },
    {
      "start": 8018,
      "end": 8055,
      "label": "Buy-In High Scores"
    }
  ]
}
