; NAME: mk_vel.ips ; PURPOSE: Make a velocity data product and header ; HISTORY: Written 14-Aug-95 by M.Morrison ; 30-Aug-95 (MDM) - Changed the name and allowed either of the ; 15-Jan-96 (MDM) - corrected the copy/setup of HDECODE_PARAM ; (it was grabbing the low word) ; 15-Jan-96 (MDM) - Used _VLCTY instead of VLCTY ; ; QSR_MK_VEL:: ;------- Copy the proper velocity table BRANCHEQ $IPRL_VEL_PARAM+8 1 &VEL_HR_TABLE COPYTAB $IPRL_TAB_VEL_FD COPYTAB $IPRL_TAB_RECIP_FD GOTO &VEL_TABLE_DONE VEL_HR_TABLE: COPYTAB $IPRL_TAB_VEL_HR COPYTAB $IPRL_TAB_RECIP_HR GOTO &VEL_TABLE_DONE VEL_TABLE_DONE: ;-------- Do the velocity instruction _VLCTY $IPRL_VEL_PARAM ;make the velocity - source/destination pages already set ;instruction can work directly off the parameters list ;because there are no pieces being set elesewhere ;-------- decode the source and destination page info COPYREG $IPRL_VEL_PARAM+1 $IPRL_HDECODE_PARAM ;copy the source page high word into a known fixed place COPYREG $IPRL_VEL_PARAM+5 $IPRL_HDECODE_PARAM+1 ;copy the dest page high word into a known fixed place CALLQUE $QSR_DO_HDECODE ;decode the value - ;-------- now copy the relevant info to the hrdinit slot and make the header COPYRI2D $IPRP_HDECODE_ADDR+1 $IPRL_HEAD_WORK 10 ;copy the register list to a fixed working area COPYREG $IPRL_VEL_PARAM+4 $IPRL_HEAD_WORK+6 ;copy the final dest(l) COPYREG $IPRL_VEL_PARAM+5 $IPRL_HEAD_WORK+7 ;copy the final dest(h) COPYRD2D $IPRL_VEL_PARAM+9 $IPRL_HEAD_WORK+3 3 ;copy n/k, dpc(l), and dpc(h) into the HRDINIT slot SETREG $IPRL_HEAD_WORK+8 0x0000 ;set the output number of pixels (l) SETREG $IPRL_HEAD_WORK+9 0x10 ;set the output number of pixels (h) COPYRD2I $IPRL_HEAD_WORK $IPRP_HDECODE_ADDR+1 10 ;copy the register list back to the slot CALLQUE $QSR_DO_HEADER RTNQUE