# File: mag30.src
#
program "%Z% MODULE: %M% RELEASE: %R%.%L% CREATED: %G% %U%"
source "/mdisw/cfl/flight/src/mag30_v09_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.
#;
#; V0.08 - 23 Jan 96  Dnyanesh Mathur
#;      1. Corrected the High Rate DPC
#;
#; V0.09 - 31 Jan 96  Dnyanesh Mathur
#;      1. Removed the shift being applied to difference of veloci
#; V0.10 -  7 Feb 96  Dnyanesh Mathur
#;      1. Crop accumulated magnetogram prior to summing
#;      2. Clear accumulation buffer prior to start of new accumul
#;
#; V0.11 - 20 Mar 96  Dnyanesh MAthur
#;      1. Changed the sign of magnetogram.
#;      2. Modified 5k accumulation code to use copies of DEP regs
#;         9 (copied to IP register R3081) and 15 (IP register R30
#;         determine start and end of accumulation period. R9 is z
#;         first call and R15 is zero on the last.
#;
#; V0.12 - 27 Mar 96 Dnyanesh Mathur
#;      1. Removed entry point change after initialization. Initia
#;         moved to "runstr".
#;----------------------------------------------------------------
#;
#;
#QPROG_MAG30::
#;
#;   GOTOREG   R3016
#;   CALLQUE   &INITMAG
#;   SETREG    R3016  &MAGVECT
#;
#MAGVECT:
#    BRANCHEQ  R3072  0x0007  &L_VEL
tcblock mbipcmd 0x0091 0x0900   0x01AE 0x0C00 0x0007 0x0909 
#    BRANCHEQ  R3072  0x0008  &R_VEL
tcblock mbipcmd 0x0091 0x0904   0x01AE 0x0C00 0x0008 0x090C 
#    END
tcblock mbipcmd 0x0091 0x0908   0x01FC 
#
#;
#;.......................................................
#;
#L_VEL:
#   _VLCTY     $IPRL_MAG_RVEL
tcblock mbipcmd 0x0091 0x0909   0x817C 0x04FD 
#    END
tcblock mbipcmd 0x0091 0x090B   0x01FC 
#;
#;.......................................................
#;
#R_VEL:
#   _VLCTY     $IPRL_MAG_LVEL
tcblock mbipcmd 0x0091 0x090C   0x817C 0x04F5 
#    HRDINIT   $IPRL_MAG_HDR
tcblock mbipcmd 0x0091 0x090E   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 mbipcmd 0x0091 0x0910   0x817A 0x0505 
#;
#    COPYREG    R98  $IPRL_MAG_XALGN_RV+5
tcblock mbipcmd 0x0091 0x0912   0x0142 0x0062 0x0512 
#    COPYREG    R99  $IPRL_MAG_YALGN_RV+5
tcblock mbipcmd 0x0091 0x0915   0x0142 0x0063 0x051A 
#    REGNEG     $IPRL_MAG_XALGN_RV+5   $IPRL_MAG_XALGN_RV+5  $IPRL
tcblock mbipcmd 0x0091 0x0918   0x4146 0x0512 0x0512 0x0522 
#    REGNEG     $IPRL_MAG_YALGN_RV+5   $IPRL_MAG_XALGN_RV+5  $IPRL
tcblock mbipcmd 0x0091 0x091C   0x4146 0x051A 0x0512 0x052A 
#
#   _XALIGN     $IPRL_MAG_XALGN_RV         ; Fractional Pixel Alig
tcblock mbipcmd 0x0091 0x0920   0x81DA 0x050D 
#;
#    COPYRD2D   $IPRL_MAG_YALGN_RV     $IPRL_MAG_ALGNWRK     $#IPR
tcblock mbipcmd 0x0091 0x0922   0x0144 0x0515 0x0572 0x0008 
#    YALIGN     $IPRL_MAG_ALGNWRK
tcblock mbipcmd 0x0091 0x0926   0x01DC 0x0572 
#    YALIGN     $IPRL_MAG_ALGNWRK
tcblock mbipcmd 0x0091 0x0928   0x01DC 0x0572 
#    YALIGN     $IPRL_MAG_ALGNWRK
tcblock mbipcmd 0x0091 0x092A   0x01DC 0x0572 
#    YALIGN     $IPRL_MAG_ALGNWRK
tcblock mbipcmd 0x0091 0x092C   0x01DC 0x0572 
#;
#   _XALIGN     $IPRL_MAG_XALGN_LV
tcblock mbipcmd 0x0091 0x092E   0x81DA 0x051D 
#;
#    COPYRD2D   $IPRL_MAG_YALGN_LV     $IPRL_MAG_ALGNWRK     $#IPR
tcblock mbipcmd 0x0091 0x0930   0x0144 0x0525 0x0572 0x0008 
#    YALIGN     $IPRL_MAG_ALGNWRK
tcblock mbipcmd 0x0091 0x0934   0x01DC 0x0572 
#    YALIGN     $IPRL_MAG_ALGNWRK
tcblock mbipcmd 0x0091 0x0936   0x01DC 0x0572 
#    YALIGN     $IPRL_MAG_ALGNWRK
tcblock mbipcmd 0x0091 0x0938   0x01DC 0x0572 
#    YALIGN     $IPRL_MAG_ALGNWRK
tcblock mbipcmd 0x0091 0x093A   0x01DC 0x0572 
#;
#;
#;.......................................................
#; Accumulate Magnetogram
#;
#PROC_MAG:
#   _SCALESUM    $IPRL_MAG_GENMAG            ; newMAG = RCP_VEL - 
tcblock mbipcmd 0x0091 0x093C   0x81E0 0x052D 
#;
#    BRANCHNE    $IPRF_STR_CF  0  &MAG160KDL ; Campaign Mode
tcblock mbipcmd 0x0091 0x093E   0x01B0 0x05A9 0x0000 0x0948 
#    BRANCHIF    $IPRL_STR_VC     &ACCMAG    ; No 160K-> Accumulat
tcblock mbipcmd 0x0091 0x0942   0x015A 0x0546 0x0999 
#    BRANCHIF    $IPRL_STR_MAGHR  &MAG5KDL   ; 160k d/l disabled -
tcblock mbipcmd 0x0091 0x0945   0x015A 0x0547 0x0967 
#;
#; 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 mbipcmd 0x0091 0x0948   0x01F8 0x0B80 
#    BRANCHGT $IPRL_TLM_STATUS  0   &SKPDL
tcblock mbipcmd 0x0091 0x094A   0x01BA 0x1FFC 0x0000 0x0966 
#;
#    COPYRD2D $IPRL_MAG_CROP  R520  8
tcblock mbipcmd 0x0091 0x094E   0x0144 0x0632 0x0208 0x0008 
#    CROP     R520
tcblock mbipcmd 0x0091 0x0952   0x0178 0x0208 
#
#;   SETREGS  R512  6  18:0x00001  0x4000 0xe5 0xc800 0x0fc0
#    COPYRD2D $IPRL_MAG_HDR1 R512  6
tcblock mbipcmd 0x0091 0x0954   0x0144 0x063A 0x0200 0x0006 
#    HRDINIT     R512
tcblock mbipcmd 0x0091 0x0958   0x019C 0x0200 
#    COPYREG     R71                 R518
tcblock mbipcmd 0x0091 0x095A   0x0142 0x0047 0x0206 
#    COPYREG     R72                 R519
tcblock mbipcmd 0x0091 0x095D   0x0142 0x0048 0x0207 
#;   SETREGS     R518  2  0x100000L
#    START1HR    0x01  0x4000  R518  
tcblock mbipcmd 0x0091 0x0960   0x0174 0x0001 0x4000 0x0206 
#    CALLQUE     &QSR_STR_CHKDL8
tcblock mbipcmd 0x0091 0x0964   0x01F8 0x0B20 
#;
#SKPDL:
#    END
tcblock mbipcmd 0x0091 0x0966   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. 
#;
#    BRANCHIF    R3081                &CLR5KBF
tcblock mbipcmd 0x0091 0x0967   0x015A 0x0C09 0x096C 
#    GOTO        &DO_M5K
tcblock mbipcmd 0x0091 0x096A   0x0156 0x0972 
#;
#CLR5KBF:
#    FILLBLK     19:0x00000         0x120000L     0
tcblock mbipcmd 0x0091 0x096C   0x016C 0x0000 0x9800 0x0000 \
                                0x0012 0x0000 
