summaryrefslogtreecommitdiffstatshomepage
path: root/src/mame/drivers/mk14.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/mame/drivers/mk14.cpp')
-rw-r--r--src/mame/drivers/mk14.cpp32
1 files changed, 20 insertions, 12 deletions
diff --git a/src/mame/drivers/mk14.cpp b/src/mame/drivers/mk14.cpp
index 118f25be403..39db2ca1e04 100644
--- a/src/mame/drivers/mk14.cpp
+++ b/src/mame/drivers/mk14.cpp
@@ -69,7 +69,7 @@ private:
virtual void machine_reset() override;
virtual void machine_start() override;
- required_device<cpu_device> m_maincpu;
+ required_device<scmp_device> m_maincpu;
required_ioport_array<8> m_keyboard;
required_device<cassette_image_device> m_cass;
required_device<dac_bit_interface> m_dac;
@@ -201,12 +201,18 @@ void mk14_state::machine_start()
m_digits.resolve();
}
-MACHINE_CONFIG_START(mk14_state::mk14)
+void mk14_state::mk14(machine_config &config)
+{
/* basic machine hardware */
// IC1 1SP-8A/600 (8060) SC/MP Microprocessor
- MCFG_DEVICE_ADD("maincpu", INS8060, XTAL(4'433'619))
- MCFG_SCMP_CONFIG(WRITELINE(*this, mk14_state, cass_w), NOOP, READLINE(*this, mk14_state, cass_r), CONSTANT(0), READLINE(*this, mk14_state, cass_r), NOOP)
- MCFG_DEVICE_PROGRAM_MAP(mem_map)
+ INS8060(config, m_maincpu, XTAL(4'433'619));
+ m_maincpu->flag_out().set(FUNC(mk14_state::cass_w));
+ m_maincpu->s_out().set_nop();
+ m_maincpu->s_in().set(FUNC(mk14_state::cass_r));
+ m_maincpu->sense_a().set_constant(0);
+ m_maincpu->sense_b().set(FUNC(mk14_state::cass_r));
+ m_maincpu->halt().set_nop();
+ m_maincpu->set_addrmap(AS_PROGRAM, &mk14_state::mem_map);
/* video hardware */
config.set_default_layout(layout_mk14);
@@ -214,19 +220,21 @@ MACHINE_CONFIG_START(mk14_state::mk14)
// sound
SPEAKER(config, "speaker").front_center();
WAVE(config, "wave", "cassette").add_route(ALL_OUTPUTS, "speaker", 0.05);
- MCFG_DEVICE_ADD("dac", DAC_1BIT, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.25)
- MCFG_DEVICE_ADD("dac8", ZN425E, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.5) // Ferranti ZN425E
- MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0)
- MCFG_SOUND_ROUTE(0, "dac", 1.0, DAC_VREF_POS_INPUT)
- MCFG_SOUND_ROUTE(0, "dac8", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "dac8", -1.0, DAC_VREF_NEG_INPUT)
+ DAC_1BIT(config, m_dac, 0).add_route(ALL_OUTPUTS, "speaker", 0.25);
+ ZN425E(config, "dac8", 0).add_route(ALL_OUTPUTS, "speaker", 0.5); // Ferranti ZN425E
+ 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);
+ vref.add_route(0, "dac8", 1.0, DAC_VREF_POS_INPUT);
+ vref.add_route(0, "dac8", -1.0, DAC_VREF_NEG_INPUT);
/* devices */
ins8154_device &ic8(INS8154(config, "ic8"));
ic8.out_a().set(FUNC(mk14_state::port_a_w));
ic8.out_b().set("dac8", FUNC(dac_byte_interface::data_w));
- MCFG_CASSETTE_ADD( "cassette" )
-MACHINE_CONFIG_END
+ CASSETTE(config, m_cass);
+}
/* ROM definition */
ROM_START( mk14 )