summaryrefslogtreecommitdiffstatshomepage
path: root/src/mame/drivers/msx.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/mame/drivers/msx.cpp')
-rw-r--r--src/mame/drivers/msx.cpp72
1 files changed, 39 insertions, 33 deletions
diff --git a/src/mame/drivers/msx.cpp b/src/mame/drivers/msx.cpp
index 6417aa77ec4..f2b2b0fba2b 100644
--- a/src/mame/drivers/msx.cpp
+++ b/src/mame/drivers/msx.cpp
@@ -1342,22 +1342,23 @@ void msx_state::msx_2_35_dd_drive(machine_config &config)
FLOPPY_CONNECTOR(config, "fdc:1", msx_floppies, "35dd", msx_state::floppy_formats);
}
-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
+void msx2_state::msx_ym2413(machine_config &config)
+{
+ YM2413(config, "ym2413", 21.477272_MHz_XTAL / 6).add_route(ALL_OUTPUTS, "speaker", 0.4);
+}
-MACHINE_CONFIG_START(msx2_state::msx2_64kb_vram)
- MCFG_DEVICE_MODIFY("v9938")
- downcast<v99x8_device &>(*device).set_vram_size(0x10000);
-MACHINE_CONFIG_END
+void msx2_state::msx2_64kb_vram(machine_config &config)
+{
+ m_v9938->set_vram_size(0x10000);
+}
-MACHINE_CONFIG_START(msx_state::msx)
+void msx_state::msx(machine_config &config)
+{
/* basic machine hardware */
- MCFG_DEVICE_ADD("maincpu", Z80, 10.738635_MHz_XTAL / 3) /* 3.579545 MHz */
- MCFG_DEVICE_PROGRAM_MAP(msx_memory_map)
- MCFG_DEVICE_IO_MAP(msx_io_map)
- MCFG_DEVICE_VBLANK_INT_DRIVER("screen", msx_state, msx_interrupt) /* Needed for mouse updates */
+ Z80(config, m_maincpu, 10.738635_MHz_XTAL / 3); /* 3.579545 MHz */
+ m_maincpu->set_addrmap(AS_PROGRAM, &msx_state::msx_memory_map);
+ m_maincpu->set_addrmap(AS_IO, &msx_state::msx_io_map);
+ m_maincpu->set_vblank_int("screen", FUNC(msx_state::msx_interrupt)); /* Needed for mouse updates */
config.m_minimum_quantum = attotime::from_hz(60);
INPUT_MERGER_ANY_HIGH(config, "mainirq").output_handler().set_inputline("maincpu", INPUT_LINE_IRQ0);
@@ -1369,9 +1370,10 @@ MACHINE_CONFIG_START(msx_state::msx)
/* sound hardware */
SPEAKER(config, "speaker").front_center();
- MCFG_DEVICE_ADD("dac", DAC_1BIT, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.1)
- MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0)
- MCFG_SOUND_ROUTE(0, "dac", 1.0, DAC_VREF_POS_INPUT)
+ DAC_1BIT(config, m_dac, 0).add_route(ALL_OUTPUTS, "speaker", 0.1);
+ voltage_regulator_device &vref(VOLTAGE_REGULATOR(config, "vref", 0));
+ vref.set_output(5.0);
+ vref.add_route(0, "dac", 1.0, DAC_VREF_POS_INPUT);
WAVE(config, "wave", m_cassette).add_route(ALL_OUTPUTS, "speaker", 0.25);
AY8910(config, m_ay8910, 10.738635_MHz_XTAL / 3 / 2);
@@ -1401,7 +1403,7 @@ MACHINE_CONFIG_START(msx_state::msx)
/* Software lists */
SOFTWARE_LIST(config, "cass_list").set_original("msx1_cass");
-MACHINE_CONFIG_END
+}
template<typename VDPType>
@@ -1417,11 +1419,12 @@ void msx_state::msx1(VDPType &vdp_type, machine_config &config)
}
-MACHINE_CONFIG_START(msx2_state::msx2)
+void msx2_state::msx2(machine_config &config)
+{
/* basic machine hardware */
- MCFG_DEVICE_ADD("maincpu", Z80, 21.477272_MHz_XTAL / 6) /* 3.579545 MHz */
- MCFG_DEVICE_PROGRAM_MAP(msx_memory_map)
- MCFG_DEVICE_IO_MAP(msx2_io_map)
+ Z80(config, m_maincpu, 21.477272_MHz_XTAL / 6); /* 3.579545 MHz */
+ m_maincpu->set_addrmap(AS_PROGRAM, &msx2_state::msx_memory_map);
+ m_maincpu->set_addrmap(AS_IO, &msx2_state::msx2_io_map);
config.m_minimum_quantum = attotime::from_hz(60);
INPUT_MERGER_ANY_HIGH(config, "mainirq").output_handler().set_inputline("maincpu", INPUT_LINE_IRQ0);
@@ -1440,9 +1443,10 @@ MACHINE_CONFIG_START(msx2_state::msx2)
/* sound hardware */
SPEAKER(config, "speaker").front_center();
- MCFG_DEVICE_ADD("dac", DAC_1BIT, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.1)
- MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0)
- MCFG_SOUND_ROUTE(0, "dac", 1.0, DAC_VREF_POS_INPUT)
+ DAC_1BIT(config, m_dac, 0).add_route(ALL_OUTPUTS, "speaker", 0.1);
+ voltage_regulator_device &vref(VOLTAGE_REGULATOR(config, "vref", 0));
+ vref.set_output(5.0);
+ vref.add_route(0, "dac", 1.0, DAC_VREF_POS_INPUT);
WAVE(config, "wave", m_cassette).add_route(ALL_OUTPUTS, "speaker", 0.25);
AY8910(config, m_ay8910, 21.477272_MHz_XTAL / 6 / 2);
@@ -1476,14 +1480,15 @@ MACHINE_CONFIG_START(msx2_state::msx2)
/* Software lists */
SOFTWARE_LIST(config, "cass_list").set_original("msx2_cass");
SOFTWARE_LIST(config, "msx1_cas_l").set_compatible("msx1_cass");
-MACHINE_CONFIG_END
+}
-MACHINE_CONFIG_START(msx2_state::msx2p)
+void msx2_state::msx2p(machine_config &config)
+{
/* basic machine hardware */
- MCFG_DEVICE_ADD("maincpu", Z80, 21.477272_MHz_XTAL / 6) /* 3.579545 MHz */
- MCFG_DEVICE_PROGRAM_MAP(msx_memory_map)
- MCFG_DEVICE_IO_MAP(msx2p_io_map)
+ Z80(config, m_maincpu, 21.477272_MHz_XTAL / 6); /* 3.579545 MHz */
+ m_maincpu->set_addrmap(AS_PROGRAM, &msx2_state::msx_memory_map);
+ m_maincpu->set_addrmap(AS_IO, &msx2_state::msx2p_io_map);
config.m_minimum_quantum = attotime::from_hz(60);
INPUT_MERGER_ANY_HIGH(config, "mainirq").output_handler().set_inputline("maincpu", INPUT_LINE_IRQ0);
@@ -1502,9 +1507,10 @@ MACHINE_CONFIG_START(msx2_state::msx2p)
/* sound hardware */
SPEAKER(config, "speaker").front_center();
- MCFG_DEVICE_ADD("dac", DAC_1BIT, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.1)
- MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0)
- MCFG_SOUND_ROUTE(0, "dac", 1.0, DAC_VREF_POS_INPUT)
+ DAC_1BIT(config, m_dac, 0).add_route(ALL_OUTPUTS, "speaker", 0.1);
+ voltage_regulator_device &vref(VOLTAGE_REGULATOR(config, "vref", 0));
+ vref.set_output(5.0);
+ vref.add_route(0, "dac", 1.0, DAC_VREF_POS_INPUT);
WAVE(config, "wave", m_cassette).add_route(ALL_OUTPUTS, "speaker", 0.25);
AY8910(config, m_ay8910, 21.477272_MHz_XTAL / 6 / 2);
@@ -1538,7 +1544,7 @@ MACHINE_CONFIG_START(msx2_state::msx2p)
/* Software lists */
SOFTWARE_LIST(config, "cass_list").set_original("msx2_cass");
SOFTWARE_LIST(config, "msx1_cas_l").set_compatible("msx1_cass");
-MACHINE_CONFIG_END
+ }
void msx2_state::msx2_pal(machine_config &config)