ASSEMBLY_AND_OPERATION_INFORMATION.agc
### FILE="Main.annotation"
## Copyright: Public domain.
## Filename: ASSEMBLY_AND_OPERATION_INFORMATION.agc
## Purpose: A section of Sunburst revision 37, or Shepatin revision 0.
## It is part of an early development version of the software
## for Apollo Guidance Computer (AGC) on the unmanned Lunar
## Module (LM) flight Apollo 5. Sunburst 37 was the program
## upon which Don Eyles's offline development program Shepatin
## was based; the listing herein transcribed was actually for
## the equivalent revision 0 of Shepatin.
## This file is intended to be a faithful transcription, except
## that the code format has been changed to conform to the
## requirements of the yaYUL assembler rather than the
## original YUL assembler.
## Reference: pp. 1-9
## Assembler: yaYUL
## Contact: Ron Burkey <info@sandroid.org>.
## Website: www.ibiblio.org/apollo/index.html
## Mod history: 2017-05-24 MAS Created from Sunburst 120.
## 2017-05-27 HG Transcribed
## 2017-06-21 RSB A few errors corrected using
## octopus/ProoferComments.
## Page 1
# TABLE OF LOG CARDS
# ASSEMBLY AND OPERATION INFORMATION
# ERASABLE ASSIGNMENTS
# INPUT/OUTPUT CHANNELS
# INTERRUPT LEAD INS
# RESTART TABLES AND RESTARTS ROUTINE
# PHASE TABLE MAINTENANCE
# FRESH STRART AND RESTART
# T4RUPT PROGRAM
# IMU MODE SWITCHING ROUTINES
# AOTMARK
# RADAR LEAD-IN ROUTINES
# RADAR TEST PROGRAMS
# EXTENDED VERBS
# KEYRUPT, UPRUPT
# PINBALL GAME BUTTONS AND LIGHTS
# ALARM AND ABORT
# UPDATE PROGRAM PART 1 OF 2
# UPDATE PROGRAM PART 2 OF 2
# DOWN-TELEMETRY PROGRAM
# INFLIGHT ALIGNMENT ROUTINES
# RTB OP CODES
# LEM FLIGHT CONTROL SYSTEM TEST
# IMU PERFORMANCE TESTS 1
# IMU PERFORMANCE TESTS 2
# IMU PERFORMANCE TESTS 3
# OPTIMUM PRELAUNCH ALIGNMENT CALIBRATION
# DAP INTERFACE SUBROUTINES
# T6-RUPT PROGRAMS
# DAPIDLER PROGRAM
# P-AXIS REACTION CONTROL SYSTEM AUTOPILOT
# Q,R-AXES REACTION CONTROL SYSTEM AUTOPILOT
# Q,R-AXES JET SELECT AND FAILURE CONTROL LOGIC
# RCS FAILURE MONITOR
# ASCENT INERTIA UPDATER
# KALMAN FILTER FOR LM DAP
# TRIM GIMBAL CONTROL SYSTEM
# AOSTASK AND AOSJOB
# SPS BACK-UP RCS CONTROL
# ATTITUDE MANEUVER ROUTINE
# GIMBAL LOCK AVOIDANCE
# KALCMANU STEERING
# MISSION PHASE 2 GUIDANCE REFERENCE RELEASE + BOOST MONITOR
# MP 3 - SUBORBITAL ABORT
# MP4-CONTINGENCY ORBIT INSERTION
# MISSION PHASE 6 COAST SIVB ATTACHED
# MP 7 - SIVB/LEM SEPARATION
# MISSION PHASE 8 - DPS COLD SOAK
# MP9-DPS 1 BURN
## Page 2
# MISSION PHASE 11 - DPS2/FITH/APS1
# MISSION PHASE 13 - APS2
# MISSION PHASE 16 - RCS COLD SOAK
# INTEGRATION INITIALIZATION
# ORBITAL INTEGRATION PROGRAM
# LMP COMMAND ROUTINES
# AS206 MISSION SCHEDULING PACKAGE
# THRUST MISSION CONTROL PROGRAM TJS
# TUMBLE MONITOR
# PIPA READER
# FIND CDU DESIRED
# AVERAGE G INTEGRATOR
# THROTTLE CONTROL
# IMU COMPENSATION PACKAGE
# DUMMY 206 INITIALIZATION
# SECOND DPS GUIDANCE
# PREBURN FOR APS2
# ASCENT STEERING
# THRUST MAGNITUDE FILTER
# LOGSUB ROUTINE
# LAMB
# SUM CHECK END OF BANK MARKERS
# SUBROUTINES
# MASTER
# SELFCHEC
## Page 3
# VERB AND NOUN INFORMATION
# REGULAR VERBS
# 01 DISPLAY OCTAL COMP 1 (R1)
# 02 DISPLAY OCTAL COMP 2 (R1)
# 03 DISPLAY OCTAL COMP 3 (R1)
# 04 DISPLAY OCTAL COMP 1,2 (R1,R2)
# 05 DISPLAY OCTAL COMP 1,2,3 (R1,R2,R3)
# 06 DECIMAL DISPLAY
# 07 DP DECIMAL DISPLAY (R1,R2)
# 10 SPARE
# 11 MONITOR OCT COMP 1 (R1)
# 12 MONITOR OCT COMP 2 (R1)
# 13 MONITOR OCT COMP 3 (R1)
# 14 MONITOR OCT COMP 1,2 (R1)
# 15 MONITOR OCT COMP 1,2,3 (R1,R2,R3)
# 16 MONITOR DECIMAL
# 17 MONITOR DP DECIMAL (R1,R2)
# 20 SPARE
# 21 LOAD COMP 1 (R1)
# 22 LOAD COMP 2 (R2)
# 23 LOAD COMP 3 (R3)
# 24 LOAD COMP 1,2 (R1,R2)
# 25 LOAD COMP 1,2,3 (R1,R2,R3)
# 26 SPARE
# 27 FIXED MEMORY DISPLAY
# 30 REQUEST EXECUTIVE
# 31 REQUEST WAITLIST
# 32 C(R2) INTO R3, C(R1) INTO R2
# 33 PROCEED WITHOUT DATA
# 34 TERMINATE CURRENT TEST OR LOAD REQUEST
# 35 TEST LIGHTS
# 36 FRESH START
# 37 CHANGE MAJOR MODE
# END OF REGULAR VERBS
# EXTENDED VERBS
# 40 ZERO(USED WITH NOUN 20) (N 40 UNUSED IN 206)
# 41 COARSE ALIGN (USED WITH NOUN 20) (N 40 UNUSED IN 206)
# 42 FINE ALIGN IMU
# 43 LOAD IMU ATTITUDE ERROR METERS
# 44 ILLEGAL VERB
# 45 COMMAND LR TO POSITION 2 (UNUSED IN 206)
# 46 SAMPLE RADAR ONCE PER SECOND (UNUSED IN 206)
# 47 PERFORM LEM FCS TEST
# 50 PLEASE PERFORM
## Page 4
# 51 PLEASE MARK
# 52 PLEASE MARK Y
# 53 PLEASE MARK X OR Y
# 54 PULSE TORQUE GYROS
# 55 ALIGN TIME
# 56 PERFORM BANKSUM
# 57 PERFORM SYSTEM TEST
# 60 ILLEGAL VERB
# 61 ILLEGAL VERB
# 62 SCAN LEM INBITS
# 63 INITIALIZE AGS (UNUSED IN 206)
# 64 SET TIMER TO GROUND ELAPSED TIME
# 65 SET GUIDANCE REFERENCE RELEASE DISCRETE
# 66 INITIATE LGC DFI TLM CALIBRATE ROUTINE
# 67 SEND COMMAND TO LMP
# 70 SET MISSION TIMER
# 71 SET MISSION PHASE REGISTER
# 72 SET MISSION PHASE REGISTER + TIMER
# 73 RESET DPS OR RPS COLD SOAK DISCRETE
# 74 STOP MISSION TIMERS
# 75 TARGET PARAMETER UPDATE
# 76 STATE VECTOR UPDATE
# 77 ILLEGAL VERB
## Page 5
# NORMAL NOUNS SCALE AND DECIMAL POINT
# 00 NOT IN USE
# 01 SPECIFY MACHINE ADDRESS (FRACTIONAL) (.XXXXX)
# 02 SPECIFY MACHINE ADDRESS (WHOLE) (XXXXX.)
# 03 SPECIFY MACHINE ADDRESS (DEGREES) (XXX.XXDEGREES)
# 04 SPECIFY MACHINE ADDRESS (HOURS) (XXX.XXHOURS)
# 05 SPECIFY MACHINE ADDRESS (SECONDS) (XXX.XXSECONDS)
# 06 SPECIFY MACHINE ADDRESS (GYRO DEGREES) (XX.XXXDEGREES)
# 07 SPARE
# 10 CHANNEL TO BE SPECIFIED
# 11 SPARE
# 12 SPARE
# 13 SPARE
# 14 SPARE
# 15 INCREMENT MACHINE ADDRESS (OCTAL ONLY)
# 16 TIME SECONDS (XXX.XXSECONDS)
# 17 TIME HOURS (XXX.XXHOURS)
# 20 ICDU (XXX.XXDEGREES)
# 21 PIPAS (XXXXX.PULSES)
# 22 NEW ANGLES I (XXX.XXDEGREES)
# 23 DELTA ANGLES I (XXX.XXDEGREES)
# 24 DELTA TIME (SECONDS) (XXX.XXSECONDS)
# 25 CHECKLIST (XXXXX.)
# 26 PRIO/DELAY, ADRES, BBCON (OCTAL ONLY)
# 27 SELF TEST ON/OFF SWITCH (XXXXX.)
# 30 STAR NUMBERS (XXXXX.)
# 31 SFAIL, ERCOUNT, FAILREG (OCTAL ONLY)
# 32 DECISION TIME (MIDCOURSE) (XXX.XXHOURS (INTERNAL UNITS = WEEKS))
# 33 EPHEMERIS TIME (MIDCOURSE) (XXX.XXHOURS (INTERNAL UNITS = WEEKS))
# 34 MEASURED QUANTITY (MIDCOURSE) (XXXX.XKILOMETERS)
# 35 INBIT MESSAGE (OCTAL ONLY)
# 36 LANDMARK DATA 1 (OCTAL ONLY)
# 37 LANDMARK DATA 2 (OCTAL ONLY)
# 40 RENDEZVOUS RADAR ANGLES (TRUNION,SHAFT) (XXX.XXDEGREES) (UNUSED IN 206)
# 41 NEW RENDEZVOUS RADAR ANGLES (TRUNION,SHAFT) (XXX.XXDEGREES) (UNUSED IN 206)
# 42 AOT ROTATION ANGLES (XXX.XXDEGREES)
# 43 AOT DETENT CODE (XXXXX.)
# 44 FORWARD VELOCITY, LATERAL VELOCITY (XXXXX.FEET/SEC)
# 45 ROTATIONAL HAND CONTROLLER ANGLE RATES (XXXXX.DEG/SEC) (NOT USED IN 206)
# 46 SPARE
# 47 SPARE
# 50 FAILREG, FAILREG +1, FAILREG +2 (OCTAL ONLY)
# 51 ALMCADR, ALMCADR +1 (OCTAL ONLY)
# 52 GYRO BIAS DRIFT (.BBXXXXXMILLIRAD/SEC)
# 53 GYRO INPUT AXIS ACCELERATION DRIFT (.BBXXXXX(MILLIRAD/SEC)/(CM/SEC SEC))
# 54 GYRO SPIN AXIS ACCELERATION DRIFT (.BBXXXXX(MILLIRAD/SEC)/(CM/SEC SEC))
# END OF NORMAL NOUNS
## Page 6
# MIXED NOUNS SCALE AND DECIMAL POINT
# 55 LANDING RADAR ALTITUDE, TIME (SECONDS) (XXXXX.FEET, XXX.XXSEC) (UNUSED IN 206)
# 56 LANDING RADAR VELX, TIME (SECONDS) (XXXXX.FEET/SEC, XXX.XXSEC) (UNUSED IN 206)
# 57 LANDING RADAR VELY, TIME (SECONDS) (XXXXX.FEET/SEC, XXX.XXSEC) (UNUSED IN 206)
# 60 LANDING RADAR VELZ, TIME (SECONDS) (XXXXX.FEET/SEC, XXX.XXSEC) (UNUSED IN 206)
# 61 TARGET AZIMUTH AND ELEVATION (XXX.XXDEG, XX.XXXDEG)
# 62 RENDEZVOUS RADAR RANGE, TRUNION, SHAFT (XXXXXB.FEET, XXX.XXDEG, XXX.XXDEG) (UNUSED IN 206)
# 63 RENDEZVOUS RADAR RANGE RATE, TRUNION, SHAFT (XXXXX.FEET/SEC, XXX.XXDEG, XXX.XXDEG) (UNUSED IN 206)
# 64 INITIAL ALTITUDE, FINAL ALTITUDE, ALT. RATE (XXXXX.FEET, XXXXX.FEET, XXXXX.FEET/SEC)
# 65 SAMPLED TIME (HOURS AND SECONDS) (XXX.XXHOURS, XXX.XXSEC)
# (FETCHED IN INTERRUPT)
# 66 SYSTEM TEST RESULTS (XXXXX., .XXXXX, XXXXX.)
# 67 DELTA GYRO ANGLES (XX.XXXDEG FOR EACH)
# 70 SPARE
# 71 SPARE
# 72 DELTA POSITION (XXXX.XKILOMETERS FOR EACH)
# 73 DELTA VELOCITY (XXXX.XMETERS/SEC FOR EACH)
# 74 MEASUREMENT DATA (MIDCOURSE) (XXX.XXHOURS (INTERNAL UNITS=WEEKS), XXXX.XKILOMETERS, XXXXX.
# 75 MEASUREMENT DEVIATIONS (MIDCOURSE) (XXXX.XKILOMETERS, XXXX.XMETERS/SEC, XXXX.XKILOMETERS)
# 76 POSITION VECTOR (XXXX.XKILOMETERS FOR EACH)
# 77 VELOCITY VECTOR (XXXX.XMETERS/SEC FOR EACH)
## Page 7
# TABLE OF ERROR CODES
# OPTICS SUB-SYSTEM
# 00105 MARK BUTTONS NOT AVAILABLE
# 00111 MARK IS MISSING AFTER ENTER
# 00112 MARK NOT BEING ACCEPTED
# 00113 NO INBITS
# 00114 MARK MADE BUT NOT DESIRED
# 00115 X MARK NOT MADE
# IMU SUB-SYSTEM
# 00206 ZERO CDU NOT ALLOWED WITH COARSE ALIGN + GIMBAL LOCK.
# 00207 ISS TURN-ON REQUEST NOT PRESENT FOR 90 SEC.
# 00210 IMU NOT OPERATING
# 00211 COARSE ALIGN ERROR
# 00212 PIPA FAIL BUT PIPA IS NOT BEING USED
# 00213 IMU NOT OPERATING WITH TURN-ON REQUEST
# 00214 PROGRAM USING IMU WHEN TURNED OFF
# PROCEDURAL DIFFICULTY
# 00401 DESIRED GIMBAL ANGLES YIELD GIMBAL LOCK
# 00402 STAR OUT OF FIELD OF VIEW
# 00403 STAR OUT OF FIELD OF VIEW
# 00404 COMPUTATION FOR WAITLIST SET-UP RAN AFOUL
# RADAR ERRORS
# 00501 RADAR ANTENNA OUT OF LIMITS
# 00502 BAD RADAR GIMBAL ANGLE INPUTS
# 00503 RADAR ANTENNA DESIGNATE FAIL
# 00510 RADAR AUTO DESCRETE NOT PRESENT
# 00514 RADAR GOES OUT OF AUTO MODE WHILE BEING USED
# 00520 NO RADAR RUPT EXPECTED
# 00521 RADAR DATA COULD NOT BE READ
# 00522 WRONG LR POSITION
# 00523 LR ANTENNA DID NOT MAKE IT
# 00524 BAD RADAR TARGET
# MISSION SCHEDULER ERRORS:
# 00601 MISSION PHASE DUE BUT MPHASE REGISTER = 0
# COMPUTER HARDWARE MALFUNCTIONS
# 01102 AGC SELF TEST ERROR
## Page 8
# 01103 UNUSED CCS BRANCH EXECUTED . ABORT
# 01105 DOWNLINK TOO FAST
# 01106 UPLINK TOO FAST
# LIST OVERFLOWS ( ALL ABORTS )
# 01201 EXECUTIVE OVERFLOW-NO VAC AREAS
# 01202 EXECUTIVE OVERFLOW-NO CORE SETS
# 01203 WAITLIST OVERFLOW-TOO MANY TASKS
# 01206 KEYBOARD AND DISPLAY WAITING LINE OVERFLOW
# 01207 NO VAC AREA FOR MARKS
# 01210 TWO PROGRAMS USING DEVICE AT SAME TIME
# INTERPRETER ERRORS
# 01301 ARCSIN-ARCCOS INPUT ANGLE TOO LARGE. ABORT
# 01302 SQRT CALLED WITH NEGATIVE ARGUMENT . ABORT
# DISPLAY ALARMS
# 00310 CURTAINS
# 00312 JETABORT
# 00316 FAKESTRT
# 01400 PITCH AND/OR ROLL TRIM FAIL IS ON (SHOWN WITH V50N25). (FCS TEST ALARM)
# 01410 JET FAIL DURING FCS TEST.
# 01411 CDU DOES NOT AGREE WITH COMMAND TO 1 DEGREE
# KEYBOARD AND DISPLAY PROGRAM
# 01501 KEYBOARD AND DISPLAY ALARM DURING INTERNAL USE(NVSUB). ABORT
# SYSTEM TEST ALARMS
# 01600 DRIFT TEST OVERFLOW
# 01601 BAD IMU TORQUE IN DRIFT,IN COMPASS
## Page 9
# INSTRUCTION CODES:
#
# NORMAL (NON-EXTENDED) CODES:
#
# TC 000 TRANSFER CONTROL
# CCS 001 00 COUNT, COMPARE, AND SKIP
# TCF 001 01 TRANSFER CONTROL TO FIXED
# TCF 001 10 DITTO
# TCF 001 11 DITTO
# DAS 010 00 DP ADD TO STORAGE
# LXCH 010 01 EXCHANGE L WITH STORAGE
# INCR 010 10 INCREMENT STORAGE
# ADS 010 11 ADD TO STORAGE
# CA 011 CLEAR AND ADD
# CS 100 CLEAR AND SUBTRACT
# INDEX 101 00 INDEX NEXT INSTRUCTION
# DXCH 101 01 DP EXCHANGE WITH STORAGE
# TS 101 10 TRANSFER TO STORAGE
# XCH 101 11 EXCHANGE A WITH STORAGE
# AD 110 ADD
# MASK 111 MASK ("AND" TO A)
#
#
# EXTENDED CODES:
#
# READ 000 00 0 READ FROM CHANNEL
# WRITE 000 00 1 WRITE CHANNEL
# RAND 000 01 0 READ, "AND" TO A
# WAND 000 01 1 WRITE, "AND" TO A
# ROR 000 10 0 READ, "OR" TO A
# WOR 000 10 1 WRITE, "OR" TO A
# RXOR 000 11 0 READ, EXCLUSIVE "OR" TO A
# EDRUPT 000 11 1 INTERRUPT
#
# DV 001 00 DIVIDE
# BZF 001 01 BRANCH ON ZERO TO FIXED
# BZF 001 10 DITTO
# BZF 001 11 DITTO
# MSU 010 00 MODULAR SUBTRACT
# QXCH 010 01 EXCHANGE Q WITH STORAGE
# AUG 010 10 AUGMENT STORAGE
# DIM 010 11 DIMINISH STORAGE
# DCA 011 DP CLEAR AND ADD
# DCS 100 DP CLEAR AND SUBTRACT
# INDEX 101 INDEX NEXT EXTENDED INSTR.
# SU 110 00 SUBTRACT
# BZMF 110 01 BRANCH ON 0 OR - TO FIXED
# BZMF 110 10 DITTO
# BZMF 110 11 DITTO
# MP 111 MULTIPLY