diff options
Diffstat (limited to 'src/mame/drivers/apollo.cpp')
-rw-r--r-- | src/mame/drivers/apollo.cpp | 66 |
1 files changed, 36 insertions, 30 deletions
diff --git a/src/mame/drivers/apollo.cpp b/src/mame/drivers/apollo.cpp index 9bf3f638ea5..6398cfbb1f3 100644 --- a/src/mame/drivers/apollo.cpp +++ b/src/mame/drivers/apollo.cpp @@ -1042,11 +1042,12 @@ READ_LINE_MEMBER( apollo_state::apollo_kbd_is_german ) MACHINE DRIVERS ***************************************************************************/ -MACHINE_CONFIG_START(apollo_state::dn3500) +void apollo_state::dn3500(machine_config &config) +{ /* basic machine hardware */ - MCFG_DEVICE_ADD(MAINCPU, M68030, 25000000) /* 25 MHz 68030 */ - MCFG_DEVICE_PROGRAM_MAP(dn3500_map) - MCFG_DEVICE_IRQ_ACKNOWLEDGE_DRIVER(apollo_state,apollo_irq_acknowledge) + M68030(config, m_maincpu, 25000000); /* 25 MHz 68030 */ + m_maincpu->set_addrmap(AS_PROGRAM, &apollo_state::dn3500_map); + m_maincpu->set_irq_acknowledge_callback(FUNC(apollo_state::apollo_irq_acknowledge)); config.m_minimum_quantum = attotime::from_hz(60); @@ -1059,12 +1060,13 @@ MACHINE_CONFIG_START(apollo_state::dn3500) apollo_stdio_device &stdio(APOLLO_STDIO(config, APOLLO_STDIO_TAG, 0)); stdio.tx_cb().set(m_sio, FUNC(apollo_sio::rx_b_w)); #endif -MACHINE_CONFIG_END +} -MACHINE_CONFIG_START(apollo_state::dsp3500) - MCFG_DEVICE_ADD(MAINCPU, M68030, 25000000) /* 25 MHz 68030 */ - MCFG_DEVICE_PROGRAM_MAP(dsp3500_map) - MCFG_DEVICE_IRQ_ACKNOWLEDGE_DRIVER(apollo_state,apollo_irq_acknowledge) +void apollo_state::dsp3500(machine_config &config) +{ + M68030(config, m_maincpu, 25000000); /* 25 MHz 68030 */ + m_maincpu->set_addrmap(AS_PROGRAM, &apollo_state::dsp3500_map); + m_maincpu->set_irq_acknowledge_callback(FUNC(apollo_state::apollo_irq_acknowledge)); config.m_minimum_quantum = attotime::from_hz(60); apollo_terminal(config); @@ -1074,7 +1076,7 @@ MACHINE_CONFIG_START(apollo_state::dsp3500) /* terminal hardware */ config.set_default_layout(layout_apollo_dsp); -MACHINE_CONFIG_END +} void apollo_state::dn3500_19i(machine_config &config) { @@ -1096,22 +1098,24 @@ void apollo_state::dn3500_15i(machine_config &config) m_keyboard->german_cb().set(FUNC(apollo_state::apollo_kbd_is_german)); } -MACHINE_CONFIG_START(apollo_state::dn3000) +void apollo_state::dn3000(machine_config &config) +{ dn3500(config); - MCFG_DEVICE_REPLACE(MAINCPU, M68020PMMU, 12000000) /* 12 MHz */ - MCFG_DEVICE_IRQ_ACKNOWLEDGE_DRIVER(apollo_state,apollo_irq_acknowledge) - MCFG_DEVICE_PROGRAM_MAP(dn3000_map) + M68020PMMU(config.replace(), m_maincpu, 12000000); /* 12 MHz */ + m_maincpu->set_irq_acknowledge_callback(FUNC(apollo_state::apollo_irq_acknowledge)); + m_maincpu->set_addrmap(AS_PROGRAM, &apollo_state::dn3000_map); config.device_remove( APOLLO_SIO2_TAG ); m_ram->set_default_size("8M").set_extra_options("4M"); // FIXME: is this interrupt really only connected on DN3000? m_rtc->irq().set(FUNC(apollo_state::apollo_rtc_irq_function)); -MACHINE_CONFIG_END +} -MACHINE_CONFIG_START(apollo_state::dsp3000) - MCFG_DEVICE_ADD(MAINCPU, M68020PMMU, 12000000) /* 12 MHz */ - MCFG_DEVICE_IRQ_ACKNOWLEDGE_DRIVER(apollo_state,apollo_irq_acknowledge) - MCFG_DEVICE_PROGRAM_MAP(dsp3000_map) +void apollo_state::dsp3000(machine_config &config) +{ + M68020PMMU(config, m_maincpu, 12000000); /* 12 MHz */ + m_maincpu->set_irq_acknowledge_callback(FUNC(apollo_state::apollo_irq_acknowledge)); + m_maincpu->set_addrmap(AS_PROGRAM, &apollo_state::dsp3000_map); config.m_minimum_quantum = attotime::from_hz(60); apollo_terminal(config); @@ -1123,7 +1127,7 @@ MACHINE_CONFIG_START(apollo_state::dsp3000) /* terminal hardware */ config.set_default_layout(layout_apollo_dsp); -MACHINE_CONFIG_END +} void apollo_state::dn3000_19i(machine_config &config) { @@ -1145,16 +1149,18 @@ void apollo_state::dn3000_15i(machine_config &config) m_keyboard->german_cb().set(FUNC(apollo_state::apollo_kbd_is_german)); } -MACHINE_CONFIG_START(apollo_state::dn5500) +void apollo_state::dn5500(machine_config &config) +{ dn3500(config); - MCFG_DEVICE_REPLACE(MAINCPU, M68040, 25000000) /* 25 MHz */ - MCFG_DEVICE_PROGRAM_MAP(dn5500_map) -MACHINE_CONFIG_END - -MACHINE_CONFIG_START(apollo_state::dsp5500) - MCFG_DEVICE_ADD(MAINCPU, M68040, 25000000) /* 25 MHz */ - MCFG_DEVICE_PROGRAM_MAP(dsp5500_map) - MCFG_DEVICE_IRQ_ACKNOWLEDGE_DRIVER(apollo_state,apollo_irq_acknowledge) + M68040(config.replace(), m_maincpu, 25000000); /* 25 MHz */ + m_maincpu->set_addrmap(AS_PROGRAM, &apollo_state::dn5500_map); +} + +void apollo_state::dsp5500(machine_config &config) +{ + M68040(config, m_maincpu, 25000000); /* 25 MHz */ + m_maincpu->set_addrmap(AS_PROGRAM, &apollo_state::dsp5500_map); + m_maincpu->set_irq_acknowledge_callback(FUNC(apollo_state::apollo_irq_acknowledge)); config.m_minimum_quantum = attotime::from_hz(60); apollo_terminal(config); @@ -1165,7 +1171,7 @@ MACHINE_CONFIG_START(apollo_state::dsp5500) /* terminal hardware */ config.set_default_layout(layout_apollo_dsp); -MACHINE_CONFIG_END +} void apollo_state::dn5500_19i(machine_config &config) { |