-amigafdc, at29x, at45dbxx, at_keybc, ataintf, atmel_arm_aic, pci-ide: MCFG removal, nw

This commit is contained in:
mooglyguy 2018-08-15 18:37:51 +02:00
parent d0d5aac29b
commit 1db10c9857
81 changed files with 470 additions and 469 deletions

View File

@ -33,9 +33,10 @@ ROM_END
// device_add_mconfig - add device configuration // device_add_mconfig - add device configuration
//------------------------------------------------- //-------------------------------------------------
MACHINE_CONFIG_START(a1bus_cffa_device::device_add_mconfig) void a1bus_cffa_device::device_add_mconfig(machine_config &config)
MCFG_ATA_INTERFACE_ADD(CFFA_ATA_TAG, ata_devices, "hdd", nullptr, false) {
MACHINE_CONFIG_END ATA_INTERFACE(config, m_ata).options(ata_devices, "hdd", nullptr, false);
}
const tiny_rom_entry *a1bus_cffa_device::device_rom_region() const const tiny_rom_entry *a1bus_cffa_device::device_rom_region() const
{ {

View File

@ -51,12 +51,13 @@ ROM_END
// device_add_mconfig - add device configuration // device_add_mconfig - add device configuration
//------------------------------------------------- //-------------------------------------------------
MACHINE_CONFIG_START(a2bus_cffa2000_device::device_add_mconfig) void a2bus_cffa2000_device::device_add_mconfig(machine_config &config)
MCFG_ATA_INTERFACE_ADD(CFFA2_ATA_TAG, ata_devices, "hdd", nullptr, false) {
ATA_INTERFACE(config, m_ata).options(ata_devices, "hdd", nullptr, false);
// not yet, the core explodes // not yet, the core explodes
// MCFG_SOFTWARE_LIST_ADD("hdd_list", "apple2gs_hdd") // MCFG_SOFTWARE_LIST_ADD("hdd_list", "apple2gs_hdd")
MACHINE_CONFIG_END }
//------------------------------------------------- //-------------------------------------------------
// rom_region - device-specific ROM region // rom_region - device-specific ROM region

View File

@ -86,9 +86,10 @@ ROM_END
// device_add_mconfig - add device configuration // device_add_mconfig - add device configuration
//------------------------------------------------- //-------------------------------------------------
MACHINE_CONFIG_START(a2bus_vulcanbase_device::device_add_mconfig) void a2bus_vulcanbase_device::device_add_mconfig(machine_config &config)
MCFG_ATA_INTERFACE_ADD(VULCAN_ATA_TAG, ata_devices, "hdd", nullptr, false) {
MACHINE_CONFIG_END ATA_INTERFACE(config, m_ata).options(ata_devices, "hdd", nullptr, false);
}
//------------------------------------------------- //-------------------------------------------------
// rom_region - device-specific ROM region // rom_region - device-specific ROM region

View File

@ -46,9 +46,10 @@ ROM_END
// device_add_mconfig - add device configuration // device_add_mconfig - add device configuration
//------------------------------------------------- //-------------------------------------------------
MACHINE_CONFIG_START(a2bus_zipdrivebase_device::device_add_mconfig) void a2bus_zipdrivebase_device::device_add_mconfig(machine_config &config)
MCFG_ATA_INTERFACE_ADD(ZIPDRIVE_ATA_TAG, ata_devices, "hdd", nullptr, false) {
MACHINE_CONFIG_END ATA_INTERFACE(config, m_ata).options(ata_devices, "hdd", nullptr, false);
}
//------------------------------------------------- //-------------------------------------------------
// rom_region - device-specific ROM region // rom_region - device-specific ROM region

View File

@ -62,12 +62,14 @@ const tiny_rom_entry *powermate_ide_device::device_rom_region() const
// device_add_mconfig - add device configuration // device_add_mconfig - add device configuration
//------------------------------------------------- //-------------------------------------------------
MACHINE_CONFIG_START(powermate_ide_device::device_add_mconfig) void powermate_ide_device::device_add_mconfig(machine_config &config)
MCFG_ATA_INTERFACE_ADD(ATA_TAG, ata_devices, "hdd", nullptr, false) {
MCFG_DEVICE_ADD(CENTRONICS_TAG, CENTRONICS, centronics_devices, "printer") ATA_INTERFACE(config, m_ata).options(ata_devices, "hdd", nullptr, false);
centronics_device &centronics(CENTRONICS(config, CENTRONICS_TAG, centronics_devices, "printer"));
MCFG_CENTRONICS_OUTPUT_LATCH_ADD("cent_data_out", CENTRONICS_TAG) OUTPUT_LATCH(config, m_cent_data_out);
MACHINE_CONFIG_END centronics.set_output_latch(*m_cent_data_out);
}

View File

@ -58,12 +58,14 @@ void buddha_device::mmio_map(address_map &map)
// device_add_mconfig - add device configuration // device_add_mconfig - add device configuration
//------------------------------------------------- //-------------------------------------------------
MACHINE_CONFIG_START(buddha_device::device_add_mconfig) void buddha_device::device_add_mconfig(machine_config &config)
MCFG_ATA_INTERFACE_ADD("ata_0", ata_devices, nullptr, nullptr, false) {
MCFG_ATA_INTERFACE_IRQ_HANDLER(WRITELINE(*this, buddha_device, ide_0_interrupt_w)) ATA_INTERFACE(config, m_ata_0).options(ata_devices, nullptr, nullptr, false);
MCFG_ATA_INTERFACE_ADD("ata_1", ata_devices, nullptr, nullptr, false) m_ata_0->irq_handler().set(FUNC(buddha_device::ide_0_interrupt_w));
MCFG_ATA_INTERFACE_IRQ_HANDLER(WRITELINE(*this, buddha_device, ide_1_interrupt_w))
MACHINE_CONFIG_END ATA_INTERFACE(config, m_ata_1).options(ata_devices, nullptr, nullptr, false);
m_ata_1->irq_handler().set(FUNC(buddha_device::ide_1_interrupt_w));
}
//------------------------------------------------- //-------------------------------------------------
// rom_region - device-specific ROM region // rom_region - device-specific ROM region

View File

@ -46,12 +46,13 @@ DEFINE_DEVICE_TYPE(C64_IDE64, c64_ide64_cartridge_device, "c64_ide64", "C64 IDE6
// device_add_mconfig - add device configuration // device_add_mconfig - add device configuration
//------------------------------------------------- //-------------------------------------------------
MACHINE_CONFIG_START(c64_ide64_cartridge_device::device_add_mconfig) void c64_ide64_cartridge_device::device_add_mconfig(machine_config &config)
MCFG_ATMEL_29C010_ADD(AT29C010A_TAG) {
MCFG_DEVICE_ADD(DS1302_TAG, DS1302, 32.768_kHz_XTAL) ATMEL_29C010(config, m_flash_rom);
DS1302(config, m_rtc, 32.768_kHz_XTAL);
MCFG_ATA_INTERFACE_ADD(ATA_TAG, ata_devices, "hdd", nullptr, false) ATA_INTERFACE(config, m_ata).options(ata_devices, "hdd", nullptr, false);
MACHINE_CONFIG_END }
//------------------------------------------------- //-------------------------------------------------

View File

@ -51,12 +51,13 @@ static INPUT_PORTS_START(cpc_symbiface2)
INPUT_PORTS_END INPUT_PORTS_END
// device machine config // device machine config
MACHINE_CONFIG_START(cpc_symbiface2_device::device_add_mconfig) void cpc_symbiface2_device::device_add_mconfig(machine_config &config)
MCFG_ATA_INTERFACE_ADD("ide", ata_devices, "hdd", nullptr, false) {
MCFG_DS12885_ADD("rtc") ATA_INTERFACE(config, m_ide).options(ata_devices, "hdd", nullptr, false);
MCFG_NVRAM_ADD_1FILL("nvram") DS12885(config, m_rtc, XTAL(32'768));
NVRAM(config, m_nvram, nvram_device::DEFAULT_ALL_1);
// no pass-through // no pass-through
MACHINE_CONFIG_END }
ioport_constructor cpc_symbiface2_device::device_input_ports() const ioport_constructor cpc_symbiface2_device::device_input_ports() const
{ {

View File

@ -70,18 +70,17 @@ DEFINE_DEVICE_TYPE(ISA16_IDE, isa16_ide_device, "isa_ide", "IDE Fixed Drive Adap
// device_add_mconfig - add device configuration // device_add_mconfig - add device configuration
//------------------------------------------------- //-------------------------------------------------
MACHINE_CONFIG_START(isa16_ide_device::device_add_mconfig) void isa16_ide_device::device_add_mconfig(machine_config &config)
MCFG_IDE_CONTROLLER_ADD("ide", ata_devices, "hdd", nullptr, false) {
MCFG_ATA_INTERFACE_IRQ_HANDLER(WRITELINE(*this, isa16_ide_device, ide_interrupt)) IDE_CONTROLLER(config, m_ide).options(ata_devices, "hdd", nullptr, false);
m_ide->irq_handler().set(FUNC(isa16_ide_device::ide_interrupt));
SPEAKER(config, "lheadphone").front_left(); SPEAKER(config, "lheadphone").front_left();
SPEAKER(config, "rheadphone").front_right(); SPEAKER(config, "rheadphone").front_right();
MCFG_DEVICE_MODIFY("ide:0") m_ide->slot(0).set_option_machine_config("cdrom", cdrom_headphones);
MCFG_SLOT_OPTION_MACHINE_CONFIG("cdrom", cdrom_headphones) m_ide->slot(1).set_option_machine_config("cdrom", cdrom_headphones);
MCFG_DEVICE_MODIFY("ide:1") }
MCFG_SLOT_OPTION_MACHINE_CONFIG("cdrom", cdrom_headphones)
MACHINE_CONFIG_END
//------------------------------------------------- //-------------------------------------------------
// input_ports - device-specific input ports // input_ports - device-specific input ports

View File

@ -22,10 +22,11 @@ DEFINE_DEVICE_TYPE(ISA8_SIDE116, side116_device, "side116", "Acculogic sIDE-1/16
// device_add_mconfig - add device configuration // device_add_mconfig - add device configuration
//------------------------------------------------- //-------------------------------------------------
MACHINE_CONFIG_START(side116_device::device_add_mconfig) void side116_device::device_add_mconfig(machine_config &config)
MCFG_ATA_INTERFACE_ADD("ata", ata_devices, "hdd", nullptr, false) {
MCFG_ATA_INTERFACE_IRQ_HANDLER(WRITELINE(*this, side116_device, ide_interrupt)) ATA_INTERFACE(config, m_ata).options(ata_devices, "hdd", nullptr, false);
MACHINE_CONFIG_END m_ata->irq_handler().set(FUNC(side116_device::ide_interrupt));
}
//------------------------------------------------- //-------------------------------------------------

View File

@ -262,12 +262,13 @@ DEFINE_DEVICE_TYPE(ISA8_XTIDE, xtide_device, "xtide", "XT-IDE Fixed Drive Adapte
// device_add_mconfig - add device configuration // device_add_mconfig - add device configuration
//------------------------------------------------- //-------------------------------------------------
MACHINE_CONFIG_START(xtide_device::device_add_mconfig) void xtide_device::device_add_mconfig(machine_config &config)
MCFG_ATA_INTERFACE_ADD("ata", ata_devices, "hdd", nullptr, false) {
MCFG_ATA_INTERFACE_IRQ_HANDLER(WRITELINE(*this, xtide_device, ide_interrupt)) ATA_INTERFACE(config, m_ata).options(ata_devices, "hdd", nullptr, false);
m_ata->irq_handler().set(FUNC(xtide_device::ide_interrupt));
MCFG_EEPROM_2864_ADD("eeprom") EEPROM_PARALLEL_2864(config, m_eeprom);
MACHINE_CONFIG_END }
//------------------------------------------------- //-------------------------------------------------
// input_ports - device-specific input ports // input_ports - device-specific input ports

View File

@ -150,25 +150,28 @@ void kc_d004_device::device_reset()
// device_add_mconfig - add device configuration // device_add_mconfig - add device configuration
//------------------------------------------------- //-------------------------------------------------
MACHINE_CONFIG_START(kc_d004_device::device_add_mconfig) void kc_d004_device::device_add_mconfig(machine_config &config)
MCFG_DEVICE_ADD(Z80_TAG, Z80, XTAL(8'000'000)/2) {
MCFG_DEVICE_PROGRAM_MAP(kc_d004_mem) Z80(config, m_cpu, XTAL(8'000'000)/2);
MCFG_DEVICE_IO_MAP(kc_d004_io) m_cpu->set_addrmap(AS_PROGRAM, &kc_d004_device::kc_d004_mem);
MCFG_Z80_DAISY_CHAIN(kc_d004_daisy_chain) m_cpu->set_addrmap(AS_IO, &kc_d004_device::kc_d004_io);
m_cpu->set_daisy_config(kc_d004_daisy_chain);
MCFG_DEVICE_ADD(Z80CTC_TAG, Z80CTC, XTAL(8'000'000)/2) z80ctc_device &ctc(Z80CTC(config, Z80CTC_TAG, XTAL(8'000'000)/2));
MCFG_Z80CTC_INTR_CB(INPUTLINE(Z80_TAG, 0)) ctc.intr_callback().set_inputline(Z80_TAG, 0);
MCFG_Z80CTC_ZC0_CB(WRITELINE(Z80CTC_TAG, z80ctc_device, trg1)) ctc.zc_callback<0>().set(Z80CTC_TAG, FUNC(z80ctc_device::trg1));
MCFG_Z80CTC_ZC1_CB(WRITELINE(Z80CTC_TAG, z80ctc_device, trg2)) ctc.zc_callback<1>().set(Z80CTC_TAG, FUNC(z80ctc_device::trg2));
MCFG_Z80CTC_ZC2_CB(WRITELINE(Z80CTC_TAG, z80ctc_device, trg3)) ctc.zc_callback<2>().set(Z80CTC_TAG, FUNC(z80ctc_device::trg3));
MCFG_UPD765A_ADD(UPD765_TAG, false, false) UPD765A(config, m_fdc, 0);
MCFG_UPD765_INTRQ_CALLBACK(WRITELINE(*this, kc_d004_device, fdc_irq)) m_fdc->set_ready_line_connected(false);
MCFG_FLOPPY_DRIVE_ADD(UPD765_TAG ":0", kc_d004_floppies, "525qd", kc_d004_device::floppy_formats) m_fdc->set_select_lines_connected(false);
MCFG_FLOPPY_DRIVE_ADD(UPD765_TAG ":1", kc_d004_floppies, "525qd", kc_d004_device::floppy_formats) m_fdc->intrq_wr_callback().set(FUNC(kc_d004_device::fdc_irq));
MCFG_FLOPPY_DRIVE_ADD(UPD765_TAG ":2", kc_d004_floppies, "525qd", kc_d004_device::floppy_formats) FLOPPY_CONNECTOR(config, m_floppy0, kc_d004_floppies, "525qd", kc_d004_device::floppy_formats);
MCFG_FLOPPY_DRIVE_ADD(UPD765_TAG ":3", kc_d004_floppies, "525qd", kc_d004_device::floppy_formats) FLOPPY_CONNECTOR(config, m_floppy1, kc_d004_floppies, "525qd", kc_d004_device::floppy_formats);
MACHINE_CONFIG_END FLOPPY_CONNECTOR(config, m_floppy2, kc_d004_floppies, "525qd", kc_d004_device::floppy_formats);
FLOPPY_CONNECTOR(config, m_floppy3, kc_d004_floppies, "525qd", kc_d004_device::floppy_formats);
}
//------------------------------------------------- //-------------------------------------------------
// device_rom_region // device_rom_region
@ -374,14 +377,14 @@ kc_d004_gide_device::kc_d004_gide_device(const machine_config &mconfig, const ch
// device_add_mconfig - add device configuration // device_add_mconfig - add device configuration
//------------------------------------------------- //-------------------------------------------------
MACHINE_CONFIG_START(kc_d004_gide_device::device_add_mconfig) void kc_d004_gide_device::device_add_mconfig(machine_config &config)
{
kc_d004_device::device_add_mconfig(config); kc_d004_device::device_add_mconfig(config);
MCFG_DEVICE_MODIFY(Z80_TAG) m_cpu->set_addrmap(AS_IO, &kc_d004_gide_device::kc_d004_gide_io);
MCFG_DEVICE_IO_MAP(kc_d004_gide_io)
MCFG_ATA_INTERFACE_ADD(ATA_TAG, ata_devices, "hdd", nullptr, false) ATA_INTERFACE(config, m_ata).options(ata_devices, "hdd", nullptr, false);
MACHINE_CONFIG_END }
//------------------------------------------------- //-------------------------------------------------

View File

@ -50,6 +50,8 @@ protected:
DECLARE_WRITE8_MEMBER(fdd_select_w); DECLARE_WRITE8_MEMBER(fdd_select_w);
DECLARE_WRITE8_MEMBER(hw_terminal_count_w); DECLARE_WRITE8_MEMBER(hw_terminal_count_w);
required_device<z80_device> m_cpu;
private: private:
DECLARE_FLOPPY_FORMATS( floppy_formats ); DECLARE_FLOPPY_FORMATS( floppy_formats );
@ -60,7 +62,6 @@ private:
static const device_timer_id TIMER_RESET = 0; static const device_timer_id TIMER_RESET = 0;
required_device<cpu_device> m_cpu;
required_device<upd765a_device> m_fdc; required_device<upd765a_device> m_fdc;
required_device<floppy_connector> m_floppy0; required_device<floppy_connector> m_floppy0;
required_device<floppy_connector> m_floppy1; required_device<floppy_connector> m_floppy1;

View File

@ -76,13 +76,13 @@ MACHINE_CONFIG_START(southbridge_device::device_add_mconfig)
m_pic8259_slave->out_int_callback().set(m_pic8259_master, FUNC(pic8259_device::ir2_w)); m_pic8259_slave->out_int_callback().set(m_pic8259_master, FUNC(pic8259_device::ir2_w));
m_pic8259_slave->in_sp_callback().set_constant(0); m_pic8259_slave->in_sp_callback().set_constant(0);
MCFG_BUS_MASTER_IDE_CONTROLLER_ADD("ide", ata_devices, "hdd", nullptr, false) BUS_MASTER_IDE_CONTROLLER(config, m_ide).options(ata_devices, "hdd", nullptr, false);
MCFG_ATA_INTERFACE_IRQ_HANDLER(WRITELINE("pic8259_slave", pic8259_device, ir6_w)) m_ide->irq_handler().set("pic8259_slave", FUNC(pic8259_device::ir6_w));
MCFG_BUS_MASTER_IDE_CONTROLLER_SPACE(":maincpu", AS_PROGRAM) m_ide->set_bus_master_space(":maincpu", AS_PROGRAM);
MCFG_BUS_MASTER_IDE_CONTROLLER_ADD("ide2", ata_devices, "cdrom", nullptr, false) BUS_MASTER_IDE_CONTROLLER(config, m_ide2).options(ata_devices, "cdrom", nullptr, false);
MCFG_ATA_INTERFACE_IRQ_HANDLER(WRITELINE("pic8259_slave", pic8259_device, ir7_w)) m_ide2->irq_handler().set("pic8259_slave", FUNC(pic8259_device::ir7_w));
MCFG_BUS_MASTER_IDE_CONTROLLER_SPACE(":maincpu", AS_PROGRAM) m_ide2->set_bus_master_space(":maincpu", AS_PROGRAM);
// sound hardware // sound hardware
SPEAKER(config, "mono").front_center(); SPEAKER(config, "mono").front_center();
@ -509,12 +509,13 @@ static void pc_isa_onboard(device_slot_interface &device)
MACHINE_CONFIG_START(southbridge_extended_device::device_add_mconfig) MACHINE_CONFIG_START(southbridge_extended_device::device_add_mconfig)
southbridge_device::device_add_mconfig(config); southbridge_device::device_add_mconfig(config);
MCFG_DEVICE_ADD("keybc", AT_KEYBOARD_CONTROLLER, XTAL(12'000'000)) at_keyboard_controller_device &keybc(AT_KEYBOARD_CONTROLLER(config, "keybc", XTAL(12'000'000)));
MCFG_AT_KEYBOARD_CONTROLLER_SYSTEM_RESET_CB(INPUTLINE(":maincpu", INPUT_LINE_RESET)) keybc.system_reset_cb().set_inputline(":maincpu", INPUT_LINE_RESET);
MCFG_AT_KEYBOARD_CONTROLLER_GATE_A20_CB(INPUTLINE(":maincpu", INPUT_LINE_A20)) keybc.gate_a20_cb().set_inputline(":maincpu", INPUT_LINE_A20);
MCFG_AT_KEYBOARD_CONTROLLER_INPUT_BUFFER_FULL_CB(WRITELINE("pic8259_master", pic8259_device, ir1_w)) keybc.input_buffer_full_cb().set("pic8259_master", FUNC(pic8259_device::ir1_w));
MCFG_AT_KEYBOARD_CONTROLLER_KEYBOARD_CLOCK_CB(WRITELINE("pc_kbdc", pc_kbdc_device, clock_write_from_mb)) keybc.keyboard_clock_cb().set("pc_kbdc", FUNC(pc_kbdc_device::clock_write_from_mb));
MCFG_AT_KEYBOARD_CONTROLLER_KEYBOARD_DATA_CB(WRITELINE("pc_kbdc", pc_kbdc_device, data_write_from_mb)) keybc.keyboard_data_cb().set("pc_kbdc", FUNC(pc_kbdc_device::data_write_from_mb));
MCFG_DEVICE_ADD("pc_kbdc", PC_KBDC, 0) MCFG_DEVICE_ADD("pc_kbdc", PC_KBDC, 0)
MCFG_PC_KBDC_OUT_CLOCK_CB(WRITELINE("keybc", at_keyboard_controller_device, keyboard_clock_w)) MCFG_PC_KBDC_OUT_CLOCK_CB(WRITELINE("keybc", at_keyboard_controller_device, keyboard_clock_w))
MCFG_PC_KBDC_OUT_DATA_CB(WRITELINE("keybc", at_keyboard_controller_device, keyboard_data_w)) MCFG_PC_KBDC_OUT_DATA_CB(WRITELINE("keybc", at_keyboard_controller_device, keyboard_data_w))

View File

@ -92,9 +92,10 @@ const tiny_rom_entry *qubide_device::device_rom_region() const
// device_add_mconfig - add device configuration // device_add_mconfig - add device configuration
//------------------------------------------------- //-------------------------------------------------
MACHINE_CONFIG_START(qubide_device::device_add_mconfig) void qubide_device::device_add_mconfig(machine_config &config)
MCFG_ATA_INTERFACE_ADD("ata", ata_devices, "hdd", nullptr, false) {
MACHINE_CONFIG_END ATA_INTERFACE(config, m_ata).options(ata_devices, "hdd", nullptr, false);
}

View File

@ -702,13 +702,15 @@ INPUT_PORTS_START( ti99_hsgpl)
INPUT_PORTS_END INPUT_PORTS_END
MACHINE_CONFIG_START(snug_high_speed_gpl_device::device_add_mconfig) MACHINE_CONFIG_START(snug_high_speed_gpl_device::device_add_mconfig)
MCFG_AT29C040A_ADD( DSR_EEPROM ) AT29C040A(config, DSR_EEPROM);
MCFG_AT29C040A_ADD( GROM_B_EEPROM ) AT29C040A(config, GROM_B_EEPROM);
MCFG_AT29C040A_ADD( GROM_A_EEPROM ) AT29C040A(config, GROM_A_EEPROM);
MCFG_AT29C040A_ADD( ROM6_EEPROM ) AT29C040A(config, ROM6_EEPROM);
MCFG_RAM_ADD(RAM6_TAG) MCFG_RAM_ADD(RAM6_TAG)
MCFG_RAM_DEFAULT_SIZE("128k") MCFG_RAM_DEFAULT_SIZE("128k")
MCFG_RAM_DEFAULT_VALUE(0) MCFG_RAM_DEFAULT_VALUE(0)
MCFG_RAM_ADD(GRAM_TAG) MCFG_RAM_ADD(GRAM_TAG)
MCFG_RAM_DEFAULT_SIZE("128k") MCFG_RAM_DEFAULT_SIZE("128k")
MCFG_RAM_DEFAULT_VALUE(0) MCFG_RAM_DEFAULT_VALUE(0)

View File

@ -54,8 +54,10 @@ enum
nouspikel_ide_interface_device::nouspikel_ide_interface_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) : nouspikel_ide_interface_device::nouspikel_ide_interface_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
device_t(mconfig, TI99_IDE, tag, owner, clock), device_t(mconfig, TI99_IDE, tag, owner, clock),
device_ti99_peribox_card_interface(mconfig, *this), device_ti99_peribox_card_interface(mconfig, *this),
m_cru_register(0), m_rtc(nullptr), m_cru_register(0),
m_ata(*this, "ata"), m_clk_irq(false), m_sram_enable(false), m_rtc(*this, "ide_rtc"),
m_ata(*this, "ata"),
m_clk_irq(false), m_sram_enable(false),
m_sram_enable_dip(false), m_cur_page(0), m_tms9995_mode(false), m_sram_enable_dip(false), m_cur_page(0), m_tms9995_mode(false),
m_input_latch(0), m_output_latch(0), m_ram(*this, RAMREGION) m_input_latch(0), m_output_latch(0), m_ram(*this, RAMREGION)
{ {
@ -307,7 +309,6 @@ WRITE_LINE_MEMBER(nouspikel_ide_interface_device::clock_interrupt_callback)
void nouspikel_ide_interface_device::device_start() void nouspikel_ide_interface_device::device_start()
{ {
m_rtc = subdevice<rtc65271_device>("ide_rtc");
m_sram_enable_dip = false; // TODO: what is this? m_sram_enable_dip = false; // TODO: what is this?
save_item(NAME(m_ata_irq)); save_item(NAME(m_ata_irq));
@ -366,16 +367,18 @@ INPUT_PORTS_START( tn_ide )
PORT_DIPSETTING( 0x1f00, "1F00" ) PORT_DIPSETTING( 0x1f00, "1F00" )
INPUT_PORTS_END INPUT_PORTS_END
MACHINE_CONFIG_START(nouspikel_ide_interface_device::device_add_mconfig) void nouspikel_ide_interface_device::device_add_mconfig(machine_config &config)
MCFG_DEVICE_ADD( "ide_rtc", RTC65271, 0 ) {
MCFG_RTC65271_INTERRUPT_CB(WRITELINE(*this, nouspikel_ide_interface_device, clock_interrupt_callback)) RTC65271(config, m_rtc, 0);
MCFG_ATA_INTERFACE_ADD( "ata", ata_devices, "hdd", nullptr, false) m_rtc->interrupt_cb().set(FUNC(nouspikel_ide_interface_device::clock_interrupt_callback));
MCFG_ATA_INTERFACE_IRQ_HANDLER(WRITELINE(*this, nouspikel_ide_interface_device, ide_interrupt_callback))
MCFG_RAM_ADD(RAMREGION) ATA_INTERFACE(config, m_ata).options(ata_devices, "hdd", nullptr, false);
MCFG_RAM_DEFAULT_SIZE("512K") m_ata->irq_handler().set(FUNC(nouspikel_ide_interface_device::ide_interrupt_callback));
MCFG_RAM_DEFAULT_VALUE(0)
MACHINE_CONFIG_END RAM(config, m_ram);
m_ram->set_default_size("512K");
m_ram->set_default_value(0);
}
ioport_constructor nouspikel_ide_interface_device::device_input_ports() const ioport_constructor nouspikel_ide_interface_device::device_input_ports() const
{ {

View File

@ -47,7 +47,7 @@ private:
DECLARE_WRITE_LINE_MEMBER(clock_interrupt_callback); DECLARE_WRITE_LINE_MEMBER(clock_interrupt_callback);
DECLARE_WRITE_LINE_MEMBER(ide_interrupt_callback); DECLARE_WRITE_LINE_MEMBER(ide_interrupt_callback);
rtc65271_device* m_rtc; required_device<rtc65271_device> m_rtc;
required_device<ata_interface_device> m_ata; required_device<ata_interface_device> m_ata;
bool m_clk_irq; bool m_clk_irq;

View File

@ -7,30 +7,10 @@
#include "imagedev/floppy.h" #include "imagedev/floppy.h"
#define MCFG_AMIGA_FDC_INDEX_CALLBACK(_write) \
downcast<amiga_fdc_device &>(*device).set_index_wr_callback(DEVCB_##_write);
#define MCFG_AMIGA_FDC_READ_DMA_CALLBACK(_read) \
downcast<amiga_fdc_device &>(*device).set_dma_rd_callback(DEVCB_##_read);
#define MCFG_AMIGA_FDC_WRITE_DMA_CALLBACK(_write) \
downcast<amiga_fdc_device &>(*device).set_dma_wr_callback(DEVCB_##_write);
#define MCFG_AMIGA_FDC_DSKBLK_CALLBACK(_write) \
downcast<amiga_fdc_device &>(*device).set_dskblk_wr_callback(DEVCB_##_write);
#define MCFG_AMIGA_FDC_DSKSYN_CALLBACK(_write) \
downcast<amiga_fdc_device &>(*device).set_dsksyn_wr_callback(DEVCB_##_write);
class amiga_fdc_device : public device_t { class amiga_fdc_device : public device_t {
public: public:
amiga_fdc_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock); amiga_fdc_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
template <class Object> devcb_base &set_index_wr_callback(Object &&cb) { return m_write_index.set_callback(std::forward<Object>(cb)); }
template <class Object> devcb_base &set_dma_rd_callback(Object &&cb) { return m_read_dma.set_callback(std::forward<Object>(cb)); }
template <class Object> devcb_base &set_dma_wr_callback(Object &&cb) { return m_write_dma.set_callback(std::forward<Object>(cb)); }
template <class Object> devcb_base &set_dskblk_wr_callback(Object &&cb) { return m_write_dskblk.set_callback(std::forward<Object>(cb)); }
template <class Object> devcb_base &set_dsksyn_wr_callback(Object &&cb) { return m_write_dsksyn.set_callback(std::forward<Object>(cb)); }
auto index_callback() { return m_write_index.bind(); } auto index_callback() { return m_write_index.bind(); }
auto read_dma_callback() { return m_read_dma.bind(); } auto read_dma_callback() { return m_read_dma.bind(); }
auto write_dma_callback() { return m_write_dma.bind(); } auto write_dma_callback() { return m_write_dma.bind(); }

View File

@ -91,28 +91,19 @@ private:
class at29c020_device : public at29x_device class at29c020_device : public at29x_device
{ {
public: public:
at29c020_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock); at29c020_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock = 0);
}; };
class at29c040_device : public at29x_device class at29c040_device : public at29x_device
{ {
public: public:
at29c040_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock); at29c040_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock = 0);
}; };
class at29c040a_device : public at29x_device class at29c040a_device : public at29x_device
{ {
public: public:
at29c040a_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock); at29c040a_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock = 0);
}; };
#define MCFG_AT29C020_ADD(_tag ) \
MCFG_DEVICE_ADD(_tag, AT29C020, 0)
#define MCFG_AT29C040_ADD(_tag ) \
MCFG_DEVICE_ADD(_tag, AT29C040, 0)
#define MCFG_AT29C040A_ADD(_tag ) \
MCFG_DEVICE_ADD(_tag, AT29C040A, 0)
#endif // MAME_MACHINE_AT29X_H #endif // MAME_MACHINE_AT29X_H

View File

@ -18,23 +18,6 @@
#pragma once #pragma once
//**************************************************************************
// INTERFACE CONFIGURATION MACROS
//**************************************************************************
#define MCFG_AT45DB041_ADD(_tag) \
MCFG_DEVICE_ADD(_tag, AT45DB041, 0)
#define MCFG_AT45DB081_ADD(_tag) \
MCFG_DEVICE_ADD(_tag, AT45DB081, 0)
#define MCFG_AT45DB161_ADD(_tag) \
MCFG_DEVICE_ADD(_tag, AT45DB161, 0)
#define MCFG_AT45DBXXX_SO_CALLBACK(_cb) \
downcast<at45db041_device &>(*device).set_so_cb(DEVCB_##_cb);
// ======================> at45db041_device // ======================> at45db041_device
class at45db041_device : public device_t, class at45db041_device : public device_t,
@ -50,7 +33,7 @@ public:
uint8_t *get_ptr() { return &m_data[0]; } uint8_t *get_ptr() { return &m_data[0]; }
template <class Object> devcb_base &set_so_cb(Object &&cb) { return write_so.set_callback(std::forward<Object>(cb)); } auto so_callback() { return write_so.bind(); }
protected: protected:
at45db041_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock); at45db041_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock);

View File

@ -14,28 +14,6 @@
#include "cpu/mcs48/mcs48.h" #include "cpu/mcs48/mcs48.h"
//**************************************************************************
// INTERFACE CONFIGURATION MACROS
//**************************************************************************
#define MCFG_AT_KEYBOARD_CONTROLLER_SYSTEM_RESET_CB(_devcb) \
downcast<at_keyboard_controller_device &>(*device).set_system_reset_callback(DEVCB_##_devcb);
#define MCFG_AT_KEYBOARD_CONTROLLER_GATE_A20_CB(_devcb) \
downcast<at_keyboard_controller_device &>(*device).set_gate_a20_callback(DEVCB_##_devcb);
#define MCFG_AT_KEYBOARD_CONTROLLER_INPUT_BUFFER_FULL_CB(_devcb) \
downcast<at_keyboard_controller_device &>(*device).set_input_buffer_full_callback(DEVCB_##_devcb);
#define MCFG_AT_KEYBOARD_CONTROLLER_OUTPUT_BUFFER_EMPTY_CB(_devcb) \
downcast<at_keyboard_controller_device &>(*device).set_output_buffer_empty_callback(DEVCB_##_devcb);
#define MCFG_AT_KEYBOARD_CONTROLLER_KEYBOARD_CLOCK_CB(_devcb) \
downcast<at_keyboard_controller_device &>(*device).set_keyboard_clock_callback(DEVCB_##_devcb);
#define MCFG_AT_KEYBOARD_CONTROLLER_KEYBOARD_DATA_CB(_devcb) \
downcast<at_keyboard_controller_device &>(*device).set_keyboard_data_callback(DEVCB_##_devcb);
//************************************************************************** //**************************************************************************
// TYPE DEFINITIONS // TYPE DEFINITIONS
//************************************************************************** //**************************************************************************
@ -48,12 +26,12 @@ public:
// construction/destruction // construction/destruction
at_keyboard_controller_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock); at_keyboard_controller_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
template <class Object> devcb_base &set_system_reset_callback(Object &&cb) { return m_system_reset_cb.set_callback(std::forward<Object>(cb)); } auto system_reset_cb() { return m_system_reset_cb.bind(); }
template <class Object> devcb_base &set_gate_a20_callback(Object &&cb) { return m_gate_a20_cb.set_callback(std::forward<Object>(cb)); } auto gate_a20_cb() { return m_gate_a20_cb.bind(); }
template <class Object> devcb_base &set_input_buffer_full_callback(Object &&cb) { return m_input_buffer_full_cb.set_callback(std::forward<Object>(cb)); } auto input_buffer_full_cb() { return m_input_buffer_full_cb.bind(); }
template <class Object> devcb_base &set_output_buffer_empty_callback(Object &&cb) { return m_output_buffer_empty_cb.set_callback(std::forward<Object>(cb)); } auto output_buffer_empty_cb() { return m_output_buffer_empty_cb.bind(); }
template <class Object> devcb_base &set_keyboard_clock_callback(Object &&cb) { return m_keyboard_clock_cb.set_callback(std::forward<Object>(cb)); } auto keyboard_clock_cb() { return m_keyboard_clock_cb.bind(); }
template <class Object> devcb_base &set_keyboard_data_callback(Object &&cb) { return m_keyboard_data_cb.set_callback(std::forward<Object>(cb)); } auto keyboard_data_cb() { return m_keyboard_data_cb.bind(); }
// interface to the host pc // interface to the host pc
DECLARE_READ8_MEMBER( data_r ); DECLARE_READ8_MEMBER( data_r );

View File

@ -16,7 +16,6 @@
#include "debugger.h" #include "debugger.h"
void abstract_ata_interface_device::set_default_ata_devices(const char* _master, const char* _slave) void abstract_ata_interface_device::set_default_ata_devices(const char* _master, const char* _slave)
{ {
for (size_t slot_index = 0; slot_index < SLOT_COUNT; slot_index++) for (size_t slot_index = 0; slot_index < SLOT_COUNT; slot_index++)
@ -244,6 +243,7 @@ ata_interface_device::ata_interface_device(const machine_config &mconfig, const
{ {
} }
//------------------------------------------------- //-------------------------------------------------
// device_start - device-specific startup // device_start - device-specific startup
//------------------------------------------------- //-------------------------------------------------

View File

@ -42,33 +42,8 @@ private:
// device type definition // device type definition
DECLARE_DEVICE_TYPE(ATA_SLOT, ata_slot_device) DECLARE_DEVICE_TYPE(ATA_SLOT, ata_slot_device)
/***************************************************************************
TYPE DEFINITIONS
***************************************************************************/
#define MCFG_ATA_INTERFACE_IRQ_HANDLER(_devcb) \
downcast<abstract_ata_interface_device &>(*device).set_irq_handler(DEVCB_##_devcb);
#define MCFG_ATA_INTERFACE_DMARQ_HANDLER(_devcb) \
downcast<abstract_ata_interface_device &>(*device).set_dmarq_handler(DEVCB_##_devcb);
#define MCFG_ATA_INTERFACE_DASP_HANDLER(_devcb) \
downcast<abstract_ata_interface_device &>(*device).set_dasp_handler(DEVCB_##_devcb);
void ata_devices(device_slot_interface &device); void ata_devices(device_slot_interface &device);
/***************************************************************************
DEVICE CONFIGURATION MACROS
***************************************************************************/
#define MCFG_ATA_INTERFACE_ADD(_tag, _slot_intf, _master, _slave, _fixed) \
MCFG_DEVICE_ADD(_tag, ATA_INTERFACE, 0) \
MCFG_DEVICE_MODIFY(_tag ":0") \
MCFG_DEVICE_SLOT_INTERFACE(_slot_intf, _master, _fixed) \
MCFG_DEVICE_MODIFY(_tag ":1") \
MCFG_DEVICE_SLOT_INTERFACE(_slot_intf, _slave, _fixed) \
MCFG_DEVICE_MODIFY(_tag)
/*************************************************************************** /***************************************************************************
TYPE DEFINITIONS TYPE DEFINITIONS
***************************************************************************/ ***************************************************************************/
@ -86,6 +61,32 @@ public:
auto dmarq_handler() { return m_dmarq_handler.bind(); } auto dmarq_handler() { return m_dmarq_handler.bind(); }
auto dasp_handler() { return m_dasp_handler.bind(); } auto dasp_handler() { return m_dasp_handler.bind(); }
template <typename T> abstract_ata_interface_device &set_slot_options(int index, T &&opts, const char *dflt, bool fixed)
{
ata_slot_device &dev = slot(index);
dev.option_reset();
opts(dev);
dev.set_default_option(dflt);
dev.set_fixed(fixed);
return *this;
}
template <typename T> abstract_ata_interface_device &master(T &&opts, const char *dflt = nullptr, bool fixed = false)
{
set_slot(0, std::forward<T>(opts), dflt, fixed);
return *this;
}
template <typename T> abstract_ata_interface_device &slave(T &&opts, const char *dflt = nullptr, bool fixed = false)
{
set_slot(1, std::forward<T>(opts), dflt, fixed);
return *this;
}
template <typename T> abstract_ata_interface_device &options(T &&opts, const char *master_default = nullptr, const char *slave_default = nullptr, bool fixed = false)
{
set_slot_options(0, std::forward<T>(opts), master_default, fixed);
set_slot_options(1, std::forward<T>(opts), slave_default, fixed);
return *this;
}
ata_slot_device &slot(int index); ata_slot_device &slot(int index);
virtual void set_default_ata_devices(const char* _master, const char* _slave); virtual void set_default_ata_devices(const char* _master, const char* _slave);
@ -142,7 +143,28 @@ private:
class ata_interface_device : public abstract_ata_interface_device class ata_interface_device : public abstract_ata_interface_device
{ {
public: public:
ata_interface_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock); ata_interface_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock = 0);
template <typename T> ata_interface_device &master(T &&opts, const char *dflt = nullptr, bool fixed = false)
{
abstract_ata_interface_device::master(std::forward<T>(opts), dflt, fixed);
return *this;
}
template <typename T> ata_interface_device &slave(T &&opts, const char *dflt = nullptr, bool fixed = false)
{
abstract_ata_interface_device::slave(std::forward<T>(opts), dflt, fixed);
return *this;
}
template <typename T> ata_interface_device &options(T &&opts, const char *master_default = nullptr, const char *slave_default = nullptr, bool fixed = false)
{
abstract_ata_interface_device::options(std::forward<T>(opts), master_default, slave_default, fixed);
return *this;
}
template <typename T> ata_interface_device &set_slot_options(int index, T &&opts, const char *dflt, bool fixed)
{
abstract_ata_interface_device::set_slot_options(index, std::forward<T>(opts), dflt, fixed);
return *this;
}
uint16_t read_cs0(offs_t offset, uint16_t mem_mask = 0xffff) { return internal_read_cs0(offset, mem_mask); } uint16_t read_cs0(offs_t offset, uint16_t mem_mask = 0xffff) { return internal_read_cs0(offset, mem_mask); }
uint16_t read_cs1(offs_t offset, uint16_t mem_mask = 0xffff) { return internal_read_cs1(offset, mem_mask); } uint16_t read_cs1(offs_t offset, uint16_t mem_mask = 0xffff) { return internal_read_cs1(offset, mem_mask); }

View File

@ -8,12 +8,6 @@
DECLARE_DEVICE_TYPE(ARM_AIC, arm_aic_device) DECLARE_DEVICE_TYPE(ARM_AIC, arm_aic_device)
#define MCFG_ARM_AIC_ADD(_tag) \
MCFG_DEVICE_ADD(_tag, ARM_AIC, 0)
#define MCFG_IRQ_LINE_CB(_devcb) \
downcast<arm_aic_device &>(*device).set_line_callback(DEVCB_##_devcb);
class arm_aic_device : public device_t class arm_aic_device : public device_t
{ {
public: public:
@ -24,8 +18,7 @@ public:
{ {
} }
// configuration auto irq_callback() { return m_irq_out.bind(); }
template <class Object> devcb_base &set_line_callback(Object &&cb) { return m_irq_out.set_callback(std::forward<Object>(cb)); }
void regs_map(address_map &map); void regs_map(address_map &map);

View File

@ -108,7 +108,7 @@ private:
class eeprom_parallel_##_lowercase##_device : public eeprom_parallel_##_baseclass##_device \ class eeprom_parallel_##_lowercase##_device : public eeprom_parallel_##_baseclass##_device \
{ \ { \
public: \ public: \
eeprom_parallel_##_lowercase##_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock); \ eeprom_parallel_##_lowercase##_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock = 0); \
}; \ }; \
DECLARE_DEVICE_TYPE(EEPROM_PARALLEL_##_uppercase, eeprom_parallel_##_lowercase##_device) DECLARE_DEVICE_TYPE(EEPROM_PARALLEL_##_uppercase, eeprom_parallel_##_lowercase##_device)

View File

@ -751,15 +751,16 @@ void i82371sb_ide_device::internal_io_map(address_map &map)
map(0x03f6, 0x03f6).rw(FUNC(i82371sb_ide_device::ide1_read_cs1_r), FUNC(i82371sb_ide_device::ide1_write_cs1_w)); map(0x03f6, 0x03f6).rw(FUNC(i82371sb_ide_device::ide1_read_cs1_r), FUNC(i82371sb_ide_device::ide1_write_cs1_w));
} }
MACHINE_CONFIG_START(i82371sb_ide_device::device_add_mconfig) void i82371sb_ide_device::device_add_mconfig(machine_config &config)
MCFG_BUS_MASTER_IDE_CONTROLLER_ADD("ide1", ata_devices, "hdd", nullptr, false) {
MCFG_ATA_INTERFACE_IRQ_HANDLER(WRITELINE(*this, i82371sb_ide_device, primary_int)) BUS_MASTER_IDE_CONTROLLER(config, m_ide1).options(ata_devices, "hdd", nullptr, false);
MCFG_BUS_MASTER_IDE_CONTROLLER_SPACE(":maincpu", AS_PROGRAM) m_ide1->irq_handler().set(FUNC(i82371sb_ide_device::primary_int));
m_ide1->set_bus_master_space(":maincpu", AS_PROGRAM);
MCFG_BUS_MASTER_IDE_CONTROLLER_ADD("ide2", ata_devices, "cdrom", nullptr, false) BUS_MASTER_IDE_CONTROLLER(config, m_ide2).options(ata_devices, "cdrom", nullptr, false);
MCFG_ATA_INTERFACE_IRQ_HANDLER(WRITELINE(*this, i82371sb_ide_device, secondary_int)) m_ide2->irq_handler().set(FUNC(i82371sb_ide_device::secondary_int));
MCFG_BUS_MASTER_IDE_CONTROLLER_SPACE(":maincpu", AS_PROGRAM) m_ide2->set_bus_master_space(":maincpu", AS_PROGRAM);
MACHINE_CONFIG_END }
i82371sb_ide_device::i82371sb_ide_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) i82371sb_ide_device::i82371sb_ide_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
: pci_device(mconfig, I82371SB_IDE, tag, owner, clock) : pci_device(mconfig, I82371SB_IDE, tag, owner, clock)

View File

@ -214,7 +214,6 @@ void ide_controller_32_device::write_cs1(offs_t offset, uint32_t data, uint32_t
} }
} }
#define IDE_BUSMASTER_STATUS_ACTIVE 0x01 #define IDE_BUSMASTER_STATUS_ACTIVE 0x01
#define IDE_BUSMASTER_STATUS_ERROR 0x02 #define IDE_BUSMASTER_STATUS_ERROR 0x02
#define IDE_BUSMASTER_STATUS_IRQ 0x04 #define IDE_BUSMASTER_STATUS_IRQ 0x04

View File

@ -15,23 +15,32 @@
#include "ataintf.h" #include "ataintf.h"
/***************************************************************************
DEVICE CONFIGURATION MACROS
***************************************************************************/
#define MCFG_IDE_CONTROLLER_ADD(_tag, _slot_intf, _master, _slave, _fixed) \
MCFG_DEVICE_ADD(_tag, IDE_CONTROLLER, 0) \
MCFG_DEVICE_MODIFY(_tag ":0") \
MCFG_DEVICE_SLOT_INTERFACE(_slot_intf, _master, _fixed) \
MCFG_DEVICE_MODIFY(_tag ":1") \
MCFG_DEVICE_SLOT_INTERFACE(_slot_intf, _slave, _fixed) \
MCFG_DEVICE_MODIFY(_tag)
class ide_controller_device : public abstract_ata_interface_device class ide_controller_device : public abstract_ata_interface_device
{ {
public: public:
ide_controller_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock = 0); ide_controller_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock = 0);
template <typename T> ide_controller_device &master(T &&opts, const char *dflt = nullptr, bool fixed = false)
{
abstract_ata_interface_device::master(std::forward<T>(opts), dflt, fixed);
return *this;
}
template <typename T> ide_controller_device &slave(T &&opts, const char *dflt = nullptr, bool fixed = false)
{
abstract_ata_interface_device::slave(std::forward<T>(opts), dflt, fixed);
return *this;
}
template <typename T> ide_controller_device &options(T &&opts, const char *master_default = nullptr, const char *slave_default = nullptr, bool fixed = false)
{
abstract_ata_interface_device::options(std::forward<T>(opts), master_default, slave_default, fixed);
return *this;
}
template <typename T> ide_controller_device &set_slot_options(int index, T &&opts, const char *dflt, bool fixed)
{
abstract_ata_interface_device::set_slot_options(index, std::forward<T>(opts), dflt, fixed);
return *this;
}
uint16_t read_cs0(offs_t offset, uint16_t mem_mask = 0xffff); uint16_t read_cs0(offs_t offset, uint16_t mem_mask = 0xffff);
uint16_t read_cs1(offs_t offset, uint16_t mem_mask = 0xffff); uint16_t read_cs1(offs_t offset, uint16_t mem_mask = 0xffff);
void write_cs0(offs_t offset, uint16_t data, uint16_t mem_mask = 0xffff); void write_cs0(offs_t offset, uint16_t data, uint16_t mem_mask = 0xffff);
@ -49,18 +58,31 @@ protected:
DECLARE_DEVICE_TYPE(IDE_CONTROLLER, ide_controller_device) DECLARE_DEVICE_TYPE(IDE_CONTROLLER, ide_controller_device)
#define MCFG_IDE_CONTROLLER_32_ADD(_tag, _slot_intf, _master, _slave, _fixed) \
MCFG_DEVICE_ADD(_tag, IDE_CONTROLLER_32, 0) \
MCFG_DEVICE_MODIFY(_tag ":0") \
MCFG_DEVICE_SLOT_INTERFACE(_slot_intf, _master, _fixed) \
MCFG_DEVICE_MODIFY(_tag ":1") \
MCFG_DEVICE_SLOT_INTERFACE(_slot_intf, _slave, _fixed) \
MCFG_DEVICE_MODIFY(_tag)
class ide_controller_32_device : public abstract_ata_interface_device class ide_controller_32_device : public abstract_ata_interface_device
{ {
public: public:
ide_controller_32_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock); ide_controller_32_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock = 0);
template <typename T> ide_controller_32_device &master(T &&opts, const char *dflt = nullptr, bool fixed = false)
{
abstract_ata_interface_device::master(std::forward<T>(opts), dflt, fixed);
return *this;
}
template <typename T> ide_controller_32_device &slave(T &&opts, const char *dflt = nullptr, bool fixed = false)
{
abstract_ata_interface_device::slave(std::forward<T>(opts), dflt, fixed);
return *this;
}
template <typename T> ide_controller_32_device &options(T &&opts, const char *master_default = nullptr, const char *slave_default = nullptr, bool fixed = false)
{
abstract_ata_interface_device::options(std::forward<T>(opts), master_default, slave_default, fixed);
return *this;
}
template <typename T> ide_controller_32_device &set_slot_options(int index, T &&opts, const char *dflt, bool fixed)
{
abstract_ata_interface_device::set_slot_options(index, std::forward<T>(opts), dflt, fixed);
return *this;
}
uint32_t read_cs0(offs_t offset, uint32_t mem_mask = 0xffffffff); uint32_t read_cs0(offs_t offset, uint32_t mem_mask = 0xffffffff);
uint32_t read_cs1(offs_t offset, uint32_t mem_mask = 0xffffffff); uint32_t read_cs1(offs_t offset, uint32_t mem_mask = 0xffffffff);
@ -79,23 +101,33 @@ protected:
DECLARE_DEVICE_TYPE(IDE_CONTROLLER_32, ide_controller_32_device) DECLARE_DEVICE_TYPE(IDE_CONTROLLER_32, ide_controller_32_device)
#define MCFG_BUS_MASTER_IDE_CONTROLLER_ADD(_tag, _slot_intf, _master, _slave, _fixed) \
MCFG_DEVICE_ADD(_tag, BUS_MASTER_IDE_CONTROLLER, 0) \
MCFG_DEVICE_MODIFY(_tag ":0") \
MCFG_DEVICE_SLOT_INTERFACE(_slot_intf, _master, _fixed) \
MCFG_DEVICE_MODIFY(_tag ":1") \
MCFG_DEVICE_SLOT_INTERFACE(_slot_intf, _slave, _fixed) \
MCFG_DEVICE_MODIFY(_tag)
#define MCFG_BUS_MASTER_IDE_CONTROLLER_SPACE(bmcpu, bmspace) \
downcast<bus_master_ide_controller_device &>(*device).set_bus_master_space(bmcpu, bmspace);
class bus_master_ide_controller_device : public ide_controller_32_device class bus_master_ide_controller_device : public ide_controller_32_device
{ {
public: public:
bus_master_ide_controller_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock); bus_master_ide_controller_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock = 0);
void set_bus_master_space(const char *bmcpu, uint32_t bmspace) { m_bmcpu = bmcpu; m_bmspace = bmspace; } void set_bus_master_space(const char *bmcpu, uint32_t bmspace) { m_bmcpu = bmcpu; m_bmspace = bmspace; }
template <typename T> bus_master_ide_controller_device &master(T &&opts, const char *dflt = nullptr, bool fixed = false)
{
abstract_ata_interface_device::master(std::forward<T>(opts), dflt, fixed);
return *this;
}
template <typename T> bus_master_ide_controller_device &slave(T &&opts, const char *dflt = nullptr, bool fixed = false)
{
abstract_ata_interface_device::slave(std::forward<T>(opts), dflt, fixed);
return *this;
}
template <typename T> bus_master_ide_controller_device &options(T &&opts, const char *master_default = nullptr, const char *slave_default = nullptr, bool fixed = false)
{
abstract_ata_interface_device::options(std::forward<T>(opts), master_default, slave_default, fixed);
return *this;
}
template <typename T> bus_master_ide_controller_device &set_slot_options(int index, T &&opts, const char *dflt, bool fixed)
{
abstract_ata_interface_device::set_slot_options(index, std::forward<T>(opts), dflt, fixed);
return *this;
}
DECLARE_READ32_MEMBER( bmdma_r ); DECLARE_READ32_MEMBER( bmdma_r );
DECLARE_WRITE32_MEMBER( bmdma_w ); DECLARE_WRITE32_MEMBER( bmdma_w );

View File

@ -11,7 +11,9 @@ ide_pci_device::ide_pci_device(const machine_config &mconfig, const char *tag, d
m_ide2(*this, "ide2"), m_ide2(*this, "ide2"),
m_irq_handler(*this), m_irq_handler(*this),
m_legacy_top(0x000), m_legacy_top(0x000),
m_pif(0x8a) m_pif(0x8a),
m_bus_master_tag(":pci:00.0"),
m_bus_master_space(AS_DATA)
{ {
} }
@ -52,16 +54,16 @@ void ide_pci_device::bus_master_map(address_map &map)
map(0x8, 0xf).rw("ide2", FUNC(bus_master_ide_controller_device::bmdma_r), FUNC(bus_master_ide_controller_device::bmdma_w)); map(0x8, 0xf).rw("ide2", FUNC(bus_master_ide_controller_device::bmdma_r), FUNC(bus_master_ide_controller_device::bmdma_w));
} }
MACHINE_CONFIG_START(ide_pci_device::device_add_mconfig) void ide_pci_device::device_add_mconfig(machine_config &config)
MCFG_BUS_MASTER_IDE_CONTROLLER_ADD("ide", ata_devices, "hdd", "cdrom", true) {
MCFG_ATA_INTERFACE_IRQ_HANDLER(WRITELINE(*this, ide_pci_device, ide_interrupt)) BUS_MASTER_IDE_CONTROLLER(config, m_ide).options(ata_devices, "hdd", "cdrom", true);
//MCFG_BUS_MASTER_IDE_CONTROLLER_SPACE(":maincpu", AS_PROGRAM) m_ide->irq_handler().set(FUNC(ide_pci_device::ide_interrupt));
MCFG_BUS_MASTER_IDE_CONTROLLER_SPACE(":pci:00.0", AS_DATA) m_ide->set_bus_master_space(m_bus_master_tag, m_bus_master_space);
MCFG_BUS_MASTER_IDE_CONTROLLER_ADD("ide2", ata_devices, "hdd", "cdrom", true)
MCFG_ATA_INTERFACE_IRQ_HANDLER(WRITELINE(*this, ide_pci_device, ide_interrupt)) BUS_MASTER_IDE_CONTROLLER(config, m_ide2).options(ata_devices, "hdd", "cdrom", true);
//MCFG_BUS_MASTER_IDE_CONTROLLER_SPACE(":maincpu", AS_PROGRAM) m_ide2->irq_handler().set(FUNC(ide_pci_device::ide_interrupt));
MCFG_BUS_MASTER_IDE_CONTROLLER_SPACE(":pci:00.0", AS_DATA) m_ide2->set_bus_master_space(m_bus_master_tag, m_bus_master_space);
MACHINE_CONFIG_END }
void ide_pci_device::device_start() void ide_pci_device::device_start()
{ {

View File

@ -19,29 +19,25 @@ TODO:
#include "pci.h" #include "pci.h"
#include "idectrl.h" #include "idectrl.h"
#define MCFG_IDE_PCI_IRQ_HANDLER(_devcb) \
downcast<ide_pci_device &>(*device).set_irq_handler(DEVCB_##_devcb);
// This will set the top 12 bits for address decoding in legacy mode. Needed for seattle driver.
#define MCFG_IDE_PCI_SET_LEGACY_TOP(_val) \
downcast<ide_pci_device &>(*device).set_legacy_top(_val);
// Sets the default Programming Interface (PIF) register
#define MCFG_IDE_PCI_SET_PIF(_val) \
downcast<ide_pci_device &>(*device).set_pif(_val);
class ide_pci_device : public pci_device { class ide_pci_device : public pci_device {
public: public:
ide_pci_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock, uint32_t main_id, uint32_t revision, uint32_t subdevice_id) ide_pci_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock, uint32_t main_id, uint32_t revision, uint32_t subdevice_id
, const char *bmtag = ":pci:00.0", uint32_t bmspace = AS_DATA)
: ide_pci_device(mconfig, tag, owner, clock) : ide_pci_device(mconfig, tag, owner, clock)
{ {
set_ids(main_id, revision, 0x01018a, subdevice_id); set_ids(main_id, revision, 0x01018a, subdevice_id);
m_bus_master_tag = bmtag;
m_bus_master_space = bmspace;
} }
ide_pci_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock); ide_pci_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
template <class Object> devcb_base &set_irq_handler(Object &&cb) { return m_irq_handler.set_callback(std::forward<Object>(cb)); } template <class Object> devcb_base &set_irq_handler(Object &&cb) { return m_irq_handler.set_callback(std::forward<Object>(cb)); }
auto irq_handler() { return m_irq_handler.bind(); } auto irq_handler() { return m_irq_handler.bind(); }
// This will set the top 12 bits for address decoding in legacy mode. Needed for seattle driver.
void set_legacy_top(int val) { m_legacy_top = val & 0xfff; }; void set_legacy_top(int val) { m_legacy_top = val & 0xfff; };
// Sets the default Programming Interface (PIF) register
void set_pif(int val) { m_pif = val & 0xff; }; void set_pif(int val) { m_pif = val & 0xff; };
protected: protected:
@ -74,6 +70,8 @@ private:
// Bits 31-20 for legacy mode hack // Bits 31-20 for legacy mode hack
uint32_t m_legacy_top; uint32_t m_legacy_top;
uint32_t m_pif; uint32_t m_pif;
const char* m_bus_master_tag;
uint32_t m_bus_master_space;
uint32_t m_config_data[0x10]; uint32_t m_config_data[0x10];
void chan1_data_command_map(address_map &map); void chan1_data_command_map(address_map &map);

View File

@ -28,6 +28,7 @@ public:
rtc65271_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock); rtc65271_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
template <class Object> devcb_base &set_interrupt_callback(Object &&cb) { return m_interrupt_cb.set_callback(std::forward<Object>(cb)); } template <class Object> devcb_base &set_interrupt_callback(Object &&cb) { return m_interrupt_cb.set_callback(std::forward<Object>(cb)); }
auto interrupt_cb() { return m_interrupt_cb.bind(); }
DECLARE_READ8_MEMBER( rtc_r ); DECLARE_READ8_MEMBER( rtc_r );
DECLARE_READ8_MEMBER( xram_r ); DECLARE_READ8_MEMBER( xram_r );

View File

@ -96,12 +96,13 @@ MACHINE_CONFIG_START(sis85c496_host_device::device_add_mconfig)
m_pic8259_slave->out_int_callback().set(m_pic8259_master, FUNC(pic8259_device::ir2_w)); m_pic8259_slave->out_int_callback().set(m_pic8259_master, FUNC(pic8259_device::ir2_w));
m_pic8259_slave->in_sp_callback().set_constant(0); m_pic8259_slave->in_sp_callback().set_constant(0);
MCFG_DEVICE_ADD("keybc", AT_KEYBOARD_CONTROLLER, XTAL(12'000'000)) AT_KEYBOARD_CONTROLLER(config, m_keybc, XTAL(12'000'000));
MCFG_AT_KEYBOARD_CONTROLLER_SYSTEM_RESET_CB(WRITELINE(*this, sis85c496_host_device, cpu_reset_w)) m_keybc->system_reset_cb().set(FUNC(sis85c496_host_device::cpu_reset_w));
MCFG_AT_KEYBOARD_CONTROLLER_GATE_A20_CB(WRITELINE(*this, sis85c496_host_device, cpu_a20_w)) m_keybc->gate_a20_cb().set(FUNC(sis85c496_host_device::cpu_a20_w));
MCFG_AT_KEYBOARD_CONTROLLER_INPUT_BUFFER_FULL_CB(WRITELINE("pic8259_master", pic8259_device, ir1_w)) m_keybc->input_buffer_full_cb().set("pic8259_master", FUNC(pic8259_device::ir1_w));
MCFG_AT_KEYBOARD_CONTROLLER_KEYBOARD_CLOCK_CB(WRITELINE("pc_kbdc", pc_kbdc_device, clock_write_from_mb)) m_keybc->keyboard_clock_cb().set("pc_kbdc", FUNC(pc_kbdc_device::clock_write_from_mb));
MCFG_AT_KEYBOARD_CONTROLLER_KEYBOARD_DATA_CB(WRITELINE("pc_kbdc", pc_kbdc_device, data_write_from_mb)) m_keybc->keyboard_data_cb().set("pc_kbdc", FUNC(pc_kbdc_device::data_write_from_mb));
MCFG_DEVICE_ADD("pc_kbdc", PC_KBDC, 0) MCFG_DEVICE_ADD("pc_kbdc", PC_KBDC, 0)
MCFG_PC_KBDC_OUT_CLOCK_CB(WRITELINE("keybc", at_keyboard_controller_device, keyboard_clock_w)) MCFG_PC_KBDC_OUT_CLOCK_CB(WRITELINE("keybc", at_keyboard_controller_device, keyboard_clock_w))
MCFG_PC_KBDC_OUT_DATA_CB(WRITELINE("keybc", at_keyboard_controller_device, keyboard_data_w)) MCFG_PC_KBDC_OUT_DATA_CB(WRITELINE("keybc", at_keyboard_controller_device, keyboard_data_w))

View File

@ -15,22 +15,31 @@
#include "idectrl.h" #include "idectrl.h"
/***************************************************************************
DEVICE CONFIGURATION MACROS
***************************************************************************/
#define MCFG_VT83C461_ADD(_tag, _slot_intf, _master, _slave, _fixed) \
MCFG_DEVICE_ADD(_tag, VT83C461, 0) \
MCFG_DEVICE_MODIFY(_tag ":0") \
MCFG_DEVICE_SLOT_INTERFACE(_slot_intf, _master, _fixed) \
MCFG_DEVICE_MODIFY(_tag ":1") \
MCFG_DEVICE_SLOT_INTERFACE(_slot_intf, _slave, _fixed) \
MCFG_DEVICE_MODIFY(_tag)
class vt83c461_device : public ide_controller_32_device class vt83c461_device : public ide_controller_32_device
{ {
public: public:
vt83c461_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock); vt83c461_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock = 0);
template <typename T> vt83c461_device &master(T &&opts, const char *dflt = nullptr, bool fixed = false)
{
abstract_ata_interface_device::master(std::forward<T>(opts), dflt, fixed);
return *this;
}
template <typename T> vt83c461_device &slave(T &&opts, const char *dflt = nullptr, bool fixed = false)
{
abstract_ata_interface_device::slave(std::forward<T>(opts), dflt, fixed);
return *this;
}
template <typename T> vt83c461_device &options(T &&opts, const char *master_default = nullptr, const char *slave_default = nullptr, bool fixed = false)
{
abstract_ata_interface_device::options(std::forward<T>(opts), master_default, slave_default, fixed);
return *this;
}
template <typename T> vt83c461_device &set_slot_options(int index, T &&opts, const char *dflt, bool fixed)
{
abstract_ata_interface_device::set_slot_options(std::forward<T>(opts), dflt, fixed);
return *this;
}
uint32_t read_config(offs_t offset); uint32_t read_config(offs_t offset);
void write_config(offs_t offset, uint32_t data); void write_config(offs_t offset, uint32_t data);

View File

@ -356,13 +356,12 @@ MACHINE_CONFIG_START(alg_state::alg_r1)
MCFG_DEVICE_ADD("cia_1", MOS8520, amiga_state::CLK_E_NTSC) MCFG_DEVICE_ADD("cia_1", MOS8520, amiga_state::CLK_E_NTSC)
MCFG_MOS6526_IRQ_CALLBACK(WRITELINE(*this, amiga_state, cia_1_irq)) MCFG_MOS6526_IRQ_CALLBACK(WRITELINE(*this, amiga_state, cia_1_irq))
/* fdc */ AMIGA_FDC(config, m_fdc, amiga_state::CLK_7M_NTSC);
MCFG_DEVICE_ADD("fdc", AMIGA_FDC, amiga_state::CLK_7M_NTSC) m_fdc->index_callback().set("cia_1", FUNC(mos8520_device::flag_w));
MCFG_AMIGA_FDC_INDEX_CALLBACK(WRITELINE("cia_1", mos8520_device, flag_w)) m_fdc->read_dma_callback().set(FUNC(amiga_state::chip_ram_r));
MCFG_AMIGA_FDC_READ_DMA_CALLBACK(READ16(*this, amiga_state, chip_ram_r)) m_fdc->write_dma_callback().set(FUNC(amiga_state::chip_ram_w));
MCFG_AMIGA_FDC_WRITE_DMA_CALLBACK(WRITE16(*this, amiga_state, chip_ram_w)) m_fdc->dskblk_callback().set(FUNC(amiga_state::fdc_dskblk_w));
MCFG_AMIGA_FDC_DSKBLK_CALLBACK(WRITELINE(*this, amiga_state, fdc_dskblk_w)) m_fdc->dsksyn_callback().set(FUNC(amiga_state::fdc_dsksyn_w));
MCFG_AMIGA_FDC_DSKSYN_CALLBACK(WRITELINE(*this, amiga_state, fdc_dsksyn_w))
MACHINE_CONFIG_END MACHINE_CONFIG_END

View File

@ -1407,11 +1407,11 @@ MACHINE_CONFIG_START(amiga_state::amiga_base)
paula.int_cb().set(FUNC(amiga_state::paula_int_w)); paula.int_cb().set(FUNC(amiga_state::paula_int_w));
// floppy drives // floppy drives
MCFG_DEVICE_ADD("fdc", AMIGA_FDC, amiga_state::CLK_7M_PAL) AMIGA_FDC(config, m_fdc, amiga_state::CLK_7M_PAL);
MCFG_AMIGA_FDC_READ_DMA_CALLBACK(READ16(*this, amiga_state, chip_ram_r)) m_fdc->read_dma_callback().set(FUNC(amiga_state::chip_ram_r));
MCFG_AMIGA_FDC_WRITE_DMA_CALLBACK(WRITE16(*this, amiga_state, chip_ram_w)) m_fdc->write_dma_callback().set(FUNC(amiga_state::chip_ram_w));
MCFG_AMIGA_FDC_DSKBLK_CALLBACK(WRITELINE(*this, amiga_state, fdc_dskblk_w)) m_fdc->dskblk_callback().set(FUNC(amiga_state::fdc_dskblk_w));
MCFG_AMIGA_FDC_DSKSYN_CALLBACK(WRITELINE(*this, amiga_state, fdc_dsksyn_w)) m_fdc->dsksyn_callback().set(FUNC(amiga_state::fdc_dsksyn_w));
MCFG_FLOPPY_DRIVE_ADD("fdc:0", amiga_floppies, "35dd", amiga_fdc_device::floppy_formats) MCFG_FLOPPY_DRIVE_ADD("fdc:0", amiga_floppies, "35dd", amiga_fdc_device::floppy_formats)
MCFG_FLOPPY_DRIVE_SOUND(true) MCFG_FLOPPY_DRIVE_SOUND(true)
MCFG_FLOPPY_DRIVE_ADD("fdc:1", amiga_floppies, nullptr, amiga_fdc_device::floppy_formats) MCFG_FLOPPY_DRIVE_ADD("fdc:1", amiga_floppies, nullptr, amiga_fdc_device::floppy_formats)
@ -1742,8 +1742,8 @@ MACHINE_CONFIG_START(a600_state::a600)
MCFG_GAYLE_CS1_READ_HANDLER(READ16("ata", ata_interface_device, cs1_r)) MCFG_GAYLE_CS1_READ_HANDLER(READ16("ata", ata_interface_device, cs1_r))
MCFG_GAYLE_CS1_WRITE_HANDLER(WRITE16("ata", ata_interface_device, cs1_w)) MCFG_GAYLE_CS1_WRITE_HANDLER(WRITE16("ata", ata_interface_device, cs1_w))
MCFG_ATA_INTERFACE_ADD("ata", ata_devices, "hdd", nullptr, false) ata_interface_device &ata(ATA_INTERFACE(config, "ata").options(ata_devices, "hdd", nullptr, false));
MCFG_ATA_INTERFACE_IRQ_HANDLER(WRITELINE("gayle", gayle_device, ide_interrupt_w)) ata.irq_handler().set("gayle", FUNC(gayle_device::ide_interrupt_w));
// todo: pcmcia // todo: pcmcia
@ -1797,8 +1797,8 @@ MACHINE_CONFIG_START(a1200_state::a1200)
MCFG_GAYLE_CS1_READ_HANDLER(READ16("ata", ata_interface_device, cs1_r)) MCFG_GAYLE_CS1_READ_HANDLER(READ16("ata", ata_interface_device, cs1_r))
MCFG_GAYLE_CS1_WRITE_HANDLER(WRITE16("ata", ata_interface_device, cs1_w)) MCFG_GAYLE_CS1_WRITE_HANDLER(WRITE16("ata", ata_interface_device, cs1_w))
MCFG_ATA_INTERFACE_ADD("ata", ata_devices, "hdd", nullptr, false) ata_interface_device &ata(ATA_INTERFACE(config, "ata").options(ata_devices, "hdd", nullptr, false));
MCFG_ATA_INTERFACE_IRQ_HANDLER(WRITELINE("gayle", gayle_device, ide_interrupt_w)) ata.irq_handler().set("gayle", FUNC(gayle_device::ide_interrupt_w));
// keyboard // keyboard
#if 0 #if 0
@ -1859,8 +1859,8 @@ MACHINE_CONFIG_START(a4000_state::a4000)
MCFG_DEVICE_ADD("rtc", RP5C01, XTAL(32'768)) MCFG_DEVICE_ADD("rtc", RP5C01, XTAL(32'768))
// ide // ide
MCFG_ATA_INTERFACE_ADD("ata", ata_devices, "hdd", nullptr, false) ata_interface_device &ata(ATA_INTERFACE(config, "ata").options(ata_devices, "hdd", nullptr, false));
MCFG_ATA_INTERFACE_IRQ_HANDLER(WRITELINE(*this, a4000_state, ide_interrupt_w)) ata.irq_handler().set(FUNC(a4000_state::ide_interrupt_w));
// todo: zorro3 // todo: zorro3

View File

@ -346,12 +346,12 @@ MACHINE_CONFIG_START(arcadia_amiga_state::arcadia)
MCFG_MOS6526_IRQ_CALLBACK(WRITELINE(*this, amiga_state, cia_1_irq)) MCFG_MOS6526_IRQ_CALLBACK(WRITELINE(*this, amiga_state, cia_1_irq))
/* fdc */ /* fdc */
MCFG_DEVICE_ADD("fdc", AMIGA_FDC, amiga_state::CLK_7M_NTSC) AMIGA_FDC(config, m_fdc, amiga_state::CLK_7M_NTSC);
MCFG_AMIGA_FDC_INDEX_CALLBACK(WRITELINE("cia_1", mos8520_device, flag_w)) m_fdc->index_callback().set("cia_1", FUNC(mos8520_device::flag_w));
MCFG_AMIGA_FDC_READ_DMA_CALLBACK(READ16(*this, amiga_state, chip_ram_r)) m_fdc->read_dma_callback().set(FUNC(amiga_state::chip_ram_r));
MCFG_AMIGA_FDC_WRITE_DMA_CALLBACK(WRITE16(*this, amiga_state, chip_ram_w)) m_fdc->write_dma_callback().set(FUNC(amiga_state::chip_ram_w));
MCFG_AMIGA_FDC_DSKBLK_CALLBACK(WRITELINE(*this, amiga_state, fdc_dskblk_w)) m_fdc->dskblk_callback().set(FUNC(amiga_state::fdc_dskblk_w));
MCFG_AMIGA_FDC_DSKSYN_CALLBACK(WRITELINE(*this, amiga_state, fdc_dsksyn_w)) m_fdc->dsksyn_callback().set(FUNC(amiga_state::fdc_dsksyn_w));
MACHINE_CONFIG_END MACHINE_CONFIG_END
MACHINE_CONFIG_START(arcadia_amiga_state::argh) MACHINE_CONFIG_START(arcadia_amiga_state::argh)

View File

@ -680,12 +680,13 @@ MACHINE_CONFIG_START(megapc_state::megapc)
// ISA cards // ISA cards
MCFG_DEVICE_ADD("isa1", ISA16_SLOT, 0, "isabus", pc_isa16_cards, nullptr, false) MCFG_DEVICE_ADD("isa1", ISA16_SLOT, 0, "isabus", pc_isa16_cards, nullptr, false)
MCFG_DEVICE_ADD("keybc", AT_KEYBOARD_CONTROLLER, 12_MHz_XTAL) at_keyboard_controller_device &keybc(AT_KEYBOARD_CONTROLLER(config, "keybc", 12_MHz_XTAL));
MCFG_AT_KEYBOARD_CONTROLLER_SYSTEM_RESET_CB(WRITELINE("wd7600", wd7600_device, kbrst_w)) keybc.system_reset_cb().set("wd7600", FUNC(wd7600_device::kbrst_w));
MCFG_AT_KEYBOARD_CONTROLLER_GATE_A20_CB(WRITELINE("wd7600", wd7600_device, gatea20_w)) keybc.gate_a20_cb().set("wd7600", FUNC(wd7600_device::gatea20_w));
MCFG_AT_KEYBOARD_CONTROLLER_INPUT_BUFFER_FULL_CB(WRITELINE("wd7600", wd7600_device, irq01_w)) keybc.input_buffer_full_cb().set("wd7600", FUNC(wd7600_device::irq01_w));
MCFG_AT_KEYBOARD_CONTROLLER_KEYBOARD_CLOCK_CB(WRITELINE("pc_kbdc", pc_kbdc_device, clock_write_from_mb)) keybc.keyboard_clock_cb().set("pc_kbdc", FUNC(pc_kbdc_device::clock_write_from_mb));
MCFG_AT_KEYBOARD_CONTROLLER_KEYBOARD_DATA_CB(WRITELINE("pc_kbdc", pc_kbdc_device, data_write_from_mb)) keybc.keyboard_data_cb().set("pc_kbdc", FUNC(pc_kbdc_device::data_write_from_mb));
MCFG_DEVICE_ADD("pc_kbdc", PC_KBDC, 0) MCFG_DEVICE_ADD("pc_kbdc", PC_KBDC, 0)
MCFG_PC_KBDC_OUT_CLOCK_CB(WRITELINE("keybc", at_keyboard_controller_device, keyboard_clock_w)) MCFG_PC_KBDC_OUT_CLOCK_CB(WRITELINE("keybc", at_keyboard_controller_device, keyboard_clock_w))
MCFG_PC_KBDC_OUT_DATA_CB(WRITELINE("keybc", at_keyboard_controller_device, keyboard_data_w)) MCFG_PC_KBDC_OUT_DATA_CB(WRITELINE("keybc", at_keyboard_controller_device, keyboard_data_w))
@ -773,10 +774,10 @@ MACHINE_CONFIG_START(at_state::ficpio2)
MCFG_DEVICE_ADD("board2", ISA16_SLOT, 0, "mb:isabus", pc_isa16_cards, "comat", true) MCFG_DEVICE_ADD("board2", ISA16_SLOT, 0, "mb:isabus", pc_isa16_cards, "comat", true)
MCFG_DEVICE_ADD("board3", ISA16_SLOT, 0, "mb:isabus", pc_isa16_cards, "lpt", true) MCFG_DEVICE_ADD("board3", ISA16_SLOT, 0, "mb:isabus", pc_isa16_cards, "lpt", true)
MCFG_IDE_CONTROLLER_32_ADD("ide", ata_devices, "hdd", nullptr, true) ide_controller_32_device &ide(IDE_CONTROLLER_32(config, "ide").options(ata_devices, "hdd", nullptr, true));
MCFG_ATA_INTERFACE_IRQ_HANDLER(WRITELINE("mb:pic8259_slave", pic8259_device, ir6_w)) ide.irq_handler().set("mb:pic8259_slave", FUNC(pic8259_device::ir6_w));
MCFG_IDE_CONTROLLER_32_ADD("ide2", ata_devices, "cdrom", nullptr, true) ide_controller_32_device &ide2(IDE_CONTROLLER_32(config, "ide2").options(ata_devices, "cdrom", nullptr, true));
MCFG_ATA_INTERFACE_IRQ_HANDLER(WRITELINE("mb:pic8259_slave", pic8259_device, ir7_w)) ide2.irq_handler().set("mb:pic8259_slave", FUNC(pic8259_device::ir7_w));
MCFG_PCI_BUS_ADD("pcibus", 0) MCFG_PCI_BUS_ADD("pcibus", 0)
MCFG_PCI_BUS_DEVICE("pcibus:0", pci_devices, "vt82c505", true) MCFG_PCI_BUS_DEVICE("pcibus:0", pci_devices, "vt82c505", true)

View File

@ -832,13 +832,7 @@ MACHINE_CONFIG_START(atlantis_state::mwskins)
m_rtc->reset_cb().set(FUNC(atlantis_state::watchdog_reset)); m_rtc->reset_cb().set(FUNC(atlantis_state::watchdog_reset));
m_rtc->irq_cb().set(FUNC(atlantis_state::watchdog_irq)); m_rtc->irq_cb().set(FUNC(atlantis_state::watchdog_irq));
MCFG_DEVICE_ADD(m_ide, IDE_PCI, 0, 0x10950646, 0x07, 0x0) IDE_PCI(config, m_ide, 0, 0x10950646, 0x07, 0x0, PCI_ID_NILE, AS_DATA).irq_handler().set(FUNC(atlantis_state::ide_irq));
MCFG_IDE_PCI_IRQ_HANDLER(WRITELINE(*this, atlantis_state, ide_irq))
// The pci-ide by default expects the system controller to be pci:00.0 so need to fix here
MCFG_DEVICE_MODIFY(PCI_ID_IDE":ide")
MCFG_BUS_MASTER_IDE_CONTROLLER_SPACE(PCI_ID_NILE, AS_DATA)
MCFG_DEVICE_MODIFY(PCI_ID_IDE":ide2")
MCFG_BUS_MASTER_IDE_CONTROLLER_SPACE(PCI_ID_NILE, AS_DATA)
/* video hardware */ /* video hardware */
MCFG_DEVICE_ADD(m_zeus, ZEUS2, ZEUS2_VIDEO_CLOCK) MCFG_DEVICE_ADD(m_zeus, ZEUS2, ZEUS2_VIDEO_CLOCK)

View File

@ -685,8 +685,8 @@ MACHINE_CONFIG_START(calchase_state::calchase)
pcat_common(config); pcat_common(config);
MCFG_IDE_CONTROLLER_32_ADD("ide", ata_devices, "hdd", nullptr, true) ide_controller_32_device &ide(IDE_CONTROLLER_32(config, "ide").options(ata_devices, "hdd", nullptr, true));
MCFG_ATA_INTERFACE_IRQ_HANDLER(WRITELINE("pic8259_2", pic8259_device, ir6_w)) ide.irq_handler().set("pic8259_2", FUNC(pic8259_device::ir6_w));
MCFG_PCI_BUS_LEGACY_ADD("pcibus", 0) MCFG_PCI_BUS_LEGACY_ADD("pcibus", 0)
MCFG_PCI_BUS_LEGACY_DEVICE(0, DEVICE_SELF, calchase_state, intel82439tx_pci_r, intel82439tx_pci_w) MCFG_PCI_BUS_LEGACY_DEVICE(0, DEVICE_SELF, calchase_state, intel82439tx_pci_r, intel82439tx_pci_w)
@ -718,8 +718,8 @@ MACHINE_CONFIG_START(calchase_state::hostinv)
pcat_common(config); pcat_common(config);
MCFG_IDE_CONTROLLER_32_ADD("ide", ata_devices, "cdrom", nullptr, true) ide_controller_32_device &ide(IDE_CONTROLLER_32(config, "ide").options(ata_devices, "cdrom", nullptr, true));
MCFG_ATA_INTERFACE_IRQ_HANDLER(WRITELINE("pic8259_2", pic8259_device, ir6_w)) ide.irq_handler().set("pic8259_2", FUNC(pic8259_device::ir6_w));
MCFG_PCI_BUS_LEGACY_ADD("pcibus", 0) MCFG_PCI_BUS_LEGACY_ADD("pcibus", 0)
MCFG_PCI_BUS_LEGACY_DEVICE(0, DEVICE_SELF, calchase_state, intel82439tx_pci_r, intel82439tx_pci_w) MCFG_PCI_BUS_LEGACY_DEVICE(0, DEVICE_SELF, calchase_state, intel82439tx_pci_r, intel82439tx_pci_w)

View File

@ -1860,7 +1860,7 @@ MACHINE_CONFIG_START(chihiro_state::chihiro_base)
MCFG_DEVICE_PROGRAM_MAP(chihiro_map) MCFG_DEVICE_PROGRAM_MAP(chihiro_map)
MCFG_DEVICE_IO_MAP(chihiro_map_io) MCFG_DEVICE_IO_MAP(chihiro_map_io)
//MCFG_BUS_MASTER_IDE_CONTROLLER_ADD("ide", ide_baseboard, nullptr, "bb", true) //BUS_MASTER_IDE_CONTROLLER(config, "ide").options(ide_baseboard, nullptr, "bb", true);
MCFG_DEVICE_MODIFY(":pci:09.0:ide:0") MCFG_DEVICE_MODIFY(":pci:09.0:ide:0")
MCFG_DEVICE_SLOT_INTERFACE(ide_baseboard, nullptr, true) MCFG_DEVICE_SLOT_INTERFACE(ide_baseboard, nullptr, true)
MCFG_DEVICE_MODIFY(":pci:09.0:ide:1") MCFG_DEVICE_MODIFY(":pci:09.0:ide:1")

View File

@ -415,7 +415,7 @@ MACHINE_CONFIG_START(cmmb_state::cmmb)
MCFG_DEVICE_PROGRAM_MAP(cmmb_map) MCFG_DEVICE_PROGRAM_MAP(cmmb_map)
MCFG_DEVICE_VBLANK_INT_DRIVER("screen", cmmb_state, vblank_irq) MCFG_DEVICE_VBLANK_INT_DRIVER("screen", cmmb_state, vblank_irq)
MCFG_AT29C020_ADD("at29c020") AT29C020(config, "at29c020");
/* video hardware */ /* video hardware */
MCFG_SCREEN_ADD("screen", RASTER) MCFG_SCREEN_ADD("screen", RASTER)

View File

@ -3299,8 +3299,8 @@ MACHINE_CONFIG_START(cobra_state::cobra)
MCFG_PCI_BUS_LEGACY_ADD(m_legacy_pci, 0) MCFG_PCI_BUS_LEGACY_ADD(m_legacy_pci, 0)
MCFG_PCI_BUS_LEGACY_DEVICE(0, DEVICE_SELF, cobra_state, mpc106_pci_r, mpc106_pci_w) MCFG_PCI_BUS_LEGACY_DEVICE(0, DEVICE_SELF, cobra_state, mpc106_pci_r, mpc106_pci_w)
MCFG_ATA_INTERFACE_ADD("ata", ata_devices, "hdd", nullptr, true) ATA_INTERFACE(config, m_ata).options(ata_devices, "hdd", nullptr, true);
MCFG_ATA_INTERFACE_IRQ_HANDLER(WRITELINE(*this, cobra_state, ide_interrupt)) m_ata->irq_handler().set(FUNC(cobra_state::ide_interrupt));
/* video hardware */ /* video hardware */

View File

@ -378,8 +378,8 @@ MACHINE_CONFIG_START(csplayh5_state::csplayh5)
MCFG_DEVICE_PROGRAM_MAP(csplayh5_sub_map) MCFG_DEVICE_PROGRAM_MAP(csplayh5_sub_map)
MCFG_DEVICE_IO_MAP(csplayh5_sub_io_map) MCFG_DEVICE_IO_MAP(csplayh5_sub_io_map)
MCFG_IDE_CONTROLLER_ADD("ide", ata_devices, "hdd", nullptr, true) // dvd ide_controller_device &ide(IDE_CONTROLLER(config, "ide").options(ata_devices, "hdd", nullptr, true)); // dvd
MCFG_ATA_INTERFACE_IRQ_HANDLER(WRITELINE(*this, csplayh5_state, ide_irq)) ide.irq_handler().set(FUNC(csplayh5_state::ide_irq));
#endif #endif
MCFG_NVRAM_ADD_0FILL("nvram") MCFG_NVRAM_ADD_0FILL("nvram")

View File

@ -134,12 +134,12 @@ MACHINE_CONFIG_START(ct486_state::ct486)
MCFG_RAM_DEFAULT_SIZE("4M") MCFG_RAM_DEFAULT_SIZE("4M")
MCFG_RAM_EXTRA_OPTIONS("1M,2M,8M,16M,32M,64M") MCFG_RAM_EXTRA_OPTIONS("1M,2M,8M,16M,32M,64M")
MCFG_DEVICE_ADD("keybc", AT_KEYBOARD_CONTROLLER, XTAL(12'000'000)) at_keyboard_controller_device &keybc(AT_KEYBOARD_CONTROLLER(config, "keybc", XTAL(12'000'000)));
MCFG_AT_KEYBOARD_CONTROLLER_SYSTEM_RESET_CB(WRITELINE("cs4031", cs4031_device, kbrst_w)) keybc.system_reset_cb().set("cs4031", FUNC(cs4031_device::kbrst_w));
MCFG_AT_KEYBOARD_CONTROLLER_GATE_A20_CB(WRITELINE("cs4031", cs4031_device, gatea20_w)) keybc.gate_a20_cb().set("cs4031", FUNC(cs4031_device::gatea20_w));
MCFG_AT_KEYBOARD_CONTROLLER_INPUT_BUFFER_FULL_CB(WRITELINE("cs4031", cs4031_device, irq01_w)) keybc.input_buffer_full_cb().set("cs4031", FUNC(cs4031_device::irq01_w));
MCFG_AT_KEYBOARD_CONTROLLER_KEYBOARD_CLOCK_CB(WRITELINE("pc_kbdc", pc_kbdc_device, clock_write_from_mb)) keybc.keyboard_clock_cb().set("pc_kbdc", FUNC(pc_kbdc_device::clock_write_from_mb));
MCFG_AT_KEYBOARD_CONTROLLER_KEYBOARD_DATA_CB(WRITELINE("pc_kbdc", pc_kbdc_device, data_write_from_mb)) keybc.keyboard_data_cb().set("pc_kbdc", FUNC(pc_kbdc_device::data_write_from_mb));
MCFG_DEVICE_ADD("pc_kbdc", PC_KBDC, 0) MCFG_DEVICE_ADD("pc_kbdc", PC_KBDC, 0)
MCFG_PC_KBDC_OUT_CLOCK_CB(WRITELINE("keybc", at_keyboard_controller_device, keyboard_clock_w)) MCFG_PC_KBDC_OUT_CLOCK_CB(WRITELINE("keybc", at_keyboard_controller_device, keyboard_clock_w))
MCFG_PC_KBDC_OUT_DATA_CB(WRITELINE("keybc", at_keyboard_controller_device, keyboard_data_w)) MCFG_PC_KBDC_OUT_DATA_CB(WRITELINE("keybc", at_keyboard_controller_device, keyboard_data_w))

View File

@ -1094,12 +1094,12 @@ MACHINE_CONFIG_START(cubo_state::cubo)
MCFG_CDROM_INTERFACE("cd32_cdrom") MCFG_CDROM_INTERFACE("cd32_cdrom")
/* fdc */ /* fdc */
MCFG_DEVICE_ADD("fdc", AMIGA_FDC, amiga_state::CLK_7M_PAL) AMIGA_FDC(config, m_fdc, amiga_state::CLK_7M_PAL);
MCFG_AMIGA_FDC_INDEX_CALLBACK(WRITELINE("cia_1", mos8520_device, flag_w)) m_fdc->index_callback().set("cia_1", FUNC(mos8520_device::flag_w));
MCFG_AMIGA_FDC_READ_DMA_CALLBACK(READ16(*this, amiga_state, chip_ram_r)) m_fdc->read_dma_callback().set(FUNC(amiga_state::chip_ram_r));
MCFG_AMIGA_FDC_WRITE_DMA_CALLBACK(WRITE16(*this, amiga_state, chip_ram_w)) m_fdc->write_dma_callback().set(FUNC(amiga_state::chip_ram_w));
MCFG_AMIGA_FDC_DSKBLK_CALLBACK(WRITELINE(*this, amiga_state, fdc_dskblk_w)) m_fdc->dskblk_callback().set(FUNC(amiga_state::fdc_dskblk_w));
MCFG_AMIGA_FDC_DSKSYN_CALLBACK(WRITELINE(*this, amiga_state, fdc_dsksyn_w)) m_fdc->dsksyn_callback().set(FUNC(amiga_state::fdc_dsksyn_w));
MACHINE_CONFIG_END MACHINE_CONFIG_END

View File

@ -415,8 +415,8 @@ MACHINE_CONFIG_START(cybiko_state::cybikov1)
// machine // machine
/* rtc */ /* rtc */
MCFG_PCF8593_ADD("rtc") MCFG_PCF8593_ADD("rtc")
MCFG_AT45DB041_ADD("flash1") AT45DB041(config, m_flash1, 0);
MCFG_AT45DBXXX_SO_CALLBACK(WRITELINE("maincpu:sci1", h8_sci_device, rx_w)) m_flash1->so_callback().set("maincpu:sci1", FUNC(h8_sci_device::rx_w));
MCFG_NVRAM_ADD_0FILL("nvram") MCFG_NVRAM_ADD_0FILL("nvram")

View File

@ -631,8 +631,8 @@ MACHINE_CONFIG_START(dc_cons_state::dc)
AICARTC(config, "aicartc", XTAL(32'768)); AICARTC(config, "aicartc", XTAL(32'768));
MCFG_DEVICE_ADD("ata", ATA_INTERFACE, 0) ATA_INTERFACE(config, m_ata, 0);
MCFG_ATA_INTERFACE_IRQ_HANDLER(WRITELINE(*this, dc_cons_state, ata_interrupt)) m_ata->irq_handler().set(FUNC(dc_cons_state::ata_interrupt));
MCFG_DEVICE_MODIFY("ata:0") MCFG_DEVICE_MODIFY("ata:0")
MCFG_SLOT_OPTION_ADD("gdrom", GDROM) MCFG_SLOT_OPTION_ADD("gdrom", GDROM)

View File

@ -1388,8 +1388,8 @@ MACHINE_CONFIG_START(djmain_state::djmainj)
MCFG_DEVICE_PROGRAM_MAP(maincpu_djmainj) MCFG_DEVICE_PROGRAM_MAP(maincpu_djmainj)
MCFG_DEVICE_VBLANK_INT_DRIVER("screen", djmain_state, vb_interrupt) MCFG_DEVICE_VBLANK_INT_DRIVER("screen", djmain_state, vb_interrupt)
MCFG_ATA_INTERFACE_ADD("ata", ata_devices, "hdd", nullptr, true) ATA_INTERFACE(config, m_ata).options(ata_devices, "hdd", nullptr, true);
MCFG_ATA_INTERFACE_IRQ_HANDLER(WRITELINE(*this, djmain_state, ide_interrupt)) m_ata->irq_handler().set(FUNC(djmain_state::ide_interrupt));
/* video hardware */ /* video hardware */
MCFG_SCREEN_ADD("screen", RASTER) MCFG_SCREEN_ADD("screen", RASTER)

View File

@ -1191,8 +1191,8 @@ MACHINE_CONFIG_START(firebeat_state::firebeat)
MCFG_FUJITSU_29F016A_ADD("flash_snd1") MCFG_FUJITSU_29F016A_ADD("flash_snd1")
MCFG_FUJITSU_29F016A_ADD("flash_snd2") MCFG_FUJITSU_29F016A_ADD("flash_snd2")
MCFG_ATA_INTERFACE_ADD("ata", firebeat_ata_devices, "cdrom", "cdrom", true) ATA_INTERFACE(config, m_ata).options(firebeat_ata_devices, "cdrom", "cdrom", true);
MCFG_ATA_INTERFACE_IRQ_HANDLER(WRITELINE(*this, firebeat_state, ata_interrupt)) m_ata->irq_handler().set(FUNC(firebeat_state::ata_interrupt));
MCFG_DEVICE_MODIFY("ata:1") MCFG_DEVICE_MODIFY("ata:1")
MCFG_SLOT_OPTION_MACHINE_CONFIG( "cdrom", cdrom_config ) MCFG_SLOT_OPTION_MACHINE_CONFIG( "cdrom", cdrom_config )
@ -1249,8 +1249,8 @@ MACHINE_CONFIG_START(firebeat_state::firebeat2)
MCFG_FUJITSU_29F016A_ADD("flash_snd1") MCFG_FUJITSU_29F016A_ADD("flash_snd1")
MCFG_FUJITSU_29F016A_ADD("flash_snd2") MCFG_FUJITSU_29F016A_ADD("flash_snd2")
MCFG_ATA_INTERFACE_ADD("ata", firebeat_ata_devices, "cdrom", "cdrom", true) ATA_INTERFACE(config, m_ata).options(firebeat_ata_devices, "cdrom", "cdrom", true);
MCFG_ATA_INTERFACE_IRQ_HANDLER(WRITELINE(*this, firebeat_state, ata_interrupt)) m_ata->irq_handler().set(FUNC(firebeat_state::ata_interrupt));
MCFG_DEVICE_MODIFY("ata:1") MCFG_DEVICE_MODIFY("ata:1")
MCFG_SLOT_OPTION_MACHINE_CONFIG( "cdrom", cdrom_config ) MCFG_SLOT_OPTION_MACHINE_CONFIG( "cdrom", cdrom_config )
@ -1317,8 +1317,8 @@ MACHINE_CONFIG_START(firebeat_state::firebeat_spu)
MCFG_SOUND_ROUTE(0, "lspeaker", 1.0) MCFG_SOUND_ROUTE(0, "lspeaker", 1.0)
MCFG_SOUND_ROUTE(1, "rspeaker", 1.0) MCFG_SOUND_ROUTE(1, "rspeaker", 1.0)
MCFG_ATA_INTERFACE_ADD("spu_ata", firebeat_ata_devices, "cdrom", nullptr, true) ATA_INTERFACE(config, m_spuata).options(firebeat_ata_devices, "cdrom", nullptr, true);
MCFG_ATA_INTERFACE_IRQ_HANDLER(WRITELINE(*this, firebeat_state, spu_ata_interrupt)) m_spuata->irq_handler().set(FUNC(firebeat_state::spu_ata_interrupt));
MACHINE_CONFIG_END MACHINE_CONFIG_END
/*****************************************************************************/ /*****************************************************************************/

View File

@ -123,8 +123,8 @@ MACHINE_CONFIG_START(fruitpc_state::fruitpc)
pcat_common(config); pcat_common(config);
MCFG_IDE_CONTROLLER_ADD("ide", ata_devices, "hdd", nullptr, true) ide_controller_device &ide(IDE_CONTROLLER(config, "ide").options(ata_devices, "hdd", nullptr, true));
MCFG_ATA_INTERFACE_IRQ_HANDLER(WRITELINE("pic8259_2", pic8259_device, ir6_w)) ide.irq_handler().set("pic8259_2", FUNC(pic8259_device::ir6_w));
/* video hardware */ /* video hardware */
pcvideo_vga(config); pcvideo_vga(config);

View File

@ -775,8 +775,8 @@ MACHINE_CONFIG_START(funkball_state::funkball)
MCFG_PCI_BUS_LEGACY_DEVICE(7, DEVICE_SELF, funkball_state, voodoo_0_pci_r, voodoo_0_pci_w) MCFG_PCI_BUS_LEGACY_DEVICE(7, DEVICE_SELF, funkball_state, voodoo_0_pci_r, voodoo_0_pci_w)
MCFG_PCI_BUS_LEGACY_DEVICE(18, DEVICE_SELF, funkball_state, cx5510_pci_r, cx5510_pci_w) MCFG_PCI_BUS_LEGACY_DEVICE(18, DEVICE_SELF, funkball_state, cx5510_pci_r, cx5510_pci_w)
MCFG_IDE_CONTROLLER_ADD("ide", ata_devices, "hdd", nullptr, true) ide_controller_device &ide(IDE_CONTROLLER(config, "ide").options(ata_devices, "hdd", nullptr, true));
MCFG_ATA_INTERFACE_IRQ_HANDLER(WRITELINE("pic8259_2", pic8259_device, ir6_w)) ide.irq_handler().set("pic8259_2", FUNC(pic8259_device::ir6_w));
MCFG_DEVICE_ADD("flashbank", ADDRESS_MAP_BANK, 0) MCFG_DEVICE_ADD("flashbank", ADDRESS_MAP_BANK, 0)
MCFG_DEVICE_PROGRAM_MAP(flashbank_map) MCFG_DEVICE_PROGRAM_MAP(flashbank_map)

View File

@ -457,8 +457,8 @@ MACHINE_CONFIG_START(gamecstl_state::gamecstl)
MCFG_PCI_BUS_LEGACY_DEVICE(0, DEVICE_SELF, gamecstl_state, intel82439tx_pci_r, intel82439tx_pci_w) MCFG_PCI_BUS_LEGACY_DEVICE(0, DEVICE_SELF, gamecstl_state, intel82439tx_pci_r, intel82439tx_pci_w)
MCFG_PCI_BUS_LEGACY_DEVICE(7, DEVICE_SELF, gamecstl_state, intel82371ab_pci_r, intel82371ab_pci_w) MCFG_PCI_BUS_LEGACY_DEVICE(7, DEVICE_SELF, gamecstl_state, intel82371ab_pci_r, intel82371ab_pci_w)
MCFG_IDE_CONTROLLER_ADD("ide", ata_devices, "hdd", nullptr, true) ide_controller_device &ide(IDE_CONTROLLER(config, "ide").options(ata_devices, "hdd", nullptr, true));
MCFG_ATA_INTERFACE_IRQ_HANDLER(WRITELINE("pic8259_2", pic8259_device, ir6_w)) ide.irq_handler().set("pic8259_2", FUNC(pic8259_device::ir6_w));
/* video hardware */ /* video hardware */
MCFG_SCREEN_ADD("screen", RASTER) MCFG_SCREEN_ADD("screen", RASTER)

View File

@ -773,8 +773,8 @@ MACHINE_CONFIG_START(geneve_state::geneve_common)
m_colorbus->configure_slot(); m_colorbus->configure_slot();
// PFM expansion // PFM expansion
MCFG_AT29C040_ADD( GENEVE_PFM512_TAG ) AT29C040(config, GENEVE_PFM512_TAG);
MCFG_AT29C040A_ADD( GENEVE_PFM512A_TAG ) AT29C040A(config, GENEVE_PFM512A_TAG);
// DRAM 512K // DRAM 512K
MCFG_RAM_ADD(GENEVE_DRAM_TAG) MCFG_RAM_ADD(GENEVE_DRAM_TAG)

View File

@ -1857,8 +1857,8 @@ MACHINE_CONFIG_START(jaguar_state::cojagr3k)
MCFG_WATCHDOG_ADD("watchdog") MCFG_WATCHDOG_ADD("watchdog")
MCFG_VT83C461_ADD("ide", cojag_devices, "hdd", nullptr, true) VT83C461(config, m_ide).options(cojag_devices, "hdd", nullptr, true);
MCFG_ATA_INTERFACE_IRQ_HANDLER(WRITELINE(*this, jaguar_state, external_int)) m_ide->irq_handler().set(FUNC(jaguar_state::external_int));
/* video hardware */ /* video hardware */
MCFG_SCREEN_ADD("screen", RASTER) MCFG_SCREEN_ADD("screen", RASTER)

View File

@ -727,8 +727,8 @@ MACHINE_CONFIG_START(kinst_state::kinst)
MCFG_DEVICE_PROGRAM_MAP(main_map) MCFG_DEVICE_PROGRAM_MAP(main_map)
MCFG_DEVICE_VBLANK_INT_DRIVER("screen", kinst_state, irq0_start) MCFG_DEVICE_VBLANK_INT_DRIVER("screen", kinst_state, irq0_start)
MCFG_ATA_INTERFACE_ADD("ata", ata_devices, "hdd", nullptr, true) ATA_INTERFACE(config, m_ata).options(ata_devices, "hdd", nullptr, true);
MCFG_ATA_INTERFACE_IRQ_HANDLER(INPUTLINE("maincpu", 1)) m_ata->irq_handler().set_inputline("maincpu", 1);
/* video hardware */ /* video hardware */
MCFG_SCREEN_ADD("screen", RASTER) MCFG_SCREEN_ADD("screen", RASTER)

View File

@ -2102,7 +2102,7 @@ MACHINE_CONFIG_START(ksys573_state::konami573)
MCFG_DEVICE_ADD( m_duart, MB89371, 0 ) MCFG_DEVICE_ADD( m_duart, MB89371, 0 )
MCFG_DEVICE_ADD( m_ata, ATA_INTERFACE, 0 ) MCFG_DEVICE_ADD( m_ata, ATA_INTERFACE, 0 )
MCFG_ATA_INTERFACE_IRQ_HANDLER( WRITELINE( *this, ksys573_state, ata_interrupt ) ) m_ata->irq_handler().set( FUNC( ksys573_state::ata_interrupt ) );
MCFG_DEVICE_MODIFY( "ata:0" ) MCFG_DEVICE_MODIFY( "ata:0" )
MCFG_SLOT_OPTION_ADD( "cr589", CR589 ) MCFG_SLOT_OPTION_ADD( "cr589", CR589 )

View File

@ -893,8 +893,8 @@ MACHINE_CONFIG_START(mediagx_state::mediagx)
MCFG_PCI_BUS_LEGACY_ADD("pcibus", 0) MCFG_PCI_BUS_LEGACY_ADD("pcibus", 0)
MCFG_PCI_BUS_LEGACY_DEVICE(18, DEVICE_SELF, mediagx_state, cx5510_pci_r, cx5510_pci_w) MCFG_PCI_BUS_LEGACY_DEVICE(18, DEVICE_SELF, mediagx_state, cx5510_pci_r, cx5510_pci_w)
MCFG_IDE_CONTROLLER_32_ADD("ide", ata_devices, "hdd", nullptr, true) ide_controller_32_device &ide(IDE_CONTROLLER_32(config, "ide").options(ata_devices, "hdd", nullptr, true));
MCFG_ATA_INTERFACE_IRQ_HANDLER(WRITELINE(m_pic8259_2, pic8259_device, ir6_w)) ide.irq_handler().set(m_pic8259_2, FUNC(pic8259_device::ir6_w));
MCFG_TIMER_DRIVER_ADD("sound_timer", mediagx_state, sound_timer_callback) MCFG_TIMER_DRIVER_ADD("sound_timer", mediagx_state, sound_timer_callback)

View File

@ -429,8 +429,8 @@ MACHINE_CONFIG_START(midqslvr_state::midqslvr)
MCFG_PCI_BUS_LEGACY_DEVICE( 0, DEVICE_SELF, midqslvr_state, intel82439tx_pci_r, intel82439tx_pci_w) MCFG_PCI_BUS_LEGACY_DEVICE( 0, DEVICE_SELF, midqslvr_state, intel82439tx_pci_r, intel82439tx_pci_w)
MCFG_PCI_BUS_LEGACY_DEVICE(31, DEVICE_SELF, midqslvr_state, intel82371ab_pci_r, intel82371ab_pci_w) MCFG_PCI_BUS_LEGACY_DEVICE(31, DEVICE_SELF, midqslvr_state, intel82371ab_pci_r, intel82371ab_pci_w)
MCFG_IDE_CONTROLLER_ADD("ide", ata_devices, "hdd", nullptr, true) ide_controller_device &ide(IDE_CONTROLLER(config, "ide").options(ata_devices, "hdd", nullptr, true));
MCFG_ATA_INTERFACE_IRQ_HANDLER(WRITELINE("pic8259_2", pic8259_device, ir6_w)) ide.irq_handler().set("pic8259_2", FUNC(pic8259_device::ir6_w));
/* video hardware */ /* video hardware */
pcvideo_vga(config); pcvideo_vga(config);

View File

@ -1127,7 +1127,7 @@ MACHINE_CONFIG_START(midvunit_state::midvplus)
MCFG_MACHINE_RESET_OVERRIDE(midvunit_state,midvplus) MCFG_MACHINE_RESET_OVERRIDE(midvunit_state,midvplus)
MCFG_DEVICE_REMOVE("nvram") MCFG_DEVICE_REMOVE("nvram")
MCFG_ATA_INTERFACE_ADD("ata", ata_devices, "hdd", nullptr, true) ATA_INTERFACE(config, m_ata).options(ata_devices, "hdd", nullptr, true);
MCFG_DEVICE_ADD("ioasic", MIDWAY_IOASIC, 0) MCFG_DEVICE_ADD("ioasic", MIDWAY_IOASIC, 0)
MCFG_MIDWAY_IOASIC_SHUFFLE(0) MCFG_MIDWAY_IOASIC_SHUFFLE(0)

View File

@ -363,12 +363,12 @@ MACHINE_CONFIG_START(mquake_state::mquake)
MCFG_MOS6526_IRQ_CALLBACK(WRITELINE(*this, amiga_state, cia_1_irq)) MCFG_MOS6526_IRQ_CALLBACK(WRITELINE(*this, amiga_state, cia_1_irq))
/* fdc */ /* fdc */
MCFG_DEVICE_ADD("fdc", AMIGA_FDC, amiga_state::CLK_7M_NTSC) AMIGA_FDC(config, m_fdc, amiga_state::CLK_7M_NTSC);
MCFG_AMIGA_FDC_INDEX_CALLBACK(WRITELINE("cia_1", mos8520_device, flag_w)) m_fdc->index_callback().set("cia_1", FUNC(mos8520_device::flag_w));
MCFG_AMIGA_FDC_READ_DMA_CALLBACK(READ16(*this, amiga_state, chip_ram_r)) m_fdc->read_dma_callback().set(FUNC(amiga_state::chip_ram_r));
MCFG_AMIGA_FDC_WRITE_DMA_CALLBACK(WRITE16(*this, amiga_state, chip_ram_w)) m_fdc->write_dma_callback().set(FUNC(amiga_state::chip_ram_w));
MCFG_AMIGA_FDC_DSKBLK_CALLBACK(WRITELINE(*this, amiga_state, fdc_dskblk_w)) m_fdc->dskblk_callback().set(FUNC(amiga_state::fdc_dskblk_w));
MCFG_AMIGA_FDC_DSKSYN_CALLBACK(WRITELINE(*this, amiga_state, fdc_dsksyn_w)) m_fdc->dsksyn_callback().set(FUNC(amiga_state::fdc_dsksyn_w));
MACHINE_CONFIG_END MACHINE_CONFIG_END

View File

@ -2292,10 +2292,10 @@ void pc9801_state::cdrom_headphones(device_t *device)
MACHINE_CONFIG_START(pc9801_state::pc9801_ide) MACHINE_CONFIG_START(pc9801_state::pc9801_ide)
SPEAKER(config, "lheadphone").front_left(); SPEAKER(config, "lheadphone").front_left();
SPEAKER(config, "rheadphone").front_right(); SPEAKER(config, "rheadphone").front_right();
MCFG_ATA_INTERFACE_ADD("ide1", ata_devices, "hdd", nullptr, false) ATA_INTERFACE(config, m_ide[0]).options(ata_devices, "hdd", nullptr, false);
MCFG_ATA_INTERFACE_IRQ_HANDLER(WRITELINE("ideirq", input_merger_device, in_w<0>)) m_ide[0]->irq_handler().set("ideirq", FUNC(input_merger_device::in_w<0>));
MCFG_ATA_INTERFACE_ADD("ide2", pc9801_atapi_devices, "pc9801_cd", nullptr, false) ATA_INTERFACE(config, m_ide[1]).options(pc9801_atapi_devices, "pc9801_cd", nullptr, false);
MCFG_ATA_INTERFACE_IRQ_HANDLER(WRITELINE("ideirq", input_merger_device, in_w<1>)) m_ide[1]->irq_handler().set("ideirq", FUNC(input_merger_device::in_w<1>));
MCFG_DEVICE_MODIFY("ide2:0") MCFG_DEVICE_MODIFY("ide2:0")
MCFG_SLOT_OPTION_MACHINE_CONFIG("pc9801_cd", cdrom_headphones) MCFG_SLOT_OPTION_MACHINE_CONFIG("pc9801_cd", cdrom_headphones)

View File

@ -780,8 +780,7 @@ MACHINE_CONFIG_START(pgm2_state::pgm2)
MCFG_DEVICE_VBLANK_INT_DRIVER("screen", pgm2_state, igs_interrupt) MCFG_DEVICE_VBLANK_INT_DRIVER("screen", pgm2_state, igs_interrupt)
MCFG_TIMER_DRIVER_ADD("mcu_timer", pgm2_state, igs_interrupt2) MCFG_TIMER_DRIVER_ADD("mcu_timer", pgm2_state, igs_interrupt2)
MCFG_ARM_AIC_ADD("arm_aic") ARM_AIC(config, "arm_aic", 0).irq_callback().set(FUNC(pgm2_state::irq));
MCFG_IRQ_LINE_CB(WRITELINE(*this, pgm2_state, irq))
/* video hardware */ /* video hardware */
MCFG_SCREEN_ADD("screen", RASTER) MCFG_SCREEN_ADD("screen", RASTER)

View File

@ -311,11 +311,11 @@ MACHINE_CONFIG_START(photoply_state::photoply)
MCFG_DEVICE_ADD("gfxdecode", GFXDECODE, "vga", gfx_photoply) MCFG_DEVICE_ADD("gfxdecode", GFXDECODE, "vga", gfx_photoply)
MCFG_IDE_CONTROLLER_32_ADD("ide", ata_devices, "hdd", nullptr, true) ide_controller_32_device &ide(IDE_CONTROLLER_32(config, "ide").options(ata_devices, "hdd", nullptr, true));
MCFG_ATA_INTERFACE_IRQ_HANDLER(WRITELINE("pic8259_2", pic8259_device, ir6_w)) ide.irq_handler().set("pic8259_2", FUNC(pic8259_device::ir6_w));
MCFG_IDE_CONTROLLER_32_ADD("ide2", ata_devices, nullptr, nullptr, true) ide_controller_32_device &ide2(IDE_CONTROLLER_32(config, "ide2").options(ata_devices, nullptr, nullptr, true));
MCFG_ATA_INTERFACE_IRQ_HANDLER(WRITELINE("pic8259_2", pic8259_device, ir7_w)) ide2.irq_handler().set("pic8259_2", FUNC(pic8259_device::ir7_w));
MCFG_PCI_BUS_LEGACY_ADD("pcibus", 0) MCFG_PCI_BUS_LEGACY_ADD("pcibus", 0)
MCFG_PCI_BUS_LEGACY_DEVICE(5, DEVICE_SELF, photoply_state, sis_pcm_r, sis_pcm_w) MCFG_PCI_BUS_LEGACY_DEVICE(5, DEVICE_SELF, photoply_state, sis_pcm_r, sis_pcm_w)

View File

@ -615,8 +615,8 @@ MACHINE_CONFIG_START(pinball2k_state::mediagx)
MCFG_PCI_BUS_LEGACY_ADD("pcibus", 0) MCFG_PCI_BUS_LEGACY_ADD("pcibus", 0)
MCFG_PCI_BUS_LEGACY_DEVICE(18, DEVICE_SELF, pinball2k_state, cx5510_pci_r, cx5510_pci_w) MCFG_PCI_BUS_LEGACY_DEVICE(18, DEVICE_SELF, pinball2k_state, cx5510_pci_r, cx5510_pci_w)
MCFG_IDE_CONTROLLER_ADD("ide", ata_devices, "hdd", nullptr, true) ide_controller_device &ide(IDE_CONTROLLER(config, "ide").options(ata_devices, "hdd", nullptr, true));
MCFG_ATA_INTERFACE_IRQ_HANDLER(WRITELINE("pic8259_2", pic8259_device, ir6_w)) ide.irq_handler().set("pic8259_2", FUNC(pic8259_device::ir6_w));
MCFG_RAMDAC_ADD("ramdac", ramdac_map, "palette") MCFG_RAMDAC_ADD("ramdac", ramdac_map, "palette")

View File

@ -533,8 +533,8 @@ MACHINE_CONFIG_START(qdrmfgp_state::qdrmfgp)
MCFG_MACHINE_START_OVERRIDE(qdrmfgp_state,qdrmfgp) MCFG_MACHINE_START_OVERRIDE(qdrmfgp_state,qdrmfgp)
MCFG_NVRAM_ADD_1FILL("nvram") MCFG_NVRAM_ADD_1FILL("nvram")
MCFG_ATA_INTERFACE_ADD("ata", ata_devices, "hdd", nullptr, true) ATA_INTERFACE(config, m_ata).options(ata_devices, "hdd", nullptr, true);
MCFG_ATA_INTERFACE_IRQ_HANDLER(WRITELINE(*this, qdrmfgp_state, ide_interrupt)) m_ata->irq_handler().set(FUNC(qdrmfgp_state::ide_interrupt));
/* video hardware */ /* video hardware */
MCFG_SCREEN_ADD("screen", RASTER) MCFG_SCREEN_ADD("screen", RASTER)
@ -579,8 +579,8 @@ MACHINE_CONFIG_START(qdrmfgp_state::qdrmfgp2)
MCFG_MACHINE_START_OVERRIDE(qdrmfgp_state,qdrmfgp2) MCFG_MACHINE_START_OVERRIDE(qdrmfgp_state,qdrmfgp2)
MCFG_NVRAM_ADD_1FILL("nvram") MCFG_NVRAM_ADD_1FILL("nvram")
MCFG_ATA_INTERFACE_ADD("ata", ata_devices, "hdd", nullptr, true) ATA_INTERFACE(config, m_ata).options(ata_devices, "hdd", nullptr, true);
MCFG_ATA_INTERFACE_IRQ_HANDLER(WRITELINE(*this, qdrmfgp_state, gp2_ide_interrupt)) m_ata->irq_handler().set(FUNC(qdrmfgp_state::gp2_ide_interrupt));
/* video hardware */ /* video hardware */
MCFG_SCREEN_ADD("screen", RASTER) MCFG_SCREEN_ADD("screen", RASTER)

View File

@ -294,11 +294,11 @@ MACHINE_CONFIG_START(queen_state::queen)
MCFG_PCI_BUS_LEGACY_DEVICE(0, DEVICE_SELF, queen_state, intel82439tx_pci_r, intel82439tx_pci_w) MCFG_PCI_BUS_LEGACY_DEVICE(0, DEVICE_SELF, queen_state, intel82439tx_pci_r, intel82439tx_pci_w)
MCFG_PCI_BUS_LEGACY_DEVICE(7, DEVICE_SELF, queen_state, intel82371ab_pci_r, intel82371ab_pci_w) MCFG_PCI_BUS_LEGACY_DEVICE(7, DEVICE_SELF, queen_state, intel82371ab_pci_r, intel82371ab_pci_w)
MCFG_IDE_CONTROLLER_ADD("ide", ata_devices, "hdd", nullptr, true) ide_controller_device &ide(IDE_CONTROLLER(config, "ide").options(ata_devices, "hdd", nullptr, true));
MCFG_ATA_INTERFACE_IRQ_HANDLER(WRITELINE("pic8259_2", pic8259_device, ir6_w)) ide.irq_handler().set("pic8259_2", FUNC(pic8259_device::ir6_w));
MCFG_IDE_CONTROLLER_32_ADD("ide2", ata_devices, nullptr, nullptr, true) ide_controller_32_device &ide2(IDE_CONTROLLER_32(config, "ide2").options(ata_devices, nullptr, nullptr, true));
MCFG_ATA_INTERFACE_IRQ_HANDLER(WRITELINE("pic8259_2", pic8259_device, ir7_w)) ide2.irq_handler().set("pic8259_2", FUNC(pic8259_device::ir7_w));
/* video hardware */ /* video hardware */
pcvideo_vga(config); pcvideo_vga(config);

View File

@ -827,11 +827,11 @@ MACHINE_CONFIG_START(savquest_state::savquest)
MCFG_PCI_BUS_LEGACY_DEVICE(7, DEVICE_SELF, savquest_state, intel82371ab_pci_r, intel82371ab_pci_w) MCFG_PCI_BUS_LEGACY_DEVICE(7, DEVICE_SELF, savquest_state, intel82371ab_pci_r, intel82371ab_pci_w)
MCFG_PCI_BUS_LEGACY_DEVICE(13, DEVICE_SELF, savquest_state, pci_3dfx_r, pci_3dfx_w) MCFG_PCI_BUS_LEGACY_DEVICE(13, DEVICE_SELF, savquest_state, pci_3dfx_r, pci_3dfx_w)
MCFG_IDE_CONTROLLER_32_ADD("ide", ata_devices, "hdd", nullptr, true) ide_controller_device &ide(IDE_CONTROLLER(config, "ide").options(ata_devices, "hdd", nullptr, true));
MCFG_ATA_INTERFACE_IRQ_HANDLER(WRITELINE("pic8259_2", pic8259_device, ir6_w)) ide.irq_handler().set("pic8259_2", FUNC(pic8259_device::ir6_w));
MCFG_IDE_CONTROLLER_32_ADD("ide2", ata_devices, nullptr, nullptr, true) ide_controller_device &ide2(IDE_CONTROLLER(config, "ide2").options(ata_devices, nullptr, nullptr, true));
MCFG_ATA_INTERFACE_IRQ_HANDLER(WRITELINE("pic8259_2", pic8259_device, ir7_w)) ide2.irq_handler().set("pic8259_2", FUNC(pic8259_device::ir7_w));
/* sound hardware */ /* sound hardware */

View File

@ -223,12 +223,7 @@ void swtpc09_state::swtpc09i(machine_config &config)
PIA6821(config, "piaide", 0); PIA6821(config, "piaide", 0);
/* old start to adding ide support, needs major updating */ /* TODO: add ide support, via add-on card driving IDE from a PIA */
/* this is to support an add on card driving IDE from a PIA */
// MCFG_HARDDISK_ADD("harddisk")
// MCFG_IDE_CONTROLLER_ADD("ide", nullptr)
// MCFG_IDE_CONTROLLER_REGIONS("harddisk", nullptr)
// MCFG_IDE_CONTROLLER_ADD( "ide", ide_intf, "hdd", nullptr, false ) /* FIXME */ bebox
} }

View File

@ -2598,8 +2598,8 @@ MACHINE_CONFIG_START(taitotz_state::taitotz)
MCFG_QUANTUM_TIME(attotime::from_hz(120)) MCFG_QUANTUM_TIME(attotime::from_hz(120))
MCFG_ATA_INTERFACE_ADD("ata", ata_devices, "hdd", nullptr, true) ata_interface_device &ata(ATA_INTERFACE(config, "ata").options(ata_devices, "hdd", nullptr, true));
MCFG_ATA_INTERFACE_IRQ_HANDLER(WRITELINE(*this, taitotz_state, ide_interrupt)) ata.irq_handler().set(FUNC(taitotz_state::ide_interrupt));
MCFG_NVRAM_ADD_0FILL("nvram") MCFG_NVRAM_ADD_0FILL("nvram")

View File

@ -364,7 +364,7 @@ MACHINE_CONFIG_START(turrett_state::turrett)
MCFG_DEVICE_VBLANK_INT_DRIVER("screen", turrett_state, vblank) MCFG_DEVICE_VBLANK_INT_DRIVER("screen", turrett_state, vblank)
MCFG_DEVICE_PERIODIC_INT_DRIVER(turrett_state, adc, 60) MCFG_DEVICE_PERIODIC_INT_DRIVER(turrett_state, adc, 60)
MCFG_ATA_INTERFACE_ADD("ata", turrett_devices, "hdd", nullptr, true) ATA_INTERFACE(config, m_ata).options(turrett_devices, "hdd", nullptr, true);
/* video hardware */ /* video hardware */
MCFG_SCREEN_ADD("screen", RASTER) MCFG_SCREEN_ADD("screen", RASTER)

View File

@ -1099,9 +1099,9 @@ MACHINE_CONFIG_START(twinkle_state::twinkle)
m_am53cf96->set_scsi_port("scsi"); m_am53cf96->set_scsi_port("scsi");
m_am53cf96->irq_handler().set("maincpu:irq", FUNC(psxirq_device::intin10)); m_am53cf96->irq_handler().set("maincpu:irq", FUNC(psxirq_device::intin10));
MCFG_ATA_INTERFACE_ADD("ata", ata_devices, "hdd", nullptr, true) ATA_INTERFACE(config, m_ata).options(ata_devices, "hdd", nullptr, true);
MCFG_ATA_INTERFACE_IRQ_HANDLER(WRITELINE(*this, twinkle_state, spu_ata_irq)) m_ata->irq_handler().set(FUNC(twinkle_state::spu_ata_irq));
MCFG_ATA_INTERFACE_DMARQ_HANDLER(WRITELINE(*this, twinkle_state, spu_ata_dmarq)) m_ata->dmarq_handler().set(FUNC(twinkle_state::spu_ata_dmarq));
MCFG_DEVICE_ADD("rtc", RTC65271, 0) MCFG_DEVICE_ADD("rtc", RTC65271, 0)

View File

@ -312,12 +312,12 @@ MACHINE_CONFIG_START(upscope_state::upscope)
MCFG_MOS6526_PA_OUTPUT_CALLBACK(WRITE8(*this, upscope_state, upscope_cia_1_porta_w)) MCFG_MOS6526_PA_OUTPUT_CALLBACK(WRITE8(*this, upscope_state, upscope_cia_1_porta_w))
/* fdc */ /* fdc */
MCFG_DEVICE_ADD("fdc", AMIGA_FDC, amiga_state::CLK_7M_NTSC) AMIGA_FDC(config, m_fdc, amiga_state::CLK_7M_NTSC);
MCFG_AMIGA_FDC_INDEX_CALLBACK(WRITELINE("cia_1", mos8520_device, flag_w)) m_fdc->index_callback().set("cia_1", FUNC(mos8520_device::flag_w));
MCFG_AMIGA_FDC_READ_DMA_CALLBACK(READ16(*this, amiga_state, chip_ram_r)) m_fdc->read_dma_callback().set(FUNC(amiga_state::chip_ram_r));
MCFG_AMIGA_FDC_WRITE_DMA_CALLBACK(WRITE16(*this, amiga_state, chip_ram_w)) m_fdc->write_dma_callback().set(FUNC(amiga_state::chip_ram_w));
MCFG_AMIGA_FDC_DSKBLK_CALLBACK(WRITELINE(*this, amiga_state, fdc_dskblk_w)) m_fdc->dskblk_callback().set(FUNC(amiga_state::fdc_dskblk_w));
MCFG_AMIGA_FDC_DSKSYN_CALLBACK(WRITELINE(*this, amiga_state, fdc_dsksyn_w)) m_fdc->dsksyn_callback().set(FUNC(amiga_state::fdc_dsksyn_w));
// i/o extension // i/o extension
MCFG_DEVICE_ADD("ppi", I8255, 0) MCFG_DEVICE_ADD("ppi", I8255, 0)

View File

@ -1757,9 +1757,9 @@ MACHINE_CONFIG_START(vegas_state::vegascore)
MCFG_VRC5074_SET_CS(6, vegas_state::vegas_cs6_map) MCFG_VRC5074_SET_CS(6, vegas_state::vegas_cs6_map)
MCFG_VRC5074_SET_CS(7, vegas_state::vegas_cs7_map) MCFG_VRC5074_SET_CS(7, vegas_state::vegas_cs7_map)
MCFG_DEVICE_ADD(PCI_ID_IDE, IDE_PCI, 0, 0x10950646, 0x05, 0x0) ide_pci_device &ide(IDE_PCI(config, PCI_ID_IDE, 0, 0x10950646, 0x05, 0x0));
MCFG_IDE_PCI_IRQ_HANDLER(WRITELINE(PCI_ID_NILE, vrc5074_device, pci_intr_d)) ide.irq_handler().set(PCI_ID_NILE, FUNC(vrc5074_device::pci_intr_d));
//MCFG_IDE_PCI_SET_PIF(0x8f) //ide.set_pif(0x8f);
MCFG_DEVICE_ADD(PCI_ID_VIDEO, VOODOO_2_PCI, 0, m_maincpu, "screen") MCFG_DEVICE_ADD(PCI_ID_VIDEO, VOODOO_2_PCI, 0, m_maincpu, "screen")
MCFG_VOODOO_PCI_FBMEM(2) MCFG_VOODOO_PCI_FBMEM(2)

View File

@ -2397,7 +2397,7 @@ MACHINE_CONFIG_START(viper_state::viper)
MCFG_PCI_BUS_LEGACY_DEVICE(0, DEVICE_SELF, viper_state, mpc8240_pci_r, mpc8240_pci_w) MCFG_PCI_BUS_LEGACY_DEVICE(0, DEVICE_SELF, viper_state, mpc8240_pci_r, mpc8240_pci_w)
MCFG_PCI_BUS_LEGACY_DEVICE(12, DEVICE_SELF, viper_state, voodoo3_pci_r, voodoo3_pci_w) MCFG_PCI_BUS_LEGACY_DEVICE(12, DEVICE_SELF, viper_state, voodoo3_pci_r, voodoo3_pci_w)
MCFG_ATA_INTERFACE_ADD("ata", ata_devices, "hdd", nullptr, true) ATA_INTERFACE(config, m_ata).options(ata_devices, "hdd", nullptr, true);
MCFG_DEVICE_ADD("voodoo", VOODOO_3, STD_VOODOO_3_CLOCK) MCFG_DEVICE_ADD("voodoo", VOODOO_3, STD_VOODOO_3_CLOCK)
MCFG_VOODOO_FBMEM(8) MCFG_VOODOO_FBMEM(8)

View File

@ -510,8 +510,8 @@ MACHINE_CONFIG_START(voyager_state::voyager)
pcat_common(config); pcat_common(config);
MCFG_IDE_CONTROLLER_ADD("ide", ata_devices, "hdd", nullptr, true) ide_controller_device &ide(IDE_CONTROLLER(config, "ide").options(ata_devices, "hdd", nullptr, true));
MCFG_ATA_INTERFACE_IRQ_HANDLER(WRITELINE("pic8259_2", pic8259_device, ir6_w)) ide.irq_handler().set("pic8259_2", FUNC(pic8259_device::ir6_w));
MCFG_PCI_BUS_LEGACY_ADD("pcibus", 0) MCFG_PCI_BUS_LEGACY_ADD("pcibus", 0)
MCFG_PCI_BUS_LEGACY_DEVICE(0, DEVICE_SELF, voyager_state, intel82439tx_pci_r, intel82439tx_pci_w) MCFG_PCI_BUS_LEGACY_DEVICE(0, DEVICE_SELF, voyager_state, intel82439tx_pci_r, intel82439tx_pci_w)

View File

@ -381,8 +381,8 @@ MACHINE_CONFIG_START(vp10x_state::vp101)
MCFG_SCREEN_SIZE(320, 240) MCFG_SCREEN_SIZE(320, 240)
MCFG_SCREEN_VISIBLE_AREA(0, 319, 0, 239) MCFG_SCREEN_VISIBLE_AREA(0, 319, 0, 239)
MCFG_ATA_INTERFACE_ADD("ata", ata_devices, "hdd", nullptr, false) ATA_INTERFACE(config, m_ata).options(ata_devices, "hdd", nullptr, false);
MCFG_ATA_INTERFACE_DMARQ_HANDLER(WRITELINE(*this, vp10x_state, dmarq_w)) m_ata->dmarq_handler().set(FUNC(vp10x_state::dmarq_w));
MCFG_NVRAM_ADD_0FILL("nvram") MCFG_NVRAM_ADD_0FILL("nvram")
MACHINE_CONFIG_END MACHINE_CONFIG_END
@ -400,7 +400,7 @@ MACHINE_CONFIG_START(vp10x_state::vp50)
MCFG_SCREEN_SIZE(400, 240) MCFG_SCREEN_SIZE(400, 240)
MCFG_SCREEN_VISIBLE_AREA(0, 399, 0, 239) MCFG_SCREEN_VISIBLE_AREA(0, 399, 0, 239)
MCFG_ATA_INTERFACE_ADD("ata", ata_devices, "hdd", nullptr, false) ATA_INTERFACE(config, m_ata).options(ata_devices, "hdd", nullptr, false);
MCFG_NVRAM_ADD_0FILL("nvram") MCFG_NVRAM_ADD_0FILL("nvram")
MACHINE_CONFIG_END MACHINE_CONFIG_END

View File

@ -1467,8 +1467,8 @@ MACHINE_CONFIG_START(zn_state::coh1000w)
MCFG_RAM_MODIFY("maincpu:ram") MCFG_RAM_MODIFY("maincpu:ram")
MCFG_RAM_DEFAULT_SIZE("8M") MCFG_RAM_DEFAULT_SIZE("8M")
MCFG_VT83C461_ADD("ide", ata_devices, "hdd", nullptr, true) VT83C461(config, m_vt83c461).options(ata_devices, "hdd", nullptr, true);
MCFG_ATA_INTERFACE_IRQ_HANDLER(WRITELINE("maincpu:irq", psxirq_device, intin10)) m_vt83c461->irq_handler().set("maincpu:irq", FUNC(psxirq_device::intin10));
MCFG_PSX_DMA_CHANNEL_READ( "maincpu", 5, psxdma_device::read_delegate(&zn_state::atpsx_dma_read, this ) ) MCFG_PSX_DMA_CHANNEL_READ( "maincpu", 5, psxdma_device::read_delegate(&zn_state::atpsx_dma_read, this ) )
MCFG_PSX_DMA_CHANNEL_WRITE( "maincpu", 5, psxdma_device::write_delegate(&zn_state::atpsx_dma_write, this ) ) MCFG_PSX_DMA_CHANNEL_WRITE( "maincpu", 5, psxdma_device::write_delegate(&zn_state::atpsx_dma_write, this ) )
MACHINE_CONFIG_END MACHINE_CONFIG_END
@ -2218,8 +2218,8 @@ MACHINE_CONFIG_START(zn_state::jdredd)
MCFG_DEVICE_MODIFY("gpu") MCFG_DEVICE_MODIFY("gpu")
MCFG_PSXGPU_VBLANK_CALLBACK(vblank_state_delegate(&zn_state::jdredd_vblank, this)) MCFG_PSXGPU_VBLANK_CALLBACK(vblank_state_delegate(&zn_state::jdredd_vblank, this))
MCFG_ATA_INTERFACE_ADD("ata", ata_devices, "hdd", nullptr, true) ata_interface_device &ata(ATA_INTERFACE(config, "ata").options(ata_devices, "hdd", nullptr, true));
MCFG_ATA_INTERFACE_IRQ_HANDLER(WRITELINE("maincpu:irq", psxirq_device, intin10)) ata.irq_handler().set("maincpu:irq", FUNC(psxirq_device::intin10));
MACHINE_CONFIG_END MACHINE_CONFIG_END
/* /*

View File

@ -180,7 +180,7 @@ private:
optional_device<midway_serial_pic_device> m_midway_serial_pic; optional_device<midway_serial_pic_device> m_midway_serial_pic;
optional_device<midway_serial_pic2_device> m_midway_serial_pic2; optional_device<midway_serial_pic2_device> m_midway_serial_pic2;
optional_device<midway_ioasic_device> m_midway_ioasic; optional_device<midway_ioasic_device> m_midway_ioasic;
optional_device<ata_interface_device> m_ata; // TODO(RH): This is horrible and midvplus should be split into its own device_driver that derives from midvunit. optional_device<ata_interface_device> m_ata;
required_device_array<timer_device, 2> m_timer; required_device_array<timer_device, 2> m_timer;
required_device<dcs_audio_device> m_dcs; required_device<dcs_audio_device> m_dcs;
required_shared_ptr<uint32_t> m_generic_paletteram_32; required_shared_ptr<uint32_t> m_generic_paletteram_32;

View File

@ -134,12 +134,12 @@ MACHINE_CONFIG_START(at_mb_device::device_add_mconfig)
MCFG_DEVICE_ADD("speaker", SPEAKER_SOUND) MCFG_DEVICE_ADD("speaker", SPEAKER_SOUND)
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.50) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.50)
MCFG_DEVICE_ADD("keybc", AT_KEYBOARD_CONTROLLER, 12_MHz_XTAL) at_keyboard_controller_device &keybc(AT_KEYBOARD_CONTROLLER(config, "keybc", 12_MHz_XTAL));
MCFG_AT_KEYBOARD_CONTROLLER_SYSTEM_RESET_CB(INPUTLINE(":maincpu", INPUT_LINE_RESET)) keybc.system_reset_cb().set_inputline(":maincpu", INPUT_LINE_RESET);
MCFG_AT_KEYBOARD_CONTROLLER_GATE_A20_CB(INPUTLINE(":maincpu", INPUT_LINE_A20)) keybc.gate_a20_cb().set_inputline(":maincpu", INPUT_LINE_A20);
MCFG_AT_KEYBOARD_CONTROLLER_INPUT_BUFFER_FULL_CB(WRITELINE("pic8259_master", pic8259_device, ir1_w)) keybc.input_buffer_full_cb().set("pic8259_master", FUNC(pic8259_device::ir1_w));
MCFG_AT_KEYBOARD_CONTROLLER_KEYBOARD_CLOCK_CB(WRITELINE("pc_kbdc", pc_kbdc_device, clock_write_from_mb)) keybc.keyboard_clock_cb().set("pc_kbdc", FUNC(pc_kbdc_device::clock_write_from_mb));
MCFG_AT_KEYBOARD_CONTROLLER_KEYBOARD_DATA_CB(WRITELINE("pc_kbdc", pc_kbdc_device, data_write_from_mb)) keybc.keyboard_data_cb().set("pc_kbdc", FUNC(pc_kbdc_device::data_write_from_mb));
MCFG_DEVICE_ADD("pc_kbdc", PC_KBDC, 0) MCFG_DEVICE_ADD("pc_kbdc", PC_KBDC, 0)
MCFG_PC_KBDC_OUT_CLOCK_CB(WRITELINE("keybc", at_keyboard_controller_device, keyboard_clock_w)) MCFG_PC_KBDC_OUT_CLOCK_CB(WRITELINE("keybc", at_keyboard_controller_device, keyboard_clock_w))
MCFG_PC_KBDC_OUT_DATA_CB(WRITELINE("keybc", at_keyboard_controller_device, keyboard_data_w)) MCFG_PC_KBDC_OUT_DATA_CB(WRITELINE("keybc", at_keyboard_controller_device, keyboard_data_w))

View File

@ -709,11 +709,12 @@ void mcpx_ide_device::device_reset()
pci_device::device_reset(); pci_device::device_reset();
} }
MACHINE_CONFIG_START(mcpx_ide_device::device_add_mconfig) void mcpx_ide_device::device_add_mconfig(machine_config &config)
MCFG_DEVICE_ADD("ide", BUS_MASTER_IDE_CONTROLLER, 0) {
MCFG_ATA_INTERFACE_IRQ_HANDLER(WRITELINE(*this, mcpx_ide_device, ide_interrupt)) bus_master_ide_controller_device &ide(BUS_MASTER_IDE_CONTROLLER(config, "ide", 0));
MCFG_BUS_MASTER_IDE_CONTROLLER_SPACE("maincpu", AS_PROGRAM) ide.irq_handler().set(FUNC(mcpx_ide_device::ide_interrupt));
MACHINE_CONFIG_END ide.set_bus_master_space("maincpu", AS_PROGRAM);
}
WRITE_LINE_MEMBER(mcpx_ide_device::ide_interrupt) WRITE_LINE_MEMBER(mcpx_ide_device::ide_interrupt)
{ {