Source Code
These source-code files are part of a reconstructed copy of Skylark 048, the
Block II Command Module (CM) Apollo Guidance Computer (AGC) software for the
Skylab-2, Skylab-3, Skylab-4, and Apollo-Soyuz Test Project missions.
They have been created via disassembly of binary dumps of the original core rope memory modules actually flown on Skylab-2, part numbers 2010802-541, 2010802-551, 2010802-561, 2010802-571, 2010802-581, and 2010802-591. Access to these modules was provided by the New Mexico Museum of Space History, who we are much indebted to. The source code for the Apollo 15, 16, and 17 software, Artemis 072, was used as a starting point. Heavy use was made of TRW 4900.5-244, Programmed Guidance Equations for Skylark Command Module Earth Orbital Program, dated 14 February 1972. This document contains pseudocode of essentially all of Skylark, using original program labels which have been copied for this source reconstruction. Since only binary dumps (rather than listings) of Skylark are available as source material, all comments and labels are approximate. They have been taken from the Programmed Guidance Equations or other AGC programs where possible, or, in some places, written from scratch to match what we believe would have been in the original listing. |
031020,000002: ## Copyright: Public domain.
031021,000003: ## Filename: P50,P55.agc
031022,000004: ## Purpose: A section of Skylark revision 048.
031023,000005: ## It is part of the source code for the Apollo Guidance Computer (AGC)
031024,000006: ## for Skylab-2, Skylab-3, Skylab-4, and ASTP. No original listings of
031025,000007: ## this software are available; instead, this file was created via
031026,000008: ## disassembly of dumps of the core rope modules actually flown on
031027,000009: ## Skylab-2. Access to these modules was provided by the New Mexico
031028,000010: ## Museum of Space History.
031029,000011: ## Assembler: yaYUL
031030,000012: ## Contact: Ron Burkey <info@sandroid.org>.
031031,000013: ## Website: www.ibiblio.org/apollo/index.html
031032,000014: ## Mod history: 2024-02-18 MAS Created.
031033,000015: ## 2024-03-05 MAS Finished filling out.
031034,000016:
031035,000017: ## This log section is entirely new for Skylark. Names have been taken from
031036,000018: ## the Programmed Guidance Equations for Skylark wherever possible.
031037,000019:
031038,000020: 11,2000 SETLOC P50LOC
031039,000021: 11,2000 BANK
031040,000022: 11,2167 E7,1702 EBANK= MRKBUF1
031041,000023: 11,2167 COUNT* $$/P50
031042,000024:
031043,000025: 11,2167 35001 P50 CAF ONE
031044,000026: 11,2170 54771 TS OPTION2
031045,000027:
031046,000028: 11,2171 34355 CAF OCT12
031047,000029: 11,2172 04647 TC BANKCALL
031048,000030: 11,2173 20754 CADR GOPERF4
031049,000031: 11,2174 04103 TC GOTOPOOH
031050,000032: 11,2175 12177 TCF +2
031051,000033: 11,2176 12171 TCF P50 +2
031052,000034:
031053,000035: 11,2177 30771 CA OPTION2
031054,000036: 11,2200 76214 MASK THREE
031055,000037: 11,2201 50000 INDEX A
031056,000038: 11,2202 12203 TCF +1
031057,000039: 11,2203 12207 TCF +4
031058,000040: 11,2204 12211 TCF P50.1
031059,000041: 11,2205 12213 TCF P50.2
031060,000042: 11,2206 12271 TCF P50.3
031061,000043:
031062,000044: 11,2207 04362 TC FALTON
031063,000045: 11,2210 12171 TCF P50 +2
031064,000046:
031065,000047: 11,2211 07710 P50.1 TC UPFLAG
031066,000048: 11,2212 00003 ADRES P50.1FLG
031067,000049:
031068,000050: 11,2213 04647 P50.2 TC BANKCALL
031069,000051: 11,2214 03737 CADR R02BOTH
031070,000052:
031071,000053: 11,2215 35003 CAF ZERO
031072,000054: 11,2216 54304 TS STARIND
031073,000055:
031074,000056: 11,2217 35015 CAF OCT46
031075,000057: 11,2220 55130 TS STARCODE
031076,000058:
031077,000059: 11,2221 06006 TC INTPRET
031078,000060: 11,2222 77624 CALL
031079,000061: 11,2223 31433 R53
031080,000062: 11,2224 77775 VLOAD
031081,000063: 11,2225 03705 MRKBUF1 +2
031082,000064: 11,2226 15162 STODL CDUSPOT
031083,000065: 11,2227 03703 MRKBUF1
031084,000066: 11,2230 36607 STCALL TSIGHT
031085,000067: 11,2231 31545 PLANET
031086,000068: 11,2232 53521 MXV UNIT
031087,000069: 11,2233 01720 REFSMMAT
031088,000070: 11,2234 77624 CALL
031089,000071: 11,2235 47603 TRG*SMNB
031090,000072: 11,2236 24015 STOVL 12D
031091,000073: 11,2237 02725 VSUN
031092,000074: 11,2240 53521 MXV UNIT
031093,000075: 11,2241 01720 REFSMMAT
031094,000076: 11,2242 77624 CALL
031095,000077: 11,2243 47623 *SMNB*
031096,000078: 11,2244 00007 STORE 6D
031097,000079: 11,2245 45014 BON CALL
031098,000080: 11,2246 00303 P50.1FLG
031099,000081: 11,2247 22253 P50.1A
031100,000082: 11,2250 22375 OASTAR
031101,000083: 11,2251 36733 STCALL STARAD +6
031102,000084: 11,2252 22260 P50GEN
031103,000085:
031104,000086: 11,2253 77775 P50.1A VLOAD
031105,000087: 11,2254 15722 YUNIT
031106,000088: 11,2255 26733 STOVL STARAD +6
031107,000089: 11,2256 02256 NBOA +6
031108,000090: 11,2257 00015 STORE 12D
031109,000091:
031110,000092: 11,2260 77775 P50GEN VLOAD
031111,000093: 11,2261 15720 ZUNIT
031112,000094: 11,2262 36725 STCALL STARAD
031113,000095: 11,2263 47373 AXISGEN
031114,000096: 11,2264 75160 AXC,1 AXC,2
031115,000097: 11,2265 02702 XDC
031116,000098: 11,2266 02660 XSM
031117,000099: 11,2267 77650 GOTO
031118,000100: 11,2270 22277 OAVECS
031119,000101:
031120,000102: 11,2271 06006 P50.3 TC INTPRET
031121,000103: 11,2272 77624 CALL
031122,000104: 11,2273 22421 CALCNBOA
031123,000105: 11,2274 75160 AXC,1 AXC,2
031124,000106: 11,2275 02247 NBOA
031125,000107: 11,2276 02660 XSM
031126,000108:
031127,000109: 11,2277 77624 OAVECS CALL
031128,000110: 11,2300 34721 MATMOVE
031129,000111: 11,2301 77214 SET VLOAD
031130,000112: 11,2302 00065 P50FLAG
031131,000113: 11,2303 15724 XUNIT
031132,000114: 11,2304 26703 STOVL XDC
031133,000115: 11,2305 15722 YUNIT
031134,000116: 11,2306 26711 STOVL YDC
031135,000117: 11,2307 15720 ZUNIT
031136,000118: 11,2310 36717 STCALL ZDC
031137,000119: 11,2311 47303 CALCGA
031138,000120: 11,2312 77751 TLOAD
031139,000121: 11,2313 01300 THETAD
031140,000122: 11,2314 03516 STORE N23TEMP
031141,000123: 11,2315 77776 EXIT
031142,000124:
031143,000125: 11,2316 02370 TC INVTHDX
031144,000126:
031145,000127: 11,2317 32427 CAF V06N23
031146,000128: 11,2320 04647 TC BANKCALL
031147,000129: 11,2321 20623 CADR GOFLASH
031148,000130: 11,2322 04103 TC GOTOPOOH
031149,000131: 11,2323 12325 TCF DOVECS
031150,000132: 11,2324 12317 TCF -5
031151,000133:
031152,000134: 11,2325 02370 DOVECS TC INVTHDX
031153,000135:
031154,000136: 11,2326 06006 TC INTPRET
031155,000137: 11,2327 57551 TLOAD DCOMP
031156,000138: 11,2330 03516 N23TEMP
031157,000139: 11,2331 53171 TAD BZE
031158,000140: 11,2332 01300 THETAD
031159,000141: 11,2333 22361 P50OUT
031160,000142: 11,2334 77776 EXIT
031161,000143:
031162,000144: 11,2335 31277 CA THETAD
031163,000145: 11,2336 55165 TS CDUSPOT +4
031164,000146: 11,2337 31300 CA THETAD +1
031165,000147: 11,2340 55161 TS CDUSPOT
031166,000148: 11,2341 31301 CA THETAD +2
031167,000149: 11,2342 55163 TS CDUSPOT +2
031168,000150:
031169,000151: 11,2343 06006 TC INTPRET
031170,000152: 11,2344 77624 CALL
031171,000153: 11,2345 47475 CD*TR*G
031172,000154: 11,2346 77624 CALL
031173,000155: 11,2347 34747 CALCSMSC
031174,000156: 11,2350 64375 VLOAD MXV
031175,000157: 11,2351 15722 YUNIT
031176,000158: 11,2352 02703 XDC
031177,000159: 11,2353 77656 UNIT
031178,000160: 11,2354 26667 STOVL YSM
031179,000161: 11,2355 15720 ZUNIT
031180,000162: 11,2356 53521 MXV UNIT
031181,000163: 11,2357 02703 XDC
031182,000164: 11,2360 02675 STORE ZSM
031183,000165:
031184,000166: 11,2361 75160 P50OUT AXC,1 AXC,2
031185,000167: 11,2362 02660 XSM
031186,000168: 11,2363 02247 NBOA
031187,000169: 11,2364 77624 CALL
031188,000170: 11,2365 34721 MATMOVE
031189,000171: 11,2366 77776 EXIT
031190,000172:
031191,000173: 11,2367 04103 TC GOTOPOOH
031192,000174:
The name of the following function is a guess. |
031194,000176: 11,2370 34763 INVTHDX CAF NEGMAX
031195,000177: 11,2371 00006 EXTEND
031196,000178: 11,2372 21277 MSU THETAD
031197,000179: 11,2373 55277 TS THETAD
031198,000180: 11,2374 00002 TC Q
031199,000181:
031200,000182: 11,2375 67201 OASTAR SETPD SLOAD
031201,000183: 11,2376 00001 0
031202,000184: 11,2377 03710 MRKBUF1 +5
031203,000185: 11,2400 41434 RTB PUSH
031204,000186: 11,2401 45566 CDULOGIC
031205,000187: 11,2402 57556 SIN DCOMP
031206,000188: 11,2403 71525 PDDL COS
031207,000189: 11,2404 77626 STADR
031208,000190: 11,2405 63772 STODL 4
031209,000191: 11,2406 03706 MRKBUF1 +3
031210,000192: 11,2407 41434 RTB PUSH
031211,000193: 11,2410 45566 CDULOGIC
031212,000194: 11,2411 41346 COS DMP
031213,000195: 11,2412 00005 4
031214,000196: 11,2413 72476 DCOMP SL1
031215,000197: 11,2414 73525 PDDL SIN
031216,000198: 11,2415 72405 DMP SL1
031217,000199: 11,2416 00005 4
031218,000200: 11,2417 53466 VDEF UNIT
031219,000201: 11,2420 77616 RVQ
031220,000202:
The name of the following function is a guess. |
031222,000204: 11,2421 47375 CALCNBOA VLOAD VXV
031223,000205: 11,2422 02256 NBOA +6
031224,000206: 11,2423 02264 NBOA +12D
031225,000207: 11,2424 77656 UNIT
031226,000208: 11,2425 02250 STORE NBOA
031227,000209: 11,2426 77616 RVQ
031228,000210:
031229,000211: 11,2427 01427 V06N23 VN 0623
031230,000212:
031231,000213: 07,2000 SETLOC P55LOC
031232,000214: 07,2000 BANK
031233,000215: 07,2312 E7,1702 EBANK= MRKBUF1
031234,000216: 07,2312 COUNT* $$/P55
031235,000217:
031236,000218: 07,2312 35001 P55 CAF ONE
031237,000219: 07,2313 54771 TS OPTION2
031238,000220:
031239,000221: 07,2314 35006 CAF OCT13
031240,000222: 07,2315 04647 TC BANKCALL
031241,000223: 07,2316 20754 CADR GOPERF4
031242,000224: 07,2317 04103 TC GOTOPOOH
031243,000225: 07,2320 12322 TCF +2
031244,000226: 07,2321 12314 TCF -5
031245,000227:
031246,000228: 07,2322 30771 CA OPTION2
031247,000229: 07,2323 76214 MASK THREE
031248,000230: 07,2324 50000 INDEX A
031249,000231: 07,2325 12326 TCF +1
031250,000232: 07,2326 12331 TCF +3
031251,000233: 07,2327 12364 TCF P55.1
031252,000234: 07,2330 12333 TCF P55.2
031253,000235:
031254,000236: 07,2331 04362 TC FALTON
031255,000237: 07,2332 12314 TCF P55 +2
031256,000238:
031257,000239: 07,2333 35003 P55.2 CAF ZERO
031258,000240: 07,2334 54304 TS STARIND
031259,000241:
031260,000242: 07,2335 35015 CAF OCT46
031261,000243: 07,2336 55130 TS STARCODE
031262,000244:
031263,000245: 07,2337 06006 TC INTPRET
031264,000246: 07,2340 77624 CALL
031265,000247: 07,2341 31433 R53
031266,000248: 07,2342 45145 DLOAD CALL
031267,000249: 07,2343 03703 MRKBUF1
031268,000250: 07,2344 31545 PLANET
031269,000251: 07,2345 24015 STOVL 12D
031270,000252: 07,2346 02725 VSUN
031271,000253: 07,2347 34007 STCALL 6D
031272,000254: 07,2350 22421 CALCNBOA
031273,000255: 07,2351 45160 AXC,1 CALL
031274,000256: 07,2352 03702 MRKBUF1
031275,000257: 07,2353 46000 SXTNB
031276,000258: 07,2354 53521 MXV UNIT
031277,000259: 07,2355 02250 NBOA
031278,000260: 07,2356 26733 STOVL STARAD +6
031279,000261: 07,2357 15720 ZUNIT
031280,000262: 07,2360 36725 STCALL STARAD
031281,000263: 07,2361 47373 AXISGEN
031282,000264: 07,2362 77776 EXIT
031283,000265:
031284,000266: 07,2363 12370 TCF TRKSTAR
031285,000267:
031286,000268: 07,2364 04647 P55.1 TC BANKCALL
031287,000269: 07,2365 03737 CADR R02BOTH
031288,000270:
031289,000271: 07,2366 07710 TC UPFLAG
031290,000272: 07,2367 00002 ADRES P55.1FLG
031291,000273:
031292,000274: 07,2370 35031 TRKSTAR CAF V01N70
031293,000275: 07,2371 04647 TC BANKCALL
031294,000276: 07,2372 20623 CADR GOFLASH
031295,000277: 07,2373 04103 TC GOTOPOOH
031296,000278: 07,2374 12376 TCF +2
031297,000279: 07,2375 12370 TCF TRKSTAR
031298,000280:
031299,000281: 07,2376 11130 CCS STARCODE
031300,000282: 07,2377 12404 TCF +5
031301,000283: 07,2400 12410 TCF GOODSTAR
031302,000284: 07,2401 12402 NOOP
The name of the following label is a guess. |
031304,000286: 07,2402 04362 BADSTAR TC FALTON
031305,000287: 07,2403 12370 TCF TRKSTAR
031306,000288:
031307,000289: 07,2404 62557 AD NEG46
031308,000290: 07,2405 00006 EXTEND
031309,000291: 07,2406 62410 BZMF GOODSTAR
031310,000292: 07,2407 12402 TCF BADSTAR
031311,000293:
The name of the following label is a guess. |
031313,000295: 07,2410 06006 GOODSTAR TC INTPRET
031314,000296: 07,2411 45034 RTB CALL
031315,000297: 07,2412 45563 LOADTIME
031316,000298: 07,2413 31545 PLANET
031317,000299: 07,2414 64214 BON MXV
031318,000300: 07,2415 00302 P55.1FLG
031319,000301: 07,2416 16422 P55.1A
031320,000302: 07,2417 02703 XDC
031321,000303: 07,2420 52056 UNIT GOTO
031322,000304: 07,2421 16433 P55GIMS
031323,000305:
031324,000306: 07,2422 53521 P55.1A MXV UNIT
031325,000307: 07,2423 01720 REFSMMAT
031326,000308: 07,2424 36611 STCALL STARSAV1
031327,000309: 07,2425 22421 CALCNBOA
031328,000310: 07,2426 45175 VLOAD CALL
031329,000311: 07,2427 02611 STARSAV1
031330,000312: 07,2430 47600 CDU*SMNB
031331,000313: 07,2431 53521 MXV UNIT
031332,000314: 07,2432 02250 NBOA
031333,000315:
031334,000316: 07,2433 16611 P55GIMS STODL STARSAV1
031335,000317: 07,2434 15726 ZERODP
031336,000318: 07,2435 65325 PDDL PDDL
031337,000319: 07,2436 02613 STARSAV1 +2
031338,000320: 07,2437 02611 STARSAV1
031339,000321: 07,2440 53466 VDEF UNIT
031340,000322: 07,2441 26617 STOVL STARSAV2
031341,000323: 07,2442 15722 YUNIT
031342,000324: 07,2443 50276 VCOMP DOT
031343,000325: 07,2444 02617 STARSAV2
031344,000326: 07,2445 24021 STOVL COSTH
031345,000327: 07,2446 02617 STARSAV2
031346,000328: 07,2447 77641 DOT
031347,000329: 07,2450 15724 XUNIT
031348,000330: 07,2451 34023 STCALL SINTH
031349,000331: 07,2452 47250 ARCTRIG
031350,000332: 07,2453 27516 STOVL TRKAZ
031351,000333: 07,2454 02617 STARSAV2
031352,000334: 07,2455 77641 DOT
031353,000335: 07,2456 02611 STARSAV1
031354,000336: 07,2457 24021 STOVL COSTH
031355,000337: 07,2460 15720 ZUNIT
031356,000338: 07,2461 50276 VCOMP DOT
031357,000339: 07,2462 02611 STARSAV1
031358,000340: 07,2463 34023 STCALL SINTH
031359,000341: 07,2464 47250 ARCTRIG
031360,000342: 07,2465 03517 STORE TRKEL
031361,000343: 07,2466 77776 EXIT
031362,000344:
031363,000345: 07,2467 11515 CCS TRKAZ
031364,000346: 07,2470 62553 AD -87DEG
031365,000347: 07,2471 12473 TCF +2
031366,000348: 07,2472 12470 TCF -2
031367,000349: 07,2473 00006 EXTEND
031368,000350: 07,2474 62476 BZMF +2
031369,000351: 07,2475 12504 TCF P55ALARM
031370,000352:
031371,000353: 07,2476 11516 CCS TRKEL
031372,000354: 07,2477 62552 AD -40DEG
031373,000355: 07,2500 12502 TCF +2
031374,000356: 07,2501 12477 TCF -2
031375,000357: 07,2502 00006 EXTEND
031376,000358: 07,2503 62506 BZMF N14DISP
031377,000359:
The name of the following label is a guess. |
031379,000361: 07,2504 05644 P55ALARM TC ALARM
031380,000362: 07,2505 00107 OCT 00107
031381,000363:
031382,000364: 07,2506 32554 N14DISP CA VB06N14
031383,000365: 07,2507 04647 TC BANKCALL
031384,000366: 07,2510 20623 CADR GOFLASH
031385,000367: 07,2511 04103 TC GOTOPOOH
031386,000368: 07,2512 12514 TCF +2
031387,000369: 07,2513 12370 TCF TRKSTAR
031388,000370:
031389,000371: 07,2514 11515 CCS TRKAZ
031390,000372: 07,2515 65001 AD ONE
031391,000373: 07,2516 12520 TCF +2
031392,000374: 07,2517 12515 TCF -2
031393,000375: 07,2520 00006 EXTEND
031394,000376: 07,2521 72556 MP D21600
031395,000377:
031396,000378: 07,2522 23520 LXCH TRKAZOCT +1
031397,000379: 07,2523 00006 EXTEND
031398,000380: 07,2524 74766 MP BIT12
031399,000381: 07,2525 55517 TS TRKAZOCT
031400,000382: 07,2526 23520 LXCH TRKAZOCT +1
031401,000383: 07,2527 30001 CA L
031402,000384: 07,2530 77656 MASK PRIO34
031403,000385: 07,2531 00006 EXTEND
031404,000386: 07,2532 74766 MP BIT12
031405,000387: 07,2533 61520 AD TRKAZOCT +1
031406,000388: 07,2534 00006 EXTEND
031407,000389: 07,2535 74770 MP BIT10
031408,000390: 07,2536 55520 TS TRKAZOCT +1
031409,000391: 07,2537 41515 CS TRKAZ
031410,000392: 07,2540 00006 EXTEND
031411,000393: 07,2541 62544 BZMF +3
031412,000394: 07,2542 34770 CAF BIT10
031413,000395: 07,2543 27517 ADS TRKAZOCT
031414,000396:
031415,000397: 07,2544 32555 CAF V04N19
031416,000398: 07,2545 04647 TC BANKCALL
031417,000399: 07,2546 20623 CADR GOFLASH
031418,000400: 07,2547 04103 TC GOTOPOOH
031419,000401: 07,2550 14103 TCF GOTOPOOH
031420,000402: 07,2551 12370 TCF TRKSTAR
031421,000403:
031422,000404: 07,2552 74343 -40DEG DEC -.111111
031423,000405: 07,2553 70210 -87DEG DEC -.241666
031424,000406: 07,2554 01416 VB06N14 VN 0614
031425,000407: 07,2555 01023 V04N19 VN 0419
031426,000408: 07,2556 05214 D21600 DEC 21600 B-17
031427,000409: 07,2557 77731 NEG46 OCT -46
End of include-file P50,P55.agc. Parent file is MAIN.agc