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