{
  "machine": {
    "name": "ffightjs01",
    "sourcefile": "hbmame/drivers/cps1mis.cpp",
    "cloneof": "ffight",
    "romof": "ffight",
    "isbios": "no",
    "isdevice": "no",
    "ismechanical": "no",
    "runnable": "yes",
    "description": "Final Fight (Japan, CD cutscenes, 2026-08-25)",
    "year": "2026",
    "manufacturer": "strygo",
    "rom": [
      {
        "name": "c07.p1",
        "size": "131072",
        "crc": "5da20636",
        "sha1": "52b55f24ed103a9ebd4d2ec31bf08a3a6c75b239",
        "region": "maincpu",
        "offset": "0",
        "status": "good",
        "optional": "no"
      },
      {
        "name": "c07.p2",
        "size": "131072",
        "crc": "978b1808",
        "sha1": "c4f011245de03c613a9103cc114a9b3300e6b750",
        "region": "maincpu",
        "offset": "1",
        "status": "good",
        "optional": "no"
      },
      {
        "name": "c07.p3",
        "size": "131072",
        "crc": "118eb060",
        "sha1": "12188886993438298a83d2f4c0377672c809994b",
        "region": "maincpu",
        "offset": "40000",
        "status": "good",
        "optional": "no"
      },
      {
        "name": "c07j.p4",
        "size": "131072",
        "crc": "d660195d",
        "sha1": "452616779332436bc11b33ef5fd4fd47a066ba1c",
        "region": "maincpu",
        "offset": "40001",
        "status": "good",
        "optional": "no"
      },
      {
        "name": "c07.p5",
        "size": "524288",
        "crc": "468258c6",
        "sha1": "6e76620075169f2fd260f17820ae2e20c9e177b0",
        "region": "maincpu",
        "offset": "80000",
        "status": "good",
        "optional": "no"
      },
      {
        "name": "c07js01.p7",
        "size": "1048576",
        "crc": "32709844",
        "sha1": "37cf05d19a224d36459e5bbf64dc45f3acd35289",
        "region": "maincpu",
        "offset": "100000",
        "status": "good",
        "optional": "no"
      },
      {
        "name": "c07.c01",
        "size": "524288",
        "crc": "976bcfbb",
        "sha1": "7df44df92e1dedf50c44bf683fb3c53354a6d570",
        "region": "gfx",
        "offset": "0",
        "status": "good",
        "optional": "no"
      },
      {
        "name": "c07.c03",
        "size": "524288",
        "crc": "cfeb60c6",
        "sha1": "72403cadb5bd46e68530bf56099f6ba67ba6bbe0",
        "region": "gfx",
        "offset": "2",
        "status": "good",
        "optional": "no"
      },
      {
        "name": "c07.c05",
        "size": "524288",
        "crc": "0023d0f7",
        "sha1": "ae3976cea00369d50ce398251281641c9f05e7ba",
        "region": "gfx",
        "offset": "4",
        "status": "good",
        "optional": "no"
      },
      {
        "name": "c07.c07",
        "size": "524288",
        "crc": "3a9a31ef",
        "sha1": "6ffefe81bd4293271c66512063712fe37cc52691",
        "region": "gfx",
        "offset": "6",
        "status": "good",
        "optional": "no"
      },
      {
        "name": "c07js01.c09",
        "size": "524288",
        "crc": "923bfeba",
        "sha1": "82b1b1aac4c126106a5542056d117229a3f81a86",
        "region": "gfx",
        "offset": "200000",
        "status": "good",
        "optional": "no"
      },
      {
        "name": "c07js01.c11",
        "size": "524288",
        "crc": "2699067e",
        "sha1": "260e08c1083d5bcae8aab1773d739493c8e21661",
        "region": "gfx",
        "offset": "200002",
        "status": "good",
        "optional": "no"
      },
      {
        "name": "c07js01.c13",
        "size": "524288",
        "crc": "ed5833cb",
        "sha1": "7588b7e7309ad7d7600c90b40f1d98a22892ec16",
        "region": "gfx",
        "offset": "200004",
        "status": "good",
        "optional": "no"
      },
      {
        "name": "c07js01.c15",
        "size": "524288",
        "crc": "bed965c8",
        "sha1": "5a874dc45e6fbd4dd7f0986563f15c01d2e0280d",
        "region": "gfx",
        "offset": "200006",
        "status": "good",
        "optional": "no"
      },
      {
        "name": "c07js01.c17",
        "size": "524288",
        "crc": "a6b76831",
        "sha1": "ffd756069e56a27a864e89ff1ce16901ff270f10",
        "region": "gfx",
        "offset": "400000",
        "status": "good",
        "optional": "no"
      },
      {
        "name": "c07js01.c19",
        "size": "524288",
        "crc": "7d9f24a0",
        "sha1": "d582a1d6edab622f46c6ee78e083a8070af977c0",
        "region": "gfx",
        "offset": "400002",
        "status": "good",
        "optional": "no"
      },
      {
        "name": "c07js01.c21",
        "size": "524288",
        "crc": "0bdfc27f",
        "sha1": "f2359c223646d1eefd93e2cc41beda94cd488c83",
        "region": "gfx",
        "offset": "400004",
        "status": "good",
        "optional": "no"
      },
      {
        "name": "c07js01.c23",
        "size": "524288",
        "crc": "176f214f",
        "sha1": "7083b0e1fbdb355bdd5e8c7c0f1aa9f32823b2b8",
        "region": "gfx",
        "offset": "400006",
        "status": "good",
        "optional": "no"
      },
      {
        "name": "c07.m1",
        "size": "65536",
        "crc": "283b10ed",
        "sha1": "3d7979967145bd28c01490dd7ef9d9716dede2dd",
        "region": "audiocpu",
        "offset": "0",
        "status": "good",
        "optional": "no"
      },
      {
        "name": "c07.v1",
        "merge": "c07.v1",
        "size": "131072",
        "crc": "375c66e7",
        "sha1": "36189e23209ce4ae5d9cbabd1574540d0591e7b3",
        "region": "oki",
        "offset": "0",
        "status": "good",
        "optional": "no"
      },
      {
        "name": "c07.v2",
        "merge": "c07.v2",
        "size": "131072",
        "crc": "1ef137f9",
        "sha1": "974b5e72aa28b87ebfa7438efbdfeda769dedf5e",
        "region": "oki",
        "offset": "20000",
        "status": "good",
        "optional": "no"
      },
      {
        "name": "ffightjs01.key",
        "size": "128",
        "crc": "44c06640",
        "sha1": "1c947e46dc87338f54266af7e6281eac1ed1c121",
        "region": "control",
        "offset": "0",
        "status": "good",
        "optional": "no"
      }
    ],
    "device_ref": [
      {
        "tag": ":maincpu",
        "name": "m68000"
      },
      {
        "tag": ":audiocpu",
        "name": "z80"
      },
      {
        "tag": ":screen",
        "name": "screen"
      },
      {
        "tag": ":gfxdecode",
        "name": "gfxdecode"
      },
      {
        "tag": ":palette",
        "name": "palette"
      },
      {
        "tag": ":mono",
        "name": "speaker"
      },
      {
        "tag": ":soundlatch",
        "name": "generic_latch_8"
      },
      {
        "tag": ":soundlatch2",
        "name": "generic_latch_8"
      },
      {
        "tag": ":2151",
        "name": "ym2151"
      },
      {
        "tag": ":oki",
        "name": "okim6295"
      }
    ],
    "chip": [
      {
        "type": "cpu",
        "tag": "maincpu",
        "name": "Motorola MC68000",
        "clock": "10000000"
      },
      {
        "type": "cpu",
        "tag": "audiocpu",
        "name": "Zilog Z80",
        "clock": "3579545"
      },
      {
        "type": "audio",
        "tag": "mono",
        "name": "Speaker"
      },
      {
        "type": "audio",
        "tag": "2151",
        "name": "YM2151 OPM",
        "clock": "3579545"
      },
      {
        "type": "audio",
        "tag": "oki",
        "name": "OKI MSM6295 ADPCM",
        "clock": "1000000"
      }
    ],
    "display": {
      "tag": "screen",
      "type": "raster",
      "rotate": "0",
      "width": "384",
      "height": "224",
      "refresh": "59.637405",
      "pixclock": "8000000",
      "htotal": "512",
      "hbend": "64",
      "hbstart": "448",
      "vtotal": "262",
      "vbend": "16",
      "vbstart": "240",
      "flipx": "no"
    },
    "sound": {
      "channels": "1"
    },
    "input": {
      "players": "2",
      "coins": "2",
      "service": "no",
      "tilt": "no",
      "control": [
        {
          "type": "joy",
          "player": "1",
          "buttons": "3",
          "ways": "8",
          "reverse": "no"
        },
        {
          "type": "joy",
          "player": "2",
          "buttons": "3",
          "ways": "8",
          "reverse": "no"
        }
      ]
    },
    "dipswitch": [
      {
        "name": "Coin A",
        "tag": "DSWA",
        "mask": "7",
        "diplocation": [
          {
            "name": "SW(A)",
            "number": "1",
            "inverted": "no"
          },
          {
            "name": "SW(A)",
            "number": "2",
            "inverted": "no"
          },
          {
            "name": "SW(A)",
            "number": "3",
            "inverted": "no"
          }
        ],
        "dipvalue": [
          {
            "name": "4 Coins/1 Credit",
            "value": "0",
            "default": "no"
          },
          {
            "name": "3 Coins/1 Credit",
            "value": "1",
            "default": "no"
          },
          {
            "name": "2 Coins/1 Credit",
            "value": "2",
            "default": "no"
          },
          {
            "name": "1 Coin/1 Credit",
            "value": "7",
            "default": "yes"
          },
          {
            "name": "1 Coin/2 Credits",
            "value": "6",
            "default": "no"
          },
          {
            "name": "1 Coin/3 Credits",
            "value": "5",
            "default": "no"
          },
          {
            "name": "1 Coin/4 Credits",
            "value": "4",
            "default": "no"
          },
          {
            "name": "1 Coin/6 Credits",
            "value": "3",
            "default": "no"
          }
        ]
      },
      {
        "name": "Coin B",
        "tag": "DSWA",
        "mask": "56",
        "diplocation": [
          {
            "name": "SW(A)",
            "number": "4",
            "inverted": "no"
          },
          {
            "name": "SW(A)",
            "number": "5",
            "inverted": "no"
          },
          {
            "name": "SW(A)",
            "number": "6",
            "inverted": "no"
          }
        ],
        "dipvalue": [
          {
            "name": "4 Coins/1 Credit",
            "value": "0",
            "default": "no"
          },
          {
            "name": "3 Coins/1 Credit",
            "value": "8",
            "default": "no"
          },
          {
            "name": "2 Coins/1 Credit",
            "value": "16",
            "default": "no"
          },
          {
            "name": "1 Coin/1 Credit",
            "value": "56",
            "default": "yes"
          },
          {
            "name": "1 Coin/2 Credits",
            "value": "48",
            "default": "no"
          },
          {
            "name": "1 Coin/3 Credits",
            "value": "40",
            "default": "no"
          },
          {
            "name": "1 Coin/4 Credits",
            "value": "32",
            "default": "no"
          },
          {
            "name": "1 Coin/6 Credits",
            "value": "24",
            "default": "no"
          }
        ]
      },
      {
        "name": "2 Coins to Start, 1 to Continue",
        "tag": "DSWA",
        "mask": "64",
        "diplocation": {
          "name": "SW(A)",
          "number": "7",
          "inverted": "no"
        },
        "dipvalue": [
          {
            "name": "Off",
            "value": "64",
            "default": "yes"
          },
          {
            "name": "On",
            "value": "0",
            "default": "no"
          }
        ]
      },
      {
        "name": "Unused",
        "tag": "DSWA",
        "mask": "128",
        "diplocation": {
          "name": "SW(A)",
          "number": "8",
          "inverted": "no"
        },
        "dipvalue": [
          {
            "name": "Off",
            "value": "128",
            "default": "yes"
          },
          {
            "name": "On",
            "value": "0",
            "default": "no"
          }
        ]
      },
      {
        "name": "Difficulty Level 1",
        "tag": "DSWB",
        "mask": "7",
        "diplocation": [
          {
            "name": "SW(B)",
            "number": "1",
            "inverted": "no"
          },
          {
            "name": "SW(B)",
            "number": "2",
            "inverted": "no"
          },
          {
            "name": "SW(B)",
            "number": "3",
            "inverted": "no"
          }
        ],
        "dipvalue": [
          {
            "name": "Easiest",
            "value": "7",
            "default": "no"
          },
          {
            "name": "Easier",
            "value": "6",
            "default": "no"
          },
          {
            "name": "Easy",
            "value": "5",
            "default": "no"
          },
          {
            "name": "Normal",
            "value": "4",
            "default": "yes"
          },
          {
            "name": "Medium",
            "value": "3",
            "default": "no"
          },
          {
            "name": "Hard",
            "value": "2",
            "default": "no"
          },
          {
            "name": "Harder",
            "value": "1",
            "default": "no"
          },
          {
            "name": "Hardest",
            "value": "0",
            "default": "no"
          }
        ]
      },
      {
        "name": "Difficulty Level 2",
        "tag": "DSWB",
        "mask": "24",
        "diplocation": [
          {
            "name": "SW(B)",
            "number": "4",
            "inverted": "no"
          },
          {
            "name": "SW(B)",
            "number": "5",
            "inverted": "no"
          }
        ],
        "dipvalue": [
          {
            "name": "Easy",
            "value": "24",
            "default": "no"
          },
          {
            "name": "Normal",
            "value": "16",
            "default": "yes"
          },
          {
            "name": "Hard",
            "value": "8",
            "default": "no"
          },
          {
            "name": "Hardest",
            "value": "0",
            "default": "no"
          }
        ]
      },
      {
        "name": "Bonus Life",
        "tag": "DSWB",
        "mask": "96",
        "diplocation": [
          {
            "name": "SW(B)",
            "number": "6",
            "inverted": "no"
          },
          {
            "name": "SW(B)",
            "number": "7",
            "inverted": "no"
          }
        ],
        "dipvalue": [
          {
            "name": "100k",
            "value": "96",
            "default": "yes"
          },
          {
            "name": "200k",
            "value": "64",
            "default": "no"
          },
          {
            "name": "100k and every 200k",
            "value": "32",
            "default": "no"
          },
          {
            "name": "None",
            "value": "0",
            "default": "no"
          }
        ]
      },
      {
        "name": "Unused",
        "tag": "DSWB",
        "mask": "128",
        "diplocation": {
          "name": "SW(B)",
          "number": "8",
          "inverted": "no"
        },
        "dipvalue": [
          {
            "name": "Off",
            "value": "128",
            "default": "yes"
          },
          {
            "name": "On",
            "value": "0",
            "default": "no"
          }
        ]
      },
      {
        "name": "Lives",
        "tag": "DSWC",
        "mask": "3",
        "diplocation": [
          {
            "name": "SW(C)",
            "number": "1",
            "inverted": "no"
          },
          {
            "name": "SW(C)",
            "number": "2",
            "inverted": "no"
          }
        ],
        "dipvalue": [
          {
            "name": "1",
            "value": "0",
            "default": "no"
          },
          {
            "name": "2",
            "value": "3",
            "default": "yes"
          },
          {
            "name": "3",
            "value": "2",
            "default": "no"
          },
          {
            "name": "4",
            "value": "1",
            "default": "no"
          }
        ]
      },
      {
        "name": "Free Play",
        "tag": "DSWC",
        "mask": "4",
        "diplocation": {
          "name": "SW(C)",
          "number": "3",
          "inverted": "no"
        },
        "dipvalue": [
          {
            "name": "Off",
            "value": "4",
            "default": "yes"
          },
          {
            "name": "On",
            "value": "0",
            "default": "no"
          }
        ]
      },
      {
        "name": "Freeze",
        "tag": "DSWC",
        "mask": "8",
        "diplocation": {
          "name": "SW(C)",
          "number": "4",
          "inverted": "no"
        },
        "dipvalue": [
          {
            "name": "Off",
            "value": "8",
            "default": "yes"
          },
          {
            "name": "On",
            "value": "0",
            "default": "no"
          }
        ]
      },
      {
        "name": "Flip Screen",
        "tag": "DSWC",
        "mask": "16",
        "diplocation": {
          "name": "SW(C)",
          "number": "5",
          "inverted": "no"
        },
        "dipvalue": [
          {
            "name": "Off",
            "value": "16",
            "default": "yes"
          },
          {
            "name": "On",
            "value": "0",
            "default": "no"
          }
        ]
      },
      {
        "name": "Demo Sounds",
        "tag": "DSWC",
        "mask": "32",
        "diplocation": {
          "name": "SW(C)",
          "number": "6",
          "inverted": "no"
        },
        "dipvalue": [
          {
            "name": "Off",
            "value": "32",
            "default": "no"
          },
          {
            "name": "On",
            "value": "0",
            "default": "yes"
          }
        ]
      },
      {
        "name": "Allow Continue",
        "tag": "DSWC",
        "mask": "64",
        "diplocation": {
          "name": "SW(C)",
          "number": "7",
          "inverted": "no"
        },
        "dipvalue": [
          {
            "name": "No",
            "value": "64",
            "default": "no"
          },
          {
            "name": "Yes",
            "value": "0",
            "default": "yes"
          }
        ]
      },
      {
        "name": "Game Mode",
        "tag": "DSWC",
        "mask": "128",
        "diplocation": {
          "name": "SW(C)",
          "number": "8",
          "inverted": "no"
        },
        "dipvalue": [
          {
            "name": "Game",
            "value": "128",
            "default": "yes"
          },
          {
            "name": "Test",
            "value": "0",
            "default": "no"
          }
        ]
      },
      {
        "name": "Service Mode",
        "tag": "IN0",
        "mask": "64",
        "dipvalue": [
          {
            "name": "Off",
            "value": "64",
            "default": "yes"
          },
          {
            "name": "On",
            "value": "0",
            "default": "no"
          }
        ]
      }
    ],
    "port": [
      {
        "tag": ":DSWA"
      },
      {
        "tag": ":DSWB"
      },
      {
        "tag": ":DSWC"
      },
      {
        "tag": ":IN0"
      },
      {
        "tag": ":IN1"
      }
    ],
    "driver": {
      "status": "good",
      "emulation": "good",
      "savestate": "supported",
      "requiresartwork": "no",
      "unofficial": "no",
      "nosoundhardware": "no",
      "incomplete": "no"
    }
  }
}