diff options
Diffstat (limited to 'src/devices/bus/newbrain/fdc.cpp')
-rw-r--r-- | src/devices/bus/newbrain/fdc.cpp | 45 |
1 files changed, 22 insertions, 23 deletions
diff --git a/src/devices/bus/newbrain/fdc.cpp b/src/devices/bus/newbrain/fdc.cpp index 7cadbd0bddd..597def0509b 100644 --- a/src/devices/bus/newbrain/fdc.cpp +++ b/src/devices/bus/newbrain/fdc.cpp @@ -104,22 +104,21 @@ static void newbrain_floppies(device_slot_interface &device) // device_add_mconfig - add device configuration //------------------------------------------------- -void newbrain_fdc_device::device_add_mconfig(machine_config &config) -{ - Z80(config, m_maincpu, XTAL(4'000'000)); - m_maincpu->set_addrmap(AS_PROGRAM, &newbrain_fdc_device::newbrain_fdc_mem); - m_maincpu->set_addrmap(AS_IO, &newbrain_fdc_device::newbrain_fdc_io); +MACHINE_CONFIG_START(newbrain_fdc_device::device_add_mconfig) + MCFG_DEVICE_ADD(Z80_TAG, Z80, XTAL(4'000'000)) + MCFG_DEVICE_PROGRAM_MAP(newbrain_fdc_mem) + MCFG_DEVICE_IO_MAP(newbrain_fdc_io) UPD765A(config, m_fdc, 8'000'000, false, true); m_fdc->intrq_wr_callback().set(FUNC(newbrain_fdc_device::fdc_int_w)); - FLOPPY_CONNECTOR(config, UPD765_TAG ":0", newbrain_floppies, "525dd", floppy_image_device::default_floppy_formats); - FLOPPY_CONNECTOR(config, UPD765_TAG ":1", newbrain_floppies, "525dd", floppy_image_device::default_floppy_formats); - FLOPPY_CONNECTOR(config, UPD765_TAG ":2", newbrain_floppies, nullptr, floppy_image_device::default_floppy_formats); - FLOPPY_CONNECTOR(config, UPD765_TAG ":3", newbrain_floppies, nullptr, floppy_image_device::default_floppy_formats); + MCFG_FLOPPY_DRIVE_ADD(UPD765_TAG ":0", newbrain_floppies, "525dd", floppy_image_device::default_floppy_formats) + MCFG_FLOPPY_DRIVE_ADD(UPD765_TAG ":1", newbrain_floppies, "525dd", floppy_image_device::default_floppy_formats) + MCFG_FLOPPY_DRIVE_ADD(UPD765_TAG ":2", newbrain_floppies, nullptr, floppy_image_device::default_floppy_formats) + MCFG_FLOPPY_DRIVE_ADD(UPD765_TAG ":3", newbrain_floppies, nullptr, floppy_image_device::default_floppy_formats) - NEWBRAIN_EXPANSION_SLOT(config, m_exp, XTAL(16'000'000)/8, newbrain_expansion_cards, nullptr); -} + MCFG_NEWBRAIN_EXPANSION_SLOT_ADD(NEWBRAIN_EXPANSION_SLOT_TAG, XTAL(16'000'000)/8, newbrain_expansion_cards, nullptr) +MACHINE_CONFIG_END //************************************************************************** @@ -177,9 +176,9 @@ void newbrain_fdc_device::device_reset() // mreq_r - memory request read //------------------------------------------------- -uint8_t newbrain_fdc_device::mreq_r(offs_t offset, uint8_t data, bool &romov, int &exrm, bool &raminh) +uint8_t newbrain_fdc_device::mreq_r(address_space &space, offs_t offset, uint8_t data, bool &romov, int &exrm, bool &raminh) { - return m_exp->mreq_r(offset, data, romov, exrm, raminh); + return m_exp->mreq_r(space, offset, data, romov, exrm, raminh); } @@ -187,9 +186,9 @@ uint8_t newbrain_fdc_device::mreq_r(offs_t offset, uint8_t data, bool &romov, in // mreq_w - memory request write //------------------------------------------------- -void newbrain_fdc_device::mreq_w(offs_t offset, uint8_t data, bool &romov, int &exrm, bool &raminh) +void newbrain_fdc_device::mreq_w(address_space &space, offs_t offset, uint8_t data, bool &romov, int &exrm, bool &raminh) { - m_exp->mreq_w(offset, data, romov, exrm, raminh); + m_exp->mreq_w(space, offset, data, romov, exrm, raminh); } @@ -197,9 +196,9 @@ void newbrain_fdc_device::mreq_w(offs_t offset, uint8_t data, bool &romov, int & // iorq_r - I/O request read //------------------------------------------------- -uint8_t newbrain_fdc_device::iorq_r(offs_t offset, uint8_t data, bool &prtov) +uint8_t newbrain_fdc_device::iorq_r(address_space &space, offs_t offset, uint8_t data, bool &prtov) { - return m_exp->iorq_r(offset, data, prtov); + return m_exp->iorq_r(space, offset, data, prtov); } @@ -207,13 +206,13 @@ uint8_t newbrain_fdc_device::iorq_r(offs_t offset, uint8_t data, bool &prtov) // iorq_w - I/O request write //------------------------------------------------- -void newbrain_fdc_device::iorq_w(offs_t offset, uint8_t data, bool &prtov) +void newbrain_fdc_device::iorq_w(address_space &space, offs_t offset, uint8_t data, bool &prtov) { - m_exp->iorq_w(offset, data, prtov); + m_exp->iorq_w(space, offset, data, prtov); if ((offset & 0x20f) == 0x20f) { - io_dec_w(data); + io_dec_w(space, 0, data); } } @@ -245,7 +244,7 @@ WRITE_LINE_MEMBER( newbrain_fdc_device::fdc_int_w ) // fdc_auxiliary_w - //------------------------------------------------- -void newbrain_fdc_device::fdc_auxiliary_w(uint8_t data) +WRITE8_MEMBER( newbrain_fdc_device::fdc_auxiliary_w ) { /* @@ -279,7 +278,7 @@ void newbrain_fdc_device::fdc_auxiliary_w(uint8_t data) // fdc_control_r - //------------------------------------------------- -uint8_t newbrain_fdc_device::fdc_control_r() +READ8_MEMBER( newbrain_fdc_device::fdc_control_r ) { /* @@ -304,7 +303,7 @@ uint8_t newbrain_fdc_device::fdc_control_r() // io_dec_w - 0x20f //------------------------------------------------- -void newbrain_fdc_device::io_dec_w(uint8_t data) +WRITE8_MEMBER( newbrain_fdc_device::io_dec_w ) { /* |