# File: mag30.src
#
program "%Z% MODULE: %M% RELEASE: %R%.%L% CREATED: %G% %U%"
source "/mdisw/cfl/flight/src/mag30_v04_1.src"
descr "Loads IP queue instructions"
#
# DSBQUE                ; Disable Queue
# tcblock mbipldin 0x0154 
#
#=======================================================
#
#
#; File: mag30.ips
#;
#; IP program to construct a magnetogram.
#; The program assumes that the camera frames have
#; been accumulated as shown;
#;    Sa (LCP) - Page 0     Sa (RCP) - Page 1
#;    Sc (LCP) - Page 6     Sc (RCP) - Page 4
#;
#; The mag30 observation accumulates raw camera data as 
#; shown above.
#;
#; Successive Magnetograms are saved in pages 11, 15, 17, 18 and 1
#;
#; Algorithm:
#;
#;  STEP 1:
#;     7:             Make RCP Velocity
#;     8:             Make LCP Velocity
#;
#;  STEP 2:           EXTRACT a (LCP) sub-image to provide 
#;                    integral shift w.r.t. RCP Velocity image
#;
#;  STEP 3:
#;     1:             Align LCP-V
#;                    Align RCP-V
#;     2:             SUM LCP-V and RCP-V
#;                    Add result to Accumulator
#;                    If Accumulation Completed, 
#;                        Do Setup for next MAG 
#;
#;  STEP 4:           For Hi-Res apply FD Cropping
#;
#;   5 Oct 95  Dnyanesh Mathur
#;      1. Changed shift count to 13 for GEN_MAG RL.
#;      2. Cropped magnetogram before downlink.
#;
#;----------------------------------------------------------------
#;
#;
#QPROG_MAG30::
#;
#    GOTOREG   R3016
tcblock mbipmacl 0x0900   0x0158 0x0BC8 
#    CALLQUE   &INITMAG
tcblock mbipmacl 0x0902   0x01F8 0x09F0 
#    SETREG    R3016  &MAGVECT
tcblock mbipmacl 0x0904   0x0140 0x0BC8 0x0907 
#;
#MAGVECT:
#    BRANCHEQ  R3072  0x0007  &L_VEL
tcblock mbipmacl 0x0907   0x01AE 0x0C00 0x0007 0x0910 
#    BRANCHEQ  R3072  0x0008  &R_VEL
tcblock mbipmacl 0x090B   0x01AE 0x0C00 0x0008 0x0913 
#    END
tcblock mbipmacl 0x090F   0x01FC 
#
#;
#;.......................................................
#;
#L_VEL:
#   _VLCTY     $IPRL_MAG_RVEL
tcblock mbipmacl 0x0910   0x817C 0x04FD 
#    END
tcblock mbipmacl 0x0912   0x01FC 
#;
#;.......................................................
#;
#R_VEL:
#   _VLCTY     $IPRL_MAG_LVEL
tcblock mbipmacl 0x0913   0x817C 0x04F5 
#    HRDINIT   $IPRL_MAG_HDR
tcblock mbipmacl 0x0915   0x019C 0x053E 
#;  
#;.......................................................
#; Align Velocities
#;
#; Integral Pixel Alignment:
#; If LCP (0,0) --> RCP (X,Y) then
#;     1. X>0, Y>0: Move  RCP (X,1024Y) to BUF (0,0)
#;     2. X>0, Y<0: Move  RCP (X,0)     to BUF (0,1024Y)
#;     3. X<0, Y>0: Move  RCP (0,1024Y) to BUF (X,0)
#;     4. X<0, Y<0: Move  RCP (0,0)     to BUF (X,1024Y)
#;
#ALIGN_VEL:
#    _EXTRACT    $IPRL_MAG_VPIXALGN        ; Effect integral pixel
tcblock mbipmacl 0x0917   0x817A 0x0505 
#;
#    COPYREG    R98  $IPRL_MAG_XALGN_RV+5
tcblock mbipmacl 0x0919   0x0142 0x0062 0x0512 
#    COPYREG    R99  $IPRL_MAG_YALGN_RV+5
tcblock mbipmacl 0x091C   0x0142 0x0063 0x051A 
#    REGNEG     $IPRL_MAG_XALGN_RV+5   $IPRL_MAG_XALGN_RV+5  $IPRL
tcblock mbipmacl 0x091F   0x4146 0x0512 0x0512 0x0522 
#    REGNEG     $IPRL_MAG_YALGN_RV+5   $IPRL_MAG_XALGN_RV+5  $IPRL
tcblock mbipmacl 0x0923   0x4146 0x051A 0x0512 0x052A 
#
#   _XALIGN     $IPRL_MAG_XALGN_RV         ; Fractional Pixel Alig
tcblock mbipmacl 0x0927   0x81DA 0x050D 
#;
#    COPYRD2D   $IPRL_MAG_YALGN_RV     $IPRL_MAG_ALGNWRK     $#IPR
tcblock mbipmacl 0x0929   0x0144 0x0515 0x0572 0x0008 
#    YALIGN     $IPRL_MAG_ALGNWRK
tcblock mbipmacl 0x092D   0x01DC 0x0572 
#    YALIGN     $IPRL_MAG_ALGNWRK
tcblock mbipmacl 0x092F   0x01DC 0x0572 
#    YALIGN     $IPRL_MAG_ALGNWRK
tcblock mbipmacl 0x0931   0x01DC 0x0572 
#    YALIGN     $IPRL_MAG_ALGNWRK
tcblock mbipmacl 0x0933   0x01DC 0x0572 
#;
#   _XALIGN     $IPRL_MAG_XALGN_LV
tcblock mbipmacl 0x0935   0x81DA 0x051D 
#;
#    COPYRD2D   $IPRL_MAG_YALGN_LV     $IPRL_MAG_ALGNWRK     $#IPR
tcblock mbipmacl 0x0937   0x0144 0x0525 0x0572 0x0008 
#    YALIGN     $IPRL_MAG_ALGNWRK
tcblock mbipmacl 0x093B   0x01DC 0x0572 
#    YALIGN     $IPRL_MAG_ALGNWRK
tcblock mbipmacl 0x093D   0x01DC 0x0572 
#    YALIGN     $IPRL_MAG_ALGNWRK
tcblock mbipmacl 0x093F   0x01DC 0x0572 
#    YALIGN     $IPRL_MAG_ALGNWRK
tcblock mbipmacl 0x0941   0x01DC 0x0572 
#;
#;
#;.......................................................
#; Accumulate Magnetogram
#;
#PROC_MAG:
#   _SCALESUM    $IPRL_MAG_GENMAG            ; newMAG = RCP_VEL - 
tcblock mbipmacl 0x0943   0x81E0 0x052D 
#;
#    BRANCHNE    $IPRF_STR_CF  0  &MAG160KDL ; Campaign Mode
tcblock mbipmacl 0x0945   0x01B0 0x05A9 0x0000 0x094F 
#    BRANCHIF    $IPRL_STR_VC     &ACCMAG    ; No 160K-> Accumulat
tcblock mbipmacl 0x0949   0x015A 0x0546 0x09A3 
#    BRANCHIF    $IPRL_STR_MAGHR  &MAG5KDL   ; 160k d/l disabled -
tcblock mbipmacl 0x094C   0x015A 0x0547 0x096E 
#;
#; High Rate Downlink
#MAG160KDL:
#;   Copy Velocity from page 1 to page 8
#;   SETREGS  R520  8  0x2000   8:0x00226  0  1010  14:0x00000  R6
#;
#    CALLQUE  &QSR_TLM_RESET
tcblock mbipmacl 0x094F   0x01F8 0x0B80 
#    BRANCHGT $IPRL_TLM_STATUS  0   &SKPDL
tcblock mbipmacl 0x0951   0x01BA 0x1FFC 0x0000 0x096D 
#;
#    COPYRD2D $IPRL_MAG_CROP  R520  8
tcblock mbipmacl 0x0955   0x0144 0x0632 0x0208 0x0008 
#    CROP     R520
tcblock mbipmacl 0x0959   0x0178 0x0208 
#
#;   SETREGS  R512  6  18:0x00001  0x4000 0xe5 0xc800 0x0fc0
#    COPYRD2D $IPRL_MAG_HDR1 R512  6
tcblock mbipmacl 0x095B   0x0144 0x063A 0x0200 0x0006 
#    HRDINIT     R512
tcblock mbipmacl 0x095F   0x019C 0x0200 
#;   SETREGS     $IPRL_MAG_MVDL      6  4:0x00000  8:0x00226  0x10
#;   MOVBLKI     $IPRL_MAG_MVDL
#    COPYREG     R71                 R518
tcblock mbipmacl 0x0961   0x0142 0x0047 0x0206 
#    COPYREG     R72                 R519
tcblock mbipmacl 0x0964   0x0142 0x0048 0x0207 
#;   SETREGS     R518  2  0x100000L
#    START1HR    0x01  0x4000  R518  
tcblock mbipmacl 0x0967   0x0174 0x0001 0x4000 0x0206 
#    CALLQUE     &QSR_STR_CHKDL8
tcblock mbipmacl 0x096B   0x01F8 0x0B20 
#;
#SKPDL:
#    END
tcblock mbipmacl 0x096D   0x01FC 
#;
#;
#MAG5KDL:
#;
#; Accumulate Magnetogram for downlink in the 5K channel. In this 
#; magnetogram is always accumulated in page 19. The cadence must 
#; be greater than ~20 minutes. The "Dynamics" mode should not be 
#; when less than 20 minutes of 160K channel time is remaining. 
#;
#    GOTOREG     $IPRP_MAG_5KEP
tcblock mbipmacl 0x096E   0x0158 0x057A 
#;
#CLR5KBF:
#    FILLBLK     19:0x00000         0x120000L     0
tcblock mbipmacl 0x0970   0x016C 0x0000 0x9800 0x0000 \
                                0x0012 0x0000 
