WRW_HARPOON
WRW_HARPOON((ioport + hp_intstat),
WRW_HARPOON((ioport + hp_intstat), CLR_ALL_INT_1);
WRW_HARPOON((ioport + hp_intstat),
WRW_HARPOON((ioport + hp_intstat),
WRW_HARPOON((ioport + hp_intstat),
WRW_HARPOON((ioport + hp_intstat),
WRW_HARPOON((ioport + hp_intstat),
WRW_HARPOON((ioport + hp_intstat), XFER_CNT_0);
WRW_HARPOON((ioport + hp_intstat), BUS_FREE);
WRW_HARPOON((ioport + hp_intstat), ITICKLE);
WRW_HARPOON((p_port + hp_intstat), FIFO);
WRW_HARPOON((p_port + hp_intstat),
WRW_HARPOON((p_port + hp_intstat), SCAM_SEL);
WRW_HARPOON((port + hp_intstat), PARITY);
WRW_HARPOON((port + hp_intstat), PARITY);
WRW_HARPOON((port + ID_MSG_STRT), (MPM_OP + AMSG_OUT +
WRW_HARPOON((port + ID_MSG_STRT + 2), BRH_OP + ALWAYS + NP);
WRW_HARPOON((port + ID_MSG_STRT), (MPM_OP + AMSG_OUT +
WRW_HARPOON((port + ID_MSG_STRT + 2), BRH_OP + ALWAYS + CMDPZ);
WRW_HARPOON((port + SYNC_MSGS + 0), (MPM_OP + AMSG_OUT +
WRW_HARPOON((port + SYNC_MSGS + 2),
WRW_HARPOON((port + SYNC_MSGS + 4), (BRH_OP + ALWAYS + NP));
WRW_HARPOON((port + ID_MSG_STRT),
WRW_HARPOON((port + NON_TAG_ID_MSG),
WRW_HARPOON((port + ID_MSG_STRT),
WRW_HARPOON((port + ID_MSG_STRT + 2),
WRW_HARPOON((port +
WRW_HARPOON((port + ID_MSG_STRT),
WRW_HARPOON((port + NON_TAG_ID_MSG),
WRW_HARPOON(cdb_reg, (MPM_OP + ACOMMAND + *theCCB));
WRW_HARPOON(cdb_reg, (BRH_OP + ALWAYS + NP));
WRW_HARPOON((port + hp_fiforead), (unsigned short)0x00);
WRW_HARPOON((port + hp_intstat), (PROG_HLT | TIMEOUT | SEL | BUS_FREE));
WRW_HARPOON((port + hp_fiforead), (unsigned short)0x00);
WRW_HARPOON((port + hp_intstat), PHASE);
WRW_HARPOON((port + hp_intstat), PHASE);
WRW_HARPOON((port + hp_intstat), PHASE);
WRW_HARPOON((port + hp_intstat), PHASE);
WRW_HARPOON((port + hp_intstat),
WRW_HARPOON((port + hp_intstat), BUS_FREE);
WRW_HARPOON((port + hp_intstat), BUS_FREE);
WRW_HARPOON((port + hp_intstat),
WRW_HARPOON((port + ID_MSG_STRT),
WRW_HARPOON((port + ID_MSG_STRT + 2), BRH_OP + ALWAYS + CMDPZ);
WRW_HARPOON((port + SYNC_MSGS + 0),
WRW_HARPOON((port + SYNC_MSGS + 2), (MPM_OP + AMSG_OUT + 0x03));
WRW_HARPOON((port + SYNC_MSGS + 4),
WRW_HARPOON((port + SYNC_MSGS + 6),
WRW_HARPOON((port + SYNC_MSGS + 6),
WRW_HARPOON((port + SYNC_MSGS + 6),
WRW_HARPOON((port + SYNC_MSGS + 6),
WRW_HARPOON((port + SYNC_MSGS + 8), (RAT_OP));
WRW_HARPOON((port + SYNC_MSGS + 10),
WRW_HARPOON((port + SYNC_MSGS + 12), (BRH_OP + ALWAYS + NP));
WRW_HARPOON((port + SYNC_MSGS + 0),
WRW_HARPOON((port + SYNC_MSGS + 2), (MPM_OP + AMSG_OUT + 0x03));
WRW_HARPOON((port + SYNC_MSGS + 4),
WRW_HARPOON((port + SYNC_MSGS + 6), (MPM_OP + AMSG_OUT + sync_pulse));
WRW_HARPOON((port + SYNC_MSGS + 8), (RAT_OP));
WRW_HARPOON((port + SYNC_MSGS + 10), (MPM_OP + AMSG_OUT + offset));
WRW_HARPOON((port + SYNC_MSGS + 12), (BRH_OP + ALWAYS + NP));
WRW_HARPOON((port + hp_intstat), CLR_ALL_INT_1);
WRW_HARPOON((port + ID_MSG_STRT),
WRW_HARPOON((port + ID_MSG_STRT + 2), BRH_OP + ALWAYS + CMDPZ);
WRW_HARPOON((port + SYNC_MSGS + 0),
WRW_HARPOON((port + SYNC_MSGS + 2), (MPM_OP + AMSG_OUT + 0x02));
WRW_HARPOON((port + SYNC_MSGS + 4),
WRW_HARPOON((port + SYNC_MSGS + 6), (RAT_OP));
WRW_HARPOON((port + SYNC_MSGS + 8),
WRW_HARPOON((port + SYNC_MSGS + 10), (BRH_OP + ALWAYS + NP));
WRW_HARPOON((port + SYNC_MSGS + 0),
WRW_HARPOON((port + SYNC_MSGS + 2), (MPM_OP + AMSG_OUT + 0x02));
WRW_HARPOON((port + SYNC_MSGS + 4),
WRW_HARPOON((port + SYNC_MSGS + 6), (RAT_OP));
WRW_HARPOON((port + SYNC_MSGS + 8), (MPM_OP + AMSG_OUT + width));
WRW_HARPOON((port + SYNC_MSGS + 10), (BRH_OP + ALWAYS + NP));
WRW_HARPOON((port + hp_intstat), CLR_ALL_INT_1);
WRW_HARPOON((port + hp_intstat), CLR_ALL_INT);
WRW_HARPOON((port + hp_intstat), TIMEOUT);
WRW_HARPOON((port + hp_intstat), CLR_ALL_INT);
WRW_HARPOON((p_port + hp_intstat), XFER_CNT_0);
WRW_HARPOON((port + hp_fiforead), (unsigned short)0x00);
WRW_HARPOON((port + hp_intstat), PARITY);
WRW_HARPOON((port + hp_intstat), AUTO_INT);
WRW_HARPOON((port + hp_intstat), XFER_CNT_0);
WRW_HARPOON((port + hp_intstat), XFER_CNT_0);
WRW_HARPOON(cdb_reg, (MPM_OP + ACOMMAND + 0x00));
WRW_HARPOON(cdb_reg,
WRW_HARPOON(cdb_reg, (BRH_OP + ALWAYS + NP));
WRW_HARPOON((port + hp_intstat), (BUS_FREE | PHASE | XFER_CNT_0));
WRW_HARPOON((port + hp_intstat), BUS_FREE);
WRW_HARPOON((port + hp_intstat), PARITY);
WRW_HARPOON((port + hp_intstat), PARITY);
WRW_HARPOON((port + hp_intstat), XFER_CNT_0);
WRW_HARPOON(map_addr, (MPM_OP + AMSG_OUT + 0xC0)); /*ID MESSAGE */
WRW_HARPOON(map_addr, (MPM_OP + AMSG_OUT + 0x20)); /*SIMPLE TAG QUEUEING MSG */
WRW_HARPOON(map_addr, RAT_OP); /*RESET ATTENTION */
WRW_HARPOON(map_addr, (MPM_OP + AMSG_OUT + 0x00)); /*TAG ID MSG */
WRW_HARPOON(map_addr, (MPM_OP + ACOMMAND + 0x00)); /*CDB BYTE 0 */
WRW_HARPOON(map_addr, (MPM_OP + ACOMMAND + 0x00)); /*CDB BYTE 1 */
WRW_HARPOON(map_addr, (MPM_OP + ACOMMAND + 0x00)); /*CDB BYTE 2 */
WRW_HARPOON(map_addr, (MPM_OP + ACOMMAND + 0x00)); /*CDB BYTE 3 */
WRW_HARPOON(map_addr, (MPM_OP + ACOMMAND + 0x00)); /*CDB BYTE 4 */
WRW_HARPOON(map_addr, (MPM_OP + ACOMMAND + 0x00)); /*CDB BYTE 5 */
WRW_HARPOON(map_addr, (MPM_OP + ACOMMAND + 0x00)); /*CDB BYTE 6 */
WRW_HARPOON(map_addr, (MPM_OP + ACOMMAND + 0x00)); /*CDB BYTE 7 */
WRW_HARPOON(map_addr, (MPM_OP + ACOMMAND + 0x00)); /*CDB BYTE 8 */
WRW_HARPOON(map_addr, (MPM_OP + ACOMMAND + 0x00)); /*CDB BYTE 9 */
WRW_HARPOON(map_addr, (MPM_OP + ACOMMAND + 0x00)); /*CDB BYTE 10 */
WRW_HARPOON(map_addr, (MPM_OP + ACOMMAND + 0x00)); /*CDB BYTE 11 */
WRW_HARPOON(map_addr, (CPE_OP + ADATA_OUT + DINT)); /*JUMP IF DATA OUT */
WRW_HARPOON(map_addr, (TCB_OP + FIFO_0 + DI)); /*JUMP IF NO DATA IN FIFO */
WRW_HARPOON(map_addr, (SSI_OP + SSI_IDO_STRT)); /*STOP AND INTERRUPT */
WRW_HARPOON(map_addr, (CPE_OP + ADATA_IN + DINT)); /*JUMP IF NOT DATA IN PHZ */
WRW_HARPOON(map_addr, (CPN_OP + AMSG_IN + ST)); /*IF NOT MSG IN CHECK 4 DATA IN */
WRW_HARPOON(map_addr, (CRD_OP + SDATA + 0x02)); /*SAVE DATA PTR MSG? */
WRW_HARPOON(map_addr, (BRH_OP + NOT_EQ + DC)); /*GO CHECK FOR DISCONNECT MSG */
WRW_HARPOON(map_addr, (MRR_OP + SDATA + D_AR1)); /*SAVE DATA PTRS MSG */
WRW_HARPOON(map_addr, (CPN_OP + AMSG_IN + ST)); /*IF NOT MSG IN CHECK DATA IN */
WRW_HARPOON(map_addr, (CRD_OP + SDATA + 0x04)); /*DISCONNECT MSG? */
WRW_HARPOON(map_addr, (BRH_OP + NOT_EQ + UNKNWN)); /*UKNKNOWN MSG */
WRW_HARPOON(map_addr, (MRR_OP + SDATA + D_BUCKET)); /*XFER DISCONNECT MSG */
WRW_HARPOON(map_addr, (SSI_OP + SSI_ITAR_DISC)); /*STOP AND INTERRUPT */
WRW_HARPOON(map_addr, (CPN_OP + ASTATUS + UNKNWN)); /*JUMP IF NOT STATUS PHZ. */
WRW_HARPOON(map_addr, (MRR_OP + SDATA + D_AR0)); /*GET STATUS BYTE */
WRW_HARPOON(map_addr, (CPN_OP + AMSG_IN + CC)); /*ERROR IF NOT MSG IN PHZ */
WRW_HARPOON(map_addr, (CRD_OP + SDATA + 0x00)); /*CHECK FOR CMD COMPLETE MSG. */
WRW_HARPOON(map_addr, (BRH_OP + NOT_EQ + CC)); /*ERROR IF NOT CMD COMPLETE MSG. */
WRW_HARPOON(map_addr, (MRR_OP + SDATA + D_BUCKET)); /*GET CMD COMPLETE MSG */
WRW_HARPOON(map_addr, (SSI_OP + SSI_ICMD_COMP)); /*END OF COMMAND */
WRW_HARPOON(map_addr, (SSI_OP + SSI_IUNKWN)); /*RECEIVED UNKNOWN MSG BYTE */
WRW_HARPOON(map_addr, (SSI_OP + SSI_INO_CC)); /*NO COMMAND COMPLETE AFTER STATUS */
WRW_HARPOON(map_addr, (SSI_OP + SSI_ITICKLE)); /*BIOS Tickled the Mgr */
WRW_HARPOON(map_addr, (SSI_OP + SSI_IRFAIL)); /*EXPECTED ID/TAG MESSAGES AND */
WRW_HARPOON(map_addr, (CRR_OP + AR3 + S_IDREG)); /* comp SCSI SEL ID & AR3 */
WRW_HARPOON(map_addr, (BRH_OP + EQUAL + 0x00)); /*SEL ID OK then Conti. */
WRW_HARPOON(map_addr, (SSI_OP + SSI_INO_CC)); /*NO COMMAND COMPLETE AFTER STATUS */
WRW_HARPOON((p_port + hp_intstat), (BUS_FREE | AUTO_INT | SCAM_SEL));
WRW_HARPOON(i, (MPM_OP + ACOMMAND));
WRW_HARPOON(i, (BRH_OP + ALWAYS + NP));
WRW_HARPOON((p_port + hp_intstat),
WRW_HARPOON((p_port + hp_intstat),
WRW_HARPOON((p_port + hp_intstat), CLR_ALL_INT_1);
WRW_HARPOON((port + hp_intstat), CLR_ALL_INT);
WRW_HARPOON((port + hp_intena), FPT_default_intena);
WRW_HARPOON((p_port + hp_intstat), TIMEOUT);
WRW_HARPOON((p_port + hp_intena), (FPT_default_intena & ~TIMEOUT));
WRW_HARPOON((p_port + hp_intstat), TIMEOUT);
WRW_HARPOON((p_port + hp_intena), FPT_default_intena);
#define HP_SETUP_ADDR_CNT(port,addr,count) (WRW_HARPOON((port+hp_host_addr_lo), (unsigned short)(addr & 0x0000FFFFL)),\
WRW_HARPOON((port+hp_host_addr_hmi), (unsigned short)(addr & 0x0000FFFFL)),\
WRW_HARPOON((port+hp_xfer_cnt_lo), (unsigned short)(count & 0x0000FFFFL)),\