#;   SETREG      $IPRP_MAG_5KEP     &DO_M5K
#;
#DO_M5K:
#    SETREG      $IPRL_MAG_SUMMAG+5 0x9800
tcblock mbipcmd 0x0091 0x0972   0x0140 0x054D 0x9800 
#    SETREG      $IPRL_MAG_CPYMAG+1 0x9800
tcblock mbipcmd 0x0091 0x0975   0x0140 0x0554 0x9800 
#   _MOVBLKI     $IPRL_MAG_CPYMAG 
tcblock mbipcmd 0x0091 0x0978   0x8166 0x0553 
#   _SCALESUM    $IPRL_MAG_SUMMAG
tcblock mbipcmd 0x0091 0x097A   0x81E0 0x0548 
#    BRANCHIF    R3087              &STRT5KDL
tcblock mbipcmd 0x0091 0x097C   0x015A 0x0C0F 0x0980 
#    END
tcblock mbipcmd 0x0091 0x097F   0x01FC 
#;
#STRT5KDL:
#    _MOVBLKI    $IPRL_MAG_CPYMAG
tcblock mbipcmd 0x0091 0x0980   0x8166 0x0553 
#    COPYRD2D    $IPRL_MAG_CROP  R520 8
tcblock mbipcmd 0x0091 0x0982   0x0144 0x0632 0x0208 0x0008 
#    SETREGS     R520                 3  0x3000 19:0x00226
tcblock mbipcmd 0x0091 0x0986   0x01B2 0x0208 0x0003 0x3000 \
                                0x0226 0x9800 
