summaryrefslogtreecommitdiffstatshomepage
path: root/src/mame/drivers/apollo.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/mame/drivers/apollo.cpp')
-rw-r--r--src/mame/drivers/apollo.cpp96
1 files changed, 56 insertions, 40 deletions
diff --git a/src/mame/drivers/apollo.cpp b/src/mame/drivers/apollo.cpp
index 6398cfbb1f3..1102f3cde86 100644
--- a/src/mame/drivers/apollo.cpp
+++ b/src/mame/drivers/apollo.cpp
@@ -29,12 +29,14 @@
#include "includes/apollo.h"
#include "cpu/m68000/m68000.h"
+#include "sound/beep.h"
// we use set_verbose
#include "bus/isa/omti8621.h"
#include "bus/isa/3c505.h"
#include "debugger.h"
+#include "speaker.h"
#include "apollo_dsp.lh"
@@ -1042,41 +1044,49 @@ READ_LINE_MEMBER( apollo_state::apollo_kbd_is_german )
MACHINE DRIVERS
***************************************************************************/
-void apollo_state::dn3500(machine_config &config)
-{
+MACHINE_CONFIG_START(apollo_state::dn3500)
/* basic machine hardware */
- 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));
+ 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)
- config.m_minimum_quantum = attotime::from_hz(60);
+ MCFG_QUANTUM_TIME(attotime::from_hz(60))
apollo(config);
+ /* keyboard beeper */
+ SPEAKER(config, "mono").front_center();
+ MCFG_DEVICE_ADD("beep", BEEP, 1000)
+ MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.00)
+
/* internal ram */
RAM(config, m_ram).set_default_size("8M").set_extra_options("4M,8M,16M,32M");
#ifdef APOLLO_XXL
apollo_stdio_device &stdio(APOLLO_STDIO(config, APOLLO_STDIO_TAG, 0));
- stdio.tx_cb().set(m_sio, FUNC(apollo_sio::rx_b_w));
+ stdio.tx_callback().set(m_sio, FUNC(apollo_sio::rx_b_w));
#endif
-}
+MACHINE_CONFIG_END
-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);
+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)
+ MCFG_QUANTUM_TIME(attotime::from_hz(60))
apollo_terminal(config);
+ /* keyboard beeper */
+ SPEAKER(config, "mono").front_center();
+ MCFG_DEVICE_ADD("beep", BEEP, 1000)
+ MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.00)
+
/* internal ram */
RAM(config, RAM_TAG).set_default_size("8M").set_extra_options("4M,8M,16M,32M");
/* terminal hardware */
config.set_default_layout(layout_apollo_dsp);
-}
+MACHINE_CONFIG_END
void apollo_state::dn3500_19i(machine_config &config)
{
@@ -1098,28 +1108,31 @@ void apollo_state::dn3500_15i(machine_config &config)
m_keyboard->german_cb().set(FUNC(apollo_state::apollo_kbd_is_german));
}
-void apollo_state::dn3000(machine_config &config)
-{
+MACHINE_CONFIG_START(apollo_state::dn3000)
dn3500(config);
- 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);
+ MCFG_DEVICE_REPLACE(MAINCPU, M68020PMMU, 12000000) /* 12 MHz */
+ MCFG_DEVICE_IRQ_ACKNOWLEDGE_DRIVER(apollo_state,apollo_irq_acknowledge)
+ MCFG_DEVICE_PROGRAM_MAP(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
-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);
+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)
+ MCFG_QUANTUM_TIME(attotime::from_hz(60))
apollo_terminal(config);
+ /* keyboard beeper */
+ SPEAKER(config, "mono").front_center();
+ MCFG_DEVICE_ADD("beep", BEEP, 1000)
+ MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.00)
+
/* internal ram */
RAM(config, m_ram).set_default_size("8M").set_extra_options("4M");
@@ -1127,7 +1140,7 @@ void apollo_state::dsp3000(machine_config &config)
/* terminal hardware */
config.set_default_layout(layout_apollo_dsp);
-}
+MACHINE_CONFIG_END
void apollo_state::dn3000_19i(machine_config &config)
{
@@ -1149,29 +1162,32 @@ void apollo_state::dn3000_15i(machine_config &config)
m_keyboard->german_cb().set(FUNC(apollo_state::apollo_kbd_is_german));
}
-void apollo_state::dn5500(machine_config &config)
-{
+MACHINE_CONFIG_START(apollo_state::dn5500)
dn3500(config);
- M68040(config.replace(), m_maincpu, 25000000); /* 25 MHz */
- m_maincpu->set_addrmap(AS_PROGRAM, &apollo_state::dn5500_map);
-}
+ MCFG_DEVICE_REPLACE(MAINCPU, M68040, 25000000) /* 25 MHz */
+ MCFG_DEVICE_PROGRAM_MAP(dn5500_map)
+MACHINE_CONFIG_END
-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);
+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)
+ MCFG_QUANTUM_TIME(attotime::from_hz(60))
apollo_terminal(config);
+ /* keyboard beeper */
+ SPEAKER(config, "mono").front_center();
+ MCFG_DEVICE_ADD("beep", BEEP, 1000)
+ MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.00)
+
/* internal ram */
// FIXME: guess, to fix validation
RAM(config, RAM_TAG).set_default_size("8M").set_extra_options("4M,8M,16M,32M");
/* terminal hardware */
config.set_default_layout(layout_apollo_dsp);
-}
+MACHINE_CONFIG_END
void apollo_state::dn5500_19i(machine_config &config)
{