; FILE: cam_reg_v03.tab ; PURPOSE: To define the registers to be used ; HISTORY: ; Created 14-Aug-95 by M.Morrison ; 22-Aug-95 (MDM) - Changed IPRP_HDECODE_ADDR from class IPRP to IPRL ; 5-Sep-95 (MDM) - Some additions ; - Reversed the DPC notation to be (h,l) instead of (l,h) (which is only true for addresses) ; 18-Oct-95 (MDM) - Changed the register lists used for 550 word math ; 18-Oct-95 (MDM) - Changed how the partition of the 1/4 page boundaries worked ; - Modified to use page 11 for the temporary copy of the HRDINIT ; 19-Oct-95 (MDM) - Modified to use page 12 for the temporary copy of the HRDINIT ; (involves changing all IPRP_HDECODE_PAGE* entries and the ; IPRL_HEAD_COPY entry) ; - Modified to have the IPRL_FLTGRAM_PARAM entry also be used ; for the extract instruction ; 24-Oct-95 (MDM) - Added IPRL_BIN_DONE_ADDR ; 3-Nov-95 (MDM) - Insterted IP_Symobols.dat from $dev (Mathur labels) ; - Added serveral IPRP_HDECODE pages labels ; 9-Nov-95 (MDM) - Added IPRL_EXTRACT_10X1 (1024x128) and IPRL_EXTRACT_1X10 (128x1024) ; 16-Nov-95 (MDM) - Modified to place the start of the data to be at offset 0x0500 ; instead of 0x226 so that a temporary header can be written to ; the top of a page without interfering with anything. The ; exception is page 8 and 9 ; - Modified to use page 13 for temporary header creation ; - Modified IPRL_TAPB_PAGELST contents (filled in 14 pages in the list) ; 20-Nov-95 (MDM) - Modified to have pages 0-3 have offset 0x226 ; - Modified all 0x0500 offsets to be 0x726 (because Dnyanesh made the ; header start at 0x500, not the data) ; 7-Dec-95 (MDM) - Renamed from samp3_reg.tab to cam_reg.tab ; - Changed the DPC assignments to be flight-like ; - Moved IPRL_LONG_ZERO to be in a fixed location (R8183) ; - Moved IPRL_BIN_LR_OFFSET to be in a fixed location (R8181) ; - Added IPRL_BIN_ROWBIN2X2, IPRL_BIN_ROWBIN4X4, IPRL_BIN_ROWBIN8X8 ; - Added IPRL_BIN_LRBIN2X2, IPRL_BIN_LRBIN4X4, IPRL_BIN_LRBIN8X8 ; - Added IPRL_BIN_DPC2X2, IPRL_BIN_DPC4X4, IPRL_BIN_DPC8X8 ; - Added IPRL_EXTRACT_512 ; 8-Dec-95 (MDM) - Removed all of Mathur labels ; 11-Dec-95 (MDM) - Changed the offset for PAGE15 HDECODE (from 0x1000 to 0x726) ; - Also made similar change for PAGE11 ; ; NOTES: ; The addresses are for the start of the DATA, not the header ; The NWORDS values are for the DATA portion, not the total with the header ; ; ; Label Instr Reg Class # Values ; Area words ;-------------------- ------ ---- ---- ----- ---------------------------------------------------------------------------------- IPRP_HDECODE_PAGE0 -- A1 IPRL 10 0:0x0226 0x6800 0 0 1 0 0 0 0 IPRP_HDECODE_PAGE1 -- A1 IPRL 10 1:0x0226 0x6800 0 0 2 0 0 0 0 IPRP_HDECODE_PAGE2 -- A1 IPRL 10 2:0x0226 0x6800 0 0 3 0 0 0 0 IPRP_HDECODE_PAGE3 -- A1 IPRL 10 3:0x0226 0x6800 0 0 4 0 0 0 0 IPRP_HDECODE_PAGE4 -- A1 IPRL 10 4:0x0726 0x6800 0 0 5 0 0 0 0 IPRP_HDECODE_PAGE5 -- A1 IPRL 10 5:0x0726 0x6800 0 0 6 0 0 0 0 IPRP_HDECODE_PAGE6 -- A1 IPRL 10 6:0x0726 0x6800 0 0 7 0 0 0 0 IPRP_HDECODE_PAGE7 -- A1 IPRL 10 7:0x0726 0x6800 0 0 8 0 0 0 0 IPRP_HDECODE_PAGE8 -- A1 IPRL 10 8:0x0226 0x6800 0 0 8 0 0 0 0 IPRP_HDECODE_PAGE9 -- A1 IPRL 10 9:0x0226 0x6800 0 0 8 0 0 0 0 IPRP_HDECODE_PAGE10 -- A1 IPRL 10 10:0x0726 0x6800 0 0 8 0 0 0 0 IPRP_HDECODE_PAGE11 -- A1 IPRL 10 0x0726 0x5800 0x6800 0 0 9 0 0 0 0 IPRP_HDECODE_PAGE11B -- A1 IPRL 10 0x2000 0x5804 0x6800 0 0 0xa 0 0 0 0 IPRP_HDECODE_PAGE11C -- A1 IPRL 10 0x3000 0x5808 0x6800 0 0 0xb 0 0 0 0 IPRP_HDECODE_PAGE11D -- A1 IPRL 10 0x4000 0x580C 0x6800 0 0 0xc 0 0 0 0 IPRP_HDECODE_PAGE12X -- A1 IPRL 10 0x1000 0x6000 0x6800 0 0 9 0 0 0 0 IPRP_HDECODE_PAGE12Y -- A1 IPRL 10 0x0226 0x6001 0x6800 0 0 0xa 0 0 0 0 IPRP_HDECODE_PAGE12Z -- A1 IPRL 10 0x0226 0x6005 0x6800 0 0 0xb 0 0 0 0 IPRP_HDECODE_PAGE13 -- A1 IPRL 10 0x0726 0x6800 0x6800 0 0 0xd 0 0 0 0 IPRP_HDECODE_PAGE14 -- A1 IPRL 10 0x0726 0x7000 0x6800 0 0 0xd 0 0 0 0 IPRP_HDECODE_PAGE15 -- A1 IPRL 10 0x0726 0x7800 0x6800 0 0 0xd 0 0 0 0 IPRP_HDECODE_PAGE15B -- A1 IPRL 10 0x2000 0x7804 0x6800 0 0 0xe 0 0 0 0 IPRP_HDECODE_PAGE15C -- A1 IPRL 10 0x3000 0x7808 0x6800 0 0 0xf 0 0 0 0 IPRP_HDECODE_PAGE15D -- A1 IPRL 10 0x4000 0x780C 0x6800 0 0 0 0 0 0 0 IPRP_HDECODE_PAGE16 -- A1 IPRL 10 0x1000 0x8000 0x6800 0 0 0xd 0 0 0 0 IPRP_HDECODE_PAGE17 -- A1 IPRL 10 0x0726 0x8800 0x6800 0 0 0xd 0 0 0 0 IPRP_HDECODE_PAGE18 -- A1 IPRL 10 0x0726 0x9000 0x6800 0 0 0xd 0 0 0 0 IPRP_HDECODE_PAGE19 -- A1 IPRL 10 0x0726 0x9800 0x6800 0 0 0xd 0 0 0 0 IPRP_HDECODE_FUTURE1 -- A1 IPRL 10 0xFFFF 0xFFFF 0 0 0 0 0 0 0 0 IPRP_HDECODE_FUTURE2 -- A1 IPRL 10 0xFFFF 0xFFFF 0 0 0 0 0 0 0 0 IPRP_HDECODE_FUTURE3 -- A1 IPRL 10 0xFFFF 0xFFFF 0 0 0 0 0 0 0 0 IPRP_HDECODE_FUTURE4 -- A1 IPRL 10 0xFFFF 0xFFFF 0 0 0 0 0 0 0 0 IPRP_HDECODE_FUTURE5 -- A1 IPRL 10 0xFFFF 0xFFFF 0 0 0 0 0 0 0 0 IPRL_HDECODE_PARAM -- A1 IPRL 2 0 0 ;source (h), dest(h) IPRL_HDECODE_PWORK -- A1 IPRL 1 0 IPRP_HDECODE_WORK -- A1 IPRL 1 0 IPRL_HDECODE_WORK3 -- A1 IPRL 3 0 0 0 IPRP_HDECODE_ADDR -- A1 IPRL 2 0 0 ;pointer to source header params, pointer to dest header params IPRL_HDECODE_LOOP -- A1 IPRL 1 0 IPRL_HDECODE_COMP -- A1 IPRL 1 0 IPRL_HEAD_WORK -- A1 IPRL 10 0 0 0 0 0 0 0 0 0 0 ;source(l,h), dest(h), n/k, dpc(h,l), final_dest(l,h), nwords(l,h) IPRL_HEAD_COPY MOVBLKI A1 IPRL 6 13:0x0000 0 0 0x226 0 ;source(l,h)==13:00000x always, dest(l,h), count(l,h)=550 words always IPRL_POS_550W -- A1 IPRL 2 0x0226 0x0000 ;+550 words IPRL_NEG_550W -- A1 IPRL 2 0xfdda 0xffff ;0xfffffddaL ;-550 words IPRL_NEG_549W -- A1 IPRL 2 0xfddb 0xffff ;0xfffffffbL ;-549 words IPRL_EXTRACT_INST EXTRACT A1 IPRL 8 0 0 0 0 0 0 0 R91 ;source(l,h), dest(l,h), xlen, ylen, rowlen, global offset IPRL_EXTRACT_PARAM -- A1 IPRL 6 0 0 0 0 0 0 ;count(l,h), xlen, ylen, rowlen, dpc(l) IPRL_EXTRACT_1024 -- A1 IPRL 6 0x100000L 1024 1024 1040 0x2000 ;DPC-Assignment IPRL_EXTRACT_512 -- A1 IPRL 6 0x040000L 512 512 1024 0x2800 ;DPC-Assignment IPRL_EXTRACT_256 -- A1 IPRL 6 0x010000L 256 256 1024 0x2400 ;DPC-Assignment IPRL_EXTRACT_128 -- A1 IPRL 6 0x004000L 128 128 1024 0x2C00 ;DPC-Assignment IPRL_EXTRACT_1X10 -- A1 IPRL 6 0x020000L 128 1024 1024 0x2201 ;DPC-Assignment 128x1024 IPRL_EXTRACT_10X1 -- A1 IPRL 6 0x020000L 1024 128 1024 0x2202 ;DPC-Assignment 1024x128 IPRL_TAB_RECIP_FD COPYTAB A1 IPRL 6 0 0 0 0 0 0 IPRL_TAB_RECIP_HR COPYTAB A1 IPRL 6 0 0 0 0 0 0 IPRL_TAB_VEL_FD COPYTAB A1 IPRL 6 0 0 0 0 0 0 IPRL_TAB_VEL_HR COPYTAB A1 IPRL 6 0 0 0 0 0 0 IPRL_VEL_PARAM VLCTY+ A1 IPRL 12 0 0 0 0 0 0 0 0 0 0 0 0 ;Sa(l,h), Sc(l,h), Dest(l,h), shift, block, lookup, n/k, dpc(h,l) IPRL_VEL_VER101 VLCTY+ A1 IPRL 12 0 0 0 0 0 0 0 0 0 0 0 0 IPRP_ADD_ADDR ADDREGD A1 IPRL 3 0 0 0 ;fixed working space for adding numbers for indirect addressing IPRL_DL_PARAM -- A1 IPRL 2 0 0 ;the downlink page(s) high words IPRL_DL_LOOP -- A1 IPRL 1 0 ;the loop counter for the internals IPRL_DL_NPAGE -- A1 IPRL 1 0 ;temp storage for figuring how many pages to downlink IPRL_DL_DLPAGE_LST -- A1 IPRL 2 0x4000 0x4800 ;the telemetry pages (8 or 9 for primary side) IPRL_DL_DLPAGE -- A1 IPRL 1 0 ;the telemetry page to downlink from (8 or 9 for primary side) IPRL_DL_INPAGE -- A1 IPRL 1 0 ;the source page to downlink IPRP_DL_NWORDS_PNTR -- A1 IPRL 1 0 ;pointer to where to save the number of words count IPRL_DL_NWORDS -- A1 IPRL 6 0 0 0 0 0 0 ;# words page 1 (l,h), junk, # words page 2 (l,h), junk IPRL_DL_TEMP -- A1 IPRL 1 0 ;a place to do some math IPRL_DL_COPY MOVBLKI A1 IPRL 7 0 0 0 0 0 0 0 ;source(l,h), dest(l,h), count(l,h), junk IPRL_DL_CHECKED -- A1 IPRL 1 0 ;Flag to say whether the downlink start was checked IPRL_DL_QADDR_REDO -- A1 IPRL 1 0 ;The address to go back to to re-issue the start command IPRL_BIN_PARAM -- A1 IPRL 5 0 0 0 0 0 ;source(l,h), dest(l,h), junk IPRL_BIN_ROWBIN2X2 ROWBIN+ A1 IPRL 6 19:0x0000 1024 2 1024 512 ;addr needed to reset IPRL_BIN_ROWBIN4X4 ROWBIN+ A1 IPRL 6 19:0x0000 1024 4 1024 256 IPRL_BIN_ROWBIN8X8 ROWBIN+ A1 IPRL 6 19:0x0000 1024 8 1024 128 IPRL_BIN_ROWBIN ROWBIN A1 IPRL 11 0 0 19:0x0000 1024 4 1024 256 16 1 R8183 ;source(l,h), dest(l,h), ... IPRL_BIN_LRBIN2X2 LRBIN+ A1 IPRL 1 0xFE60 ;low word of location of bin-list IPRL_BIN_LRBIN4X4 LRBIN+ A1 IPRL 1 0xFE00 IPRL_BIN_LRBIN8X8 LRBIN+ A1 IPRL 1 0xFE30 IPRL_BIN_LRBIN LRBIN A1 IPRL 8 0x9800 0 0 0 4 14:0xFFE00 R8181 ;source(h), dest(l,h), ..... IPRL_BIN_LR_NWORDS -- A1 IPRL 2 0 0 ;number of input pixels binned per LRBIN call IPRL_BIN_DPC2X2 -- A1 IPRL 1 0x4800 ;DPC-Assignment IPRL_BIN_DPC4X4 -- A1 IPRL 1 0x4400 ;DPC-Assignment IPRL_BIN_DPC8X8 -- A1 IPRL 1 0x4C00 ;DPC-Assignment IPRL_BIN_DPC -- A1 IPRL 1 0x4000 ;DPC-Assignment IPRL_BIN_NWORDS -- A1 IPRL 2 0 0 ;number of words resulting IPRL_BIN_DONE_ADDR -- A1 IPRL 2 0 0 ;high word address of source page when done LRBINing, plus a scratch IPRL_TAPB_PAGELST -- A1 IPRL 15 0x0800 0x1000 0x1800 0x2000 0x2800 0x3000 0x3800 0x4800 0x5800 0x6800 0x7800 0x8800 0x9000 0x9800 99 ;1 2 3 4 5 6 7 9 11 13 15 17 18 19 99 IPRL_TAPB_FRMNUM -- A1 IPRL 1 0 IPRP_TAPB_PAGENUM -- A1 IPRL 1 0 ;pointer to which an item in the list IPRL_TAPB_PAGENUM -- A1 IPRL 3 0 0 0 ;the page number to use (last 2 words are junk) IPRL_TAPB_N_FRMS -- A1 IPRL 1 0 ;set by entry into the program IPRL_TAPB_Q_DL -- A1 IPRL 1 0 ;register to figure if we're in the downlinking ahalf IPRL_TAPB_TYPE -- A1 IPRL 1 0 IPRL_TAPC_TYPE -- A1 IPRL 1 0 IPRL_FLTGRAM_PARAM -- A1 IPRL 11 0:0x0000 1:0x0000 1024 1024 1040 R8185 0 0 0 ;source page(l,h), dest page(l,h), xlen, ylen, rowlen, global offset, n/k, dpc(h,l) IPRL_FLTGRAM_GEN -- A1 IPRL 3 0 0x0001 0x2000 ;n/k, dpc(h,l) DPC-Assignment IPRL_FLTGRAM_TAPB -- A1 IPRL 3 0 0x0002 0x2000 ;n/k, dpc(h,l) DPC-Assignment IPRL_FLTGRAM_TAPC -- A1 IPRL 3 0 0x0003 0x2000 ;n/k, dpc(h,l) DPC-Assignment IPRL_10FLTGRAM_ADDR -- A1 IPRL 3 0 0 0 ;final destin(l,h), junk IPRL_10FLTGRAM_TYPE -- A1 IPRL 1 0 ;type of extract IPRL_BIN_LR_OFFSET -- R8181 IPR 2 0 0 ;offset into the source page (increments per LRBIN call) IPRL_LONG_ZERO -- R8183 IPR 2 0 0 ;fixed place to find 0L IPRL_1024_OFFSET -- R8185 IPR 2 1300L ; Address of 1st pixel to extract = Header(252) + Eng_line(1040) + BLS(8) = 1300 IPRL_TLM_PAGE -- R8187 IPR 1 0 IPRL_TLM_STATUS -- R8188 IPR 1 0 IPRL_DEBUG_ADDR -- R8189 IPR_DEBUG 1 0 IPRL_DEBUG_SKIP -- R8190 IPR_DEBUG 1 1 IPRL_DL_REDUNDANT -- R33 IPR 1 0 IPRL_PURGELST_COUNT -- R143 IPR 1 16 IPRL_EXTRACT_OFFSET -- R91 IPR 2 393600L ; Address of 1st pixel to extract for 256x256 center of 1024x1024 ; Skip 384 lines = (384 * 1024) + skip 384 columns = 384 = IPRL_SEQ_FRMNUM -- R3072 IPR 1 0 IPRL_DL_VC_MODE -- R3075 IPR 1 2 IPRL_STR_MAG_TELEM -- R3077 IPR 1 2 IPRL_CB_ADDR -- R3104 IPR 1 0 IPRL_DMPMEM_PARAM -- R3576 IPR 6 0 0 0 0 0 0 ;dpc(h,l), addr(l,h), #words(l,h) IPRL_JUNK_REG -- R3568 IPR 16 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 QSR_CB_DONE_ADDR -- 4095 QADR 1 0 ;0x0fff used to return to callback handler subroutine IPRL_MAG_DLPAGES MAG A1 IPRL 2 0 0 IPRL_MAG_PGLEN1 MAG A1 IPRL 2 0 0 IPRL_MAG_PGLEN2 MAG A1 IPRL 2 0 0 IPRL_MAG_P1DP MAG A1 IPRL 1 0 IPRL_MAG_DLSETEP MAG A1 IPRL 1 0 IPRL_MAG_DLPAGE MAG A1 IPRL 1 0 IPRL_MAG_DLPLEN MAG A1 IPRL 2 0 0