#    SETREG      $IPRP_MAG_5KEP     &DO_M5K
tcblock mbipmacl 0x0976   0x0140 0x057A 0x0979 
#;
#DO_M5K:
#    SETREG      $IPRL_MAG_SUMMAG+5 0x9800
tcblock mbipmacl 0x0979   0x0140 0x054D 0x9800 
#    SETREG      $IPRL_MAG_CPYMAG+1 0x9800
tcblock mbipmacl 0x097C   0x0140 0x0554 0x9800 
#   _MOVBLKI     $IPRL_MAG_CPYMAG 
tcblock mbipmacl 0x097F   0x8166 0x0553 
#   _SCALESUM    $IPRL_MAG_SUMMAG
tcblock mbipmacl 0x0981   0x81E0 0x0548 
#    BRANCHGT    $IPRL_STR_COUNT    1             &MAGEXIT
tcblock mbipmacl 0x0983   0x01BA 0x0544 0x0001 0x09EF 
#;
#    _MOVBLKI    $IPRL_MAG_CPYMAG
tcblock mbipmacl 0x0987   0x8166 0x0553 
#    COPYRD2D    $IPRL_MAG_CROP  R520 8
tcblock mbipmacl 0x0989   0x0144 0x0632 0x0208 0x0008 
#    SETREGS     R520                 3  0x3000 19:0x00226
tcblock mbipmacl 0x098D   0x01B2 0x0208 0x0003 0x3000 \
                                0x0226 0x9800 
