{
  "machine": {
    "name": "coleco",
    "sourcefile": "coleco/coleco.cpp",
    "isbios": "no",
    "isdevice": "no",
    "ismechanical": "no",
    "runnable": "yes",
    "description": "ColecoVision (NTSC)",
    "year": "1982",
    "manufacturer": "Coleco",
    "rom": {
      "name": "313_10031-4005_73108a.u2",
      "size": "8192",
      "crc": "3aa93ef3",
      "sha1": "45bedc4cbdeac66c7df59e9e599195c778d86a92",
      "region": "maincpu",
      "offset": "0",
      "status": "good",
      "optional": "no"
    },
    "device_ref": [
      {
        "tag": ":maincpu",
        "name": "z80"
      },
      {
        "tag": ":tms9928a",
        "name": "tms9928a"
      },
      {
        "tag": ":screen",
        "name": "screen"
      },
      {
        "tag": ":mono",
        "name": "speaker"
      },
      {
        "tag": ":sn76489a",
        "name": "sn76489a"
      },
      {
        "tag": ":cartslot",
        "name": "coleco_cartridge_port"
      },
      {
        "tag": ":cart_list",
        "name": "software_list"
      },
      {
        "tag": ":homebrew_list",
        "name": "software_list"
      },
      {
        "tag": ":paddle_timer",
        "name": "timer"
      },
      {
        "tag": ":exp",
        "name": "coleco_expansion"
      }
    ],
    "chip": [
      {
        "type": "cpu",
        "tag": "maincpu",
        "name": "Zilog Z80",
        "clock": "3579545"
      },
      {
        "type": "audio",
        "tag": "mono",
        "name": "Speaker"
      },
      {
        "type": "audio",
        "tag": "sn76489a",
        "name": "SN76489A",
        "clock": "3579545"
      },
      {
        "type": "audio",
        "tag": "exp",
        "name": "Colecovision Expansion Bus"
      }
    ],
    "display": {
      "tag": "screen",
      "type": "raster",
      "rotate": "0",
      "width": "280",
      "height": "216",
      "refresh": "59.922738",
      "pixclock": "5369317",
      "htotal": "342",
      "hbend": "25",
      "hbstart": "305",
      "vtotal": "262",
      "vbend": "28",
      "vbstart": "244",
      "flipx": "no"
    },
    "sound": {
      "channels": "1"
    },
    "input": {
      "players": "2",
      "service": "no",
      "tilt": "no",
      "control": [
        {
          "type": "joy",
          "player": "1",
          "buttons": "1",
          "ways": "8",
          "reverse": "no"
        },
        {
          "type": "dial",
          "player": "1",
          "minimum": "0",
          "maximum": "255",
          "sensitivity": "100",
          "keydelta": "25",
          "reverse": "yes"
        },
        {
          "type": "trackball",
          "player": "1",
          "minimum": "0",
          "maximum": "255",
          "sensitivity": "100",
          "keydelta": "25",
          "reverse": "yes"
        },
        {
          "type": "keypad",
          "player": "1",
          "buttons": "52",
          "reverse": "no"
        },
        {
          "type": "joy",
          "player": "2",
          "buttons": "1",
          "ways": "8",
          "reverse": "no"
        },
        {
          "type": "dial",
          "player": "2",
          "minimum": "0",
          "maximum": "255",
          "sensitivity": "100",
          "keydelta": "25",
          "reverse": "no"
        },
        {
          "type": "only_buttons",
          "player": "2",
          "buttons": "4",
          "reverse": "no"
        }
      ]
    },
    "configuration": [
      {
        "name": "Port 1 Controller",
        "tag": "CTRLSEL",
        "mask": "7",
        "confsetting": [
          {
            "name": "None",
            "value": "1",
            "default": "no"
          },
          {
            "name": "ColecoVision Controller",
            "value": "0",
            "default": "yes"
          },
          {
            "name": "Super Action Controller",
            "value": "2",
            "default": "no"
          },
          {
            "name": "Driving Controller",
            "value": "3",
            "default": "no"
          }
        ]
      },
      {
        "name": "Port 2 Controller",
        "tag": "CTRLSEL",
        "mask": "112",
        "confsetting": [
          {
            "name": "None",
            "value": "16",
            "default": "no"
          },
          {
            "name": "ColecoVision Controller",
            "value": "0",
            "default": "yes"
          },
          {
            "name": "Super Action Controller",
            "value": "32",
            "default": "no"
          },
          {
            "name": "Driving Controller",
            "value": "48",
            "default": "no"
          }
        ]
      },
      {
        "name": "Extra Controller",
        "tag": "CTRLSEL",
        "mask": "128",
        "confsetting": [
          {
            "name": "None",
            "value": "0",
            "default": "yes"
          },
          {
            "name": "Roller Controller",
            "value": "128",
            "default": "no"
          }
        ]
      }
    ],
    "port": [
      {
        "tag": ":CTRLSEL"
      },
      {
        "tag": ":DRIV_PEDAL1"
      },
      {
        "tag": ":DRIV_PEDAL2"
      },
      {
        "tag": ":DRIV_WHEEL1",
        "analog": {
          "mask": "255"
        }
      },
      {
        "tag": ":DRIV_WHEEL2",
        "analog": {
          "mask": "255"
        }
      },
      {
        "tag": ":ROLLER_X",
        "analog": {
          "mask": "255"
        }
      },
      {
        "tag": ":ROLLER_Y",
        "analog": {
          "mask": "255"
        }
      },
      {
        "tag": ":SAC_JOY1"
      },
      {
        "tag": ":SAC_JOY2"
      },
      {
        "tag": ":SAC_KEYPAD1"
      },
      {
        "tag": ":SAC_KEYPAD2"
      },
      {
        "tag": ":SAC_SLIDE1",
        "analog": {
          "mask": "255"
        }
      },
      {
        "tag": ":SAC_SLIDE2",
        "analog": {
          "mask": "255"
        }
      },
      {
        "tag": ":STD_JOY1"
      },
      {
        "tag": ":STD_JOY2"
      },
      {
        "tag": ":STD_KEYPAD1"
      },
      {
        "tag": ":STD_KEYPAD2"
      }
    ],
    "driver": {
      "status": "good",
      "emulation": "good",
      "savestate": "unsupported",
      "requiresartwork": "no",
      "unofficial": "no",
      "nosoundhardware": "no",
      "incomplete": "no"
    },
    "device": {
      "type": "cartridge",
      "tag": "cartslot",
      "interface": "coleco_cart",
      "instance": {
        "name": "cartridge",
        "briefname": "cart"
      },
      "extension": [
        {
          "name": "rom"
        },
        {
          "name": "col"
        },
        {
          "name": "bin"
        }
      ]
    },
    "slot": [
      {
        "name": "cartslot"
      },
      {
        "name": "exp",
        "slotoption": {
          "name": "sgm",
          "devname": "coleco_sgm",
          "default": "no"
        }
      }
    ],
    "softwarelist": [
      {
        "tag": "cart_list",
        "name": "coleco",
        "status": "original"
      },
      {
        "tag": "homebrew_list",
        "name": "coleco_homebrew",
        "status": "original"
      }
    ]
  }
}