Annotation of Gnu-Mach/linux/src/drivers/scsi/scripts.h, revision 1.1

1.1     ! root        1: /***********************************************************************
        !             2: ;*     File Name : SCRIPTS.H                                          *
        !             3: ;*     Description:SCRIPT language for NCR53c825A,875 SCRIPT processor*
        !             4: ;*                                                                    *
        !             5: ;***********************************************************************
        !             6: 
        !             7: ;==========================================================
        !             8: ; NCR 53C810,53C815,53C820,53C825,53C825A,53C860,53C875
        !             9: ; Script language definition for assembly programming
        !            10: ;==========================================================
        !            11: 
        !            12: ;==========================================================
        !            13: ;      DMA Command
        !            14: ;==========================================================
        !            15: */
        !            16: #define DCMD_BLOCK_MOVE      0
        !            17: #define DCMD_IO            0x040000000  /*;BIT30 */
        !            18: #define DCMD_RD_WRT        0x040000000  /*;BIT30 */
        !            19: #define DCMD_XFER_CTRL     0x080000000  /*;BIT31 */
        !            20: #define DCMD_MEM_MOVE      0x0C0000000  /*;(BIT31+BIT30) */
        !            21: #define DCMD_LOAD_STORE     0x0E0000000  /*;(BIT31+BIT30+BIT29) */
        !            22: /*;==========================================================*/
        !            23: #define INDIRECT_ADDR       0x20000000  /*;BIT29 */
        !            24: #define TABLE_INDIRECT      0x10000000  /*;BIT28 */
        !            25: #define BLOCK_MOVE          0x08000000  /*;BIT27 */
        !            26: #define CHAIN_MOVE          0
        !            27: /*; SCSI phase definition */
        !            28: #define DATA_OUT_           0x00000000  /*;data out phase */
        !            29: #define DATA_IN_            0x01000000  /*;BIT24           ; data in phase */
        !            30: #define COMMAND_            0x02000000  /*;BIT25           ; command phase */
        !            31: #define STATUS_             0x03000000  /*;(BIT25+BIT24)   ; status phase */
        !            32: #define RESERVED_OUT        0x04000000  /*;BIT26 */
        !            33: #define RESERVED_IN         0x05000000  /*;(BIT26+BIT24) */
        !            34: #define MSG_OUT_            0x06000000  /*;(BIT26+BIT25)   ; message in phase */
        !            35: #define MSG_IN_             0x07000000  /*;(BIT26+BIT25+BIT24);message out phase */
        !            36: /*;----------------------------------------------------------*/
        !            37: #define DCMD_SELECT         0x40000000  /*;DCMD_IO+0 */
        !            38: #define DCMD_SELECT_ATN      0x41000000  /*;(DCMD_IO+BIT24) */
        !            39: #define DCMD_WAIT_DISC      0x48000000  /*;(DCMD_IO+BIT27) */
        !            40: #define DCMD_WAIT_RESEL      0x50000000  /*;(DCMD_IO+BIT28) */
        !            41: #define DCMD_SET_CARRY      0x58000400  /*;(DCMD_IO+BIT28+BIT27+BIT10) */
        !            42: #define DCMD_SET_ACK        0x58000040  /*;(DCMD_IO+BIT28+BIT27+BIT6) */
        !            43: #define DCMD_SET_ATN        0x58000008  /*;(DCMD_IO+BIT28+BIT27+BIT3) */
        !            44: #define DCMD_CLR_CARRY      0x60000400  /*;(DCMD_IO+BIT29+BIT10) */
        !            45: #define DCMD_CLR_ACK        0x60000040  /*;(DCMD_IO+BIT29+BIT6) */
        !            46: #define DCMD_CLR_ATN        0x60000008  /*;(DCMD_IO+BIT29+BIT3) */
        !            47: #define RELATIVE_ADDR       0x04000000  /*;BIT26 */
        !            48: #define IO_TABLE_INDIR      0x02000000  /*;BIT25 */
        !            49: /*;----------------------------------------------------------*/
        !            50: #define MOVE_FROM_SFBR      0x68000000  /*;(DCMD_RD_WRT+BIT29+BIT27) */
        !            51: #define MOVE_TO_SFBR        0x70000000  /*;(DCMD_RD_WRT+BIT29+BIT28) */
        !            52: #define RD_MODIFY_WRT       0x78000000  /*;(DCMD_RD_WRT+BIT29+BIT28+BIT27) */
        !            53: #define OP_MOVE_DATA        0
        !            54: #define OP_SHIFT_LEFT_C      0x01000000  /*;BIT24 */
        !            55: #define OP_OR               0x02000000  /*;BIT25 */
        !            56: #define OP_XOR              0x03000000  /*;(BIT25+BIT24) */
        !            57: #define OP_AND              0x04000000  /*;BIT26 */
        !            58: #define OP_SHIFT_RIGHT_C     0x05000000  /*;(BIT26+BIT24) */
        !            59: #define OP_ADD_DATA         0x06000000  /*;(BIT26+BIT25) */
        !            60: #define OP_ADD_DATA_C       0x07000000  /*;(BIT26+BIT25+BIT24) */
        !            61: #define USE_SFBR            0x00800000  /*;BIT23 */
        !            62: /*;----------------------------------------------------------*/
        !            63: #define DCMD_JUMP           0x80000000  /*;DCMD_XFER_CTRL+0 */
        !            64: #define DCMD_CALL           0x88000000  /*;(DCMD_XFER_CTRL+BIT27) */
        !            65: #define DCMD_RETURN         0x90000000  /*;(DCMD_XFER_CTRL+BIT28) */
        !            66: #define DCMD_INT            0x98000000  /*;(DCMD_XFER_CTRL+BIT28+BIT27) */
        !            67: #define RELATIVE_           0x00800000  /*;BIT23 */
        !            68: #define IF_CARRY            0x00200000  /*;BIT21 */
        !            69: #define INT_ON_FLY_         0x00100000  /*;BIT20 */
        !            70: #define IF_TRUE             0x00080000  /*;BIT19 */
        !            71: #define IF_NOT              0
        !            72: #define DATA_CMP            0x00040000  /*;BIT18 */
        !            73: #define PHASE_CMP           0x00020000  /*;BIT17 */
        !            74: #define WAIT_PHASE_VALID     0x00010000  /*;BIT16 */
        !            75: /*;----------------------------------------------------------*/
        !            76: #define DSA_RELATIVE        0x10000000  /*;BIT28 */
        !            77: #define FLUSH_PREFETCH      0x02000000  /*;BIT25 */
        !            78: #define DCMD_LOAD          0x0E1000000  /*;(DCMD_LOAD_STORE+BIT24) */
        !            79: #define DCMD_STORE         0x0E0000000  /*;DCMD_LOAD_STORE */
        !            80: /*
        !            81: ;==========================================================
        !            82: ; SCSI message EQUATES
        !            83: ;==========================================================
        !            84: */
        !            85: #define CMD_COMPLETE        0
        !            86: #define EXT_MSG             1
        !            87: #define SAVE_PTR            2
        !            88: #define RESTORE_PTR         3
        !            89: #define DISCONNECTMSG       4
        !            90: #define INITIATOR_ERR       5
        !            91: #define ABORTMSG            6
        !            92: #define MSG_REJECT          7
        !            93: #define NOPMSG              8
        !            94: #define MSG_PARITY          9
        !            95: #define LINK_CMD_CPL        0x0a
        !            96: #define LINK_CMD_FLAG       0x0b
        !            97: #define RESET_DEVICE        0x0c
        !            98: #define IDENTIFYMSG         0x80
        !            99: #define SIMPLE_TAG          0x20
        !           100: #define IGNORE_WIDE_RES      0x23
        !           101: /*
        !           102: ;==========================================================
        !           103: ; Operation assumption
        !           104: ; 1. If phase mismatch during Xfer PAD ==> do nothing
        !           105: ;    Else compute FIXUP needed
        !           106: ; 2. After phase mismatch ==> Set to Xfer PAD
        !           107: ; 3. At disconnection ==> Modify return address
        !           108: ; 4. 1st restore ptr after reselection is ignored
        !           109: ; 5. If Xfer PAD is done ==> Error
        !           110: ;==========================================================
        !           111: */
        !           112: /*     static  start_script
        !           113:        static  reselected
        !           114:        static  reselecttag
        !           115:        static  select0
        !           116:        static  select1
        !           117:        static  check_phase
        !           118:        static  status1_phase
        !           119:        static  command_phase
        !           120:        static  jump_table0
        !           121:        static  jump_tableB
        !           122:        static  din_phase
        !           123:        static  din_phaseB
        !           124:        static  din_pad_0
        !           125:        static  din_pad_addrB
        !           126:        static  dout_phase
        !           127:        static  dout_phaseB
        !           128:        static  dout_pad_0
        !           129:        static  dout_pad_addrB
        !           130:        static  jump_tablew
        !           131:        static  jump_tableW
        !           132:        static  din_phase1
        !           133:        static  din_phaseW
        !           134:        static  din_pad_1
        !           135:        static  din_pad_addrW
        !           136:        static  dout_phase1
        !           137:        static  dout_phaseW
        !           138:        static  dout_pad_1
        !           139:        static  dout_pad_addrW
        !           140:        static  mout_phase
        !           141:        static  status_phase
        !           142:        static  min_phase
        !           143:        static  set_atn
        !           144:        static  clr_atn
        !           145:        static  end_script
        !           146:        static  start_mov
        !           147:        static  SrcPhysAddr
        !           148:        static  DesPhysAddr
        !           149: */
        !           150: ULONG  start_script[]={
        !           151: /*
        !           152: ;==========================================================
        !           153: ; Wait for reselection
        !           154: ;==========================================================
        !           155: */
        !           156:        DCMD_WAIT_RESEL
        !           157:        };
        !           158: ULONG  jmp_select0[]={
        !           159:        0       /* offset select0 */
        !           160:        };
        !           161: ULONG  reselected[]={
        !           162:        RD_MODIFY_WRT+OP_OR+0x200+0x340000, /* (2 shl 8) or (__scratcha shl 16) */
        !           163:        0,
        !           164: 
        !           165:        DCMD_INT+WAIT_PHASE_VALID+IF_NOT+PHASE_CMP+MSG_IN_,
        !           166:        __RESELECTED,
        !           167: 
        !           168:        BLOCK_MOVE+MSG_IN_+1    /* ;move in ID byte */
        !           169:        };
        !           170: ULONG  ACB_msgin123_1[]={
        !           171:        0,      /* offset ACB.msgin123,*/
        !           172: 
        !           173:        DCMD_INT+IF_TRUE,
        !           174:        __RESELECTED1
        !           175:        };
        !           176: ULONG  reselecttag[]={
        !           177:        DCMD_CLR_ACK,
        !           178:        0,
        !           179: 
        !           180:        BLOCK_MOVE+MSG_IN_+2    /* ;move 2 msg bytes */
        !           181:        };
        !           182: ULONG  ACB_msgin123_2[]={
        !           183:        0,      /* offset ACB.msgin123,*/
        !           184: 
        !           185:        DCMD_INT+IF_TRUE,
        !           186:        __RESELECTEDT
        !           187:        };
        !           188: /*
        !           189: ;==========================================================
        !           190: ; Select
        !           191: ; Case 1 : Only identify message is to be sent
        !           192: ; Case 2 : Synchronous negotiation is requested
        !           193: ;==========================================================
        !           194: */
        !           195: ULONG  select0[]={
        !           196:        DCMD_INT+IF_TRUE,
        !           197:        __SIGNAL
        !           198:        };
        !           199: ULONG  select1[]={                /* ; Select with ATN */
        !           200: 
        !           201:        DCMD_SELECT_ATN+IO_TABLE_INDIR  /* +offset SRB.__select ;4200h or 0100H */
        !           202:        };
        !           203: ULONG  jmp_reselected[]={
        !           204:        0,      /* offset reselected, */
        !           205: 
        !           206:        DCMD_JUMP+WAIT_PHASE_VALID+IF_NOT+PHASE_CMP+MSG_OUT_
        !           207:        };
        !           208: ULONG  jmp_check_phase[]={
        !           209:        0,      /* offset check_phase, */
        !           210: 
        !           211:        TABLE_INDIRECT+BLOCK_MOVE+MSG_OUT_
        !           212:        };
        !           213: ULONG  SRB_msgout0[]={
        !           214:        0       /* offset SRB.__msgout0 */
        !           215:        };
        !           216: ULONG  check_phase[]={
        !           217:        DCMD_RETURN+WAIT_PHASE_VALID+IF_TRUE+PHASE_CMP+DATA_IN_,
        !           218:        0,
        !           219: 
        !           220:        DCMD_RETURN+WAIT_PHASE_VALID+IF_TRUE+PHASE_CMP+DATA_OUT_,
        !           221:        0
        !           222:        };
        !           223: ULONG  status1_phase[]={
        !           224:        DCMD_JUMP+WAIT_PHASE_VALID+IF_TRUE+PHASE_CMP+STATUS_
        !           225:        };
        !           226: ULONG  jmp_status_phase[]={
        !           227:        0,      /* offset status_phase,*/
        !           228: 
        !           229:        DCMD_JUMP+WAIT_PHASE_VALID+IF_TRUE+PHASE_CMP+COMMAND_
        !           230:        };
        !           231: ULONG  jmp_command_phase[]={
        !           232:        0,      /* offset command_phase, */
        !           233: 
        !           234:        DCMD_JUMP+WAIT_PHASE_VALID+IF_TRUE+PHASE_CMP+MSG_IN_
        !           235:        };
        !           236: ULONG  jmp_min_phase[]={
        !           237:        0,      /* offset min_phase,*/
        !           238: 
        !           239:        DCMD_JUMP+WAIT_PHASE_VALID+IF_TRUE+PHASE_CMP+MSG_OUT_
        !           240:        };
        !           241: ULONG  jmp_mout_phase[]={
        !           242:        0,      /* offset mout_phase,*/
        !           243: 
        !           244:        DCMD_INT+IF_TRUE,
        !           245:        __FATALERROR
        !           246:        };
        !           247: /*
        !           248: ;==========================================================
        !           249: ; Command phase
        !           250: ;==========================================================
        !           251: */
        !           252: ULONG  command_phase[]={
        !           253:        DCMD_CLR_ATN,
        !           254:        0,
        !           255:        TABLE_INDIRECT+BLOCK_MOVE+COMMAND_
        !           256:        };
        !           257: ULONG  SRB_command[]={
        !           258:        0,      /* offset SRB.__command,*/
        !           259: 
        !           260:        DCMD_JUMP+IF_TRUE
        !           261:        };
        !           262: ULONG  jmp_check_phase1[]={
        !           263:        0       /* offset check_phase */
        !           264:        };
        !           265: /*
        !           266: ;==========================================================
        !           267: ; Data phase jump table for 8 bit operation
        !           268: ;==========================================================
        !           269: */
        !           270: ULONG  jmp_dio_phaseB[]={
        !           271:        DCMD_JUMP+WAIT_PHASE_VALID+IF_TRUE+PHASE_CMP+DATA_IN_,
        !           272:        0,  /* offset din_phaseB+   0,*/
        !           273: 
        !           274:        DCMD_JUMP+WAIT_PHASE_VALID+IF_TRUE+PHASE_CMP+DATA_OUT_,
        !           275:        0,  /* offset dout_phaseB+  0,*/
        !           276: 
        !           277:        DCMD_JUMP+WAIT_PHASE_VALID+IF_TRUE+PHASE_CMP+DATA_IN_,
        !           278:        0,  /* offset din_phaseB+   8,*/
        !           279: 
        !           280:        DCMD_JUMP+WAIT_PHASE_VALID+IF_TRUE+PHASE_CMP+DATA_OUT_,
        !           281:        0,  /* offset dout_phaseB+  8,*/
        !           282: 
        !           283:        DCMD_JUMP+WAIT_PHASE_VALID+IF_TRUE+PHASE_CMP+DATA_IN_,
        !           284:        0,  /* offset din_phaseB+   16,*/
        !           285: 
        !           286:        DCMD_JUMP+WAIT_PHASE_VALID+IF_TRUE+PHASE_CMP+DATA_OUT_,
        !           287:        0,  /* offset dout_phaseB+  16,*/
        !           288: 
        !           289:        DCMD_JUMP+WAIT_PHASE_VALID+IF_TRUE+PHASE_CMP+DATA_IN_,
        !           290:        0,  /* offset din_phaseB+   24,*/
        !           291: 
        !           292:        DCMD_JUMP+WAIT_PHASE_VALID+IF_TRUE+PHASE_CMP+DATA_OUT_,
        !           293:        0,  /* offset dout_phaseB+  24,*/
        !           294: 
        !           295:        DCMD_JUMP+WAIT_PHASE_VALID+IF_TRUE+PHASE_CMP+DATA_IN_,
        !           296:        0,  /* offset din_phaseB+   32,*/
        !           297: 
        !           298:        DCMD_JUMP+WAIT_PHASE_VALID+IF_TRUE+PHASE_CMP+DATA_OUT_,
        !           299:        0,  /* offset dout_phaseB+  32,*/
        !           300: 
        !           301:        DCMD_JUMP+WAIT_PHASE_VALID+IF_TRUE+PHASE_CMP+DATA_IN_,
        !           302:        0,  /* offset din_phaseB+   40,*/
        !           303: 
        !           304:        DCMD_JUMP+WAIT_PHASE_VALID+IF_TRUE+PHASE_CMP+DATA_OUT_,
        !           305:        0,  /* offset dout_phaseB+  40,*/
        !           306: 
        !           307:        DCMD_JUMP+WAIT_PHASE_VALID+IF_TRUE+PHASE_CMP+DATA_IN_,
        !           308:        0,  /* offset din_phaseB+   48,*/
        !           309: 
        !           310:        DCMD_JUMP+WAIT_PHASE_VALID+IF_TRUE+PHASE_CMP+DATA_OUT_,
        !           311:        0,  /* offset dout_phaseB+  48,*/
        !           312: 
        !           313:        DCMD_JUMP+WAIT_PHASE_VALID+IF_TRUE+PHASE_CMP+DATA_IN_,
        !           314:        0,  /* offset din_phaseB+   56,*/
        !           315: 
        !           316:        DCMD_JUMP+WAIT_PHASE_VALID+IF_TRUE+PHASE_CMP+DATA_OUT_,
        !           317:        0,  /* offset dout_phaseB+  56,*/
        !           318: 
        !           319:        DCMD_JUMP+WAIT_PHASE_VALID+IF_TRUE+PHASE_CMP+DATA_IN_,
        !           320:        0,  /* offset din_phaseB+   64,*/
        !           321: 
        !           322:        DCMD_JUMP+WAIT_PHASE_VALID+IF_TRUE+PHASE_CMP+DATA_OUT_,
        !           323:        0,  /* offset dout_phaseB+  64,*/
        !           324: 
        !           325:        DCMD_JUMP+WAIT_PHASE_VALID+IF_TRUE+PHASE_CMP+DATA_IN_,
        !           326:        0,  /* offset din_phaseB+   72,*/
        !           327: 
        !           328:        DCMD_JUMP+WAIT_PHASE_VALID+IF_TRUE+PHASE_CMP+DATA_OUT_,
        !           329:        0,  /* offset dout_phaseB+  72,*/
        !           330: 
        !           331:        DCMD_JUMP+WAIT_PHASE_VALID+IF_TRUE+PHASE_CMP+DATA_IN_,
        !           332:        0,  /* offset din_phaseB+   80,*/
        !           333: 
        !           334:        DCMD_JUMP+WAIT_PHASE_VALID+IF_TRUE+PHASE_CMP+DATA_OUT_,
        !           335:        0,  /* offset dout_phaseB+  80,*/
        !           336: 
        !           337:        DCMD_JUMP+WAIT_PHASE_VALID+IF_TRUE+PHASE_CMP+DATA_IN_,
        !           338:        0,  /* offset din_phaseB+   88,*/
        !           339: 
        !           340:        DCMD_JUMP+WAIT_PHASE_VALID+IF_TRUE+PHASE_CMP+DATA_OUT_,
        !           341:        0,  /* offset dout_phaseB+  88,*/
        !           342: 
        !           343:        DCMD_JUMP+WAIT_PHASE_VALID+IF_TRUE+PHASE_CMP+DATA_IN_,
        !           344:        0,  /* offset din_phaseB+   96,*/
        !           345: 
        !           346:        DCMD_JUMP+WAIT_PHASE_VALID+IF_TRUE+PHASE_CMP+DATA_OUT_,
        !           347:        0,  /* offset dout_phaseB+  96,*/
        !           348: 
        !           349:        DCMD_JUMP+WAIT_PHASE_VALID+IF_TRUE+PHASE_CMP+DATA_IN_,
        !           350:        0,  /* offset din_phaseB+   104,*/
        !           351: 
        !           352:        DCMD_JUMP+WAIT_PHASE_VALID+IF_TRUE+PHASE_CMP+DATA_OUT_,
        !           353:        0,  /* offset dout_phaseB+  104,*/
        !           354: 
        !           355:        DCMD_JUMP+WAIT_PHASE_VALID+IF_TRUE+PHASE_CMP+DATA_IN_,
        !           356:        0,  /* offset din_phaseB+   112,*/
        !           357: 
        !           358:        DCMD_JUMP+WAIT_PHASE_VALID+IF_TRUE+PHASE_CMP+DATA_OUT_,
        !           359:        0,  /* offset dout_phaseB+  112,*/
        !           360: 
        !           361:        DCMD_JUMP+WAIT_PHASE_VALID+IF_TRUE+PHASE_CMP+DATA_IN_,
        !           362:        0,  /* offset din_phaseB+   120,*/
        !           363: 
        !           364:        DCMD_JUMP+WAIT_PHASE_VALID+IF_TRUE+PHASE_CMP+DATA_OUT_,
        !           365:        0,  /* offset dout_phaseB+  120,*/
        !           366: 
        !           367:        DCMD_JUMP+WAIT_PHASE_VALID+IF_TRUE+PHASE_CMP+DATA_IN_,
        !           368:        0,  /* offset din_phaseB+   0,*/
        !           369: 
        !           370:        DCMD_JUMP+WAIT_PHASE_VALID+IF_TRUE+PHASE_CMP+DATA_OUT_,
        !           371:        0,  /* offset dout_phaseB+  0,*/
        !           372: 
        !           373:        DCMD_JUMP+WAIT_PHASE_VALID+IF_TRUE+PHASE_CMP+DATA_IN_,
        !           374:        0,  /* offset din_phaseB+   8,*/
        !           375: 
        !           376:        DCMD_JUMP+WAIT_PHASE_VALID+IF_TRUE+PHASE_CMP+DATA_OUT_,
        !           377:        0,  /* offset dout_phaseB+  8,*/
        !           378: 
        !           379:        DCMD_JUMP+WAIT_PHASE_VALID+IF_TRUE+PHASE_CMP+DATA_IN_,
        !           380:        0,  /* offset din_phaseB+   16,*/
        !           381: 
        !           382:        DCMD_JUMP+WAIT_PHASE_VALID+IF_TRUE+PHASE_CMP+DATA_OUT_,
        !           383:        0,  /* offset dout_phaseB+  16,*/
        !           384: 
        !           385:        DCMD_JUMP+WAIT_PHASE_VALID+IF_TRUE+PHASE_CMP+DATA_IN_,
        !           386:        0,  /* offset din_phaseB+   24,*/
        !           387: 
        !           388:        DCMD_JUMP+WAIT_PHASE_VALID+IF_TRUE+PHASE_CMP+DATA_OUT_,
        !           389:        0,  /* offset dout_phaseB+  24,*/
        !           390: 
        !           391:        DCMD_JUMP+WAIT_PHASE_VALID+IF_TRUE+PHASE_CMP+DATA_IN_,
        !           392:        0,  /* offset din_phaseB+   32,*/
        !           393: 
        !           394:        DCMD_JUMP+WAIT_PHASE_VALID+IF_TRUE+PHASE_CMP+DATA_OUT_,
        !           395:        0,  /* offset dout_phaseB+  32,*/
        !           396: 
        !           397:        DCMD_JUMP+WAIT_PHASE_VALID+IF_TRUE+PHASE_CMP+DATA_IN_,
        !           398:        0,  /* offset din_phaseB+   40,*/
        !           399: 
        !           400:        DCMD_JUMP+WAIT_PHASE_VALID+IF_TRUE+PHASE_CMP+DATA_OUT_,
        !           401:        0,  /* offset dout_phaseB+  40,*/
        !           402: 
        !           403:        DCMD_JUMP+WAIT_PHASE_VALID+IF_TRUE+PHASE_CMP+DATA_IN_,
        !           404:        0,  /* offset din_phaseB+   48,*/
        !           405: 
        !           406:        DCMD_JUMP+WAIT_PHASE_VALID+IF_TRUE+PHASE_CMP+DATA_OUT_,
        !           407:        0,  /* offset dout_phaseB+  48,*/
        !           408: 
        !           409:        DCMD_JUMP+WAIT_PHASE_VALID+IF_TRUE+PHASE_CMP+DATA_IN_,
        !           410:        0,  /* offset din_phaseB+   56,*/
        !           411: 
        !           412:        DCMD_JUMP+WAIT_PHASE_VALID+IF_TRUE+PHASE_CMP+DATA_OUT_,
        !           413:        0,  /* offset dout_phaseB+  56,*/
        !           414: 
        !           415:        DCMD_JUMP+WAIT_PHASE_VALID+IF_TRUE+PHASE_CMP+DATA_IN_,
        !           416:        0,  /* offset din_phaseB+   64,*/
        !           417: 
        !           418:        DCMD_JUMP+WAIT_PHASE_VALID+IF_TRUE+PHASE_CMP+DATA_OUT_,
        !           419:        0,  /* offset dout_phaseB+  64,*/
        !           420: 
        !           421:        DCMD_JUMP+WAIT_PHASE_VALID+IF_TRUE+PHASE_CMP+DATA_IN_,
        !           422:        0,  /* offset din_phaseB+   72,*/
        !           423: 
        !           424:        DCMD_JUMP+WAIT_PHASE_VALID+IF_TRUE+PHASE_CMP+DATA_OUT_,
        !           425:        0,  /* offset dout_phaseB+  72,*/
        !           426: 
        !           427:        DCMD_JUMP+WAIT_PHASE_VALID+IF_TRUE+PHASE_CMP+DATA_IN_,
        !           428:        0,  /* offset din_phaseB+   80,*/
        !           429: 
        !           430:        DCMD_JUMP+WAIT_PHASE_VALID+IF_TRUE+PHASE_CMP+DATA_OUT_,
        !           431:        0,  /* offset dout_phaseB+  80,*/
        !           432: 
        !           433:        DCMD_JUMP+WAIT_PHASE_VALID+IF_TRUE+PHASE_CMP+DATA_IN_,
        !           434:        0,  /* offset din_phaseB+   88,*/
        !           435: 
        !           436:        DCMD_JUMP+WAIT_PHASE_VALID+IF_TRUE+PHASE_CMP+DATA_OUT_,
        !           437:        0,  /* offset dout_phaseB+  88,*/
        !           438: 
        !           439:        DCMD_JUMP+WAIT_PHASE_VALID+IF_TRUE+PHASE_CMP+DATA_IN_,
        !           440:        0,  /* offset din_phaseB+   96,*/
        !           441: 
        !           442:        DCMD_JUMP+WAIT_PHASE_VALID+IF_TRUE+PHASE_CMP+DATA_OUT_,
        !           443:        0,  /* offset dout_phaseB+  96,*/
        !           444: 
        !           445:        DCMD_JUMP+WAIT_PHASE_VALID+IF_TRUE+PHASE_CMP+DATA_IN_,
        !           446:        0,  /* offset din_phaseB+   104,*/
        !           447: 
        !           448:        DCMD_JUMP+WAIT_PHASE_VALID+IF_TRUE+PHASE_CMP+DATA_OUT_,
        !           449:        0,  /* offset dout_phaseB+  104,*/
        !           450: 
        !           451:        DCMD_JUMP+WAIT_PHASE_VALID+IF_TRUE+PHASE_CMP+DATA_IN_,
        !           452:        0,  /* offset din_phaseB+   112,*/
        !           453: 
        !           454:        DCMD_JUMP+WAIT_PHASE_VALID+IF_TRUE+PHASE_CMP+DATA_OUT_,
        !           455:        0,  /* offset dout_phaseB+  112,*/
        !           456: 
        !           457:        DCMD_JUMP+WAIT_PHASE_VALID+IF_TRUE+PHASE_CMP+DATA_IN_,
        !           458:        0,  /* offset din_phaseB+   120,*/
        !           459: 
        !           460:        DCMD_JUMP+WAIT_PHASE_VALID+IF_TRUE+PHASE_CMP+DATA_OUT_,
        !           461:        0,  /* offset dout_phaseB+  120,*/
        !           462: 
        !           463:        DCMD_JUMP+WAIT_PHASE_VALID+IF_TRUE+PHASE_CMP+DATA_IN_,
        !           464:        0,  /* offset din_phaseB+   128,*/
        !           465: 
        !           466:        DCMD_JUMP+WAIT_PHASE_VALID+IF_TRUE+PHASE_CMP+DATA_OUT_,
        !           467:        0   /* offset dout_phaseB+  128 */
        !           468:        };
        !           469: ULONG  jump_table0[]={
        !           470:        DCMD_JUMP+WAIT_PHASE_VALID+IF_TRUE+PHASE_CMP+DATA_IN_
        !           471:        };
        !           472: ULONG  jmp_din_pad_0[]={
        !           473:        0,      /* offset din_pad_0,*/
        !           474: 
        !           475:        DCMD_JUMP+WAIT_PHASE_VALID+IF_TRUE+PHASE_CMP+DATA_OUT_
        !           476:        };
        !           477: ULONG  jmp_dout_pad_0[]={
        !           478:        0       /* offset dout_pad_0 */
        !           479:        };
        !           480: 
        !           481: #define jump_tableB    jump_table0
        !           482: /*
        !           483: ;==========================================================
        !           484: ; Data in phase
        !           485: ;==========================================================
        !           486: */
        !           487: ULONG  din_phaseB[]={
        !           488:        DCMD_BLOCK_MOVE+TABLE_INDIRECT+BLOCK_MOVE+DATA_IN_,
        !           489:        0, /* offset SRB.Segment0,*/
        !           490:        DCMD_BLOCK_MOVE+TABLE_INDIRECT+BLOCK_MOVE+DATA_IN_,
        !           491:        0, /* offset SRB.Segment1,*/
        !           492:        DCMD_BLOCK_MOVE+TABLE_INDIRECT+BLOCK_MOVE+DATA_IN_,
        !           493:        0, /* offset SRB.Segment2,*/
        !           494:        DCMD_BLOCK_MOVE+TABLE_INDIRECT+BLOCK_MOVE+DATA_IN_,
        !           495:        0, /* offset SRB.Segment3,*/
        !           496:        DCMD_BLOCK_MOVE+TABLE_INDIRECT+BLOCK_MOVE+DATA_IN_,
        !           497:        0, /* offset SRB.Segment4,*/
        !           498:        DCMD_BLOCK_MOVE+TABLE_INDIRECT+BLOCK_MOVE+DATA_IN_,
        !           499:        0, /* offset SRB.Segment5,*/
        !           500:        DCMD_BLOCK_MOVE+TABLE_INDIRECT+BLOCK_MOVE+DATA_IN_,
        !           501:        0, /* offset SRB.Segment6,*/
        !           502:        DCMD_BLOCK_MOVE+TABLE_INDIRECT+BLOCK_MOVE+DATA_IN_,
        !           503:        0, /* offset SRB.Segment7,*/
        !           504:        DCMD_BLOCK_MOVE+TABLE_INDIRECT+BLOCK_MOVE+DATA_IN_,
        !           505:        0, /* offset SRB.Segment8,*/
        !           506:        DCMD_BLOCK_MOVE+TABLE_INDIRECT+BLOCK_MOVE+DATA_IN_,
        !           507:        0, /* offset SRB.Segment9,*/
        !           508:        DCMD_BLOCK_MOVE+TABLE_INDIRECT+BLOCK_MOVE+DATA_IN_,
        !           509:        0, /* offset SRB.Segment10,*/
        !           510:        DCMD_BLOCK_MOVE+TABLE_INDIRECT+BLOCK_MOVE+DATA_IN_,
        !           511:        0, /* offset SRB.Segment11,*/
        !           512:        DCMD_BLOCK_MOVE+TABLE_INDIRECT+BLOCK_MOVE+DATA_IN_,
        !           513:        0, /* offset SRB.Segment12,*/
        !           514:        DCMD_BLOCK_MOVE+TABLE_INDIRECT+BLOCK_MOVE+DATA_IN_,
        !           515:        0, /* offset SRB.Segment13,*/
        !           516:        DCMD_BLOCK_MOVE+TABLE_INDIRECT+BLOCK_MOVE+DATA_IN_,
        !           517:        0, /* offset SRB.Segment14,*/
        !           518:        DCMD_BLOCK_MOVE+TABLE_INDIRECT+BLOCK_MOVE+DATA_IN_,
        !           519:        0, /* offset SRB.Segment15,*/
        !           520:        DCMD_BLOCK_MOVE+TABLE_INDIRECT+BLOCK_MOVE+DATA_IN_,
        !           521:        0, /* offset SRB.Segment0,*/
        !           522:        DCMD_BLOCK_MOVE+TABLE_INDIRECT+BLOCK_MOVE+DATA_IN_,
        !           523:        0, /* offset SRB.Segment1,*/
        !           524:        DCMD_BLOCK_MOVE+TABLE_INDIRECT+BLOCK_MOVE+DATA_IN_,
        !           525:        0, /* offset SRB.Segment2,*/
        !           526:        DCMD_BLOCK_MOVE+TABLE_INDIRECT+BLOCK_MOVE+DATA_IN_,
        !           527:        0, /* offset SRB.Segment3,*/
        !           528:        DCMD_BLOCK_MOVE+TABLE_INDIRECT+BLOCK_MOVE+DATA_IN_,
        !           529:        0, /* offset SRB.Segment4,*/
        !           530:        DCMD_BLOCK_MOVE+TABLE_INDIRECT+BLOCK_MOVE+DATA_IN_,
        !           531:        0, /* offset SRB.Segment5,*/
        !           532:        DCMD_BLOCK_MOVE+TABLE_INDIRECT+BLOCK_MOVE+DATA_IN_,
        !           533:        0, /* offset SRB.Segment6,*/
        !           534:        DCMD_BLOCK_MOVE+TABLE_INDIRECT+BLOCK_MOVE+DATA_IN_,
        !           535:        0, /* offset SRB.Segment7,*/
        !           536:        DCMD_BLOCK_MOVE+TABLE_INDIRECT+BLOCK_MOVE+DATA_IN_,
        !           537:        0, /* offset SRB.Segment8,*/
        !           538:        DCMD_BLOCK_MOVE+TABLE_INDIRECT+BLOCK_MOVE+DATA_IN_,
        !           539:        0, /* offset SRB.Segment9,*/
        !           540:        DCMD_BLOCK_MOVE+TABLE_INDIRECT+BLOCK_MOVE+DATA_IN_,
        !           541:        0, /* offset SRB.Segment10,*/
        !           542:        DCMD_BLOCK_MOVE+TABLE_INDIRECT+BLOCK_MOVE+DATA_IN_,
        !           543:        0, /* offset SRB.Segment11,*/
        !           544:        DCMD_BLOCK_MOVE+TABLE_INDIRECT+BLOCK_MOVE+DATA_IN_,
        !           545:        0, /* offset SRB.Segment12,*/
        !           546:        DCMD_BLOCK_MOVE+TABLE_INDIRECT+BLOCK_MOVE+DATA_IN_,
        !           547:        0, /* offset SRB.Segment13,*/
        !           548:        DCMD_BLOCK_MOVE+TABLE_INDIRECT+BLOCK_MOVE+DATA_IN_,
        !           549:        0, /* offset SRB.Segment14,*/
        !           550:        DCMD_BLOCK_MOVE+TABLE_INDIRECT+BLOCK_MOVE+DATA_IN_,
        !           551:        0, /* offset SRB.Segment15,*/
        !           552:        DCMD_BLOCK_MOVE+TABLE_INDIRECT+BLOCK_MOVE+DATA_IN_,
        !           553:        0, /* offset SRB.Segment16,*/
        !           554: 
        !           555:        RD_MODIFY_WRT+OP_OR+0x100+0x340000, /*;(1 shl 8) or (__scratcha shl 16)*/
        !           556:        0,
        !           557: 
        !           558:        DCMD_JUMP+WAIT_PHASE_VALID+IF_NOT+PHASE_CMP+DATA_IN_
        !           559:        };
        !           560: ULONG  jmp_status1_phase[]={
        !           561:        0       /* offset status1_phase */
        !           562:        };
        !           563: 
        !           564: #define din_phase      din_phaseB
        !           565: 
        !           566: ULONG  din_pad_0[]={
        !           567:        RD_MODIFY_WRT+OP_OR+0x340000+0x400,  /*;(4 shl 8) or (__scratcha shl 16)*/
        !           568:        0
        !           569:        };
        !           570: ULONG  din_pad_addrB[]={
        !           571:        DCMD_BLOCK_MOVE+TABLE_INDIRECT+BLOCK_MOVE+DATA_IN_
        !           572:        };
        !           573: ULONG  SRB_SegmentPad[]={
        !           574:        0,      /* offset SRB.SegmentPad,*/
        !           575: 
        !           576:        DCMD_JUMP+IF_TRUE
        !           577:        };
        !           578: ULONG  jmp_din_pad_addrB[]={
        !           579:        0       /* offset din_pad_addrB */
        !           580:        };
        !           581: /*
        !           582: ;==========================================================
        !           583: ; Data out phase
        !           584: ;==========================================================
        !           585: */
        !           586: ULONG  dout_phaseB[]={
        !           587:        DCMD_BLOCK_MOVE+TABLE_INDIRECT+BLOCK_MOVE+DATA_OUT_,
        !           588:        0, /* offset SRB.Segment0,*/
        !           589:        DCMD_BLOCK_MOVE+TABLE_INDIRECT+BLOCK_MOVE+DATA_OUT_,
        !           590:        0, /* offset SRB.Segment1,*/
        !           591:        DCMD_BLOCK_MOVE+TABLE_INDIRECT+BLOCK_MOVE+DATA_OUT_,
        !           592:        0, /* offset SRB.Segment2,*/
        !           593:        DCMD_BLOCK_MOVE+TABLE_INDIRECT+BLOCK_MOVE+DATA_OUT_,
        !           594:        0, /* offset SRB.Segment3,*/
        !           595:        DCMD_BLOCK_MOVE+TABLE_INDIRECT+BLOCK_MOVE+DATA_OUT_,
        !           596:        0, /* offset SRB.Segment4,*/
        !           597:        DCMD_BLOCK_MOVE+TABLE_INDIRECT+BLOCK_MOVE+DATA_OUT_,
        !           598:        0, /* offset SRB.Segment5,*/
        !           599:        DCMD_BLOCK_MOVE+TABLE_INDIRECT+BLOCK_MOVE+DATA_OUT_,
        !           600:        0, /* offset SRB.Segment6,*/
        !           601:        DCMD_BLOCK_MOVE+TABLE_INDIRECT+BLOCK_MOVE+DATA_OUT_,
        !           602:        0, /* offset SRB.Segment7,*/
        !           603:        DCMD_BLOCK_MOVE+TABLE_INDIRECT+BLOCK_MOVE+DATA_OUT_,
        !           604:        0, /* offset SRB.Segment8,*/
        !           605:        DCMD_BLOCK_MOVE+TABLE_INDIRECT+BLOCK_MOVE+DATA_OUT_,
        !           606:        0, /* offset SRB.Segment9,*/
        !           607:        DCMD_BLOCK_MOVE+TABLE_INDIRECT+BLOCK_MOVE+DATA_OUT_,
        !           608:        0, /* offset SRB.Segment10,*/
        !           609:        DCMD_BLOCK_MOVE+TABLE_INDIRECT+BLOCK_MOVE+DATA_OUT_,
        !           610:        0, /* offset SRB.Segment11,*/
        !           611:        DCMD_BLOCK_MOVE+TABLE_INDIRECT+BLOCK_MOVE+DATA_OUT_,
        !           612:        0, /* offset SRB.Segment12,*/
        !           613:        DCMD_BLOCK_MOVE+TABLE_INDIRECT+BLOCK_MOVE+DATA_OUT_,
        !           614:        0, /* offset SRB.Segment13,*/
        !           615:        DCMD_BLOCK_MOVE+TABLE_INDIRECT+BLOCK_MOVE+DATA_OUT_,
        !           616:        0, /* offset SRB.Segment14,*/
        !           617:        DCMD_BLOCK_MOVE+TABLE_INDIRECT+BLOCK_MOVE+DATA_OUT_,
        !           618:        0, /* offset SRB.Segment15,*/
        !           619:        DCMD_BLOCK_MOVE+TABLE_INDIRECT+BLOCK_MOVE+DATA_OUT_,
        !           620:        0, /* offset SRB.Segment0,*/
        !           621:        DCMD_BLOCK_MOVE+TABLE_INDIRECT+BLOCK_MOVE+DATA_OUT_,
        !           622:        0, /* offset SRB.Segment1,*/
        !           623:        DCMD_BLOCK_MOVE+TABLE_INDIRECT+BLOCK_MOVE+DATA_OUT_,
        !           624:        0, /* offset SRB.Segment2,*/
        !           625:        DCMD_BLOCK_MOVE+TABLE_INDIRECT+BLOCK_MOVE+DATA_OUT_,
        !           626:        0, /* offset SRB.Segment3,*/
        !           627:        DCMD_BLOCK_MOVE+TABLE_INDIRECT+BLOCK_MOVE+DATA_OUT_,
        !           628:        0, /* offset SRB.Segment4,*/
        !           629:        DCMD_BLOCK_MOVE+TABLE_INDIRECT+BLOCK_MOVE+DATA_OUT_,
        !           630:        0, /* offset SRB.Segment5,*/
        !           631:        DCMD_BLOCK_MOVE+TABLE_INDIRECT+BLOCK_MOVE+DATA_OUT_,
        !           632:        0, /* offset SRB.Segment6,*/
        !           633:        DCMD_BLOCK_MOVE+TABLE_INDIRECT+BLOCK_MOVE+DATA_OUT_,
        !           634:        0, /* offset SRB.Segment7,*/
        !           635:        DCMD_BLOCK_MOVE+TABLE_INDIRECT+BLOCK_MOVE+DATA_OUT_,
        !           636:        0, /* offset SRB.Segment8,*/
        !           637:        DCMD_BLOCK_MOVE+TABLE_INDIRECT+BLOCK_MOVE+DATA_OUT_,
        !           638:        0, /* offset SRB.Segment9,*/
        !           639:        DCMD_BLOCK_MOVE+TABLE_INDIRECT+BLOCK_MOVE+DATA_OUT_,
        !           640:        0, /* offset SRB.Segment10,*/
        !           641:        DCMD_BLOCK_MOVE+TABLE_INDIRECT+BLOCK_MOVE+DATA_OUT_,
        !           642:        0, /* offset SRB.Segment11,*/
        !           643:        DCMD_BLOCK_MOVE+TABLE_INDIRECT+BLOCK_MOVE+DATA_OUT_,
        !           644:        0, /* offset SRB.Segment12,*/
        !           645:        DCMD_BLOCK_MOVE+TABLE_INDIRECT+BLOCK_MOVE+DATA_OUT_,
        !           646:        0, /* offset SRB.Segment13,*/
        !           647:        DCMD_BLOCK_MOVE+TABLE_INDIRECT+BLOCK_MOVE+DATA_OUT_,
        !           648:        0, /* offset SRB.Segment14,*/
        !           649:        DCMD_BLOCK_MOVE+TABLE_INDIRECT+BLOCK_MOVE+DATA_OUT_,
        !           650:        0, /* offset SRB.Segment15,*/
        !           651:        DCMD_BLOCK_MOVE+TABLE_INDIRECT+BLOCK_MOVE+DATA_OUT_,
        !           652:        0, /* offset SRB.Segment16,*/
        !           653: 
        !           654:        RD_MODIFY_WRT+OP_OR+0x100+0x340000, /*;(1 shl 8) or (__scratcha shl 16)*/
        !           655:        0,
        !           656: 
        !           657:        DCMD_JUMP+WAIT_PHASE_VALID+IF_NOT+PHASE_CMP+DATA_OUT_
        !           658:        };
        !           659: ULONG  jmp_status1_phase1[]={
        !           660:        0       /* offset status1_phase */
        !           661:        };
        !           662: 
        !           663: #define dout_phase     dout_phaseB
        !           664: 
        !           665: ULONG  dout_pad_0[]={
        !           666:        RD_MODIFY_WRT+OP_OR+0x340000+0x400, /*;(4 shl 8) or (__scratcha shl 16)*/
        !           667:        0
        !           668:        };
        !           669: ULONG  dout_pad_addrB[]={
        !           670:        DCMD_BLOCK_MOVE+TABLE_INDIRECT+BLOCK_MOVE+DATA_OUT_
        !           671:        };
        !           672: ULONG  SRB_SegmentPad1[]={
        !           673:        0,      /* offset SRB.SegmentPad,*/
        !           674: 
        !           675:        DCMD_JUMP+IF_TRUE
        !           676:        };
        !           677: ULONG  jmp_dout_pad_addrB[]={
        !           678:        0       /* offset dout_pad_addrB */
        !           679:        };
        !           680: /*
        !           681: ;==========================================================
        !           682: ; Data phase jump table for WIDE SCSI operation
        !           683: ;==========================================================
        !           684: */
        !           685: ULONG  jmp_dio_phaseW[]={
        !           686: 
        !           687:        DCMD_JUMP+WAIT_PHASE_VALID+IF_TRUE+PHASE_CMP+DATA_IN_,
        !           688:        0,  /* offset din_phaseW+   0,*/
        !           689: 
        !           690:        DCMD_JUMP+WAIT_PHASE_VALID+IF_TRUE+PHASE_CMP+DATA_OUT_,
        !           691:        0,  /* offset dout_phaseW+  0,*/
        !           692: 
        !           693:        DCMD_JUMP+WAIT_PHASE_VALID+IF_TRUE+PHASE_CMP+DATA_IN_,
        !           694:        0,  /* offset din_phaseW+   8,*/
        !           695: 
        !           696:        DCMD_JUMP+WAIT_PHASE_VALID+IF_TRUE+PHASE_CMP+DATA_OUT_,
        !           697:        0,  /* offset dout_phaseW+  8,*/
        !           698: 
        !           699:        DCMD_JUMP+WAIT_PHASE_VALID+IF_TRUE+PHASE_CMP+DATA_IN_,
        !           700:        0,  /* offset din_phaseW+  16,*/
        !           701: 
        !           702:        DCMD_JUMP+WAIT_PHASE_VALID+IF_TRUE+PHASE_CMP+DATA_OUT_,
        !           703:        0,  /* offset dout_phaseW+ 16,*/
        !           704: 
        !           705:        DCMD_JUMP+WAIT_PHASE_VALID+IF_TRUE+PHASE_CMP+DATA_IN_,
        !           706:        0,  /* offset din_phaseW+  24,*/
        !           707: 
        !           708:        DCMD_JUMP+WAIT_PHASE_VALID+IF_TRUE+PHASE_CMP+DATA_OUT_,
        !           709:        0,  /* offset dout_phaseW+ 24,*/
        !           710: 
        !           711:        DCMD_JUMP+WAIT_PHASE_VALID+IF_TRUE+PHASE_CMP+DATA_IN_,
        !           712:        0,  /* offset din_phaseW+  32,*/
        !           713: 
        !           714:        DCMD_JUMP+WAIT_PHASE_VALID+IF_TRUE+PHASE_CMP+DATA_OUT_,
        !           715:        0,  /* offset dout_phaseW+ 32,*/
        !           716: 
        !           717:        DCMD_JUMP+WAIT_PHASE_VALID+IF_TRUE+PHASE_CMP+DATA_IN_,
        !           718:        0,  /* offset din_phaseW+  40,*/
        !           719: 
        !           720:        DCMD_JUMP+WAIT_PHASE_VALID+IF_TRUE+PHASE_CMP+DATA_OUT_,
        !           721:        0,  /* offset dout_phaseW+ 40,*/
        !           722: 
        !           723:        DCMD_JUMP+WAIT_PHASE_VALID+IF_TRUE+PHASE_CMP+DATA_IN_,
        !           724:        0,  /* offset din_phaseW+  48,*/
        !           725: 
        !           726:        DCMD_JUMP+WAIT_PHASE_VALID+IF_TRUE+PHASE_CMP+DATA_OUT_,
        !           727:        0,  /* offset dout_phaseW+ 48,*/
        !           728: 
        !           729:        DCMD_JUMP+WAIT_PHASE_VALID+IF_TRUE+PHASE_CMP+DATA_IN_,
        !           730:        0,  /* offset din_phaseW+  56,*/
        !           731: 
        !           732:        DCMD_JUMP+WAIT_PHASE_VALID+IF_TRUE+PHASE_CMP+DATA_OUT_,
        !           733:        0,  /* offset dout_phaseW+ 56,*/
        !           734: 
        !           735:        DCMD_JUMP+WAIT_PHASE_VALID+IF_TRUE+PHASE_CMP+DATA_IN_,
        !           736:        0,  /* offset din_phaseW+  64,*/
        !           737: 
        !           738:        DCMD_JUMP+WAIT_PHASE_VALID+IF_TRUE+PHASE_CMP+DATA_OUT_,
        !           739:        0,  /* offset dout_phaseW+ 64,*/
        !           740: 
        !           741:        DCMD_JUMP+WAIT_PHASE_VALID+IF_TRUE+PHASE_CMP+DATA_IN_,
        !           742:        0,  /* offset din_phaseW+  72,*/
        !           743: 
        !           744:        DCMD_JUMP+WAIT_PHASE_VALID+IF_TRUE+PHASE_CMP+DATA_OUT_,
        !           745:        0,  /* offset dout_phaseW+ 72,*/
        !           746: 
        !           747:        DCMD_JUMP+WAIT_PHASE_VALID+IF_TRUE+PHASE_CMP+DATA_IN_,
        !           748:        0,  /* offset din_phaseW+  80,*/
        !           749: 
        !           750:        DCMD_JUMP+WAIT_PHASE_VALID+IF_TRUE+PHASE_CMP+DATA_OUT_,
        !           751:        0,  /* offset dout_phaseW+ 80,*/
        !           752: 
        !           753:        DCMD_JUMP+WAIT_PHASE_VALID+IF_TRUE+PHASE_CMP+DATA_IN_,
        !           754:        0,  /* offset din_phaseW+  88,*/
        !           755: 
        !           756:        DCMD_JUMP+WAIT_PHASE_VALID+IF_TRUE+PHASE_CMP+DATA_OUT_,
        !           757:        0,  /* offset dout_phaseW+ 88,*/
        !           758: 
        !           759:        DCMD_JUMP+WAIT_PHASE_VALID+IF_TRUE+PHASE_CMP+DATA_IN_,
        !           760:        0,  /* offset din_phaseW+  96,*/
        !           761: 
        !           762:        DCMD_JUMP+WAIT_PHASE_VALID+IF_TRUE+PHASE_CMP+DATA_OUT_,
        !           763:        0,  /* offset dout_phaseW+ 96,*/
        !           764: 
        !           765:        DCMD_JUMP+WAIT_PHASE_VALID+IF_TRUE+PHASE_CMP+DATA_IN_,
        !           766:        0,  /* offset din_phaseW+  104,*/
        !           767: 
        !           768:        DCMD_JUMP+WAIT_PHASE_VALID+IF_TRUE+PHASE_CMP+DATA_OUT_,
        !           769:        0,  /* offset dout_phaseW+ 104,*/
        !           770: 
        !           771:        DCMD_JUMP+WAIT_PHASE_VALID+IF_TRUE+PHASE_CMP+DATA_IN_,
        !           772:        0,  /* offset din_phaseW+  112,*/
        !           773: 
        !           774:        DCMD_JUMP+WAIT_PHASE_VALID+IF_TRUE+PHASE_CMP+DATA_OUT_,
        !           775:        0,  /* offset dout_phaseW+ 112,*/
        !           776: 
        !           777:        DCMD_JUMP+WAIT_PHASE_VALID+IF_TRUE+PHASE_CMP+DATA_IN_,
        !           778:        0,  /* offset din_phaseW+  120,*/
        !           779: 
        !           780:        DCMD_JUMP+WAIT_PHASE_VALID+IF_TRUE+PHASE_CMP+DATA_OUT_,
        !           781:        0,  /* offset dout_phaseW+ 120,*/
        !           782: 
        !           783:        DCMD_JUMP+WAIT_PHASE_VALID+IF_TRUE+PHASE_CMP+DATA_IN_,
        !           784:        0,  /* offset din_phaseW+   0,*/
        !           785: 
        !           786:        DCMD_JUMP+WAIT_PHASE_VALID+IF_TRUE+PHASE_CMP+DATA_OUT_,
        !           787:        0,  /* offset dout_phaseW+  0,*/
        !           788: 
        !           789:        DCMD_JUMP+WAIT_PHASE_VALID+IF_TRUE+PHASE_CMP+DATA_IN_,
        !           790:        0,  /* offset din_phaseW+   8,*/
        !           791: 
        !           792:        DCMD_JUMP+WAIT_PHASE_VALID+IF_TRUE+PHASE_CMP+DATA_OUT_,
        !           793:        0,  /* offset dout_phaseW+  8,*/
        !           794: 
        !           795:        DCMD_JUMP+WAIT_PHASE_VALID+IF_TRUE+PHASE_CMP+DATA_IN_,
        !           796:        0,  /* offset din_phaseW+  16,*/
        !           797: 
        !           798:        DCMD_JUMP+WAIT_PHASE_VALID+IF_TRUE+PHASE_CMP+DATA_OUT_,
        !           799:        0,  /* offset dout_phaseW+ 16,*/
        !           800: 
        !           801:        DCMD_JUMP+WAIT_PHASE_VALID+IF_TRUE+PHASE_CMP+DATA_IN_,
        !           802:        0,  /* offset din_phaseW+  24,*/
        !           803: 
        !           804:        DCMD_JUMP+WAIT_PHASE_VALID+IF_TRUE+PHASE_CMP+DATA_OUT_,
        !           805:        0,  /* offset dout_phaseW+ 24,*/
        !           806: 
        !           807:        DCMD_JUMP+WAIT_PHASE_VALID+IF_TRUE+PHASE_CMP+DATA_IN_,
        !           808:        0,  /* offset din_phaseW+  32,*/
        !           809: 
        !           810:        DCMD_JUMP+WAIT_PHASE_VALID+IF_TRUE+PHASE_CMP+DATA_OUT_,
        !           811:        0,  /* offset dout_phaseW+ 32,*/
        !           812: 
        !           813:        DCMD_JUMP+WAIT_PHASE_VALID+IF_TRUE+PHASE_CMP+DATA_IN_,
        !           814:        0,  /* offset din_phaseW+  40,*/
        !           815: 
        !           816:        DCMD_JUMP+WAIT_PHASE_VALID+IF_TRUE+PHASE_CMP+DATA_OUT_,
        !           817:        0,  /* offset dout_phaseW+ 40,*/
        !           818: 
        !           819:        DCMD_JUMP+WAIT_PHASE_VALID+IF_TRUE+PHASE_CMP+DATA_IN_,
        !           820:        0,  /* offset din_phaseW+  48,*/
        !           821: 
        !           822:        DCMD_JUMP+WAIT_PHASE_VALID+IF_TRUE+PHASE_CMP+DATA_OUT_,
        !           823:        0,  /* offset dout_phaseW+ 48,*/
        !           824: 
        !           825:        DCMD_JUMP+WAIT_PHASE_VALID+IF_TRUE+PHASE_CMP+DATA_IN_,
        !           826:        0,  /* offset din_phaseW+  56,*/
        !           827: 
        !           828:        DCMD_JUMP+WAIT_PHASE_VALID+IF_TRUE+PHASE_CMP+DATA_OUT_,
        !           829:        0,  /* offset dout_phaseW+ 56,*/
        !           830: 
        !           831:        DCMD_JUMP+WAIT_PHASE_VALID+IF_TRUE+PHASE_CMP+DATA_IN_,
        !           832:        0,  /* offset din_phaseW+  64,*/
        !           833: 
        !           834:        DCMD_JUMP+WAIT_PHASE_VALID+IF_TRUE+PHASE_CMP+DATA_OUT_,
        !           835:        0,  /* offset dout_phaseW+ 64,*/
        !           836: 
        !           837:        DCMD_JUMP+WAIT_PHASE_VALID+IF_TRUE+PHASE_CMP+DATA_IN_,
        !           838:        0,  /* offset din_phaseW+  72,*/
        !           839: 
        !           840:        DCMD_JUMP+WAIT_PHASE_VALID+IF_TRUE+PHASE_CMP+DATA_OUT_,
        !           841:        0,  /* offset dout_phaseW+ 72,*/
        !           842: 
        !           843:        DCMD_JUMP+WAIT_PHASE_VALID+IF_TRUE+PHASE_CMP+DATA_IN_,
        !           844:        0,  /* offset din_phaseW+  80,*/
        !           845: 
        !           846:        DCMD_JUMP+WAIT_PHASE_VALID+IF_TRUE+PHASE_CMP+DATA_OUT_,
        !           847:        0,  /* offset dout_phaseW+ 80,*/
        !           848: 
        !           849:        DCMD_JUMP+WAIT_PHASE_VALID+IF_TRUE+PHASE_CMP+DATA_IN_,
        !           850:        0,  /* offset din_phaseW+  88,*/
        !           851: 
        !           852:        DCMD_JUMP+WAIT_PHASE_VALID+IF_TRUE+PHASE_CMP+DATA_OUT_,
        !           853:        0,  /* offset dout_phaseW+ 88,*/
        !           854: 
        !           855:        DCMD_JUMP+WAIT_PHASE_VALID+IF_TRUE+PHASE_CMP+DATA_IN_,
        !           856:        0,  /* offset din_phaseW+  96,*/
        !           857: 
        !           858:        DCMD_JUMP+WAIT_PHASE_VALID+IF_TRUE+PHASE_CMP+DATA_OUT_,
        !           859:        0,  /* offset dout_phaseW+ 96,*/
        !           860: 
        !           861:        DCMD_JUMP+WAIT_PHASE_VALID+IF_TRUE+PHASE_CMP+DATA_IN_,
        !           862:        0,  /* offset din_phaseW+  104,*/
        !           863: 
        !           864:        DCMD_JUMP+WAIT_PHASE_VALID+IF_TRUE+PHASE_CMP+DATA_OUT_,
        !           865:        0,  /* offset dout_phaseW+ 104,*/
        !           866: 
        !           867:        DCMD_JUMP+WAIT_PHASE_VALID+IF_TRUE+PHASE_CMP+DATA_IN_,
        !           868:        0,  /* offset din_phaseW+  112,*/
        !           869: 
        !           870:        DCMD_JUMP+WAIT_PHASE_VALID+IF_TRUE+PHASE_CMP+DATA_OUT_,
        !           871:        0,  /* offset dout_phaseW+ 112,*/
        !           872: 
        !           873:        DCMD_JUMP+WAIT_PHASE_VALID+IF_TRUE+PHASE_CMP+DATA_IN_,
        !           874:        0,  /* offset din_phaseW+  120,*/
        !           875: 
        !           876:        DCMD_JUMP+WAIT_PHASE_VALID+IF_TRUE+PHASE_CMP+DATA_OUT_,
        !           877:        0,  /* offset dout_phaseW+ 120,*/
        !           878: 
        !           879:        DCMD_JUMP+WAIT_PHASE_VALID+IF_TRUE+PHASE_CMP+DATA_IN_,
        !           880:        0,  /* offset din_phaseW+  128,*/
        !           881: 
        !           882:        DCMD_JUMP+WAIT_PHASE_VALID+IF_TRUE+PHASE_CMP+DATA_OUT_,
        !           883:        0   /* offset dout_phaseW+ 128 */
        !           884:        };
        !           885: ULONG  jump_tablew[]={
        !           886:        DCMD_JUMP+WAIT_PHASE_VALID+IF_TRUE+PHASE_CMP+DATA_IN_
        !           887:        };
        !           888: ULONG  jmp_din_pad_1[]={
        !           889:        0,      /* offset din_pad_1,*/
        !           890: 
        !           891:        DCMD_JUMP+WAIT_PHASE_VALID+IF_TRUE+PHASE_CMP+DATA_OUT_
        !           892:        };
        !           893: ULONG  jmp_dout_pad_1[]={
        !           894:        0       /* offset dout_pad_1 */
        !           895:        };
        !           896: 
        !           897: #define jump_tableW    jump_tablew
        !           898: /*
        !           899: ;==========================================================
        !           900: ; Data in phase
        !           901: ;==========================================================
        !           902: */
        !           903: ULONG  din_phaseW[]={
        !           904:        DCMD_BLOCK_MOVE+TABLE_INDIRECT+CHAIN_MOVE+DATA_IN_,
        !           905:        0, /* offset SRB.Segment0,*/
        !           906:        DCMD_BLOCK_MOVE+TABLE_INDIRECT+CHAIN_MOVE+DATA_IN_,
        !           907:        0, /* offset SRB.Segment1,*/
        !           908:        DCMD_BLOCK_MOVE+TABLE_INDIRECT+CHAIN_MOVE+DATA_IN_,
        !           909:        0, /* offset SRB.Segment2,*/
        !           910:        DCMD_BLOCK_MOVE+TABLE_INDIRECT+CHAIN_MOVE+DATA_IN_,
        !           911:        0, /* offset SRB.Segment3,*/
        !           912:        DCMD_BLOCK_MOVE+TABLE_INDIRECT+CHAIN_MOVE+DATA_IN_,
        !           913:        0, /* offset SRB.Segment4,*/
        !           914:        DCMD_BLOCK_MOVE+TABLE_INDIRECT+CHAIN_MOVE+DATA_IN_,
        !           915:        0, /* offset SRB.Segment5,*/
        !           916:        DCMD_BLOCK_MOVE+TABLE_INDIRECT+CHAIN_MOVE+DATA_IN_,
        !           917:        0, /* offset SRB.Segment6,*/
        !           918:        DCMD_BLOCK_MOVE+TABLE_INDIRECT+CHAIN_MOVE+DATA_IN_,
        !           919:        0, /* offset SRB.Segment7,*/
        !           920:        DCMD_BLOCK_MOVE+TABLE_INDIRECT+CHAIN_MOVE+DATA_IN_,
        !           921:        0, /* offset SRB.Segment8,*/
        !           922:        DCMD_BLOCK_MOVE+TABLE_INDIRECT+CHAIN_MOVE+DATA_IN_,
        !           923:        0, /* offset SRB.Segment9,*/
        !           924:        DCMD_BLOCK_MOVE+TABLE_INDIRECT+CHAIN_MOVE+DATA_IN_,
        !           925:        0, /* offset SRB.Segment10,*/
        !           926:        DCMD_BLOCK_MOVE+TABLE_INDIRECT+CHAIN_MOVE+DATA_IN_,
        !           927:        0, /* offset SRB.Segment11,*/
        !           928:        DCMD_BLOCK_MOVE+TABLE_INDIRECT+CHAIN_MOVE+DATA_IN_,
        !           929:        0, /* offset SRB.Segment12,*/
        !           930:        DCMD_BLOCK_MOVE+TABLE_INDIRECT+CHAIN_MOVE+DATA_IN_,
        !           931:        0, /* offset SRB.Segment13,*/
        !           932:        DCMD_BLOCK_MOVE+TABLE_INDIRECT+CHAIN_MOVE+DATA_IN_,
        !           933:        0, /* offset SRB.Segment14,*/
        !           934:        DCMD_BLOCK_MOVE+TABLE_INDIRECT+CHAIN_MOVE+DATA_IN_,
        !           935:        0, /* offset SRB.Segment15,*/
        !           936:        DCMD_BLOCK_MOVE+TABLE_INDIRECT+CHAIN_MOVE+DATA_IN_,
        !           937:        0, /* offset SRB.Segment0,*/
        !           938:        DCMD_BLOCK_MOVE+TABLE_INDIRECT+CHAIN_MOVE+DATA_IN_,
        !           939:        0, /* offset SRB.Segment1,*/
        !           940:        DCMD_BLOCK_MOVE+TABLE_INDIRECT+CHAIN_MOVE+DATA_IN_,
        !           941:        0, /* offset SRB.Segment2,*/
        !           942:        DCMD_BLOCK_MOVE+TABLE_INDIRECT+CHAIN_MOVE+DATA_IN_,
        !           943:        0, /* offset SRB.Segment3,*/
        !           944:        DCMD_BLOCK_MOVE+TABLE_INDIRECT+CHAIN_MOVE+DATA_IN_,
        !           945:        0, /* offset SRB.Segment4,*/
        !           946:        DCMD_BLOCK_MOVE+TABLE_INDIRECT+CHAIN_MOVE+DATA_IN_,
        !           947:        0, /* offset SRB.Segment5,*/
        !           948:        DCMD_BLOCK_MOVE+TABLE_INDIRECT+CHAIN_MOVE+DATA_IN_,
        !           949:        0, /* offset SRB.Segment6,*/
        !           950:        DCMD_BLOCK_MOVE+TABLE_INDIRECT+CHAIN_MOVE+DATA_IN_,
        !           951:        0, /* offset SRB.Segment7,*/
        !           952:        DCMD_BLOCK_MOVE+TABLE_INDIRECT+CHAIN_MOVE+DATA_IN_,
        !           953:        0, /* offset SRB.Segment8,*/
        !           954:        DCMD_BLOCK_MOVE+TABLE_INDIRECT+CHAIN_MOVE+DATA_IN_,
        !           955:        0, /* offset SRB.Segment9,*/
        !           956:        DCMD_BLOCK_MOVE+TABLE_INDIRECT+CHAIN_MOVE+DATA_IN_,
        !           957:        0, /* offset SRB.Segment10,*/
        !           958:        DCMD_BLOCK_MOVE+TABLE_INDIRECT+CHAIN_MOVE+DATA_IN_,
        !           959:        0, /* offset SRB.Segment11,*/
        !           960:        DCMD_BLOCK_MOVE+TABLE_INDIRECT+CHAIN_MOVE+DATA_IN_,
        !           961:        0, /* offset SRB.Segment12,*/
        !           962:        DCMD_BLOCK_MOVE+TABLE_INDIRECT+CHAIN_MOVE+DATA_IN_,
        !           963:        0, /* offset SRB.Segment13,*/
        !           964:        DCMD_BLOCK_MOVE+TABLE_INDIRECT+CHAIN_MOVE+DATA_IN_,
        !           965:        0, /* offset SRB.Segment14,*/
        !           966:        DCMD_BLOCK_MOVE+TABLE_INDIRECT+CHAIN_MOVE+DATA_IN_,
        !           967:        0, /* offset SRB.Segment15,*/
        !           968:        DCMD_BLOCK_MOVE+TABLE_INDIRECT+CHAIN_MOVE+DATA_IN_,
        !           969:        0, /* offset SRB.Segment16,*/
        !           970: 
        !           971:        RD_MODIFY_WRT+OP_OR+0x340000+0x100, /*;(1 shl 8) or (__scratcha shl 16)*/
        !           972:        0,
        !           973: 
        !           974:        DCMD_JUMP+WAIT_PHASE_VALID+IF_NOT+PHASE_CMP+DATA_IN_
        !           975:        };
        !           976: ULONG  jmp_status1_phase2[]={
        !           977:        0       /* offset status1_phase */
        !           978:        };
        !           979: 
        !           980: #define din_phase1     din_phaseW
        !           981: 
        !           982: ULONG  din_pad_1[]={
        !           983:        RD_MODIFY_WRT+OP_OR+0x340000+0x400, /*;(4 shl 8) or (__scratcha shl 16)*/
        !           984:        0
        !           985:        };
        !           986: ULONG  din_pad_addrW[]={
        !           987:        DCMD_BLOCK_MOVE+TABLE_INDIRECT+CHAIN_MOVE+DATA_IN_
        !           988:        };
        !           989: ULONG  SRB_SegmentPad2[]={
        !           990:        0,      /* offset SRB.SegmentPad,*/
        !           991: 
        !           992:        DCMD_JUMP+IF_TRUE
        !           993:        };
        !           994: ULONG  jmp_din_pad_addrW[]={
        !           995:        0       /* offset din_pad_addrW */
        !           996:        };
        !           997: /*
        !           998: ;==========================================================
        !           999: ; Data out phase
        !          1000: ;==========================================================
        !          1001: */
        !          1002: ULONG  dout_phaseW[]={
        !          1003:        DCMD_BLOCK_MOVE+TABLE_INDIRECT+CHAIN_MOVE+DATA_OUT_,
        !          1004:        0, /* offset SRB.Segment0,*/
        !          1005:        DCMD_BLOCK_MOVE+TABLE_INDIRECT+CHAIN_MOVE+DATA_OUT_,
        !          1006:        0, /* offset SRB.Segment1,*/
        !          1007:        DCMD_BLOCK_MOVE+TABLE_INDIRECT+CHAIN_MOVE+DATA_OUT_,
        !          1008:        0, /* offset SRB.Segment2,*/
        !          1009:        DCMD_BLOCK_MOVE+TABLE_INDIRECT+CHAIN_MOVE+DATA_OUT_,
        !          1010:        0, /* offset SRB.Segment3,*/
        !          1011:        DCMD_BLOCK_MOVE+TABLE_INDIRECT+CHAIN_MOVE+DATA_OUT_,
        !          1012:        0, /* offset SRB.Segment4,*/
        !          1013:        DCMD_BLOCK_MOVE+TABLE_INDIRECT+CHAIN_MOVE+DATA_OUT_,
        !          1014:        0, /* offset SRB.Segment5,*/
        !          1015:        DCMD_BLOCK_MOVE+TABLE_INDIRECT+CHAIN_MOVE+DATA_OUT_,
        !          1016:        0, /* offset SRB.Segment6,*/
        !          1017:        DCMD_BLOCK_MOVE+TABLE_INDIRECT+CHAIN_MOVE+DATA_OUT_,
        !          1018:        0, /* offset SRB.Segment7,*/
        !          1019:        DCMD_BLOCK_MOVE+TABLE_INDIRECT+CHAIN_MOVE+DATA_OUT_,
        !          1020:        0, /* offset SRB.Segment8,*/
        !          1021:        DCMD_BLOCK_MOVE+TABLE_INDIRECT+CHAIN_MOVE+DATA_OUT_,
        !          1022:        0, /* offset SRB.Segment9,*/
        !          1023:        DCMD_BLOCK_MOVE+TABLE_INDIRECT+CHAIN_MOVE+DATA_OUT_,
        !          1024:        0, /* offset SRB.Segment10,*/
        !          1025:        DCMD_BLOCK_MOVE+TABLE_INDIRECT+CHAIN_MOVE+DATA_OUT_,
        !          1026:        0, /* offset SRB.Segment11,*/
        !          1027:        DCMD_BLOCK_MOVE+TABLE_INDIRECT+CHAIN_MOVE+DATA_OUT_,
        !          1028:        0, /* offset SRB.Segment12,*/
        !          1029:        DCMD_BLOCK_MOVE+TABLE_INDIRECT+CHAIN_MOVE+DATA_OUT_,
        !          1030:        0, /* offset SRB.Segment13,*/
        !          1031:        DCMD_BLOCK_MOVE+TABLE_INDIRECT+CHAIN_MOVE+DATA_OUT_,
        !          1032:        0, /* offset SRB.Segment14,*/
        !          1033:        DCMD_BLOCK_MOVE+TABLE_INDIRECT+CHAIN_MOVE+DATA_OUT_,
        !          1034:        0, /* offset SRB.Segment15,*/
        !          1035:        DCMD_BLOCK_MOVE+TABLE_INDIRECT+CHAIN_MOVE+DATA_OUT_,
        !          1036:        0, /* offset SRB.Segment0,*/
        !          1037:        DCMD_BLOCK_MOVE+TABLE_INDIRECT+CHAIN_MOVE+DATA_OUT_,
        !          1038:        0, /* offset SRB.Segment1,*/
        !          1039:        DCMD_BLOCK_MOVE+TABLE_INDIRECT+CHAIN_MOVE+DATA_OUT_,
        !          1040:        0, /* offset SRB.Segment2,*/
        !          1041:        DCMD_BLOCK_MOVE+TABLE_INDIRECT+CHAIN_MOVE+DATA_OUT_,
        !          1042:        0, /* offset SRB.Segment3,*/
        !          1043:        DCMD_BLOCK_MOVE+TABLE_INDIRECT+CHAIN_MOVE+DATA_OUT_,
        !          1044:        0, /* offset SRB.Segment4,*/
        !          1045:        DCMD_BLOCK_MOVE+TABLE_INDIRECT+CHAIN_MOVE+DATA_OUT_,
        !          1046:        0, /* offset SRB.Segment5,*/
        !          1047:        DCMD_BLOCK_MOVE+TABLE_INDIRECT+CHAIN_MOVE+DATA_OUT_,
        !          1048:        0, /* offset SRB.Segment6,*/
        !          1049:        DCMD_BLOCK_MOVE+TABLE_INDIRECT+CHAIN_MOVE+DATA_OUT_,
        !          1050:        0, /* offset SRB.Segment7,*/
        !          1051:        DCMD_BLOCK_MOVE+TABLE_INDIRECT+CHAIN_MOVE+DATA_OUT_,
        !          1052:        0, /* offset SRB.Segment8,*/
        !          1053:        DCMD_BLOCK_MOVE+TABLE_INDIRECT+CHAIN_MOVE+DATA_OUT_,
        !          1054:        0, /* offset SRB.Segment9,*/
        !          1055:        DCMD_BLOCK_MOVE+TABLE_INDIRECT+CHAIN_MOVE+DATA_OUT_,
        !          1056:        0, /* offset SRB.Segment10,*/
        !          1057:        DCMD_BLOCK_MOVE+TABLE_INDIRECT+CHAIN_MOVE+DATA_OUT_,
        !          1058:        0, /* offset SRB.Segment11,*/
        !          1059:        DCMD_BLOCK_MOVE+TABLE_INDIRECT+CHAIN_MOVE+DATA_OUT_,
        !          1060:        0, /* offset SRB.Segment12,*/
        !          1061:        DCMD_BLOCK_MOVE+TABLE_INDIRECT+CHAIN_MOVE+DATA_OUT_,
        !          1062:        0, /* offset SRB.Segment13,*/
        !          1063:        DCMD_BLOCK_MOVE+TABLE_INDIRECT+CHAIN_MOVE+DATA_OUT_,
        !          1064:        0, /* offset SRB.Segment14,*/
        !          1065:        DCMD_BLOCK_MOVE+TABLE_INDIRECT+CHAIN_MOVE+DATA_OUT_,
        !          1066:        0, /* offset SRB.Segment15,*/
        !          1067: /*;    18000000h or DATA_OUT_ */
        !          1068:        DCMD_BLOCK_MOVE+TABLE_INDIRECT+BLOCK_MOVE+DATA_OUT_,
        !          1069:        0, /* offset SRB.Segment16,*/
        !          1070: 
        !          1071:        RD_MODIFY_WRT+OP_OR+0x340000+0x100, /*;(1 shl 8) or (__scratcha shl 16)*/
        !          1072:        0,
        !          1073: 
        !          1074:        DCMD_JUMP+WAIT_PHASE_VALID+IF_NOT+PHASE_CMP+DATA_OUT_
        !          1075:        };
        !          1076: ULONG  jmp_status1_phase3[]={
        !          1077:        0       /* offset status1_phase */
        !          1078:        };
        !          1079: 
        !          1080: #define dout_phase1    dout_phaseW
        !          1081: 
        !          1082: ULONG  dout_pad_1[]={
        !          1083:        RD_MODIFY_WRT+OP_OR+0x340000+0x400, /*;(4 shl 8) or (__scratcha shl 16)*/
        !          1084:        0
        !          1085:        };
        !          1086: ULONG  dout_pad_addrW[]={
        !          1087:        DCMD_BLOCK_MOVE+TABLE_INDIRECT+BLOCK_MOVE+DATA_OUT_
        !          1088:        };
        !          1089: ULONG  SRB_SegmentPad3[]={
        !          1090:        0,      /* offset SRB.SegmentPad,*/
        !          1091: 
        !          1092:        DCMD_JUMP+IF_TRUE
        !          1093:        };
        !          1094: ULONG  jmp_dout_pad_addrW[]={
        !          1095:        0       /* offset dout_pad_addrW */
        !          1096:        };
        !          1097: /*
        !          1098: ;==========================================================
        !          1099: ; message out phase
        !          1100: ;==========================================================
        !          1101: */
        !          1102: ULONG  mout_phase[]={
        !          1103:        DCMD_SET_ATN,
        !          1104:        0,
        !          1105: 
        !          1106:        DCMD_BLOCK_MOVE+TABLE_INDIRECT+BLOCK_MOVE+MSG_OUT_
        !          1107:        };
        !          1108: ULONG  SRB_msgout01[]={
        !          1109:        0,      /* offset SRB.__msgout0,*/
        !          1110: 
        !          1111:        DCMD_JUMP+IF_TRUE
        !          1112:        };
        !          1113: ULONG  jmp_check_phase2[]={
        !          1114:        0       /* offset check_phase */
        !          1115:        };
        !          1116: /*
        !          1117: ;==========================================================
        !          1118: ; Status phase process
        !          1119: ;==========================================================
        !          1120: */
        !          1121: ULONG  status_phase[]={
        !          1122:        DCMD_BLOCK_MOVE+BLOCK_MOVE+STATUS_+1
        !          1123:        };
        !          1124: ULONG  ACB_status[]={
        !          1125:        0       /* offset ACB.status */
        !          1126:        };
        !          1127: /*
        !          1128: ;==========================================================
        !          1129: ; message in phase
        !          1130: ;==========================================================
        !          1131: */
        !          1132: ULONG  min_phase[]={
        !          1133:        DCMD_BLOCK_MOVE+BLOCK_MOVE+MSG_IN_+1
        !          1134:        };
        !          1135: ULONG  ACB_msgin123_3[]={
        !          1136:        0,      /* offset ACB.msgin123,*/
        !          1137: 
        !          1138:        DCMD_JUMP+IF_NOT+DATA_CMP+CMD_COMPLETE
        !          1139:        };
        !          1140: ULONG  jmp_jump_msgok[]={
        !          1141:        0       /* offset jump_msgok */
        !          1142:        };
        !          1143: /*
        !          1144: ;==========================================================
        !          1145: ; command complete message
        !          1146: ;==========================================================
        !          1147: */
        !          1148: ULONG  msg__0[]={
        !          1149:        RD_MODIFY_WRT+OP_AND+0x20000+0x7F00, /*;(7FH shl 8) or (__scntl2 shl 16)*/
        !          1150:        0,
        !          1151: 
        !          1152:        DCMD_CLR_ACK,
        !          1153:        0,
        !          1154: 
        !          1155:        DCMD_WAIT_DISC,
        !          1156:        0,
        !          1157: 
        !          1158:        DCMD_INT+IF_TRUE,
        !          1159:        __COMPLETE
        !          1160:        };
        !          1161: /*
        !          1162: ;==========================================================
        !          1163: ; Other message
        !          1164: ;==========================================================
        !          1165: */
        !          1166: ULONG  jump_msgok[]={
        !          1167:        DCMD_JUMP+IF_TRUE+DATA_CMP+SAVE_PTR
        !          1168:        };
        !          1169: ULONG  jmp_msg__a[]={
        !          1170:        0,      /* offset msg__a,*/
        !          1171: 
        !          1172:        DCMD_JUMP+IF_TRUE+DATA_CMP+RESTORE_PTR
        !          1173:        };
        !          1174: ULONG  jmp_msg__3[]={
        !          1175:        0,      /* offset msg__3,*/
        !          1176: 
        !          1177:        DCMD_JUMP+IF_TRUE+DATA_CMP+DISCONNECTMSG
        !          1178:        };
        !          1179: ULONG  jmp_msg__4[]={
        !          1180:        0,      /* offset msg__4,*/
        !          1181: 
        !          1182:        DCMD_JUMP+IF_TRUE+DATA_CMP+EXT_MSG
        !          1183:        };
        !          1184: ULONG  jmp_msg__1[]={
        !          1185:        0,      /* offset msg__1,*/
        !          1186: 
        !          1187:        DCMD_INT+IF_TRUE+DATA_CMP+MSG_REJECT,
        !          1188:        __MSGREJECT,
        !          1189: 
        !          1190:        DCMD_JUMP+IF_TRUE+DATA_CMP+LINK_CMD_CPL
        !          1191:        };
        !          1192: ULONG  jmp_msg__a1[]={
        !          1193:        0,      /* offset msg__a,*/
        !          1194: 
        !          1195:        DCMD_JUMP+IF_TRUE+DATA_CMP+LINK_CMD_FLAG
        !          1196:        };
        !          1197: ULONG  jmp_msg__a2[]={
        !          1198:        0,      /* offset msg__a,*/
        !          1199: 
        !          1200:        DCMD_JUMP+IF_TRUE+DATA_CMP+IGNORE_WIDE_RES
        !          1201:        };
        !          1202: ULONG  jmp_msg__23[]={
        !          1203:        0,      /* offset msg__23,*/
        !          1204: 
        !          1205:        DCMD_INT+IF_TRUE,
        !          1206:        __MSGUNKNOWN
        !          1207:        };
        !          1208: /*
        !          1209: ;==========================================================
        !          1210: ; Extended message
        !          1211: ;==========================================================
        !          1212: */
        !          1213: ULONG  msg__1[]={
        !          1214:        DCMD_CLR_ACK,
        !          1215:        0,
        !          1216: 
        !          1217:        DCMD_BLOCK_MOVE+BLOCK_MOVE+MSG_IN_+1   /*  ;ext msg len */
        !          1218:        };
        !          1219: ULONG  ACB_msgin123_4[]={
        !          1220:        0,      /* offset ACB.msgin123,*/
        !          1221: 
        !          1222:        DCMD_JUMP+IF_TRUE+DATA_CMP+3
        !          1223:        };
        !          1224: ULONG  jmp_msg___3[]={
        !          1225:        0,      /* offset msg___3,*/
        !          1226: 
        !          1227:        DCMD_JUMP+IF_TRUE+DATA_CMP+2
        !          1228:        };
        !          1229: ULONG  jmp_msg___2[]={
        !          1230:        0,      /* offset msg___2,*/
        !          1231: 
        !          1232:        DCMD_INT+IF_TRUE,
        !          1233:        __MSGEXTEND
        !          1234:        };
        !          1235: 
        !          1236: ULONG  msg___3[]={
        !          1237:        DCMD_CLR_ACK,
        !          1238:        0,
        !          1239: 
        !          1240:        DCMD_BLOCK_MOVE+BLOCK_MOVE+MSG_IN_+3
        !          1241:        };
        !          1242: ULONG  ACB_msgin123_5[]={
        !          1243:        0,      /* offset ACB.msgin123,*/
        !          1244: 
        !          1245:        DCMD_INT+IF_TRUE,
        !          1246:        __MSGSYNC
        !          1247:        };
        !          1248: 
        !          1249: ULONG  msg___2[]={
        !          1250:        DCMD_CLR_ACK,
        !          1251:        0,
        !          1252: 
        !          1253:        DCMD_BLOCK_MOVE+BLOCK_MOVE+MSG_IN_+2
        !          1254:        };
        !          1255: ULONG  ACB_msgin123_6[]={
        !          1256:        0,      /* offset ACB.msgin123,*/
        !          1257: 
        !          1258:        DCMD_INT+IF_TRUE,
        !          1259:        __MSGWIDE
        !          1260:        };
        !          1261: /*
        !          1262: ;############################################################
        !          1263: ; for synchronous negotiation
        !          1264: ; 1. Active  ==> INT3, restart at data__1_2
        !          1265: ; 2. Passive ==> INT3, prepare message out, restart at data__1_1
        !          1266: ; 3. Disable ==> INT3, prepare message out, restart at data__1_1
        !          1267: ;############################################################
        !          1268: */
        !          1269: ULONG  set_atn[]={
        !          1270:        DCMD_SET_ATN,
        !          1271:        0
        !          1272:        };
        !          1273: ULONG  msg__a[]={
        !          1274:        DCMD_CLR_ACK,
        !          1275:        0,
        !          1276: 
        !          1277:        DCMD_JUMP+IF_TRUE
        !          1278:        };
        !          1279: ULONG  jmp_check_phase3[]={
        !          1280:        0       /* offset check_phase */
        !          1281:        };
        !          1282: 
        !          1283: ULONG  msg__23[]={        /*    ; ignore wide residue */
        !          1284:        DCMD_CLR_ACK,
        !          1285:        0,
        !          1286: 
        !          1287:        DCMD_BLOCK_MOVE+BLOCK_MOVE+MSG_IN_+1
        !          1288:        };
        !          1289: ULONG  ACB_msgin123_7[]={
        !          1290:        0,      /* offset ACB.msgin123,*/
        !          1291: 
        !          1292:        DCMD_CLR_ACK,
        !          1293:        0,
        !          1294: 
        !          1295:        DCMD_JUMP+IF_TRUE
        !          1296:        };
        !          1297: ULONG  jmp_check_phase4[]={
        !          1298:        0       /* offset check_phase */
        !          1299:        };
        !          1300: 
        !          1301: ULONG  msg__3[]={
        !          1302:        DCMD_CLR_ACK,
        !          1303:        0,
        !          1304: 
        !          1305:        DCMD_JUMP+IF_TRUE
        !          1306:        };
        !          1307: ULONG  jmp_check_phase5[]={
        !          1308:        0       /* offset check_phase */
        !          1309:        };
        !          1310: 
        !          1311: ULONG  msg__4[]={         /*    ; disconnect */
        !          1312:        RD_MODIFY_WRT+OP_AND+0x20000+0x7F00, /*;(7FH shl 8) or (__scntl2 shl 16)*/
        !          1313:        0,
        !          1314: 
        !          1315:        DCMD_CLR_ACK,
        !          1316:        0,
        !          1317: 
        !          1318:        DCMD_WAIT_DISC,
        !          1319:        0,
        !          1320: 
        !          1321:        DCMD_INT+IF_TRUE,
        !          1322:        __DISCONNECTED
        !          1323:        };
        !          1324: 
        !          1325: ULONG  clr_atn[]={
        !          1326:        DCMD_CLR_ATN,
        !          1327:        0,
        !          1328: 
        !          1329:        DCMD_JUMP+IF_TRUE
        !          1330:        };
        !          1331: ULONG  jmp_check_phase6[]={
        !          1332:        0       /* offset check_phase */
        !          1333:        };
        !          1334: /*
        !          1335: ;==========================================================
        !          1336: ; Used for script operation
        !          1337: ;==========================================================
        !          1338: */
        !          1339: ULONG  start_mov[]={
        !          1340: /*;      DCMD_MEM_MOVE+(OFFSET DGROUP:end_script - OFFSET DGROUP:start_script)   ;Memory move SCRIPTS instruction*/
        !          1341:        DCMD_MEM_MOVE+0x1000      /*;Memory move SCRIPTS instruction ( 4K )*/
        !          1342:        };
        !          1343: ULONG  SrcPhysAddr[]={
        !          1344:        0               /*; source */
        !          1345:        };
        !          1346: ULONG  DesPhysAddr[]={
        !          1347:        0,              /*; destination */
        !          1348: 
        !          1349:        DCMD_INT+IF_TRUE, /*; script interrupt, */
        !          1350:        0,
        !          1351: 
        !          1352:        DCMD_INT+IF_NOT,  /*; script interrupt */
        !          1353:        0
        !          1354:        };
        !          1355: ULONG  end_script[]={0};
        !          1356: /***********************************************************************/
        !          1357: 

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.