; ; FILE: tap_cont.ips ; PURPOSE: To take an image and downlink it. It assumes that the next image is ; not going to come until this image has finished downlinking. ; METHOD: ?? ; There will probably be different extracts...? ; Currently this is encoded for 256 extract ; HISTORY: Written 25-Aug-95 by M.Morrison ; 30-Aug-95 (MDM) - Changed names of subroutines called ; 5-Sep-95 (MDM) - Added entry points for 4x4 bin and 2x2 bin ; 18-Sep-95 (MDM) - Fixed EXTRACT_PARM copy (copy 6, not 5 words) ; 19-Oct-95 (MDM) - Changed how FLTGRAM_PARAM is used ; - Added TAP_CONT_8X8BIN option ; 9-Nov-95 (MDM) - Modified how the code is clustered ; - Do the COPYREG of the flavor of the formatting ; at the entry point and use the type to just ; specify the type of formatting (BIN or EXTRACT) ; - Added QPROG_TAP_CONT_EXT1X10 and QPROG_TAP_CONT_EXT10X1 ; 17-Nov-95 (MDM) - Modified to use 0x0500 offsets instead of 0x0226 ; 20-Nov-95 (MDM) - Modified to use 0x0226 offsets instead of 0x0500 ; 7-Dec-95 (MDM) - Added entry point QPROG_TAP_CONT_1X1 for 1024x1024 output ; - Added 1024x1024 output capability by adding two lines ; after the formatting conditional ; 17-Jan-96 (MDM) - Modified to use page 17 instead of page 1 to not ; interfer with prime30 observation ; ; QPROG_TAP_CONT_EXT256:: COPYRD2D $IPRL_EXTRACT_256 $IPRL_EXTRACT_PARAM 6 ;setup the parameters to be used by the extract subroutine SETREG $IPRL_TAPC_TYPE 1 GOTO &QSR_TAP_CONT QPROG_TAP_CONT_EXT128:: COPYRD2D $IPRL_EXTRACT_128 $IPRL_EXTRACT_PARAM 6 ;setup the parameters to be used by the extract subroutine SETREG $IPRL_TAPC_TYPE 1 GOTO &QSR_TAP_CONT QPROG_TAP_CONT_EXT1X10:: COPYRD2D $IPRL_EXTRACT_1X10 $IPRL_EXTRACT_PARAM 6 ;setup the parameters to be used by the extract subroutine SETREG $IPRL_TAPC_TYPE 1 GOTO &QSR_TAP_CONT QPROG_TAP_CONT_EXT10X1:: COPYRD2D $IPRL_EXTRACT_10X1 $IPRL_EXTRACT_PARAM 6 ;setup the parameters to be used by the extract subroutine SETREG $IPRL_TAPC_TYPE 1 GOTO &QSR_TAP_CONT QPROG_TAP_CONT_EXT:: ;assumes that IPRL_EXTRACT_PARAM is set from the ground SETREG $IPRL_TAPC_TYPE 1 GOTO &QSR_TAP_CONT QPROG_TAP_CONT_2X2BIN:: SETREG $IPRL_TAPC_TYPE 2 GOTO &QSR_TAP_CONT QPROG_TAP_CONT_4X4BIN:: SETREG $IPRL_TAPC_TYPE 4 GOTO &QSR_TAP_CONT QPROG_TAP_CONT_8X8BIN:: SETREG $IPRL_TAPC_TYPE 8 GOTO &QSR_TAP_CONT QPROG_TAP_CONT_1X1:: SETREG $IPRL_TAPC_TYPE 0 QSR_TAP_CONT:: ;.... the same actions are taken on every frame, so it doesn't care what the frame number is SETREGS $IPRL_BIN_PARAM 4 17:0x0726 2:0x0226 ;setup source/destin page of the bin SETREGS $IPRL_EXTRACT_INST 4 17:0x0726 2:0x0226 ;setup source/destination page of the extract ;---- Step #1: Making the observable SETREGS $IPRL_FLTGRAM_PARAM 4 0:0x0000 17:0x0726 ;set source page and destination pages COPYRD2D $IPRL_FLTGRAM_TAPC $IPRL_FLTGRAM_PARAM+8 3 ;last three words are n/k, dpc(h,l) CALLQUE $QSR_MK_FLTGRAM ;---- Step #2: Formatting the observable BRANCHEQ $IPRL_TAPC_TYPE 1 &DO_EXT BRANCHEQ $IPRL_TAPC_TYPE 2 &DO_2X2BIN BRANCHEQ $IPRL_TAPC_TYPE 4 &DO_4X4BIN BRANCHEQ $IPRL_TAPC_TYPE 8 &DO_8X8BIN SETREG $IPRL_DL_PARAM 0x8800 ;setup the source page to downlink (page 17) CALLQUE $QSR_DL_1PAGE ;downlink the image END DO_EXT: CALLQUE $QSR_FMT_EXTRACT ;extract the image GOTO &DO_DL DO_2X2BIN: CALLQUE $QSR_FMT_2X2BIN GOTO &DO_DL DO_4X4BIN: CALLQUE $QSR_FMT_4X4BIN GOTO &DO_DL DO_8X8BIN: CALLQUE $QSR_FMT_8X8BIN GOTO &DO_DL DO_DL: ;---- Step #3: Downlinking the observable SETREG $IPRL_DL_PARAM 0x1000 ;setup the source page to downlink (page 2) CALLQUE $QSR_DL_1PAGE ;downlink the image END