mirror of
https://github.com/holub/mame
synced 2025-06-02 02:49:44 +03:00
added atn to scsicb for completeness & renamed reset line to rst. (nw)
This commit is contained in:
parent
3f6fbc58ef
commit
6dfaac0c3a
@ -168,14 +168,15 @@ UINT8 scsibus_device::get_scsi_line(UINT8 lineno)
|
|||||||
|
|
||||||
switch (lineno)
|
switch (lineno)
|
||||||
{
|
{
|
||||||
case SCSI_LINE_SEL: result=(linestate & (1<<SCSI_LINE_SEL)) >> SCSI_LINE_SEL; break;
|
|
||||||
case SCSI_LINE_BSY: result=(linestate & (1<<SCSI_LINE_BSY)) >> SCSI_LINE_BSY; break;
|
case SCSI_LINE_BSY: result=(linestate & (1<<SCSI_LINE_BSY)) >> SCSI_LINE_BSY; break;
|
||||||
case SCSI_LINE_REQ: result=(linestate & (1<<SCSI_LINE_REQ)) >> SCSI_LINE_REQ; break;
|
case SCSI_LINE_SEL: result=(linestate & (1<<SCSI_LINE_SEL)) >> SCSI_LINE_SEL; break;
|
||||||
case SCSI_LINE_ACK: result=(linestate & (1<<SCSI_LINE_ACK)) >> SCSI_LINE_ACK; break;
|
|
||||||
case SCSI_LINE_CD: result=(linestate & (1<<SCSI_LINE_CD )) >> SCSI_LINE_CD; break;
|
case SCSI_LINE_CD: result=(linestate & (1<<SCSI_LINE_CD )) >> SCSI_LINE_CD; break;
|
||||||
case SCSI_LINE_IO: result=(linestate & (1<<SCSI_LINE_IO )) >> SCSI_LINE_IO; break;
|
case SCSI_LINE_IO: result=(linestate & (1<<SCSI_LINE_IO )) >> SCSI_LINE_IO; break;
|
||||||
case SCSI_LINE_MSG: result=(linestate & (1<<SCSI_LINE_MSG)) >> SCSI_LINE_MSG; break;
|
case SCSI_LINE_MSG: result=(linestate & (1<<SCSI_LINE_MSG)) >> SCSI_LINE_MSG; break;
|
||||||
case SCSI_LINE_RESET: result=(linestate & (1<<SCSI_LINE_RESET)) >> SCSI_LINE_RESET; break;
|
case SCSI_LINE_REQ: result=(linestate & (1<<SCSI_LINE_REQ)) >> SCSI_LINE_REQ; break;
|
||||||
|
case SCSI_LINE_ACK: result=(linestate & (1<<SCSI_LINE_ACK)) >> SCSI_LINE_ACK; break;
|
||||||
|
case SCSI_LINE_ATN: result=(linestate & (1<<SCSI_LINE_ATN)) >> SCSI_LINE_MSG; break;
|
||||||
|
case SCSI_LINE_RST: result=(linestate & (1<<SCSI_LINE_RST)) >> SCSI_LINE_RST; break;
|
||||||
}
|
}
|
||||||
|
|
||||||
LOG(3,"get_scsi_line(%s)=%d\n",linenames[lineno],result);
|
LOG(3,"get_scsi_line(%s)=%d\n",linenames[lineno],result);
|
||||||
@ -328,7 +329,7 @@ void scsibus_device::scsi_in_line_changed(UINT8 line, UINT8 state)
|
|||||||
void *hdfile;
|
void *hdfile;
|
||||||
|
|
||||||
// Reset aborts and returns to bus free
|
// Reset aborts and returns to bus free
|
||||||
if((line==SCSI_LINE_RESET) && (state==0))
|
if((line==SCSI_LINE_RST) && (state==0))
|
||||||
{
|
{
|
||||||
scsi_change_phase(SCSI_PHASE_BUS_FREE);
|
scsi_change_phase(SCSI_PHASE_BUS_FREE);
|
||||||
cmd_idx=0;
|
cmd_idx=0;
|
||||||
@ -500,7 +501,8 @@ void scsibus_device::scsi_out_line_change_now(UINT8 line, UINT8 state)
|
|||||||
case SCSI_LINE_MSG: m_scsicb->out_msg_func(state); break;
|
case SCSI_LINE_MSG: m_scsicb->out_msg_func(state); break;
|
||||||
case SCSI_LINE_REQ: m_scsicb->out_req_func(state); break;
|
case SCSI_LINE_REQ: m_scsicb->out_req_func(state); break;
|
||||||
case SCSI_LINE_ACK: m_scsicb->out_ack_func(state); break;
|
case SCSI_LINE_ACK: m_scsicb->out_ack_func(state); break;
|
||||||
case SCSI_LINE_RESET: m_scsicb->out_rst_func(state); break;
|
case SCSI_LINE_ATN: m_scsicb->out_atn_func(state); break;
|
||||||
|
case SCSI_LINE_RST: m_scsicb->out_rst_func(state); break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -24,14 +24,15 @@
|
|||||||
CONSTANTS
|
CONSTANTS
|
||||||
***************************************************************************/
|
***************************************************************************/
|
||||||
|
|
||||||
#define SCSI_LINE_SEL 0
|
#define SCSI_LINE_BSY 0
|
||||||
#define SCSI_LINE_BSY 1
|
#define SCSI_LINE_SEL 1
|
||||||
#define SCSI_LINE_REQ 2
|
#define SCSI_LINE_CD 2
|
||||||
#define SCSI_LINE_ACK 3
|
#define SCSI_LINE_IO 3
|
||||||
#define SCSI_LINE_CD 4
|
#define SCSI_LINE_MSG 4
|
||||||
#define SCSI_LINE_IO 5
|
#define SCSI_LINE_REQ 5
|
||||||
#define SCSI_LINE_MSG 6
|
#define SCSI_LINE_ACK 6
|
||||||
#define SCSI_LINE_RESET 7
|
#define SCSI_LINE_ATN 7
|
||||||
|
#define SCSI_LINE_RST 8
|
||||||
|
|
||||||
#define REQ_DELAY_NS 90
|
#define REQ_DELAY_NS 90
|
||||||
#define ACK_DELAY_NS 90
|
#define ACK_DELAY_NS 90
|
||||||
|
@ -25,6 +25,7 @@ void scsicb_device::device_start()
|
|||||||
out_msg_func.resolve(_out_msg_func, *this);
|
out_msg_func.resolve(_out_msg_func, *this);
|
||||||
out_req_func.resolve(_out_req_func, *this);
|
out_req_func.resolve(_out_req_func, *this);
|
||||||
out_ack_func.resolve(_out_ack_func, *this);
|
out_ack_func.resolve(_out_ack_func, *this);
|
||||||
|
out_atn_func.resolve(_out_atn_func, *this);
|
||||||
out_rst_func.resolve(_out_rst_func, *this);
|
out_rst_func.resolve(_out_rst_func, *this);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -69,7 +70,8 @@ READ_LINE_MEMBER( scsicb_device::scsi_io_r ) { return get_scsi_line(SCSI_LINE_IO
|
|||||||
READ_LINE_MEMBER( scsicb_device::scsi_msg_r ) { return get_scsi_line(SCSI_LINE_MSG); }
|
READ_LINE_MEMBER( scsicb_device::scsi_msg_r ) { return get_scsi_line(SCSI_LINE_MSG); }
|
||||||
READ_LINE_MEMBER( scsicb_device::scsi_req_r ) { return get_scsi_line(SCSI_LINE_REQ); }
|
READ_LINE_MEMBER( scsicb_device::scsi_req_r ) { return get_scsi_line(SCSI_LINE_REQ); }
|
||||||
READ_LINE_MEMBER( scsicb_device::scsi_ack_r ) { return get_scsi_line(SCSI_LINE_ACK); }
|
READ_LINE_MEMBER( scsicb_device::scsi_ack_r ) { return get_scsi_line(SCSI_LINE_ACK); }
|
||||||
READ_LINE_MEMBER( scsicb_device::scsi_rst_r ) { return get_scsi_line(SCSI_LINE_RESET); }
|
READ_LINE_MEMBER( scsicb_device::scsi_atn_r ) { return get_scsi_line(SCSI_LINE_ATN); }
|
||||||
|
READ_LINE_MEMBER( scsicb_device::scsi_rst_r ) { return get_scsi_line(SCSI_LINE_RST); }
|
||||||
|
|
||||||
WRITE_LINE_MEMBER( scsicb_device::scsi_bsy_w ) { set_scsi_line(SCSI_LINE_BSY, state); }
|
WRITE_LINE_MEMBER( scsicb_device::scsi_bsy_w ) { set_scsi_line(SCSI_LINE_BSY, state); }
|
||||||
WRITE_LINE_MEMBER( scsicb_device::scsi_sel_w ) { set_scsi_line(SCSI_LINE_SEL, state); }
|
WRITE_LINE_MEMBER( scsicb_device::scsi_sel_w ) { set_scsi_line(SCSI_LINE_SEL, state); }
|
||||||
@ -78,6 +80,7 @@ WRITE_LINE_MEMBER( scsicb_device::scsi_io_w ) { set_scsi_line(SCSI_LINE_IO, stat
|
|||||||
WRITE_LINE_MEMBER( scsicb_device::scsi_msg_w ) { set_scsi_line(SCSI_LINE_MSG, state); }
|
WRITE_LINE_MEMBER( scsicb_device::scsi_msg_w ) { set_scsi_line(SCSI_LINE_MSG, state); }
|
||||||
WRITE_LINE_MEMBER( scsicb_device::scsi_req_w ) { set_scsi_line(SCSI_LINE_REQ, state); }
|
WRITE_LINE_MEMBER( scsicb_device::scsi_req_w ) { set_scsi_line(SCSI_LINE_REQ, state); }
|
||||||
WRITE_LINE_MEMBER( scsicb_device::scsi_ack_w ) { set_scsi_line(SCSI_LINE_ACK, state); }
|
WRITE_LINE_MEMBER( scsicb_device::scsi_ack_w ) { set_scsi_line(SCSI_LINE_ACK, state); }
|
||||||
WRITE_LINE_MEMBER( scsicb_device::scsi_rst_w ) { set_scsi_line(SCSI_LINE_RESET, state); }
|
WRITE_LINE_MEMBER( scsicb_device::scsi_atn_w ) { set_scsi_line(SCSI_LINE_ATN, state); }
|
||||||
|
WRITE_LINE_MEMBER( scsicb_device::scsi_rst_w ) { set_scsi_line(SCSI_LINE_RST, state); }
|
||||||
|
|
||||||
const device_type SCSICB = &device_creator<scsicb_device>;
|
const device_type SCSICB = &device_creator<scsicb_device>;
|
||||||
|
@ -32,6 +32,7 @@ struct SCSICB_interface
|
|||||||
devcb_write_line _out_msg_func;
|
devcb_write_line _out_msg_func;
|
||||||
devcb_write_line _out_req_func;
|
devcb_write_line _out_req_func;
|
||||||
devcb_write_line _out_ack_func;
|
devcb_write_line _out_ack_func;
|
||||||
|
devcb_write_line _out_atn_func;
|
||||||
devcb_write_line _out_rst_func;
|
devcb_write_line _out_rst_func;
|
||||||
};
|
};
|
||||||
|
|
||||||
@ -49,6 +50,7 @@ public:
|
|||||||
devcb_resolved_write_line out_msg_func;
|
devcb_resolved_write_line out_msg_func;
|
||||||
devcb_resolved_write_line out_req_func;
|
devcb_resolved_write_line out_req_func;
|
||||||
devcb_resolved_write_line out_ack_func;
|
devcb_resolved_write_line out_ack_func;
|
||||||
|
devcb_resolved_write_line out_atn_func;
|
||||||
devcb_resolved_write_line out_rst_func;
|
devcb_resolved_write_line out_rst_func;
|
||||||
|
|
||||||
UINT8 scsi_data_r();
|
UINT8 scsi_data_r();
|
||||||
@ -67,6 +69,7 @@ public:
|
|||||||
DECLARE_READ_LINE_MEMBER( scsi_msg_r );
|
DECLARE_READ_LINE_MEMBER( scsi_msg_r );
|
||||||
DECLARE_READ_LINE_MEMBER( scsi_req_r );
|
DECLARE_READ_LINE_MEMBER( scsi_req_r );
|
||||||
DECLARE_READ_LINE_MEMBER( scsi_ack_r );
|
DECLARE_READ_LINE_MEMBER( scsi_ack_r );
|
||||||
|
DECLARE_READ_LINE_MEMBER( scsi_atn_r );
|
||||||
DECLARE_READ_LINE_MEMBER( scsi_rst_r );
|
DECLARE_READ_LINE_MEMBER( scsi_rst_r );
|
||||||
|
|
||||||
DECLARE_WRITE_LINE_MEMBER( scsi_bsy_w );
|
DECLARE_WRITE_LINE_MEMBER( scsi_bsy_w );
|
||||||
@ -76,6 +79,7 @@ public:
|
|||||||
DECLARE_WRITE_LINE_MEMBER( scsi_msg_w );
|
DECLARE_WRITE_LINE_MEMBER( scsi_msg_w );
|
||||||
DECLARE_WRITE_LINE_MEMBER( scsi_req_w );
|
DECLARE_WRITE_LINE_MEMBER( scsi_req_w );
|
||||||
DECLARE_WRITE_LINE_MEMBER( scsi_ack_w );
|
DECLARE_WRITE_LINE_MEMBER( scsi_ack_w );
|
||||||
|
DECLARE_WRITE_LINE_MEMBER( scsi_atn_w );
|
||||||
DECLARE_WRITE_LINE_MEMBER( scsi_rst_w );
|
DECLARE_WRITE_LINE_MEMBER( scsi_rst_w );
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
|
@ -1047,6 +1047,7 @@ static const SCSICB_interface scsi_intf =
|
|||||||
DEVCB_NULL,
|
DEVCB_NULL,
|
||||||
DEVCB_DRIVER_LINE_MEMBER(bulletf_state, req_w),
|
DEVCB_DRIVER_LINE_MEMBER(bulletf_state, req_w),
|
||||||
DEVCB_NULL,
|
DEVCB_NULL,
|
||||||
|
DEVCB_NULL,
|
||||||
DEVCB_NULL
|
DEVCB_NULL
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -93,6 +93,7 @@ static const SCSICB_interface scsibus_config =
|
|||||||
DEVCB_DRIVER_LINE_MEMBER(rmnimbus_state, nimbus_scsi_msg_w),
|
DEVCB_DRIVER_LINE_MEMBER(rmnimbus_state, nimbus_scsi_msg_w),
|
||||||
DEVCB_DRIVER_LINE_MEMBER(rmnimbus_state, nimbus_scsi_req_w),
|
DEVCB_DRIVER_LINE_MEMBER(rmnimbus_state, nimbus_scsi_req_w),
|
||||||
DEVCB_NULL,
|
DEVCB_NULL,
|
||||||
|
DEVCB_NULL,
|
||||||
DEVCB_NULL
|
DEVCB_NULL
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -993,6 +993,7 @@ static const SCSICB_interface sasi_intf =
|
|||||||
DEVCB_NULL,
|
DEVCB_NULL,
|
||||||
DEVCB_NULL,
|
DEVCB_NULL,
|
||||||
DEVCB_NULL,
|
DEVCB_NULL,
|
||||||
|
DEVCB_NULL,
|
||||||
DEVCB_NULL
|
DEVCB_NULL
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -100,6 +100,7 @@ static const SCSICB_interface sasi_intf =
|
|||||||
DEVCB_NULL,
|
DEVCB_NULL,
|
||||||
DEVCB_NULL,
|
DEVCB_NULL,
|
||||||
DEVCB_NULL,
|
DEVCB_NULL,
|
||||||
|
DEVCB_NULL,
|
||||||
DEVCB_NULL
|
DEVCB_NULL
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -93,6 +93,7 @@ static const SCSICB_interface sasi_intf =
|
|||||||
DEVCB_NULL,
|
DEVCB_NULL,
|
||||||
DEVCB_NULL,
|
DEVCB_NULL,
|
||||||
DEVCB_NULL,
|
DEVCB_NULL,
|
||||||
|
DEVCB_NULL,
|
||||||
DEVCB_NULL
|
DEVCB_NULL
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -155,6 +155,7 @@ static const SCSICB_interface sasi_intf =
|
|||||||
DEVCB_NULL,
|
DEVCB_NULL,
|
||||||
DEVCB_DEVICE_LINE_MEMBER("^^", base_d9060_device, req_w),
|
DEVCB_DEVICE_LINE_MEMBER("^^", base_d9060_device, req_w),
|
||||||
DEVCB_NULL,
|
DEVCB_NULL,
|
||||||
|
DEVCB_NULL,
|
||||||
DEVCB_NULL
|
DEVCB_NULL
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -292,6 +292,7 @@ static const SCSICB_interface scsi_intf =
|
|||||||
DEVCB_NULL,
|
DEVCB_NULL,
|
||||||
DEVCB_DEVICE_LINE_MEMBER("^^", e01_device, scsi_req_w),
|
DEVCB_DEVICE_LINE_MEMBER("^^", e01_device, scsi_req_w),
|
||||||
DEVCB_NULL,
|
DEVCB_NULL,
|
||||||
|
DEVCB_NULL,
|
||||||
DEVCB_NULL
|
DEVCB_NULL
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -73,6 +73,7 @@ static const SCSICB_interface sasi_intf =
|
|||||||
DEVCB_NULL,
|
DEVCB_NULL,
|
||||||
DEVCB_DEVICE_LINE_MEMBER("^^", luxor_4105_device, sasi_req_w),
|
DEVCB_DEVICE_LINE_MEMBER("^^", luxor_4105_device, sasi_req_w),
|
||||||
DEVCB_NULL,
|
DEVCB_NULL,
|
||||||
|
DEVCB_NULL,
|
||||||
DEVCB_NULL
|
DEVCB_NULL
|
||||||
};
|
};
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user