summaryrefslogtreecommitdiffstatshomepage
path: root/src/mame/drivers/ravens.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/mame/drivers/ravens.cpp')
-rw-r--r--src/mame/drivers/ravens.cpp46
1 files changed, 25 insertions, 21 deletions
diff --git a/src/mame/drivers/ravens.cpp b/src/mame/drivers/ravens.cpp
index 4441483d0f0..38ea7c159e1 100644
--- a/src/mame/drivers/ravens.cpp
+++ b/src/mame/drivers/ravens.cpp
@@ -115,7 +115,7 @@ private:
uint8_t m_term_char;
uint8_t m_term_data;
virtual void machine_start() override { m_digits.resolve(); }
- required_device<cpu_device> m_maincpu;
+ required_device<s2650_device> m_maincpu;
optional_device<generic_terminal_device> m_terminal;
required_device<cassette_image_device> m_cass;
output_finder<7> m_digits;
@@ -338,33 +338,36 @@ QUICKLOAD_LOAD_MEMBER( ravens_state, ravens )
return result;
}
-MACHINE_CONFIG_START(ravens_state::ravens)
+void ravens_state::ravens(machine_config &config)
+{
/* basic machine hardware */
- MCFG_DEVICE_ADD("maincpu",S2650, XTAL(1'000'000)) // frequency is unknown
- MCFG_DEVICE_PROGRAM_MAP(ravens_mem)
- MCFG_DEVICE_IO_MAP(ravens_io)
- MCFG_S2650_SENSE_INPUT(READLINE(*this, ravens_state, cass_r))
- MCFG_S2650_FLAG_OUTPUT(WRITELINE(*this, ravens_state, cass_w))
+ S2650(config, m_maincpu, XTAL(1'000'000)); // frequency is unknown
+ m_maincpu->set_addrmap(AS_PROGRAM, &ravens_state::ravens_mem);
+ m_maincpu->set_addrmap(AS_IO, &ravens_state::ravens_io);
+ m_maincpu->sense_handler().set(FUNC(ravens_state::cass_r));
+ m_maincpu->flag_handler().set(FUNC(ravens_state::cass_w));
/* video hardware */
config.set_default_layout(layout_ravens);
/* quickload */
- MCFG_QUICKLOAD_ADD("quickload", ravens_state, ravens, "pgm", 1)
+ quickload_image_device &quickload(QUICKLOAD(config, "quickload", 0));
+ quickload.set_handler(snapquick_load_delegate(&QUICKLOAD_LOAD_NAME(ravens_state, ravens), 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.05);
-MACHINE_CONFIG_END
+ WAVE(config, "wave", m_cass).add_route(ALL_OUTPUTS, "mono", 0.05);
+}
-MACHINE_CONFIG_START(ravens_state::ravens2)
+void ravens_state::ravens2(machine_config &config)
+{
/* basic machine hardware */
- MCFG_DEVICE_ADD("maincpu",S2650, XTAL(1'000'000)) // frequency is unknown
- MCFG_DEVICE_PROGRAM_MAP(ravens_mem)
- MCFG_DEVICE_IO_MAP(ravens2_io)
- MCFG_S2650_SENSE_INPUT(READLINE(*this, ravens_state, cass_r))
- MCFG_S2650_FLAG_OUTPUT(WRITELINE(*this, ravens_state, cass_w))
+ S2650(config, m_maincpu, XTAL(1'000'000)); // frequency is unknown
+ m_maincpu->set_addrmap(AS_PROGRAM, &ravens_state::ravens_mem);
+ m_maincpu->set_addrmap(AS_IO, &ravens_state::ravens2_io);
+ m_maincpu->sense_handler().set(FUNC(ravens_state::cass_r));
+ m_maincpu->flag_handler().set(FUNC(ravens_state::cass_w));
MCFG_MACHINE_RESET_OVERRIDE(ravens_state, ravens2)
@@ -373,13 +376,14 @@ MACHINE_CONFIG_START(ravens_state::ravens2)
m_terminal->set_keyboard_callback(FUNC(ravens_state::kbd_put));
/* quickload */
- MCFG_QUICKLOAD_ADD("quickload", ravens_state, ravens, "pgm", 1)
+ quickload_image_device &quickload(QUICKLOAD(config, "quickload", 0));
+ quickload.set_handler(snapquick_load_delegate(&QUICKLOAD_LOAD_NAME(ravens_state, ravens), 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.05);
-MACHINE_CONFIG_END
+ WAVE(config, "wave", m_cass).add_route(ALL_OUTPUTS, "mono", 0.05);
+}
/* ROM definition */
ROM_START( ravens )