{
  "machine": {
    "name": "grudge",
    "sourcefile": "bally/balsente.cpp",
    "isbios": "no",
    "isdevice": "no",
    "ismechanical": "no",
    "runnable": "yes",
    "description": "Grudge Match (v00.90, prototype)",
    "year": "1987",
    "manufacturer": "Bally Midway",
    "rom": [
      {
        "name": "ab0.8a.romab0",
        "size": "32768",
        "crc": "eabeec2b",
        "sha1": "92098512e3dbcda36f42e10fada01323fab4b08a",
        "region": "maincpu",
        "offset": "0",
        "status": "good",
        "optional": "no"
      },
      {
        "name": "ab4.9a.romab4",
        "size": "32768",
        "crc": "2dddb371",
        "sha1": "fbe53a78fb17e5dc17bf6a475a170b850e63cdb6",
        "region": "maincpu",
        "offset": "8000",
        "status": "good",
        "optional": "no"
      },
      {
        "name": "g.m._cd-0_9-21-87.13a.romcd0",
        "size": "32768",
        "crc": "ad168726",
        "sha1": "c4d084e3752d6c4365d2460ca3146b148dcccc1d",
        "region": "maincpu",
        "offset": "10000",
        "status": "good",
        "optional": "no"
      },
      {
        "name": "cd4.15a.romcd4",
        "size": "32768",
        "crc": "1de8dd2e",
        "sha1": "6b538dcf35105bca1ae1bb5387a08b4d1d4f410c",
        "region": "maincpu",
        "offset": "18000",
        "status": "good",
        "optional": "no"
      },
      {
        "name": "cd12.18a.romcd12",
        "size": "32768",
        "crc": "1de8dd2e",
        "sha1": "6b538dcf35105bca1ae1bb5387a08b4d1d4f410c",
        "region": "maincpu",
        "offset": "18000",
        "status": "good",
        "optional": "no"
      },
      {
        "name": "g.m._gr0_9-21-87.8a.gr0",
        "size": "32768",
        "crc": "b9681f53",
        "sha1": "bb0c516408f1769e018f0ec8707786d4d1e9ef7e",
        "region": "gfx1",
        "offset": "0",
        "status": "good",
        "optional": "no"
      },
      {
        "name": "u01508001100b.u20f",
        "size": "260",
        "crc": "2d2e2102",
        "sha1": "de094f9955d6085f1714f1aa7c71e1f047e96c5f",
        "region": "motherbrd_pals",
        "offset": "0",
        "status": "good",
        "optional": "no"
      }
    ],
    "device_ref": [
      {
        "tag": ":maincpu",
        "name": "mc6809e"
      },
      {
        "tag": ":acia",
        "name": "acia6850"
      },
      {
        "tag": ":nov0",
        "name": "x2212"
      },
      {
        "tag": ":nov1",
        "name": "x2212"
      },
      {
        "tag": ":watchdog",
        "name": "watchdog"
      },
      {
        "tag": ":scan_timer",
        "name": "timer"
      },
      {
        "tag": ":outlatch",
        "name": "ls259"
      },
      {
        "tag": ":screen",
        "name": "screen"
      },
      {
        "tag": ":palette",
        "name": "palette"
      },
      {
        "tag": ":audio6vb",
        "name": "sente6vb"
      },
      {
        "tag": ":audio6vb:audiocpu",
        "name": "z80"
      },
      {
        "tag": ":audio6vb:uart",
        "name": "acia6850"
      },
      {
        "tag": ":audio6vb:uartclock",
        "name": "clock"
      },
      {
        "tag": ":audio6vb:8253_0_timer",
        "name": "timer"
      },
      {
        "tag": ":audio6vb:pit",
        "name": "pit8253"
      },
      {
        "tag": ":audio6vb:pit:counter0",
        "name": "pit_counter"
      },
      {
        "tag": ":audio6vb:pit:counter1",
        "name": "pit_counter"
      },
      {
        "tag": ":audio6vb:pit:counter2",
        "name": "pit_counter"
      },
      {
        "tag": ":audio6vb:mono",
        "name": "speaker"
      },
      {
        "tag": ":audio6vb:noise",
        "name": "mm5837_stream"
      },
      {
        "tag": ":audio6vb:ac_noise",
        "name": "filter_rc"
      },
      {
        "tag": ":audio6vb:cem1",
        "name": "cem3394"
      },
      {
        "tag": ":audio6vb:cem1:vco",
        "name": "va_vco"
      },
      {
        "tag": ":audio6vb:cem1:filt_freq",
        "name": "va_const"
      },
      {
        "tag": ":audio6vb:cem1:filt_fm",
        "name": "va_vca"
      },
      {
        "tag": ":audio6vb:cem1:vcf",
        "name": "va_lpf4"
      },
      {
        "tag": ":audio6vb:cem1:ac_couple",
        "name": "filter_rc"
      },
      {
        "tag": ":audio6vb:cem1:vca",
        "name": "va_vca"
      },
      {
        "tag": ":audio6vb:cem2",
        "name": "cem3394"
      },
      {
        "tag": ":audio6vb:cem2:vco",
        "name": "va_vco"
      },
      {
        "tag": ":audio6vb:cem2:filt_freq",
        "name": "va_const"
      },
      {
        "tag": ":audio6vb:cem2:filt_fm",
        "name": "va_vca"
      },
      {
        "tag": ":audio6vb:cem2:vcf",
        "name": "va_lpf4"
      },
      {
        "tag": ":audio6vb:cem2:ac_couple",
        "name": "filter_rc"
      },
      {
        "tag": ":audio6vb:cem2:vca",
        "name": "va_vca"
      },
      {
        "tag": ":audio6vb:cem3",
        "name": "cem3394"
      },
      {
        "tag": ":audio6vb:cem3:vco",
        "name": "va_vco"
      },
      {
        "tag": ":audio6vb:cem3:filt_freq",
        "name": "va_const"
      },
      {
        "tag": ":audio6vb:cem3:filt_fm",
        "name": "va_vca"
      },
      {
        "tag": ":audio6vb:cem3:vcf",
        "name": "va_lpf4"
      },
      {
        "tag": ":audio6vb:cem3:ac_couple",
        "name": "filter_rc"
      },
      {
        "tag": ":audio6vb:cem3:vca",
        "name": "va_vca"
      },
      {
        "tag": ":audio6vb:cem4",
        "name": "cem3394"
      },
      {
        "tag": ":audio6vb:cem4:vco",
        "name": "va_vco"
      },
      {
        "tag": ":audio6vb:cem4:filt_freq",
        "name": "va_const"
      },
      {
        "tag": ":audio6vb:cem4:filt_fm",
        "name": "va_vca"
      },
      {
        "tag": ":audio6vb:cem4:vcf",
        "name": "va_lpf4"
      },
      {
        "tag": ":audio6vb:cem4:ac_couple",
        "name": "filter_rc"
      },
      {
        "tag": ":audio6vb:cem4:vca",
        "name": "va_vca"
      },
      {
        "tag": ":audio6vb:cem5",
        "name": "cem3394"
      },
      {
        "tag": ":audio6vb:cem5:vco",
        "name": "va_vco"
      },
      {
        "tag": ":audio6vb:cem5:filt_freq",
        "name": "va_const"
      },
      {
        "tag": ":audio6vb:cem5:filt_fm",
        "name": "va_vca"
      },
      {
        "tag": ":audio6vb:cem5:vcf",
        "name": "va_lpf4"
      },
      {
        "tag": ":audio6vb:cem5:ac_couple",
        "name": "filter_rc"
      },
      {
        "tag": ":audio6vb:cem5:vca",
        "name": "va_vca"
      },
      {
        "tag": ":audio6vb:cem6",
        "name": "cem3394"
      },
      {
        "tag": ":audio6vb:cem6:vco",
        "name": "va_vco"
      },
      {
        "tag": ":audio6vb:cem6:filt_freq",
        "name": "va_const"
      },
      {
        "tag": ":audio6vb:cem6:filt_fm",
        "name": "va_vca"
      },
      {
        "tag": ":audio6vb:cem6:vcf",
        "name": "va_lpf4"
      },
      {
        "tag": ":audio6vb:cem6:ac_couple",
        "name": "filter_rc"
      },
      {
        "tag": ":audio6vb:cem6:vca",
        "name": "va_vca"
      }
    ],
    "chip": [
      {
        "type": "cpu",
        "tag": "maincpu",
        "name": "Motorola MC6809E",
        "clock": "1250000"
      },
      {
        "type": "cpu",
        "tag": "audio6vb:audiocpu",
        "name": "Zilog Z80",
        "clock": "4000000"
      },
      {
        "type": "audio",
        "tag": "audio6vb:mono",
        "name": "Speaker"
      },
      {
        "type": "audio",
        "tag": "audio6vb:noise",
        "name": "MM5837 Digital Noise Stream"
      },
      {
        "type": "audio",
        "tag": "audio6vb:ac_noise",
        "name": "RC Filter"
      },
      {
        "type": "audio",
        "tag": "audio6vb:cem1",
        "name": "CEM3394 Synthesizer Voice"
      },
      {
        "type": "audio",
        "tag": "audio6vb:cem1:vco",
        "name": "Virtual Analog Oscillator"
      },
      {
        "type": "audio",
        "tag": "audio6vb:cem1:filt_freq",
        "name": "Constant value stream"
      },
      {
        "type": "audio",
        "tag": "audio6vb:cem1:filt_fm",
        "name": "Voltage-controlled amplifier"
      },
      {
        "type": "audio",
        "tag": "audio6vb:cem1:vcf",
        "name": "4th order LPF"
      },
      {
        "type": "audio",
        "tag": "audio6vb:cem1:ac_couple",
        "name": "RC Filter"
      },
      {
        "type": "audio",
        "tag": "audio6vb:cem1:vca",
        "name": "Voltage-controlled amplifier"
      },
      {
        "type": "audio",
        "tag": "audio6vb:cem2",
        "name": "CEM3394 Synthesizer Voice"
      },
      {
        "type": "audio",
        "tag": "audio6vb:cem2:vco",
        "name": "Virtual Analog Oscillator"
      },
      {
        "type": "audio",
        "tag": "audio6vb:cem2:filt_freq",
        "name": "Constant value stream"
      },
      {
        "type": "audio",
        "tag": "audio6vb:cem2:filt_fm",
        "name": "Voltage-controlled amplifier"
      },
      {
        "type": "audio",
        "tag": "audio6vb:cem2:vcf",
        "name": "4th order LPF"
      },
      {
        "type": "audio",
        "tag": "audio6vb:cem2:ac_couple",
        "name": "RC Filter"
      },
      {
        "type": "audio",
        "tag": "audio6vb:cem2:vca",
        "name": "Voltage-controlled amplifier"
      },
      {
        "type": "audio",
        "tag": "audio6vb:cem3",
        "name": "CEM3394 Synthesizer Voice"
      },
      {
        "type": "audio",
        "tag": "audio6vb:cem3:vco",
        "name": "Virtual Analog Oscillator"
      },
      {
        "type": "audio",
        "tag": "audio6vb:cem3:filt_freq",
        "name": "Constant value stream"
      },
      {
        "type": "audio",
        "tag": "audio6vb:cem3:filt_fm",
        "name": "Voltage-controlled amplifier"
      },
      {
        "type": "audio",
        "tag": "audio6vb:cem3:vcf",
        "name": "4th order LPF"
      },
      {
        "type": "audio",
        "tag": "audio6vb:cem3:ac_couple",
        "name": "RC Filter"
      },
      {
        "type": "audio",
        "tag": "audio6vb:cem3:vca",
        "name": "Voltage-controlled amplifier"
      },
      {
        "type": "audio",
        "tag": "audio6vb:cem4",
        "name": "CEM3394 Synthesizer Voice"
      },
      {
        "type": "audio",
        "tag": "audio6vb:cem4:vco",
        "name": "Virtual Analog Oscillator"
      },
      {
        "type": "audio",
        "tag": "audio6vb:cem4:filt_freq",
        "name": "Constant value stream"
      },
      {
        "type": "audio",
        "tag": "audio6vb:cem4:filt_fm",
        "name": "Voltage-controlled amplifier"
      },
      {
        "type": "audio",
        "tag": "audio6vb:cem4:vcf",
        "name": "4th order LPF"
      },
      {
        "type": "audio",
        "tag": "audio6vb:cem4:ac_couple",
        "name": "RC Filter"
      },
      {
        "type": "audio",
        "tag": "audio6vb:cem4:vca",
        "name": "Voltage-controlled amplifier"
      },
      {
        "type": "audio",
        "tag": "audio6vb:cem5",
        "name": "CEM3394 Synthesizer Voice"
      },
      {
        "type": "audio",
        "tag": "audio6vb:cem5:vco",
        "name": "Virtual Analog Oscillator"
      },
      {
        "type": "audio",
        "tag": "audio6vb:cem5:filt_freq",
        "name": "Constant value stream"
      },
      {
        "type": "audio",
        "tag": "audio6vb:cem5:filt_fm",
        "name": "Voltage-controlled amplifier"
      },
      {
        "type": "audio",
        "tag": "audio6vb:cem5:vcf",
        "name": "4th order LPF"
      },
      {
        "type": "audio",
        "tag": "audio6vb:cem5:ac_couple",
        "name": "RC Filter"
      },
      {
        "type": "audio",
        "tag": "audio6vb:cem5:vca",
        "name": "Voltage-controlled amplifier"
      },
      {
        "type": "audio",
        "tag": "audio6vb:cem6",
        "name": "CEM3394 Synthesizer Voice"
      },
      {
        "type": "audio",
        "tag": "audio6vb:cem6:vco",
        "name": "Virtual Analog Oscillator"
      },
      {
        "type": "audio",
        "tag": "audio6vb:cem6:filt_freq",
        "name": "Constant value stream"
      },
      {
        "type": "audio",
        "tag": "audio6vb:cem6:filt_fm",
        "name": "Voltage-controlled amplifier"
      },
      {
        "type": "audio",
        "tag": "audio6vb:cem6:vcf",
        "name": "4th order LPF"
      },
      {
        "type": "audio",
        "tag": "audio6vb:cem6:ac_couple",
        "name": "RC Filter"
      },
      {
        "type": "audio",
        "tag": "audio6vb:cem6:vca",
        "name": "Voltage-controlled amplifier"
      }
    ],
    "display": {
      "tag": "screen",
      "type": "raster",
      "rotate": "0",
      "width": "256",
      "height": "240",
      "refresh": "59.185606",
      "pixclock": "5000000",
      "htotal": "320",
      "hbend": "0",
      "hbstart": "256",
      "vtotal": "264",
      "vbend": "16",
      "vbstart": "256",
      "flipx": "no"
    },
    "sound": {
      "channels": "1"
    },
    "input": {
      "players": "3",
      "coins": "3",
      "service": "no",
      "tilt": "no",
      "control": [
        {
          "type": "dial",
          "player": "1",
          "buttons": "1",
          "minimum": "0",
          "maximum": "255",
          "sensitivity": "50",
          "keydelta": "20",
          "reverse": "no"
        },
        {
          "type": "dial",
          "player": "2",
          "buttons": "1",
          "minimum": "0",
          "maximum": "255",
          "sensitivity": "50",
          "keydelta": "20",
          "reverse": "no"
        },
        {
          "type": "dial",
          "player": "3",
          "buttons": "1",
          "minimum": "0",
          "maximum": "255",
          "sensitivity": "50",
          "keydelta": "20",
          "reverse": "no"
        }
      ]
    },
    "dipswitch": [
      {
        "name": "Service Mode",
        "tag": "IN0",
        "mask": "128",
        "dipvalue": [
          {
            "name": "Off",
            "value": "128",
            "default": "yes"
          },
          {
            "name": "On",
            "value": "0",
            "default": "no"
          }
        ]
      },
      {
        "name": "Unused",
        "tag": "SWG",
        "mask": "1",
        "diplocation": {
          "name": "G1",
          "number": "1",
          "inverted": "no"
        },
        "dipvalue": [
          {
            "name": "Off",
            "value": "1",
            "default": "yes"
          },
          {
            "name": "On",
            "value": "0",
            "default": "no"
          }
        ]
      },
      {
        "name": "Unused",
        "tag": "SWG",
        "mask": "2",
        "diplocation": {
          "name": "G1",
          "number": "2",
          "inverted": "no"
        },
        "dipvalue": [
          {
            "name": "Off",
            "value": "2",
            "default": "yes"
          },
          {
            "name": "On",
            "value": "0",
            "default": "no"
          }
        ]
      },
      {
        "name": "Unused",
        "tag": "SWG",
        "mask": "4",
        "diplocation": {
          "name": "G1",
          "number": "3",
          "inverted": "no"
        },
        "dipvalue": [
          {
            "name": "Off",
            "value": "4",
            "default": "yes"
          },
          {
            "name": "On",
            "value": "0",
            "default": "no"
          }
        ]
      },
      {
        "name": "Unused",
        "tag": "SWG",
        "mask": "8",
        "diplocation": {
          "name": "G1",
          "number": "4",
          "inverted": "no"
        },
        "dipvalue": [
          {
            "name": "Off",
            "value": "8",
            "default": "yes"
          },
          {
            "name": "On",
            "value": "0",
            "default": "no"
          }
        ]
      },
      {
        "name": "Unused",
        "tag": "SWG",
        "mask": "16",
        "diplocation": {
          "name": "G1",
          "number": "5",
          "inverted": "no"
        },
        "dipvalue": [
          {
            "name": "Off",
            "value": "16",
            "default": "yes"
          },
          {
            "name": "On",
            "value": "0",
            "default": "no"
          }
        ]
      },
      {
        "name": "Unused",
        "tag": "SWG",
        "mask": "32",
        "diplocation": {
          "name": "G1",
          "number": "6",
          "inverted": "no"
        },
        "dipvalue": [
          {
            "name": "Off",
            "value": "32",
            "default": "yes"
          },
          {
            "name": "On",
            "value": "0",
            "default": "no"
          }
        ]
      },
      {
        "name": "Unused",
        "tag": "SWG",
        "mask": "64",
        "diplocation": {
          "name": "G1",
          "number": "7",
          "inverted": "no"
        },
        "dipvalue": [
          {
            "name": "Off",
            "value": "64",
            "default": "yes"
          },
          {
            "name": "On",
            "value": "0",
            "default": "no"
          }
        ]
      },
      {
        "name": "Players",
        "tag": "SWG",
        "mask": "128",
        "diplocation": {
          "name": "G1",
          "number": "8",
          "inverted": "no"
        },
        "dipvalue": [
          {
            "name": "2",
            "value": "128",
            "default": "no"
          },
          {
            "name": "3",
            "value": "0",
            "default": "yes"
          }
        ]
      },
      {
        "name": "Unknown",
        "tag": "SWH",
        "mask": "3",
        "diplocation": [
          {
            "name": "H1",
            "number": "1",
            "inverted": "no"
          },
          {
            "name": "H1",
            "number": "2",
            "inverted": "no"
          }
        ],
        "dipvalue": [
          {
            "name": "0",
            "value": "0",
            "default": "no"
          },
          {
            "name": "1",
            "value": "1",
            "default": "no"
          },
          {
            "name": "2",
            "value": "2",
            "default": "no"
          },
          {
            "name": "3",
            "value": "3",
            "default": "yes"
          }
        ]
      },
      {
        "name": "Unused",
        "tag": "SWH",
        "mask": "4",
        "diplocation": {
          "name": "H1",
          "number": "3",
          "inverted": "no"
        },
        "dipvalue": [
          {
            "name": "Off",
            "value": "4",
            "default": "yes"
          },
          {
            "name": "On",
            "value": "0",
            "default": "no"
          }
        ]
      },
      {
        "name": "Unused",
        "tag": "SWH",
        "mask": "8",
        "diplocation": {
          "name": "H1",
          "number": "4",
          "inverted": "no"
        },
        "dipvalue": [
          {
            "name": "Off",
            "value": "8",
            "default": "yes"
          },
          {
            "name": "On",
            "value": "0",
            "default": "no"
          }
        ]
      },
      {
        "name": "Unused",
        "tag": "SWH",
        "mask": "16",
        "diplocation": {
          "name": "H1",
          "number": "5",
          "inverted": "no"
        },
        "dipvalue": [
          {
            "name": "Off",
            "value": "16",
            "default": "yes"
          },
          {
            "name": "On",
            "value": "0",
            "default": "no"
          }
        ]
      },
      {
        "name": "Unused",
        "tag": "SWH",
        "mask": "32",
        "diplocation": {
          "name": "H1",
          "number": "6",
          "inverted": "no"
        },
        "dipvalue": [
          {
            "name": "Off",
            "value": "32",
            "default": "yes"
          },
          {
            "name": "On",
            "value": "0",
            "default": "no"
          }
        ]
      },
      {
        "name": "Unused",
        "tag": "SWH",
        "mask": "64",
        "diplocation": {
          "name": "H1",
          "number": "7",
          "inverted": "no"
        },
        "dipvalue": [
          {
            "name": "Off",
            "value": "64",
            "default": "yes"
          },
          {
            "name": "On",
            "value": "0",
            "default": "no"
          }
        ]
      },
      {
        "name": "Free Play",
        "tag": "SWH",
        "mask": "128",
        "diplocation": {
          "name": "H1",
          "number": "8",
          "inverted": "no"
        },
        "dipvalue": [
          {
            "name": "Off",
            "value": "0",
            "default": "yes"
          },
          {
            "name": "On (buggy)",
            "value": "128",
            "default": "no"
          }
        ]
      }
    ],
    "port": [
      {
        "tag": ":AN0",
        "analog": {
          "mask": "255"
        }
      },
      {
        "tag": ":AN1",
        "analog": {
          "mask": "255"
        }
      },
      {
        "tag": ":AN2",
        "analog": {
          "mask": "255"
        }
      },
      {
        "tag": ":AN3"
      },
      {
        "tag": ":IN0"
      },
      {
        "tag": ":IN1"
      },
      {
        "tag": ":SWG"
      },
      {
        "tag": ":SWH"
      }
    ],
    "driver": {
      "status": "good",
      "emulation": "good",
      "savestate": "supported",
      "requiresartwork": "no",
      "unofficial": "no",
      "nosoundhardware": "no",
      "incomplete": "no"
    }
  }
}