#    CROP        R520
tcblock mbipcmd 0x0091 0x098C   0x0178 0x0208 
#    COPYRD2D    $IPRL_MAG_5KPRM      $IPRL_MAG_LRDPRM  14
tcblock mbipcmd 0x0091 0x098E   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 mbipcmd 0x0091 0x0992   0x0142 0x0047 0x056E 
#    COPYREG     R72  $IPRL_MAG_LRDPRM+13
tcblock mbipcmd 0x0091 0x0995   0x0142 0x0048 0x056F 
#    END
tcblock mbipcmd 0x0091 0x0998   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 mbipcmd 0x0091 0x0999   0x0142 0x05A1 0x054D 
#    COPYREG     $IPRP_MAG_ACCPAG   $IPRL_MAG_CPYMAG+1
tcblock mbipcmd 0x0091 0x099C   0x0142 0x05A1 0x0554 
#;
#; Crop Mag from P4 to P6, then copy it back to page 4.
#    COPYRD2D    $IPRL_MAG_CROP     R520                8      ; C
tcblock mbipcmd 0x0091 0x099F   0x0144 0x0632 0x0208 0x0008 
#    SETREGS     R520               3   0x2000   6:0x000000    ; S
tcblock mbipcmd 0x0091 0x09A3   0x01B2 0x0208 0x0003 0x2000 \
                                0x0000 0x3000 
#    CROP        R520
tcblock mbipcmd 0x0091 0x09A9   0x0178 0x0208 
#    MOVBLK      6:0x000000         4:0x000000   0x100000L     ; C
tcblock mbipcmd 0x0091 0x09AB   0x0164 0x0000 0x3000 0x0000 \
                                0x2000 0x0000 0x0010 
#;
#   _MOVBLKI     $IPRL_MAG_CPYMAG 
tcblock mbipcmd 0x0091 0x09B2   0x8166 0x0553 
#   _SCALESUM    $IPRL_MAG_SUMMAG
tcblock mbipcmd 0x0091 0x09B4   0x81E0 0x0548 
#;
#    BRANCHIF    R3087              &STORMAG
tcblock mbipcmd 0x0091 0x09B6   0x015A 0x0C0F 0x09BA 
#    END
tcblock mbipcmd 0x0091 0x09B9   0x01FC 
#;
#; 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.
#;
#STORMAG:
#    COPYREG     $IPRP_MAG_ACCPAG   $IPRL_MAG_CPYHDR+3  ;Set heade
tcblock mbipcmd 0x0091 0x09BA   0x0142 0x05A1 0x05A5 
#   _MOVSBLKI    $IPRL_MAG_CPYHDR                       ;Copy Head
tcblock mbipcmd 0x0091 0x09BD   0x81C8 0x05A2 
#    GOTOREG     $IPRP_MAG_NEWPAG                       ;Jump to n
tcblock mbipcmd 0x0091 0x09BF   0x0158 0x05A0 
#;
#PAGE1:
#    COPYREG     $IPRP_MAG_ACCPAG   $IPRL_MAG_DONE1 
tcblock mbipcmd 0x0091 0x09C1   0x0142 0x05A1 0x058C 
#    SETREG      $IPRP_MAG_ACCPAG   0x6800
tcblock mbipcmd 0x0091 0x09C4   0x0140 0x05A1 0x6800 
#    FILLBLK     13:0x00000         0x120000L        0
tcblock mbipcmd 0x0091 0x09C7   0x016C 0x0000 0x6800 0x0000 \
                                0x0012 0x0000 
