mirror of
https://github.com/holub/mame
synced 2025-05-31 10:01:51 +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)
|
||||
{
|
||||
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;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -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
|
||||
|
@ -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>;
|
||||
|
@ -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:
|
||||
|
@ -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
|
||||
};
|
||||
|
||||
|
@ -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
|
||||
};
|
||||
|
||||
|
@ -993,6 +993,7 @@ static const SCSICB_interface sasi_intf =
|
||||
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
|
||||
};
|
||||
|
||||
|
@ -93,6 +93,7 @@ static const SCSICB_interface sasi_intf =
|
||||
DEVCB_NULL,
|
||||
DEVCB_NULL,
|
||||
DEVCB_NULL,
|
||||
DEVCB_NULL,
|
||||
DEVCB_NULL
|
||||
};
|
||||
|
||||
|
@ -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
|
||||
};
|
||||
|
||||
|
@ -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
|
||||
};
|
||||
|
||||
|
@ -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
|
||||
};
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user