#    CROP        R520
tcblock mbipmacl 0x0993   0x0178 0x0208 
#    COPYRD2D    $IPRL_MAG_5KPRM      $IPRL_MAG_LRDPRM  14
tcblock mbipmacl 0x0995   0x0144 0x0668 0x0562 0x000E 
#;   SETREGS     $IPRL_MAG_LRDPRM     9  0 0 0  300 19:0x00226 819
#;   SETREGS     $IPRL_MAG_LRDPRM+9   5  4000 0x0940 0x0FC0 0 0x00
#    COPYREG     R71  $IPRL_MAG_LRDPRM+12
tcblock mbipmacl 0x0999   0x0142 0x0047 0x056E 
#    COPYREG     R72  $IPRL_MAG_LRDPRM+13
tcblock mbipmacl 0x099C   0x0142 0x0048 0x056F 
#    SETREG      $IPRP_MAG_5KEP       &CLR5KBF
tcblock mbipmacl 0x099F   0x0140 0x057A 0x0970 
#    END
tcblock mbipmacl 0x09A2   0x01FC 
#;
#ACCMAG:
#;
#; Accumulate magnetograms for later downlink via the 160k channel
#; in VC2 mode (Delivered to GSFC). In this mode, each accumulatio
#; directed to a different page. Pages 15, 18, and 19 have been se
#; these magnetograms. 
#;
#    COPYREG     $IPRP_MAG_ACCPAG   $IPRL_MAG_SUMMAG+5
tcblock mbipmacl 0x09A3   0x0142 0x05A1 0x054D 
#    COPYREG     $IPRP_MAG_ACCPAG   $IPRL_MAG_CPYMAG+1
tcblock mbipmacl 0x09A6   0x0142 0x05A1 0x0554 
#;
#   _MOVBLKI     $IPRL_MAG_CPYMAG 
tcblock mbipmacl 0x09A9   0x8166 0x0553 
#   _SCALESUM    $IPRL_MAG_SUMMAG
tcblock mbipmacl 0x09AB   0x81E0 0x0548 
#;
#    BRANCHGT    $IPRL_STR_COUNT    1  &MAGEXIT
tcblock mbipmacl 0x09AD   0x01BA 0x0544 0x0001 0x09EF 
#;
#; Copy the header for the completed magnetogram to the accumulati
#; The header is always created at 18:0x00000. 
#; NB MOVSBLKI is used in case the header is in Page 18 itself. Ot
#;    of MOVBLK instructions cannot copy to the same page.
#;
#    COPYREG     $IPRP_MAG_ACCPAG   $IPRL_MAG_CPYHDR+3  ;Set heade
tcblock mbipmacl 0x09B1   0x0142 0x05A1 0x05A5 
#   _MOVSBLKI    $IPRL_MAG_CPYHDR                       ;Copy Head
tcblock mbipmacl 0x09B4   0x81C8 0x05A2 
#    GOTOREG     $IPRP_MAG_NEWPAG                       ;Jump to n
tcblock mbipmacl 0x09B6   0x0158 0x05A0 
#;
#PAGE1:
#    COPYREG     $IPRP_MAG_ACCPAG   $IPRL_MAG_DONE1 
tcblock mbipmacl 0x09B8   0x0142 0x05A1 0x058C 
#    SETREG      $IPRP_MAG_ACCPAG   0x6800
tcblock mbipmacl 0x09BB   0x0140 0x05A1 0x6800 
#    SETREG      $IPRP_MAG_NEWPAG   &PAGE2
tcblock mbipmacl 0x09BE   0x0140 0x05A0 0x09C3 
#    GOTO        &MAGEXIT
tcblock mbipmacl 0x09C1   0x0156 0x09EF 
#;
#PAGE2:
#    COPYREG     $IPRP_MAG_ACCPAG   $IPRL_MAG_DONE1+1 
tcblock mbipmacl 0x09C3   0x0142 0x05A1 0x058D 
#    SETREG      $IPRP_MAG_ACCPAG   0x7800
tcblock mbipmacl 0x09C6   0x0140 0x05A1 0x7800 
#    SETREG      $IPRP_MAG_NEWPAG   &PAGE4       ; Skip P17 for no
tcblock mbipmacl 0x09C9   0x0140 0x05A0 0x09D9 
#    GOTO        &MAGEXIT
tcblock mbipmacl 0x09CC   0x0156 0x09EF 
#;
#PAGE3:
#    COPYREG     $IPRP_MAG_ACCPAG   $IPRL_MAG_DONE1+2 
tcblock mbipmacl 0x09CE   0x0142 0x05A1 0x058E 
#    SETREG      $IPRP_MAG_ACCPAG   0x8800
tcblock mbipmacl 0x09D1   0x0140 0x05A1 0x8800 
#    SETREG      $IPRP_MAG_NEWPAG   &PAGE4
tcblock mbipmacl 0x09D4   0x0140 0x05A0 0x09D9 
#    GOTO        &MAGEXIT
tcblock mbipmacl 0x09D7   0x0156 0x09EF 
#;
#PAGE4:
#    COPYREG     $IPRP_MAG_ACCPAG   $IPRL_MAG_DONE1+3 
tcblock mbipmacl 0x09D9   0x0142 0x05A1 0x058F 
#    SETREG      $IPRP_MAG_ACCPAG   0x9000
tcblock mbipmacl 0x09DC   0x0140 0x05A1 0x9000 
#    SETREG      $IPRP_MAG_NEWPAG   &PAGE5
tcblock mbipmacl 0x09DF   0x0140 0x05A0 0x09E4 
#    GOTO        &MAGEXIT
tcblock mbipmacl 0x09E2   0x0156 0x09EF 
#;
#PAGE5:
#    COPYREG     $IPRP_MAG_ACCPAG   $IPRL_MAG_DONE1+4 
tcblock mbipmacl 0x09E4   0x0142 0x05A1 0x0590 
#    SETREG      $IPRP_MAG_ACCPAG   0x9800
tcblock mbipmacl 0x09E7   0x0140 0x05A1 0x9800 
#    SETREG      $IPRP_MAG_NEWPAG   &PAGE1
tcblock mbipmacl 0x09EA   0x0140 0x05A0 0x09B8 
#    GOTO        &MAGEXIT
tcblock mbipmacl 0x09ED   0x0156 0x09EF 
#;
#MAGEXIT:
#    END
tcblock mbipmacl 0x09EF   0x01FC 
#;
#;.......................................................
#; Register Lists:
#;
#INITMAG::
#;
#    SETREGS  $IPRL_MAG_LVEL  8  0:0x00514  6:0x00514  4:0x00000  
tcblock mbipmacl 0x09F0   0x01B2 0x04F5 0x0008 0x0514 \
                                0x0000 0x0514 0x3000 0x0000 \
                                0x2000 0x0004 0x007F 
