diff options
Diffstat (limited to 'src/mame/drivers/instruct.cpp')
-rw-r--r-- | src/mame/drivers/instruct.cpp | 28 |
1 files changed, 15 insertions, 13 deletions
diff --git a/src/mame/drivers/instruct.cpp b/src/mame/drivers/instruct.cpp index 43de8c4a9f7..b6c9aff95d1 100644 --- a/src/mame/drivers/instruct.cpp +++ b/src/mame/drivers/instruct.cpp @@ -93,7 +93,7 @@ private: bool m_valid_digit; bool m_cassin; bool m_irqstate; - required_device<cpu_device> m_maincpu; + required_device<s2650_device> m_maincpu; required_shared_ptr<uint8_t> m_p_ram; required_shared_ptr<uint8_t> m_p_smiram; required_shared_ptr<uint8_t> m_p_extram; @@ -421,27 +421,29 @@ QUICKLOAD_LOAD_MEMBER( instruct_state, instruct ) return result; } -MACHINE_CONFIG_START(instruct_state::instruct) +void instruct_state::instruct(machine_config &config) +{ /* basic machine hardware */ - MCFG_DEVICE_ADD("maincpu",S2650, XTAL(3'579'545) / 4) - MCFG_DEVICE_PROGRAM_MAP(mem_map) - MCFG_DEVICE_IO_MAP(io_map) - MCFG_DEVICE_DATA_MAP(data_map) - MCFG_DEVICE_PERIODIC_INT_DRIVER(instruct_state, t2l_int, 120) - MCFG_S2650_SENSE_INPUT(READLINE(*this, instruct_state, sense_r)) - MCFG_S2650_FLAG_OUTPUT(WRITELINE(*this, instruct_state, flag_w)) + S2650(config, m_maincpu, XTAL(3'579'545) / 4); + m_maincpu->set_addrmap(AS_PROGRAM, &instruct_state::mem_map); + m_maincpu->set_addrmap(AS_IO, &instruct_state::io_map); + m_maincpu->set_addrmap(AS_DATA, &instruct_state::data_map); + m_maincpu->set_periodic_int(FUNC(instruct_state::t2l_int), attotime::from_hz(120)); + m_maincpu->sense_handler().set(FUNC(instruct_state::sense_r)); + m_maincpu->flag_handler().set(FUNC(instruct_state::flag_w)); /* video hardware */ config.set_default_layout(layout_instruct); /* quickload */ - MCFG_QUICKLOAD_ADD("quickload", instruct_state, instruct, "pgm", 1) + quickload_image_device &quickload(QUICKLOAD(config, "quickload", 0)); + quickload.set_handler(snapquick_load_delegate(&QUICKLOAD_LOAD_NAME(instruct_state, instruct), this), "pgm", 1); /* cassette */ - MCFG_CASSETTE_ADD( "cassette" ) + CASSETTE(config, m_cass); SPEAKER(config, "mono").front_center(); - WAVE(config, "wave", "cassette").add_route(ALL_OUTPUTS, "mono", 0.25); -MACHINE_CONFIG_END + WAVE(config, "wave", m_cass).add_route(ALL_OUTPUTS, "mono", 0.25); +} /* ROM definition */ ROM_START( instruct ) |