From c8445ac928cb6559e32f04a85bf8f72d73388fe2 Mon Sep 17 00:00:00 2001 From: AJR Date: Mon, 8 Oct 2018 19:51:37 -0400 Subject: msx.cpp: Split out state class for MSX2 sets (nw) --- src/mame/drivers/msx.cpp | 544 +++++++++++++++++++++++------------------------ src/mame/includes/msx.h | 360 ++++++++++++++++--------------- src/mame/machine/msx.cpp | 30 +-- 3 files changed, 482 insertions(+), 452 deletions(-) diff --git a/src/mame/drivers/msx.cpp b/src/mame/drivers/msx.cpp index 1d8a8d61348..84fc00b197a 100644 --- a/src/mame/drivers/msx.cpp +++ b/src/mame/drivers/msx.cpp @@ -572,40 +572,40 @@ void msx_state::msx_io_map(address_map &map) } -void msx_state::msx2_io_map(address_map &map) +void msx2_state::msx2_io_map(address_map &map) { map.unmap_value_high(); map.global_mask(0xff); - map(0x40, 0x4f).rw(FUNC(msx_state::msx_switched_r), FUNC(msx_state::msx_switched_w)); + map(0x40, 0x4f).rw(FUNC(msx2_state::msx_switched_r), FUNC(msx2_state::msx_switched_w)); // 0x7c - 0x7d : MSX-MUSIC/FM-PAC write port. Handlers will be installed if MSX-MUSIC is present in a system map(0x90, 0x90).r("cent_status_in", FUNC(input_buffer_device::bus_r)); map(0x90, 0x90).w("cent_ctrl_out", FUNC(output_latch_device::bus_w)); map(0x91, 0x91).w("cent_data_out", FUNC(output_latch_device::bus_w)); - map(0xa0, 0xa7).r(m_ay8910, FUNC(ay8910_device::data_r)).w(FUNC(msx_state::msx_ay8910_w)); + map(0xa0, 0xa7).r(m_ay8910, FUNC(ay8910_device::data_r)).w(FUNC(msx2_state::msx_ay8910_w)); map(0xa8, 0xab).rw("ppi8255", FUNC(i8255_device::read), FUNC(i8255_device::write)); map(0x98, 0x9b).rw(m_v9938, FUNC(v9938_device::read), FUNC(v9938_device::write)); - map(0xb4, 0xb4).w(FUNC(msx_state::msx_rtc_latch_w)); - map(0xb5, 0xb5).rw(FUNC(msx_state::msx_rtc_reg_r), FUNC(msx_state::msx_rtc_reg_w)); - map(0xd8, 0xd9).rw(FUNC(msx_state::msx_kanji_r), FUNC(msx_state::msx_kanji_w)); + map(0xb4, 0xb4).w(FUNC(msx2_state::msx_rtc_latch_w)); + map(0xb5, 0xb5).rw(FUNC(msx2_state::msx_rtc_reg_r), FUNC(msx2_state::msx_rtc_reg_w)); + map(0xd8, 0xd9).rw(FUNC(msx2_state::msx_kanji_r), FUNC(msx2_state::msx_kanji_w)); // 0xfc - 0xff : Memory mapper I/O ports. I/O handlers will be installed if a memory mapper is present in a system } -void msx_state::msx2p_io_map(address_map &map) +void msx2_state::msx2p_io_map(address_map &map) { map.unmap_value_high(); map.global_mask(0xff); - map(0x40, 0x4f).rw(FUNC(msx_state::msx_switched_r), FUNC(msx_state::msx_switched_w)); + map(0x40, 0x4f).rw(FUNC(msx2_state::msx_switched_r), FUNC(msx2_state::msx_switched_w)); // 0x7c - 0x7d : MSX-MUSIC/FM-PAC write port. Handlers will be installed if MSX-MUSIC is present in a system map(0x90, 0x90).r("cent_status_in", FUNC(input_buffer_device::bus_r)); map(0x90, 0x90).w("cent_ctrl_out", FUNC(output_latch_device::bus_w)); map(0x91, 0x91).w("cent_data_out", FUNC(output_latch_device::bus_w)); - map(0xa0, 0xa7).r(m_ay8910, FUNC(ay8910_device::data_r)).w(FUNC(msx_state::msx_ay8910_w)); + map(0xa0, 0xa7).r(m_ay8910, FUNC(ay8910_device::data_r)).w(FUNC(msx2_state::msx_ay8910_w)); map(0xa8, 0xab).rw("ppi8255", FUNC(i8255_device::read), FUNC(i8255_device::write)); map(0x98, 0x9b).rw(m_v9958, FUNC(v9958_device::read), FUNC(v9958_device::write)); - map(0xb4, 0xb4).w(FUNC(msx_state::msx_rtc_latch_w)); - map(0xb5, 0xb5).rw(FUNC(msx_state::msx_rtc_reg_r), FUNC(msx_state::msx_rtc_reg_w)); - map(0xd8, 0xd9).rw(FUNC(msx_state::msx_kanji_r), FUNC(msx_state::msx_kanji_w)); + map(0xb4, 0xb4).w(FUNC(msx2_state::msx_rtc_latch_w)); + map(0xb5, 0xb5).rw(FUNC(msx2_state::msx_rtc_reg_r), FUNC(msx2_state::msx_rtc_reg_w)); + map(0xd8, 0xd9).rw(FUNC(msx2_state::msx_kanji_r), FUNC(msx2_state::msx_kanji_w)); // 0xfc - 0xff : Memory mapper I/O ports. I/O handlers will be installed if a memory mapper is present in a system } @@ -1230,7 +1230,7 @@ INPUT_PORTS_END // Some MSX2+ can switch the z80 clock between 3.5 and 5.3 MHz -WRITE_LINE_MEMBER(msx_state::turbo_w) +WRITE_LINE_MEMBER(msx2_state::turbo_w) { // 0 - 5.369317 MHz // 1 - 3.579545 MHz @@ -1254,23 +1254,23 @@ MACHINE_CONFIG_START(msx_state::msx1_floplist) MCFG_SOFTWARE_LIST_ADD("flop_list", "msx1_flop") MACHINE_CONFIG_END -MACHINE_CONFIG_START(msx_state::msx2_cartlist) +MACHINE_CONFIG_START(msx2_state::msx2_cartlist) MCFG_SOFTWARE_LIST_ADD("cart_list", "msx2_cart") MCFG_SOFTWARE_LIST_COMPATIBLE_ADD("msx1_crt_l", "msx1_cart") MACHINE_CONFIG_END -MACHINE_CONFIG_START(msx_state::msx2_floplist) +MACHINE_CONFIG_START(msx2_state::msx2_floplist) MCFG_SOFTWARE_LIST_ADD("flop_list", "msx2_flop") MCFG_SOFTWARE_LIST_COMPATIBLE_ADD("msx1_flp_l", "msx1_flop") MACHINE_CONFIG_END -MACHINE_CONFIG_START(msx_state::msx2p_floplist) +MACHINE_CONFIG_START(msx2_state::msx2p_floplist) MCFG_SOFTWARE_LIST_ADD("flop_list", "msx2p_flop") MCFG_SOFTWARE_LIST_COMPATIBLE_ADD("msx2_flp_l", "msx2_flop") MCFG_SOFTWARE_LIST_COMPATIBLE_ADD("msx1_flp_l", "msx1_flop") // maybe not? MACHINE_CONFIG_END -MACHINE_CONFIG_START(msx_state::msxr_floplist) +MACHINE_CONFIG_START(msx2_state::msxr_floplist) MCFG_SOFTWARE_LIST_ADD("flop_list", "msxr_flop") MCFG_SOFTWARE_LIST_COMPATIBLE_ADD("msx2p_flp_l", "msx2p_flop") MCFG_SOFTWARE_LIST_COMPATIBLE_ADD("msx2_flp_l", "msx2_flop") // maybe not? @@ -1341,12 +1341,12 @@ MACHINE_CONFIG_START(msx_state::msx_2_35_dd_drive) MCFG_FLOPPY_DRIVE_ADD("fdc:1", msx_floppies, "35dd", msx_state::floppy_formats) MACHINE_CONFIG_END -MACHINE_CONFIG_START(msx_state::msx_ym2413) +MACHINE_CONFIG_START(msx2_state::msx_ym2413) MCFG_DEVICE_ADD("ym2413", YM2413, 21.477272_MHz_XTAL / 6) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.4) MACHINE_CONFIG_END -MACHINE_CONFIG_START(msx_state::msx2_64kb_vram) +MACHINE_CONFIG_START(msx2_state::msx2_64kb_vram) MCFG_DEVICE_MODIFY("v9938") downcast(*device).set_vram_size(0x10000); MACHINE_CONFIG_END @@ -1413,7 +1413,7 @@ void msx_state::msx1(VDPType &vdp_type, machine_config &config) } -MACHINE_CONFIG_START(msx_state::msx2) +MACHINE_CONFIG_START(msx2_state::msx2) /* basic machine hardware */ MCFG_DEVICE_ADD("maincpu", Z80, 21.477272_MHz_XTAL / 6) /* 3.579545 MHz */ MCFG_DEVICE_PROGRAM_MAP(msx_memory_map) @@ -1421,15 +1421,15 @@ MACHINE_CONFIG_START(msx_state::msx2) MCFG_QUANTUM_TIME(attotime::from_hz(60)) i8255_device &ppi(I8255(config, "ppi8255")); - ppi.out_pa_callback().set(FUNC(msx_state::msx_ppi_port_a_w)); - ppi.in_pb_callback().set(FUNC(msx_state::msx_ppi_port_b_r)); - ppi.out_pc_callback().set(FUNC(msx_state::msx_ppi_port_c_w)); + ppi.out_pa_callback().set(FUNC(msx2_state::msx_ppi_port_a_w)); + ppi.in_pb_callback().set(FUNC(msx2_state::msx_ppi_port_b_r)); + ppi.out_pc_callback().set(FUNC(msx2_state::msx_ppi_port_c_w)); /* video hardware */ V9938(config, m_v9938, 21.477272_MHz_XTAL); m_v9938->set_screen_ntsc("screen"); m_v9938->set_vram_size(0x20000); - m_v9938->int_cb().set(FUNC(msx_state::msx_irq_source0)); + m_v9938->int_cb().set(FUNC(msx2_state::msx_irq_source0)); SCREEN(config, "screen", SCREEN_TYPE_RASTER); /* sound hardware */ @@ -1441,10 +1441,10 @@ MACHINE_CONFIG_START(msx_state::msx2) WAVE(config, "wave", "cassette").add_route(ALL_OUTPUTS, "speaker", 0.25); MCFG_DEVICE_ADD("ay8910", AY8910, 21.477272_MHz_XTAL / 6 / 2) MCFG_AY8910_OUTPUT_TYPE(AY8910_SINGLE_OUTPUT) - MCFG_AY8910_PORT_A_READ_CB(READ8(*this, msx_state, msx_psg_port_a_r)) - MCFG_AY8910_PORT_B_READ_CB(READ8(*this, msx_state, msx_psg_port_b_r)) - MCFG_AY8910_PORT_A_WRITE_CB(WRITE8(*this, msx_state, msx_psg_port_a_w)) - MCFG_AY8910_PORT_B_WRITE_CB(WRITE8(*this, msx_state, msx_psg_port_b_w)) + MCFG_AY8910_PORT_A_READ_CB(READ8(*this, msx2_state, msx_psg_port_a_r)) + MCFG_AY8910_PORT_B_READ_CB(READ8(*this, msx2_state, msx_psg_port_b_r)) + MCFG_AY8910_PORT_A_WRITE_CB(WRITE8(*this, msx2_state, msx_psg_port_a_w)) + MCFG_AY8910_PORT_B_WRITE_CB(WRITE8(*this, msx2_state, msx_psg_port_b_w)) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.3) /* printer */ @@ -1472,7 +1472,7 @@ MACHINE_CONFIG_START(msx_state::msx2) MACHINE_CONFIG_END -MACHINE_CONFIG_START(msx_state::msx2p) +MACHINE_CONFIG_START(msx2_state::msx2p) /* basic machine hardware */ MCFG_DEVICE_ADD("maincpu", Z80, 21.477272_MHz_XTAL / 6) /* 3.579545 MHz */ MCFG_DEVICE_PROGRAM_MAP(msx_memory_map) @@ -1480,15 +1480,15 @@ MACHINE_CONFIG_START(msx_state::msx2p) MCFG_QUANTUM_TIME(attotime::from_hz(60)) i8255_device &ppi(I8255(config, "ppi8255")); - ppi.out_pa_callback().set(FUNC(msx_state::msx_ppi_port_a_w)); - ppi.in_pb_callback().set(FUNC(msx_state::msx_ppi_port_b_r)); - ppi.out_pc_callback().set(FUNC(msx_state::msx_ppi_port_c_w)); + ppi.out_pa_callback().set(FUNC(msx2_state::msx_ppi_port_a_w)); + ppi.in_pb_callback().set(FUNC(msx2_state::msx_ppi_port_b_r)); + ppi.out_pc_callback().set(FUNC(msx2_state::msx_ppi_port_c_w)); /* video hardware */ V9958(config, m_v9958, 21.477272_MHz_XTAL); m_v9958->set_screen_ntsc("screen"); m_v9958->set_vram_size(0x20000); - m_v9958->int_cb().set(FUNC(msx_state::msx_irq_source0)); + m_v9958->int_cb().set(FUNC(msx2_state::msx_irq_source0)); SCREEN(config, "screen", SCREEN_TYPE_RASTER); /* sound hardware */ @@ -1500,10 +1500,10 @@ MACHINE_CONFIG_START(msx_state::msx2p) WAVE(config, "wave", "cassette").add_route(ALL_OUTPUTS, "speaker", 0.25); MCFG_DEVICE_ADD("ay8910", AY8910, 21.477272_MHz_XTAL / 6 / 2) MCFG_AY8910_OUTPUT_TYPE(AY8910_SINGLE_OUTPUT) - MCFG_AY8910_PORT_A_READ_CB(READ8(*this, msx_state, msx_psg_port_a_r)) - MCFG_AY8910_PORT_B_READ_CB(READ8(*this, msx_state, msx_psg_port_b_r)) - MCFG_AY8910_PORT_A_WRITE_CB(WRITE8(*this, msx_state, msx_psg_port_a_w)) - MCFG_AY8910_PORT_B_WRITE_CB(WRITE8(*this, msx_state, msx_psg_port_b_w)) + MCFG_AY8910_PORT_A_READ_CB(READ8(*this, msx2_state, msx_psg_port_a_r)) + MCFG_AY8910_PORT_B_READ_CB(READ8(*this, msx2_state, msx_psg_port_b_r)) + MCFG_AY8910_PORT_A_WRITE_CB(WRITE8(*this, msx2_state, msx_psg_port_a_w)) + MCFG_AY8910_PORT_B_WRITE_CB(WRITE8(*this, msx2_state, msx_psg_port_b_w)) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.3) /* printer */ @@ -1531,7 +1531,7 @@ MACHINE_CONFIG_START(msx_state::msx2p) MACHINE_CONFIG_END -void msx_state::msx2_pal(machine_config &config) +void msx2_state::msx2_pal(machine_config &config) { msx2(config); m_v9938->set_screen_pal("screen"); @@ -4551,7 +4551,7 @@ ROM_START (ax350) ROM_LOAD ("ax350disk.rom", 0x2c000, 0x4000, CRC(1e7d6512) SHA1(78cd7f847e77fd8cd51a647efb2725ba93f4c471)) ROM_END -MACHINE_CONFIG_START(msx_state::ax350) +MACHINE_CONFIG_START(msx2_state::ax350) msx2_pal(config); // AY8910/YM2149? // FDC: wd2793/tc8566af?, 1 3.5" DSDD drive @@ -4587,7 +4587,7 @@ ROM_START (ax370) ROM_LOAD ("ax370disk.rom", 0x2c000, 0x4000, CRC(60f8baba) SHA1(95de8809d2758fc0a743390ea5085b602e59e101)) ROM_END -MACHINE_CONFIG_START(msx_state::ax370) +MACHINE_CONFIG_START(msx2_state::ax370) msx2_pal(config); // AY8910/YM2149? // FDC: tc8566af, 1 3.5" DSDD drive @@ -4619,7 +4619,7 @@ ROM_START (canonv25) ROM_LOAD ("v25ext.rom", 0x8000, 0x4000, CRC(4a48779c) SHA1(b8e30d604d319d511cbfbc61e5d8c38fbb9c5a33)) ROM_END -MACHINE_CONFIG_START(msx_state::canonv25) +MACHINE_CONFIG_START(msx2_state::canonv25) msx2(config); // YM2149 (in S-1985 MSX Engine) // FDC: None, 0 drives @@ -4649,7 +4649,7 @@ ROM_START (canonv30) ROM_LOAD ("v30disk.rom", 0xc000, 0x4000, CRC(54c73ad6) SHA1(12f2cc79b3d09723840bae774be48c0d721ec1c6)) ROM_END -MACHINE_CONFIG_START(msx_state::canonv30) +MACHINE_CONFIG_START(msx2_state::canonv30) msx2(config); // YM2149 (in S-1985 MSX Engine) // FDC: ??, 2 3.5" DSDD drive @@ -4681,7 +4681,7 @@ ROM_START (canonv30f) ROM_LOAD ("v30fdisk.rom", 0xc000, 0x4000, CRC(54c73ad6) SHA1(12f2cc79b3d09723840bae774be48c0d721ec1c6)) ROM_END -MACHINE_CONFIG_START(msx_state::canonv30f) +MACHINE_CONFIG_START(msx2_state::canonv30f) msx2(config); // YM2149 (in S-1985 MSX Engine) // FDC: ??, 2 3.5" DSDD drive @@ -4713,7 +4713,7 @@ ROM_START (cpc300) ROM_LOAD ("300han.rom", 0x10000, 0x8000, CRC(e78cd87f) SHA1(47a9d9a24e4fc6f9467c6e7d61a02d45f5a753ef)) ROM_END -MACHINE_CONFIG_START(msx_state::cpc300) +MACHINE_CONFIG_START(msx2_state::cpc300) msx2(config); // YM2149 (in S-1985 MSX Engine) // FDC: None, 0 drives @@ -4743,7 +4743,7 @@ ROM_START (cpc300e) ROM_LOAD ("300ehan.rom", 0x10000, 0x4000, BAD_DUMP CRC(5afea78d) SHA1(f08c91f8c78d681e1f02eaaaaafb87ad81112b60)) ROM_END -MACHINE_CONFIG_START(msx_state::cpc300e) +MACHINE_CONFIG_START(msx2_state::cpc300e) msx2(config); // AY8910/YM2149? // FDC: None, 0 drives @@ -4771,7 +4771,7 @@ ROM_START (cpc330k) ROM_LOAD ("330khan.rom", 0x10000, 0x4000, CRC(3d6dd335) SHA1(d2b058989a700ca772b9591f42c01ed0f45f74d6)) ROM_END -MACHINE_CONFIG_START(msx_state::cpc330k) +MACHINE_CONFIG_START(msx2_state::cpc330k) msx2(config); // YM2149 (in S-1985 MSX Engine) // FDC: None, 0 drives @@ -4805,7 +4805,7 @@ ROM_START (cpc400) ROM_LOAD ("400kfn.rom", 0, 0x20000, CRC(b663c605) SHA1(965f4982790f1817bcbabbb38c8777183b231a55)) ROM_END -MACHINE_CONFIG_START(msx_state::cpc400) +MACHINE_CONFIG_START(msx2_state::cpc400) msx2(config); // AY8910/YM2149? // FDC: mb8877a, 1 3.5" DS?DD drive @@ -4840,7 +4840,7 @@ ROM_START (cpc400s) ROM_LOAD ("400skfn.rom", 0, 0x20000, CRC(fa85368c) SHA1(30fff22e3e3d464993707488442721a5e56a9707)) ROM_END -MACHINE_CONFIG_START(msx_state::cpc400s) +MACHINE_CONFIG_START(msx2_state::cpc400s) msx2(config); // YM2149 (in S-1985 MSX Engine) // FDC: mb8877a, 1 3.5" DS?DD drive @@ -4876,7 +4876,7 @@ ROM_START (cpc61) ROM_LOAD ("61kfn.rom", 0x00000, 0x40000, CRC(9a3cf67c) SHA1(22d5f4e522250dc5eb17e15b68f4a51bb752cba1)) ROM_END -MACHINE_CONFIG_START(msx_state::cpc61) +MACHINE_CONFIG_START(msx2_state::cpc61) msx2(config); // YM2149 (in S-1985 MSX Engine) // FDC: None, 0 drives @@ -4909,7 +4909,7 @@ ROM_START (cpg120) ROM_LOAD ("cpg120kfn.rom", 0x0000, 0x40000, CRC(9a3cf67c) SHA1(22d5f4e522250dc5eb17e15b68f4a51bb752cba1)) ROM_END -MACHINE_CONFIG_START(msx_state::cpg120) +MACHINE_CONFIG_START(msx2_state::cpg120) msx2(config); // YM2149 (in S1985) // FDC: None, 0 drives @@ -4947,7 +4947,7 @@ ROM_START (fpc900) ROM_LOAD ("fpc900disk.rom", 0xc000, 0x4000, CRC(ca3307d3) SHA1(c3efedda7ab947a06d9345f7b8261076fa7ceeef)) ROM_END -MACHINE_CONFIG_START(msx_state::fpc900) +MACHINE_CONFIG_START(msx2_state::fpc900) msx2_pal(config); // YM2149 (in S-3527 MSX Engine) // FDC: WD2793?, 1 3.5" DSDD drive @@ -4979,7 +4979,7 @@ ROM_START (expert20) ROM_LOAD ("microsoldisk.rom", 0x10000, 0x4000, CRC(6704ef81) SHA1(a3028515ed829e900cc8deb403e17b09a38bf9b0)) ROM_END -MACHINE_CONFIG_START(msx_state::expert20) +MACHINE_CONFIG_START(msx2_state::expert20) msx2_pal(config); // AY8910/YM2149? // FDC: microsol, 1? 3.5"? DS?DD drive @@ -5014,7 +5014,7 @@ ROM_START (mbh70) ROM_LOAD ("mbh70kfn.rom", 0x0000, 0x20000, CRC(d23d4d2d) SHA1(db03211b7db46899df41db2b1dfbec972109a967)) ROM_END -MACHINE_CONFIG_START(msx_state::mbh70) +MACHINE_CONFIG_START(msx2_state::mbh70) msx2(config); // YM2149 (in S-1985) // FDC: WD2793?, 1? 3.5" DSDD drive @@ -5051,7 +5051,7 @@ ROM_START (kmc5000) ROM_LOAD ("kmc5000kfn.rom", 0, 0x20000, CRC(c61ddc5d) SHA1(5e872d5853698731a0ed22fb72dbcdfd59cd19c3)) ROM_END -MACHINE_CONFIG_START(msx_state::kmc5000) +MACHINE_CONFIG_START(msx2_state::kmc5000) msx2(config); // YM2149 (in S-1985) // FDC: TC8566AF?, 1? 3.5" DSDD drive @@ -5084,7 +5084,7 @@ ROM_START (mlg1) ROM_LOAD ("mlg1paint.rom", 0xc000, 0x8000, CRC(64df1750) SHA1(5cf0abca6dbcf940bc33c433ecb4e4ada02fbfe6)) ROM_END -MACHINE_CONFIG_START(msx_state::mlg1) +MACHINE_CONFIG_START(msx2_state::mlg1) msx2_pal(config); // YM2149 (in S-1985) // FDC: None, 0 drives @@ -5113,7 +5113,7 @@ ROM_START (mlg3) ROM_LOAD ("mlg3rs232c.rom", 0x10000, 0x4000, CRC(90b8a114) SHA1(dc50f2c9db233e505b0981c244ff3de553ac9d68)) ROM_END -MACHINE_CONFIG_START(msx_state::mlg3) +MACHINE_CONFIG_START(msx2_state::mlg3) msx2_pal(config); // YM2149 (in S-1985) // FDC: wd2793?, 1 3.5" DSDD drive @@ -5148,7 +5148,7 @@ ROM_START (mlg10) ROM_LOAD ("mlg10kfn.rom", 0, 0x20000, CRC(d23d4d2d) SHA1(db03211b7db46899df41db2b1dfbec972109a967)) ROM_END -MACHINE_CONFIG_START(msx_state::mlg10) +MACHINE_CONFIG_START(msx2_state::mlg10) msx2(config); // YM2149 (in S-1985) // FDC: None, 0 drives @@ -5178,7 +5178,7 @@ ROM_START (mlg30) ROM_LOAD ("g30kfn.rom", 0x0000, 0x20000, CRC(d23d4d2d) SHA1(db03211b7db46899df41db2b1dfbec972109a967)) ROM_END -MACHINE_CONFIG_START(msx_state::mlg30) +MACHINE_CONFIG_START(msx2_state::mlg30) msx2(config); // AY8910/YM2149? // FDC: wd2793/tc8566af?, 1 or 2? 3.5" DSDD drives @@ -5220,7 +5220,7 @@ ROM_START (fs4500) ROM_LOAD ("4500budi.rom", 0, 0x20000, CRC(f94590f8) SHA1(1ebb06062428fcdc66808a03761818db2bba3c73)) ROM_END -MACHINE_CONFIG_START(msx_state::fs4500) +MACHINE_CONFIG_START(msx2_state::fs4500) msx2(config); // YM2149 (in S-1985 MSX Engine) // FDC: None, 0 drives @@ -5268,7 +5268,7 @@ ROM_START (fs4600) ROM_LOAD ("4600kf12.rom", 0, 0x20000, CRC(340d1ef7) SHA1(a7a23dc01314e88381eee88b4878b39931ab4818)) ROM_END -MACHINE_CONFIG_START(msx_state::fs4600) +MACHINE_CONFIG_START(msx2_state::fs4600) msx2(config); // YM2149 (in S-1985 MSX Engine) // FDC: mb8877a, 1 3.5" DSDD drive @@ -5319,7 +5319,7 @@ ROM_START (fs4700) ROM_LOAD ("4700budi.rom", 0, 0x20000, CRC(f94590f8) SHA1(1ebb06062428fcdc66808a03761818db2bba3c73)) ROM_END -MACHINE_CONFIG_START(msx_state::fs4700) +MACHINE_CONFIG_START(msx2_state::fs4700) msx2(config); // YM2149 (in S-1985 MSX Engine) // FDC: mb8877a, 1 3.5" DSDD drive @@ -5367,7 +5367,7 @@ ROM_START (fs5000) ROM_LOAD ("5000kfn.rom", 0, 0x20000, CRC(c61ddc5d) SHA1(5e872d5853698731a0ed22fb72dbcdfd59cd19c3)) ROM_END -MACHINE_CONFIG_START(msx_state::fs5000) +MACHINE_CONFIG_START(msx2_state::fs5000) msx2(config); // YM2149 (in S-1985 MSX Engine) // FDC: wd2793, 2 3.5" DSDD drives @@ -5414,7 +5414,7 @@ ROM_START (fs5500f1) ROM_LOAD ("5500kfn.rom", 0, 0x20000, CRC(956dc96d) SHA1(9ed3ab6d893632b9246e91b412cd5db519e7586b)) ROM_END -MACHINE_CONFIG_START(msx_state::fs5500f1) +MACHINE_CONFIG_START(msx2_state::fs5500f1) msx2(config); // YM2149 in (S-1985 MSX Engine) // FDC: mb8877a, 1 3.5" DSDD drive @@ -5463,7 +5463,7 @@ ROM_START (fs5500f2) ROM_LOAD ("5500kfn.rom", 0, 0x20000, CRC(956dc96d) SHA1(9ed3ab6d893632b9246e91b412cd5db519e7586b)) ROM_END -MACHINE_CONFIG_START(msx_state::fs5500f2) +MACHINE_CONFIG_START(msx2_state::fs5500f2) msx2(config); // YM2149 in (S-1985 MSX Engine) // FDC: mb8877a, 2 3.5" DSDD drive @@ -5504,7 +5504,7 @@ ROM_START (fsa1) ROM_LOAD ("a1desk2.rom", 0x18000, 0x8000, CRC(7f6f4aa1) SHA1(7f5b76605e3d898cc4b5aacf1d7682b82fe84353)) ROM_END -MACHINE_CONFIG_START(msx_state::fsa1) +MACHINE_CONFIG_START(msx2_state::fsa1) msx2(config); // AY8910/YM2149? // FDC: None, 0 drives @@ -5531,7 +5531,7 @@ ROM_START (fsa1a) ROM_LOAD ("a1desk2.rom", 0x14000, 0x8000, CRC(7f6f4aa1) SHA1(7f5b76605e3d898cc4b5aacf1d7682b82fe84353)) ROM_END -MACHINE_CONFIG_START(msx_state::fsa1a) +MACHINE_CONFIG_START(msx2_state::fsa1a) msx2(config); // AY8910/YM2149? // FDC: None, 0 drives @@ -5562,7 +5562,7 @@ ROM_START (fsa1f) ROM_LOAD ("a1fkfn.rom", 0, 0x20000, CRC(c61ddc5d) SHA1(5e872d5853698731a0ed22fb72dbcdfd59cd19c3)) ROM_END -MACHINE_CONFIG_START(msx_state::fsa1f) +MACHINE_CONFIG_START(msx2_state::fsa1f) msx2(config); // AY8910/YM2149? // FDC: tc8566af, 1 3.5" DSDD drive @@ -5602,7 +5602,7 @@ ROM_START (fsa1fm) ROM_LOAD ("a1fmkf12.rom", 0, 0x20000, CRC(340d1ef7) SHA1(a7a23dc01314e88381eee88b4878b39931ab4818)) ROM_END -MACHINE_CONFIG_START(msx_state::fsa1fm) +MACHINE_CONFIG_START(msx2_state::fsa1fm) msx2(config); // AY8910/YM2149? // FDC: tc8566af, 1 3.5" DSDD drive @@ -5637,7 +5637,7 @@ ROM_START (fsa1mk2) ROM_LOAD ("a1mkcoc3.rom", 0x18000, 0x8000, CRC(c1945676) SHA1(a3f4e2e4934074925d775afe30ac72f150ede543)) ROM_END -MACHINE_CONFIG_START(msx_state::fsa1mk2) +MACHINE_CONFIG_START(msx2_state::fsa1mk2) msx2(config); // AY8910/YM2149? // FDC: None, 0 drives @@ -5665,7 +5665,7 @@ ROM_START (nms8220) ROM_LOAD ("8220pen.rom.u13", 0xc000, 0x4000, CRC(3d38c53e) SHA1(cb754aed85b3e97a7d3c5894310df7ca18f89f41)) ROM_END -MACHINE_CONFIG_START(msx_state::nms8220) +MACHINE_CONFIG_START(msx2_state::nms8220) msx2_pal(config); // YM2149 (in S-3527 MSX Engine) // FDC: None, 0 drives @@ -5692,7 +5692,7 @@ ROM_START (nms8220a) ROM_LOAD ("8220pena.rom.u13", 0xc000, 0x4000, CRC(17817b5a) SHA1(5df95d033ae70b107697b69470126ce1b7ae9eb5)) ROM_END -MACHINE_CONFIG_START(msx_state::nms8220a) +MACHINE_CONFIG_START(msx2_state::nms8220a) msx2_pal(config); // YM2149 (in S-3527 MSX Engine) // FDC: None, 0 drives @@ -5720,7 +5720,7 @@ ROM_START (nms8245) ROM_LOAD ("nms8245.u7", 0x0000, 0x20000, BAD_DUMP CRC(0c827d5f) SHA1(064e706cb1f12b99b329944ceeedc0efc3b2d9be)) ROM_END -MACHINE_CONFIG_START(msx_state::nms8245) +MACHINE_CONFIG_START(msx2_state::nms8245) msx2_pal(config); // YM2149 (in S-3527 MSX Engine) // FDC: wd2793, 1 3.5" DSDD drive @@ -5750,7 +5750,7 @@ ROM_START (nms8245f) ROM_LOAD ("nms8245.u7", 0x0000, 0x20000, BAD_DUMP CRC(0c827d5f) SHA1(064e706cb1f12b99b329944ceeedc0efc3b2d9be)) ROM_END -MACHINE_CONFIG_START(msx_state::nms8245f) +MACHINE_CONFIG_START(msx2_state::nms8245f) msx2_pal(config); // YM2149 (in S-3527 MSX Engine) // FDC: wd2793, 1 3.5" DSDD drive @@ -5782,7 +5782,7 @@ ROM_START (nms8250) ROM_LOAD ("jq00014.ic117", 0xc000, 0x4000, CRC(ca3307d3) SHA1(c3efedda7ab947a06d9345f7b8261076fa7ceeef)) ROM_END -MACHINE_CONFIG_START(msx_state::nms8250) +MACHINE_CONFIG_START(msx2_state::nms8250) msx2_pal(config); // YM2149 (in S-3527 MSX Engine) // FDC: wd2793, 1 3.5" DSDD drive @@ -5813,7 +5813,7 @@ ROM_START (nms8250f) ROM_LOAD ("nms8250fdisk.rom", 0xc000, 0x4000, CRC(13b60725) SHA1(58ba1887e8fd21c912b6859cae6514bd874ffcca)) ROM_END -MACHINE_CONFIG_START(msx_state::nms8250f) +MACHINE_CONFIG_START(msx2_state::nms8250f) msx2_pal(config); // YM2149 (in S-3527 MSX Engine) // FDC: wd2793, 1 3.5" DSDD drive @@ -5847,7 +5847,7 @@ ROM_START (nms8250j) ROM_LOAD ("8250jkfn.rom", 0x00000, 0x20000, CRC(5a59926e) SHA1(6acaf2eeb57f65f7408235d5e07b7563229de799)) ROM_END -MACHINE_CONFIG_START(msx_state::nms8250j) +MACHINE_CONFIG_START(msx2_state::nms8250j) msx2(config); // AY8910/YM2149? // FDC: wd2793?, 1 3.5" DSDD drive @@ -5876,7 +5876,7 @@ ROM_START (nms8255) ROM_LOAD ("8255disk.rom.ic117", 0xc000, 0x4000, CRC(ca3307d3) SHA1(c3efedda7ab947a06d9345f7b8261076fa7ceeef)) ROM_END -MACHINE_CONFIG_START(msx_state::nms8255) +MACHINE_CONFIG_START(msx2_state::nms8255) msx2_pal(config); // YM2149 (in S-3527 MSX Engine) // FDC: wd2793, 2 3.5" DSDD drives @@ -5907,7 +5907,7 @@ ROM_START (nms8255f) ROM_LOAD ("nms8255fdisk.rom", 0xc000, 0x4000, CRC(13b60725) SHA1(58ba1887e8fd21c912b6859cae6514bd874ffcca)) ROM_END -MACHINE_CONFIG_START(msx_state::nms8255f) +MACHINE_CONFIG_START(msx2_state::nms8255f) msx2_pal(config); // YM2149 (in S-3527 MSX Engine) // FDC: wd2793, 2 3.5" DSDD drives @@ -5940,7 +5940,7 @@ ROM_START (nms8260) ROM_LOAD ("nms8260hdd.rom", 0x10000, 0x4000, CRC(0051afc3) SHA1(77f9fe964f6d8cb8c4af3b5fe63ce6591d5288e6)) ROM_END -MACHINE_CONFIG_START(msx_state::nms8260) +MACHINE_CONFIG_START(msx2_state::nms8260) msx2_pal(config); // YM2149 (in S-3527 MSX Engine) // FDC: wd2793, 1 3.5" DSDD drives @@ -5974,7 +5974,7 @@ ROM_START (nms8280) ROM_LOAD ("8280disk.rom.ic117", 0xc000, 0x4000, CRC(ca3307d3) SHA1(c3efedda7ab947a06d9345f7b8261076fa7ceeef)) ROM_END -MACHINE_CONFIG_START(msx_state::nms8280) +MACHINE_CONFIG_START(msx2_state::nms8280) msx2_pal(config); // AY8910/YM2149? // FDC: wd2793, 2 3.5" DSDD drives @@ -6004,7 +6004,7 @@ ROM_START (nms8280f) ROM_LOAD ("8280fdisk.rom", 0xc000, 0x4000, CRC(13b60725) SHA1(58ba1887e8fd21c912b6859cae6514bd874ffcca)) ROM_END -MACHINE_CONFIG_START(msx_state::nms8280f) +MACHINE_CONFIG_START(msx2_state::nms8280f) msx2_pal(config); // AY8910/YM2149? // FDC: wd2793, 2 3.5" DSDD drives @@ -6034,7 +6034,7 @@ ROM_START (nms8280g) ROM_LOAD ("8280gdisk.rom.ic117", 0xc000, 0x4000, CRC(d0beebb8) SHA1(d1001f93c87ff7fb389e418e33bf7bc81bdbb65f)) ROM_END -MACHINE_CONFIG_START(msx_state::nms8280g) +MACHINE_CONFIG_START(msx2_state::nms8280g) msx2_pal(config); // AY8910/YM2149? // FDC: wd2793, 2 3.5" DSDD drives @@ -6064,7 +6064,7 @@ ROM_START (vg8230) ROM_LOAD ("8230disk.rom.u13", 0xc000, 0x4000, CRC(77c4e5bc) SHA1(849f93867ff7846b27f84d0be418569faf058ac2)) ROM_END -MACHINE_CONFIG_START(msx_state::vg8230) +MACHINE_CONFIG_START(msx2_state::vg8230) msx2_pal(config); // YM2149 (in S-3527 MSX Engine) // FDC: wd2793, 1 3.5" SSDD drive @@ -6098,7 +6098,7 @@ ROM_START (vg8230j) ROM_LOAD ("8230jkfn.rom", 0x00000, 0x20000, CRC(5a59926e) SHA1(6acaf2eeb57f65f7408235d5e07b7563229de799)) ROM_END -MACHINE_CONFIG_START(msx_state::vg8230j) +MACHINE_CONFIG_START(msx2_state::vg8230j) msx2(config); // AY8910/YM2149? // FDC: wd2793?, 1 3.5" SSDD drive? @@ -6127,7 +6127,7 @@ ROM_START (vg8235) ROM_LOAD ("8235disk.rom.u50", 0xc000, 0x4000, CRC(51daeb25) SHA1(8954e59aa79310c7b719ecf0cde1e82fb731dcd1)) ROM_END -MACHINE_CONFIG_START(msx_state::vg8235) +MACHINE_CONFIG_START(msx2_state::vg8235) msx2_pal(config); // YM2149 (in S-3527 MSX Engine) // FDC: wd2793, 1 3.5" SSDD drive @@ -6158,7 +6158,7 @@ ROM_START (vg8235f) ROM_LOAD ("8235fdisk.rom.u50", 0xc000, 0x4000, CRC(77c4e5bc) SHA1(849f93867ff7846b27f84d0be418569faf058ac2)) ROM_END -MACHINE_CONFIG_START(msx_state::vg8235f) +MACHINE_CONFIG_START(msx2_state::vg8235f) msx2_pal(config); // YM2149 (in S-3527 MSX Engine) // FDC: wd2793, 1 3.5" SSDD drive @@ -6189,7 +6189,7 @@ ROM_START (vg8240) ROM_LOAD ("8240disk.rom", 0xc000, 0x4000, CRC(ca3307d3) SHA1(c3efedda7ab947a06d9345f7b8261076fa7ceeef)) ROM_END -MACHINE_CONFIG_START(msx_state::vg8240) +MACHINE_CONFIG_START(msx2_state::vg8240) msx2_pal(config); // AY8910/YM2149? // FDC: wd2793, 1 3.5" DSDD drive @@ -6218,7 +6218,7 @@ ROM_START (mpc2300) ROM_LOAD ("2300ext.rom", 0x8000, 0x4000, CRC(3d7dc718) SHA1(e1f834b28c3ee7c9f79fe6fbf2b23c8a0617892b)) ROM_END -MACHINE_CONFIG_START(msx_state::mpc2300) +MACHINE_CONFIG_START(msx2_state::mpc2300) msx2(config); // AY8910/YM2149? // FDC: None, 0 drives @@ -6242,7 +6242,7 @@ ROM_START (mpc2500f) ROM_LOAD ("mpc2500fddisk.rom", 0xc000, 0x4000, CRC(38454059) SHA1(58ac78bba29a06645ca8d6a94ef2ac68b743ad32)) ROM_END -MACHINE_CONFIG_START(msx_state::mpc2500f) +MACHINE_CONFIG_START(msx2_state::mpc2500f) msx2(config); // YM2149 // FDC: wd2793?, 1? 3.5" DSDD drive? @@ -6272,7 +6272,7 @@ ROM_START (mpc25fd) ROM_LOAD ("25fddisk.rom", 0xc000, 0x4000, CRC(38454059) SHA1(58ac78bba29a06645ca8d6a94ef2ac68b743ad32)) ROM_END -MACHINE_CONFIG_START(msx_state::mpc25fd) +MACHINE_CONFIG_START(msx2_state::mpc25fd) msx2(config); // YM2149 (in S-3527 MSX Engine) // FDC: wd2793, 1 drive @@ -6303,7 +6303,7 @@ ROM_START (mpc27) ROM_RELOAD (0x12000, 0x2000) ROM_END -MACHINE_CONFIG_START(msx_state::mpc27) +MACHINE_CONFIG_START(msx2_state::mpc27) msx2(config); // YM2149 (in S-3527 MSX Engine) // FDC: wd2793?, 1 drive @@ -6333,7 +6333,7 @@ ROM_START (phc23) ROM_LOAD ("23ext.rom", 0x8000, 0x4000, CRC(90ca25b5) SHA1(fd9fa78bac25aa3c0792425b21d14e364cf7eea4)) ROM_END -MACHINE_CONFIG_START(msx_state::phc23) +MACHINE_CONFIG_START(msx2_state::phc23) msx2(config); // YM2149 (in S-1985 MSX Engine) // FDC: None, 0 drives @@ -6360,7 +6360,7 @@ ROM_START (phc55fd2) ROM_LOAD ("phc55fd2disk.rom", 0xc000, 0x4000, CRC(38454059) SHA1(58ac78bba29a06645ca8d6a94ef2ac68b743ad32)) ROM_END -MACHINE_CONFIG_START(msx_state::phc55fd2) +MACHINE_CONFIG_START(msx2_state::phc55fd2) msx2(config); // YM2149 (in S-1985 MSX Engine) // FDC: wd2793?, 2 3.5" DSDD drives @@ -6396,7 +6396,7 @@ ROM_START (phc77) ROM_LOAD ("phc77kfn.rom", 0x0000, 0x20000, CRC(3b8fdf44) SHA1(fc71561a64f73da0e0043d256f67fd18d7fc3a7f)) ROM_END -MACHINE_CONFIG_START(msx_state::phc77) +MACHINE_CONFIG_START(msx2_state::phc77) msx2(config); // YM2149 (in S-1985 MSX Engine) // FDC: wd2793?, 1 drive @@ -6431,7 +6431,7 @@ ROM_START (hotbit20) ROM_LOAD ("microsoldisk.rom", 0x10000, 0x4000, CRC(6704ef81) SHA1(a3028515ed829e900cc8deb403e17b09a38bf9b0)) ROM_END -MACHINE_CONFIG_START(msx_state::hotbit20) +MACHINE_CONFIG_START(msx2_state::hotbit20) msx2_pal(config); // AY8910/YM2149? // FDC: microsol, 1 or 2 drives? @@ -6464,7 +6464,7 @@ ROM_START (hbf1) ROM_LOAD ("f1note3.rom", 0x18000, 0x8000, CRC(73eb9329) SHA1(58accf41a90693874b86ce98d8d43c27beb8b6dc)) ROM_END -MACHINE_CONFIG_START(msx_state::hbf1) +MACHINE_CONFIG_START(msx2_state::hbf1) msx2(config); // AY8910/YM2149? // FDC: None, 0 drives @@ -6493,7 +6493,7 @@ ROM_START (hbf12) ROM_LOAD ("f12note3.rom", 0x18000, 0x8000, CRC(44a10e6a) SHA1(917d1c079e03c4a44de864f123d03c4e32c8daae)) ROM_END -MACHINE_CONFIG_START(msx_state::hbf12) +MACHINE_CONFIG_START(msx2_state::hbf12) msx2(config); // AY8910/YM2149? // FDC: None, 0 drives @@ -6521,7 +6521,7 @@ ROM_START (hbf1xd) ROM_LOAD ("f1xddisk.rom.ic27", 0xc000, 0x4000, BAD_DUMP CRC(54c73ad6) SHA1(12f2cc79b3d09723840bae774be48c0d721ec1c6)) ROM_END -MACHINE_CONFIG_START(msx_state::hbf1xd) +MACHINE_CONFIG_START(msx2_state::hbf1xd) msx2(config); // YM2149 (in S-1895 MSX Engine) // FDC: wd2793, 1 3.5" DSDD drive @@ -6554,7 +6554,7 @@ ROM_START (hbf1xdm2) ROM_LOAD ("f1m2disk.rom.ic27", 0xc000, 0x4000, BAD_DUMP CRC(54c73ad6) SHA1(12f2cc79b3d09723840bae774be48c0d721ec1c6)) ROM_END -MACHINE_CONFIG_START(msx_state::hbf1xdm2) +MACHINE_CONFIG_START(msx2_state::hbf1xdm2) msx2(config); // AY8910/YM2149? // FDC: wd2793, 1 3.5" DSDD drive @@ -6584,7 +6584,7 @@ ROM_START (hbf5) ROM_LOAD ("hbf5note.rom", 0xc000, 0x4000, CRC(0cdc0777) SHA1(06ba91d6732ee8a2ecd5dcc38b0ce42403d86708)) ROM_END -MACHINE_CONFIG_START(msx_state::hbf5) +MACHINE_CONFIG_START(msx2_state::hbf5) msx2_pal(config); // YM2149 // FDC: None, 0 drives @@ -6612,7 +6612,7 @@ ROM_START (hbf500) ROM_LOAD ("f500kfn.rom", 0, 0x20000, CRC(5a59926e) SHA1(6acaf2eeb57f65f7408235d5e07b7563229de799)) ROM_END -MACHINE_CONFIG_START(msx_state::hbf500) +MACHINE_CONFIG_START(msx2_state::hbf500) msx2(config); // AY8910/YM2149? // FDC: wd2793, 1 3.5" DSDD drive @@ -6642,7 +6642,7 @@ ROM_START (hbf500f) ROM_LOAD ("hbf500fdisk.rom", 0xc000, 0x4000, CRC(6e718f5c) SHA1(0e081572f84555dc13bdb0c7044a19d6c164d985)) ROM_END -MACHINE_CONFIG_START(msx_state::hbf500f) +MACHINE_CONFIG_START(msx2_state::hbf500f) msx2_pal(config); // AY8910/YM2149? // FDC: wd2793, 1 3.5" DSDD drive @@ -6672,7 +6672,7 @@ ROM_START (hbf500p) ROM_FILL (0x10000, 0xc000, 0xFF) ROM_END -MACHINE_CONFIG_START(msx_state::hbf500p) +MACHINE_CONFIG_START(msx2_state::hbf500p) msx2_pal(config); // AY8910/YM2149? // FDC: wd2793, 1 3.5" DSDD drive @@ -6702,7 +6702,7 @@ ROM_START (hbf700d) ROM_LOAD ("700dext.ic6", 0x8000, 0x8000, CRC(100cf756) SHA1(317722fa36c2ed31c07c5218b43490fd5badf1f8)) ROM_END -MACHINE_CONFIG_START(msx_state::hbf700d) +MACHINE_CONFIG_START(msx2_state::hbf700d) msx2_pal(config); // YM2149 (in S-1985 MSX Engine) // FDC: wd2793, 1 3.5" DSDD drive @@ -6734,7 +6734,7 @@ ROM_START (hbf700f) ROM_LOAD ("700fext.ic6", 0x8000, 0x8000, CRC(7c8b07b1) SHA1(ecacb20ba0a9bbd25e8c0f128d64dd66f8cd8bee)) ROM_END -MACHINE_CONFIG_START(msx_state::hbf700f) +MACHINE_CONFIG_START(msx2_state::hbf700f) msx2_pal(config); // AY8910/YM2149? // FDC: wd2793, 1 3.5" DSDD drive @@ -6763,7 +6763,7 @@ ROM_START (hbf700p) ROM_LOAD ("700pext.ic6", 0x8000, 0x8000, CRC(63e1bffc) SHA1(496698a60432490dc1306c8cc1d4a6ded275261a)) ROM_END -MACHINE_CONFIG_START(msx_state::hbf700p) +MACHINE_CONFIG_START(msx2_state::hbf700p) msx2_pal(config); // YM2149 (in S-1985 MSX Engine) // FDC: wd2793, 1 3.5" DSDD drive @@ -6795,7 +6795,7 @@ ROM_START (hbf700s) ROM_LOAD ("700sext.ic6", 0x8000, 0x8000, CRC(28d1badf) SHA1(ae3ed88a2d7034178e08f7bdf5409f462bf67fc9)) ROM_END -MACHINE_CONFIG_START(msx_state::hbf700s) +MACHINE_CONFIG_START(msx2_state::hbf700s) msx2_pal(config); // AY8910/YM2149? // FDC: wd2793, 1 3.5" DSDD drive @@ -6829,7 +6829,7 @@ ROM_START (hbf900) ROM_LOAD ("f900kfn.rom", 0, 0x20000, CRC(5a59926e) SHA1(6acaf2eeb57f65f7408235d5e07b7563229de799)) ROM_END -MACHINE_CONFIG_START(msx_state::hbf900) +MACHINE_CONFIG_START(msx2_state::hbf900) msx2(config); // AY8910/YM2149? // FDC: wd2793, 2 3.5" DSDD drives @@ -6864,7 +6864,7 @@ ROM_START (hbf900a) ROM_LOAD ("f900kfn.rom", 0, 0x20000, CRC(5a59926e) SHA1(6acaf2eeb57f65f7408235d5e07b7563229de799)) ROM_END -MACHINE_CONFIG_START(msx_state::hbf900a) +MACHINE_CONFIG_START(msx2_state::hbf900a) msx2(config); // AY8910/YM2149? // FDC: wd2793, 2 3.5" DSDD drives @@ -6895,7 +6895,7 @@ ROM_START (hbf9p) ROM_LOAD ("f9pfirm2.rom.ic13", 0x10000, 0x8000, CRC(ea97069f) SHA1(2d1880d1f5a6944fcb1b198b997a3d90ecd1903d)) ROM_END -MACHINE_CONFIG_START(msx_state::hbf9p) +MACHINE_CONFIG_START(msx2_state::hbf9p) msx2_pal(config); // YM2149 (in S-1985 MSX Engine) // FDC: None, 0 drives @@ -6923,7 +6923,7 @@ ROM_START (hbf9pr) ROM_LOAD ("f9prext.rom", 0x8000, 0x4000, CRC(8b966f50) SHA1(65253cb38ab11084f355a2d4ad78fa6c64cbe660)) ROM_END -MACHINE_CONFIG_START(msx_state::hbf9pr) +MACHINE_CONFIG_START(msx2_state::hbf9pr) msx2_pal(config); // YM2149 (in S-1985 MSX Engine) // FDC: None, 0 drives @@ -6950,7 +6950,7 @@ ROM_START (hbf9s) ROM_LOAD ("f9sfirm2.ic13", 0x10000, 0x8000, CRC(ea97069f) SHA1(2d1880d1f5a6944fcb1b198b997a3d90ecd1903d)) ROM_END -MACHINE_CONFIG_START(msx_state::hbf9s) +MACHINE_CONFIG_START(msx2_state::hbf9s) msx2_pal(config); // YM2149 (in S-1985 MSX Engine) // FDC: None, 0 drives @@ -6987,7 +6987,7 @@ ROM_START (hbg900ap) ROM_LOAD ("g900util.rom", 0x14000, 0x4000, CRC(d0417c20) SHA1(8779b004e7605a3c419825f0373a5d8fa84e1d5b)) ROM_END -MACHINE_CONFIG_START(msx_state::hbg900ap) +MACHINE_CONFIG_START(msx2_state::hbg900ap) msx2_pal(config); // AY8910/YM2149? // FDC: wd2793, 1 3.5" DSDD drive @@ -7021,7 +7021,7 @@ ROM_START (hbg900p) ROM_LOAD ("g900util.rom", 0x14000, 0x4000, CRC(d0417c20) SHA1(8779b004e7605a3c419825f0373a5d8fa84e1d5b)) ROM_END -MACHINE_CONFIG_START(msx_state::hbg900p) +MACHINE_CONFIG_START(msx2_state::hbg900p) msx2_pal(config); // AY8910/YM2149? // FDC: wd2793, 1 3.5" DSDD drive @@ -7054,7 +7054,7 @@ ROM_START (tpc310) ROM_LOAD ("tpc310acc.rom", 0x14000, 0x8000, CRC(4fb8fab3) SHA1(cdeb0ed8adecaaadb78d5a5364fd603238591685)) ROM_END -MACHINE_CONFIG_START(msx_state::tpc310) +MACHINE_CONFIG_START(msx2_state::tpc310) msx2_pal(config); // YM2149 (in S-1985 MSX Engine) // FDC: mb8877a?, 1 3.5" DSDD drive @@ -7088,7 +7088,7 @@ ROM_START (tpp311) ROM_LOAD ("311logo.rom", 0xc000, 0x8000, CRC(0e6ecb9f) SHA1(e45ddc5bf1a1e63756d11fb43fc50276ca35cab0)) ROM_END -MACHINE_CONFIG_START(msx_state::tpp311) +MACHINE_CONFIG_START(msx2_state::tpp311) msx2_pal(config); // AY8910/YM2149? // FDC: None, 0 drives @@ -7113,7 +7113,7 @@ ROM_START (tps312) ROM_LOAD ("312write.rom", 0x14000, 0x4000, CRC(63c6992f) SHA1(93682f5baba7697c40088e26f99ee065c78e83b8)) ROM_END -MACHINE_CONFIG_START(msx_state::tps312) +MACHINE_CONFIG_START(msx2_state::tps312) msx2_pal(config); // AY8910/YM2149? // FDC: None, 0 drives @@ -7143,7 +7143,7 @@ ROM_START (hx23) ROM_LOAD ("hx23word.rom", 0xc000, 0x8000, CRC(39b3e1c0) SHA1(9f7cfa932bd7dfd0d9ecaadc51655fb557c2e125)) ROM_END -MACHINE_CONFIG_START(msx_state::hx23) +MACHINE_CONFIG_START(msx2_state::hx23) msx2_pal(config); // AY8910/YM2149? // FDC: None, 0 drives @@ -7172,7 +7172,7 @@ ROM_START (hx23f) ROM_LOAD ("hx23fword.rom", 0xc000, 0x8000, CRC(39b3e1c0) SHA1(9f7cfa932bd7dfd0d9ecaadc51655fb557c2e125)) ROM_END -MACHINE_CONFIG_START(msx_state::hx23f) +MACHINE_CONFIG_START(msx2_state::hx23f) msx2_pal(config); // AY8910/YM2149? // FDC: None, 0 drives @@ -7198,7 +7198,7 @@ ROM_START (hx23i) ROM_LOAD ("hx23iword.rom", 0xc000, 0x8000, CRC(d50db5b4) SHA1(64cf27a6be1393b1da9f8d5d43df617c9f22fbd2)) ROM_END -MACHINE_CONFIG_START(msx_state::hx23i) +MACHINE_CONFIG_START(msx2_state::hx23i) msx2_pal(config); // YM2149 (in S-1985) // FDC: None, 0 drives @@ -7229,7 +7229,7 @@ ROM_START (hx33) ROM_LOAD ("hx33kfn.rom", 0x0000, 0x20000, CRC(d23d4d2d) SHA1(db03211b7db46899df41db2b1dfbec972109a967)) ROM_END -MACHINE_CONFIG_START(msx_state::hx33) +MACHINE_CONFIG_START(msx2_state::hx33) msx2(config); // YM2149 (in S-1985) // FDC: None, 0, drives @@ -7265,7 +7265,7 @@ ROM_REGION (0x18000, "maincpu", 0) ROM_LOAD ("hx34kfn.rom", 0x0000, 0x20000, CRC(d23d4d2d) SHA1(db03211b7db46899df41db2b1dfbec972109a967)) ROM_END -MACHINE_CONFIG_START(msx_state::hx34) +MACHINE_CONFIG_START(msx2_state::hx34) msx2(config); // YM2149 (in S-1985) // FDC: wd2793??, 1 3.5" DSDD drive @@ -7301,7 +7301,7 @@ ROM_START (hx34i) ROM_LOAD ("hx34ifirm.rom", 0x10000, 0x8000, CRC(f9e29c66) SHA1(3289336b2c12161fd926a7e5ce865770ae7038af)) ROM_END -MACHINE_CONFIG_START(msx_state::hx34i) +MACHINE_CONFIG_START(msx2_state::hx34i) msx2_pal(config); // YM2149 (in S-1985) // FDC: wd2793??, 1 3.5" DSDD drive @@ -7336,7 +7336,7 @@ ROM_START (fstm1) ROM_LOAD ("fstm1desk2.rom", 0x14000, 0x8000, CRC(304820ea) SHA1(ff6e07d3976b0874164fae680ae028d598752049)) ROM_END -MACHINE_CONFIG_START(msx_state::fstm1) +MACHINE_CONFIG_START(msx2_state::fstm1) msx2_pal(config); // YM2149 (in S-1985) // FDC: None, 0 drives @@ -7369,7 +7369,7 @@ ROM_START (victhc90) ROM_LOAD ("hc90kfn.rom", 0x0000, 0x20000, CRC(d23d4d2d) SHA1(db03211b7db46899df41db2b1dfbec972109a967)) ROM_END -MACHINE_CONFIG_START(msx_state::victhc90) +MACHINE_CONFIG_START(msx2_state::victhc90) msx2(config); // YM2149 (in S-1985) // FDC: wd2793?, 1 3.5" DSDD drive @@ -7407,7 +7407,7 @@ ROM_START (victhc95) ROM_LOAD ("hc95kfn.rom", 0x0000, 0x20000, CRC(d23d4d2d) SHA1(db03211b7db46899df41db2b1dfbec972109a967)) ROM_END -MACHINE_CONFIG_START(msx_state::victhc95) +MACHINE_CONFIG_START(msx2_state::victhc95) msx2(config); // YM2149 (in S-1985) // FDC: wd2793?, 2 3.5" DSDD drive @@ -7445,7 +7445,7 @@ ROM_START (victhc95a) ROM_LOAD ("hc95akfn.rom", 0x0000, 0x20000, CRC(d23d4d2d) SHA1(db03211b7db46899df41db2b1dfbec972109a967)) ROM_END -MACHINE_CONFIG_START(msx_state::victhc95a) +MACHINE_CONFIG_START(msx2_state::victhc95a) msx2(config); // YM2149 (in S-1985) // FDC: wd2793?, 2 3.5" DSDD drive @@ -7479,7 +7479,7 @@ ROM_START (cx7m) ROM_LOAD ("cx7mext.rom", 0x8000, 0x4000, CRC(66237ecf) SHA1(5c1f9c7fb655e43d38e5dd1fcc6b942b2ff68b02)) ROM_END -MACHINE_CONFIG_START(msx_state::cx7m) +MACHINE_CONFIG_START(msx2_state::cx7m) msx2_pal(config); // AY8910/YM2149? // FDC: None, 0 drives @@ -7505,7 +7505,7 @@ ROM_START (cx7m128) ROM_LOAD ("yrm502.rom", 0xc000, 0x4000, CRC(51f7ddd1) SHA1(2a4b4a4657e3077df8a88f98210b76883d3702b1)) ROM_END -MACHINE_CONFIG_START(msx_state::cx7m128) +MACHINE_CONFIG_START(msx2_state::cx7m128) msx2_pal(config); // AY8910/YM2149? // FDC: None, 0 drives @@ -7533,7 +7533,7 @@ ROM_START (y503iiir) ROM_LOAD ("yis503iiirnet.rom", 0x10000, 33121, CRC(b10fb61c) SHA1(af2b7004a8888d7a72eee937783fccaca0f38621)) // Very odd size for a rom... ROM_END -MACHINE_CONFIG_START(msx_state::y503iiir) +MACHINE_CONFIG_START(msx2_state::y503iiir) msx2_pal(config); // YM2149 (in S-3527) // FDC: wd2793?, 1 3.5" DSDD drive @@ -7566,7 +7566,7 @@ ROM_START (y503iiire) ROM_LOAD ("yis503iiirenet.rom", 0x10000, 33121, CRC(b10fb61c) SHA1(af2b7004a8888d7a72eee937783fccaca0f38621)) // Very odd size for a rom... ROM_END -MACHINE_CONFIG_START(msx_state::y503iiire) +MACHINE_CONFIG_START(msx2_state::y503iiire) msx2_pal(config); // YM2149 (in S-3527) // FDC: wd2793?, 1 3.5" DSDD drive @@ -7600,7 +7600,7 @@ ROM_START (yis60464) ROM_LOAD ("yis604kfn.rom", 0x0000, 0x20000, CRC(5a59926e) SHA1(6acaf2eeb57f65f7408235d5e07b7563229de799)) ROM_END -MACHINE_CONFIG_START(msx_state::yis60464) +MACHINE_CONFIG_START(msx2_state::yis60464) msx2(config); // YM2149 (in S-3527) // FDC: None, 0 drives @@ -7629,7 +7629,7 @@ ROM_START (yis604) ROM_LOAD ("yis604kfn.rom", 0x0000, 0x20000, CRC(5a59926e) SHA1(6acaf2eeb57f65f7408235d5e07b7563229de799)) ROM_END -MACHINE_CONFIG_START(msx_state::yis604) +MACHINE_CONFIG_START(msx2_state::yis604) msx2(config); // YM2149 (in S-3527) // FDC: None, 0 drives @@ -7660,7 +7660,7 @@ ROM_START (y805128) ROM_LOAD ("yis805128kfn.rom", 0x0000, 0x20000, CRC(5a59926e) SHA1(6acaf2eeb57f65f7408235d5e07b7563229de799)) ROM_END -MACHINE_CONFIG_START(msx_state::y805128) +MACHINE_CONFIG_START(msx2_state::y805128) msx2(config); // YM2149 (in S-3527) // FDC: wd2793?, 1 3.5" DSDD drive @@ -7694,7 +7694,7 @@ ROM_START (y805128r2) ROM_LOAD ("yis805128r2paint.rom", 0x18000, 0x10000, CRC(1bda68a3) SHA1(7fd2a28c4fdaeb140f3c8c8fb90271b1472c97b9)) ROM_END -MACHINE_CONFIG_START(msx_state::y805128r2) +MACHINE_CONFIG_START(msx2_state::y805128r2) msx2_pal(config); // YM2149 (in S-3527) // FDC: wd2793?, 1 3.5" DSDD drive @@ -7729,7 +7729,7 @@ ROM_START (y805128r2e) ROM_LOAD ("yis805128r2epaint.rom", 0x18000, 0x10000, CRC(1bda68a3) SHA1(7fd2a28c4fdaeb140f3c8c8fb90271b1472c97b9)) ROM_END -MACHINE_CONFIG_START(msx_state::y805128r2e) +MACHINE_CONFIG_START(msx2_state::y805128r2e) msx2_pal(config); // YM2149 (in S-3527) // FDC: wd2793?, 1 3.5" DSDD drive @@ -7766,7 +7766,7 @@ ROM_START (y805256) ROM_LOAD ("yis805256kfn.rom", 0x0000, 0x20000, CRC(5a59926e) SHA1(6acaf2eeb57f65f7408235d5e07b7563229de799)) ROM_END -MACHINE_CONFIG_START(msx_state::y805256) +MACHINE_CONFIG_START(msx2_state::y805256) msx2(config); // YM2149 (in S-3527) // FDC: wd2793?, 1 3.5" DSDD drive @@ -7802,7 +7802,7 @@ ROM_START (expert3i ) ROM_LOAD ("ide240a.rom", 0x14000, 0x10000, CRC(7adf857f) SHA1(8a919dbeed92db8c06a611279efaed8552810239)) ROM_END -MACHINE_CONFIG_START(msx_state::expert3i) +MACHINE_CONFIG_START(msx2_state::expert3i) msx2p(config); // AY8910/YM2149? // FDC: wd2793, 1 or 2? drives @@ -7838,7 +7838,7 @@ ROM_START (expert3t ) ROM_LOAD ("turbo.rom", 0x14000, 0x4000, CRC(ab528416) SHA1(d468604269ae7664ac739ea9f922a05e14ffa3d1)) ROM_END -MACHINE_CONFIG_START(msx_state::expert3t) +MACHINE_CONFIG_START(msx2_state::expert3t) msx2p(config); // AY8910 // FDC: wd2793?, 1 or 2? drives @@ -7874,7 +7874,7 @@ ROM_START (expertac) ROM_LOAD ("xbasic2.rom", 0x14000, 0x4000, CRC(2825b1a0) SHA1(47370bec7ca1f0615a54eda548b07fbc0c7ef398)) ROM_END -MACHINE_CONFIG_START(msx_state::expertac) +MACHINE_CONFIG_START(msx2_state::expertac) msx2p(config); // AY8910/YM2149? // FDC: wd2793?, 1 or 2? drives @@ -7907,7 +7907,7 @@ ROM_START (expertdx) ROM_LOAD ("kanji.rom", 0x14000, 0x8000, CRC(b4fc574d) SHA1(dcc3a67732aa01c4f2ee8d1ad886444a4dbafe06)) ROM_END -MACHINE_CONFIG_START(msx_state::expertdx) +MACHINE_CONFIG_START(msx2_state::expertdx) msx2p(config); // AY8910/YM2149? // FDC: tc8566af, 1 3.5" DSDD drive? @@ -7943,7 +7943,7 @@ ROM_START (fsa1fx) ROM_LOAD ("a1fxkfn.rom", 0, 0x20000, CRC(b244f6cf) SHA1(e0e99cd91e88ce2676445663f832c835d74d6fd4)) ROM_END -MACHINE_CONFIG_START(msx_state::fsa1fx) +MACHINE_CONFIG_START(msx2_state::fsa1fx) msx2p(config); // AY8910/YM2149? // FDC: tc8566af, 1 3.5" DSDD drive @@ -7960,7 +7960,7 @@ MACHINE_CONFIG_START(msx_state::fsa1fx) MCFG_MSX_LAYOUT_ROM("cock", 3, 3, 1, 2, "maincpu", 0x18000) MCFG_MSX_MATSUSHITA_ADD( "matsushita" ) - MCFG_MSX_MATSUSHITA_TURBO_CB(WRITELINE(*this, msx_state, turbo_w)) + MCFG_MSX_MATSUSHITA_TURBO_CB(WRITELINE(*this, msx2_state, turbo_w)) MCFG_MSX_SYSTEMFLAGS_ADD("sysflags", 0xff) @@ -7986,7 +7986,7 @@ ROM_START (fsa1wsx) ROM_LOAD ("a1wskfn.rom", 0, 0x40000, CRC(1f6406fb) SHA1(5aff2d9b6efc723bc395b0f96f0adfa83cc54a49)) ROM_END -MACHINE_CONFIG_START(msx_state::fsa1wsx) +MACHINE_CONFIG_START(msx2_state::fsa1wsx) msx2p(config); // AY8910/YM2149? // FDC: tc8566af, 1 3.5" DSDD drive @@ -8006,7 +8006,7 @@ MACHINE_CONFIG_START(msx_state::fsa1wsx) MCFG_MSX_LAYOUT_PANASONIC08("firm", 3, 3, 0, 4, "maincpu", 0x1c000) MCFG_MSX_MATSUSHITA_ADD( "matsushita" ) - MCFG_MSX_MATSUSHITA_TURBO_CB(WRITELINE(*this, msx_state, turbo_w)) + MCFG_MSX_MATSUSHITA_TURBO_CB(WRITELINE(*this, msx2_state, turbo_w)) MCFG_MSX_SYSTEMFLAGS_ADD("sysflags", 0xff) @@ -8034,7 +8034,7 @@ ROM_START (fsa1wx) ROM_LOAD ("a1wxkfn.rom", 0, 0x40000, CRC(1f6406fb) SHA1(5aff2d9b6efc723bc395b0f96f0adfa83cc54a49)) ROM_END -MACHINE_CONFIG_START(msx_state::fsa1wx) +MACHINE_CONFIG_START(msx2_state::fsa1wx) msx2p(config); // AY8910/YM2149? // FDC: tc8566af, 1 3.5" DSDD drive @@ -8054,7 +8054,7 @@ MACHINE_CONFIG_START(msx_state::fsa1wx) MCFG_MSX_LAYOUT_PANASONIC08("firm", 3, 3, 0, 4, "maincpu", 0x1c000) MCFG_MSX_MATSUSHITA_ADD( "matsushita" ) - MCFG_MSX_MATSUSHITA_TURBO_CB(WRITELINE(*this, msx_state, turbo_w)) + MCFG_MSX_MATSUSHITA_TURBO_CB(WRITELINE(*this, msx2_state, turbo_w)) MCFG_MSX_SYSTEMFLAGS_ADD("sysflags", 0xff) @@ -8081,7 +8081,7 @@ ROM_START (fsa1wxa) ROM_LOAD ("a1wxkfn.rom", 0, 0x40000, CRC(1f6406fb) SHA1(5aff2d9b6efc723bc395b0f96f0adfa83cc54a49)) ROM_END -MACHINE_CONFIG_START(msx_state::fsa1wxa) +MACHINE_CONFIG_START(msx2_state::fsa1wxa) msx2p(config); // AY8910/YM2149? // FDC: tc8566af, 1 3.5" DSDD drive @@ -8100,7 +8100,7 @@ MACHINE_CONFIG_START(msx_state::fsa1wxa) MCFG_MSX_LAYOUT_PANASONIC08("firm", 3, 3, 0, 4, "maincpu", 0x1c000) MCFG_MSX_MATSUSHITA_ADD( "matsushita" ) - MCFG_MSX_MATSUSHITA_TURBO_CB(WRITELINE(*this, msx_state, turbo_w)) + MCFG_MSX_MATSUSHITA_TURBO_CB(WRITELINE(*this, msx2_state, turbo_w)) MCFG_MSX_SYSTEMFLAGS_ADD("sysflags", 0xff) @@ -8125,7 +8125,7 @@ ROM_START (phc35j) ROM_LOAD ("35jkfn.rom", 0, 0x20000, CRC(c9651b32) SHA1(84a645becec0a25d3ab7a909cde1b242699a8662)) ROM_END -MACHINE_CONFIG_START(msx_state::phc35j) +MACHINE_CONFIG_START(msx2_state::phc35j) msx2p(config); // AY8910/YM2149? // FDC: None, 0 drives @@ -8159,7 +8159,7 @@ ROM_START (phc70fd) ROM_LOAD ("70fdkfn.rom", 0, 0x20000, CRC(c9651b32) SHA1(84a645becec0a25d3ab7a909cde1b242699a8662)) ROM_END -MACHINE_CONFIG_START(msx_state::phc70fd) +MACHINE_CONFIG_START(msx2_state::phc70fd) msx2p(config); // AY8910/YM2149? // FDC: tc8566af, 1 3.5" DSDD drive @@ -8202,7 +8202,7 @@ ROM_START (phc70fd2) ROM_LOAD ("70f2kfn.rom", 0, 0x40000, CRC(9a850db9) SHA1(bcdb4dae303dfe5234f372d70a5e0271d3202c36)) ROM_END -MACHINE_CONFIG_START(msx_state::phc70fd2) +MACHINE_CONFIG_START(msx2_state::phc70fd2) msx2p(config); // AY8910/YM2149? // FDC: tc8566af, 2 3.5" DSDD drives @@ -8246,7 +8246,7 @@ ROM_START (hbf1xdj) ROM_LOAD ("f1xjkfn.rom", 0, 0x40000, CRC(7016dfd0) SHA1(218d91eb6df2823c924d3774a9f455492a10aecb)) ROM_END -MACHINE_CONFIG_START(msx_state::hbf1xdj) +MACHINE_CONFIG_START(msx2_state::hbf1xdj) msx2p(config); // YM2149 (in S-1985 MSX Engine) // FDC: wd2793, 1 3.5" DSDD drive @@ -8293,7 +8293,7 @@ ROM_START (hbf1xv) ROM_LOAD ("f1xvkfn.rom", 0, 0x40000, CRC(7016dfd0) SHA1(218d91eb6df2823c924d3774a9f455492a10aecb)) ROM_END -MACHINE_CONFIG_START(msx_state::hbf1xv) +MACHINE_CONFIG_START(msx2_state::hbf1xv) msx2p(config); // YM2149 (in S-1985 MSX Engine) // FDC: wd2793, 1 3.5" DSDD drives @@ -8335,7 +8335,7 @@ ROM_START (hbf9sp) ROM_LOAD ("f9spfrm2.rom", 0x10000, 0x8000, CRC(ea97069f) SHA1(2d1880d1f5a6944fcb1b198b997a3d90ecd1903d)) ROM_END -MACHINE_CONFIG_START(msx_state::hbf9sp) +MACHINE_CONFIG_START(msx2_state::hbf9sp) msx2p(config); // AY8910/YM2149? // FDC: None, 0 drives @@ -8368,7 +8368,7 @@ ROM_START (fsa1gt) ROM_LOAD ("a1gtfirm.rom", 0x6c000, 0x400000, CRC(feefeadc) SHA1(e779c338eb91a7dea3ff75f3fde76b8af22c4a3a)) ROM_END -MACHINE_CONFIG_START(msx_state::fsa1gt) +MACHINE_CONFIG_START(msx2_state::fsa1gt) msx2(config); // AY8910/YM2149? // FDC: tc8566af, 1 3.5" DSDD drive @@ -8412,7 +8412,7 @@ ROM_START (fsa1st) ROM_LOAD ("a1stfirm.rom", 0x6c000, 0x400000, CRC(139ac99c) SHA1(c212b11fda13f83dafed688c54d098e7e47ab225)) ROM_END -MACHINE_CONFIG_START(msx_state::fsa1st) +MACHINE_CONFIG_START(msx2_state::fsa1st) msx2(config); // AY8910/YM2149? // FDC: tc8566af, 1 3.5" DSDD drive @@ -8578,123 +8578,123 @@ COMP(1984, yc64, 0, 0, yc64, msx, msx_state, empty_i COMP(1984, mx64, 0, 0, mx64, msxkr, msx_state, empty_init, "Yeno", "MX64 (MSX1)", 0) /* MSX2 */ -COMP(1986, ax350, 0, 0, ax350, msx2, msx_state, empty_init, "Al Alamiah", "AX-350 (Arabic) (MSX2)", 0) -COMP(1986, ax370, 0, 0, ax370, msx2, msx_state, empty_init, "Al Alamiah", "AX-370 (Arabic) (MSX2)", 0) -COMP(1985, canonv25, 0, 0, canonv25, msx2, msx_state, empty_init, "Canon", "V-25 (MSX2)", 0) -COMP(1985, canonv30, 0, 0, canonv30, msx2, msx_state, empty_init, "Canon", "V-30 (MSX2)", 0) -COMP(1985, canonv30f, canonv30, 0, canonv30f, msx2, msx_state, empty_init, "Canon", "V-30F (MSX2)", 0) -COMP(1986, cpc300, 0, 0, cpc300, msx2kr, msx_state, empty_init, "Daewoo", "IQ-2000 CPC-300 (Korea) (MSX2)", 0) -COMP(1986, cpc300e, 0, 0, cpc300e, msx2kr, msx_state, empty_init, "Daewoo", "IQ-2000 CPC-300E (Korea) (MSX2)", 0) -COMP(1985, cpc330k, 0, 0, cpc330k, msx2kr, msx_state, empty_init, "Daewoo", "CPC-330K KOBO (Korea) (MSX2)", 0) -COMP(1988, cpc400, 0, 0, cpc400, msx2kr, msx_state, empty_init, "Daewoo", "X-II CPC-400 (Korea) (MSX2)", 0) -COMP(1988, cpc400s, 0, 0, cpc400s, msx2kr, msx_state, empty_init, "Daewoo", "X-II CPC-400S (Korea) (MSX2)", 0) -COMP(1990, cpc61, 0, 0, cpc61, msx2kr, msx_state, empty_init, "Daewoo", "Zemmix CPC-61 (Korea) (MSX2)", 0) -COMP(1991, cpg120, 0, 0, cpg120, msx2kr, msx_state, empty_init, "Daewoo", "Zemmix CPG-120 Normal (Korea) (MSX2)", MACHINE_NOT_WORKING) // v9958 not added -COMP(198?, fpc900, 0, 0, fpc900, msx2, msx_state, empty_init, "Fenner", "FPC-900 (MSX2)", 0) -COMP(1986, expert20, 0, 0, expert20, msx2, msx_state, empty_init, "Gradiente", "Expert 2.0 (Brazil) (MSX2)", 0) -COMP(198?, mbh70, 0, 0, mbh70, msx2jp, msx_state, empty_init, "Hitachi", "MB-H70 (MSX2)", MACHINE_NOT_WORKING) // Firmware not working -COMP(1987, kmc5000, 0, 0, kmc5000, msx2jp, msx_state, empty_init, "Kawai", "KMC-5000 (MSX2)", 0) -COMP(1985, mlg1, 0, 0, mlg1, msx2, msx_state, empty_init, "Mitsubishi", "ML-G1 (MSX2)", 0) -COMP(198?, mlg3, 0, 0, mlg3, msx2, msx_state, empty_init, "Mitsubishi", "ML-G3 (MSX2)", 0) -COMP(1985, mlg10, 0, 0, mlg10, msx2jp, msx_state, empty_init, "Mitsubishi", "ML-G10 (MSX2)", 0) -COMP(1983, mlg30, 0, 0, mlg30, msx2, msx_state, empty_init, "Mitsubishi", "ML-G30 (MSX2)", 0) -COMP(1985, fs5500f1, fs5500f2, 0, fs5500f1, msx2jp, msx_state, empty_init, "National / Matsushita", "FS-5500F1 (Japan) (MSX2)", 0) -COMP(1985, fs5500f2, 0, 0, fs5500f2, msx2jp, msx_state, empty_init, "National / Matsushita", "FS-5500F2 (Japan) (MSX2)", 0) -COMP(1986, fs4500, 0, 0, fs4500, msx2jp, msx_state, empty_init, "National / Matsushita", "FS-4500 (Japan) (MSX2)", 0) -COMP(1986, fs4700, 0, 0, fs4700, msx2jp, msx_state, empty_init, "National / Matsushita", "FS-4700 (Japan) (MSX2)", 0) -COMP(1986, fs5000, 0, 0, fs5000, msx2jp, msx_state, empty_init, "National / Matsushita", "FS-5000F2 (Japan) (MSX2)", 0) -COMP(1986, fs4600, 0, 0, fs4600, msx2jp, msx_state, empty_init, "National / Matsushita", "FS-4600 (Japan) (MSX2)", 0) -COMP(1986, fsa1, fsa1a, 0, fsa1, msx2jp, msx_state, empty_init, "Panasonic / Matsushita", "FS-A1 / 1st released version (Japan) (MSX2)", 0) -COMP(1986, fsa1a, 0, 0, fsa1a, msx2jp, msx_state, empty_init, "Panasonic / Matsushita", "FS-A1 / 2nd released version (Japan) (MSX2)", 0) -COMP(1987, fsa1mk2, 0, 0, fsa1mk2, msx2jp, msx_state, empty_init, "Panasonic / Matsushita", "FS-A1MK2 (Japan) (MSX2)", 0) -COMP(1987, fsa1f, 0, 0, fsa1f, msx2jp, msx_state, empty_init, "Panasonic / Matsushita", "FS-A1F (Japan) (MSX2)", 0) -COMP(1987, fsa1fm, 0, 0, fsa1fm, msx2jp, msx_state, empty_init, "Panasonic / Matsushita", "FS-A1FM (Japan) (MSX2)", 0) -COMP(1986, nms8220, nms8220a, 0, nms8220, msx2, msx_state, empty_init, "Philips", "NMS-8220 (12-jun-1986) (MSX2)", 0) -COMP(1986, nms8220a, 0, 0, nms8220a, msx2, msx_state, empty_init, "Philips", "NMS-8220 (13-aug-1986) (MSX2)", 0) -COMP(1986, vg8230, 0, 0, vg8230, msx2, msx_state, empty_init, "Philips", "VG-8230 (MSX2)", 0) -COMP(19??, vg8230j, vg8230, 0, vg8230j, msx2jp, msx_state, empty_init, "Philips", "VG-8230J (MSX2)", MACHINE_NOT_WORKING) // Screen flashes a few times before going into basic -COMP(1986, vg8235, 0, 0, vg8235, msx2, msx_state, empty_init, "Philips", "VG-8235 (MSX2)", 0) -COMP(1986, vg8235f, vg8235, 0, vg8235f, msx2, msx_state, empty_init, "Philips", "VG-8235F (MSX2)", 0) -COMP(1986, vg8240, 0, 0, vg8240, msx2, msx_state, empty_init, "Philips", "VG-8240 (MSX2)", 0) -COMP(1986, nms8245, 0, 0, nms8245, msx2, msx_state, empty_init, "Philips", "NMS-8245 (MSX2)", 0) -COMP(1986, nms8245f, nms8245, 0, nms8245f, msx2, msx_state, empty_init, "Philips", "NMS-8245F (MSX2)", 0) -COMP(1986, nms8250, nms8255, 0, nms8250, msx2, msx_state, empty_init, "Philips", "NMS-8250 (MSX2)", 0) -COMP(1986, nms8250f, nms8255, 0, nms8250f, msx2, msx_state, empty_init, "Philips", "NMS-8250F (MSX2)", 0) // French keyboard -COMP(19??, nms8250j, nms8255, 0, nms8250j, msx2jp, msx_state, empty_init, "Philips", "NMS-8250J (MSX2)", 0) -COMP(1986, nms8255, 0, 0, nms8255, msx2, msx_state, empty_init, "Philips", "NMS-8255 (MSX2)", 0) -COMP(1986, nms8255f, nms8255, 0, nms8255f, msx2, msx_state, empty_init, "Philips", "NMS-8255F (MSX2)", 0) // French keyboard -COMP(1986, nms8260, 0, 0, nms8260, msx2, msx_state, empty_init, "Philips", "NMS-8260 (Prototype) (MSX2)", MACHINE_NOT_WORKING) -COMP(1986, nms8280, 0, 0, nms8280, msx2, msx_state, empty_init, "Philips", "NMS-8280 (MSX2)", 0) -COMP(1986, nms8280f, nms8280, 0, nms8280f, msx2, msx_state, empty_init, "Philips", "NMS-8280F (MSX2)", 0) // French keyboard -COMP(1986, nms8280g, nms8280, 0, nms8280g, msx2, msx_state, empty_init, "Philips", "NMS-8280G (MSX2)", 0) -COMP(19??, mpc2300, 0, 0, mpc2300, msx2, msx_state, empty_init, "Sanyo", "MPC-2300 (MSX2)", MACHINE_NOT_WORKING) // Keyboard responds differently -COMP(198?, mpc2500f, 0, 0, mpc2500f, msx2, msx_state, empty_init, "Sanyo", "MPC-2500FD (MSX2)", MACHINE_NOT_WORKING) // Russian keyboard? -COMP(19??, mpc25fd, 0, 0, mpc25fd, msx2, msx_state, empty_init, "Sanyo", "Wavy MPC-25FD (MSX2)", 0) -COMP(198?, mpc27, 0, 0, mpc27, msx2jp, msx_state, empty_init, "Sanyo", "Wavy MPC-27 (MSX2)", MACHINE_NOT_WORKING) // Light pen not emulated -COMP(1988, phc23, 0, 0, phc23, msx2jp, msx_state, empty_init, "Sanyo", "Wavy PHC-23 (Japan) (MSX2)", 0) -COMP(198?, phc55fd2, 0, 0, phc55fd2, msx2jp, msx_state, empty_init, "Sanyo", "Wavy PHC-55FD2 (MSX2)", 0) -COMP(198?, phc77, 0, 0, phc77, msx2jp, msx_state, empty_init, "Sanyo", "Wavy PHC-77 (MSX2)", MACHINE_NOT_WORKING) // Firmware not emulated -COMP(1986, hbf1, 0, 0, hbf1, msx2jp, msx_state, empty_init, "Sony", "HB-F1 (Japan) (MSX2)", MACHINE_NOT_WORKING ) // Screen stays a single color after a while -COMP(1987, hbf12, 0, 0, hbf12, msx2jp, msx_state, empty_init, "Sony", "HB-F1II (Japan) (MSX2)", MACHINE_NOT_WORKING ) // Screen stays a single color after a while -COMP(1987, hbf1xd, 0, 0, hbf1xd, msx2jp, msx_state, empty_init, "Sony", "HB-F1XD (Japan) (MSX2)", 0) -COMP(1988, hbf1xdm2, 0, 0, hbf1xdm2, msx2jp, msx_state, empty_init, "Sony", "HB-F1XDMK2 (Japan) (MSX2)", 0) -COMP(19??, hbf5, 0, 0, hbf5, msx2, msx_state, empty_init, "Sony", "HB-F5 (MSX2)", 0) -COMP(1985, hbf9p, 0, 0, hbf9p, msx2, msx_state, empty_init, "Sony", "HB-F9P (MSX2)", 0) -COMP(19??, hbf9pr, hbf9p, 0, hbf9pr, msx2, msx_state, empty_init, "Sony", "HB-F9P Russion (MSX2)", MACHINE_NOT_WORKING) // Keyboard responds differently -COMP(1985, hbf9s, hbf9p, 0, hbf9s, msx2, msx_state, empty_init, "Sony", "HB-F9S (MSX2)", 0) -COMP(1986, hbf500, hbf500p, 0, hbf500, msx2jp, msx_state, empty_init, "Sony", "HB-F500 (Japan) (MSX2)", 0) -COMP(198?, hbf500f, hbf500p, 0, hbf500f, msx2, msx_state, empty_init, "Sony", "HB-F500F (MSX2)", 0) // French keyboard? -COMP(1985, hbf500p, 0, 0, hbf500p, msx2, msx_state, empty_init, "Sony", "HB-F500P (MSX2)", 0) -COMP(1985, hbf700d, hbf700p, 0, hbf700d, msx2, msx_state, empty_init, "Sony", "HB-F700D (Germany) (MSX2)", 0) -COMP(1985, hbf700f, hbf700p, 0, hbf700f, msx2, msx_state, empty_init, "Sony", "HB-F700F (MSX2)", 0) -COMP(1985, hbf700p, 0, 0, hbf700p, msx2, msx_state, empty_init, "Sony", "HB-F700P (MSX2)", 0) -COMP(1985, hbf700s, hbf700p, 0, hbf700s, msx2, msx_state, empty_init, "Sony", "HB-F700S (Spain) (MSX2)", 0) -COMP(1986, hbf900, hbf900a, 0, hbf900, msx2jp, msx_state, empty_init, "Sony", "HB-F900 / 1st released version (Japan) (MSX2)", 0) -COMP(1986, hbf900a, 0, 0, hbf900a, msx2jp, msx_state, empty_init, "Sony", "HB-F900 / 2nd released version (Japan) (MSX2)", 0) -COMP(1986, hbg900ap, hbg900p, 0, hbg900ap, msx2, msx_state, empty_init, "Sony", "HB-G900AP (MSX2)", 0 ) -COMP(1986, hbg900p, 0, 0, hbg900p, msx2, msx_state, empty_init, "Sony", "HB-G900P (MSX2)", 0 ) -COMP(1986, hotbit20, 0, 0, hotbit20, msx2, msx_state, empty_init, "Sharp / Epcom", "HB-8000 Hotbit 2.0 (MSX2)", 0) // Black screen -COMP(1986, tpc310, 0, 0, tpc310, msx2, msx_state, empty_init, "Talent", "TPC-310 (MSX2)", 0) -COMP(19??, tpp311, 0, 0, tpp311, msx2, msx_state, empty_init, "Talent", "TPP-311 (MSX2)", 0) -COMP(19??, tps312, 0, 0, tps312, msx2, msx_state, empty_init, "Talent", "TPS-312 (MSX2)", 0) -COMP(1986, hx23, hx23i, 0, hx23, msx2, msx_state, empty_init, "Toshiba", "HX-23 (MSX2)", 0) -COMP(1986, hx23f, hx23i, 0, hx23f, msx2, msx_state, empty_init, "Toshiba", "HX-23F (MSX2)", 0) -COMP(19??, hx23i, 0, 0, hx23i, msx2, msx_state, empty_init, "Toshiba", "HX-23I (MSX2)", 0) -COMP(1985, hx33, 0, 0, hx33, msx2jp, msx_state, empty_init, "Toshiba", "HX-33 (MSX2)", 0) -COMP(1985, hx34, hx34i, 0, hx34, msx2jp, msx_state, empty_init, "Toshiba", "HX-34 (MSX2)", 0) -COMP(1985, hx34i, 0, 0, hx34i, msx, msx_state, empty_init, "Toshiba", "HX-34I (MSX2)", 0) -COMP(1985, fstm1, 0, 0, fstm1, msx, msx_state, empty_init, "Toshiba", "FS-TM1 (MSX2)", 0) -COMP(198?, victhc90, victhc95, 0, victhc90, msxjp, msx_state, empty_init, "Victor", "HC-90 (MSX2)", MACHINE_NOT_WORKING) // 2nd cpu/turbo not emulated, firmware won't start -COMP(1986, victhc95, 0, 0, victhc95, msxjp, msx_state, empty_init, "Victor", "HC-95 (MSX2)", MACHINE_NOT_WORKING) // 2nd cpu/turbo not emulated, firmware won't start -COMP(1986, victhc95a, victhc95, 0, victhc95a, msxjp, msx_state, empty_init, "Victor", "HC-95A (MSX2)", MACHINE_NOT_WORKING) // 2nd cpu/turbo not emulated, firmware won't start -COMP(1986, cx7m, cx7m128, 0, cx7m, msx2, msx_state, empty_init, "Yamaha", "CX7M (MSX2)", 0) -COMP(1986, cx7m128, 0, 0, cx7m128, msx2, msx_state, empty_init, "Yamaha", "CX7M/128 (MSX2)", 0) -COMP(198?, y503iiir, 0, 0, y503iiir, msx2, msx_state, empty_init, "Yamaha", "YIS-503 III R (Russian) (MSX2)", MACHINE_NOT_WORKING) // Russian keyboard, floppy support broken -COMP(198?, y503iiire, y503iiir, 0, y503iiire, msx2, msx_state, empty_init, "Yamaha", "YIS-503 III R (Estonian) (MSX2)", MACHINE_NOT_WORKING) // Russian/Estonian keyboard, floppy support broken -COMP(1985, yis60464, yis604, 0, yis60464, msx2jp, msx_state, empty_init, "Yamaha", "YIS604 (64KB) (MSX2)", 0) -COMP(1985, yis604, 0, 0, yis604, msx2jp, msx_state, empty_init, "Yamaha", "YIS604 (128KB) (MSX2)", 0) -COMP(198?, y805128, y805256, 0, y805128, msx2jp, msx_state, empty_init, "Yamaha", "YIS805/128 (Russian) (MSX2)", MACHINE_NOT_WORKING) // Floppy support broken -COMP(198?, y805128r2, y805256, 0, y805128r2, msx2jp, msx_state, empty_init, "Yamaha", "YIS805R2/128 (Russian) (MSX2)", MACHINE_NOT_WORKING) // Floppy support broken -COMP(198?, y805128r2e, y805256, 0, y805128r2e, msx2jp, msx_state, empty_init, "Yamaha", "YIS805R2/128 (Estonian) (MSX2)", MACHINE_NOT_WORKING) // Floppy support broken -COMP(198?, y805256, 0, 0, y805256, msx2jp, msx_state, empty_init, "Yamaha", "YIS805/256 (Russian) (MSX2)", MACHINE_NOT_WORKING) // Floppy support broken +COMP(1986, ax350, 0, 0, ax350, msx2, msx2_state, empty_init, "Al Alamiah", "AX-350 (Arabic) (MSX2)", 0) +COMP(1986, ax370, 0, 0, ax370, msx2, msx2_state, empty_init, "Al Alamiah", "AX-370 (Arabic) (MSX2)", 0) +COMP(1985, canonv25, 0, 0, canonv25, msx2, msx2_state, empty_init, "Canon", "V-25 (MSX2)", 0) +COMP(1985, canonv30, 0, 0, canonv30, msx2, msx2_state, empty_init, "Canon", "V-30 (MSX2)", 0) +COMP(1985, canonv30f, canonv30, 0, canonv30f, msx2, msx2_state, empty_init, "Canon", "V-30F (MSX2)", 0) +COMP(1986, cpc300, 0, 0, cpc300, msx2kr, msx2_state, empty_init, "Daewoo", "IQ-2000 CPC-300 (Korea) (MSX2)", 0) +COMP(1986, cpc300e, 0, 0, cpc300e, msx2kr, msx2_state, empty_init, "Daewoo", "IQ-2000 CPC-300E (Korea) (MSX2)", 0) +COMP(1985, cpc330k, 0, 0, cpc330k, msx2kr, msx2_state, empty_init, "Daewoo", "CPC-330K KOBO (Korea) (MSX2)", 0) +COMP(1988, cpc400, 0, 0, cpc400, msx2kr, msx2_state, empty_init, "Daewoo", "X-II CPC-400 (Korea) (MSX2)", 0) +COMP(1988, cpc400s, 0, 0, cpc400s, msx2kr, msx2_state, empty_init, "Daewoo", "X-II CPC-400S (Korea) (MSX2)", 0) +COMP(1990, cpc61, 0, 0, cpc61, msx2kr, msx2_state, empty_init, "Daewoo", "Zemmix CPC-61 (Korea) (MSX2)", 0) +COMP(1991, cpg120, 0, 0, cpg120, msx2kr, msx2_state, empty_init, "Daewoo", "Zemmix CPG-120 Normal (Korea) (MSX2)", MACHINE_NOT_WORKING) // v9958 not added +COMP(198?, fpc900, 0, 0, fpc900, msx2, msx2_state, empty_init, "Fenner", "FPC-900 (MSX2)", 0) +COMP(1986, expert20, 0, 0, expert20, msx2, msx2_state, empty_init, "Gradiente", "Expert 2.0 (Brazil) (MSX2)", 0) +COMP(198?, mbh70, 0, 0, mbh70, msx2jp, msx2_state, empty_init, "Hitachi", "MB-H70 (MSX2)", MACHINE_NOT_WORKING) // Firmware not working +COMP(1987, kmc5000, 0, 0, kmc5000, msx2jp, msx2_state, empty_init, "Kawai", "KMC-5000 (MSX2)", 0) +COMP(1985, mlg1, 0, 0, mlg1, msx2, msx2_state, empty_init, "Mitsubishi", "ML-G1 (MSX2)", 0) +COMP(198?, mlg3, 0, 0, mlg3, msx2, msx2_state, empty_init, "Mitsubishi", "ML-G3 (MSX2)", 0) +COMP(1985, mlg10, 0, 0, mlg10, msx2jp, msx2_state, empty_init, "Mitsubishi", "ML-G10 (MSX2)", 0) +COMP(1983, mlg30, 0, 0, mlg30, msx2, msx2_state, empty_init, "Mitsubishi", "ML-G30 (MSX2)", 0) +COMP(1985, fs5500f1, fs5500f2, 0, fs5500f1, msx2jp, msx2_state, empty_init, "National / Matsushita", "FS-5500F1 (Japan) (MSX2)", 0) +COMP(1985, fs5500f2, 0, 0, fs5500f2, msx2jp, msx2_state, empty_init, "National / Matsushita", "FS-5500F2 (Japan) (MSX2)", 0) +COMP(1986, fs4500, 0, 0, fs4500, msx2jp, msx2_state, empty_init, "National / Matsushita", "FS-4500 (Japan) (MSX2)", 0) +COMP(1986, fs4700, 0, 0, fs4700, msx2jp, msx2_state, empty_init, "National / Matsushita", "FS-4700 (Japan) (MSX2)", 0) +COMP(1986, fs5000, 0, 0, fs5000, msx2jp, msx2_state, empty_init, "National / Matsushita", "FS-5000F2 (Japan) (MSX2)", 0) +COMP(1986, fs4600, 0, 0, fs4600, msx2jp, msx2_state, empty_init, "National / Matsushita", "FS-4600 (Japan) (MSX2)", 0) +COMP(1986, fsa1, fsa1a, 0, fsa1, msx2jp, msx2_state, empty_init, "Panasonic / Matsushita", "FS-A1 / 1st released version (Japan) (MSX2)", 0) +COMP(1986, fsa1a, 0, 0, fsa1a, msx2jp, msx2_state, empty_init, "Panasonic / Matsushita", "FS-A1 / 2nd released version (Japan) (MSX2)", 0) +COMP(1987, fsa1mk2, 0, 0, fsa1mk2, msx2jp, msx2_state, empty_init, "Panasonic / Matsushita", "FS-A1MK2 (Japan) (MSX2)", 0) +COMP(1987, fsa1f, 0, 0, fsa1f, msx2jp, msx2_state, empty_init, "Panasonic / Matsushita", "FS-A1F (Japan) (MSX2)", 0) +COMP(1987, fsa1fm, 0, 0, fsa1fm, msx2jp, msx2_state, empty_init, "Panasonic / Matsushita", "FS-A1FM (Japan) (MSX2)", 0) +COMP(1986, nms8220, nms8220a, 0, nms8220, msx2, msx2_state, empty_init, "Philips", "NMS-8220 (12-jun-1986) (MSX2)", 0) +COMP(1986, nms8220a, 0, 0, nms8220a, msx2, msx2_state, empty_init, "Philips", "NMS-8220 (13-aug-1986) (MSX2)", 0) +COMP(1986, vg8230, 0, 0, vg8230, msx2, msx2_state, empty_init, "Philips", "VG-8230 (MSX2)", 0) +COMP(19??, vg8230j, vg8230, 0, vg8230j, msx2jp, msx2_state, empty_init, "Philips", "VG-8230J (MSX2)", MACHINE_NOT_WORKING) // Screen flashes a few times before going into basic +COMP(1986, vg8235, 0, 0, vg8235, msx2, msx2_state, empty_init, "Philips", "VG-8235 (MSX2)", 0) +COMP(1986, vg8235f, vg8235, 0, vg8235f, msx2, msx2_state, empty_init, "Philips", "VG-8235F (MSX2)", 0) +COMP(1986, vg8240, 0, 0, vg8240, msx2, msx2_state, empty_init, "Philips", "VG-8240 (MSX2)", 0) +COMP(1986, nms8245, 0, 0, nms8245, msx2, msx2_state, empty_init, "Philips", "NMS-8245 (MSX2)", 0) +COMP(1986, nms8245f, nms8245, 0, nms8245f, msx2, msx2_state, empty_init, "Philips", "NMS-8245F (MSX2)", 0) +COMP(1986, nms8250, nms8255, 0, nms8250, msx2, msx2_state, empty_init, "Philips", "NMS-8250 (MSX2)", 0) +COMP(1986, nms8250f, nms8255, 0, nms8250f, msx2, msx2_state, empty_init, "Philips", "NMS-8250F (MSX2)", 0) // French keyboard +COMP(19??, nms8250j, nms8255, 0, nms8250j, msx2jp, msx2_state, empty_init, "Philips", "NMS-8250J (MSX2)", 0) +COMP(1986, nms8255, 0, 0, nms8255, msx2, msx2_state, empty_init, "Philips", "NMS-8255 (MSX2)", 0) +COMP(1986, nms8255f, nms8255, 0, nms8255f, msx2, msx2_state, empty_init, "Philips", "NMS-8255F (MSX2)", 0) // French keyboard +COMP(1986, nms8260, 0, 0, nms8260, msx2, msx2_state, empty_init, "Philips", "NMS-8260 (Prototype) (MSX2)", MACHINE_NOT_WORKING) +COMP(1986, nms8280, 0, 0, nms8280, msx2, msx2_state, empty_init, "Philips", "NMS-8280 (MSX2)", 0) +COMP(1986, nms8280f, nms8280, 0, nms8280f, msx2, msx2_state, empty_init, "Philips", "NMS-8280F (MSX2)", 0) // French keyboard +COMP(1986, nms8280g, nms8280, 0, nms8280g, msx2, msx2_state, empty_init, "Philips", "NMS-8280G (MSX2)", 0) +COMP(19??, mpc2300, 0, 0, mpc2300, msx2, msx2_state, empty_init, "Sanyo", "MPC-2300 (MSX2)", MACHINE_NOT_WORKING) // Keyboard responds differently +COMP(198?, mpc2500f, 0, 0, mpc2500f, msx2, msx2_state, empty_init, "Sanyo", "MPC-2500FD (MSX2)", MACHINE_NOT_WORKING) // Russian keyboard? +COMP(19??, mpc25fd, 0, 0, mpc25fd, msx2, msx2_state, empty_init, "Sanyo", "Wavy MPC-25FD (MSX2)", 0) +COMP(198?, mpc27, 0, 0, mpc27, msx2jp, msx2_state, empty_init, "Sanyo", "Wavy MPC-27 (MSX2)", MACHINE_NOT_WORKING) // Light pen not emulated +COMP(1988, phc23, 0, 0, phc23, msx2jp, msx2_state, empty_init, "Sanyo", "Wavy PHC-23 (Japan) (MSX2)", 0) +COMP(198?, phc55fd2, 0, 0, phc55fd2, msx2jp, msx2_state, empty_init, "Sanyo", "Wavy PHC-55FD2 (MSX2)", 0) +COMP(198?, phc77, 0, 0, phc77, msx2jp, msx2_state, empty_init, "Sanyo", "Wavy PHC-77 (MSX2)", MACHINE_NOT_WORKING) // Firmware not emulated +COMP(1986, hbf1, 0, 0, hbf1, msx2jp, msx2_state, empty_init, "Sony", "HB-F1 (Japan) (MSX2)", MACHINE_NOT_WORKING ) // Screen stays a single color after a while +COMP(1987, hbf12, 0, 0, hbf12, msx2jp, msx2_state, empty_init, "Sony", "HB-F1II (Japan) (MSX2)", MACHINE_NOT_WORKING ) // Screen stays a single color after a while +COMP(1987, hbf1xd, 0, 0, hbf1xd, msx2jp, msx2_state, empty_init, "Sony", "HB-F1XD (Japan) (MSX2)", 0) +COMP(1988, hbf1xdm2, 0, 0, hbf1xdm2, msx2jp, msx2_state, empty_init, "Sony", "HB-F1XDMK2 (Japan) (MSX2)", 0) +COMP(19??, hbf5, 0, 0, hbf5, msx2, msx2_state, empty_init, "Sony", "HB-F5 (MSX2)", 0) +COMP(1985, hbf9p, 0, 0, hbf9p, msx2, msx2_state, empty_init, "Sony", "HB-F9P (MSX2)", 0) +COMP(19??, hbf9pr, hbf9p, 0, hbf9pr, msx2, msx2_state, empty_init, "Sony", "HB-F9P Russion (MSX2)", MACHINE_NOT_WORKING) // Keyboard responds differently +COMP(1985, hbf9s, hbf9p, 0, hbf9s, msx2, msx2_state, empty_init, "Sony", "HB-F9S (MSX2)", 0) +COMP(1986, hbf500, hbf500p, 0, hbf500, msx2jp, msx2_state, empty_init, "Sony", "HB-F500 (Japan) (MSX2)", 0) +COMP(198?, hbf500f, hbf500p, 0, hbf500f, msx2, msx2_state, empty_init, "Sony", "HB-F500F (MSX2)", 0) // French keyboard? +COMP(1985, hbf500p, 0, 0, hbf500p, msx2, msx2_state, empty_init, "Sony", "HB-F500P (MSX2)", 0) +COMP(1985, hbf700d, hbf700p, 0, hbf700d, msx2, msx2_state, empty_init, "Sony", "HB-F700D (Germany) (MSX2)", 0) +COMP(1985, hbf700f, hbf700p, 0, hbf700f, msx2, msx2_state, empty_init, "Sony", "HB-F700F (MSX2)", 0) +COMP(1985, hbf700p, 0, 0, hbf700p, msx2, msx2_state, empty_init, "Sony", "HB-F700P (MSX2)", 0) +COMP(1985, hbf700s, hbf700p, 0, hbf700s, msx2, msx2_state, empty_init, "Sony", "HB-F700S (Spain) (MSX2)", 0) +COMP(1986, hbf900, hbf900a, 0, hbf900, msx2jp, msx2_state, empty_init, "Sony", "HB-F900 / 1st released version (Japan) (MSX2)", 0) +COMP(1986, hbf900a, 0, 0, hbf900a, msx2jp, msx2_state, empty_init, "Sony", "HB-F900 / 2nd released version (Japan) (MSX2)", 0) +COMP(1986, hbg900ap, hbg900p, 0, hbg900ap, msx2, msx2_state, empty_init, "Sony", "HB-G900AP (MSX2)", 0 ) +COMP(1986, hbg900p, 0, 0, hbg900p, msx2, msx2_state, empty_init, "Sony", "HB-G900P (MSX2)", 0 ) +COMP(1986, hotbit20, 0, 0, hotbit20, msx2, msx2_state, empty_init, "Sharp / Epcom", "HB-8000 Hotbit 2.0 (MSX2)", 0) // Black screen +COMP(1986, tpc310, 0, 0, tpc310, msx2, msx2_state, empty_init, "Talent", "TPC-310 (MSX2)", 0) +COMP(19??, tpp311, 0, 0, tpp311, msx2, msx2_state, empty_init, "Talent", "TPP-311 (MSX2)", 0) +COMP(19??, tps312, 0, 0, tps312, msx2, msx2_state, empty_init, "Talent", "TPS-312 (MSX2)", 0) +COMP(1986, hx23, hx23i, 0, hx23, msx2, msx2_state, empty_init, "Toshiba", "HX-23 (MSX2)", 0) +COMP(1986, hx23f, hx23i, 0, hx23f, msx2, msx2_state, empty_init, "Toshiba", "HX-23F (MSX2)", 0) +COMP(19??, hx23i, 0, 0, hx23i, msx2, msx2_state, empty_init, "Toshiba", "HX-23I (MSX2)", 0) +COMP(1985, hx33, 0, 0, hx33, msx2jp, msx2_state, empty_init, "Toshiba", "HX-33 (MSX2)", 0) +COMP(1985, hx34, hx34i, 0, hx34, msx2jp, msx2_state, empty_init, "Toshiba", "HX-34 (MSX2)", 0) +COMP(1985, hx34i, 0, 0, hx34i, msx, msx2_state, empty_init, "Toshiba", "HX-34I (MSX2)", 0) +COMP(1985, fstm1, 0, 0, fstm1, msx, msx2_state, empty_init, "Toshiba", "FS-TM1 (MSX2)", 0) +COMP(198?, victhc90, victhc95, 0, victhc90, msxjp, msx2_state, empty_init, "Victor", "HC-90 (MSX2)", MACHINE_NOT_WORKING) // 2nd cpu/turbo not emulated, firmware won't start +COMP(1986, victhc95, 0, 0, victhc95, msxjp, msx2_state, empty_init, "Victor", "HC-95 (MSX2)", MACHINE_NOT_WORKING) // 2nd cpu/turbo not emulated, firmware won't start +COMP(1986, victhc95a, victhc95, 0, victhc95a, msxjp, msx2_state, empty_init, "Victor", "HC-95A (MSX2)", MACHINE_NOT_WORKING) // 2nd cpu/turbo not emulated, firmware won't start +COMP(1986, cx7m, cx7m128, 0, cx7m, msx2, msx2_state, empty_init, "Yamaha", "CX7M (MSX2)", 0) +COMP(1986, cx7m128, 0, 0, cx7m128, msx2, msx2_state, empty_init, "Yamaha", "CX7M/128 (MSX2)", 0) +COMP(198?, y503iiir, 0, 0, y503iiir, msx2, msx2_state, empty_init, "Yamaha", "YIS-503 III R (Russian) (MSX2)", MACHINE_NOT_WORKING) // Russian keyboard, floppy support broken +COMP(198?, y503iiire, y503iiir, 0, y503iiire, msx2, msx2_state, empty_init, "Yamaha", "YIS-503 III R (Estonian) (MSX2)", MACHINE_NOT_WORKING) // Russian/Estonian keyboard, floppy support broken +COMP(1985, yis60464, yis604, 0, yis60464, msx2jp, msx2_state, empty_init, "Yamaha", "YIS604 (64KB) (MSX2)", 0) +COMP(1985, yis604, 0, 0, yis604, msx2jp, msx2_state, empty_init, "Yamaha", "YIS604 (128KB) (MSX2)", 0) +COMP(198?, y805128, y805256, 0, y805128, msx2jp, msx2_state, empty_init, "Yamaha", "YIS805/128 (Russian) (MSX2)", MACHINE_NOT_WORKING) // Floppy support broken +COMP(198?, y805128r2, y805256, 0, y805128r2, msx2jp, msx2_state, empty_init, "Yamaha", "YIS805R2/128 (Russian) (MSX2)", MACHINE_NOT_WORKING) // Floppy support broken +COMP(198?, y805128r2e, y805256, 0, y805128r2e, msx2jp, msx2_state, empty_init, "Yamaha", "YIS805R2/128 (Estonian) (MSX2)", MACHINE_NOT_WORKING) // Floppy support broken +COMP(198?, y805256, 0, 0, y805256, msx2jp, msx2_state, empty_init, "Yamaha", "YIS805/256 (Russian) (MSX2)", MACHINE_NOT_WORKING) // Floppy support broken /* MSX2+ */ -COMP(19??, expert3i, 0, 0, expert3i, msx2, msx_state, empty_init, "Ciel", "Expert 3 IDE (MSX2+)", MACHINE_NOT_WORKING ) // Some hardware not emulated -COMP(1996, expert3t, 0, 0, expert3t, msx2, msx_state, empty_init, "Ciel", "Expert 3 Turbo (MSX2+)", MACHINE_NOT_WORKING ) // Some hardware not emulated -COMP(19??, expertac, 0, 0, expertac, msx2, msx_state, empty_init, "Gradiente", "Expert AC88+ (MSX2+)", MACHINE_NOT_WORKING ) // Some hardware not emulated -COMP(19??, expertdx, 0, 0, expertdx, msx2, msx_state, empty_init, "Gradiente", "Expert DDX+ (MSX2+)", MACHINE_NOT_WORKING ) // Some hardware not emulated -COMP(1988, fsa1fx, 0, 0, fsa1fx, msx2jp, msx_state, empty_init, "Panasonic / Matsushita", "FS-A1FX (Japan) (MSX2+)", 0 ) -COMP(1988, fsa1wx, fsa1wxa, 0, fsa1wx, msx2jp, msx_state, empty_init, "Panasonic / Matsushita", "FS-A1WX / 1st released version (Japan) (MSX2+)", 0 ) -COMP(1988, fsa1wxa, 0, 0, fsa1wxa, msx2jp, msx_state, empty_init, "Panasonic / Matsushita", "FS-A1WX / 2nd released version (Japan) (MSX2+)", 0 ) -COMP(1989, fsa1wsx, 0, 0, fsa1wsx, msx2jp, msx_state, empty_init, "Panasonic / Matsushita", "FS-A1WSX (Japan) (MSX2+)", 0 ) -COMP(1988, hbf1xdj, 0, 0, hbf1xdj, msx2jp, msx_state, empty_init, "Sony", "HB-F1XDJ (Japan) (MSX2+)", 0 ) -COMP(1989, hbf1xv, 0, 0, hbf1xv, msx2jp, msx_state, empty_init, "Sony", "HB-F1XV (Japan) (MSX2+)", 0 ) -COMP(1988, phc70fd, phc70fd2, 0, phc70fd, msx2jp, msx_state, empty_init, "Sanyo", "WAVY PHC-70FD (Japan) (MSX2+)", 0 ) -COMP(1988, phc70fd2, 0, 0, phc70fd2, msx2jp, msx_state, empty_init, "Sanyo", "WAVY PHC-70FD2 (Japan) (MSX2+)", 0 ) -COMP(1989, phc35j, 0, 0, phc35j, msx2jp, msx_state, empty_init, "Sanyo", "WAVY PHC-35J (Japan) (MSX2+)", 0) -COMP(19??, hbf9sp, 0, 0, hbf9sp, msx2jp, msx_state, empty_init, "Sony", "HB-F9S+ (MSX2+)", 0) +COMP(19??, expert3i, 0, 0, expert3i, msx2, msx2_state, empty_init, "Ciel", "Expert 3 IDE (MSX2+)", MACHINE_NOT_WORKING ) // Some hardware not emulated +COMP(1996, expert3t, 0, 0, expert3t, msx2, msx2_state, empty_init, "Ciel", "Expert 3 Turbo (MSX2+)", MACHINE_NOT_WORKING ) // Some hardware not emulated +COMP(19??, expertac, 0, 0, expertac, msx2, msx2_state, empty_init, "Gradiente", "Expert AC88+ (MSX2+)", MACHINE_NOT_WORKING ) // Some hardware not emulated +COMP(19??, expertdx, 0, 0, expertdx, msx2, msx2_state, empty_init, "Gradiente", "Expert DDX+ (MSX2+)", MACHINE_NOT_WORKING ) // Some hardware not emulated +COMP(1988, fsa1fx, 0, 0, fsa1fx, msx2jp, msx2_state, empty_init, "Panasonic / Matsushita", "FS-A1FX (Japan) (MSX2+)", 0 ) +COMP(1988, fsa1wx, fsa1wxa, 0, fsa1wx, msx2jp, msx2_state, empty_init, "Panasonic / Matsushita", "FS-A1WX / 1st released version (Japan) (MSX2+)", 0 ) +COMP(1988, fsa1wxa, 0, 0, fsa1wxa, msx2jp, msx2_state, empty_init, "Panasonic / Matsushita", "FS-A1WX / 2nd released version (Japan) (MSX2+)", 0 ) +COMP(1989, fsa1wsx, 0, 0, fsa1wsx, msx2jp, msx2_state, empty_init, "Panasonic / Matsushita", "FS-A1WSX (Japan) (MSX2+)", 0 ) +COMP(1988, hbf1xdj, 0, 0, hbf1xdj, msx2jp, msx2_state, empty_init, "Sony", "HB-F1XDJ (Japan) (MSX2+)", 0 ) +COMP(1989, hbf1xv, 0, 0, hbf1xv, msx2jp, msx2_state, empty_init, "Sony", "HB-F1XV (Japan) (MSX2+)", 0 ) +COMP(1988, phc70fd, phc70fd2, 0, phc70fd, msx2jp, msx2_state, empty_init, "Sanyo", "WAVY PHC-70FD (Japan) (MSX2+)", 0 ) +COMP(1988, phc70fd2, 0, 0, phc70fd2, msx2jp, msx2_state, empty_init, "Sanyo", "WAVY PHC-70FD2 (Japan) (MSX2+)", 0 ) +COMP(1989, phc35j, 0, 0, phc35j, msx2jp, msx2_state, empty_init, "Sanyo", "WAVY PHC-35J (Japan) (MSX2+)", 0) +COMP(19??, hbf9sp, 0, 0, hbf9sp, msx2jp, msx2_state, empty_init, "Sony", "HB-F9S+ (MSX2+)", 0) /* MSX Turbo-R */ /* Temporary placeholders, Turbo-R hardware is not supported yet */ -COMP(19??, fsa1gt, 0, 0, fsa1gt, msx2jp, msx_state, empty_init, "Panasonic", "FS-A1GT (MSX Turbo-R)", MACHINE_NOT_WORKING) -COMP(19??, fsa1st, 0, 0, fsa1st, msx2jp, msx_state, empty_init, "Panasonic", "FS-A1ST (MSX Turbo-R)", MACHINE_NOT_WORKING) +COMP(19??, fsa1gt, 0, 0, fsa1gt, msx2jp, msx2_state, empty_init, "Panasonic", "FS-A1GT (MSX Turbo-R)", MACHINE_NOT_WORKING) +COMP(19??, fsa1st, 0, 0, fsa1st, msx2jp, msx2_state, empty_init, "Panasonic", "FS-A1ST (MSX Turbo-R)", MACHINE_NOT_WORKING) diff --git a/src/mame/includes/msx.h b/src/mame/includes/msx.h index 79f1d8ec175..ab6f58ef2d6 100644 --- a/src/mame/includes/msx.h +++ b/src/mame/includes/msx.h @@ -45,70 +45,70 @@ #define MCFG_MSX_LAYOUT_ROM(_tag, _prim, _sec, _page, _numpages, _region, _offset) \ MCFG_MSX_SLOT_ROM_ADD(_tag, _page, _numpages, _region, _offset) \ - msx_state::install_slot_pages(*this, _prim, _sec, _page, _numpages, device); + install_slot_pages(_prim, _sec, _page, _numpages, device); #define MCFG_MSX_LAYOUT_RAM(_tag, _prim, _sec, _page, _numpages) \ MCFG_MSX_SLOT_RAM_ADD(_tag, _page, _numpages) \ - msx_state::install_slot_pages(*this, _prim, _sec, _page, _numpages, device); + install_slot_pages(_prim, _sec, _page, _numpages, device); #define MCFG_MSX_LAYOUT_CARTRIDGE(_tag, _prim, _sec) \ MCFG_MSX_SLOT_CARTRIDGE_ADD(_tag, WRITELINE(DEVICE_SELF, msx_state, msx_irq_source1)) \ - msx_state::install_slot_pages(*this, _prim, _sec, 0, 4, device); + install_slot_pages(_prim, _sec, 0, 4, device); #define MCFG_MSX_LAYOUT_YAMAHA_EXPANSION(_tag, _prim, _sec, _default) \ MCFG_MSX_SLOT_YAMAHA_EXPANSION_ADD(_tag, WRITELINE(DEVICE_SELF, msx_state, msx_irq_source2), _default) \ - msx_state::install_slot_pages(*this, _prim, _sec, 0, 4, device); + install_slot_pages(_prim, _sec, 0, 4, device); #define MCFG_MSX_LAYOUT_RAM_MM(_tag, _prim, _sec, _total_size) \ MCFG_MSX_SLOT_RAM_MM_ADD(_tag, _total_size) \ - msx_state::install_slot_pages(*this, _prim, _sec, 0, 4, device); + install_slot_pages(_prim, _sec, 0, 4, device); #define MCFG_MSX_RAMIO_SET_BITS(_ramio_set_bits) \ MCFG_MSX_SLOT_RAMM_SET_RAMIO_BITS(_ramio_set_bits) #define MCFG_MSX_LAYOUT_DISK1(_tag, _prim, _sec, _page, _numpages, _region, _offset) \ MCFG_MSX_SLOT_DISK1_ADD(_tag, _page, _numpages, _region, _offset, "fdc", "fdc:0", "fdc:1") \ - msx_state::install_slot_pages(*this, _prim, _sec, _page, _numpages + 1, device); /* Memory mapped FDC registers are also accessible through page 2 */ + install_slot_pages(_prim, _sec, _page, _numpages + 1, device); /* Memory mapped FDC registers are also accessible through page 2 */ #define MCFG_MSX_LAYOUT_DISK2(_tag, _prim, _sec, _page, _numpages, _region, _offset) \ MCFG_MSX_SLOT_DISK2_ADD(_tag, _page, _numpages, _region, _offset, "fdc", "fdc:0", "fdc:1") \ - msx_state::install_slot_pages(*this, _prim, _sec, _page, _numpages + 1, device); /* Memory mapped FDC registers are also accessible through page 2 */ + install_slot_pages(_prim, _sec, _page, _numpages + 1, device); /* Memory mapped FDC registers are also accessible through page 2 */ #define MCFG_MSX_LAYOUT_DISK3(_tag, _prim, _sec, _page, _numpages, _region, _offset) \ MCFG_MSX_SLOT_DISK3_ADD(_tag, _page, _numpages, _region, _offset, "fdc", "fdc:0", "fdc:1") \ - msx_state::install_slot_pages(*this, _prim, _sec, _page, _numpages, device); + install_slot_pages(_prim, _sec, _page, _numpages, device); #define MCFG_MSX_LAYOUT_DISK4(_tag, _prim, _sec, _page, _numpages, _region, _offset) \ MCFG_MSX_SLOT_DISK4_ADD(_tag, _page, _numpages, _region, _offset, "fdc", "fdc:0", "fdc:1") \ - msx_state::install_slot_pages(*this, _prim, _sec, _page, _numpages, device); + install_slot_pages(_prim, _sec, _page, _numpages, device); #define MCFG_MSX_LAYOUT_DISK5(_tag, _prim, _sec, _page, _numpages, _region, _offset) \ MCFG_MSX_SLOT_DISK5_ADD(_tag, _page, _numpages, _region, _offset, "fdc", "fdc:0", "fdc:1", "fdc:2", "fdc:3") \ - msx_state::install_slot_pages(*this, _prim, _sec, _page, _numpages, device); + install_slot_pages(_prim, _sec, _page, _numpages, device); #define MCFG_MSX_LAYOUT_DISK6(_tag, _prim, _sec, _page, _numpages, _region, _offset) \ MCFG_MSX_SLOT_DISK6_ADD(_tag, _page, _numpages, _region, _offset, "fdc", "fdc:0", "fdc:1") \ - msx_state::install_slot_pages(*this, _prim, _sec, _page, _numpages, device); + install_slot_pages(_prim, _sec, _page, _numpages, device); #define MCFG_MSX_LAYOUT_MUSIC(_tag, _prim, _sec, _page, _numpages, _region, _offset) \ MCFG_MSX_SLOT_MUSIC_ADD(_tag, _page, _numpages, _region, _offset, "ym2413" ) \ - msx_state::install_slot_pages(*this, _prim, _sec, _page, _numpages, device); + install_slot_pages(_prim, _sec, _page, _numpages, device); #define MCFG_MSX_LAYOUT_BUNSETSU(_tag, _prim, _sec, _page, _numpages, _region, _offset, _bunsetsu_tag) \ MCFG_MSX_SLOT_BUNSETSU_ADD(_tag, _page, _numpages, _region, _offset, _bunsetsu_tag) \ - msx_state::install_slot_pages(*this, _prim, _sec, _page, _numpages, device); + install_slot_pages(_prim, _sec, _page, _numpages, device); #define MCFG_MSX_LAYOUT_FS4600(_tag, _prim, _sec, _page, _numpages, _region, _offset) \ MCFG_MSX_SLOT_FS4600_ADD(_tag, _page, _numpages, _region, _offset) \ - msx_state::install_slot_pages(*this, _prim, _sec, _page, _numpages, device); + install_slot_pages(_prim, _sec, _page, _numpages, device); #define MCFG_MSX_LAYOUT_PANASONIC08(_tag, _prim, _sec, _page, _numpages, _region, _offset) \ MCFG_MSX_SLOT_PANASONIC08_ADD(_tag, _page, _numpages, _region, _offset) \ - msx_state::install_slot_pages(*this, _prim, _sec, _page, _numpages, device); + install_slot_pages(_prim, _sec, _page, _numpages, device); #define MCFG_MSX_LAYOUT_SONY08(_tag, _prim, _sec, _page, _numpages, _region, _offset) \ MCFG_MSX_SLOT_SONY08_ADD(_tag, _page, _numpages, _region, _offset) \ - msx_state::install_slot_pages(*this, _prim, _sec, _page, _numpages, device); + install_slot_pages(_prim, _sec, _page, _numpages, device); class msx_state : public driver_device @@ -117,12 +117,9 @@ public: msx_state(const machine_config &mconfig, device_type type, const char *tag) : driver_device(mconfig, type, tag) , m_maincpu(*this, "maincpu") - , m_v9938(*this, "v9938") - , m_v9958(*this, "v9958") , m_cassette(*this, "cassette") , m_ay8910(*this, "ay8910") , m_dac(*this, "dac") - , m_rtc(*this, TC8521_TAG) , m_region_maincpu(*this, "maincpu") , m_region_kanji(*this, "kanji") , m_io_joy0(*this, "JOY0") @@ -133,7 +130,6 @@ public: , m_io_key(*this, {"KEY0", "KEY1", "KEY2", "KEY3", "KEY4", "KEY5"}) , m_leds(*this, "led%u", 1U) , m_psg_b(0) - , m_rtc_latch(0) , m_kanji_latch(0) , m_primary_slot(0) , m_port_c_old(0) @@ -159,109 +155,51 @@ public: } } - void mpc25fd(machine_config &config); void hc6(machine_config &config); - void nms8220(machine_config &config); void hb75d(machine_config &config); - void y805128r2e(machine_config &config); - void fs4600(machine_config &config); void dpc100(machine_config &config); - void nms8245f(machine_config &config); - void hbf1xd(machine_config &config); - void expert3t(machine_config &config); void hb55p(machine_config &config); void hotbi13p(machine_config &config); void fspc800(machine_config &config); - void fsa1(machine_config &config); void mpc200(machine_config &config); void hb201p(machine_config &config); void hx22i(machine_config &config); - void y503iiire(machine_config &config); void svi738dk(machine_config &config); void gfc1080a(machine_config &config); void svi738pl(machine_config &config); void hx10dp(machine_config &config); void perfect1(machine_config &config); void mlf110(machine_config &config); - void fsa1gt(machine_config &config); - void phc23(machine_config &config); - void hbg900p(machine_config &config); - void hbf12(machine_config &config); - void fs5000(machine_config &config); - void hbf1(machine_config &config); - void phc70fd2(machine_config &config); - void phc70fd(machine_config &config); void cf1200(machine_config &config); void hx20(machine_config &config); - void yis604(machine_config &config); void cf3000(machine_config &config); void mpc100(machine_config &config); - void tps312(machine_config &config); - void phc55fd2(machine_config &config); void vg8020f(machine_config &config); void hx10f(machine_config &config); - void hbf1xv(machine_config &config); - void expertac(machine_config &config); - void fsa1wsx(machine_config &config); void cf2000(machine_config &config); void expertpl(machine_config &config); - void fsa1wxa(machine_config &config); - void hx23i(machine_config &config); - void fsa1wx(machine_config &config); - void fsa1fx(machine_config &config); - void cpc61(machine_config &config); - void hbf1xdj(machine_config &config); - void expert3i(machine_config &config); - void y805256(machine_config &config); void fs4000a(machine_config &config); - void y805128r2(machine_config &config); - void expertdx(machine_config &config); - void hbf700d(machine_config &config); void mpc10(machine_config &config); - void yis60464(machine_config &config); - void cpc300(machine_config &config); void pv16(machine_config &config); - void tpc310(machine_config &config); void jvchc7gb(machine_config &config); - void nms8255(machine_config &config); - void cx7m128(machine_config &config); void phc28(machine_config &config); void hx10sa(machine_config &config); - void cx7m(machine_config &config); void cx5m128(machine_config &config); void expert10(machine_config &config); - void mlg3(machine_config &config); void mbh50(machine_config &config); - void victhc90(machine_config &config); void hc7(machine_config &config); - void fstm1(machine_config &config); - void victhc95a(machine_config &config); - void hx34(machine_config &config); void gfc1080(machine_config &config); - void ax350(machine_config &config); void cpc51(machine_config &config); - void victhc95(machine_config &config); void ax150(machine_config &config); - void hx23f(machine_config &config); void phc28s(machine_config &config); void mlfx1(machine_config &config); void tadpc200(machine_config &config); void gsfc200(machine_config &config); - void hbf9pr(machine_config &config); void hx10d(machine_config &config); - void hx23(machine_config &config); - void tpp311(machine_config &config); - void hbf900(machine_config &config); - void y503iiir(machine_config &config); void expertdp(machine_config &config); void yis303(machine_config &config); - void nms8255f(machine_config &config); - void hbf9sp(machine_config &config); - void hbf700f(machine_config &config); - void hbg900ap(machine_config &config); void canonv25(machine_config &config); void svi738sp(machine_config &config); - void hbf900a(machine_config &config); void fmx(machine_config &config); void phc2(machine_config &config); void pv7(machine_config &config); @@ -272,82 +210,36 @@ public: void hx20i(machine_config &config); void mx10(machine_config &config); void mx15(machine_config &config); - void hbf700s(machine_config &config); void expert13(machine_config &config); - void hotbit20(machine_config &config); - void vg8235(machine_config &config); void bruc100(machine_config &config); - void hbf500p(machine_config &config); void hx21(machine_config &config); - void nms8250(machine_config &config); void cf3300(machine_config &config); void cx5f1(machine_config &config); - void hbf500(machine_config &config); - void fsa1f(machine_config &config); void hx10e(machine_config &config); void dpc200(machine_config &config); - void fsa1a(machine_config &config); - void hbf5(machine_config &config); - void hbf1xdm2(machine_config &config); - void cpc300e(machine_config &config); - void phc77(machine_config &config); void svi738(machine_config &config); void dpc200e(machine_config &config); - void mpc27(machine_config &config); - void mpc2500f(machine_config &config); void canonv10(machine_config &config); - void mpc2300(machine_config &config); - void nms8280g(machine_config &config); void yis503(machine_config &config); - void vg8230(machine_config &config); - void vg8235f(machine_config &config); void mpc200sp(machine_config &config); void svi738sw(machine_config &config); - void nms8280(machine_config &config); - void nms8260(machine_config &config); void vg8010f(machine_config &config); - void nms8250j(machine_config &config); - void nms8245(machine_config &config); - void fs5500f2(machine_config &config); void dpc180(machine_config &config); - void fs5500f1(machine_config &config); - void hbf500f(machine_config &config); - void vg8240(machine_config &config); void mlf120(machine_config &config); void hb201(machine_config &config); void piopxv60(machine_config &config); void hb10(machine_config &config); - void kmc5000(machine_config &config); - void fsa1fm(machine_config &config); - void fsa1mk2(machine_config &config); - void hbf9p(machine_config &config); void hb501p(machine_config &config); void cx5m(machine_config &config); - void phc35j(machine_config &config); - void fs4700(machine_config &config); void mx101(machine_config &config); void mx64(machine_config &config); void hb55d(machine_config &config); - void nms8280f(machine_config &config); - void nms8250f(machine_config &config); void nms801(machine_config &config); - void ax370(machine_config &config); void svi728(machine_config &config); - void expert20(machine_config &config); void hotbi13b(machine_config &config); - void mlg10(machine_config &config); - void cpc400s(machine_config &config); void hotbit12(machine_config &config); - void nms8220a(machine_config &config); - void mbh70(machine_config &config); - void mlg30(machine_config &config); - void fpc900(machine_config &config); void hotbit11(machine_config &config); - void y805128(machine_config &config); - void cpc400(machine_config &config); void vg8010(machine_config &config); - void hx34i(machine_config &config); - void canonv30f(machine_config &config); void cf2700(machine_config &config); void hx21i(machine_config &config); void mbh2(machine_config &config); @@ -364,7 +256,6 @@ public: void yis503f(machine_config &config); void cx5m2(machine_config &config); void spc800(machine_config &config); - void cpc330k(machine_config &config); void canonv20(machine_config &config); void hb20p(machine_config &config); void mbh25(machine_config &config); @@ -379,42 +270,27 @@ public: void phc28l(machine_config &config); void hb101p(machine_config &config); void expert11(machine_config &config); - void hbf9s(machine_config &config); void vg802020(machine_config &config); - void fsa1st(machine_config &config); - void hx33(machine_config &config); void tadpc20a(machine_config &config); void hb75p(machine_config &config); void piopx7(machine_config &config); - void fs4500(machine_config &config); void canonv8(machine_config &config); void cpc88(machine_config &config); void vg802000(machine_config &config); void mlf80(machine_config &config); void cpc50a(machine_config &config); void hb701fd(machine_config &config); - void canonv30(machine_config &config); void vg8000(machine_config &config); void hb55(machine_config &config); - void vg8230j(machine_config &config); - void mlg1(machine_config &config); - void cpg120(machine_config &config); void y503iir2(machine_config &config); void fpc500(machine_config &config); - void hbf700p(machine_config &config); +protected: void msx(machine_config &config); template void msx1(VDPType &vdp_type, machine_config &config); - void msx2(machine_config &config); - void msx2p(machine_config &config); - void msx2_pal(machine_config &config); void msx1_cartlist(machine_config &config); void msx1_floplist(machine_config &config); - void msx2_cartlist(machine_config &config); - void msx2_floplist(machine_config &config); - void msx2p_floplist(machine_config &config); - void msxr_floplist(machine_config &config); void msx_fd1793(machine_config &config); void msx_wd2793_force_ready(machine_config &config); void msx_wd2793(machine_config &config); @@ -424,16 +300,14 @@ public: void msx_1_35_ssdd_drive(machine_config &config); void msx_1_35_dd_drive(machine_config &config); void msx_2_35_dd_drive(machine_config &config); - void msx_ym2413(machine_config &config); - void msx2_64kb_vram(machine_config &config); -private: // static configuration helpers - static void install_slot_pages(device_t &owner, uint8_t prim, uint8_t sec, uint8_t page, uint8_t numpages, device_t *device); + void install_slot_pages(uint8_t prim, uint8_t sec, uint8_t page, uint8_t numpages, device_t *device); virtual void driver_start() override; virtual void machine_start() override; virtual void machine_reset() override; + virtual void device_post_load() override; DECLARE_WRITE8_MEMBER(msx_sec_slot_w); DECLARE_READ8_MEMBER(msx_sec_slot_r); @@ -442,49 +316,38 @@ private: DECLARE_WRITE8_MEMBER(msx_ppi_port_a_w); DECLARE_WRITE8_MEMBER(msx_ppi_port_c_w); DECLARE_READ8_MEMBER(msx_ppi_port_b_r); - DECLARE_READ8_MEMBER(msx_rtc_reg_r); - DECLARE_WRITE8_MEMBER(msx_rtc_reg_w); - DECLARE_WRITE8_MEMBER(msx_rtc_latch_w); DECLARE_READ8_MEMBER(msx_mem_read); DECLARE_WRITE8_MEMBER(msx_mem_write); - DECLARE_READ8_MEMBER(msx_switched_r); - DECLARE_WRITE8_MEMBER(msx_switched_w); - DECLARE_WRITE_LINE_MEMBER(turbo_w); + DECLARE_READ8_MEMBER(msx_psg_port_a_r); + DECLARE_READ8_MEMBER(msx_psg_port_b_r); + DECLARE_WRITE8_MEMBER(msx_psg_port_a_w); + DECLARE_WRITE8_MEMBER(msx_psg_port_b_w); + DECLARE_WRITE8_MEMBER(msx_ay8910_w); +private: void msx_memory_map_all(); void msx_memory_map_page(uint8_t page); void msx_memory_reset(); + void msx_memory_init(); DECLARE_FLOPPY_FORMATS(floppy_formats); - DECLARE_READ8_MEMBER(msx_psg_port_a_r); - DECLARE_READ8_MEMBER(msx_psg_port_b_r); - DECLARE_WRITE8_MEMBER(msx_psg_port_a_w); - DECLARE_WRITE8_MEMBER(msx_psg_port_b_w); INTERRUPT_GEN_MEMBER(msx_interrupt); - DECLARE_WRITE8_MEMBER(msx_ay8910_w); - void msx_memory_init(); - void post_load(); +public: DECLARE_WRITE_LINE_MEMBER(msx_irq_source0) { msx_irq_source(0, state); } // usually tms9918/v9938/v9958 DECLARE_WRITE_LINE_MEMBER(msx_irq_source1) { msx_irq_source(1, state); } // usually first cartridge slot DECLARE_WRITE_LINE_MEMBER(msx_irq_source2) { msx_irq_source(2, state); } // usually second cartridge slot DECLARE_WRITE_LINE_MEMBER(msx_irq_source3) { msx_irq_source(3, state); } // sometimes expansion slot - std::vector m_switched; - - void msx2_io_map(address_map &map); - void msx2p_io_map(address_map &map); +protected: void msx_io_map(address_map &map); void msx_memory_map(address_map &map); required_device m_maincpu; - optional_device m_v9938; - optional_device m_v9958; required_device m_cassette; required_device m_ay8910; required_device m_dac; - optional_device m_rtc; required_memory_region m_region_maincpu; optional_memory_region m_region_kanji; required_ioport m_io_joy0; @@ -495,13 +358,12 @@ private: required_ioport_array<6> m_io_key; output_finder<2> m_leds; +private: /* PSG */ int m_psg_b; /* mouse */ uint16_t m_mouse[2]; int m_mouse_stat[2]; - /* rtc */ - int m_rtc_latch; /* kanji */ int m_kanji_latch; /* memory */ @@ -521,4 +383,168 @@ private: }; +class msx2_state : public msx_state +{ +public: + msx2_state(const machine_config &mconfig, device_type type, const char *tag) + : msx_state(mconfig, type, tag) + , m_v9938(*this, "v9938") + , m_v9958(*this, "v9958") + , m_rtc(*this, TC8521_TAG) + , m_rtc_latch(0) + { + } + + void ax350(machine_config &config); + void ax370(machine_config &config); + void canonv25(machine_config &config); + void canonv30(machine_config &config); + void canonv30f(machine_config &config); + void cpc300(machine_config &config); + void cpc300e(machine_config &config); + void cpc330k(machine_config &config); + void cpc400(machine_config &config); + void cpc400s(machine_config &config); + void cpc61(machine_config &config); + void cpg120(machine_config &config); + void fpc900(machine_config &config); + void expert20(machine_config &config); + void mbh70(machine_config &config); + void kmc5000(machine_config &config); + void mlg1(machine_config &config); + void mlg3(machine_config &config); + void mlg10(machine_config &config); + void mlg30(machine_config &config); + void fs4500(machine_config &config); + void fs4600(machine_config &config); + void fs4700(machine_config &config); + void fs5000(machine_config &config); + void fs5500f1(machine_config &config); + void fs5500f2(machine_config &config); + void fsa1(machine_config &config); + void fsa1a(machine_config &config); + void fsa1f(machine_config &config); + void fsa1fm(machine_config &config); + void fsa1mk2(machine_config &config); + void nms8220(machine_config &config); + void nms8220a(machine_config &config); + void nms8245(machine_config &config); + void nms8245f(machine_config &config); + void nms8250(machine_config &config); + void nms8250f(machine_config &config); + void nms8250j(machine_config &config); + void nms8255(machine_config &config); + void nms8255f(machine_config &config); + void nms8260(machine_config &config); + void nms8280(machine_config &config); + void nms8280f(machine_config &config); + void nms8280g(machine_config &config); + void vg8230(machine_config &config); + void vg8230j(machine_config &config); + void vg8235(machine_config &config); + void vg8235f(machine_config &config); + void vg8240(machine_config &config); + void mpc2300(machine_config &config); + void mpc2500f(machine_config &config); + void mpc25fd(machine_config &config); + void mpc27(machine_config &config); + void phc23(machine_config &config); + void phc55fd2(machine_config &config); + void phc77(machine_config &config); + void hotbit20(machine_config &config); + void hbf1(machine_config &config); + void hbf12(machine_config &config); + void hbf1xd(machine_config &config); + void hbf1xdm2(machine_config &config); + void hbf5(machine_config &config); + void hbf500(machine_config &config); + void hbf500f(machine_config &config); + void hbf500p(machine_config &config); + void hbf700d(machine_config &config); + void hbf700f(machine_config &config); + void hbf700p(machine_config &config); + void hbf700s(machine_config &config); + void hbf900(machine_config &config); + void hbf900a(machine_config &config); + void hbf9p(machine_config &config); + void hbf9pr(machine_config &config); + void hbf9s(machine_config &config); + void hbg900ap(machine_config &config); + void hbg900p(machine_config &config); + void tpc310(machine_config &config); + void tpp311(machine_config &config); + void tps312(machine_config &config); + void hx23(machine_config &config); + void hx23f(machine_config &config); + void hx23i(machine_config &config); + void hx33(machine_config &config); + void hx34(machine_config &config); + void hx34i(machine_config &config); + void fstm1(machine_config &config); + void victhc90(machine_config &config); + void victhc95(machine_config &config); + void victhc95a(machine_config &config); + void cx7m(machine_config &config); + void cx7m128(machine_config &config); + void y503iiir(machine_config &config); + void y503iiire(machine_config &config); + void yis60464(machine_config &config); + void yis604(machine_config &config); + void y805128(machine_config &config); + void y805128r2(machine_config &config); + void y805128r2e(machine_config &config); + void y805256(machine_config &config); + void expert3i(machine_config &config); + void expert3t(machine_config &config); + void expertac(machine_config &config); + void expertdx(machine_config &config); + void fsa1fx(machine_config &config); + void fsa1wsx(machine_config &config); + void fsa1wx(machine_config &config); + void fsa1wxa(machine_config &config); + void phc35j(machine_config &config); + void phc70fd(machine_config &config); + void phc70fd2(machine_config &config); + void hbf1xdj(machine_config &config); + void hbf1xv(machine_config &config); + void hbf9sp(machine_config &config); + void fsa1gt(machine_config &config); + void fsa1st(machine_config &config); + +protected: + virtual void machine_start() override; + +private: + void msx2(machine_config &config); + void msx2p(machine_config &config); + void msx2_pal(machine_config &config); + + void msx2_cartlist(machine_config &config); + void msx2_floplist(machine_config &config); + void msx2p_floplist(machine_config &config); + void msxr_floplist(machine_config &config); + void msx_ym2413(machine_config &config); + void msx2_64kb_vram(machine_config &config); + + DECLARE_READ8_MEMBER(msx_rtc_reg_r); + DECLARE_WRITE8_MEMBER(msx_rtc_reg_w); + DECLARE_WRITE8_MEMBER(msx_rtc_latch_w); + DECLARE_READ8_MEMBER(msx_switched_r); + DECLARE_WRITE8_MEMBER(msx_switched_w); + DECLARE_WRITE_LINE_MEMBER(turbo_w); + + void msx2_io_map(address_map &map); + void msx2p_io_map(address_map &map); + + std::vector m_switched; + + optional_device m_v9938; + optional_device m_v9958; + required_device m_rtc; + + /* rtc */ + int m_rtc_latch; +}; + + #endif // MAME_INCLUDES_MSX_H diff --git a/src/mame/machine/msx.cpp b/src/mame/machine/msx.cpp index b01836180e4..733fed38868 100644 --- a/src/mame/machine/msx.cpp +++ b/src/mame/machine/msx.cpp @@ -60,6 +60,12 @@ void msx_state::machine_start() { m_leds.resolve(); m_port_c_old = 0xff; +} + + +void msx2_state::machine_start() +{ + msx_state::machine_start(); for (device_t &device : device_iterator(*this)) { @@ -69,6 +75,8 @@ void msx_state::machine_start() m_switched.push_back(switched); } } + + save_item(NAME(m_rtc_latch)); } @@ -199,7 +207,6 @@ void msx_state::driver_start() save_item(NAME(m_psg_b)); save_item(NAME(m_mouse)); save_item(NAME(m_mouse_stat)); - save_item(NAME(m_rtc_latch)); save_item(NAME(m_kanji_latch)); save_item(NAME(m_slot_expanded)); save_item(NAME(m_primary_slot)); @@ -207,11 +214,9 @@ void msx_state::driver_start() save_item(NAME(m_port_c_old)); save_item(NAME(m_keylatch)); save_item(NAME(m_irq_state)); - - machine().save().register_postload(save_prepost_delegate(FUNC(msx_state::post_load), this)); } -void msx_state::post_load() +void msx_state::device_post_load() { for (int page = 0; page < 4; page++) { @@ -315,17 +320,17 @@ WRITE8_MEMBER(msx_state::msx_psg_port_b_w) ** RTC functions */ -WRITE8_MEMBER( msx_state::msx_rtc_latch_w ) +WRITE8_MEMBER( msx2_state::msx_rtc_latch_w ) { m_rtc_latch = data & 15; } -WRITE8_MEMBER( msx_state::msx_rtc_reg_w ) +WRITE8_MEMBER( msx2_state::msx_rtc_reg_w ) { m_rtc->write(space, m_rtc_latch, data); } -READ8_MEMBER( msx_state::msx_rtc_reg_r ) +READ8_MEMBER( msx2_state::msx_rtc_reg_r ) { return m_rtc->read(space, m_rtc_latch); } @@ -390,18 +395,17 @@ READ8_MEMBER( msx_state::msx_ppi_port_b_r ) * ***********************************************************************/ -void msx_state::install_slot_pages(device_t &owner, uint8_t prim, uint8_t sec, uint8_t page, uint8_t numpages, device_t *device) +void msx_state::install_slot_pages(uint8_t prim, uint8_t sec, uint8_t page, uint8_t numpages, device_t *device) { - msx_state &msx = downcast(owner); msx_internal_slot_interface *internal_slot = dynamic_cast(device); for ( int i = page; i < std::min(page + numpages, 4); i++ ) { - msx.m_all_slots[prim][sec][i] = internal_slot; + m_all_slots[prim][sec][i] = internal_slot; } if ( sec ) { - msx.m_slot_expanded[prim] = true; + m_slot_expanded[prim] = true; } } @@ -519,7 +523,7 @@ WRITE8_MEMBER( msx_state::msx_kanji_w ) m_kanji_latch = (m_kanji_latch & 0x1f800) | ((data & 0x3f) << 5); } -READ8_MEMBER( msx_state::msx_switched_r ) +READ8_MEMBER( msx2_state::msx_switched_r ) { uint8_t data = 0xff; @@ -531,7 +535,7 @@ READ8_MEMBER( msx_state::msx_switched_r ) return data; } -WRITE8_MEMBER( msx_state::msx_switched_w ) +WRITE8_MEMBER( msx2_state::msx_switched_w ) { for (int i = 0; i < m_switched.size(); i++) { -- cgit v1.2.3