#    SETREG      $IPRP_MAG_NEWPAG   &PAGE2
tcblock mbipcmd 0x0091 0x09CD   0x0140 0x05A0 0x09D1 
#    END        
tcblock mbipcmd 0x0091 0x09D0   0x01FC 
#;
#PAGE2:
#    COPYREG     $IPRP_MAG_ACCPAG   $IPRL_MAG_DONE1+1 
tcblock mbipcmd 0x0091 0x09D1   0x0142 0x05A1 0x058D 
#    SETREG      $IPRP_MAG_ACCPAG   0x7800
tcblock mbipcmd 0x0091 0x09D4   0x0140 0x05A1 0x7800 
#    FILLBLK     15:0x00000         0x120000L        0
tcblock mbipcmd 0x0091 0x09D7   0x016C 0x0000 0x7800 0x0000 \
                                0x0012 0x0000 
#    SETREG      $IPRP_MAG_NEWPAG   &PAGE3      
tcblock mbipcmd 0x0091 0x09DD   0x0140 0x05A0 0x09E1 
#    END        
tcblock mbipcmd 0x0091 0x09E0   0x01FC 
#;
#PAGE3:
#    COPYREG     $IPRP_MAG_ACCPAG   $IPRL_MAG_DONE1+2 
tcblock mbipcmd 0x0091 0x09E1   0x0142 0x05A1 0x058E 
#    SETREG      $IPRP_MAG_ACCPAG   0x8800
tcblock mbipcmd 0x0091 0x09E4   0x0140 0x05A1 0x8800 
#    FILLBLK     17:0x00000         0x120000L        0
tcblock mbipcmd 0x0091 0x09E7   0x016C 0x0000 0x8800 0x0000 \
                                0x0012 0x0000 
#    SETREG      $IPRP_MAG_NEWPAG   &PAGE4
tcblock mbipcmd 0x0091 0x09ED   0x0140 0x05A0 0x09F1 
#    END        
tcblock mbipcmd 0x0091 0x09F0   0x01FC 
#;
#PAGE4:
#    COPYREG     $IPRP_MAG_ACCPAG   $IPRL_MAG_DONE1+3 
tcblock mbipcmd 0x0091 0x09F1   0x0142 0x05A1 0x058F 
#    SETREG      $IPRP_MAG_ACCPAG   0x9000
tcblock mbipcmd 0x0091 0x09F4   0x0140 0x05A1 0x9000 
#    FILLBLK     18:0x00000         0x120000L        0
tcblock mbipcmd 0x0091 0x09F7   0x016C 0x0000 0x9000 0x0000 \
                                0x0012 0x0000 
#    SETREG      $IPRP_MAG_NEWPAG   &PAGE5
tcblock mbipcmd 0x0091 0x09FD   0x0140 0x05A0 0x0A01 
#    END        
tcblock mbipcmd 0x0091 0x0A00   0x01FC 
#;
#PAGE5:
#    COPYREG     $IPRP_MAG_ACCPAG   $IPRL_MAG_DONE1+4 
tcblock mbipcmd 0x0091 0x0A01   0x0142 0x05A1 0x0590 
#    SETREG      $IPRP_MAG_ACCPAG   0x9800
tcblock mbipcmd 0x0091 0x0A04   0x0140 0x05A1 0x9800 
#    FILLBLK     19:0x00000         0x120000L        0
tcblock mbipcmd 0x0091 0x0A07   0x016C 0x0000 0x9800 0x0000 \
                                0x0012 0x0000 
