summaryrefslogtreecommitdiffstatshomepage
path: root/src/mame/drivers/aa310.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/mame/drivers/aa310.cpp')
-rw-r--r--src/mame/drivers/aa310.cpp103
1 files changed, 50 insertions, 53 deletions
diff --git a/src/mame/drivers/aa310.cpp b/src/mame/drivers/aa310.cpp
index 408e258ed4d..8e4fbd03109 100644
--- a/src/mame/drivers/aa310.cpp
+++ b/src/mame/drivers/aa310.cpp
@@ -405,11 +405,12 @@ WRITE_LINE_MEMBER( archimedes_state::a310_kart_rx_w )
archimedes_clear_irq_b(ARCHIMEDES_IRQB_KBD_XMIT_EMPTY);
}
-MACHINE_CONFIG_START(aa310_state::aa310)
+void aa310_state::aa310(machine_config &config)
+{
/* basic machine hardware */
- MCFG_DEVICE_ADD("maincpu", ARM, 24_MHz_XTAL / 3) /* ARM2 8 MHz */
- MCFG_DEVICE_PROGRAM_MAP(aa310_mem)
- MCFG_ARM_COPRO(VL86C020)
+ ARM(config, m_maincpu, 24_MHz_XTAL / 3); /* ARM2 8 MHz */
+ m_maincpu->set_addrmap(AS_PROGRAM, &aa310_state::aa310_mem);
+ m_maincpu->set_copro_type(arm_cpu_device::copro_type::VL86C020);
AAKART(config, m_kart, 8000000/256);
m_kart->out_tx_callback().set(FUNC(archimedes_state::a310_kart_tx_w));
@@ -418,11 +419,11 @@ MACHINE_CONFIG_START(aa310_state::aa310)
I2CMEM(config, "i2cmem", 0).set_data_size(0x100);
/* video hardware */
- MCFG_SCREEN_ADD("screen", RASTER)
- MCFG_SCREEN_RAW_PARAMS(16_MHz_XTAL, 1024, 0, 735, 624/2, 0, 292) // RiscOS 3 default screen settings
- MCFG_SCREEN_UPDATE_DRIVER(archimedes_state, screen_update)
+ SCREEN(config, m_screen, SCREEN_TYPE_RASTER);
+ m_screen->set_raw(16_MHz_XTAL, 1024, 0, 735, 624/2, 0, 292); // RiscOS 3 default screen settings
+ m_screen->set_screen_update(FUNC(archimedes_state::screen_update));
- MCFG_PALETTE_ADD("palette", 32768)
+ PALETTE(config, m_palette, 32768);
RAM(config, m_ram).set_default_size("1M");
@@ -430,34 +431,31 @@ MACHINE_CONFIG_START(aa310_state::aa310)
fdc.set_disable_motor_control(true);
fdc.intrq_wr_callback().set(FUNC(aa310_state::aa310_wd177x_intrq_w));
fdc.drq_wr_callback().set(FUNC(aa310_state::aa310_wd177x_drq_w));
- MCFG_FLOPPY_DRIVE_ADD("fdc:0", aa310_floppies, "35dd", aa310_state::floppy_formats)
- MCFG_FLOPPY_DRIVE_SOUND(true)
- MCFG_FLOPPY_DRIVE_ADD("fdc:1", aa310_floppies, nullptr, aa310_state::floppy_formats) // rarely had 2nd FDD installed, space was used for HDD
- MCFG_FLOPPY_DRIVE_SOUND(true)
+ FLOPPY_CONNECTOR(config, "fdc:0", aa310_floppies, "35dd", aa310_state::floppy_formats).enable_sound(true);
+
+ // rarely had 2nd FDD installed, space was used for HDD
+ FLOPPY_CONNECTOR(config, "fdc:1", aa310_floppies, nullptr, aa310_state::floppy_formats).enable_sound(true);
- MCFG_SOFTWARE_LIST_ADD("flop_list", "archimedes")
+ SOFTWARE_LIST(config, "flop_list").set_original("archimedes");
SPEAKER(config, "speaker").front_center();
- MCFG_DEVICE_ADD("dac0", DAC_16BIT_R2R_TWOS_COMPLEMENT, 0) MCFG_SOUND_ROUTE(0, "speaker", 0.1) // unknown DAC
- MCFG_DEVICE_ADD("dac1", DAC_16BIT_R2R_TWOS_COMPLEMENT, 0) MCFG_SOUND_ROUTE(0, "speaker", 0.1) // unknown DAC
- MCFG_DEVICE_ADD("dac2", DAC_16BIT_R2R_TWOS_COMPLEMENT, 0) MCFG_SOUND_ROUTE(0, "speaker", 0.1) // unknown DAC
- MCFG_DEVICE_ADD("dac3", DAC_16BIT_R2R_TWOS_COMPLEMENT, 0) MCFG_SOUND_ROUTE(0, "speaker", 0.1) // unknown DAC
- MCFG_DEVICE_ADD("dac4", DAC_16BIT_R2R_TWOS_COMPLEMENT, 0) MCFG_SOUND_ROUTE(0, "speaker", 0.1) // unknown DAC
- MCFG_DEVICE_ADD("dac5", DAC_16BIT_R2R_TWOS_COMPLEMENT, 0) MCFG_SOUND_ROUTE(0, "speaker", 0.1) // unknown DAC
- MCFG_DEVICE_ADD("dac6", DAC_16BIT_R2R_TWOS_COMPLEMENT, 0) MCFG_SOUND_ROUTE(0, "speaker", 0.1) // unknown DAC
- MCFG_DEVICE_ADD("dac7", DAC_16BIT_R2R_TWOS_COMPLEMENT, 0) MCFG_SOUND_ROUTE(0, "speaker", 0.1) // unknown DAC
- MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0)
- MCFG_SOUND_ROUTE(0, "dac0", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "dac0", -1.0, DAC_VREF_NEG_INPUT)
- MCFG_SOUND_ROUTE(0, "dac1", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "dac1", -1.0, DAC_VREF_NEG_INPUT)
- MCFG_SOUND_ROUTE(0, "dac2", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "dac2", -1.0, DAC_VREF_NEG_INPUT)
- MCFG_SOUND_ROUTE(0, "dac3", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "dac3", -1.0, DAC_VREF_NEG_INPUT)
- MCFG_SOUND_ROUTE(0, "dac4", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "dac4", -1.0, DAC_VREF_NEG_INPUT)
- MCFG_SOUND_ROUTE(0, "dac5", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "dac5", -1.0, DAC_VREF_NEG_INPUT)
- MCFG_SOUND_ROUTE(0, "dac6", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "dac6", -1.0, DAC_VREF_NEG_INPUT)
- MCFG_SOUND_ROUTE(0, "dac7", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "dac7", -1.0, DAC_VREF_NEG_INPUT)
+ for (int i = 0; i < 8; i++)
+ {
+ DAC_16BIT_R2R_TWOS_COMPLEMENT(config, m_dac[i], 0).add_route(0, "speaker", 0.1); // unknown DAC
+ }
+ voltage_regulator_device &vref(VOLTAGE_REGULATOR(config, "vref", 0));
+ vref.set_output(5.0);
+ vref.add_route(0, "dac0", 1.0, DAC_VREF_POS_INPUT); vref.add_route(0, "dac0", -1.0, DAC_VREF_NEG_INPUT);
+ vref.add_route(0, "dac1", 1.0, DAC_VREF_POS_INPUT); vref.add_route(0, "dac1", -1.0, DAC_VREF_NEG_INPUT);
+ vref.add_route(0, "dac2", 1.0, DAC_VREF_POS_INPUT); vref.add_route(0, "dac2", -1.0, DAC_VREF_NEG_INPUT);
+ vref.add_route(0, "dac3", 1.0, DAC_VREF_POS_INPUT); vref.add_route(0, "dac3", -1.0, DAC_VREF_NEG_INPUT);
+ vref.add_route(0, "dac4", 1.0, DAC_VREF_POS_INPUT); vref.add_route(0, "dac4", -1.0, DAC_VREF_NEG_INPUT);
+ vref.add_route(0, "dac5", 1.0, DAC_VREF_POS_INPUT); vref.add_route(0, "dac5", -1.0, DAC_VREF_NEG_INPUT);
+ vref.add_route(0, "dac6", 1.0, DAC_VREF_POS_INPUT); vref.add_route(0, "dac6", -1.0, DAC_VREF_NEG_INPUT);
+ vref.add_route(0, "dac7", 1.0, DAC_VREF_POS_INPUT); vref.add_route(0, "dac7", -1.0, DAC_VREF_NEG_INPUT);
/* Expansion slots - 2-card backplane */
-MACHINE_CONFIG_END
+}
void aa310_state::aa305(machine_config &config)
{
@@ -509,57 +507,56 @@ void aa310_state::aa4401(machine_config &config)
/* Expansion slots - 4-card backplane */
}
-MACHINE_CONFIG_START(aa310_state::aa540)
+void aa310_state::aa540(machine_config &config)
+{
aa310(config);
- MCFG_DEVICE_MODIFY("maincpu") // ARM3
- MCFG_DEVICE_CLOCK(52_MHz_XTAL / 2)
+ m_maincpu->set_clock(52_MHz_XTAL / 2); // ARM3
m_ram->set_default_size("4M").set_extra_options("8M,12M,16M");
/* 100MB HDD */
/* Expansion slots - 4-card backplane */
-MACHINE_CONFIG_END
+}
-MACHINE_CONFIG_START(aa310_state::aa5000)
+void aa310_state::aa5000(machine_config &config)
+{
aa310(config);
- MCFG_DEVICE_MODIFY("maincpu") // ARM3
- MCFG_DEVICE_CLOCK(50_MHz_XTAL / 2)
+ m_maincpu->set_clock(50_MHz_XTAL / 2); // ARM3
m_ram->set_default_size("2M").set_extra_options("4M");
/* 80MB HDD */
/* Expansion slots - 4-card backplane */
-MACHINE_CONFIG_END
+}
-MACHINE_CONFIG_START(aa310_state::aa4)
+void aa310_state::aa4(machine_config &config)
+{
aa5000(config);
- MCFG_DEVICE_MODIFY("maincpu") // ARM3
- MCFG_DEVICE_CLOCK(24_MHz_XTAL)
+ m_maincpu->set_clock(24_MHz_XTAL); // ARM3
/* video hardware */
- MCFG_SCREEN_MODIFY("screen")
- MCFG_SCREEN_TYPE(LCD)
+ m_screen->set_type(SCREEN_TYPE_LCD);
/* 765 FDC */
/* 60MB HDD */
-MACHINE_CONFIG_END
+}
-MACHINE_CONFIG_START(aa310_state::aa5000a)
+void aa310_state::aa5000a(machine_config &config)
+{
aa5000(config);
- MCFG_DEVICE_MODIFY("maincpu") // ARM3
- MCFG_DEVICE_CLOCK(33000000)
-MACHINE_CONFIG_END
+ m_maincpu->set_clock(33000000); // ARM3
+}
-MACHINE_CONFIG_START(aa310_state::aa3010)
+void aa310_state::aa3010(machine_config &config)
+{
aa310(config);
- MCFG_DEVICE_MODIFY("maincpu") // ARM250
- MCFG_DEVICE_CLOCK(72_MHz_XTAL / 6)
+ m_maincpu->set_clock(72_MHz_XTAL / 6); // ARM250
m_ram->set_default_size("1M").set_extra_options("2M");
-MACHINE_CONFIG_END
+}
void aa310_state::aa3020(machine_config &config)
{