mirror of
https://github.com/holub/mame
synced 2025-10-05 16:50:57 +03:00
bus/isa: Preparation for supporting DACK handshake line (nw)
This commit is contained in:
parent
d682a3c569
commit
cfe9e4e854
@ -72,6 +72,11 @@ void isa8_fdc_device::dack_w(int line, uint8_t data)
|
|||||||
return m_fdc->dma_w(data);
|
return m_fdc->dma_w(data);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void isa8_fdc_device::dack_line_w(int line, int state)
|
||||||
|
{
|
||||||
|
//m_fdc->dack_w(state);
|
||||||
|
}
|
||||||
|
|
||||||
void isa8_fdc_device::eop_w(int state)
|
void isa8_fdc_device::eop_w(int state)
|
||||||
{
|
{
|
||||||
m_fdc->tc_w(state == ASSERT_LINE);
|
m_fdc->tc_w(state == ASSERT_LINE);
|
||||||
|
@ -40,6 +40,7 @@ protected:
|
|||||||
|
|
||||||
virtual uint8_t dack_r(int line) override;
|
virtual uint8_t dack_r(int line) override;
|
||||||
virtual void dack_w(int line, uint8_t data) override;
|
virtual void dack_w(int line, uint8_t data) override;
|
||||||
|
virtual void dack_line_w(int line, int state) override;
|
||||||
virtual void eop_w(int state) override;
|
virtual void eop_w(int state) override;
|
||||||
|
|
||||||
required_device<pc_fdc_interface> m_fdc;
|
required_device<pc_fdc_interface> m_fdc;
|
||||||
|
@ -378,12 +378,18 @@ uint8_t isa8_device::dack_r(int line)
|
|||||||
return 0xff;
|
return 0xff;
|
||||||
}
|
}
|
||||||
|
|
||||||
void isa8_device::dack_w(int line,uint8_t data)
|
void isa8_device::dack_w(int line, uint8_t data)
|
||||||
{
|
{
|
||||||
if (m_dma_device[line])
|
if (m_dma_device[line])
|
||||||
return m_dma_device[line]->dack_w(line,data);
|
return m_dma_device[line]->dack_w(line,data);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void isa8_device::dack_line_w(int line, int state)
|
||||||
|
{
|
||||||
|
if (m_dma_device[line])
|
||||||
|
m_dma_device[line]->dack_line_w(line, state);
|
||||||
|
}
|
||||||
|
|
||||||
void isa8_device::eop_w(int channel, int state)
|
void isa8_device::eop_w(int channel, int state)
|
||||||
{
|
{
|
||||||
if (m_dma_eop[channel] && m_dma_device[channel])
|
if (m_dma_eop[channel] && m_dma_device[channel])
|
||||||
@ -438,9 +444,15 @@ uint8_t device_isa8_card_interface::dack_r(int line)
|
|||||||
{
|
{
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
void device_isa8_card_interface::dack_w(int line,uint8_t data)
|
|
||||||
|
void device_isa8_card_interface::dack_w(int line, uint8_t data)
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void device_isa8_card_interface::dack_line_w(int line, int state)
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
void device_isa8_card_interface::eop_w(int state)
|
void device_isa8_card_interface::eop_w(int state)
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
@ -593,7 +605,7 @@ uint16_t isa16_device::dack16_r(int line)
|
|||||||
return 0xffff;
|
return 0xffff;
|
||||||
}
|
}
|
||||||
|
|
||||||
void isa16_device::dack16_w(int line,uint16_t data)
|
void isa16_device::dack16_w(int line, uint16_t data)
|
||||||
{
|
{
|
||||||
if (m_dma_device[line])
|
if (m_dma_device[line])
|
||||||
return dynamic_cast<device_isa16_card_interface *>(m_dma_device[line])->dack16_w(line,data);
|
return dynamic_cast<device_isa16_card_interface *>(m_dma_device[line])->dack16_w(line,data);
|
||||||
@ -647,6 +659,6 @@ uint16_t device_isa16_card_interface::dack16_r(int line)
|
|||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
void device_isa16_card_interface::dack16_w(int line,uint16_t data)
|
void device_isa16_card_interface::dack16_w(int line, uint16_t data)
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
@ -176,7 +176,8 @@ public:
|
|||||||
DECLARE_WRITE8_MEMBER(io_w);
|
DECLARE_WRITE8_MEMBER(io_w);
|
||||||
|
|
||||||
uint8_t dack_r(int line);
|
uint8_t dack_r(int line);
|
||||||
void dack_w(int line,uint8_t data);
|
void dack_w(int line, uint8_t data);
|
||||||
|
void dack_line_w(int line, int state);
|
||||||
void eop_w(int channels, int state);
|
void eop_w(int channels, int state);
|
||||||
|
|
||||||
void nmi();
|
void nmi();
|
||||||
@ -246,7 +247,8 @@ public:
|
|||||||
void set_isa_device();
|
void set_isa_device();
|
||||||
// configuration access
|
// configuration access
|
||||||
virtual uint8_t dack_r(int line);
|
virtual uint8_t dack_r(int line);
|
||||||
virtual void dack_w(int line,uint8_t data);
|
virtual void dack_w(int line, uint8_t data);
|
||||||
|
virtual void dack_line_w(int line, int state);
|
||||||
virtual void eop_w(int state);
|
virtual void eop_w(int state);
|
||||||
|
|
||||||
virtual void remap(int space_id, offs_t start, offs_t end) {}
|
virtual void remap(int space_id, offs_t start, offs_t end) {}
|
||||||
@ -325,7 +327,7 @@ public:
|
|||||||
DECLARE_WRITE_LINE_MEMBER( drq7_w );
|
DECLARE_WRITE_LINE_MEMBER( drq7_w );
|
||||||
|
|
||||||
uint16_t dack16_r(int line);
|
uint16_t dack16_r(int line);
|
||||||
void dack16_w(int line,uint16_t data);
|
void dack16_w(int line, uint16_t data);
|
||||||
virtual void remap(int space_id, offs_t start, offs_t end) override;
|
virtual void remap(int space_id, offs_t start, offs_t end) override;
|
||||||
|
|
||||||
// 16 bit accessors for ISA-defined address spaces
|
// 16 bit accessors for ISA-defined address spaces
|
||||||
@ -370,7 +372,7 @@ public:
|
|||||||
// construction/destruction
|
// construction/destruction
|
||||||
virtual ~device_isa16_card_interface();
|
virtual ~device_isa16_card_interface();
|
||||||
virtual uint16_t dack16_r(int line);
|
virtual uint16_t dack16_r(int line);
|
||||||
virtual void dack16_w(int line,uint16_t data);
|
virtual void dack16_w(int line, uint16_t data);
|
||||||
|
|
||||||
void set_isa_device();
|
void set_isa_device();
|
||||||
|
|
||||||
|
@ -195,6 +195,11 @@ void mufdc_device::dack_w(int line, uint8_t data)
|
|||||||
return m_fdc->dma_w(data);
|
return m_fdc->dma_w(data);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void mufdc_device::dack_line_w(int line, int state)
|
||||||
|
{
|
||||||
|
//m_fdc->dack_w(state);
|
||||||
|
}
|
||||||
|
|
||||||
void mufdc_device::eop_w(int state)
|
void mufdc_device::eop_w(int state)
|
||||||
{
|
{
|
||||||
m_fdc->tc_w(state == ASSERT_LINE);
|
m_fdc->tc_w(state == ASSERT_LINE);
|
||||||
|
@ -47,6 +47,7 @@ protected:
|
|||||||
// device_isa8_card_interface
|
// device_isa8_card_interface
|
||||||
virtual uint8_t dack_r(int line) override;
|
virtual uint8_t dack_r(int line) override;
|
||||||
virtual void dack_w(int line, uint8_t data) override;
|
virtual void dack_w(int line, uint8_t data) override;
|
||||||
|
virtual void dack_line_w(int line, int state) override;
|
||||||
virtual void eop_w(int state) override;
|
virtual void eop_w(int state) override;
|
||||||
|
|
||||||
private:
|
private:
|
||||||
|
@ -1285,6 +1285,11 @@ void omti8621_device::dack_w(int line, uint8_t data)
|
|||||||
return m_fdc->dma_w(data);
|
return m_fdc->dma_w(data);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void omti8621_device::dack_line_w(int line, int state)
|
||||||
|
{
|
||||||
|
//m_fdc->dack_w(state);
|
||||||
|
}
|
||||||
|
|
||||||
void omti8621_device::eop_w(int state)
|
void omti8621_device::eop_w(int state)
|
||||||
{
|
{
|
||||||
m_fdc->tc_w(state == ASSERT_LINE);
|
m_fdc->tc_w(state == ASSERT_LINE);
|
||||||
|
@ -56,6 +56,7 @@ protected:
|
|||||||
|
|
||||||
virtual uint8_t dack_r(int line) override;
|
virtual uint8_t dack_r(int line) override;
|
||||||
virtual void dack_w(int line, uint8_t data) override;
|
virtual void dack_w(int line, uint8_t data) override;
|
||||||
|
virtual void dack_line_w(int line, int state) override;
|
||||||
virtual void eop_w(int state) override;
|
virtual void eop_w(int state) override;
|
||||||
|
|
||||||
void set_interrupt(enum line_state line_state);
|
void set_interrupt(enum line_state line_state);
|
||||||
|
@ -236,6 +236,16 @@ void wdxt_gen_device::dack_w(int line, uint8_t data)
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
//-------------------------------------------------
|
||||||
|
// dack_line_w -
|
||||||
|
//-------------------------------------------------
|
||||||
|
|
||||||
|
void wdxt_gen_device::dack_line_w(int line, int state)
|
||||||
|
{
|
||||||
|
m_host->dack3_w(state);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
//-------------------------------------------------
|
//-------------------------------------------------
|
||||||
// wd1015_t1_r -
|
// wd1015_t1_r -
|
||||||
//-------------------------------------------------
|
//-------------------------------------------------
|
||||||
|
@ -52,6 +52,7 @@ protected:
|
|||||||
// device_isa8_card_interface
|
// device_isa8_card_interface
|
||||||
virtual uint8_t dack_r(int line) override;
|
virtual uint8_t dack_r(int line) override;
|
||||||
virtual void dack_w(int line, uint8_t data) override;
|
virtual void dack_w(int line, uint8_t data) override;
|
||||||
|
virtual void dack_line_w(int line, int state) override;
|
||||||
|
|
||||||
private:
|
private:
|
||||||
DECLARE_WRITE_LINE_MEMBER( irq5_w );
|
DECLARE_WRITE_LINE_MEMBER( irq5_w );
|
||||||
|
@ -300,6 +300,15 @@ WRITE8_MEMBER( wd11c00_17_device::io_w )
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
//-------------------------------------------------
|
||||||
|
// dack3_w -
|
||||||
|
//-------------------------------------------------
|
||||||
|
|
||||||
|
WRITE_LINE_MEMBER(wd11c00_17_device::dack3_w)
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
//-------------------------------------------------
|
//-------------------------------------------------
|
||||||
// dack_r -
|
// dack_r -
|
||||||
//-------------------------------------------------
|
//-------------------------------------------------
|
||||||
|
@ -39,6 +39,7 @@ public:
|
|||||||
DECLARE_READ8_MEMBER( io_r );
|
DECLARE_READ8_MEMBER( io_r );
|
||||||
DECLARE_WRITE8_MEMBER( io_w );
|
DECLARE_WRITE8_MEMBER( io_w );
|
||||||
|
|
||||||
|
DECLARE_WRITE_LINE_MEMBER( dack3_w );
|
||||||
uint8_t dack_r();
|
uint8_t dack_r();
|
||||||
void dack_w(uint8_t data);
|
void dack_w(uint8_t data);
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user