Source Code
These source-code files are part of a reconstructed copy of Sunrise 69, the
final release of the Block I Command Module (CM) Apollo Guidance Computer
(AGC) system test software.
They have been created via disassembly of binary dumps of original core rope memory modules, part numbers 1003133-18, 1003133-19, 1003133-20, and 1003733-071. Corresponding portions of code have been copied from Solarium 55 where applicable. Extensive use was also made of the AGC Information Series documents, which were specifically written about the Sunrise software. Since only binary dumps (rather than listings) of Sunrise are available as source material, all comments and labels are approximate. They have been taken from other AGC programs where possible, or, in some places, written from scratch to match what we believe would have been in the original listing. |
000179,000002: ## Copyright: Public domain.
000180,000003: ## Filename: ERASABLE_ASSIGNMENTS.agc
000181,000004: ## Purpose: A section of Sunrise 69.
000182,000005: ## It is part of the reconstructed source code for the final
000183,000006: ## release of the Block I Command Module system test software. No
000184,000007: ## original listings of this program are available; instead, this
000185,000008: ## file was created via disassembly of dumps of Sunrise core rope
000186,000009: ## memory modules and comparison with the later Block I program
000187,000010: ## Solarium 55.
000188,000011: ## Assembler: yaYUL --block1
000189,000012: ## Contact: Ron Burkey <info@sandroid.org>.
000190,000013: ## Website: www.ibiblio.org/apollo/index.html
000191,000014: ## Mod history: 2023-06-19 MAS Created from Sunrise 45.
000192,000015: ## 2023-06-21 MAS Added new erasable definitions needed for
000193,000016: ## Sunrise 69's tests.
000194,000017:
000195,000018:
000196,000019: # COUNTER AND SPECIAL REGISTER TAGS
000197,000020: # ------- --- ------- -------- ----
000198,000021:
000199,000022: ??????? A EQUALS 0
000200,000023: ??????? Q EQUALS 1
000201,000024: ??????? Z EQUALS 2
000202,000025: ??????? LP EQUALS 3
000203,000026: ??????? IN0 EQUALS 4
000204,000027: ??????? IN1 EQUALS 5
000205,000028: ??????? IN2 EQUALS 6
000206,000029: ??????? IN3 EQUALS 7
000207,000030: ??????? OUT0 EQUALS 10
000208,000031: ??????? OUT1 EQUALS 11
000209,000032: ??????? OUT2 EQUALS 12
000210,000033: ??????? OUT4 EQUALS 14
000211,000034: ??????? BANKREG EQUALS 15
000212,000035: ??????? RELINT EQUALS 16
000213,000036: ??????? INHINT EQUALS 17
000214,000037: ??????? CYR EQUALS 20
000215,000038: ??????? SR EQUALS 21
000216,000039: ??????? CYL EQUALS 22
000217,000040: ??????? SL EQUALS 23
000218,000041: ??????? ZRUPT EQUALS 24
000219,000042: ??????? BRUPT EQUALS 25
000220,000043: ??????? ARUPT EQUALS 26
000221,000044: ??????? QRUPT EQUALS 27
000222,000045:
000223,000046: ??????? OVCTR EQUALS 34
000224,000047: ??????? TIME2 EQUALS 35
000225,000048: ??????? TIME1 EQUALS 36
000226,000049: ??????? TIME3 EQUALS 37
000227,000050: ??????? TIME4 EQUALS 40
000228,000051: ??????? UPLINK EQUALS 41
000229,000052: ??????? OUTCR1 EQUALS 42
000230,000053: ??????? OUTCR2 EQUALS 43
000231,000054: ??????? PIPAX EQUALS 44
000232,000055: ??????? PIPAY EQUALS 45
000233,000056: ??????? PIPAZ EQUALS 46
000234,000057: ??????? CDUX EQUALS 47
000235,000058: ??????? CDUY EQUALS 50
000236,000059: ??????? CDUZ EQUALS 51
000237,000060: ??????? OPTX EQUALS 52
000238,000061: ??????? OPTY EQUALS 53
000239,000062:
000240,000063: # INTERPRETIVE SPECIAL REGISTERS CONTAINED IN THE WORK AREA.
000241,000064:
000242,000065: ??????? VAC EQUALS 32D # RELATIVE TO FIXLOC
000243,000066: ??????? 0000040 VACX EQUALS VAC
000244,000067: ??????? 0000042 VACY EQUALS VAC + 2
000245,000068: ??????? 0000044 VACZ EQUALS VAC + 4
000246,000069: ??????? X1 EQUALS 38D # INDEXES ARE RELATIVE TO FIXLOC
000247,000070: ??????? X2 EQUALS 39D
000248,000071: ??????? S1 EQUALS 40D # AND SO ARE STEP REGISTERS
000249,000072: ??????? S2 EQUALS 41D
000250,000073: ??????? QPRET EQUALS 42D # AS IS QPRET
000251,000074:
000252,000075: 0060 SETLOC 60
000253,000076:
000254,000077: # THE FOLLOWING REGISTERS ARE USED BY THE INTERPRETER, AND MAY BE USED BY A BASIC JOB OR BASIC
000255,000078: # PORTIONS OF AN INTERPRETIVE JOB (SOME RESTRICTIONS APPEAR WITH RTB FOLLOWED BY TC DANZIG, BUT THE NINE REGISTERS
000256,000079: # VBUF AND BUF ARE AVAILABLE THEN). THE REGISTERS ARE NOT SAVED IN THEIR ENTIRETY DURING CHANGE JOB (MOST OF THEM
000257,000080: # ARE IGNORED), SO THAT THESE MUST BE USED ONLY AS TEMPORARIES BETWEEN ANY CCS NEWJOBS.
000258,000081:
000259,000082: 0060 BANKSET ERASE # STORAGE FOR BANK BITS OF OBJECT PROGRAM
000260,000083: 0061 ADDRWD ERASE # THIS WILL CONTAIN A PROPER 12 BIT ADDR
000261,000084: 0062 ORDER ERASE # STORAGE FOR RIGHT-HAND OPERATORS
000262,000085: 0063 0062 UPDATRET = ORDER # RETURN FOR UPDATNN, UPDATVB
000263,000086: 0063 0062 CHAR = ORDER # TEMP FOR CHARIN
000264,000087: 0063 0062 ERCNT = ORDER # COUNTER FOR ERROR LIGHT RESET
000265,000088: 0063 0062 DECOUNT = ORDER # COUNTER FOR SCALING AND DISPLAY (DEC)
000266,000089: 0063 TEM11 ERASE
000267,000090: 0064 0063 SGNON = TEM11 # TEMP FOR +,- ON
000268,000091: 0064 0063 NOUNTEM = TEM11 # COUNTER FOR MIXNOUN FETCH
000269,000092: 0064 0063 DISTEM = TEM11 # COUNTER FOR OCTAL DISPLAY VERBS
000270,000093: 0064 0063 DECTEM = TEM11 # COUNTER FOR FETCH (DEC DISPLAY VERBS)
000271,000094: 0064 0063 DECTEM1 = TEM11 # TEMP FOR NUM
000272,000095: 0064 MODE ERASE # DENOTES VECTOR, DP, OR TP.
000273,000096: 0065 0064 ENTRET = MODE # EXIT FROM ENTER
000274,000097: 0065 LOADIND ERASE # LOAD INDICATOR
000275,000098: 0066 0065 NEWEQIND EQUALS LOADIND
000276,000099: 0066 0065 MONTEM = NEWEQIND # TEMP RETURN FOR MONITOR
000277,000100: 0066 FIXLOC ERASE # ADDRESS OF CURRENT VAC AREA
000278,000101: 0067 VACLOC ERASE # ADDRESS OF CURRENT VAC (= FIXLOC+32D)
000279,000102: 0070 VBUF ERASE +5 # 6 WORD TEMPORARY BLOCK FOR VXV, MXV, ETC
000280,000103: 0076 0070 TEMQS EQUALS VBUF # TEMP STORAGE FOR SWCALL ROUTINE
000281,000104: 0076 0071 BANKTEM EQUALS VBUF +1 # LIKEWISE
000282,000105: 0076 0072 B EQUALS VBUF +2 # ARGUMENT STORAGE IN FUNCTIONS
000283,000106: 0076 0072 PROGREG = VBUF +2 # FOR GO EXEC PROGRAM
000284,000107: 0076 0072 MIXTEMP = VBUF +2 # FOR MIXNOUN DATA
000285,000108: 0076 0072 SIGNRET = VBUF +2 # RETURN FOR +,- ON
000286,000109: # ALSO PROGREG+1, PROGREG+2. MIXTEMP+1, MIXTEMP+2.
000287,000110: 0076 0074 ESCAPE2 EQUALS VBUF +4 # NEGATIVE ARGUMENT SWITCH IN ARCCOS
000288,000111: 0076 0074 TAG1 EQUALS VBUF +4 # USED FOR PICKING UP INDEX AND STEP REGS
000289,000112: 0076 0075 TEMQ3 EQUALS VBUF +5 # RETURN FROM DDV AND SQRTDIV
000290,000113: 0076 0075 POLISH EQUALS VBUF +5 # TEMPORARY STORAGE FOR COMPLETE ADDRESSES
000291,000114: 0076 0075 WDCNT = VBUF +5 # CHAR COUNTER FOR DSPWD
000292,000115: 0076 0075 INREL = VBUF +5 # INPUT BUFFER SELECTOR ( X,Y,Z, REG )
000293,000116: 0076 BUF ERASE +2 # USED BY DMP1, SQRTDIV
000294,000117: 0101 0076 LOGTEM EQUALS BUF # LOG SUBROUTINE TEMP.
000295,000118: 0101 0100 SGNDMAX EQUALS BUF +2 # USED IN TPAGREE
000296,000119: 0101 0100 TEM3 EQUALS BUF +2
000297,000120: 0101 0100 GCOMPSW EQUALS BUF +2
000298,000121: 0101 TEM2 ERASE
000299,000122: 0102 0101 DSREL = TEM2 # REL ADDRESS FOR DSPIN(TEM2 USED BY DAD1)
000300,000123: 0102 TEM4 ERASE
000301,000124: 0103 0102 TEMQ EQUALS TEM4 # RETURN FROM TPAGREE
000302,000125: 0103 0102 DSMAG = TEM4 # MAGNITUDE STORE FOR DSPIN
000303,000126: 0103 0102 IDADDTEM = TEM4 # MIXNOUN INDIRECT ADDRESS STORAGE
000304,000127: 0103 TEM5 ERASE
000305,000128: 0104 0103 TEMQ2 EQUALS TEM5
000306,000129: 0104 0103 BASE = TEM5
000307,000130: 0104 0103 COUNT = TEM5 # FOR DSPIN (TEM5 IS USED BY DAD)
000308,000131: 0104 TEM8 ERASE
000309,000132: 0105 0104 TEM6 EQUALS TEM8 # ERASABLE ASSIGNMENTS BY EQUALS
000310,000133: 0105 TEM9 ERASE
000311,000134: 0106 0105 WRDRET = TEM9 # RETURN FOR 5BLANK
000312,000135: 0106 0105 WDRET = TEM9 # RETURN FOR DSPWD
000313,000136: 0106 0105 DECRET = TEM9 # RETURN FOR PUTCOM(DEC LOAD)
000314,000137: 0106 0105 21/22REG = TEM9 # TEMP FOR CHARIN
000315,000138: 0106 TEM10 ERASE
000316,000139: 0107 0106 IND EQUALS TEM10 # USED IN CROSS ROUTINE
000317,000140: 0107 0106 MIXBR = TEM10 # INDICATOR FOR MIXED OR NORMAL NOUN
000318,000141: 0107 0106 DSPMMTEM = TEM10 # DSPCOUNT SAVE FOR DSPMM
000319,000142: 0107 DVSW ERASE # (THIS CAN PROBABLY BE EQUATED)
000320,000143: 0110 0107 SGNOFF = DVSW # TEMP FOR +,- ON
000321,000144: 0110 0107 NVTEMP = DVSW # TEMP FOR NVSUB
000322,000145: 0110 0107 SFTEMP1 = DVSW # STORAGE FOR SF CONST HI PART(=SFTEMP2-1)
000323,000146: 0110 0107 DECTEM2 = DVSW # TEMP FOR NUM
000324,000147: 0110 BRANCHQ ERASE # (DITTO)
000325,000148: 0111 0110 CODE = BRANCHQ # FOR DSPIN
000326,000149: 0111 0110 SFTEMP2 = BRANCHQ # STORAGE FOR SF CONST LO PART(=SFTEMP1+1)
000327,000150: 0111 COMPON ERASE # (DITTO)
000328,000151: 0112 0111 DSEXIT = COMPON # RETURN FOR DSPIN
000329,000152: 0112 0111 EXITEM = COMPON # RETURN FOR SCALE FACTOR ROUTINE SELECT
000330,000153: 0112 0111 BLANKRET = COMPON # RETURN FOR 2BLANK
000331,000154: 0112 ARETURN ERASE # RETURN ADDRESS FOR ARCSIN/ARCCOS.
000332,000155: 0113 0112 LSTPTR = ARETURN # LIST POINTER FOR GRABUSY
000333,000156: 0113 0112 RELRET = ARETURN # RETURN FOR RELDSP
000334,000157: 0113 0112 FREERET = ARETURN # RETURN FOR FREEDSP
000335,000158:
000336,000159: 0113 ESCAPE ERASE # ARCSIN/ARCCOS SWITCH
000337,000160: 0114 0113 CADRTEM = ESCAPE # TEMP STORAGE FOR GRAB ROUTINES
000338,000161:
000339,000162: # THE FOLLOWING REGISTERS ARE USED EXCLUSIVELY BY THE EXECUTIVE.
000340,000163: 0114 MPAC ERASE +2 # MULTIPLE-PRECISION ACCUMULATOR
000341,000164: 0117 LOC ERASE # LOCATION COUNTER FOR OPERATOR WORDS
000342,000165: 0120 ADRLOC ERASE # LOCATION COUNTER FOR OPERAND ADDRESSES
000343,000166: 0121 OVFIND ERASE # 0 FOR NO OVERFLOW, NON-ZERO OTHERWISE
000344,000167: 0122 PUSHLOC ERASE # NEXT AVAILABLE ENTRY IN PUSH-DOWN LIST
000345,000168: 0123 PRIORITY ERASE # PRIORITY OF CURRENT JOB
000346,000169:
000347,000170: 0124 ERASE +55D # EIGHT JOBS POSSIBLE
000348,000171:
000349,000172: 0214 VAC1USE ERASE # SEE EXECUTIVE PROGRAMS FOR USE OF THESE
000350,000173: 0215 VAC1 ERASE +42D # REGISTERS
000351,000174: 0270 VAC2USE ERASE
000352,000175: 0271 VAC2 ERASE +42D
000353,000176: 0344 VAC3USE ERASE
000354,000177: 0345 VAC3 ERASE +42D
000355,000178: 0420 VAC4USE ERASE
000356,000179: 0421 VAC4 ERASE +42D
000357,000180: 0474 VAC5USE ERASE
000358,000181: 0475 VAC5 ERASE +42D
000359,000182:
000360,000183: 0550 NEWJOB ERASE # SET NON-ZERO TO SIGNAL EXECUTIVE RUPT
000361,000184:
000362,000185: # THE FOLLOWING REGISTERS ARE USED EXCLUSIVELY BY THE WAITLISTER.
000363,000186:
000364,000187: 0551 LST1 ERASE +4 # DELTA T'S.
000365,000188: 0556 LST2 ERASE +5 # TASK CADRS.
000366,000189: 0564 RUPTAGN ERASE # WAITLIST ADDITIONAL TASK INDICATOR.
000367,000190:
000368,000191: 0565 0564 KEYTEMP2 = RUPTAGN # TEMP FOR KEYRUPT, UPRUPT
000369,000192:
000370,000193: # THE FOLLOWING GROUP OF REGISTERS MAY BE USED AS TEMPORARY STORAGE BY ANY INTERRUPT PROGRAM OR BY ANY
000371,000194: # PROGRAM WHICH INHIBITS INTERRUPT. CARE MUST BE TAKEN, HOWEVER, TO SEE THAT THEY ARE NOT USED DURING A CALL
000372,000195: # TO THE EXECUTIVE (FOR EXAMPLE), FOR THE EXECUTIVE MAY USE THEM AS TEMPORARIES TOO.
000373,000196:
000374,000197: 0565 EXECTEM1 ERASE # THESE REGISTERS, EXECTEM1-3, MAY BE USED
000375,000198: 0566 0565 RUPTSTOR = EXECTEM1
000376,000199: 0566 0565 PHASE = EXECTEM1
000377,000200: 0566 0565 IN1HITEM = EXECTEM1 # INTERRUPT TEMP FOR STANDBY PREP
000378,000201: 0566 EXECTEM2 ERASE # AS SCRATCH STORAGE BY ANY PROGRAM WHICH
000379,000202: 0567 0566 PROG EQUALS EXECTEM2
000380,000203: 0567 0566 IN1LOTEM = EXECTEM2 # INTERRUPT TEMP FOR STANDBY PREP
000381,000204: 0567 EXECTEM3 ERASE # INHIBITS INTERRUPTS
000382,000205: 0570 0567 ITEMP3 EQUALS EXECTEM3
000383,000206: 0570 0567 SRRUPT EQUALS EXECTEM3 # SHORT STORAGE FOR SR DURING INTERRUPT.
000384,000207: 0570 0567 LOOKRET = EXECTEM3 # INTERRUPT TEMP FOR STANDBY PREP
000385,000208: 0570 0567 PHASEDIG = EXECTEM3
000386,000209: 0570 EXECTEM4 ERASE
000387,000210: 0571 0570 PHASELP = EXECTEM4
000388,000211: 0571 EXECTEM5 ERASE # BANK RETURN FROM PHASE CONTROL.
000389,000212: 0572 NEWPRIO ERASE # PRIORITY OF NEW JOB
000390,000213: 0573 0572 NVAL = NEWPRIO
000391,000214: 0573 0572 DELT = NVAL
000392,000215: 0573 0572 ITEMP1 = NEWPRIO
000393,000216: 0573 0572 PHASEWD = NEWPRIO
000394,000217: 0573 WTEXIT ERASE
000395,000218: 0574 0573 ITEMP2 = WTEXIT
000396,000219: 0574 0573 KEYTEMP1 = WTEXIT # TEMP FOR KEYRUPT, UPRUPT
000397,000220: 0574 0573 DSRUPTEM = WTEXIT # TEMP FOR DSPOUT
000398,000221: 0574 LOCCTR ERASE # USED TO LOCATE STORAGE FOR CORE REGISTRS
000399,000222: 0575 0574 PHASDATA EQUALS LOCCTR
000400,000223:
000401,000224: 0575 BANKRUPT ERASE
000402,000225: 0576 OVRUPT ERASE
000403,000226: 0577 LPRUPT ERASE
000404,000227:
000405,000228: # LONG-TERM STORAGE USED DURING INTERUPT, NOT USED BY EXECUTIVE, WAITLIST, ETC.
000406,000229:
000407,000230: 0600 RUPTREG1 ERASE
000408,000231: 0601 0600 KSAMPTEM EQUALS RUPTREG1
000409,000232: 0601 RUPTREG2 ERASE
000410,000233: 0602 0601 OSAMPTEM EQUALS RUPTREG2
000411,000234: 0602 RUPTREG3 ERASE
000412,000235: 0603 RUPTREG4 ERASE
000413,000236:
000414,000237: # ERASABLE ASSIGNMENTS SPECIFIC TO PINBALL
000415,000238:
000416,000239: 0612 SETLOC 612
000417,000240: 0612 VERBREG ERASE # VERB CODE
000418,000241: 0613 NOUNREG ERASE # NOUN CODE
000419,000242: 0614 XREG ERASE # R1 INPUT BUFFER
000420,000243: 0615 YREG ERASE # R2 INPUT BUFFER
000421,000244: 0616 ZREG ERASE # R3 INPUT BUFFER
000422,000245: 0617 XREGLP ERASE # LO PART OF XREG (FOR DEC CONV ONLY)
000423,000246: 0620 YREGLP ERASE # LO PART OF YREG (FOR DEC CONV ONLY)
000424,000247: 0621 ZREGLP ERASE # LO PART OF ZREG (FOR DEC CONV ONLY)
000425,000248: 0622 MODREG ERASE # MODE CODE
000426,000249: 0623 DSPLOCK ERASE # KEYBOARD/SUBROUTINE CALL INTERLOCK
000427,000250: 0624 REQRET ERASE # RETURN REGISTER FOR LOAD
000428,000251: 0625 DSPCOUNT ERASE # DISPLAY POSITION INDICATOR
000429,000252: 0626 DECBRNCH ERASE # +DEC, - DEC, OCT INDICATOR
000430,000253: 0627 DSPTEM1 ERASE +2 # BUFFER STORAGE AREA 1 (MOSTLY FOR TIME)
000431,000254: 0632 DSPTEM2 ERASE +2 # BUFFER STORAGE AREA 2 (MOSTLY FOR DEG)
000432,000255: 0635 NOUNADD ERASE # MACHINE ADDRESS FOR NOUN
000433,000256: 0636 MONSAVE ERASE # N/V CODE FOR MONITOR. ALSO ACTIVITY
000434,000257: 0637 MONSAVE1 ERASE # NOUNADD STORAGE FOR MONITOR WITH MATBS
000435,000258: 0640 CADRSTOR ERASE # ENDIDLE STORAGE
000436,000259: 0641 GRABLOCK ERASE # INTERNAL INTERLOCK FOR DISPLAY SYSTEM
000437,000260: 0642 NVBNKTEM ERASE # NVSUB STORAGE FOR CALLING BANK
000438,000261: 0643 IN0WORD ERASE # INPUT CODE STORAGE (KEYRUPT OR UPRUPT)
000439,000262: 0644 NVQTEM ERASE # NVSUB STORAGE FOR CALLING Q
000440,000263: 0645 LOADSTAT ERASE # STATUS INDICATOR FOR LOADTST
000441,000264: 0646 CLPASS ERASE # PASS INDICATOR FOR CLEAR
000442,000265: 0647 DSPLIST ERASE +2 # WAITING LIST FOR DSP SYST INTERNAL USE
000443,000266:
000444,000267:
000445,000268: # INTERPRETER SWITCH ASSIGNMENTS.
000446,000269:
000447,000270: 0652 STATE ERASE +2 # 45 SWITCHES USED BY INTERPRETIVE PROGS.
000448,000271:
000449,000272: 0655 0653 FLAGWRD1 EQUALS STATE +1
000450,000273: 0655 0654 FLAGWRD2 EQUALS STATE +2
000451,000274:
000452,000275: 0655 JSWITCH EQUALS 1 # FREE-FALL INTEGRATION.
000453,000276: 0655 NBSMBIT EQUALS 5 # IN-FLIGHT ALIGNMENT.
000454,000277:
000455,000278: # STORAGE USED BY PHASE CONTROL.
000456,000279:
000457,000280: 0655 PHASETAB ERASE +3 # PHASE VALUES FOR 4 PROGRAMS
000458,000281: 0661 BACKPHAS ERASE +3
000459,000282: 0665 PHASEBAR ERASE +3 # COMPLEMENTED COPY.
000460,000283: 0671 PWTPROG ERASE +1
000461,000284: 0673 PWTCADR ERASE +1
000462,000285:
000463,000286: # THE FOLLOWING REGISTERS ARE USED BY THE DOWNRUPT PROGRAM.
000464,000287:
000465,000288: 0675 TELCOUNT ERASE # ENDPULSE FREQUENCY MONITORING COUNTER.
000466,000289: 0676 DISPBUF ERASE
000467,000290: 0677 DNLSTADR ERASE
000468,000291: 0700 IDPLACER ERASE
000469,000292: 0701 TMINDEX ERASE
000470,000293: 0702 TMKEYBUF ERASE
000471,000294:
000472,000295:
000473,000296: # THE FOLLOWING STORAGE IS USED BY T4RUPT.
000474,000297:
000475,000298: 0703 DSRUPTSW ERASE # T4RUPT PHASE COUNT GOES 7(-1)0
000476,000299: 0704 CDUIND ERASE # IMU CDU STATUS INDICATOR AND INDEXER.
000477,000300: 0705 THETAD ERASE +2 # SET OF THREE DEISRED ANGLES IN 2S COMPL.
000478,000301: 0710 0705 PRELXGA = THETAD
000479,000302: 0710 0706 PRELYGA = THETAD +1
000480,000303: 0710 0707 PRELZGA = THETAD +2
000481,000304: 0710 COMMAND ERASE +2 # LAST COMMANDS TO CDUS.
000482,000305: 0713 KG ERASE # CDU DRIVING GAIN.
000483,000306: 0714 KH ERASE # CDU DRIVING GAIN.
000484,000307: 0715 GYROD ERASE +5 # GYRO PULSE TRAIN COMMANDS.
000485,000308: 0723 OPTIND ERASE # OPTICS CDU STATUS INDICATOR AND INDEXER.
000486,000309: 0724 DESOPTX ERASE +1 # DESIRED OPTICS CDU ANGLES.
000487,000310:
000488,000311: 0726 DSPCNT ERASE # STEPS THROUGH K-RELAY SLOTS IN DSPTAB.
000489,000312: 0727 NOUT ERASE # HOLDS NUMBER OF RELAY WORDS TO CHANGE.
000490,000313: 0730 DSPTAB ERASE +13D # HOLDS STATE OF ALL RELAYS AND CHANGE INF
000491,000314:
000492,000315: 0746 OLDERR ERASE # LAST-SAMPLED SYSTEM ERROR BITS.
000493,000316: # THE BITS OF OLDERR HAVE THE FOLLOWING MEANINGS:
000494,000317:
000495,000318: # BIT 1 = 1 IF THE PILOTS ATTITUDE BUTTON IS DEPRESSED.
000496,000319: # BIT 2 = 1 IF RESTART FAILED (AND DID A FRESH START).
000497,000320: # BIT 3 = 1 IF BIT 4 OF OUT1 WAS NOT INVERTED LAST NWJOB.
000498,000321: # BIT 4 = 1 TO INHIBIT IMU FAIL FOR 5 SECONDS AFTER COARSE ALIGN.
000499,000322: # BIT 5 = 1 IF CURTAINS CALLED (IMU MODING FAILURE, ETC.)
000500,000323: # BIT 10 = 1 IF CDU FAIL IS ON IN FINE ALIGN.
000501,000324: # BIT 11 = 1 IF PIPA FAIL IS ON.
000502,000325: # BIT 12 = 1 IF IMU FAIL IS ON IN ANY MODE BUT COARSE ALIGN.
000503,000326:
000504,000327: # IN FLIGHT 501, BITS 2, 5, 11, AND 12 INHIBIT MAINTENANCE OF THE NIGHT WATCHMAN ALARM
000505,000328: # SO THAT IF THEY ARE PRESENT FOR 2 CONSECUTIVE NWJOBS, G & N FAIL WILL BE SENT TO THE MCP.
000506,000329:
000507,000330: 0747 WASKSET ERASE # LAST SETTING OF IMU MODE SWITCHES.
000508,000331: 0750 WASOPSET ERASE # LAST SETTING OF OPTICS MODE SWITCHES.
000509,000332:
000510,000333: 0751 DESKSET ERASE # DESIRED SETTING OF IMU MODE SWITCHES.
000511,000334: 0752 DESOPSET ERASE # DESIRED OPTICS MODES.
000512,000335:
000513,000336: # THE FOLLOWING REGISTERS ARE USED BY THE MODE SWITCHING AND MARK PROGRAMS.
000514,000337:
000515,000338: 0753 IMUCADR ERASE # USED BY IMUSTALL.
000516,000339: 0754 0753 MODECADR EQUALS IMUCADR # FOR INDEXING PURPOSES.
000517,000340: 0754 OPTCADR ERASE # USED BY OPTSTALL.
000518,000341:
000519,000342: 0755 MARKSTAT ERASE # MARK BUTTON STATUS REGISTER.
000520,000343:
000521,000344: 0756 FAILREG ERASE
000522,000345:
000523,000346: # THE FOLLOWING STORAGE IS TIME-SHARED BY MISSION PROGRAMS UNDER THE SUPERVISION OF MASTER COMTROL. IT IS
000524,000347: # ORGANIZED INTO THREE PARTS REFERRED TO AS A MEMORY, B MEMORY, AND C MEMORY. A PARTICULAR MISSION PHASE IS
000525,000348: # ASSIGNED TO ONE OF THE SEGMENTS IN SUCH A WAY THAT NO OTHER MISSION PHASE USING THE SAME SEGMENT WILL EVER RUN
000526,000349: # CONCURRENTLY; E.G., RE-ENTRY WILL NEVER RUN CONCURRENT WITH TVC. THE NUMBER OF AREAS (3) IS DETERMINED BY THE
000527,000350: # MAXIMUM NUMBER OF DISTINCT MISSION PROGRAMS WHICH RUN SIMULTANEOUSLY.
000528,000351:
000529,000352: # A MEMORY IS USED BY PRELAUNCH AND IN-FLIGHT ALIGNMENTS. B MEMORY IS USED BY MID-COURSE DURING FREE-FALL
000530,000353: # PORTIONS OF THE MISSION. THE C MEMORY PORTION IS USED THROUGHOUT MOST OF THE MISSION FOR THE MIDCOURSE ERROR
000531,000354: # TRANSITION MATRIX W. THE EXCEPTION IS SYSTEM TEST, ASSIGNED TO A MEMORY, WHICH NEVER RUNS CONCURRENTLY WITH
000532,000355: # MISSION PROGRAMS.
000533,000356:
000534,000357: 0757 AMEMORY ERASE +152D
000535,000358: 1210 BMEMORY ERASE +166D
000536,000359: 1457 CMEMORY ERASE +71D
000537,000360:
000538,000361:
000539,000362: # A MEMORY ASSIGNMENTS FOR PRE-LAUNCH ALIGNMENT.
000540,000363: 1567 0757 GYROCSW EQUALS AMEMORY +000D
000541,000364: 1567 0760 DRIFTY EQUALS AMEMORY +001D
000542,000365: 1567 0761 DRIFTZ EQUALS AMEMORY +002D
000543,000366: 1567 0762 DRIFTX EQUALS AMEMORY +003D
000544,000367: 1567 0763 LATITUDE EQUALS AMEMORY +004D
000545,000368: 1567 0765 AZIMUTH EQUALS AMEMORY +006D
000546,000369: 1567 0767 PRELTEMP EQUALS AMEMORY +008D
000547,000370:
000548,000371:
000549,000372: # THE FOLLOWING LOCATIONS ARE USED BY IN-FLIGHT ALIGNMENT:
000550,000373: 1567 0770 STARAD EQUALS AMEMORY +009D
000551,000374: 1567 0770 XNB EQUALS AMEMORY +009D
000552,000375: 1567 0776 YNB EQUALS AMEMORY +015D
000553,000376: 1567 1004 ZNB EQUALS AMEMORY +021D
000554,000377: 1567 1004 STAR EQUALS AMEMORY +021D
000555,000378: 1567 1012 XSM EQUALS AMEMORY +027D
000556,000379: 1567 1020 YSM EQUALS AMEMORY +033D
000557,000380: 1567 1026 ZSM EQUALS AMEMORY +039D
000558,000381: 1567 1034 XDC EQUALS AMEMORY +045D
000559,000382: 1567 1034 XDSMPR EQUALS AMEMORY +045D
000560,000383: 1567 1042 YDC EQUALS AMEMORY +051D
000561,000384: 1567 1042 YDSMPR EQUALS AMEMORY +051D
000562,000385: 1567 1050 ZDC EQUALS AMEMORY +057D
000563,000386: 1567 1050 ZDSMPR EQUALS AMEMORY +057D
000564,000387: 1567 1056 OGC EQUALS AMEMORY +063D
000565,000388: 1567 1056 SAC EQUALS AMEMORY +063D
000566,000389: 1567 1060 IGC EQUALS AMEMORY +065D
000567,000390: 1567 1060 PAC EQUALS AMEMORY +065D
000568,000391: 1567 1062 MGC EQUALS AMEMORY +067D
000569,000392:
000570,000393:
000571,000394: # SYSTEM TEST A MEMORY USAGE:
000572,000395:
000573,000396: 1567 0757 COUNTPL EQUALS AMEMORY +000D
000574,000397: 1567 0765 PIPINDEX EQUALS AMEMORY +006D
000575,000398: 1567 1064 GENPLACE EQUALS AMEMORY +069D
000576,000399: 1567 1204 PIPANO EQUALS AMEMORY +149D
000577,000400: 1567 1205 POSITON EQUALS AMEMORY +150D
000578,000401: 1567 1206 RESULTCT EQUALS AMEMORY +151D
000579,000402: 1567 1207 QPLACE EQUALS AMEMORY +152D
000580,000403:
000581,000404:
000582,000405: # THE FOLLOWING B MEMORY LOCATIONS ARE USED BY MID-COURSE NAVIGATION:
000583,000406:
000584,000407: 1567 1210 FDSPWAIT EQUALS BMEMORY +000D
000585,000408: 1567 1211 STEPEXIT EQUALS BMEMORY +001D
000586,000409: 1567 1212 DIFEQCNT EQUALS BMEMORY +002D
000587,000410: 1567 1213 SCALEA EQUALS BMEMORY +003D
000588,000411: 1567 1214 SCALEB EQUALS BMEMORY +004D
000589,000412: 1567 1215 SCALEDT EQUALS BMEMORY +005D
000590,000413: 1567 1216 SCALDELT EQUALS BMEMORY +006D
000591,000414: 1567 1217 SCALER EQUALS BMEMORY +007D
000592,000415: 1567 1220 PBODY EQUALS BMEMORY +008D
000593,000416: 1567 1221 FBRANCH EQUALS BMEMORY +009D
000594,000417: 1567 1222 HBRANCH EQUALS BMEMORY +010D
000595,000418: 1567 1223 FLSTPHAS EQUALS BMEMORY +011D
000596,000419: 1567 1224 GMODE EQUALS BMEMORY +012D
000597,000420: 1567 1225 BETAM EQUALS BMEMORY +013D
000598,000421: 1567 1227 VECTAB EQUALS BMEMORY +015D
000599,000422: 1567 1273 RRECT EQUALS BMEMORY +051D
000600,000423: 1567 1301 VRECT EQUALS BMEMORY +057D
000601,000424: 1567 1307 ALPHAM EQUALS BMEMORY +063D
000602,000425: 1567 1311 TC EQUALS BMEMORY +065D
000603,000426: 1567 1313 TAU EQUALS BMEMORY +067D
000604,000427: 1567 1315 TETDISP EQUALS BMEMORY +069D
000605,000428: 1567 1317 TET EQUALS BMEMORY +071D
000606,000429: 1567 1321 ENDTET EQUALS BMEMORY +073D
000607,000430: 1567 1323 DT/2 EQUALS BMEMORY +075D
000608,000431: 1567 1325 H EQUALS BMEMORY +077D
000609,000432: 1567 1327 TDELTAV EQUALS BMEMORY +079D
000610,000433: 1567 1335 TNUV EQUALS BMEMORY +085D
000611,000434: 1567 1343 YV EQUALS BMEMORY +091D
000612,000435: 1567 1351 ZV EQUALS BMEMORY +097D
000613,000436: 1567 1357 RCV EQUALS BMEMORY +103D
000614,000437: 1567 1357 FOUNDR EQUALS BMEMORY +103D
000615,000438: 1567 1365 VCV EQUALS BMEMORY +109D
000616,000439: 1567 1365 FOUNDV EQUALS BMEMORY +109D
000617,000440: 1567 1373 ALPHAV EQUALS BMEMORY +115D
000618,000441: 1567 1401 BETAV EQUALS BMEMORY +121D
000619,000442: 1567 1407 PHIV EQUALS BMEMORY +127D
000620,000443: 1567 1415 PSIV EQUALS BMEMORY +133D
000621,000444: 1567 1423 FV EQUALS BMEMORY +139D
000622,000445: 1567 1431 RDISP EQUALS BMEMORY +145D
000623,000446: 1567 1437 VDISP EQUALS BMEMORY +151D
000624,000447: 1567 1447 XKEPHI EQUALS BMEMORY +159D
000625,000448: 1567 1451 XKEPLO EQUALS BMEMORY +161D
000626,000449: 1567 1453 XSTOREX EQUALS BMEMORY +163D
000627,000450: 1567 1455 ASQ EQUALS BMEMORY +165D
000628,000451:
000629,000452:
000630,000453: # THE FOLLOWING IS THE MIDCOURSE 6X6 ERROR TRANSITION MATRIX:
000631,000454:
000632,000455: 1567 1457 W EQUALS CMEMORY +000D
000633,000456:
000634,000457:
000635,000458: # THE FOLLOWING STORAGE IS USED BY SELF-CHECK
000636,000459:
000637,000460: 1567 SMODE ERASE
000638,000461: 1570 SFAIL ERASE
000639,000462: 1571 SCOUNT ERASE +1
000640,000463: 1573 SKEEP1 ERASE
000641,000464: 1574 SKEEP2 ERASE
000642,000465: 1575 SKEEP3 ERASE
000643,000466: 1576 SKEEP4 ERASE
000644,000467: 1577 SKEEP5 ERASE
000645,000468: 1600 SKEEP6 ERASE
000646,000469: 1601 OKREG ERASE
000647,000470:
000648,000471: # SYSTEM TEST A MEMORY USAGE:
000649,000472:
000650,000473: 1602 0760 LTSTNDX EQUALS AMEMORY +001D
000651,000474: 1602 0761 CDUNDX EQUALS AMEMORY +002D
000652,000475: 1602 0762 NBPOS EQUALS AMEMORY +003D
000653,000476: 1602 0767 PIPINDX2 EQUALS AMEMORY +008D
000654,000477: 1602 1064 GENPL EQUALS AMEMORY +069D
000655,000478: 1602 1173 MKSTAT1 EQUALS AMEMORY +140D
000656,000479: 1602 1174 VACADR EQUALS AMEMORY +141D
000657,000480: 1602 1176 STOREPL EQUALS AMEMORY +143D
000658,000481: 1602 1176 COAROFIN EQUALS AMEMORY +143D
000659,000482: 1602 1177 TESTNDX EQUALS AMEMORY +144D
000660,000483: 1602 1200 BUBBLE EQUALS AMEMORY +145D
000661,000484: 1602 1201 TESTTIME EQUALS AMEMORY +146D
000662,000485: 1602 1202 MAXPTS2 EQUALS AMEMORY +147D
000663,000486: 1602 1203 QPLAC EQUALS AMEMORY +148D
000664,000487: 1602 1206 NDXCTR EQUALS AMEMORY +151D
000665,000488:
000666,000489: # SYSTEM TEST B MEMORY USAGE:
000667,000490:
000668,000491: 1602 1210 DATAPL EQUALS BMEMORY +000D
000669,000492: 1602 1210 TESTNO EQUALS BMEMORY +000D
000670,000493: 1602 1211 SAVE EQUALS BMEMORY +001D
000671,000494: 1602 1212 PLOW EQUALS BMEMORY +002D
000672,000495: 1602 1213 PIPNDX EQUALS BMEMORY +003D
000673,000496: 1602 1213 PTS EQUALS BMEMORY +003D
000674,000497: 1602 1213 CUSSANG EQUALS BMEMORY +003D
000675,000498: 1602 1214 NEGCDU1 EQUALS BMEMORY +004D
000676,000499: 1602 1215 NEGCDU2 EQUALS BMEMORY +005D
000677,000500: 1602 1215 RUN EQUALS BMEMORY +005D
000678,000501: 1602 1216 LOCNO EQUALS BMEMORY +006D
000679,000502: 1602 1217 CALCDIR EQUALS BMEMORY +007D
000680,000503: 1602 1225 TEMDELV EQUALS BMEMORY +013D
000681,000504: 1602 1227 YSM2 EQUALS BMEMORY +015D
000682,000505: 1602 1227 TAR1POS EQUALS BMEMORY +015D
000683,000506: 1602 1235 TAR2POS EQUALS BMEMORY +021D
000684,000507: 1602 1243 TAR3POS EQUALS BMEMORY +027D
000685,000508: 1602 1251 TAR4POS EQUALS BMEMORY +033D
000686,000509: 1602 1325 EROPTN EQUALS BMEMORY +077D
000687,000510: 1602 1437 VMARK EQUALS BMEMORY +151D
000688,000511: 1602 1445 TMARK EQUALS BMEMORY +157D
000689,000512:
000690,000513: # THE FOLLOWING STORAGE IS RESERVED EXCLUSIVELY FOR SELF-CHECK
000691,000514:
000692,000515: 1602 SELFERAS ERASE 1761 - 1777
000693,000516: 1602 S2MODE = 1762
000694,000517: 1602 QADRS = 1763
000695,000518: 1602 S2FAIL = 1764
000696,000519: 1602 ER2COUNT = 1765
000697,000520: 1602 S2COUNT = 1766
000698,000521: 1602 S2KEEP1 = 1771
000699,000522: 1602 S2KEEP2 = 1772
000700,000523: 1602 S2KEEP3 = 1773
000701,000524: 1602 S2KEEP4 = 1774
000702,000525: 1602 S2KEEP5 = 1775
000703,000526: 1602 S2KEEP6 = 1776
000704,000527: 1602 S2KEEP7 EQUALS 1777
End of include-file ERASABLE_ASSIGNMENTS.agc. Parent file is MAIN.agc