#    SETREGS  $IPRL_MAG_RVEL  8  1:0x00514  4:0x00514  5:0x00000  
tcblock mbipmacl 0x09FB   0x01B2 0x04FD 0x0008 0x0514 \
                                0x0800 0x0514 0x2000 0x0000 \
                                0x2800 0x0004 0x007F 
#;
#    SETREGS  $IPRL_MAG_VPIXALGN 8 4:0x00000  6:0x00000  1024 1024
tcblock mbipmacl 0x0A06   0x01B2 0x0505 0x0008 0x0000 \
                                0x2000 0x0000 0x3000 0x0400 \
                                0x0400 0x0400 0x0045 
#;
#    SETREGS  $IPRL_MAG_XALGN_RV    8  5:0x00000  4:0x00000 1024 0
tcblock mbipmacl 0x0A11   0x01B2 0x050D 0x0008 0x0000 \
                                0x2800 0x0000 0x2000 0x0400 \
                                0x0000 0x0400 0x0400 
#    SETREGS  $IPRL_MAG_YALGN_RV    8  4:0x00000  5:0x00000 1024 0
tcblock mbipmacl 0x0A1C   0x01B2 0x0515 0x0008 0x0000 \
                                0x2000 0x0000 0x2800 0x0400 \
                                0x0000 0x0400 0x00FF 
