diff options
Diffstat (limited to 'src/mame/drivers/mk14.cpp')
-rw-r--r-- | src/mame/drivers/mk14.cpp | 32 |
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 ) |