diff options
Diffstat (limited to 'src/mame/drivers/electron.cpp')
-rw-r--r-- | src/mame/drivers/electron.cpp | 25 |
1 files changed, 12 insertions, 13 deletions
diff --git a/src/mame/drivers/electron.cpp b/src/mame/drivers/electron.cpp index cc799facb50..f05545007ce 100644 --- a/src/mame/drivers/electron.cpp +++ b/src/mame/drivers/electron.cpp @@ -106,7 +106,7 @@ void electron_state::electron64_opcodes(address_map &map) INPUT_CHANGED_MEMBER(electron_state::trigger_reset) { m_maincpu->set_input_line(INPUT_LINE_RESET, newval ? ASSERT_LINE : CLEAR_LINE); - if (!newval) + if (newval) { m_exp->reset(); } @@ -211,8 +211,7 @@ static INPUT_PORTS_START( electron64 ) PORT_CONFSETTING(0x02, "64K") INPUT_PORTS_END -void electron_state::electron(machine_config &config) -{ +MACHINE_CONFIG_START(electron_state::electron) M6502(config, m_maincpu, 16_MHz_XTAL / 8); m_maincpu->set_addrmap(AS_PROGRAM, &electron_state::electron_mem); @@ -223,7 +222,7 @@ void electron_state::electron(machine_config &config) m_screen->set_video_attributes(VIDEO_UPDATE_SCANLINE); m_screen->set_palette("palette"); - PALETTE(config, "palette", FUNC(electron_state::electron_colours), 8); + PALETTE(config, "palette", FUNC(electron_state::electron_colours), 16); SPEAKER(config, "mono").front_center(); BEEP(config, m_beeper, 300).add_route(ALL_OUTPUTS, "mono", 1.00); @@ -236,34 +235,33 @@ void electron_state::electron(machine_config &config) m_cassette->set_interface("electron_cass"); /* expansion port */ - ELECTRON_EXPANSION_SLOT(config, m_exp, 16_MHz_XTAL, electron_expansion_devices, "plus3"); - m_exp->irq_handler().set_inputline(m_maincpu, M6502_IRQ_LINE); - m_exp->nmi_handler().set_inputline(m_maincpu, M6502_NMI_LINE); + MCFG_ELECTRON_EXPANSION_SLOT_ADD("exp", electron_expansion_devices, "plus3", false) + MCFG_ELECTRON_EXPANSION_SLOT_IRQ_HANDLER(INPUTLINE("maincpu", M6502_IRQ_LINE)) + MCFG_ELECTRON_EXPANSION_SLOT_NMI_HANDLER(INPUTLINE("maincpu", M6502_NMI_LINE)) /* software lists */ SOFTWARE_LIST(config, "cass_list").set_original("electron_cass"); SOFTWARE_LIST(config, "cart_list").set_original("electron_cart"); SOFTWARE_LIST(config, "flop_list").set_original("electron_flop"); SOFTWARE_LIST(config, "rom_list").set_original("electron_rom"); -} +MACHINE_CONFIG_END -void electron_state::btm2105(machine_config &config) -{ +MACHINE_CONFIG_START(electron_state::btm2105) electron(config); m_screen->set_color(rgb_t::amber()); /* expansion port */ - m_exp->set_default_option("m2105"); - m_exp->set_fixed(true); + MCFG_DEVICE_MODIFY("exp") + MCFG_DEVICE_SLOT_INTERFACE(electron_expansion_devices, "m2105", true) /* software lists */ config.device_remove("cass_list"); config.device_remove("cart_list"); config.device_remove("flop_list"); config.device_remove("rom_list"); -} +MACHINE_CONFIG_END void electron_state::electron64(machine_config &config) @@ -277,6 +275,7 @@ void electron_state::electron64(machine_config &config) } +/* Electron Rom Load */ ROM_START(electron) ROM_REGION( 0x4000, "mos", 0 ) ROM_LOAD( "b02_acornos-1.rom", 0x0000, 0x4000, CRC(a0c2cf43) SHA1(a27ce645472cc5497690e4bfab43710efbb0792d) ) |