#    SETREGS  $IPRL_MAG_XALGN_LV    8  6:0x00000  4:0x00000 1024 0
tcblock mbipmacl 0x0A27   0x01B2 0x051D 0x0008 0x0000 \
                                0x3000 0x0000 0x2000 0x0400 \
                                0x0000 0x0400 0x0400 
#    SETREGS  $IPRL_MAG_YALGN_LV    8  4:0x00000  6:0x00000 1024 0
tcblock mbipmacl 0x0A32   0x01B2 0x0525 0x0008 0x0000 \
                                0x2000 0x0000 0x3000 0x0400 \
                                0x0000 0x0400 0x00FF 
#
#; Magnetograms are created in Page 4.
#    SETREGS  $IPRL_MAG_GENMAG      6  5:0x00000  6:0x00000  4:0x0
tcblock mbipmacl 0x0A3D   0x01B2 0x052D 0x0006 0x0000 \
                                0x2800 0x0000 0x3000 0x0000 \
                                0x2000 
#    SETREGS  $IPRL_MAG_GENMAG+6    5  0x100000L  1  0xFFFF  12
tcblock mbipmacl 0x0A46   0x01B2 0x0533 0x0005 0x0000 \
                                0x0010 0x0001 0xFFFF 0x000C 
#;
#; Magnetograms are stored at an offset of 0x00226 words; The firs
#; words are reserved for header data.
#    SETREGS  $IPRL_MAG_SUMMAG      6  4:0x00000  6:0x00000  13:0x
tcblock mbipmacl 0x0A4E   0x01B2 0x0548 0x0006 0x0000 \
                                0x2000 0x0000 0x3000 0x0726 \
                                0x6800 
#    SETREGS  $IPRL_MAG_SUMMAG+6    5  0x100000L  1    1     16
tcblock mbipmacl 0x0A57   0x01B2 0x054E 0x0005 0x0000 \
                                0x0010 0x0001 0x0001 0x0010 
#;
#    SETREGS  $IPRL_MAG_CPYMAG      6 13:0x00726  6:0x00000  0x100
tcblock mbipmacl 0x0A5F   0x01B2 0x0553 0x0006 0x0726 \
                                0x6800 0x0000 0x3000 0x0000 \
                                0x0010 
