hp_scsisig
&& RD_HARPOON((ioport + hp_scsisig)) ==
while ((!(RD_HARPOON(port + hp_scsisig) & SCSI_REQ)) &&
WR_HARPOON(port + hp_scsisig, SCSI_ACK + S_MSGI_PH);
WR_HARPOON(port + hp_scsisig, (SCSI_ACK + S_ILL_PH));
while ((!(RD_HARPOON(port + hp_scsisig) & SCSI_REQ)) &&
if ((RD_HARPOON(port + hp_scsisig) & S_SCSI_PHZ) !=
WR_HARPOON(port + hp_scsisig, (SCSI_ACK + S_ILL_PH));
WR_HARPOON(port + hp_scsisig, (SCSI_ACK + S_ILL_PH));
while (!(RD_HARPOON(port + hp_scsisig) & SCSI_REQ)) {
if (!(RD_HARPOON(port + hp_scsisig) & SCSI_BSY)) {
if ((RD_HARPOON(port + hp_scsisig) & S_SCSI_PHZ) == S_MSGI_PH) {
&& !(RD_HARPOON(port + hp_scsisig) & SCSI_REQ)
&& (RD_HARPOON(port + hp_scsisig) & SCSI_BSY)) ;
!(RD_HARPOON(port + hp_scsisig) & SCSI_REQ) &&
(RD_HARPOON(port + hp_scsisig) & SCSI_BSY)) ;
while (!(RD_HARPOON(port + hp_scsisig) & SCSI_REQ)) {
if (!(RD_HARPOON(port + hp_scsisig) & SCSI_BSY)) {
if ((RD_HARPOON(port + hp_scsisig) & S_SCSI_PHZ) == S_MSGO_PH) {
WR_HARPOON(port + hp_scsisig, (SCSI_ACK + S_ILL_PH));
while ((!(RD_HARPOON(port + hp_scsisig) & SCSI_REQ)) &&
while ((!(RD_HARPOON(port + hp_scsisig) & SCSI_REQ)) &&
curr_phz = RD_HARPOON(p_port + hp_scsisig) & (unsigned char)S_SCSI_PHZ;
WR_HARPOON(p_port + hp_scsisig, curr_phz);
(RD_HARPOON(p_port + hp_scsisig) & (unsigned char)S_SCSI_PHZ)))
if (RD_HARPOON(p_port + hp_scsisig) & SCSI_REQ)
while (RD_HARPOON(port + hp_scsisig) & SCSI_ACK) {
if ((RD_HARPOON(port + hp_scsisig) & SCSI_REQ)
sPhase = RD_HARPOON(port + hp_scsisig) & (SCSI_BSY | S_SCSI_PHZ);
(unsigned char)(RD_HARPOON(p_port + hp_scsisig) & S_SCSI_PHZ);
WR_HARPOON(p_port + hp_scsisig, 0x00);
WR_HARPOON(port + hp_scsisig, 0x00);
WR_HARPOON(port + hp_scsisig, (SCSI_ACK + S_ILL_PH));
WR_HARPOON(port + hp_scsisig, RD_HARPOON(port + hp_scsisig));
if ((!(RD_HARPOON(port + hp_scsisig) & SCSI_BSY)) ||
WR_HARPOON(p_port + hp_scsisig, S_DATAI_PH);
WR_HARPOON(p_port + hp_scsisig, S_DATAO_PH);
WR_HARPOON(p_port + hp_scsisig, S_DATAI_PH);
WR_HARPOON(p_port + hp_scsisig, S_DATAO_PH);
while (RD_HARPOON(p_port + hp_scsisig) & (SCSI_SEL | SCSI_BSY)) {
if (RD_HARPOON(p_port + hp_scsisig) & SCSI_SEL)
WR_HARPOON(p_port + hp_scsisig,
(RD_HARPOON(p_port + hp_scsisig) | SCSI_BSY));
if (RD_HARPOON(p_port + hp_scsisig) & SCSI_SEL) {
WR_HARPOON(p_port + hp_scsisig,
(RD_HARPOON(p_port + hp_scsisig) &
WR_HARPOON(p_port + hp_scsisig,
(RD_HARPOON(p_port + hp_scsisig) | SCSI_SEL));
WR_HARPOON(p_port + hp_scsisig,
(RD_HARPOON(p_port + hp_scsisig) &
WR_HARPOON(p_port + hp_scsisig,
(RD_HARPOON(p_port + hp_scsisig) | SCSI_MSG));
WR_HARPOON(p_port + hp_scsisig, (RD_HARPOON(p_port + hp_scsisig)
WR_HARPOON(p_port + hp_scsisig, 0x00);
WR_HARPOON(p_port + hp_scsisig, SCSI_SEL);
WR_HARPOON(p_port + hp_scsisig, (SCSI_SEL | SCSI_BSY));
WR_HARPOON(p_port + hp_scsisig,
WR_HARPOON(p_port + hp_scsisig, (SCSI_BSY | SCSI_IOBIT | SCSI_CD));
WR_HARPOON(p_port + hp_scsisig,
if (RD_HARPOON(p_port + hp_scsisig) & p_data_bit)
if (RD_HARPOON(p_port + hp_scsisig) & SCSI_REQ) {
WR_HARPOON(p_port + hp_scsisig,
WR_HARPOON(port + hp_scsisig, 0x00); /* Clear any signals we might */
#define ACCEPT_MSG(port) {while(RD_HARPOON(port+hp_scsisig) & SCSI_REQ){}\
WR_HARPOON(port+hp_scsisig, S_ILL_PH);}
#define ACCEPT_MSG_ATN(port) {while(RD_HARPOON(port+hp_scsisig) & SCSI_REQ){}\
WR_HARPOON(port+hp_scsisig, (S_ILL_PH|SCSI_ATN));}