added atn to scsicb for completeness & renamed reset line to rst. (nw)

This commit is contained in:
smf- 2012-10-07 21:35:43 +00:00
parent 3f6fbc58ef
commit 6dfaac0c3a
12 changed files with 34 additions and 16 deletions

View File

@ -168,14 +168,15 @@ UINT8 scsibus_device::get_scsi_line(UINT8 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_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_SEL: result=(linestate & (1<<SCSI_LINE_SEL)) >> SCSI_LINE_SEL; 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_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);
@ -328,7 +329,7 @@ void scsibus_device::scsi_in_line_changed(UINT8 line, UINT8 state)
void *hdfile;
// 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);
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_REQ: m_scsicb->out_req_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;
}
}
}

View File

@ -24,14 +24,15 @@
CONSTANTS
***************************************************************************/
#define SCSI_LINE_SEL 0
#define SCSI_LINE_BSY 1
#define SCSI_LINE_REQ 2
#define SCSI_LINE_ACK 3
#define SCSI_LINE_CD 4
#define SCSI_LINE_IO 5
#define SCSI_LINE_MSG 6
#define SCSI_LINE_RESET 7
#define SCSI_LINE_BSY 0
#define SCSI_LINE_SEL 1
#define SCSI_LINE_CD 2
#define SCSI_LINE_IO 3
#define SCSI_LINE_MSG 4
#define SCSI_LINE_REQ 5
#define SCSI_LINE_ACK 6
#define SCSI_LINE_ATN 7
#define SCSI_LINE_RST 8
#define REQ_DELAY_NS 90
#define ACK_DELAY_NS 90

View File

@ -25,6 +25,7 @@ void scsicb_device::device_start()
out_msg_func.resolve(_out_msg_func, *this);
out_req_func.resolve(_out_req_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);
}
@ -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_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_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_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_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_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>;

View File

@ -32,6 +32,7 @@ struct SCSICB_interface
devcb_write_line _out_msg_func;
devcb_write_line _out_req_func;
devcb_write_line _out_ack_func;
devcb_write_line _out_atn_func;
devcb_write_line _out_rst_func;
};
@ -49,6 +50,7 @@ public:
devcb_resolved_write_line out_msg_func;
devcb_resolved_write_line out_req_func;
devcb_resolved_write_line out_ack_func;
devcb_resolved_write_line out_atn_func;
devcb_resolved_write_line out_rst_func;
UINT8 scsi_data_r();
@ -67,6 +69,7 @@ public:
DECLARE_READ_LINE_MEMBER( scsi_msg_r );
DECLARE_READ_LINE_MEMBER( scsi_req_r );
DECLARE_READ_LINE_MEMBER( scsi_ack_r );
DECLARE_READ_LINE_MEMBER( scsi_atn_r );
DECLARE_READ_LINE_MEMBER( scsi_rst_r );
DECLARE_WRITE_LINE_MEMBER( scsi_bsy_w );
@ -76,6 +79,7 @@ public:
DECLARE_WRITE_LINE_MEMBER( scsi_msg_w );
DECLARE_WRITE_LINE_MEMBER( scsi_req_w );
DECLARE_WRITE_LINE_MEMBER( scsi_ack_w );
DECLARE_WRITE_LINE_MEMBER( scsi_atn_w );
DECLARE_WRITE_LINE_MEMBER( scsi_rst_w );
protected:

View File

@ -1047,6 +1047,7 @@ static const SCSICB_interface scsi_intf =
DEVCB_NULL,
DEVCB_DRIVER_LINE_MEMBER(bulletf_state, req_w),
DEVCB_NULL,
DEVCB_NULL,
DEVCB_NULL
};

View File

@ -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_req_w),
DEVCB_NULL,
DEVCB_NULL,
DEVCB_NULL
};

View File

@ -993,6 +993,7 @@ static const SCSICB_interface sasi_intf =
DEVCB_NULL,
DEVCB_NULL,
DEVCB_NULL,
DEVCB_NULL,
DEVCB_NULL
};

View File

@ -100,6 +100,7 @@ static const SCSICB_interface sasi_intf =
DEVCB_NULL,
DEVCB_NULL,
DEVCB_NULL,
DEVCB_NULL,
DEVCB_NULL
};

View File

@ -93,6 +93,7 @@ static const SCSICB_interface sasi_intf =
DEVCB_NULL,
DEVCB_NULL,
DEVCB_NULL,
DEVCB_NULL,
DEVCB_NULL
};

View File

@ -155,6 +155,7 @@ static const SCSICB_interface sasi_intf =
DEVCB_NULL,
DEVCB_DEVICE_LINE_MEMBER("^^", base_d9060_device, req_w),
DEVCB_NULL,
DEVCB_NULL,
DEVCB_NULL
};

View File

@ -292,6 +292,7 @@ static const SCSICB_interface scsi_intf =
DEVCB_NULL,
DEVCB_DEVICE_LINE_MEMBER("^^", e01_device, scsi_req_w),
DEVCB_NULL,
DEVCB_NULL,
DEVCB_NULL
};

View File

@ -73,6 +73,7 @@ static const SCSICB_interface sasi_intf =
DEVCB_NULL,
DEVCB_DEVICE_LINE_MEMBER("^^", luxor_4105_device, sasi_req_w),
DEVCB_NULL,
DEVCB_NULL,
DEVCB_NULL
};