#    SETREG      $IPRP_MAG_NEWPAG   &PAGE1
tcblock mbipcmd 0x0091 0x0A0D   0x0140 0x05A0 0x09C1 
#    END        
tcblock mbipcmd 0x0091 0x0A10   0x01FC 
#;
#;.......................................................
#; Register Lists:
#;
#INITMAG::
#;
#    SETREGS  $IPRL_MAG_LVEL  8  0:0x00514  6:0x00514  4:0x00000  
tcblock mbipcmd 0x0091 0x0A11   0x01B2 0x04F5 0x0008 0x0514 \
                                0x0000 0x0514 0x3000 0x0000 \
                                0x2000 0x0004 0x007F 
#    SETREGS  $IPRL_MAG_RVEL  8  1:0x00514  4:0x00514  5:0x00000  
tcblock mbipcmd 0x0091 0x0A1C   0x01B2 0x04FD 0x0008 0x0514 \
                                0x0800 0x0514 0x2000 0x0000 \
                                0x2800 0x0004 0x007F 
#;
#    SETREGS  $IPRL_MAG_VPIXALGN 8 4:0x00000  6:0x00000  1024 1024
tcblock mbipcmd 0x0091 0x0A27   0x01B2 0x0505 0x0008 0x0000 \
                                0x2000 0x0000 0x3000 0x0400 \
                                0x0400 0x0400 0x0045 
#;
#    SETREGS  $IPRL_MAG_XALGN_RV    8  5:0x00000  4:0x00000 1024 0
tcblock mbipcmd 0x0091 0x0A32   0x01B2 0x050D 0x0008 0x0000 \
                                0x2800 0x0000 0x2000 0x0400 \
                                0x0000 0x0400 0x0400 
#    SETREGS  $IPRL_MAG_YALGN_RV    8  4:0x00000  5:0x00000 1024 0
tcblock mbipcmd 0x0091 0x0A3D   0x01B2 0x0515 0x0008 0x0000 \
                                0x2000 0x0000 0x2800 0x0400 \
                                0x0000 0x0400 0x00FF 
#    SETREGS  $IPRL_MAG_XALGN_LV    8  6:0x00000  4:0x00000 1024 0
tcblock mbipcmd 0x0091 0x0A48   0x01B2 0x051D 0x0008 0x0000 \
                                0x3000 0x0000 0x2000 0x0400 \
                                0x0000 0x0400 0x0400 
#    SETREGS  $IPRL_MAG_YALGN_LV    8  4:0x00000  6:0x00000 1024 0
tcblock mbipcmd 0x0091 0x0A53   0x01B2 0x0525 0x0008 0x0000 \
                                0x2000 0x0000 0x3000 0x0400 \
                                0x0000 0x0400 0x00FF 
#
#; Magnetograms are created in Page 4.
#    SETREGS  $IPRL_MAG_GENMAG      6  6:0x00000  5:0x00000  4:0x0
tcblock mbipcmd 0x0091 0x0A5E   0x01B2 0x052D 0x0006 0x0000 \
                                0x3000 0x0000 0x2800 0x0000 \
                                0x2000 
#    SETREGS  $IPRL_MAG_GENMAG+6    5  0x100000L  1  0xFFFF  13
tcblock mbipcmd 0x0091 0x0A67   0x01B2 0x0533 0x0005 0x0000 \
                                0x0010 0x0001 0xFFFF 0x000D 
#;
#; 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 mbipcmd 0x0091 0x0A6F   0x01B2 0x0548 0x0006 0x0000 \
                                0x2000 0x0000 0x3000 0x0726 \
                                0x6800 
#    SETREGS  $IPRL_MAG_SUMMAG+6    5  0x100000L  1    1     16
tcblock mbipcmd 0x0091 0x0A78   0x01B2 0x054E 0x0005 0x0000 \
                                0x0010 0x0001 0x0001 0x0010 
#;
#    SETREGS  $IPRL_MAG_CPYMAG      6 13:0x00726  6:0x00000  0x100
tcblock mbipcmd 0x0091 0x0A80   0x01B2 0x0553 0x0006 0x0726 \
                                0x6800 0x0000 0x3000 0x0000 \
                                0x0010 
