summaryrefslogtreecommitdiffstatshomepage
path: root/src/devices/bus/bbc
diff options
context:
space:
mode:
Diffstat (limited to 'src/devices/bus/bbc')
-rw-r--r--src/devices/bus/bbc/1mhzbus/1mhzbus.h4
-rw-r--r--src/devices/bus/bbc/fdc/fdc.h4
-rw-r--r--src/devices/bus/bbc/joyport/joyport.h4
-rw-r--r--src/devices/bus/bbc/tube/tube.h2
-rw-r--r--src/devices/bus/bbc/tube/tube_80186.cpp30
-rw-r--r--src/devices/bus/bbc/tube/tube_casper.cpp35
-rw-r--r--src/devices/bus/bbc/userport/userport.h4
7 files changed, 42 insertions, 41 deletions
diff --git a/src/devices/bus/bbc/1mhzbus/1mhzbus.h b/src/devices/bus/bbc/1mhzbus/1mhzbus.h
index e2237bef0ff..15e4721e556 100644
--- a/src/devices/bus/bbc/1mhzbus/1mhzbus.h
+++ b/src/devices/bus/bbc/1mhzbus/1mhzbus.h
@@ -100,10 +100,10 @@
MCFG_BBC_1MHZBUS_SLOT_NMI_HANDLER(WRITELINE(DEVICE_SELF_OWNER, bbc_1mhzbus_slot_device, nmi_w))
#define MCFG_BBC_1MHZBUS_SLOT_IRQ_HANDLER(_devcb) \
- devcb = &downcast<bbc_1mhzbus_slot_device &>(*device).set_irq_handler(DEVCB_##_devcb);
+ downcast<bbc_1mhzbus_slot_device &>(*device).set_irq_handler(DEVCB_##_devcb);
#define MCFG_BBC_1MHZBUS_SLOT_NMI_HANDLER(_devcb) \
- devcb = &downcast<bbc_1mhzbus_slot_device &>(*device).set_nmi_handler(DEVCB_##_devcb);
+ downcast<bbc_1mhzbus_slot_device &>(*device).set_nmi_handler(DEVCB_##_devcb);
//**************************************************************************
diff --git a/src/devices/bus/bbc/fdc/fdc.h b/src/devices/bus/bbc/fdc/fdc.h
index 4e2363560ba..892db41fe1d 100644
--- a/src/devices/bus/bbc/fdc/fdc.h
+++ b/src/devices/bus/bbc/fdc/fdc.h
@@ -22,10 +22,10 @@
MCFG_DEVICE_SLOT_INTERFACE(_slot_intf, _def_slot, _fixed)
#define MCFG_BBC_FDC_SLOT_INTRQ_HANDLER(_devcb) \
- devcb = &downcast<bbc_fdc_slot_device &>(*device).set_intrq_handler(DEVCB_##_devcb);
+ downcast<bbc_fdc_slot_device &>(*device).set_intrq_handler(DEVCB_##_devcb);
#define MCFG_BBC_FDC_SLOT_DRQ_HANDLER(_devcb) \
- devcb = &downcast<bbc_fdc_slot_device &>(*device).set_drq_handler(DEVCB_##_devcb);
+ downcast<bbc_fdc_slot_device &>(*device).set_drq_handler(DEVCB_##_devcb);
//**************************************************************************
diff --git a/src/devices/bus/bbc/joyport/joyport.h b/src/devices/bus/bbc/joyport/joyport.h
index bfc93f2d9e2..a11e39a38ec 100644
--- a/src/devices/bus/bbc/joyport/joyport.h
+++ b/src/devices/bus/bbc/joyport/joyport.h
@@ -42,10 +42,10 @@
MCFG_DEVICE_SLOT_INTERFACE(_slot_intf, _def_slot, false)
#define MCFG_BBC_JOYPORT_CB1_HANDLER(_devcb) \
- devcb = &downcast<bbc_joyport_slot_device &>(*device).set_cb1_handler(DEVCB_##_devcb);
+ downcast<bbc_joyport_slot_device &>(*device).set_cb1_handler(DEVCB_##_devcb);
#define MCFG_BBC_JOYPORT_CB2_HANDLER(_devcb) \
- devcb = &downcast<bbc_joyport_slot_device &>(*device).set_cb2_handler(DEVCB_##_devcb);
+ downcast<bbc_joyport_slot_device &>(*device).set_cb2_handler(DEVCB_##_devcb);
//**************************************************************************
// TYPE DEFINITIONS
diff --git a/src/devices/bus/bbc/tube/tube.h b/src/devices/bus/bbc/tube/tube.h
index b60d349df47..722207d8d93 100644
--- a/src/devices/bus/bbc/tube/tube.h
+++ b/src/devices/bus/bbc/tube/tube.h
@@ -54,7 +54,7 @@
MCFG_DEVICE_SLOT_INTERFACE(_slot_intf, _def_slot, false)
#define MCFG_BBC_TUBE_SLOT_IRQ_HANDLER(_devcb) \
- devcb = &downcast<bbc_tube_slot_device &>(*device).set_irq_handler(DEVCB_##_devcb);
+ downcast<bbc_tube_slot_device &>(*device).set_irq_handler(DEVCB_##_devcb);
//**************************************************************************
diff --git a/src/devices/bus/bbc/tube/tube_80186.cpp b/src/devices/bus/bbc/tube/tube_80186.cpp
index 46350c4a13b..432341ea15b 100644
--- a/src/devices/bus/bbc/tube/tube_80186.cpp
+++ b/src/devices/bus/bbc/tube/tube_80186.cpp
@@ -53,25 +53,25 @@ ROM_END
// device_add_mconfig - add device configuration
//-------------------------------------------------
-MACHINE_CONFIG_START(bbc_tube_80186_device::device_add_mconfig)
- MCFG_DEVICE_ADD("i80186", I80186, XTAL(20'000'000) / 2)
- MCFG_DEVICE_PROGRAM_MAP(tube_80186_mem)
- MCFG_DEVICE_IO_MAP(tube_80186_io)
- //MCFG_80186_CHIP_SELECT_CB(WRITE16(*this, bbc_tube_80186_device, chip_select_cb))
- MCFG_80186_TMROUT0_HANDLER(INPUTLINE("i80186", INPUT_LINE_HALT)) MCFG_DEVCB_INVERT
- MCFG_80186_TMROUT1_HANDLER(INPUTLINE("i80186", INPUT_LINE_NMI)) MCFG_DEVCB_INVERT
-
- MCFG_TUBE_ADD("ula")
- MCFG_TUBE_PIRQ_HANDLER(WRITELINE("i80186", i80186_cpu_device, int0_w))
- MCFG_TUBE_DRQ_HANDLER(WRITELINE("i80186", i80186_cpu_device, drq0_w))
+void bbc_tube_80186_device::device_add_mconfig(machine_config &config)
+{
+ I80186(config, m_i80186, 20_MHz_XTAL / 2);
+ m_i80186->set_addrmap(AS_PROGRAM, &bbc_tube_80186_device::tube_80186_mem);
+ m_i80186->set_addrmap(AS_IO, &bbc_tube_80186_device::tube_80186_io);
+ //m_i80186->chip_select_callback().set(FUNC(bbc_tube_80186_device::chip_select_cb));
+ m_i80186->tmrout0_handler().set_inputline(m_i80186, INPUT_LINE_HALT).invert();
+ m_i80186->tmrout1_handler().set_inputline(m_i80186, INPUT_LINE_NMI).invert();
+
+ TUBE(config, m_ula, 0);
+ m_ula->pirq_handler().set(m_i80186, FUNC(i80186_cpu_device::int0_w));
+ m_ula->drq_handler().set(m_i80186, FUNC(i80186_cpu_device::drq0_w));
/* internal ram */
- MCFG_RAM_ADD(RAM_TAG)
- MCFG_RAM_DEFAULT_SIZE("512K")
+ RAM(config, m_ram, 0).set_default_size("512K");
/* software lists */
- MCFG_SOFTWARE_LIST_ADD("flop_ls_80186", "bbc_flop_80186")
-MACHINE_CONFIG_END
+ SOFTWARE_LIST(config, "flop_ls_80186").set_original("bbc_flop_80186");
+}
//-------------------------------------------------
// rom_region - device-specific ROM region
diff --git a/src/devices/bus/bbc/tube/tube_casper.cpp b/src/devices/bus/bbc/tube/tube_casper.cpp
index 02c19165fd0..393305616b8 100644
--- a/src/devices/bus/bbc/tube/tube_casper.cpp
+++ b/src/devices/bus/bbc/tube/tube_casper.cpp
@@ -48,25 +48,26 @@ ROM_END
// device_add_mconfig - add device configuration
//-------------------------------------------------
-MACHINE_CONFIG_START(bbc_tube_casper_device::device_add_mconfig)
- MCFG_DEVICE_ADD(m_m68000, M68000, XTAL(4'000'000))
- MCFG_DEVICE_PROGRAM_MAP(tube_casper_mem)
-
- MCFG_DEVICE_ADD(m_via6522_0, VIA6522, XTAL(4'000'000) / 2)
- MCFG_VIA6522_WRITEPB_HANDLER(WRITE8(m_via6522_1, via6522_device, write_pa))
- MCFG_VIA6522_CA2_HANDLER(WRITELINE(m_via6522_1, via6522_device, write_cb1))
- MCFG_VIA6522_CB2_HANDLER(WRITELINE(m_via6522_1, via6522_device, write_ca1))
- MCFG_VIA6522_IRQ_HANDLER(WRITELINE(DEVICE_SELF_OWNER, bbc_tube_slot_device, irq_w))
-
- MCFG_DEVICE_ADD(m_via6522_1, VIA6522, XTAL(4'000'000) / 2)
- MCFG_VIA6522_WRITEPB_HANDLER(WRITE8(m_via6522_0, via6522_device, write_pa))
- MCFG_VIA6522_CA2_HANDLER(WRITELINE(m_via6522_0, via6522_device, write_cb1))
- MCFG_VIA6522_CB2_HANDLER(WRITELINE(m_via6522_0, via6522_device, write_ca1))
- MCFG_VIA6522_IRQ_HANDLER(INPUTLINE(m_m68000, M68K_IRQ_1))
+void bbc_tube_casper_device::device_add_mconfig(machine_config &config)
+{
+ M68000(config, m_m68000, 4_MHz_XTAL);
+ m_m68000->set_addrmap(AS_PROGRAM, &bbc_tube_casper_device::tube_casper_mem);
+
+ VIA6522(config, m_via6522_0, 4_MHz_XTAL / 2);
+ m_via6522_0->writepb_handler().set(m_via6522_1, FUNC(via6522_device::write_pa));
+ m_via6522_0->ca2_handler().set(m_via6522_1, FUNC(via6522_device::write_cb1));
+ m_via6522_0->cb2_handler().set(m_via6522_1, FUNC(via6522_device::write_ca1));
+ m_via6522_0->irq_handler().set(DEVICE_SELF_OWNER, FUNC(bbc_tube_slot_device::irq_w));
+
+ VIA6522(config, m_via6522_1, 4_MHz_XTAL / 2);
+ m_via6522_1->writepb_handler().set(m_via6522_0, FUNC(via6522_device::write_pa));
+ m_via6522_1->ca2_handler().set(m_via6522_0, FUNC(via6522_device::write_cb1));
+ m_via6522_1->cb2_handler().set(m_via6522_0, FUNC(via6522_device::write_ca1));
+ m_via6522_1->irq_handler().set_inputline(m_m68000, M68K_IRQ_1);
/* software lists */
- MCFG_SOFTWARE_LIST_ADD("flop_ls_casper", "bbc_flop_68000")
-MACHINE_CONFIG_END
+ SOFTWARE_LIST(config, "flop_ls_casper").set_original("bbc_flop_68000");
+}
//-------------------------------------------------
// rom_region - device-specific ROM region
diff --git a/src/devices/bus/bbc/userport/userport.h b/src/devices/bus/bbc/userport/userport.h
index f19911a4631..22003968ee9 100644
--- a/src/devices/bus/bbc/userport/userport.h
+++ b/src/devices/bus/bbc/userport/userport.h
@@ -41,10 +41,10 @@
MCFG_DEVICE_SLOT_INTERFACE(_slot_intf, _def_slot, false)
#define MCFG_BBC_USERPORT_CB1_HANDLER(_devcb) \
- devcb = &downcast<bbc_userport_slot_device &>(*device).set_cb1_handler(DEVCB_##_devcb);
+ downcast<bbc_userport_slot_device &>(*device).set_cb1_handler(DEVCB_##_devcb);
#define MCFG_BBC_USERPORT_CB2_HANDLER(_devcb) \
- devcb = &downcast<bbc_userport_slot_device &>(*device).set_cb2_handler(DEVCB_##_devcb);
+ downcast<bbc_userport_slot_device &>(*device).set_cb2_handler(DEVCB_##_devcb);
//**************************************************************************
// TYPE DEFINITIONS