summaryrefslogtreecommitdiffstatshomepage
path: root/src/mame/drivers/instruct.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/mame/drivers/instruct.cpp')
-rw-r--r--src/mame/drivers/instruct.cpp28
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 )