📄 scripts.h
字号:
0, /* offset SRB.Segment1,*/ DCMD_BLOCK_MOVE+TABLE_INDIRECT+CHAIN_MOVE+DATA_IN_, 0, /* offset SRB.Segment2,*/ DCMD_BLOCK_MOVE+TABLE_INDIRECT+CHAIN_MOVE+DATA_IN_, 0, /* offset SRB.Segment3,*/ DCMD_BLOCK_MOVE+TABLE_INDIRECT+CHAIN_MOVE+DATA_IN_, 0, /* offset SRB.Segment4,*/ DCMD_BLOCK_MOVE+TABLE_INDIRECT+CHAIN_MOVE+DATA_IN_, 0, /* offset SRB.Segment5,*/ DCMD_BLOCK_MOVE+TABLE_INDIRECT+CHAIN_MOVE+DATA_IN_, 0, /* offset SRB.Segment6,*/ DCMD_BLOCK_MOVE+TABLE_INDIRECT+CHAIN_MOVE+DATA_IN_, 0, /* offset SRB.Segment7,*/ DCMD_BLOCK_MOVE+TABLE_INDIRECT+CHAIN_MOVE+DATA_IN_, 0, /* offset SRB.Segment8,*/ DCMD_BLOCK_MOVE+TABLE_INDIRECT+CHAIN_MOVE+DATA_IN_, 0, /* offset SRB.Segment9,*/ DCMD_BLOCK_MOVE+TABLE_INDIRECT+CHAIN_MOVE+DATA_IN_, 0, /* offset SRB.Segment10,*/ DCMD_BLOCK_MOVE+TABLE_INDIRECT+CHAIN_MOVE+DATA_IN_, 0, /* offset SRB.Segment11,*/ DCMD_BLOCK_MOVE+TABLE_INDIRECT+CHAIN_MOVE+DATA_IN_, 0, /* offset SRB.Segment12,*/ DCMD_BLOCK_MOVE+TABLE_INDIRECT+CHAIN_MOVE+DATA_IN_, 0, /* offset SRB.Segment13,*/ DCMD_BLOCK_MOVE+TABLE_INDIRECT+CHAIN_MOVE+DATA_IN_, 0, /* offset SRB.Segment14,*/ DCMD_BLOCK_MOVE+TABLE_INDIRECT+CHAIN_MOVE+DATA_IN_, 0, /* offset SRB.Segment15,*/ DCMD_BLOCK_MOVE+TABLE_INDIRECT+CHAIN_MOVE+DATA_IN_, 0, /* offset SRB.Segment0,*/ DCMD_BLOCK_MOVE+TABLE_INDIRECT+CHAIN_MOVE+DATA_IN_, 0, /* offset SRB.Segment1,*/ DCMD_BLOCK_MOVE+TABLE_INDIRECT+CHAIN_MOVE+DATA_IN_, 0, /* offset SRB.Segment2,*/ DCMD_BLOCK_MOVE+TABLE_INDIRECT+CHAIN_MOVE+DATA_IN_, 0, /* offset SRB.Segment3,*/ DCMD_BLOCK_MOVE+TABLE_INDIRECT+CHAIN_MOVE+DATA_IN_, 0, /* offset SRB.Segment4,*/ DCMD_BLOCK_MOVE+TABLE_INDIRECT+CHAIN_MOVE+DATA_IN_, 0, /* offset SRB.Segment5,*/ DCMD_BLOCK_MOVE+TABLE_INDIRECT+CHAIN_MOVE+DATA_IN_, 0, /* offset SRB.Segment6,*/ DCMD_BLOCK_MOVE+TABLE_INDIRECT+CHAIN_MOVE+DATA_IN_, 0, /* offset SRB.Segment7,*/ DCMD_BLOCK_MOVE+TABLE_INDIRECT+CHAIN_MOVE+DATA_IN_, 0, /* offset SRB.Segment8,*/ DCMD_BLOCK_MOVE+TABLE_INDIRECT+CHAIN_MOVE+DATA_IN_, 0, /* offset SRB.Segment9,*/ DCMD_BLOCK_MOVE+TABLE_INDIRECT+CHAIN_MOVE+DATA_IN_, 0, /* offset SRB.Segment10,*/ DCMD_BLOCK_MOVE+TABLE_INDIRECT+CHAIN_MOVE+DATA_IN_, 0, /* offset SRB.Segment11,*/ DCMD_BLOCK_MOVE+TABLE_INDIRECT+CHAIN_MOVE+DATA_IN_, 0, /* offset SRB.Segment12,*/ DCMD_BLOCK_MOVE+TABLE_INDIRECT+CHAIN_MOVE+DATA_IN_, 0, /* offset SRB.Segment13,*/ DCMD_BLOCK_MOVE+TABLE_INDIRECT+CHAIN_MOVE+DATA_IN_, 0, /* offset SRB.Segment14,*/ DCMD_BLOCK_MOVE+TABLE_INDIRECT+CHAIN_MOVE+DATA_IN_, 0, /* offset SRB.Segment15,*/ DCMD_BLOCK_MOVE+TABLE_INDIRECT+CHAIN_MOVE+DATA_IN_, 0, /* offset SRB.Segment16,*/ RD_MODIFY_WRT+OP_OR+0x340000+0x100, /*;(1 shl 8) or (__scratcha shl 16)*/ 0, DCMD_JUMP+WAIT_PHASE_VALID+IF_NOT+PHASE_CMP+DATA_IN_ };ULONG jmp_status1_phase2[]={ 0 /* offset status1_phase */ };#define din_phase1 din_phaseWULONG din_pad_1[]={ RD_MODIFY_WRT+OP_OR+0x340000+0x400, /*;(4 shl 8) or (__scratcha shl 16)*/ 0 };ULONG din_pad_addrW[]={ DCMD_BLOCK_MOVE+TABLE_INDIRECT+CHAIN_MOVE+DATA_IN_ };ULONG SRB_SegmentPad2[]={ 0, /* offset SRB.SegmentPad,*/ DCMD_JUMP+IF_TRUE };ULONG jmp_din_pad_addrW[]={ 0 /* offset din_pad_addrW */ };/*;==========================================================; Data out phase;==========================================================*/ULONG dout_phaseW[]={ DCMD_BLOCK_MOVE+TABLE_INDIRECT+CHAIN_MOVE+DATA_OUT_, 0, /* offset SRB.Segment0,*/ DCMD_BLOCK_MOVE+TABLE_INDIRECT+CHAIN_MOVE+DATA_OUT_, 0, /* offset SRB.Segment1,*/ DCMD_BLOCK_MOVE+TABLE_INDIRECT+CHAIN_MOVE+DATA_OUT_, 0, /* offset SRB.Segment2,*/ DCMD_BLOCK_MOVE+TABLE_INDIRECT+CHAIN_MOVE+DATA_OUT_, 0, /* offset SRB.Segment3,*/ DCMD_BLOCK_MOVE+TABLE_INDIRECT+CHAIN_MOVE+DATA_OUT_, 0, /* offset SRB.Segment4,*/ DCMD_BLOCK_MOVE+TABLE_INDIRECT+CHAIN_MOVE+DATA_OUT_, 0, /* offset SRB.Segment5,*/ DCMD_BLOCK_MOVE+TABLE_INDIRECT+CHAIN_MOVE+DATA_OUT_, 0, /* offset SRB.Segment6,*/ DCMD_BLOCK_MOVE+TABLE_INDIRECT+CHAIN_MOVE+DATA_OUT_, 0, /* offset SRB.Segment7,*/ DCMD_BLOCK_MOVE+TABLE_INDIRECT+CHAIN_MOVE+DATA_OUT_, 0, /* offset SRB.Segment8,*/ DCMD_BLOCK_MOVE+TABLE_INDIRECT+CHAIN_MOVE+DATA_OUT_, 0, /* offset SRB.Segment9,*/ DCMD_BLOCK_MOVE+TABLE_INDIRECT+CHAIN_MOVE+DATA_OUT_, 0, /* offset SRB.Segment10,*/ DCMD_BLOCK_MOVE+TABLE_INDIRECT+CHAIN_MOVE+DATA_OUT_, 0, /* offset SRB.Segment11,*/ DCMD_BLOCK_MOVE+TABLE_INDIRECT+CHAIN_MOVE+DATA_OUT_, 0, /* offset SRB.Segment12,*/ DCMD_BLOCK_MOVE+TABLE_INDIRECT+CHAIN_MOVE+DATA_OUT_, 0, /* offset SRB.Segment13,*/ DCMD_BLOCK_MOVE+TABLE_INDIRECT+CHAIN_MOVE+DATA_OUT_, 0, /* offset SRB.Segment14,*/ DCMD_BLOCK_MOVE+TABLE_INDIRECT+CHAIN_MOVE+DATA_OUT_, 0, /* offset SRB.Segment15,*/ DCMD_BLOCK_MOVE+TABLE_INDIRECT+CHAIN_MOVE+DATA_OUT_, 0, /* offset SRB.Segment0,*/ DCMD_BLOCK_MOVE+TABLE_INDIRECT+CHAIN_MOVE+DATA_OUT_, 0, /* offset SRB.Segment1,*/ DCMD_BLOCK_MOVE+TABLE_INDIRECT+CHAIN_MOVE+DATA_OUT_, 0, /* offset SRB.Segment2,*/ DCMD_BLOCK_MOVE+TABLE_INDIRECT+CHAIN_MOVE+DATA_OUT_, 0, /* offset SRB.Segment3,*/ DCMD_BLOCK_MOVE+TABLE_INDIRECT+CHAIN_MOVE+DATA_OUT_, 0, /* offset SRB.Segment4,*/ DCMD_BLOCK_MOVE+TABLE_INDIRECT+CHAIN_MOVE+DATA_OUT_, 0, /* offset SRB.Segment5,*/ DCMD_BLOCK_MOVE+TABLE_INDIRECT+CHAIN_MOVE+DATA_OUT_, 0, /* offset SRB.Segment6,*/ DCMD_BLOCK_MOVE+TABLE_INDIRECT+CHAIN_MOVE+DATA_OUT_, 0, /* offset SRB.Segment7,*/ DCMD_BLOCK_MOVE+TABLE_INDIRECT+CHAIN_MOVE+DATA_OUT_, 0, /* offset SRB.Segment8,*/ DCMD_BLOCK_MOVE+TABLE_INDIRECT+CHAIN_MOVE+DATA_OUT_, 0, /* offset SRB.Segment9,*/ DCMD_BLOCK_MOVE+TABLE_INDIRECT+CHAIN_MOVE+DATA_OUT_, 0, /* offset SRB.Segment10,*/ DCMD_BLOCK_MOVE+TABLE_INDIRECT+CHAIN_MOVE+DATA_OUT_, 0, /* offset SRB.Segment11,*/ DCMD_BLOCK_MOVE+TABLE_INDIRECT+CHAIN_MOVE+DATA_OUT_, 0, /* offset SRB.Segment12,*/ DCMD_BLOCK_MOVE+TABLE_INDIRECT+CHAIN_MOVE+DATA_OUT_, 0, /* offset SRB.Segment13,*/ DCMD_BLOCK_MOVE+TABLE_INDIRECT+CHAIN_MOVE+DATA_OUT_, 0, /* offset SRB.Segment14,*/ DCMD_BLOCK_MOVE+TABLE_INDIRECT+CHAIN_MOVE+DATA_OUT_, 0, /* offset SRB.Segment15,*//*; 18000000h or DATA_OUT_ */ DCMD_BLOCK_MOVE+TABLE_INDIRECT+BLOCK_MOVE+DATA_OUT_, 0, /* offset SRB.Segment16,*/ RD_MODIFY_WRT+OP_OR+0x340000+0x100, /*;(1 shl 8) or (__scratcha shl 16)*/ 0, DCMD_JUMP+WAIT_PHASE_VALID+IF_NOT+PHASE_CMP+DATA_OUT_ };ULONG jmp_status1_phase3[]={ 0 /* offset status1_phase */ };#define dout_phase1 dout_phaseWULONG dout_pad_1[]={ RD_MODIFY_WRT+OP_OR+0x340000+0x400, /*;(4 shl 8) or (__scratcha shl 16)*/ 0 };ULONG dout_pad_addrW[]={ DCMD_BLOCK_MOVE+TABLE_INDIRECT+BLOCK_MOVE+DATA_OUT_ };ULONG SRB_SegmentPad3[]={ 0, /* offset SRB.SegmentPad,*/ DCMD_JUMP+IF_TRUE };ULONG jmp_dout_pad_addrW[]={ 0 /* offset dout_pad_addrW */ };/*;==========================================================; message out phase;==========================================================*/ULONG mout_phase[]={ DCMD_SET_ATN, 0, DCMD_BLOCK_MOVE+TABLE_INDIRECT+BLOCK_MOVE+MSG_OUT_ };ULONG SRB_msgout01[]={ 0, /* offset SRB.__msgout0,*/ DCMD_JUMP+IF_TRUE };ULONG jmp_check_phase2[]={ 0 /* offset check_phase */ };/*;==========================================================; Status phase process;==========================================================*/ULONG status_phase[]={ DCMD_BLOCK_MOVE+BLOCK_MOVE+STATUS_+1 };ULONG ACB_status[]={ 0 /* offset ACB.status */ };/*;==========================================================; message in phase;==========================================================*/ULONG min_phase[]={ DCMD_BLOCK_MOVE+BLOCK_MOVE+MSG_IN_+1 };ULONG ACB_msgin123_3[]={ 0, /* offset ACB.msgin123,*/ DCMD_JUMP+IF_NOT+DATA_CMP+CMD_COMPLETE };ULONG jmp_jump_msgok[]={ 0 /* offset jump_msgok */ };/*;==========================================================; command complete message;==========================================================*/ULONG msg__0[]={ RD_MODIFY_WRT+OP_AND+0x20000+0x7F00, /*;(7FH shl 8) or (__scntl2 shl 16)*/ 0, DCMD_CLR_ACK, 0, DCMD_WAIT_DISC, 0, DCMD_INT+IF_TRUE, __COMPLETE };/*;==========================================================; Other message;==========================================================*/ULONG jump_msgok[]={ DCMD_JUMP+IF_TRUE+DATA_CMP+SAVE_PTR };ULONG jmp_msg__a[]={ 0, /* offset msg__a,*/ DCMD_JUMP+IF_TRUE+DATA_CMP+RESTORE_PTR };ULONG jmp_msg__3[]={ 0, /* offset msg__3,*/ DCMD_JUMP+IF_TRUE+DATA_CMP+DISCONNECTMSG };ULONG jmp_msg__4[]={ 0, /* offset msg__4,*/ DCMD_JUMP+IF_TRUE+DATA_CMP+EXT_MSG };ULONG jmp_msg__1[]={ 0, /* offset msg__1,*/ DCMD_INT+IF_TRUE+DATA_CMP+MSG_REJECT, __MSGREJECT, DCMD_JUMP+IF_TRUE+DATA_CMP+LINK_CMD_CPL };ULONG jmp_msg__a1[]={ 0, /* offset msg__a,*/ DCMD_JUMP+IF_TRUE+DATA_CMP+LINK_CMD_FLAG };ULONG jmp_msg__a2[]={ 0, /* offset msg__a,*/ DCMD_JUMP+IF_TRUE+DATA_CMP+IGNORE_WIDE_RES };ULONG jmp_msg__23[]={ 0, /* offset msg__23,*/ DCMD_INT+IF_TRUE, __MSGUNKNOWN };/*;==========================================================; Extended message;==========================================================*/ULONG msg__1[]={ DCMD_CLR_ACK, 0, DCMD_BLOCK_MOVE+BLOCK_MOVE+MSG_IN_+1 /* ;ext msg len */ };ULONG ACB_msgin123_4[]={ 0, /* offset ACB.msgin123,*/ DCMD_JUMP+IF_TRUE+DATA_CMP+3 };ULONG jmp_msg___3[]={ 0, /* offset msg___3,*/ DCMD_JUMP+IF_TRUE+DATA_CMP+2 };ULONG jmp_msg___2[]={ 0, /* offset msg___2,*/ DCMD_INT+IF_TRUE, __MSGEXTEND };ULONG msg___3[]={ DCMD_CLR_ACK, 0, DCMD_BLOCK_MOVE+BLOCK_MOVE+MSG_IN_+3 };ULONG ACB_msgin123_5[]={ 0, /* offset ACB.msgin123,*/ DCMD_INT+IF_TRUE, __MSGSYNC };ULONG msg___2[]={ DCMD_CLR_ACK, 0, DCMD_BLOCK_MOVE+BLOCK_MOVE+MSG_IN_+2 };ULONG ACB_msgin123_6[]={ 0, /* offset ACB.msgin123,*/ DCMD_INT+IF_TRUE, __MSGWIDE };/*;############################################################; for synchronous negotiation; 1. Active ==> INT3, restart at data__1_2; 2. Passive ==> INT3, prepare message out, restart at data__1_1; 3. Disable ==> INT3, prepare message out, restart at data__1_1;############################################################*/ULONG set_atn[]={ DCMD_SET_ATN, 0 };ULONG msg__a[]={ DCMD_CLR_ACK, 0, DCMD_JUMP+IF_TRUE };ULONG jmp_check_phase3[]={ 0 /* offset check_phase */ };ULONG msg__23[]={ /* ; ignore wide residue */ DCMD_CLR_ACK, 0, DCMD_BLOCK_MOVE+BLOCK_MOVE+MSG_IN_+1 };ULONG ACB_msgin123_7[]={ 0, /* offset ACB.msgin123,*/ DCMD_CLR_ACK, 0, DCMD_JUMP+IF_TRUE };ULONG jmp_check_phase4[]={ 0 /* offset check_phase */ };ULONG msg__3[]={ DCMD_CLR_ACK, 0, DCMD_JUMP+IF_TRUE };ULONG jmp_check_phase5[]={ 0 /* offset check_phase */ };ULONG msg__4[]={ /* ; disconnect */ RD_MODIFY_WRT+OP_AND+0x20000+0x7F00, /*;(7FH shl 8) or (__scntl2 shl 16)*/ 0, DCMD_CLR_ACK, 0, DCMD_WAIT_DISC, 0, DCMD_INT+IF_TRUE, __DISCONNECTED };ULONG clr_atn[]={ DCMD_CLR_ATN, 0, DCMD_JUMP+IF_TRUE };ULONG jmp_check_phase6[]={ 0 /* offset check_phase */ };/*;==========================================================; Used for script operation;==========================================================*/ULONG start_mov[]={/*; DCMD_MEM_MOVE+(OFFSET DGROUP:end_script - OFFSET DGROUP:start_script) ;Memory move SCRIPTS instruction*/ DCMD_MEM_MOVE+0x1000 /*;Memory move SCRIPTS instruction ( 4K )*/ };ULONG SrcPhysAddr[]={ 0 /*; source */ };ULONG DesPhysAddr[]={ 0, /*; destination */ DCMD_INT+IF_TRUE, /*; script interrupt, */ 0, DCMD_INT+IF_NOT, /*; script interrupt */ 0 };ULONG end_script[]={0};/***********************************************************************/
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -