{
  "machine": {
    "name": "cx5m128",
    "sourcefile": "msx/msx1_v9938.cpp",
    "isbios": "no",
    "isdevice": "no",
    "ismechanical": "no",
    "runnable": "yes",
    "description": "CX5M-128 (MSX1)",
    "year": "1984",
    "manufacturer": "Yamaha",
    "rom": [
      {
        "name": "cx5m128bios.rom",
        "size": "32768",
        "crc": "7973e080",
        "sha1": "ea4a723cf098be7d7b40f23a7ab831cf5e2190d7",
        "region": "mainrom",
        "offset": "0",
        "status": "good",
        "optional": "no"
      },
      {
        "name": "cx5m128sub.rom",
        "size": "8192",
        "crc": "b17a776d",
        "sha1": "c2340313bfda751181e8a5287d60f77bc6a2f3e6",
        "region": "subrom",
        "offset": "0",
        "status": "good",
        "optional": "no"
      }
    ],
    "device_ref": [
      {
        "tag": ":mainrom",
        "name": "msx_slot_rom"
      },
      {
        "tag": ":cartslot1",
        "name": "msx_slot_cartridge"
      },
      {
        "tag": ":cartslot2",
        "name": "msx_slot_cartridge"
      },
      {
        "tag": ":subrom",
        "name": "msx_slot_rom"
      },
      {
        "tag": ":minicart",
        "name": "msx_slot_yamaha_minicart"
      },
      {
        "tag": ":ram_mm",
        "name": "msx_slot_ram_mm"
      },
      {
        "tag": ":module",
        "name": "msx_slot_yamaha_expansion"
      },
      {
        "tag": ":module:sfg05",
        "name": "msx_cart_sfg05"
      },
      {
        "tag": ":module:sfg05:speaker",
        "name": "speaker"
      },
      {
        "tag": ":module:sfg05:ym2151",
        "name": "ym2164"
      },
      {
        "tag": ":module:sfg05:ym2148",
        "name": "ym2148"
      },
      {
        "tag": ":module:sfg05:kbdc",
        "name": "msx_audio_kbdc_port"
      },
      {
        "tag": ":module:sfg05:mdout",
        "name": "midi_port"
      },
      {
        "tag": ":module:sfg05:mdout:midiout",
        "name": "midiout_port"
      },
      {
        "tag": ":module:sfg05:mdout:midiout:midioutimg",
        "name": "midiout"
      },
      {
        "tag": ":module:sfg05:mdin",
        "name": "midi_port"
      },
      {
        "tag": ":module:sfg05:mdin:midiin",
        "name": "midiin_port"
      },
      {
        "tag": ":module:sfg05:mdin:midiin:midiinimg",
        "name": "midiin"
      },
      {
        "tag": ":maincpu",
        "name": "z80"
      },
      {
        "tag": ":mainirq",
        "name": "ipt_merge_any_hi"
      },
      {
        "tag": ":ppi8255",
        "name": "i8255"
      },
      {
        "tag": ":screen",
        "name": "screen"
      },
      {
        "tag": ":speaker",
        "name": "speaker"
      },
      {
        "tag": ":dac",
        "name": "dac"
      },
      {
        "tag": ":ay8910",
        "name": "ym2149"
      },
      {
        "tag": ":gen1",
        "name": "msx_general_purpose_port"
      },
      {
        "tag": ":gen1:joystick",
        "name": "msx_joystick"
      },
      {
        "tag": ":gen2",
        "name": "msx_general_purpose_port"
      },
      {
        "tag": ":gen2:joystick",
        "name": "msx_joystick"
      },
      {
        "tag": ":centronics",
        "name": "centronics"
      },
      {
        "tag": ":centronics:printer",
        "name": "centronics_printer"
      },
      {
        "tag": ":centronics:printer:printer",
        "name": "printer_image"
      },
      {
        "tag": ":cent_data_out",
        "name": "output_latch"
      },
      {
        "tag": ":cent_status_in",
        "name": "input_buffer"
      },
      {
        "tag": ":cent_ctrl_out",
        "name": "output_latch"
      },
      {
        "tag": ":cassette",
        "name": "cassette_image"
      },
      {
        "tag": ":v9938",
        "name": "v9938"
      },
      {
        "tag": ":cass_list",
        "name": "software_list"
      },
      {
        "tag": ":cart_list",
        "name": "software_list"
      },
      {
        "tag": ":minicart_list",
        "name": "software_list"
      }
    ],
    "chip": [
      {
        "type": "cpu",
        "tag": "maincpu",
        "name": "Zilog Z80",
        "clock": "3579545"
      },
      {
        "type": "audio",
        "tag": "cartslot1",
        "name": "MSX Cartridge slot",
        "clock": "3579545"
      },
      {
        "type": "audio",
        "tag": "cartslot2",
        "name": "MSX Cartridge slot",
        "clock": "3579545"
      },
      {
        "type": "audio",
        "tag": "minicart",
        "name": "MSX Yamaha Minicart slot",
        "clock": "3579545"
      },
      {
        "type": "audio",
        "tag": "module",
        "name": "MSX Yamaha Expansion slot",
        "clock": "3579545"
      },
      {
        "type": "audio",
        "tag": "module:sfg05:speaker",
        "name": "Speaker"
      },
      {
        "type": "audio",
        "tag": "module:sfg05:ym2151",
        "name": "YM2164 OPP",
        "clock": "3579545"
      },
      {
        "type": "audio",
        "tag": "speaker",
        "name": "Speaker"
      },
      {
        "type": "audio",
        "tag": "dac",
        "name": "1-Bit DAC"
      },
      {
        "type": "audio",
        "tag": "ay8910",
        "name": "YM2149 SSG",
        "clock": "1789772"
      },
      {
        "type": "audio",
        "tag": "cassette",
        "name": "Cassette"
      }
    ],
    "display": {
      "tag": "screen",
      "type": "raster",
      "rotate": "0",
      "width": "543",
      "height": "567",
      "refresh": "50.158978",
      "pixclock": "21477272",
      "htotal": "684",
      "hbend": "0",
      "hbstart": "543",
      "vtotal": "626",
      "vbend": "10",
      "vbstart": "577",
      "flipx": "no"
    },
    "sound": {
      "channels": "2"
    },
    "input": {
      "players": "2",
      "service": "no",
      "tilt": "no",
      "control": [
        {
          "type": "joy",
          "player": "1",
          "buttons": "2",
          "ways": "8",
          "reverse": "no"
        },
        {
          "type": "keyboard",
          "player": "1",
          "buttons": "72",
          "reverse": "no"
        },
        {
          "type": "joy",
          "player": "2",
          "buttons": "2",
          "ways": "8",
          "reverse": "no"
        }
      ]
    },
    "configuration": {
      "name": "MIDI file mode",
      "tag": "module:sfg05:mdin:midiin:midiinimg:CFG",
      "mask": "255",
      "confsetting": [
        {
          "name": "Multi",
          "value": "255",
          "default": "yes"
        },
        {
          "name": "Poly: Channel 1",
          "value": "0",
          "default": "no"
        },
        {
          "name": "Poly: Channel 2",
          "value": "1",
          "default": "no"
        },
        {
          "name": "Poly: Channel 3",
          "value": "2",
          "default": "no"
        },
        {
          "name": "Poly: Channel 4",
          "value": "3",
          "default": "no"
        },
        {
          "name": "Poly: Channel 5",
          "value": "4",
          "default": "no"
        },
        {
          "name": "Poly: Channel 6",
          "value": "5",
          "default": "no"
        },
        {
          "name": "Poly: Channel 7",
          "value": "6",
          "default": "no"
        },
        {
          "name": "Poly: Channel 8",
          "value": "7",
          "default": "no"
        },
        {
          "name": "Poly: Channel 9",
          "value": "8",
          "default": "no"
        },
        {
          "name": "Poly: Channel 10",
          "value": "9",
          "default": "no"
        },
        {
          "name": "Poly: Channel 11",
          "value": "10",
          "default": "no"
        },
        {
          "name": "Poly: Channel 12",
          "value": "11",
          "default": "no"
        },
        {
          "name": "Poly: Channel 13",
          "value": "12",
          "default": "no"
        },
        {
          "name": "Poly: Channel 14",
          "value": "13",
          "default": "no"
        },
        {
          "name": "Poly: Channel 15",
          "value": "14",
          "default": "no"
        },
        {
          "name": "Poly: Channel 16",
          "value": "15",
          "default": "no"
        }
      ]
    },
    "port": [
      {
        "tag": ":KEY0"
      },
      {
        "tag": ":KEY1"
      },
      {
        "tag": ":KEY10"
      },
      {
        "tag": ":KEY2"
      },
      {
        "tag": ":KEY3"
      },
      {
        "tag": ":KEY4"
      },
      {
        "tag": ":KEY5"
      },
      {
        "tag": ":KEY6"
      },
      {
        "tag": ":KEY7"
      },
      {
        "tag": ":KEY8"
      },
      {
        "tag": ":KEY9"
      },
      {
        "tag": ":gen1:joystick:JOY"
      },
      {
        "tag": ":gen2:joystick:JOY"
      },
      {
        "tag": ":module:sfg05:mdin:midiin:midiinimg:CFG"
      }
    ],
    "driver": {
      "status": "good",
      "emulation": "good",
      "savestate": "unsupported",
      "requiresartwork": "no",
      "unofficial": "no",
      "nosoundhardware": "no",
      "incomplete": "no"
    },
    "device": [
      {
        "type": "cartridge",
        "tag": "cartslot1",
        "interface": "msx_cart",
        "instance": {
          "name": "cartridge1",
          "briefname": "cart1"
        },
        "extension": [
          {
            "name": "mx1"
          },
          {
            "name": "bin"
          },
          {
            "name": "rom"
          }
        ]
      },
      {
        "type": "cartridge",
        "tag": "cartslot2",
        "interface": "msx_cart",
        "instance": {
          "name": "cartridge2",
          "briefname": "cart2"
        },
        "extension": [
          {
            "name": "mx1"
          },
          {
            "name": "bin"
          },
          {
            "name": "rom"
          }
        ]
      },
      {
        "type": "yamahaminicart",
        "tag": "minicart",
        "interface": "msx_yamaha_minicart",
        "instance": {
          "name": "yamahaminicart",
          "briefname": "mini"
        },
        "extension": [
          {
            "name": "mx1"
          },
          {
            "name": "bin"
          },
          {
            "name": "rom"
          }
        ]
      },
      {
        "type": "cartridge60pin",
        "tag": "module",
        "interface": "msx_yamaha_60pin",
        "instance": {
          "name": "cartridge60pin",
          "briefname": "cart60p"
        },
        "extension": [
          {
            "name": "mx1"
          },
          {
            "name": "bin"
          },
          {
            "name": "rom"
          }
        ]
      },
      {
        "type": "midiout",
        "tag": "module:sfg05:mdout:midiout:midioutimg",
        "instance": {
          "name": "midiout",
          "briefname": "mout"
        },
        "extension": {
          "name": "mid"
        }
      },
      {
        "type": "midiin",
        "tag": "module:sfg05:mdin:midiin:midiinimg",
        "instance": {
          "name": "midiin",
          "briefname": "min"
        },
        "extension": [
          {
            "name": "mid"
          },
          {
            "name": "syx"
          }
        ]
      },
      {
        "type": "printout",
        "tag": "centronics:printer:printer",
        "instance": {
          "name": "printout",
          "briefname": "prin"
        },
        "extension": {
          "name": "prn"
        }
      },
      {
        "type": "cassette",
        "tag": "cassette",
        "interface": "msx_cass",
        "instance": {
          "name": "cassette",
          "briefname": "cass"
        },
        "extension": [
          {
            "name": "wav"
          },
          {
            "name": "flac"
          },
          {
            "name": "aif"
          },
          {
            "name": "aiff"
          },
          {
            "name": "tap"
          },
          {
            "name": "cas"
          },
          {
            "name": "tsx"
          }
        ]
      }
    ],
    "slot": [
      {
        "name": "cartslot1",
        "slotoption": [
          {
            "name": "hbi55",
            "devname": "msx_cart_hbi55",
            "default": "no"
          },
          {
            "name": "franky",
            "devname": "msx_cart_franky",
            "default": "no"
          },
          {
            "name": "bm_012",
            "devname": "msx_cart_bm_012",
            "default": "no"
          },
          {
            "name": "mmm",
            "devname": "msx_cart_mmm",
            "default": "no"
          },
          {
            "name": "mm4096k",
            "devname": "msx_cart_4096k_mm_ram",
            "default": "no"
          },
          {
            "name": "mm2048k",
            "devname": "msx_cart_2048k_mm_ram",
            "default": "no"
          },
          {
            "name": "mm1024k",
            "devname": "msx_cart_1024k_mm_ram",
            "default": "no"
          },
          {
            "name": "mm768k",
            "devname": "msx_cart_768k_mm_ram",
            "default": "no"
          },
          {
            "name": "ram32k",
            "devname": "msx_cart_32k_ram",
            "default": "no"
          },
          {
            "name": "mm512k",
            "devname": "msx_cart_512k_mm_ram",
            "default": "no"
          },
          {
            "name": "ram64k",
            "devname": "msx_cart_64k_ram",
            "default": "no"
          },
          {
            "name": "mm256k",
            "devname": "msx_cart_256k_mm_ram",
            "default": "no"
          },
          {
            "name": "sunrise_ataide",
            "devname": "msx_cart_sunrise_ataide",
            "default": "no"
          },
          {
            "name": "ram48k",
            "devname": "msx_cart_48k_ram",
            "default": "no"
          },
          {
            "name": "double_ram",
            "devname": "msx_cart_double_ram",
            "default": "no"
          },
          {
            "name": "ucn01",
            "devname": "msx_cart_ucn01",
            "default": "no"
          },
          {
            "name": "softcard",
            "devname": "msx_cart_softcard",
            "default": "no"
          },
          {
            "name": "beepack",
            "devname": "msx_cart_beepack",
            "default": "no"
          },
          {
            "name": "moonsound",
            "devname": "msx_moonsound",
            "default": "no"
          },
          {
            "name": "ram16k",
            "devname": "msx_cart_16k_ram",
            "default": "no"
          },
          {
            "name": "slotexp",
            "devname": "msx_cart_slotexpander",
            "default": "no"
          }
        ]
      },
      {
        "name": "cartslot2",
        "slotoption": [
          {
            "name": "hbi55",
            "devname": "msx_cart_hbi55",
            "default": "no"
          },
          {
            "name": "franky",
            "devname": "msx_cart_franky",
            "default": "no"
          },
          {
            "name": "bm_012",
            "devname": "msx_cart_bm_012",
            "default": "no"
          },
          {
            "name": "mmm",
            "devname": "msx_cart_mmm",
            "default": "no"
          },
          {
            "name": "mm4096k",
            "devname": "msx_cart_4096k_mm_ram",
            "default": "no"
          },
          {
            "name": "mm2048k",
            "devname": "msx_cart_2048k_mm_ram",
            "default": "no"
          },
          {
            "name": "mm1024k",
            "devname": "msx_cart_1024k_mm_ram",
            "default": "no"
          },
          {
            "name": "mm768k",
            "devname": "msx_cart_768k_mm_ram",
            "default": "no"
          },
          {
            "name": "ram32k",
            "devname": "msx_cart_32k_ram",
            "default": "no"
          },
          {
            "name": "mm512k",
            "devname": "msx_cart_512k_mm_ram",
            "default": "no"
          },
          {
            "name": "ram64k",
            "devname": "msx_cart_64k_ram",
            "default": "no"
          },
          {
            "name": "mm256k",
            "devname": "msx_cart_256k_mm_ram",
            "default": "no"
          },
          {
            "name": "sunrise_ataide",
            "devname": "msx_cart_sunrise_ataide",
            "default": "no"
          },
          {
            "name": "ram48k",
            "devname": "msx_cart_48k_ram",
            "default": "no"
          },
          {
            "name": "double_ram",
            "devname": "msx_cart_double_ram",
            "default": "no"
          },
          {
            "name": "ucn01",
            "devname": "msx_cart_ucn01",
            "default": "no"
          },
          {
            "name": "softcard",
            "devname": "msx_cart_softcard",
            "default": "no"
          },
          {
            "name": "beepack",
            "devname": "msx_cart_beepack",
            "default": "no"
          },
          {
            "name": "moonsound",
            "devname": "msx_moonsound",
            "default": "no"
          },
          {
            "name": "ram16k",
            "devname": "msx_cart_16k_ram",
            "default": "no"
          },
          {
            "name": "slotexp",
            "devname": "msx_cart_slotexpander",
            "default": "no"
          }
        ]
      },
      {
        "name": "minicart"
      },
      {
        "name": "module",
        "slotoption": [
          {
            "name": "skw01",
            "devname": "msx_cart_skw01",
            "default": "no"
          },
          {
            "name": "sfg05",
            "devname": "msx_cart_sfg05",
            "default": "yes"
          },
          {
            "name": "sfg01",
            "devname": "msx_cart_sfg01",
            "default": "no"
          }
        ]
      },
      {
        "name": "module:sfg05:kbdc",
        "slotoption": [
          {
            "name": "nms1160",
            "devname": "nms1160",
            "default": "no"
          },
          {
            "name": "hxmu901",
            "devname": "hxmu901",
            "default": "no"
          }
        ]
      },
      {
        "name": "module:sfg05:mdout",
        "slotoption": {
          "name": "midiout",
          "devname": "midiout_port",
          "default": "yes"
        }
      },
      {
        "name": "module:sfg05:mdin",
        "slotoption": {
          "name": "midiin",
          "devname": "midiin_port",
          "default": "yes"
        }
      },
      {
        "name": "gen1",
        "slotoption": [
          {
            "name": "xe1ap",
            "devname": "msx_xe1ap",
            "default": "no"
          },
          {
            "name": "towns6b",
            "devname": "msx_towns6b",
            "default": "no"
          },
          {
            "name": "townspad",
            "devname": "msx_townspad",
            "default": "no"
          },
          {
            "name": "sega",
            "devname": "msx_segactrl",
            "default": "no"
          },
          {
            "name": "vaus",
            "devname": "msx_vaus",
            "default": "no"
          },
          {
            "name": "mouse",
            "devname": "msx_mouse",
            "default": "no"
          },
          {
            "name": "martypad",
            "devname": "msx_martypad",
            "default": "no"
          },
          {
            "name": "dual_joyport",
            "devname": "msx_dual_joyport",
            "default": "no"
          },
          {
            "name": "libbler",
            "devname": "msx_libblerpad",
            "default": "no"
          },
          {
            "name": "joystick",
            "devname": "msx_joystick",
            "default": "yes"
          },
          {
            "name": "magickey",
            "devname": "msx_magickey",
            "default": "no"
          },
          {
            "name": "hypershot",
            "devname": "msx_hypershot",
            "default": "no"
          }
        ]
      },
      {
        "name": "gen2",
        "slotoption": [
          {
            "name": "xe1ap",
            "devname": "msx_xe1ap",
            "default": "no"
          },
          {
            "name": "towns6b",
            "devname": "msx_towns6b",
            "default": "no"
          },
          {
            "name": "townspad",
            "devname": "msx_townspad",
            "default": "no"
          },
          {
            "name": "sega",
            "devname": "msx_segactrl",
            "default": "no"
          },
          {
            "name": "vaus",
            "devname": "msx_vaus",
            "default": "no"
          },
          {
            "name": "mouse",
            "devname": "msx_mouse",
            "default": "no"
          },
          {
            "name": "martypad",
            "devname": "msx_martypad",
            "default": "no"
          },
          {
            "name": "dual_joyport",
            "devname": "msx_dual_joyport",
            "default": "no"
          },
          {
            "name": "libbler",
            "devname": "msx_libblerpad",
            "default": "no"
          },
          {
            "name": "joystick",
            "devname": "msx_joystick",
            "default": "yes"
          },
          {
            "name": "magickey",
            "devname": "msx_magickey",
            "default": "no"
          },
          {
            "name": "hypershot",
            "devname": "msx_hypershot",
            "default": "no"
          }
        ]
      },
      {
        "name": "centronics",
        "slotoption": [
          {
            "name": "nlq401",
            "devname": "nlq401",
            "default": "no"
          },
          {
            "name": "smartboard",
            "devname": "centronics_smartboard",
            "default": "no"
          },
          {
            "name": "mz1p16",
            "devname": "mz1p16",
            "default": "no"
          },
          {
            "name": "covox_stereo",
            "devname": "covox_stereo",
            "default": "no"
          },
          {
            "name": "chessmec",
            "devname": "centronics_chessmec",
            "default": "no"
          },
          {
            "name": "digiblst",
            "devname": "cpcdigiblst",
            "default": "no"
          },
          {
            "name": "pl80",
            "devname": "comx_pl80",
            "default": "no"
          },
          {
            "name": "printer",
            "devname": "centronics_printer",
            "default": "yes"
          },
          {
            "name": "neomania",
            "devname": "neomania_adapter",
            "default": "no"
          },
          {
            "name": "ex800",
            "devname": "ex800",
            "default": "no"
          },
          {
            "name": "rx80",
            "devname": "epson_rx80",
            "default": "no"
          },
          {
            "name": "ap2000",
            "devname": "ap2000",
            "default": "no"
          },
          {
            "name": "samdac",
            "devname": "centronics_samdac",
            "default": "no"
          },
          {
            "name": "fx80",
            "devname": "epson_fx80",
            "default": "no"
          },
          {
            "name": "lx810l",
            "devname": "lx810l",
            "default": "no"
          },
          {
            "name": "pc6022",
            "devname": "pc6022",
            "default": "no"
          },
          {
            "name": "lx800",
            "devname": "lx800",
            "default": "no"
          },
          {
            "name": "p72",
            "devname": "p72",
            "default": "no"
          },
          {
            "name": "jx80",
            "devname": "epson_jx80",
            "default": "no"
          },
          {
            "name": "covox",
            "devname": "covox",
            "default": "no"
          },
          {
            "name": "adaptator",
            "devname": "adaptator_multitap",
            "default": "no"
          }
        ]
      }
    ],
    "softwarelist": [
      {
        "tag": "cass_list",
        "name": "msx1_cass",
        "status": "original"
      },
      {
        "tag": "cart_list",
        "name": "msx1_cart",
        "status": "original"
      },
      {
        "tag": "minicart_list",
        "name": "msx_yamaha_minicart",
        "status": "original"
      }
    ]
  }
}