mirror of
https://github.com/holub/mame
synced 2025-07-04 17:38:08 +03:00
pc_fdc: removed MCFG macros (nw)
This commit is contained in:
parent
9b35e2a294
commit
00391d6124
@ -38,14 +38,14 @@ static void pc_hd_floppies(device_slot_interface &device)
|
||||
isa8_fdc_device::isa8_fdc_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock) :
|
||||
device_t(mconfig, type, tag, owner, clock),
|
||||
device_isa8_card_interface(mconfig, *this),
|
||||
fdc(*this, "fdc")
|
||||
m_fdc(*this, "fdc")
|
||||
{
|
||||
}
|
||||
|
||||
void isa8_fdc_device::device_start()
|
||||
{
|
||||
set_isa_device();
|
||||
m_isa->install_device(0x03f0, 0x03f7, *fdc, &pc_fdc_interface::map);
|
||||
m_isa->install_device(0x03f0, 0x03f7, *m_fdc, &pc_fdc_interface::map);
|
||||
m_isa->set_dma_channel(2, this, true);
|
||||
}
|
||||
|
||||
@ -65,17 +65,17 @@ WRITE_LINE_MEMBER( isa8_fdc_device::drq_w )
|
||||
|
||||
uint8_t isa8_fdc_device::dack_r(int line)
|
||||
{
|
||||
return fdc->dma_r();
|
||||
return m_fdc->dma_r();
|
||||
}
|
||||
|
||||
void isa8_fdc_device::dack_w(int line, uint8_t data)
|
||||
{
|
||||
return fdc->dma_w(data);
|
||||
return m_fdc->dma_w(data);
|
||||
}
|
||||
|
||||
void isa8_fdc_device::eop_w(int state)
|
||||
{
|
||||
fdc->tc_w(state == ASSERT_LINE);
|
||||
m_fdc->tc_w(state == ASSERT_LINE);
|
||||
}
|
||||
|
||||
|
||||
@ -83,26 +83,28 @@ isa8_fdc_xt_device::isa8_fdc_xt_device(const machine_config &mconfig, const char
|
||||
{
|
||||
}
|
||||
|
||||
MACHINE_CONFIG_START(isa8_fdc_xt_device::device_add_mconfig)
|
||||
MCFG_PC_FDC_XT_ADD("fdc")
|
||||
MCFG_PC_FDC_INTRQ_CALLBACK(WRITELINE(*this, isa8_fdc_device, irq_w))
|
||||
MCFG_PC_FDC_DRQ_CALLBACK(WRITELINE(*this, isa8_fdc_device, drq_w))
|
||||
MCFG_FLOPPY_DRIVE_ADD("fdc:0", pc_dd_floppies, "525dd", isa8_fdc_device::floppy_formats)
|
||||
MCFG_FLOPPY_DRIVE_ADD("fdc:1", pc_dd_floppies, "525dd", isa8_fdc_device::floppy_formats)
|
||||
MACHINE_CONFIG_END
|
||||
void isa8_fdc_xt_device::device_add_mconfig(machine_config &config)
|
||||
{
|
||||
pc_fdc_xt_device &pc_fdc_xt(PC_FDC_XT(config, m_fdc, 0));
|
||||
pc_fdc_xt.intrq_wr_callback().set(FUNC(isa8_fdc_device::irq_w));
|
||||
pc_fdc_xt.drq_wr_callback().set(FUNC(isa8_fdc_device::drq_w));
|
||||
FLOPPY_CONNECTOR(config, "fdc:0", pc_dd_floppies, "525dd", isa8_fdc_device::floppy_formats);
|
||||
FLOPPY_CONNECTOR(config, "fdc:1", pc_dd_floppies, "525dd", isa8_fdc_device::floppy_formats);
|
||||
}
|
||||
|
||||
|
||||
isa8_fdc_at_device::isa8_fdc_at_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) : isa8_fdc_device(mconfig, ISA8_FDC_AT, tag, owner, clock)
|
||||
{
|
||||
}
|
||||
|
||||
MACHINE_CONFIG_START(isa8_fdc_at_device::device_add_mconfig)
|
||||
MCFG_PC_FDC_AT_ADD("fdc")
|
||||
MCFG_PC_FDC_INTRQ_CALLBACK(WRITELINE(*this, isa8_fdc_device, irq_w))
|
||||
MCFG_PC_FDC_DRQ_CALLBACK(WRITELINE(*this, isa8_fdc_device, drq_w))
|
||||
MCFG_FLOPPY_DRIVE_ADD("fdc:0", pc_hd_floppies, "35hd", isa8_fdc_device::floppy_formats)
|
||||
MCFG_FLOPPY_DRIVE_ADD("fdc:1", pc_hd_floppies, "35hd", isa8_fdc_device::floppy_formats)
|
||||
MACHINE_CONFIG_END
|
||||
void isa8_fdc_at_device::device_add_mconfig(machine_config &config)
|
||||
{
|
||||
pc_fdc_at_device &pc_fdc_at(PC_FDC_AT(config, m_fdc, 0));
|
||||
pc_fdc_at.intrq_wr_callback().set(FUNC(isa8_fdc_device::irq_w));
|
||||
pc_fdc_at.drq_wr_callback().set(FUNC(isa8_fdc_device::drq_w));
|
||||
FLOPPY_CONNECTOR(config, "fdc:0", pc_hd_floppies, "35hd", isa8_fdc_device::floppy_formats);
|
||||
FLOPPY_CONNECTOR(config, "fdc:1", pc_hd_floppies, "35hd", isa8_fdc_device::floppy_formats);
|
||||
}
|
||||
|
||||
isa8_fdc_smc_device::isa8_fdc_smc_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) : isa8_fdc_device(mconfig, ISA8_FDC_SMC, tag, owner, clock)
|
||||
{
|
||||
@ -110,7 +112,7 @@ isa8_fdc_smc_device::isa8_fdc_smc_device(const machine_config &mconfig, const ch
|
||||
|
||||
void isa8_fdc_smc_device::device_add_mconfig(machine_config &config)
|
||||
{
|
||||
smc37c78_device &smc(SMC37C78(config, fdc));
|
||||
smc37c78_device &smc(SMC37C78(config, m_fdc));
|
||||
smc.intrq_wr_callback().set(FUNC(isa8_fdc_device::irq_w));
|
||||
smc.drq_wr_callback().set(FUNC(isa8_fdc_device::drq_w));
|
||||
FLOPPY_CONNECTOR(config, "fdc:0", pc_hd_floppies, "35hd", isa8_fdc_device::floppy_formats);
|
||||
@ -123,7 +125,7 @@ isa8_fdc_ps2_device::isa8_fdc_ps2_device(const machine_config &mconfig, const ch
|
||||
|
||||
void isa8_fdc_ps2_device::device_add_mconfig(machine_config &config)
|
||||
{
|
||||
n82077aa_device &n82077aa(N82077AA(config, fdc, n82077aa_device::MODE_PS2));
|
||||
n82077aa_device &n82077aa(N82077AA(config, m_fdc, n82077aa_device::MODE_PS2));
|
||||
n82077aa.intrq_wr_callback().set(FUNC(isa8_fdc_device::irq_w));
|
||||
n82077aa.drq_wr_callback().set(FUNC(isa8_fdc_device::drq_w));
|
||||
FLOPPY_CONNECTOR(config, "fdc:0", pc_hd_floppies, "35hd", isa8_fdc_device::floppy_formats);
|
||||
@ -136,7 +138,7 @@ isa8_fdc_superio_device::isa8_fdc_superio_device(const machine_config &mconfig,
|
||||
|
||||
void isa8_fdc_superio_device::device_add_mconfig(machine_config &config)
|
||||
{
|
||||
pc_fdc_superio_device &superio(PC_FDC_SUPERIO(config, fdc));
|
||||
pc_fdc_superio_device &superio(PC_FDC_SUPERIO(config, m_fdc));
|
||||
superio.intrq_wr_callback().set(FUNC(isa8_fdc_device::irq_w));
|
||||
superio.drq_wr_callback().set(FUNC(isa8_fdc_device::drq_w));
|
||||
FLOPPY_CONNECTOR(config, "fdc:0", pc_hd_floppies, "35hd", isa8_fdc_device::floppy_formats);
|
||||
@ -160,15 +162,17 @@ WRITE_LINE_MEMBER( isa8_ec1841_0003_device::aux_irq_w )
|
||||
m_isa->irq4_w(state ? ASSERT_LINE : CLEAR_LINE);
|
||||
}
|
||||
|
||||
MACHINE_CONFIG_START( isa8_ec1841_0003_device::device_add_mconfig )
|
||||
MCFG_PC_FDC_XT_ADD("fdc")
|
||||
MCFG_PC_FDC_INTRQ_CALLBACK(WRITELINE(*this, isa8_fdc_device, irq_w))
|
||||
MCFG_PC_FDC_DRQ_CALLBACK(WRITELINE(*this, isa8_fdc_device, drq_w))
|
||||
MCFG_FLOPPY_DRIVE_ADD("fdc:0", pc_dd_floppies, "525dd", isa8_fdc_device::floppy_formats)
|
||||
MCFG_FLOPPY_DRIVE_ADD("fdc:1", pc_dd_floppies, "525dd", isa8_fdc_device::floppy_formats)
|
||||
void isa8_ec1841_0003_device::device_add_mconfig(machine_config &config)
|
||||
{
|
||||
pc_fdc_xt_device &pc_fdc_xt(PC_FDC_XT(config, m_fdc, 0));
|
||||
pc_fdc_xt.intrq_wr_callback().set(FUNC(isa8_fdc_device::irq_w));
|
||||
pc_fdc_xt.drq_wr_callback().set(FUNC(isa8_fdc_device::drq_w));
|
||||
FLOPPY_CONNECTOR(config, "fdc:0", pc_dd_floppies, "525dd", isa8_fdc_device::floppy_formats);
|
||||
FLOPPY_CONNECTOR(config, "fdc:1", pc_dd_floppies, "525dd", isa8_fdc_device::floppy_formats);
|
||||
|
||||
BUS_MOUSE(config, "bus_mouse", 0).extint_callback().set(FUNC(isa8_ec1841_0003_device::aux_irq_w));
|
||||
MACHINE_CONFIG_END
|
||||
}
|
||||
|
||||
|
||||
DEFINE_DEVICE_TYPE(ISA8_FDC_XT, isa8_fdc_xt_device, "isa8_fdc_xt", "ISA 8bits XT FDC hookup")
|
||||
DEFINE_DEVICE_TYPE(ISA8_FDC_AT, isa8_fdc_at_device, "isa8_fdc_at", "ISA 8bits AT FDC hookup")
|
||||
|
@ -41,7 +41,7 @@ protected:
|
||||
virtual void dack_w(int line, uint8_t data) override;
|
||||
virtual void eop_w(int state) override;
|
||||
|
||||
required_device<pc_fdc_interface> fdc;
|
||||
required_device<pc_fdc_interface> m_fdc;
|
||||
};
|
||||
|
||||
class isa8_fdc_xt_device : public isa8_fdc_device {
|
||||
|
@ -243,17 +243,18 @@ static INPUT_PORTS_START( omti_port )
|
||||
PORT_DIPSETTING( 0x01, "CA000h" )
|
||||
INPUT_PORTS_END
|
||||
|
||||
MACHINE_CONFIG_START(omti8621_device::device_add_mconfig)
|
||||
MCFG_DEVICE_ADD(OMTI_DISK0_TAG, OMTI_DISK, 0)
|
||||
MCFG_DEVICE_ADD(OMTI_DISK1_TAG, OMTI_DISK, 0)
|
||||
void omti8621_device::device_add_mconfig(machine_config &config)
|
||||
{
|
||||
OMTI_DISK(config, OMTI_DISK0_TAG, 0);
|
||||
OMTI_DISK(config, OMTI_DISK1_TAG, 0);
|
||||
|
||||
MCFG_PC_FDC_AT_ADD(OMTI_FDC_TAG)
|
||||
MCFG_PC_FDC_INTRQ_CALLBACK(WRITELINE(*this, omti8621_device, fdc_irq_w))
|
||||
MCFG_PC_FDC_DRQ_CALLBACK(WRITELINE(*this, omti8621_device, fdc_drq_w))
|
||||
MCFG_FLOPPY_DRIVE_ADD(OMTI_FDC_TAG":0", pc_hd_floppies, "525hd", omti8621_device::floppy_formats)
|
||||
pc_fdc_at_device &pc_fdc_at(PC_FDC_AT(config, m_fdc, 0));
|
||||
pc_fdc_at.intrq_wr_callback().set(FUNC(omti8621_device::fdc_irq_w));
|
||||
pc_fdc_at.drq_wr_callback().set(FUNC(omti8621_device::fdc_drq_w));
|
||||
FLOPPY_CONNECTOR(config, OMTI_FDC_TAG":0", pc_hd_floppies, "525hd", omti8621_device::floppy_formats);
|
||||
// Apollo workstations never have more then 1 floppy drive
|
||||
// MCFG_FLOPPY_DRIVE_ADD(OMTI_FDC_TAG":1", pc_hd_floppies, "525hd", omti8621_device::floppy_formats)
|
||||
MACHINE_CONFIG_END
|
||||
// FLOPPY_CONNECTOR(config, OMTI_FDC_TAG":1", pc_hd_floppies, "525hd", omti8621_device::floppy_formats);
|
||||
}
|
||||
|
||||
const tiny_rom_entry *omti8621_device::device_rom_region() const
|
||||
{
|
||||
|
@ -13,22 +13,11 @@
|
||||
|
||||
#include "machine/upd765.h"
|
||||
|
||||
#define MCFG_PC_FDC_XT_ADD(_tag) \
|
||||
MCFG_DEVICE_ADD(_tag, PC_FDC_XT, 0)
|
||||
|
||||
#define MCFG_PC_FDC_AT_ADD(_tag) \
|
||||
MCFG_DEVICE_ADD(_tag, PC_FDC_AT, 0)
|
||||
|
||||
#define MCFG_PC_FDC_INTRQ_CALLBACK(_write) \
|
||||
downcast<pc_fdc_family_device &>(*device).set_intrq_wr_callback(DEVCB_##_write);
|
||||
|
||||
#define MCFG_PC_FDC_DRQ_CALLBACK(_write) \
|
||||
downcast<pc_fdc_family_device &>(*device).set_drq_wr_callback(DEVCB_##_write);
|
||||
|
||||
class pc_fdc_family_device : public pc_fdc_interface {
|
||||
public:
|
||||
template <class Object> devcb_base &set_intrq_wr_callback(Object &&cb) { return intrq_cb.set_callback(std::forward<Object>(cb)); }
|
||||
template <class Object> devcb_base &set_drq_wr_callback(Object &&cb) { return drq_cb.set_callback(std::forward<Object>(cb)); }
|
||||
auto intrq_wr_callback() { return intrq_cb.bind(); }
|
||||
auto drq_wr_callback() { return drq_cb.bind(); }
|
||||
|
||||
virtual void map(address_map &map) override;
|
||||
|
||||
|
@ -120,8 +120,8 @@ MACHINE_CONFIG_START(asst128_state::asst128)
|
||||
|
||||
MCFG_PC_KBDC_SLOT_ADD("mb:pc_kbdc", "kbd", pc_xt_keyboards, STR_KBD_IBM_PC_XT_83)
|
||||
|
||||
MCFG_PC_FDC_XT_ADD("fdc")
|
||||
MCFG_PC_FDC_INTRQ_CALLBACK(WRITELINE("mb:pic8259", pic8259_device, ir6_w))
|
||||
PC_FDC_XT(config, m_fdc, 0);
|
||||
m_fdc->intrq_wr_callback().set("mb:pic8259", FUNC(pic8259_device::ir6_w));
|
||||
MCFG_FLOPPY_DRIVE_ADD("fdc:0", asst128_floppies, "525ssqd", asst128_state::asst128_formats)
|
||||
MCFG_FLOPPY_DRIVE_ADD("fdc:1", asst128_floppies, "525ssqd", asst128_state::asst128_formats)
|
||||
|
||||
|
@ -1210,9 +1210,9 @@ MACHINE_CONFIG_START(pc1512_state::pc1512)
|
||||
MC146818(config, m_rtc, 32.768_kHz_XTAL);
|
||||
m_rtc->irq().set(m_pic, FUNC(pic8259_device::ir2_w));
|
||||
|
||||
MCFG_PC_FDC_XT_ADD(PC_FDC_XT_TAG)
|
||||
MCFG_PC_FDC_INTRQ_CALLBACK(WRITELINE(*this, pc1512_state, fdc_int_w))
|
||||
MCFG_PC_FDC_DRQ_CALLBACK(WRITELINE(*this, pc1512_state, fdc_drq_w))
|
||||
PC_FDC_XT(config, m_fdc, 0);
|
||||
m_fdc->intrq_wr_callback().set(FUNC(pc1512_state::fdc_int_w));
|
||||
m_fdc->drq_wr_callback().set(FUNC(pc1512_state::fdc_drq_w));
|
||||
MCFG_FLOPPY_DRIVE_ADD(PC_FDC_XT_TAG ":0", pc1512_floppies, "525dd", pc1512_base_state::floppy_formats)
|
||||
MCFG_FLOPPY_DRIVE_ADD(PC_FDC_XT_TAG ":1", pc1512_floppies, nullptr, pc1512_base_state::floppy_formats)
|
||||
|
||||
@ -1341,9 +1341,9 @@ MACHINE_CONFIG_START(pc1640_state::pc1640)
|
||||
MC146818(config, m_rtc, 32.768_kHz_XTAL);
|
||||
m_rtc->irq().set(m_pic, FUNC(pic8259_device::ir2_w));
|
||||
|
||||
MCFG_PC_FDC_XT_ADD(PC_FDC_XT_TAG)
|
||||
MCFG_PC_FDC_INTRQ_CALLBACK(WRITELINE(*this, pc1512_base_state, fdc_int_w))
|
||||
MCFG_PC_FDC_DRQ_CALLBACK(WRITELINE(*this, pc1512_base_state, fdc_drq_w))
|
||||
PC_FDC_XT(config, m_fdc, 0);
|
||||
m_fdc->intrq_wr_callback().set(FUNC(pc1512_base_state::fdc_int_w));
|
||||
m_fdc->drq_wr_callback().set(FUNC(pc1512_base_state::fdc_drq_w));
|
||||
MCFG_FLOPPY_DRIVE_ADD(PC_FDC_XT_TAG ":0", pc1512_floppies, "525dd", pc1512_base_state::floppy_formats)
|
||||
MCFG_FLOPPY_DRIVE_ADD(PC_FDC_XT_TAG ":1", pc1512_floppies, nullptr, pc1512_base_state::floppy_formats)
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user