{
  "machine": {
    "name": "inves",
    "sourcefile": "sinclair/spectrum.cpp",
    "cloneof": "spectrum",
    "romof": "spectrum",
    "isbios": "no",
    "isdevice": "no",
    "ismechanical": "no",
    "runnable": "yes",
    "description": "Inves Spectrum 48K+",
    "year": "1986",
    "manufacturer": "Investronica",
    "rom": {
      "name": "inves.rom",
      "size": "16384",
      "crc": "8ff7a4d1",
      "sha1": "d020440638aff4d39467128413ef795677be9c23",
      "region": "maincpu",
      "offset": "0",
      "status": "good",
      "optional": "no"
    },
    "device_ref": [
      {
        "tag": ":maincpu",
        "name": "z80"
      },
      {
        "tag": ":specmem",
        "name": "address_map_bank"
      },
      {
        "tag": ":screen",
        "name": "screen"
      },
      {
        "tag": ":palette",
        "name": "palette"
      },
      {
        "tag": ":gfxdecode",
        "name": "gfxdecode"
      },
      {
        "tag": ":ula",
        "name": "ula48"
      },
      {
        "tag": ":speakers",
        "name": "speaker"
      },
      {
        "tag": ":speaker",
        "name": "speaker_sound_device"
      },
      {
        "tag": ":exp",
        "name": "spectrum_expansion_slot"
      },
      {
        "tag": ":exp:kempjoy",
        "name": "spectrum_kempjoy"
      },
      {
        "tag": ":dma",
        "name": "dma_slot"
      },
      {
        "tag": ":snapshot",
        "name": "snapshot_image"
      },
      {
        "tag": ":quickload",
        "name": "quickload"
      },
      {
        "tag": ":cassette",
        "name": "cassette_image"
      },
      {
        "tag": ":cass_list",
        "name": "software_list"
      },
      {
        "tag": ":ram",
        "name": "ram"
      }
    ],
    "chip": [
      {
        "type": "cpu",
        "tag": "maincpu",
        "name": "Zilog Z80",
        "clock": "3500000"
      },
      {
        "type": "audio",
        "tag": "speakers",
        "name": "Speaker"
      },
      {
        "type": "audio",
        "tag": "speaker",
        "name": "Filtered DAC"
      },
      {
        "type": "audio",
        "tag": "cassette",
        "name": "Cassette"
      }
    ],
    "display": {
      "tag": "screen",
      "type": "raster",
      "rotate": "0",
      "width": "352",
      "height": "296",
      "refresh": "50.080128",
      "pixclock": "7000000",
      "htotal": "448",
      "hbend": "0",
      "hbstart": "352",
      "vtotal": "312",
      "vbend": "16",
      "vbstart": "312",
      "flipx": "no"
    },
    "sound": {
      "channels": "1"
    },
    "input": {
      "players": "3",
      "service": "no",
      "tilt": "no",
      "control": [
        {
          "type": "joy",
          "player": "1",
          "buttons": "1",
          "ways": "8",
          "reverse": "no"
        },
        {
          "type": "keyboard",
          "player": "1",
          "buttons": "57",
          "reverse": "no"
        },
        {
          "type": "joy",
          "player": "2",
          "buttons": "1",
          "ways": "8",
          "reverse": "no"
        },
        {
          "type": "joy",
          "player": "3",
          "buttons": "1",
          "ways": "8",
          "reverse": "no"
        }
      ]
    },
    "configuration": [
      {
        "name": "Contention",
        "tag": "CONFIG",
        "mask": "1",
        "confsetting": [
          {
            "name": "Early",
            "value": "0",
            "default": "yes"
          },
          {
            "name": "Late",
            "value": "1",
            "default": "no"
          }
        ]
      },
      {
        "name": "Hardware Version",
        "tag": "CONFIG",
        "mask": "128",
        "confsetting": [
          {
            "name": "Issue 2",
            "value": "0",
            "default": "yes"
          },
          {
            "name": "Issue 3",
            "value": "128",
            "default": "no"
          }
        ]
      }
    ],
    "port": [
      {
        "tag": ":CONFIG"
      },
      {
        "tag": ":JOY1"
      },
      {
        "tag": ":JOY2"
      },
      {
        "tag": ":LINE0"
      },
      {
        "tag": ":LINE1"
      },
      {
        "tag": ":LINE2"
      },
      {
        "tag": ":LINE3"
      },
      {
        "tag": ":LINE4"
      },
      {
        "tag": ":LINE5"
      },
      {
        "tag": ":LINE6"
      },
      {
        "tag": ":LINE7"
      },
      {
        "tag": ":NMI"
      },
      {
        "tag": ":PLUS0"
      },
      {
        "tag": ":PLUS1"
      },
      {
        "tag": ":PLUS2"
      },
      {
        "tag": ":PLUS3"
      },
      {
        "tag": ":PLUS4"
      },
      {
        "tag": ":exp:kempjoy:JOY"
      }
    ],
    "driver": {
      "status": "good",
      "emulation": "good",
      "savestate": "unsupported",
      "requiresartwork": "no",
      "unofficial": "no",
      "nosoundhardware": "no",
      "incomplete": "no"
    },
    "device": [
      {
        "type": "snapshot",
        "tag": "snapshot",
        "interface": "spectrum_snapshot",
        "instance": {
          "name": "snapshot",
          "briefname": "dump"
        },
        "extension": [
          {
            "name": "ach"
          },
          {
            "name": "frz"
          },
          {
            "name": "plusd"
          },
          {
            "name": "prg"
          },
          {
            "name": "sem"
          },
          {
            "name": "sit"
          },
          {
            "name": "sna"
          },
          {
            "name": "snp"
          },
          {
            "name": "snx"
          },
          {
            "name": "sp"
          },
          {
            "name": "spg"
          },
          {
            "name": "z80"
          },
          {
            "name": "zx"
          }
        ]
      },
      {
        "type": "quickload",
        "tag": "quickload",
        "instance": {
          "name": "quickload",
          "briefname": "quik"
        },
        "extension": [
          {
            "name": "raw"
          },
          {
            "name": "scr"
          }
        ]
      },
      {
        "type": "cassette",
        "tag": "cassette",
        "interface": "spectrum_cass",
        "instance": {
          "name": "cassette",
          "briefname": "cass"
        },
        "extension": [
          {
            "name": "wav"
          },
          {
            "name": "flac"
          },
          {
            "name": "aif"
          },
          {
            "name": "aiff"
          },
          {
            "name": "tzx"
          },
          {
            "name": "tap"
          },
          {
            "name": "blk"
          }
        ]
      }
    ],
    "slot": [
      {
        "name": "exp",
        "slotoption": [
          {
            "name": "wafadrive",
            "devname": "spectrum_wafa",
            "default": "no"
          },
          {
            "name": "vtx5000",
            "devname": "spectrum_vtx5000",
            "default": "no"
          },
          {
            "name": "uspeech",
            "devname": "spectrum_uspeech",
            "default": "no"
          },
          {
            "name": "usource",
            "devname": "spectrum_usource",
            "default": "no"
          },
          {
            "name": "spdos",
            "devname": "spectrum_spdos",
            "default": "no"
          },
          {
            "name": "uslot",
            "devname": "spectrum_uslot",
            "default": "no"
          },
          {
            "name": "mface1v2",
            "devname": "spectrum_mface1v2",
            "default": "no"
          },
          {
            "name": "swiftdisc",
            "devname": "spectrum_swiftdisc",
            "default": "no"
          },
          {
            "name": "lprint3",
            "devname": "spectrum_lprint3",
            "default": "no"
          },
          {
            "name": "protek",
            "devname": "spectrum_protek",
            "default": "no"
          },
          {
            "name": "speccydos",
            "devname": "spectrum_speccydos",
            "default": "no"
          },
          {
            "name": "proceed",
            "devname": "spectrum_proceed",
            "default": "no"
          },
          {
            "name": "musicmachine",
            "devname": "spectrummusic",
            "default": "no"
          },
          {
            "name": "mprint",
            "devname": "spectrum_mprint",
            "default": "no"
          },
          {
            "name": "mpoker",
            "devname": "spectrum_mpoker",
            "default": "no"
          },
          {
            "name": "mface128",
            "devname": "spectrum_mface128",
            "default": "no"
          },
          {
            "name": "opus",
            "devname": "spectrum_opus",
            "default": "no"
          },
          {
            "name": "mface1",
            "devname": "spectrum_mface1",
            "default": "no"
          },
          {
            "name": "specmate",
            "devname": "spectrum_specmate",
            "default": "no"
          },
          {
            "name": "mikroplus",
            "devname": "spectrum_mikroplus",
            "default": "no"
          },
          {
            "name": "beta128",
            "devname": "spectrum_beta128",
            "default": "no"
          },
          {
            "name": "lprint",
            "devname": "spectrum_lprint",
            "default": "no"
          },
          {
            "name": "plusd",
            "devname": "spectrum_plusd",
            "default": "no"
          },
          {
            "name": "kempcentref",
            "devname": "spectrum_kempcentref",
            "default": "no"
          },
          {
            "name": "kempcentreu",
            "devname": "spectrum_kempcentreu",
            "default": "no"
          },
          {
            "name": "betaplus",
            "devname": "spectrum_betaplus",
            "default": "no"
          },
          {
            "name": "kempcentrs",
            "devname": "spectrum_kempcentrs",
            "default": "no"
          },
          {
            "name": "kempdisc",
            "devname": "spectrum_kempdisc",
            "default": "no"
          },
          {
            "name": "kempmouse",
            "devname": "spectrum_kempmouse",
            "default": "no"
          },
          {
            "name": "kempjoy",
            "devname": "spectrum_kempjoy",
            "default": "yes"
          },
          {
            "name": "mface128v1",
            "devname": "spectrum_mface128v1",
            "default": "no"
          },
          {
            "name": "sdi",
            "devname": "spectrum_sdi",
            "default": "no"
          },
          {
            "name": "intf2",
            "devname": "spectrum_intf2",
            "default": "no"
          },
          {
            "name": "betav3",
            "devname": "spectrum_betav3",
            "default": "no"
          },
          {
            "name": "d80v2",
            "devname": "spectrum_d80v2",
            "default": "no"
          },
          {
            "name": "fuller",
            "devname": "spectrum_fuller",
            "default": "no"
          },
          {
            "name": "specdrum",
            "devname": "spectrum_specdrum",
            "default": "no"
          },
          {
            "name": "betav2",
            "devname": "spectrum_betav2",
            "default": "no"
          },
          {
            "name": "disciple",
            "devname": "spectrum_disciple",
            "default": "no"
          },
          {
            "name": "swiftdisc2",
            "devname": "spectrum_swiftdisc2",
            "default": "no"
          },
          {
            "name": "mface1v1",
            "devname": "spectrum_mface1v1",
            "default": "no"
          },
          {
            "name": "melodik",
            "devname": "spectrum_melodik",
            "default": "no"
          },
          {
            "name": "d80",
            "devname": "spectrum_d80",
            "default": "no"
          },
          {
            "name": "d40",
            "devname": "spectrum_d40",
            "default": "no"
          },
          {
            "name": "betacbi",
            "devname": "spectrum_betacbi",
            "default": "no"
          },
          {
            "name": "gamma",
            "devname": "spectrum_gamma",
            "default": "no"
          },
          {
            "name": "betaclone",
            "devname": "spectrum_betaclone",
            "default": "no"
          },
          {
            "name": "flpone",
            "devname": "spectrum_flpone",
            "default": "no"
          },
          {
            "name": "mface1v3",
            "devname": "spectrum_mface1v3",
            "default": "no"
          },
          {
            "name": "intf1",
            "devname": "spectrum_intf1",
            "default": "no"
          }
        ]
      },
      {
        "name": "dma",
        "slotoption": [
          {
            "name": "mb02p_zilog",
            "devname": "dma_mb02p_zilog",
            "default": "no"
          },
          {
            "name": "mb02p",
            "devname": "dma_mb02p",
            "default": "no"
          },
          {
            "name": "datagear_zilog",
            "devname": "dma_datagear_zilog",
            "default": "no"
          },
          {
            "name": "datagear",
            "devname": "dma_datagear",
            "default": "no"
          }
        ]
      }
    ],
    "softwarelist": {
      "tag": "cass_list",
      "name": "spectrum_cass",
      "status": "original"
    },
    "ramoption": [
      {
        "name": "16K",
        "#text": "16384"
      },
      {
        "name": "48K",
        "default": "yes",
        "#text": "49152"
      }
    ]
  }
}