#;
#    SETREGS  $IPRL_MAG_CROP        8  0x2000 8:0x00226 0 1010 14:
tcblock mbipcmd 0x0091 0x0A89   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 mbipcmd 0x0091 0x0A94   0x01B2 0x053E 0x0006 0x0001 \
                                0x3000 0x9000 0x00E5 0x4942 \
                                0x2000 
#    SETREGS  $IPRL_MAG_HDR1        6 18:0x00001  0x4000    0xe5  
tcblock mbipcmd 0x0091 0x0A9D   0x01B2 0x063A 0x0006 0x0001 \
                                0x9000 0x4000 0x00E5 0x4841 \
                                0x0FC0 
#    SETREGS  $IPRL_MAG_CPYHDR      6 18:0x0000  13:0x00500 0x0022
tcblock mbipcmd 0x0091 0x0AA6   0x01B2 0x05A2 0x0006 0x0000 \
                                0x9000 0x0500 0x6800 0x0226 \
                                0x0000 
#;   SETREGS  $IPRL_MAG_MVDL        6  4:0x00000  8:0x00000 0x1002
#;
#; Mag 5k parameters
#    SETREGS     $IPRL_MAG_5KPRM    9  0 0 0  300 19:0x00226 8192 
tcblock mbipcmd 0x0091 0x0AAF   0x01B2 0x0668 0x0009 0x0000 \
                                0x0000 0x0000 0x012C 0x0226 \
                                0x9800 0x2000 0x000E 0x0006 
#    SETREGS     $IPRL_MAG_5KPRM+9  5  3600 0x0941 0x0FC0 0 0x000C
tcblock mbipcmd 0x0091 0x0ABB   0x01B2 0x0671 0x0005 0x0E10 \
                                0x0941 0x0FC0 0x0000 0x000C 
#;
#; Set 5K Accumulation entry point
#;   SETREG   $IPRP_MAG_5KEP   &CLR5KBF
#;
#; Set Accumulation setup address
#    SETREGS  $IPRL_MAG_DONE1       6  0  0  0  0  0  0 
tcblock mbipcmd 0x0091 0x0AC3   0x01B2 0x058C 0x0006 0x0000 \
                                0x0000 0x0000 0x0000 0x0000 \
                                0x0000 
#    SETREG   $IPRP_MAG_ACCPAG   0x6800
tcblock mbipcmd 0x0091 0x0ACC   0x0140 0x05A1 0x6800 
#    SETREG   $IPRP_MAG_NEWPAG   &PAGE2
tcblock mbipcmd 0x0091 0x0ACF   0x0140 0x05A0 0x09D1 
#    SETREGS  $IPRL_MAG_DL     6  0       0x6800  0       0x4000  
tcblock mbipcmd 0x0091 0x0AD2   0x01B2 0x0592 0x0006 0x0000 \
                                0x6800 0x0000 0x4000 0x0000 \
                                0x000C 
#
#;
#; Clear Accumulation pages
#    FILLBLK  13:0x00000  0x120000L  0
tcblock mbipcmd 0x0091 0x0ADB   0x016C 0x0000 0x6800 0x0000 \
                                0x0012 0x0000 
#    FILLBLK  15:0x00000  0x120000L  0
tcblock mbipcmd 0x0091 0x0AE1   0x016C 0x0000 0x7800 0x0000 \
                                0x0012 0x0000 
#    FILLBLK  17:0x00000  0x120000L  0
tcblock mbipcmd 0x0091 0x0AE7   0x016C 0x0000 0x8800 0x0000 \
                                0x0012 0x0000 
#    FILLBLK  18:0x00000  0x120000L  0
tcblock mbipcmd 0x0091 0x0AED   0x016C 0x0000 0x9000 0x0000 \
                                0x0012 0x0000 
#    FILLBLK  19:0x00000  0x120000L  0
tcblock mbipcmd 0x0091 0x0AF3   0x016C 0x0000 0x9800 0x0000 \
                                0x0012 0x0000 
#;
#;   RTNQUE
#    END
tcblock mbipcmd 0x0091 0x0AF9   0x01FC 
#;....................................................... 
#;=======================================================
#=======================================================
#
# ENBQUE                ; Enable Queue
tcblock mbipldin 0x0136
#
#
return
#
#=======================================================
