diff options
Diffstat (limited to 'src/devices/bus/bbc')
-rw-r--r-- | src/devices/bus/bbc/1mhzbus/1mhzbus.h | 4 | ||||
-rw-r--r-- | src/devices/bus/bbc/fdc/fdc.h | 4 | ||||
-rw-r--r-- | src/devices/bus/bbc/joyport/joyport.h | 4 | ||||
-rw-r--r-- | src/devices/bus/bbc/tube/tube.h | 2 | ||||
-rw-r--r-- | src/devices/bus/bbc/tube/tube_80186.cpp | 30 | ||||
-rw-r--r-- | src/devices/bus/bbc/tube/tube_casper.cpp | 35 | ||||
-rw-r--r-- | src/devices/bus/bbc/userport/userport.h | 4 |
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 |