# File: page_dump_v02.src
#
program "%Z% MODULE: %M% RELEASE: %R%.%L% CREATED: %G% %U%"
source "/mdisw/cfl/flight/src/page_dump_v02.src"
descr "Loads IP queue instructions"
#=======================================================
#
#
#;
#; FILE:    page_dump.ips
#; PURPOSE: To dump a half page of data
#; RESTRICTIONS:
#;	   Pages used:  0 (for input of the raw camera image)
#;			13 (for output of 589824 words)
#; HISTORY: Written 18-Apr-96 by M.Morrison
#;
#QPROG_PAGE_DUMP::
#
#    BRANCHEQ R3072  10 &FRM10
tcblock mbipmacl 0x1D27    0x01AE 0x0C00 0x000A 0x1D2C 
#    END
tcblock mbipmacl 0x1D2B    0x01FC 
#
#FRM10:
#
#    SETREG   $IPRP_PDUMP_POINTER $IPRL_PDUMP_LIST		;put the start
tcblock mbipmacl 0x1D2C    0x0140 0x1423 0x1418 
#    REGADD   $IPRP_PDUMP_POINTER $IPRL_PDUMP_COUNTER $IPRP_PDUMP_
tcblock mbipmacl 0x1D2F    0x0146 0x1423 0x1422 0x1423 
#    COPYRI2D $IPRP_PDUMP_POINTER $IPRL_PDUMP_PAGE 3		;copy the pa
tcblock mbipmacl 0x1D33    0x01AC 0x1423 0x1424 0x0003 
#
#    ;---- Step #1: Save the data and make the header
#    COPYREG  $IPRL_PDUMP_PAGE $IPRL_PDUMP_COPYD+1		;set the sourc
tcblock mbipmacl 0x1D37    0x0142 0x1424 0x1428 
#    _MOVBLKI $IPRL_PDUMP_COPYD                                  ;
tcblock mbipmacl 0x1D3A    0x8166 0x1427 
#
#    SETREGS  $IPRL_HDECODE_PARAM 2 0x0000 0x6800
tcblock mbipmacl 0x1D3C    0x01B2 0x114A 0x0002 0x0000 \
                                0x6800 
#    CALLQUE  $QSR_DO_HDECODE                                    ;
tcblock mbipmacl 0x1D41    0x01F8 0x1010 
#
#    SETREGS  $IPRP_HDECODE_PAGE13+3 2   0 0x6400 		;n/k, dpc(h)
tcblock mbipmacl 0x1D43    0x01B2 0x10B7 0x0002 0x0000 \
                                0x6400 
#    COPYREG  $IPRL_PDUMP_PAGE $IPRP_HDECODE_PAGE13+5		;dpc(l)
tcblock mbipmacl 0x1D48    0x0142 0x1424 0x10B9 
#    COPYRD2D $IPRP_HDECODE_PAGE13 $IPRP_HDECODE_PAGE13+6 3      ;
tcblock mbipmacl 0x1D4B    0x0144 0x10B4 0x10BA 0x0003 
#    SETREGS  $IPRP_HDECODE_PAGE13+8 2 589824L                   ;
tcblock mbipmacl 0x1D4F    0x01B2 0x10BC 0x0002 0x0000 \
                                0x0009 
#    CALLQUE  $QSR_DO_HEADER
tcblock mbipmacl 0x1D54    0x01F8 0x105F 
#
#    ;---- Step #2: Downlinking the observable
#    SETREG   $IPRL_DL_PARAM 0x6800                              ;
tcblock mbipmacl 0x1D56    0x0140 0x11D0 0x6800 
#    CALLQUE  $QSR_DL_1PAGE                                      ;
tcblock mbipmacl 0x1D59    0x01F8 0x10D6 
#
#    ;---- Step #3: Move the pointer forward
#
#    ADDREGD  $IPRL_PDUMP_COUNTER 1				;increment the list pointer
tcblock mbipmacl 0x1D5B    0x01BC 0x1422 0x0001 
#    REGSUB   $IPRL_PDUMP_COUNTER $IPRL_PDUMP_N $IPRP_ADD_ADDR	;Co
tcblock mbipmacl 0x1D5E    0x2146 0x1422 0x1417 0x11CD 
#    BRANCHLT $IPRP_ADD_ADDR 0 &DONE				;=0 means at the last one
tcblock mbipmacl 0x1D62    0x01B8 0x11CD 0x0000 0x1D69 
#    SETREG   $IPRL_PDUMP_COUNTER 0				;reset the counter
tcblock mbipmacl 0x1D66    0x0140 0x1422 0x0000 
#
#DONE:
#    END
tcblock mbipmacl 0x1D69    0x01FC 
#
#
#
#
#=======================================================
#
return
#
#=======================================================
