Source Code

These source-code files were obtained by digitally photographing the Colossus 237 program listing from the private collection of original AGC developer Fred Martin, and then modifying pre-existing Colossus 249 (Apollo 9) source files to incorporate changes. Note that the page images presented online are of reduced quality, and that additional images are available. Report any conversion errors or legibility problems in page images to info@sandroid.org. Notations on the program listing read, in part:

	GAP: ASSEMBLE REVISION 237 OF AGC PROGRAM COLOSSUS 
	BY NASA 2021111-031  1:17 AUG. 24, 1968

017988,000002:                                                                                                 #  Copyright:    Public domain.
017989,000003:                                                                                                 #  Filename:      SYSTEM_TEST_STANDARD_LEAD_INS.agc
017990,000004:                                                                                                 #  Purpose:      Part of the source code for Colossus build 237.
017991,000005:                                                                                                 #                This is for the Command Module's (CM) Apollo Guidance
017992,000006:                                                                                                 #                Computer (AGC), we believe for Apollo 8.
017993,000007:                                                                                                 #  Assembler:    yaYUL
017994,000008:                                                                                                 #  Contact:      Jim Lawton <jim DOT lawton AT gmail DOT com>
017995,000009:                                                                                                 #  Website:      www.ibiblio.org/apollo/index.html
017996,000010:                                                                                                 #  Page scans:   www.ibiblio.org/apollo/ScansForConversion/Colossus237/
017997,000011:                                                                                                 #  Mod history:  2011-01-27 JL   Adapted from corresponding Colossus 249 file.
017998,000012: 
017999,000013:                                                                                                 # # Page 411
018000,000014: ???????  0002671                                 EBANK=   XSM                                   
018001,000015: 
018002,000016: 33,2000                                          BANK     33                                    
018003,000017: 04,2000                                          SETLOC   E/PROG                                
018004,000018: 04,2000                                          BANK                                           
018005,000019: 
018006,000020: 04,2557                                          COUNT*   $$/P07                                
018007,000021: 
018008,000022:                                                                                                 #            SPECIAL PROGRAMS TO EASE THE PANGS OF ERASABLE MEMORY PROGRAMS.
018009,000023: 
018010,000024:                                                                                                 #  E/BKCALL   FOR DOING BANKCALLS FROM AND RETURNING TO ERASABLE.
018011,000025: 
018012,000026:                                                                                                 #            THIS ROUTINE IS CALLABLE FROM ERASABLE OR FIXED.  LIKE BANKCALL, HOWEVER, SWITCHING BETWEEN S3 AND S4
018013,000027:                                                                                                 #  IS NOT POSSIBLE.
018014,000028: 
018015,000029:                                                                                                 #            THE CALLING SEQUENCE IS:
018016,000030: 
018017,000031:                                                                                                 #                                                    TC     BANKCALL
018018,000032:                                                                                                 #                                                    CADR   E/BKCALL
018019,000033:                                                                                                 #                                                    CADR   ROUTINE         WHERE YOO WANT TO GO IN FIXED.
018020,000034:                                                                                                 #                                                    RETURN HERE FROM DISPLAY TERMINATE, BAD STALL OR TC Q.
018021,000035:                                                                                                 #                                                    RETURN HERE FROM DISPLAY PROCEED OR GOOD RETURN FROM STALL.
018022,000036:                                                                                                 #                                                    RETURN HERE FROM DISPLAY ENTER OR RECYCLE.
018023,000037: 
018024,000038:                                                                                                 #            THIS ROUTINE REQUIRES TWO ERASABLES (EBUF2, +1) IN UNSWITCHED WHICH ARE UNSHARED BY INTERRUPTS AND
018025,000039:                                                                                                 #  OTHER EMEMORY PROGRAMS.
018026,000040: 
018027,000041:                                                                                                 #            A + L ARE PRESERVED THROUGH BANKCALL AND E/BKCALL.
018028,000042: 
018029,000043: 04,2557           52134        E/BKCALL          DXCH     BUF2                                  #  SAVE A,L AND GET DP RETURN
018030,000044: 04,2560           52365                          DXCH     EBUF2                                 #  SAVE DP RETURN.
018031,000045: 04,2561           24364                          INCR     EBUF2                                 #  RETURN +1 BECAUSE DOUBLE CADR.
018032,000046: 04,2562           30006                          CA       BBANK                                 
018033,000047: 04,2563           74747                          MASK     LOW10                                 #  GET CURRENT EBANK.  (SBANK SOMEDAY)
018034,000048: 04,2564           26365                          ADS      EBUF2      +1                         #  FORM BBCON.  (WAS FBANK)
018035,000049: 04,2565           50364                          NDX      EBUF2                                 
018036,000050: 04,2566           27777                          CA       0          -1                         #  GET CADR OF ROUTINE.
018037,000051: 04,2567           04561                          TC       SWCALL                                #  GO TO ROUTINE, SETTING Q TO SWRETURN
018038,000052:                                                                                                 #                                           AND RESTORING A + L.
018039,000053: 04,2570           02574                          TC       +4                                    #  TX Q, V34, OR BAD STALL RETURN.
018040,000054: 04,2571           02573                          TC       +2                                    #  PROCEED OR GOOD STALL RETURN.
018041,000055: 04,2572           24364                          INCR     EBUF2                                 #  ENTER OR RECYCLE RETURN.
018042,000056: 04,2573           24364                          INCR     EBUF2                                 
018043,000057: 04,2574           52365        E/SWITCH          DXCH     EBUF2                                 
018044,000058: 04,2575           52006                          DTCB                                           
018045,000059: 
018046,000060:                                                                                                 # # Page 412
018047,000061:                                                                                                 #  E/CALL   FOR CALLING A FIXED MEMORY INTERPRETIVE SUBROUTINE FROM ERASABLE AND RETURNING TO ERASABLE.
018048,000062: 
018049,000063:                                                                                                 #            THE CALLING SEQUENCE IS...
018050,000064:                                                                                                 #                                                    RTB
018051,000065:                                                                                                 #                                                           E/CALL
018052,000066:                                                                                                 #                                                    CADR   ROUTINE         THE INTERPRETIVE SUBROUTINE YOU WANT.
018053,000067:                                                                                                 #                                                                           RETURNS HERE IN INTERPRETIVE.
018054,000068: 
018055,000069: 04,2576           22164        E/CALL            LXCH     LOC                                   #  ADRES -1 OF CADR.
018056,000070: 04,2577           50001                          INDEX    L                                     
018057,000071: 04,2600           30001                          CA       L                                     #  CADR IN A.
018058,000072: 04,2601           24001                          INCR     L                                     
018059,000073: 04,2602           24001                          INCR     L                                     #  RETURN ADRES IN L.
018060,000074: 04,2603           52365                          DXCH     EBUF2                                 #  STORE CADR AND RETURN.
018061,000075: 04,2604           06006                          TC       INTPRET                               
018062,000076: 04,2605           77624                          CALL                                           
018063,000077: 04,2606           00364                                   EBUF2                                 #  INDIRECTLY EXECUTE ROUTINE.  IT MUST
018064,000078: 04,2607           77776                          EXIT                                           #  LEAVE VIA RVQ OR EQUIVALENT.
018065,000079: 04,2610           22365                          LXCH     EBUF2      +1                         #  PICK UP RETURN.
018066,000080: 04,2611           16010                          TCF      INTPRET    +2                         #  SET LOC AND RETURN TO CALLER.
018067,000081: 
018068,000082:                                                                                                 # # Page 413
018069,000083:                                                                                                 #  E/JOBWAK         FOR WAKING UP ERASABLE MEMORY JOBS.
018070,000084: 
018071,000085:                                                                                                 #            THIS ROUTINE MUST BE CALLED IN INTERRUPT OR WITH INTERRUPTS INHIBITED.
018072,000086: 
018073,000087:                                                                                                 #            THE CALLING SEQUENCE IS:
018074,000088: 
018075,000089:                                                                                                 #                                                    INHINT
018076,000090:                                                                                                 #                                                      .
018077,000091:                                                                                                 #                                                      .
018078,000092:                                                                                                 #                                                    CA     WAKEADR         ADDRESS OF SLEEPING JOB
018079,000093:                                                                                                 #                                                    TC     IBNKCALL
018080,000094:                                                                                                 #                                                    CADR   E/JOBWAK
018081,000095:                                                                                                 #                                                      .                    RETURNS HERE
018082,000096:                                                                                                 #                                                      .
018083,000097:                                                                                                 #                                                      .
018084,000098:                                                                                                 #                                                    RELINT                 IF YOU DID AND INHINT.
018085,000099: 
018086,000100: 33,2000                                          BANK     33                                    
018087,000101: 04,2000                                          SETLOC   E/PROG                                
018088,000102: 04,2000                                          BANK                                           
018089,000103: 
018090,000104: 04,2612                                          COUNT*   $$/P07                                
018091,000105: 
018092,000106: 04,2612           05074        E/JOBWAK          TC       JOBWAKE                               #  ARRIVE WITH ADRES IN A.
018093,000107: 04,2613           44700                          CS       BIT11                                 
018094,000108: 04,2614           50064                          NDX      LOCCTR                                
018095,000109: 04,2615           26164                          ADS      LOC                                   #  KNOCK FIXED MEMORY BIT OUT OF ADRES.
018096,000110: 04,2616           00072                          TC       RUPTREG3                              #  RETURN
018097,000111: 
018098,000112: 
018099,000113:                                                                                                 #  THESE PROGRAMS ARE PROVIDED TO ALLOW OVERLAY OF BANKS 30 THRU 33 OF THE 205 VERSIONS OF SYSTEM TESTS AND
018100,000114:                                                                                                 #  PRELAUNCH ALIGN.  THE INTENT IS TO ALLOW THE STG AND HYBRID LABS TO RUN ALL THE TESTS WITH COLOSSUS.
018101,000115: 
018102,000116: 
018103,000117: 33,2000                                          BANK     33                                    
018104,000118: 33,2000                                          SETLOC   TESTLEAD                              
018105,000119: 33,2000                                          BANK                                           
018106,000120: 
018107,000121: 33,2000                                          COUNT    33/COMST                              
018108,000122: 
018109,000123: 33,2000  E5,1425                                 EBANK=   QPLACE                                
018110,000124: 
018111,000125: 33,2000           03426        COMPVER           TC       GCOMPVER                              #  MUST BE 33,2000.
018112,000126: 
018113,000127: 33,2001           03133        GTSCPSS1          TC       GTSCPSS                               #  MUST BE AT 33,2001
018114,000128: 
018115,000129: 33,2002           05243        REDO              TC       NEWMODEX                              #  DISPLAY MM 07.
018116,000130: 33,2003           00007                          MM       07         B-14                       #  FALL INTO IMUTEST

End of include-file SYSTEM_TEST_STANDARD_LEAD_INS.agc.  Parent file is MAIN.agc