#;
#    SETREGS  $IPRL_MAG_CROP        8  0x2000 8:0x00226 0 1010 14:
tcblock mbipmacl 0x0A68   0x01B2 0x0632 0x0008 0x2000 \
                                0x0226 0x4000 0x0000 0x03F2 \
                                0x0000 0x7000 0x0045 
#;
#; The Magnetogram header is saved in 18:0x00000
#    SETREGS  $IPRL_MAG_HDR         6  6:0x00001  0x9000    0xe5  
tcblock mbipmacl 0x0A73   0x01B2 0x053E 0x0006 0x0001 \
                                0x3000 0x9000 0x00E5 0x4900 \
                                0x0FC0 
#    SETREGS  $IPRL_MAG_HDR1        6 18:0x00001  0x4000    0xe5  
tcblock mbipmacl 0x0A7C   0x01B2 0x063A 0x0006 0x0001 \
                                0x9000 0x4000 0x00E5 0x4800 \
                                0x0FC0 
#    SETREGS  $IPRL_MAG_CPYHDR      6 18:0x0000  13:0x00500 0x0022
tcblock mbipmacl 0x0A85   0x01B2 0x05A2 0x0006 0x0000 \
                                0x9000 0x0500 0x6800 0x0226 \
                                0x0000 
#    SETREGS  $IPRL_MAG_MVDL        6  4:0x00000  8:0x00000 0x1002
tcblock mbipmacl 0x0A8E   0x01B2 0x0538 0x0006 0x0000 \
                                0x2000 0x0000 0x4000 0x0226 \
                                0x0010 
#;
#; Mag 5k parameters
#    SETREGS     $IPRL_MAG_5KPRM    9  0 0 0  300 19:0x00226 8192 
tcblock mbipmacl 0x0A97   0x01B2 0x0668 0x0009 0x0000 \
                                0x0000 0x0000 0x012C 0x0226 \
                                0x9800 0x2000 0x000E 0x0005 
#    SETREGS     $IPRL_MAG_5KPRM+9  5  4000 0x0940 0x0FC0 0 0x000C
tcblock mbipmacl 0x0AA3   0x01B2 0x0671 0x0005 0x0FA0 \
                                0x0940 0x0FC0 0x0000 0x000C 
#;
#; Set 5K Accumulation entry point
#    SETREG   $IPRP_MAG_5KEP   &CLR5KBF
tcblock mbipmacl 0x0AAB   0x0140 0x057A 0x0970 
#;
#; Set Accumulation setup address
#    SETREGS  $IPRL_MAG_DONE1       6  0  0  0  0  0  0 
tcblock mbipmacl 0x0AAE   0x01B2 0x058C 0x0006 0x0000 \
                                0x0000 0x0000 0x0000 0x0000 \
                                0x0000 
#    SETREG   $IPRP_MAG_ACCPAG   0x6800
tcblock mbipmacl 0x0AB7   0x0140 0x05A1 0x6800 
#    SETREG   $IPRP_MAG_NEWPAG   &PAGE2
tcblock mbipmacl 0x0ABA   0x0140 0x05A0 0x09C3 
#    SETREGS  $IPRL_MAG_DL     6  0       0x6800  0       0x4000  
tcblock mbipmacl 0x0ABD   0x01B2 0x0592 0x0006 0x0000 \
                                0x6800 0x0000 0x4000 0x0000 \
                                0x000C 
#
#;
#; Clear Accumulation pages
#    FILLBLK  15:0x00000  0x120000L  0
tcblock mbipmacl 0x0AC6   0x016C 0x0000 0x7800 0x0000 \
                                0x0012 0x0000 
#    FILLBLK  18:0x00000  0x120000L  0
tcblock mbipmacl 0x0ACC   0x016C 0x0000 0x9000 0x0000 \
                                0x0012 0x0000 
#    FILLBLK  19:0x00000  0x120000L  0
tcblock mbipmacl 0x0AD2   0x016C 0x0000 0x9800 0x0000 \
                                0x0012 0x0000 
#;
#    RTNQUE
tcblock mbipmacl 0x0AD8   0x01FA 
#;....................................................... 
#;=======================================================
#=======================================================
#
# ENBQUE                ; Enable Queue
# tcblock mbipldin 0x0136
#
#
return
#
#=======================================================
