Source Code
018320,000001: # Copyright: Public domain.
018321,000002: # Filename: SYSTEM_TEST_STANDARD_LEAD_INS.agc
018322,000003: # Purpose: Part of the source code for Comanche, build 055.
018323,000004: # It is part of the source code for the Command Module's (CM)
018324,000005: # Apollo Guidance Computer (AGC), Apollo 11.
018325,000006: # Assembler: yaYUL
018326,000007: # Reference: pp. 420-422
018327,000008: # Contact: Onno Hommes <ohommes@cmu.edu>.
018328,000009: # Website: www.ibiblio.org/apollo.
018329,000010: # Mod history: 05/07/09 OH Transcription Batch 1 Assignment
018330,000011:
018331,000012: # The contents of the "Comanche055" files, in general, are transcribed
018332,000013: # from scanned documents.
018333,000014:
018334,000015: # Assemble revision 055 of AGC program Comanche by NASA
018335,000016: # 2021113-051. April 1, 1969.
018336,000017:
018337,000018: # This AGC program shall also be referred to as Colossus 2A
018338,000019:
018339,000020: # Prepared by
018340,000021: # Massachussets Institute of Technology
018341,000022: # 75 Cambridge Parkway
018342,000023: # Cambridge, Massachusetts
018343,000024:
018344,000025: # under NASA contract NAS 9-4065.
018345,000026:
018346,000027: # Refer directly to the online document mentioned above for further information.
018347,000028: # Please report any errors to info@sandroid.org.
018348,000029:
018349,000030:
018350,000031: # Page 420
018351,000032: 22,3151 E5,1671 EBANK= XSM
018352,000033:
018353,000034: 33,2000 BANK 33
018354,000035: 13,2000 SETLOC E/PROG1
018355,000036: 13,2000 BANK
018356,000037:
018357,000038: 13,2036 COUNT* $$/P07
018358,000039:
018359,000040: # SPECIAL PROGRAMS TO EASE THE PANGS OF ERASABLE MEMORY PROGRAMS.
018360,000041:
018361,000042: # E/BKCALL FOR DOING BANKCALLS FROM AND RETURNING TO ERASABLE.
018362,000043:
018363,000044: # THIS ROUTINE IS CALLABLE FROM ERASABLE OR FIXED. LIKE BANKCALL, HOWEVER, SWITCHING BETWEEN S3 AND S4
018364,000045: # IS NOT POSSIBLE.
018365,000046:
018366,000047: # THE CALLING SEQUENCE IS:
018367,000048:
018368,000049: # TC BANKCALL
018369,000050: # CADR E/BKCALL
018370,000051: # CADR ROUTINE # WHERE TO WANT TO GO IN FIXED.
018371,000052: # RETURN HERE FROM DISPLAY TERMINATE, BAD STALL OR TC Q.
018372,000053: # RETURN HERE FROM DISPLAY PROCEED OR GOOD RETURN FROM STALL.
018373,000054: # RETURN HERE FROM DISPLAY ENTER OR RECYCLE.
018374,000055:
018375,000056: # THIS ROUTINE REQUIRES TWO ERASABLES (EBUF2, +1) IN UNSWITCHED WHICH ARE UNSHARED BY INTERRUPTS AND
018376,000057: # OTHER EMEMORY PROGRAMS.
018377,000058:
018378,000059: # A + L ARE PRESERVED THROUGH BANKCALL AND E/BKCALL.
018379,000060:
018380,000061: 13,2036 52134 E/BKCALL DXCH BUF2 # SAVE A,L AND GET DP RETURN.
018381,000062: 13,2037 52365 DXCH EBUF2 # SAVE DP RETURN.
018382,000063: 13,2040 24364 INCR EBUF2 # RETURN +1 BECAUSE DOUBLE CADR.
018383,000064: 13,2041 30006 CA BBANK
018384,000065: 13,2042 75054 MASK LOW10 # GET CURRENT EBANK. (SBANK SOMEDAY)
018385,000066: 13,2043 26365 ADS EBUF2 +1 # FORM BBCON. (WAS FBANK)
018386,000067: 13,2044 50364 NDX EBUF2
018387,000068: 13,2045 27777 CA 0 -1 # GET CADR OF ROUTINE.
018388,000069: 13,2046 04666 TC SWCALL # GO TO ROUTINE, SETTING Q TO SWRETURN
018389,000070: # AND RESTORING A + L.
018390,000071: 13,2047 02053 TC +4 # TX Q, V34, OR BADD STALL RETURN.
018391,000072: 13,2050 02052 TC +2 # PROCEED OR GOOD STALL RETURN.
018392,000073: 13,2051 24364 INCR EBUF2 # ENTER OR RECYCLE RETURN.
018393,000074: 13,2052 24364 INCR EBUF2
018394,000075: 13,2053 52365 E/SWITCH DXCH EBUF2
018395,000076: 13,2054 52006 DTCB
018396,000077:
018397,000078: # Page 421
018398,000079: # E/CALL FOR CALLING A FIXED MEMORY INTERPRETIVE SUBROUTINE FROM ERASABLE AND RETURNING TO ERASABLE.
018399,000080:
018400,000081: # THE CALLING SEQUENCE IS...
018401,000082:
018402,000083: # RTB
018403,000084: # E/CALL
018404,000085: # CADR ROUTINE # THE INTERPRETIVE SUBROUTINE YOU WANT
018405,000086: # # RETURNS HERE IN INTERPRETIVE.
018406,000087:
018407,000088: 13,2055 22164 E/CALL LXCH LOC # ADRES -1 OF CADR.
018408,000089: 13,2056 50001 INDEX L
018409,000090: 13,2057 30001 CA L # CADR IN A.
018410,000091: 13,2060 24001 INCR L
018411,000092: 13,2061 24001 INCR L # RETURN ADRES IN L.
018412,000093: 13,2062 52365 DXCH EBUF2 # STORE CADR AND RETURN.
018413,000094: 13,2063 06006 TC INTPRET
018414,000095: 13,2064 77624 CALL
018415,000096: 13,2065 00364 EBUF2 # INDIRECTLY EXECUTE ROUTING. IT MUST
018416,000097: 13,2066 77776 EXIT # LEAVE VIA RVQ OR EQUIVALENT.
018417,000098: 13,2067 22365 LXCH EBUF2 +1 # PICK UP RETURN.
018418,000099: 13,2070 16010 TCF INTPRET +2 # SET LOC AND RETURN TO CALLER.
018419,000100:
018420,000101: # Page 422
018421,000102: # E/JOBWAK FOR WAKING UP ERASABLE MEMORY JOBS.
018422,000103:
018423,000104: # THIS ROUTINE MUST BE CALLED IN INTERRUPT OR WITH INTERRUPTS INHIBITED.
018424,000105:
018425,000106: # THE CALLING SEQUENCE IS
018426,000107:
018427,000108: # INHINT
018428,000109: # ...
018429,000110: # CA WAKEADR # ADDRESS OF SLEEPING JOB
018430,000111: # TC IBNKCALL
018431,000112: # CADR E/JOBWAK
018432,000113: # ... # RETURNS HERE
018433,000114: # RELINT # IF YOU DID AND INHINT
018434,000115:
018435,000116: 33,2000 BANK 33
018436,000117: 04,2000 SETLOC E/PROG
018437,000118: 04,2000 BANK
018438,000119:
018439,000120: 04,2606 COUNT* $$/P07
018440,000121:
018441,000122: 04,2606 05201 E/JOBWAK TC JOBWAKE # ARRIVE IWTH ADRES IN A.
018442,000123: 04,2607 45005 CS BIT11
018443,000124: 04,2610 50064 NDX LOCCTR
018444,000125: 04,2611 26164 ADS LOC # KNOCK FIXED MEMORY BIT OUT OF ADRES.
018445,000126: 04,2612 00072 TC RUPTREG3 # RETURN
018446,000127:
018447,000128:
018448,000129: # THESE PROGRAMS ARE PROVIDED TO ALLOW OVERLAY OF BANKS 30 THRU 33 OF THE 205 VERSIONS OF SYSTEM TESTS AND
018449,000130: # PRELAUNCH ALIGN. THE INTENT IS TO ALLOW THE STG AND HYBRID LABS TO RUN ALL THE TESTS WITH COLOSSUS.
018450,000131:
018451,000132:
018452,000133: 33,2000 BANK 33
018453,000134: 33,2000 SETLOC TESTLEAD
018454,000135: 33,2000 BANK
018455,000136:
018456,000137: 33,2000 COUNT 33/COMST
018457,000138:
018458,000139: 33,2000 E5,1425 EBANK= QPLACE
018459,000140:
018460,000141: 33,2000 03436 COMPVER TC GCOMPVER # MUST BE 33,2000.
018461,000142:
018462,000143: 33,2001 03131 GTSCPSS1 TC GTSCPSS # MUST BE AT 33,2001
018463,000144:
018464,000145: 33,2002 05354 REDO TC NEWMODEX # DISPLAY MM 07.
018465,000146: 33,2003 00007 MM 07 B-14 # FALL INTO IMUTEST
018466,000147:
End of include-file SYSTEM_TEST_STANDARD_LEAD_INS.agc. Parent file is MAIN.agc