;=================================================== ; MDI 30 second Prime Data Products Construction Program ; ; This file contains modules to construct lo rate ; data products. ; ; Regsiter Usage: ; R0081 - HR TLM board state ; ; Note: Prior to invoking this program, ; i) request 5k telemetry (req sci5k), ; ii) enable DEP interrupts (ENBIRPT - 0x134) and ; iii) set DEP mode to 3 (mbdpmod 3). ;--------------------------------------------------- ; ; V1.0 - 9 Aug 95 ; Constructed from the 60 second version (1.0). ; ; V1.1 - 23 Aug 95 ; High Rate TLM handling ;--------------------------------------------------- STR60:: GOTOREG $IPRL_STR_EP60 ; INIT60: CALLQUE &INITDATA CALLQUE &INITREGL SETREG $IPRL_STR_EP60 &SETPTR60 SETREG $IPRL_STR_STRT60 &SETPTR60 ; SETPTR60: SETREG $IPRL_STR_VELXFR $IPRL_STR_VEL60 SETREG $IPRL_STR_LDXFR $IPRL_STR_LD60 SETREG $IPRL_STR_EP60 &CKFRM60 ; CKFRM60: BRANCHEQ R3072 1 &FRM01 BRANCHEQ R3072 2 &FRM02 BRANCHEQ R3072 4 &FRM04 BRANCHEQ R3072 5 &FRM05 BRANCHEQ R3072 7 &FRM07 BRANCHEQ R3072 19 &FRM19 ; BRANCHEQ R3072 20 &FRM20 END ; ;................................................................. ; STR30:: GOTOREG $IPRL_STR_EP30 ; INIT30: CALLQUE &INITDATA CALLQUE &INITREGL SETREG $IPRL_STR_EP30 &SETPTR30 SETREG $IPRL_STR_STRT30 &SETPTR30 ; SETPTR30: SETREG $IPRL_STR_VELXFR $IPRL_STR_VEL30 SETREG $IPRL_STR_LDXFR $IPRL_STR_LD30 SETREG $IPRL_STR_EP30 &CKFRM30 ; CKFRM30: BRANCHEQ R3072 1 &FRM01 BRANCHEQ R3072 2 &FRM02 BRANCHEQ R3072 4 &FRM04 BRANCHEQ R3072 5 &FRM05 BRANCHEQ R3072 7 &FRM07 BRANCHEQ R3072 9 &FRM09 BRANCHEQ R3072 10 &FRM10 END ; ;................................................ CALLBACK:: GOTOREG R3104 RTNQUE ;................................................ FRM01: ; SETREG R143 16 PURGELST R136 SETREG R135 16 PURGETAB R128 ; END ;................................................ FRM02: AVGTEMPS 3:0x00134 12 END ;................................................ FRM04: ; If HR board hang problem has been detected at ;frame 20, reset the IP here and re-start the ;downlink. A reset at this point allows at least ;the full velocity image to be downlinked. The ;last part of the continuum image however will ;still be lost. ; This code should execute if ; in dynamics mode ; HR problem detected at Frame 20. ; BRANCHIF R3077 &DONE04 ; skip if not in Dynamics BRANCHNR 0x4000 &DONE04 BRANCHEQ R0081 0 &DONE04 SAVEMODE SETREG R0082 1 END DONE04: SETREG R0082 0 END ;................................................ FRM05: BRANCHIF R0082 &DONE05 START2HR 0x49 0x4000 0x4800 R518 R534 DONE05: SETREG R0082 0 END ;................................................ FRM07: SAVEMODE COPYTAB R1116 ; Copy Vel Table COPYTAB R1124 ; Copy Reciprocal Table END ; ;................................................ FRM19: FRM09: CALLQUE &MKVEL CALLQUE &MKLDPTH END ;................................................ FRM10: LRDINIT 0 CALLQUE &MKCNTNM ; BRANCHEQ R3076 1 &SETCF ; Cmpg Mode; Skip V+Ic D/L BRANCHIF $IPRF_STR_CF &CHKALT SETREG $IPRF_STR_CF 0 GOTO &DO5K ; ; The state of flags is preserved for ALT repeats CHKALT: BRANCHNE $IPRL_STR_COUNT 0 &CHKFLG COPYREG $IPRL_STR_ALTRPTS $IPRL_STR_COUNT ADDREGD $IPRL_STR_COUNT 1 COPYREG R3075 $IPRL_STR_VC COPYREG R3077 $IPRL_STR_MAGHR ; CHKFLG: ADDREGD $IPRL_STR_COUNT 0xFFFF BRANCHEQ R3075 0 &DO5K ; skip hi rate D/L if VC = 0 BRANCHEQ R3077 1 &DO5K ; MAG D/L in 160K ; CALLQUE &DMPHR GOTO &DO5K ; SETCF: SETREG $IPRF_STR_CF 1 ; DO5K: CALLQUE &STRDPS END ;................................................ FRM20: LRDINIT 0 CALLQUE &MKCNTNM BRANCHIF R3075 &DP5K ; skip hi rate if VC = 0 BRANCHIF $IPRF_MAG_HR &V_I_DL ; D/L stored mags if IPRF_MAG_HR set CALLQUE &QSR_MAG_HRDL BRANCHIF $IPRF_MAG_HR &V_I_DL ; If all mags done, d/l v+Ic GOTO &DP5K V_I_DL: CALLQUE &DMPHR DP5K: CALLQUE &STRDPS END ;................................................ ; MKVEL: ; Velocity: ; Source Page Sa : Page 0, Offset 1300 ; Source Page Sc : Page 1, Offset 1300 ; Destination Page : Page 5, Offset 0 ; Shift Count : 3 (Sum of 4 images) ; Block Count : 127 ; ; ; SETREGS R800 8 0:0x00514 1:0x00514 5:0x00000 3 127 ; COPYRI2D $IPRL_STR_VELXFR $IPRL_STR_VELWRK $#IPRL_STR_VELWRK VLCTY $IPRL_STR_VELWRK RTNQUE ; ;....................... ; MKLDPTH: ; ; Line Depth: ; Source Page Sa : Page 0, Offset 1300 ; Source Page Sc : Page 1, Offset 1300 ; Destination Page : Page 6, Offset 0 ; Shift Count : 16 ; Block Count : 127 (Process data per call ~150ms) ; Lookup Seqgment : 9 (Depends on SQRT table location) ; ; SETREGS R808 9 0:0x00514 1:0x00514 6:0x00000 16 127 9 ; COPYRI2D $IPRL_STR_LDXFR $IPRL_STR_LDWRK $#IPRL_STR_LDWRK LDEPTH $IPRL_STR_LDWRK ; RTNQUE ; ;..................................................... ; MKCNTNM: ; ; Continuum: ; ; Extract 1024^2 Sd from page 2 to page 1 ; Source Page : page 2, Offset 1300 ; Destination : Page 1, Offset 0 ; X-Length : 1024 ; Y-Length : 1024 ; Row Length : 1040 ; Global Offset Reg.: 69 ; SETREGS R811 8 2:0x00514 1:0x00000 1024 1024 1040 69 EXTRACT R811 ; ; Extract 1024^2 Si from page 3 to page 4 ; Source Page : page 3, Offset 1300 ; Destination : Page 4, Offset 0 ; X-Length : 1024 ; Y-Length : 1024 ; Row Length : 1040 ; Global Offset Reg.: 69 ; SETREGS R819 8 1300 0x1800 0x0000 0x2000 1024 1024 1040 69 EXTRACT R819 ; ; Construct Continuum image in Page 7, from Sd, Si and Ld ; Source (Si) : Page 4, Offset 0 ; Source (Ld) : Page 6, Offset 0 ; Source (Sd) : Page 1, Offset 0 ; Destination : Page 7, Offset 0 ; Block Count : 63 (1/2 image processed, each call < 300 ms) ; Cadc : 200 ; SETREGS R821 10 4:0x00000 6:0x00000 1:0x00000 7:0x00000 63 200 CNTNM R821 CNTNM R821 ; RTNQUE ; ;....................... ; STRDPS: ; MKMEDL: ; Construct Medium-l ; ; This routine assumes that X and Y vectors as well as a Vector weighted ; bin list for Solar radius of 3264 units has already been loaded at ; 17:0x07000. Such a bin list consists of 29 bins generating 14509 words of ; data. ; ; Construct vector weighted binned image ; Velocity Page 5 ; Destination Address 7:0x110000 ; List Count 0 ; List Count 6 (*5=30; 5 bins processed on last call) ; VWBIN List Address 17:0x07000 ; Global Offset Reg. 69 ; ; Velocity -> Bad Pixel Removed -> Med-l ; 5 -> 1 -> 7:0x110000 ; COPYRD2D R3052 R1092 8 BADPIX R1092 ; COPYRD2D R1072 R832 8 VWBIN R832 VWBIN R832 VWBIN R832 VWBIN R832 VWBIN R832 ; ;........................ ; MKGP: ; ; Construct Golf Proxy ; (RWBinned Line Depth - 11289 pixels) ; ; COPYRD2D R3040 R1100 12 FLATFLD R1100 ; COPYRD2D R1024 R900 8 RWBIN R900 RWBIN R900 RWBIN R900 ; COPYRD2D R1032 R920 8 RWBIN R920 RWBIN R920 RWBIN R920 ; ;.......................... ; MKFB: ; ; Construct Flux Budget ; (RWBinned Continuum) ; COPYRD2D R3060 R1080 12 FLATFLD R1080 COPYRD2D R1040 R952 8 RWBIN R952 RWBIN R952 RWBIN R952 ; COPYRD2D R1048 R972 8 RWBIN R972 RWBIN R972 RWBIN R972 ; ; ;........................... ; MKLF: ; ; Construct Limb Figure ; ; Construct 1st Limb Figure from image in page 7 into page 6 (110000) ;SETREGS R856 8 0x5800 6:0x110000 0 2000 17:0x03000 69 ;test ; ;SETREGS R856 8 0x3800 6:0x110000 0 2000 17:0x03000 69 ; COPYRD2D R1056 R856 8 CROP R856 ; TWAVG R864 ; ; Construct 2nd Limb Figure from image in page 7 into page 6 (114000) ;SETREGS R880 8 0x5000 6:0x115000 0 2000 17:0x05000 69 ;test ;SETREGS R880 8 0x3800 6:0x115000 0 2000 17:0x05000 69 ; COPYRD2D R1064 R880 8 CROP R880 ; TWAVG R888 ; ; ; ADDREGD R3583 2 ; GOTOREG R3583 ; GOTO &SCITLM ; Start 5k data downlink ; ; ;-------------------------------------------------------- ; Program to downlink data via the 5k channel ; ; SCITLM: ; ; Structure Mode Telemetry output program ; --------- ---- --------- ------ ------- ; (Uses Registers R210-R293) ; ; Get System Time From Page 0 ; LRDINIT 0x1800 NOOP NOOP NOOP NOOP NOOP ; ; Error log output (if needed) COPYELOG R464 BRANCHIF R466 &MAG_DL LRDXFR R460 ; ; ; Output Magnetogram if VC <> 0 && CmpgF == 0 && NSeg <> 0 MAG_DL: BRANCHIF R3075 &ENDMAG ; No 160k BRANCHEQ R3076 1 &ENDMAG ; Campaign Mode BRANCHIF $IPRL_MAG_LRDPRM+3 &MED_L ; REGSUB $IPRL_MAG_LRDPRM+13 $IPRL_MAG_LRDPRM+1 $IPRL_MAG_TMP BRANCHGT $IPRL_MAG_TMP 0 &DO_MAG5K REGSUB $IPRL_MAG_LRDPRM+12 $IPRL_MAG_LRDPRM $IPRL_MAG_TMP BRANCHGT $IPRL_MAG_TMP 0 &DO_MAG5K ENDMAG: SETREG $IPRL_MAG_LRDPRM+3 0 ; No more Mag data GOTO &MED_L ; DO_MAG5K: LRDXFR $IPRL_MAG_LRDPRM LRDXFR $IPRL_MAG_LRDPRM LRDXFR $IPRL_MAG_LRDPRM LRDXFR $IPRL_MAG_LRDPRM GOTO &MP2LRBUF ; MED_L: ; ; Medium-l Data output ; ; LRDXFR R360 ; NpixTotal 0 ; NpixSeg 0 ; Seqment 4 ; Source 7:0x110000 ; MaxSource 3584 ; N 0 ; K 0 ; SegLength 3584 ; DPID 0xBFFFFFB0L ; NPixImage 14336L ; ; SETREGS R360 9 0 0 0 4 7:0x110000 3584 0 0 ; SETREGS R369 5 3584 0xBFFF 0xFFB0 14336 0 COPYRD2D R360 R472 16 ; Copy Med-l LRDXFR Registers LRDXFR R472 LRDXFR R472 LRDXFR R472 LRDXFR R472 ; ; GOLF Proxy MP2LRBUF: LRDXFR R374 ; ; Continuum Intensity ; LRDXFR R388 ; ; Limb Figure ; LRDXFR R402 ; ; LOI-v ; Source Page: 5 ; Destination Addr.: 7:0x114740 ; List Pointer: 0 ; List Count: 5 ; List Addr.: 17:0x030000 ; Offset Reg: 69 ; SETREGS R1164 8 0x2800 7:0x114740 0 5 17:0x030000 R69 IRBIN R1164 ; ; Register List R416-R429 is initialized by Irregular Bin load ; command in the control file loi3b.src ; COPYRD2D R416 R1180 16 LRDXFR R1180 ; ; LOI-c ; Source Page: 7 ; Destination Addr.: 5:0x114920 ; List Pointer: 0 ; List Count: 5 ; List Addr.: 17:0x030000 ; Offset Reg: 69 ; ; SETREGS R1172 8 0x3800 5:0x114920 0 5 17:0x030000 R69 IRBIN R1172 ; ; Register List R430-R443 is initialized by Irregular Bin load ; command in the control file loi3b.src ; COPYRD2D R430 R1196 16 LRDXFR R1196 ; ; Register Block Data Product ; CALLQUE ®DP ; LRDEND SETIRPT 1 ; ;.................................................................. ; ; Construct Time Weighted Averages ; TWAVG R908 ; MP #1 TWAVG R928 ; MP #2 ; TWAVG R960 ; FB #1 TWAVG R980 ; FB #2 ; TWAVG R864 ; LF #1 TWAVG R888 ; LF #2 ; ;.................................................................. ; BRANCHEQ R873 0 &PATH1 BRANCHEQ R897 0 &PATH2 GOTO &DONE5K ; PATH1: ; _COPYLST R216 ; MP RWBin 1 <- New MP RWBin List ; _COPYLST R280 ; FB RWBin 1 <- New FB RWBin List _COPYLST R344 ; LFCropList1 <- New LF Crop List GOTO &CPYLRD ; PATH2: ; _COPYLST R224 ; MP RWBin 2 <- New MP RWBin List ; _COPYLST R288 ; FB RWBin 2 <- New FB RWBin List _COPYLST R352 ; LFCropList2 <- New LF Crop List GOTO &CPYLRD ; CPYLRD: COPYRD2D R168 R374 14 COPYRD2D R232 R388 14 COPYRD2D R296 R402 14 ; Set LRDXFR from set 1 ; DONE5K: RTNQUE ;-------------------------------------------------------------- ; Function to create data product containing IP registers. ; ; Register Usage: ; Register(s) Usage ; R1130 R_init: Initialization Flag ; R1131 R_r0_addr_lo: Low order Address of R0 ; R1132-1133 R_startaddr: Address of 1st register of D/L Block ; R1134 R_startnum: Start register Number ; R1135-1136 R_endaddr: Address of last regsier of D/L Block ; R1137 R_endnum: End register number ; R1138 R_diff: = (R_movreg - R_endaddr) ; R1139 R_movreg: RL for moving a block of registers ; R1145 R_lrdxfr: RL to create dp entry. ; ; Address ; 7:0x113C00 dp_buf0: CCD Temperatures ; 7:0x113C14 dp_buf1: Fixed Registers (R126-R159) ; 7:0x113C36 dp_buf2: Register Block ; ; 40 Count ; 94 max_src ; ;...................................................................... ; REGDP: BRANCHIF R1130 &MKDPC ; CALLQUE &INITREG ; SETREG R1131 0xE000 ; SETREG R1130 0 ; MKDPC: ; ; Copy CCD temperatures to output buffer SAVERLST R0 20 7:0x113C00 ; ; Copy current pointer in the register block to R126 REGSUB R1140 R1131 R126 ; ; Save Register pointer and Memory Purge registers to o/p buffer SAVERLST R126 34 7:0x113C14 ; ; Set destination address in MOVBLKI register list SETREGS R1142 2 7:0x113C36 SETREGS R1144 2 40L ; Copy register sub-block and setup dpc header MOVBLKI R1140 SETREGS R1146 6 0 0 0 1 7:0x113C00 SETREGS R1152 6 94 0 0 94 0xcfff 0xffb6 SETREGS R1158 2 94 0 COPYREG R126 R1157 LRDXFR R1146 ; ; Check if Register block downlink is completed REGSUB R1140 R1136 R1160 BRANCHLT R1160 0 &DONER CALLQUE &INITREG DONER: RTNQUE ; ;....................................................... ; Initialize Registers ; ; Registers area is 16:0x0BE000 to 16:0x0BFFFF ; ; R1134, R1135 - Contains the Register Block Start Number ; R1138, R1139 - Contains Register Block End Number ; R1132, R1133 - Address of Start Register Number ; R1135, R1136 - Address of end Register Number ; R1140, R1141 - Address of next register to be downlinked ; INITREG: SETREGS R1132 2 16:0x0BE000 ADDADR R1132 R1134 R1132 SETREGS R1136 2 16:0x0BE000 ADDADR R1136 R1138 R1136 COPYREG R1132 R1140 COPYREG R1133 R1141 RTNQUE ;....................................................... ;-------------------------------------------------------------- ; dmpdpc.ips ; ; This file contains modules to downlink Med-l, MP, FB ; and LF data. ; ; R0081 - High Rate Board Status; 0 = OK; 1 = NOK ; ;----------------------------------------------------- ;................................................... ; DMPHR: BRANCHIF $IPRF_MAG_HR &STRTHR ; MAG downlink active RTNQUE ; STRTHR: BRANCHNR 0x4000 &HLTDL8 ; Page 8 is not available ; VELIMG: SETREGS R512 6 1 0x0000 0x4000 0xE4 0xCFFF 0xFF25 HRDINIT R512 ; ; Load length in R518 COPYREG R71 R518 COPYREG R72 R519 ; SETREGS 518 2 0xC0000L ; ; Scale Velocity data; Source Page 5, Dest Page 1 SETREGS R504 8 5:0x00000 1:0x00000 0x100000L 1 16 SCALE R504 ; ; Copy Velocity from page 1 to page 8 SETREGS R520 8 0x0800 8:0x00226 0 1000 17:0x00000 R69 CROP R520 ; ;..................................................... ; IcIMG: BRANCHNR 0x4800 &HLTDL9 ; Page 9 is not available ; Ic1: SETREGS R528 6 1 0x0000 0x4800 0xE2 0xCFFF 0xFF26 HRDINIT R528 ; ; Load length in R534 COPYREG R71 R534 COPYREG R72 R535 ; ; Crop Continuum from page 7 to page 4 SETREGS R536 8 0x3800 4:0x00000 0 1000 17:0x00000 R69 CROP R536 ; Apply Square-Root (Table @ Seg 9) scaling to the cropped image SETREGS R544 8 4:0x00000 9:0x00226 0xC0000L 0x0000 9 COPYREG R71 R548 COPYREG R72 R549 LOOKUP R544 ; ; Set Length of Ic to be > needed; It will always be truncated ; ADDADR R548 R562 R564 ; COPYREG R564 R548 ; COPYREG R565 R549 ; ;************************************** ; Temporary Test Code BRANCHNE R560 17 &TSTP9 SETREGS R518 2 0xD092DL SETREG R560 0 FILLBLK 8:0x00226 0x100000L 32 GOTO &DWNLNK TSTP9: BRANCHNE R561 17 &DWNLNK SETREGS R534 2 0xC00A9L SETREG R561 0 FILLBLK 9:0x00226 0x100000L 32 GOTO &DWNLNK DWNLNK: NOOP ;************************************* ; Start Hi-Rate START2HR 0x49 0x4000 0x4800 R518 R534 ; SETREG R143 16 PURGELST R136 ; Wait 160 ms BRANCHNR 0x4000 &EXIT ; P8 should be busy ; BRANCHGT R0081 0 &SKIPHR ; BAD > 0; Skip HR GOTO &ERREXT ; Set BAD ; ;..................................................... ; ; Halt Page 8 downlink ; HLTDL8: BRANCHGT R0081 0 &SKIPHR ; HR NOK => Skip HR ; SETREGS R552 6 1 0x0000 0x5800 0x00 0xCFFF 0xFF98 HRDINIT R552 SETREGS R558 2 0x00001L START1HR 0x33 0x5800 R558 ; D/L P11 to free P8 ; SETREG R143 16 PURGELST R136 ; While away 82 ms SETREG R143 112 ; BRANCHNR 0x4000 &ERREXT ; P8 still busy => HR NOK GOTO &VELIMG ; ; ; Halt Page 9 downlink HLTDL9: BRANCHEQ R0081 1 &EXIT ; HR NOK => Skip HR ; SETREGS R552 6 1 0x0000 0x5800 0x00 0xCFFF 0xFF98 HRDINIT R552 SETREGS R558 2 0x00001L START1HR 0x33 0x5800 R558 ; D/L P11 to free P9 ; SETREG R143 16 PURGELST R136 ; While away 82 ms SETREG R143 112 ; BRANCHNR 0x4800 &ERREXT ; P9 still busy => HR NOK GOTO &Ic1 ; ;............................................................ ; EXIT: SETREG R0081 0 ; Clear HR NOK Flag RTNQUE ; SKIPHR: ADDREGD R0081 0xFFFF ; R81 <- R81 - 1 RTNQUE ; ERREXT: SETREG R0081 3 ; Set HR NOK flag SETREG R0026 1 ; Set "Save_Context" Flag RTNQUE ; ;-------------------------------------------------------------- ; INITREGL: ; SETREGS R21 3 0xFFFF 0 0 ; ;..................................... ; ; Regsiter Usage: ; ; Registers Usage ; 168 - 183 Mag Proxy LRDXFR #1 ; 184 - 199 TWAVG #1 ; 200 - 215 TWAVG #2 ; 216 - 223 Copy List to 1 ; 224 - 231 Copy List to 2 ; ; 232 - 247 Flux Budget LRDXFR #1 ; 248 - 263 TWAVG #1 ; 264 - 279 TWAVG #2 ; 280 - 287 Copy List to 1 ; 288 - 295 Copy List to 2 ; ; 296 - 311 Limb Figure LRDXFR #1 ; 312 - 327 TWAVG #1 ; 328 - 343 TWAVG #2 ; 344 - 351 Copy List to 1 ; 352 - 359 Copy List to 2 ; ;-------------------------------------------------------------- ; Register List Assignments: ; ; Register List Length Description ; 1. R728 24 Weight Table used for MP TWA ; 2. R752 24 Weight Table used for FB TWA ; 3. R776 24 Weight Table used for LF TWA ; ; R1024 8 Mag Proxy 1 ; R1032 8 Mag Proxy 2 ; R1040 8 Flux Budget 1 ; R1048 8 Flux Budget 2 ; R1056 8 Limb Figure 1 ; R1064 8 Limb Figure 2 ; R1072 8 Medium-l ; R1080 9 Flat fielding fro FB ; R1092 8 Bad Pix Correction for Med-l ; R1100 9 Flat Field Correction for MP ; ; R1116 5 Copy Vel Table to working area ; R1124 5 Copy Recip Table to working area ; R1132 8 Velocity Table ; R1140 9 Line Depth Register List ; ; R3040 9 L-Depth Flat Field for Mag Proxy ; R3052 8 Bad Pixel correction fro Med-l ; R3060 9 Continuum Flat Field for FB ; ;-------------------------------------------------------------- ; Velocity Register List: SETREGS $IPRL_STR_VEL60 8 0:0x00514 1:0x00514 5:0x00000 2 127 SETREGS $IPRL_STR_VEL30 8 0:0x00514 1:0x00514 5:0x00000 3 127 ; ; Line Depth Register List: SETREGS $IPRL_STR_LD60 9 0:0x00514 1:0x00514 6:0x00000 16 127 9 SETREGS $IPRL_STR_LD30 9 0:0x00514 1:0x00514 6:0x00000 16 127 9 ; ; Initalizes Register Sets R168-R231, R232-R295, R296-R359 ; ; Line Depth ; ; LRDXFR R168 ; NpixTotal 0 ; NpixSeg 0 ; Seqment 12 ; Source 17:0xE0000 ; MaxSource 960 ; N 0 ; K 0 ; SegLength 960 ; DPID 0xBFFFFFB1L ; NPixImage 11520L ; ; SETREGS R168 9 0 0 0 12 17:0xC7C00 960 0 0 ; LRDXFR Registers ; SETREGS R177 5 960 0xBFFF 0xFFB1 11520 0 ; ; Initialize registers to create two sets of Time Weighted Averages SETREGS R728 8 1 1 1 1 1 1 1 1 SETREGS R736 8 1 1 1 1 1 1 1 1 SETREGS R744 8 1 1 1 1 1 1 1 1 SETREGS R184 6 7:0x118000 17:0xCA900 17:0xC7C00 SETREGS R190 6 0x2D00L R728 0 24 16 SETREGS R200 6 7:0x11C000 17:0xD3000 17:0xC7C00 SETREGS R206 6 0x2D00L R728 12 24 16 ; ; Initialize Registers to copy Commanded LF List to working area ; SETREGS R216 6 17:0x11000 17:0x18000 0x1000L ; SETREGS R224 6 17:0x11000 17:0x1F000 0x1000L ; ; Continuum Intensity ; ; LRDXFR R232 ; NpixTotal 0 ; NpixSeg 0 ; Seqment 12 ; Source 17:0xE2D00 ; MaxSource 960 ; N 0 ; K 0 ; SegLength 960 ; DPID 0xBFFFFFB1L ; NPixImage 11520L ; ; SETREGS R232 9 0 0 0 12 17:0xD8A00 960 0 0 ; LRDXFR Registers ; SETREGS R241 5 960 0xBFFF 0xFFB2 11520 0 ; ; Initialize registers to create two sets of Time Weighted Averages SETREGS R752 8 1 1 1 1 1 1 1 1 SETREGS R760 8 1 1 1 1 1 1 1 1 SETREGS R768 8 1 1 1 1 1 1 1 1 SETREGS R248 6 6:0x11A000 17:0xDB700 17:0xD8A00 SETREGS R254 6 0x2D00L R752 0 24 16 SETREGS R264 6 6:0x11D000 17:0xE3E00 17:0xD8A00 SETREGS R270 6 0x2D00L R752 12 24 16 ; ; Initialize Registers to copy Commanded LF List to working area ; SETREGS R280 6 17:0x21000 17:0x28000 0x1000L ; SETREGS R288 6 17:0x21000 17:0x16000 0x1000L ; ; Limb Figure ; ; LRDXFR R296 ; NpixTotal 0 ; NpixSeg 0 ; Seqment 12 ; Source 17:0xE5A00 ; MaxSource 1280 ; N 0 ; K 0 ; SegLength 1280 ; DPID 0xBFFFFFB1L ; NPixImage 15360L ; ; SETREGS R296 9 0 0 0 12 17:0xE9800 1280 0 0 ; LRDXFR Registers #1 ; SETREGS R305 5 1280 0xBFFF 0xFFB3 15360 16 ; ; ; Initialize registers to create two sets of Time Weighted Averages SETREGS R776 8 1 1 1 1 1 1 1 1 SETREGS R784 8 1 1 1 1 1 1 1 1 SETREGS R792 8 1 1 1 1 1 1 1 1 SETREGS R312 6 6:0x110000 17:0xED400 17:0xE9800 SETREGS R318 6 0x3C00L R776 0 24 16 SETREGS R328 6 6:0x115000 17:0xF8000 17:0xE9800 SETREGS R334 6 0x3C00L R776 12 24 16 ; ; Initialize Registers to copy Commanded LF List to working area SETREGS R344 6 17:0x01000 17:0x03000 0x2000L SETREGS R352 6 17:0x01000 17:0x05000 0x2000L ; ; Set initial operating parameters ; _COPYLST R216 ;MP RWBIN 1 <-- New MP RWBIN ; _COPYLST R224 ;MP RWBIN 2 <-- New MP RWBIN ; _COPYLST R280 ;FB RWBIN 1 <-- New FB RWBIN ; _COPYLST R288 ;FB RWBIN 2 <-- New FB RWBIN _COPYLST R344 ; LFCropList1 <- New LF Crop List _COPYLST R352 ; LFCropList1 <- New LF Crop List ; COPYRD2D R168 R374 14 ; L-Depth initial Value Reg Bank -> working set COPYRD2D R232 R388 14 ; Continuum Intensity register set COPYRD2D R296 R402 14 ; Set LRDXFR from set 1 ; COPYRD2D R184 R908 12 ; Reset MP TWA parameter set #1 COPYRD2D R200 R928 12 ; Reset MP TWA parameter set #1 COPYRD2D R248 R960 12 ; Reset FB TWA parameter set #1 COPYRD2D R264 R980 12 ; Reset FB TWA parameter set #1 COPYRD2D R312 R864 12 ; Reset LF TWA parameter set #1 COPYRD2D R328 R888 12 ; Reset LF TWA parameter set #1 ; ; Initialize Register Lists ; ; Magnetic Proxy SETREGS R1024 8 0x0800 7:0x118000 0 0x0008 17:0x11000 R69 SETREGS R1032 8 0x0800 7:0x11C000 0 0x0008 17:0x11000 R69 SETREGS R3040 9 6:0x00000 10:0x20000 1:0x00000 0x100000L 16 ; ; Flux Budget SETREGS R1040 8 0x0800 6:0x11A000 0 0x0008 17:0x21000 R69 SETREGS R1048 8 0x0800 6:0x11D000 0 0x0008 17:0x21000 R69 SETREGS R3060 9 7:0x00000 10:0x20000 1:0x00000 0x100000L 16 ; ; Limb Figure ; SETREGS R1056 8 0x5800 6:0x110000 0 2000 17:0x03000 R69 SETREGS R1056 8 0x3800 6:0x110000 0 2000 17:0x03000 R69 ; SETREGS R1064 8 0x5000 6:0x115000 0 2000 17:0x05000 R69 SETREGS R1064 8 0x3800 6:0x115000 0 2000 17:0x05000 R69 ; ; Medium-l ; SETREGS R1072 8 0x2800 7:0x110000 0 0x0006 17:0x07000 R69 SETREGS R1072 8 0x0800 7:0x110000 0 0x0006 17:0x07000 R69 SETREGS R3052 8 5:0x00000 10:0x20000 1:0x00000 0x100000L ; ; ; Register lists for copying Reciprocal and Velocity ; tables to working area SETREGS R1116 5 0x0000 0x000B 0x8000 0x800A 4 SETREGS R1124 5 0x8000 0x0009 0x0000 0x800A 4 ; ; Register List for Error log dump SETREGS R460 9 0 0 0 1 4:0x110000 4800 0 0 SETREGS R469 5 4800 0xBFFF 0xFFED 4800 0 ; SETREGS R562 2 0x20000L ; RTNQUE ; ; ; ;................................................................. ; ; ; 5k Data: ; Medium-l 80% 15360 ; Limb Figure 5% 960 (Time Wtd. Avg) ; Line Depth 5% 960 ( " " " ) ; Continuum 5% 960 ( " " " ) ; LOI-V 2.5% 480 ; LOI-C 2.5% 480 ; ; ; Map of List Memory: ; ; Address Range Description ; 17:0x000000 Full Disk Crop List ; 17:0x001000 Limb Figure Crop List ; 17:0x003000 LF List #1 ; 17:0x005000 LF List #2 ; 17:0x007000 Vector Weighted Bin List (Med-l) ; 17:0x011000 Rectangular Weighted Bin List (Mag Proxy) ; 17:0x021000 RWBin List (Flux Budget) ; ; 17:0x0C7C00 Line Depth Output Buffer #1 ; 17:0x0CA900 Line Depth Accumulation Buffer #1 ; 17:0x0D0300 Line Depth Output Buffer #2 ; 17:0x0D3000 Line Depth Accumulation Buffer #2 ; 17:0x0D8A00 Continuum Intensity Output Buffer #1 ; 17:0x0DB700 Continuum Intensity Acc. Buffer #1 ; 17:0x0E1100 Continuum Intensity Output Buffer #2 ; 17:0x0E3E00 Continuum Intensity Acc. Buffer #2 ; 17:0x0E9800 Limb Figure Output Buffer #1 ; 17:0x0ED400 Limb Figure Acc. Buffer #1 ; 17:0x0F4C00 Limb Figure Output Buffer #2 ; 17:0x0F8800 Limb Figure Acc. Buffer #2 ; ; 2 Mar 95: Use a single output buffer for TWA DP.'s. ; 6 Mar 95: Reassigned Register banks to eliminate 2nd LRDXFR ; Assigned List copying registers to start at ; 4 Register boundry. ;........................................................... ; INITDATA: ; ; ; Initilization ; FILLBLK 7:0x110000 15360L 0xA123 ; Med-l data block FILLBLK 7:0x113C00 960L 0xB456 FILLBLK 7:0x113FC0 960L 0xC789 FILLBLK 7:0x114380 960L 0x0D23 FILLBLK 7:0x114740 480L 0x0E45 FILLBLK 7:0x114920 480L 0x0F67 FILLBLK 13:0x000000 0x100000L 0x0001 SETREGS R1016 6 13:0x000000 10:0x000000 0x100000L DAT2LST R1016 ; ; ; The accumulation and output buffers for Time Weighted Averages are located ; in a List memory Page (8 byte EDAC). ; ; Line Depth Telemetry buffer FILLBLK 17:0xC7C00 960L 0x3300 FILLBLK 17:0xC7FC0 960L 0x3310 FILLBLK 17:0xC8380 960L 0x3320 FILLBLK 17:0xC8740 960L 0x3330 FILLBLK 17:0xC8B00 960L 0x3340 FILLBLK 17:0xC8EC0 960L 0x3350 FILLBLK 17:0xC9280 960L 0x3360 FILLBLK 17:0xC9640 960L 0x3370 FILLBLK 17:0xC9A00 960L 0x3380 FILLBLK 17:0xC9DC0 960L 0x3390 FILLBLK 17:0xCA180 960L 0x33A0 FILLBLK 17:0xCA540 960L 0x33B0 ; FILLBLK 17:0xD0300 960L 0x3301 FILLBLK 17:0xD06C0 960L 0x3311 FILLBLK 17:0xD0A80 960L 0x3321 FILLBLK 17:0xD0E40 960L 0x3331 FILLBLK 17:0xD1200 960L 0x3341 FILLBLK 17:0xD15C0 960L 0x3351 FILLBLK 17:0xD1980 960L 0x3361 FILLBLK 17:0xD1D40 960L 0x3371 FILLBLK 17:0xD2100 960L 0x3381 FILLBLK 17:0xD24C0 960L 0x3391 FILLBLK 17:0xD2880 960L 0x33A1 FILLBLK 17:0xD2C40 960L 0x33B1 ; ; Continuum Intensity Telemetry Buffer FILLBLK 17:0xD8A00 960L 0x4400 FILLBLK 17:0xD8DC0 960L 0x4410 FILLBLK 17:0xD9180 960L 0x4420 FILLBLK 17:0xD9540 960L 0x4430 FILLBLK 17:0xD9900 960L 0x4440 FILLBLK 17:0xD9CC0 960L 0x4450 FILLBLK 17:0xDA080 960L 0x4460 FILLBLK 17:0xDA440 960L 0x4470 FILLBLK 17:0xDA800 960L 0x4480 FILLBLK 17:0xDABC0 960L 0x4490 FILLBLK 17:0xDAF80 960L 0x44A0 FILLBLK 17:0xDB340 960L 0x44B0 ; FILLBLK 17:0xE1100 960L 0x4401 FILLBLK 17:0xE14C0 960L 0x4411 FILLBLK 17:0xE1880 960L 0x4421 FILLBLK 17:0xE1C40 960L 0x4431 FILLBLK 17:0xE2000 960L 0x4441 FILLBLK 17:0xE23C0 960L 0x4451 FILLBLK 17:0xE2780 960L 0x4461 FILLBLK 17:0xE2B40 960L 0x4471 FILLBLK 17:0xE2F00 960L 0x4481 FILLBLK 17:0xE32C0 960L 0x4491 FILLBLK 17:0xE3680 960L 0x44A1 FILLBLK 17:0xE3A40 960L 0x44B1 ; ; Limb Figure Telemetry Buffer #1 FILLBLK 17:0xE9800 1280L 0x5500 FILLBLK 17:0xE9D00 1280L 0x5510 FILLBLK 17:0xEA200 1280L 0x5520 FILLBLK 17:0xEA700 1280L 0x5530 FILLBLK 17:0xEAC00 1280L 0x5540 FILLBLK 17:0xEB100 1280L 0x5550 FILLBLK 17:0xEB600 1280L 0x5560 FILLBLK 17:0xEBB00 1280L 0x5570 FILLBLK 17:0xEC000 1280L 0x5580 FILLBLK 17:0xEC500 1280L 0x5590 FILLBLK 17:0xECA00 1280L 0x55A0 FILLBLK 17:0xECF00 1280L 0x55B0 ; ; Limb Figure Telemetry Buffer #2 FILLBLK 17:0xF4C00 1280L 0x6601 FILLBLK 17:0xF5100 1280L 0x6611 FILLBLK 17:0xF5600 1280L 0x6621 FILLBLK 17:0xF5B00 1280L 0x6631 FILLBLK 17:0xF6000 1280L 0x6641 FILLBLK 17:0xF6500 1280L 0x6651 FILLBLK 17:0xF6A00 1280L 0x6661 FILLBLK 17:0xF6F00 1280L 0x6671 FILLBLK 17:0xF7400 1280L 0x6681 FILLBLK 17:0xF7900 1280L 0x6691 FILLBLK 17:0xF7E00 1280L 0x66A1 FILLBLK 17:0xF8300 1280L 0x66B1 ; ; Clear TWA Accumulation Buffers FILLBLK 0:0x00000 0x100000L 0 ; P0 <= 0 SETREGS R500 6 0:0x00000 17:0xC7C00 0x38200L ; P0 -> P17 DAT2LST R500 ; RTNQUE ; ; GOTO &INITREGL ; END ; ;============================================================